PIXHAWK PX4 Autopilot еще одна летающая железка

sergbokh
Роман1971:

Сегодня чуть катастрофа не случилась с последней прошивкой V 3.6.7 которая. Там прикол в том, что почему то иногда высота места взлета (Home altitude) подменяется высотой относительно моря (Altitude) . Причем это происходит спонтанно и не понятно почему. Откатился на предыдущию - там все Оке.

Спасибо конечно, что предупредили, но ничего не понятно. Подменяется где? Что происходит с коптером?
Если вы нашли баг, то логично было бы сообщить разработчикам.

Роман1971

Подменяется в программе. Т е у Вас например высота реальная 2 метра, и вдруг резко 152 метра. Приводит это к тому, что коптер в режимах где используется высота, AltHold как пример , не хочет садится. Т е он касается земли, ну у Вас высота 150 метров и он отказывается выключать двигатели. Коптер начинает мотать по земле. Я два раза пробывал на разных контроллерах, но результат одинаковый. Стоит поменять прошивку - и все отлично. Причем и по логам - скачок. Резкий мгновенный скачок. Бародатчик точно нормальный. Отлетал сегодня на предпоследней прошивке - никаких намеков на ошибку. Причем, если GPS недоступен, то высота отражается правильно. Но при нахождении спутников , ошибка может возникнуть. Я такое наблюдал раньше, там при инициализации выводилась высота абсолютная над морем по GPS, но при арминге - все ОК. А тут в арминге , в любой момент может возникнуть. Подменяется похоже на высоту места по GPS. Хотя могу и ошибаться. Это только для прошивки 3.6.7. Для 3.5.5 ничего подобного нет. Я к сожалению логи удалил случайно. А переходить специально на 3.6.7 желания что-то нет. Я дня два тестил клон и оригинал PX4, поэтому и нарвался видимо одним из первых. Может на других контроллерах ничего подобного и не будетет. Но на PX4 оно имеет место быть.

sergbokh

Жаль что логов нет. А каком именно параметре в логах вы видели скачек высоты?
И как вы этот скачек видели во время полета - в MP, по телеметрии на пульте, на ОСД?

Роман1971:

коптер в режимах где используется высота, AltHold как пример , не хочет садится

Странно, на дизарм влияет вертикальная скорость а не высота относительно взлета. Иначе бы вы не смогли сесть например на крыше или холмике и т.п.

А если в ALTHOLD коптер начинает думать что он внезапно поднялся на лишних 150 метров - то он будет компенсировать это снижением. Но вы про это не говорите.

AlexOff

Я взлётал с балкона и сажал на землю разница в 8 этажей. Также взлётал с земли и сажал на крышу 22 этажки. Во всех случаях коптер понимал что он призиммлился и отключал моторы. Хотя писал что высота взлёта была другая нежели высота посадки

cfero

Похожая история была на dev прошивках с matek405ctr прошлым летом. Но только не 150м, а 19км. В логах после скачка показания замирали и шла ровная линия. Коптер переходил в снижение 0.5-1 м/с. Но в ртл при появлении глюка не решался переводить

Роман1971

У меня проблема проявляла себя как невозможность сделать desarm после посадки. Естественно высота отображалась через телеметрию. Я еще раз повторю что уже сталкивался с подобным. Но в начале инициализации контроллера. Но чтобы после арминга когда инициалищация давно прошла -никогда. Тут явео прошивка глючит. Так как один из контроллеров отлетал много и такой странности за ним не замечал. При замене прошивки все исчезло тут же… да там много мелких глючков. Например на предпредпоследней ппошивке не совсем корректно работает minimosd. Правда в режиме extra. А вот на предпоследней после сегодняшних экстрим полетов вроде проблем нет…

traveler
Greyukrck:

Какую прошивку туда пихать при перепрошивке, именно V2 или можно кастом но V3?

Ту, которая зальется сама.
Вы не сможете в пикс_v2 залить прошивку от V3 равно как и наоборот.

Роман1971

Там внимательнее с последними прошивками. Есть , что с глюками, есть что логи не пишут…

Greyukrck
traveler:

Ту, которая зальется сама.
Вы не сможете в пикс_v2 залить прошивку от V3 равно как и наоборот.

Заливается! Проверено.

alexeykozin
traveler:

Вы не сможете в пикс_v2 залить прошивку от V3 равно как и наоборот.

если очень захотеть то можно залить все что угодно и куда угодно
версия правится прямо в файле прошивки в текстовом виде

mit65536

[QUOTE=Роман1971;7671431]У меня проблема проявляла себя как невозможность сделать desarm после посадки. >>

Очень похожая штука и у меня была, после посадки не дизармится пиксхок.
Причиной явился мой RC пульт с его говенными потенциометрами на кулисах стиков - дизарм пиксхока стик газа вниз и рыск максимально влево, но пуль не выдавал минимальное число PWM микросекунд в канале рыска и пиксхок не видел условие для дизарма.

traveler
alexeykozin:

если очень захотеть то можно залить все что угодно и куда угодно

Охотно верю что вы сможете залить прошивку от V3 в память размером меньше прошивки.

traveler

Мне понадобилось прицепить два лидара к PX4
В ардупилоте может быть сколько угодно лидаров, но у PX4 distanse_sensor может быть только один. Два стартануть нельзя.
Ок, я залез в исходники и переписал драйвер лидара в прошивке. Перекомпилил прошивку.
Теперь стартуют и работают оба и оба гонят в мавлинк два значения.
Их отличия в поле мавлинка “ориентация”

Теперь вопрос - как мне на внешнем компьютере подключенном к пиксу по UART отловить из мавлинка их данные и различить их. Пока я ловлю только один лидар высоты. Мне нужно читать и второй.

sergbokh

Т.е. контроллер гонит DISTANCE_SENSOR месседж что для одного, что для другого лидара. Соответственно, как я понимаю второе сообщение никак особенно ловить не нужно. Оно должно ловиться там же где и первый лидар ловится. Если его нет - то м.б. оно не передается?

Гадание на кофейной гуще конечно т.к. непонятно что за код у вас читает сообщения и как он интерпретирует остальные поля DISTANCE_SENSOR. Например там есть еще Onboard ID of the sensor.

traveler
sergbokh:

Оно должно ловиться там же где и первый лидар ловится

А граунд контрол знает что он “должен” ловить оба ?

sergbokh:

Например там есть еще Onboard ID of the sensor.

И что?
Вас не смущает что для его изменения нужно изменить C++ код драйвера? 😃))
Ну хорошо, поменяли и перекомпилили. А дальше то что?

sergbokh

Ну такое… Ясновидящих нет. То у вас “отловить из мавлинка их данные и различить их” то уже граунд контрол. То вы перекомпилили, то смущаетесь.

traveler
sergbokh:

“отловить из мавлинка их данные и различить их” то уже граунд контрол

А граунд контрол по вашему через что работает и что показывает в мавлинк-инспекторе?
Даю наводящий вопрос - не через мавлинк ли?

Ну или скажите иной способ смотреть что именно идет в потоке мавлинка и с каким значением полей.
Я вот иных утилит кроме мавлинк-инспектора не знаю. А вы?

sergbokh:

То вы перекомпилили, то смущаетесь.

У PX4 никаких “Onboard ID of the sensor” нет.

John-EKB

Странная проблема появилась. При подключении по USB не загорается круглый индикатор и MP его не видит, только com port определяет, а если подключить сначала АКБ, а потом USB то нормально. Сначала подумал нехватка питания, но я уже перетыкал в другие устройства и та же фигня. В чем может быть проблема? Может не стоило его зимой на балконе хранить ))

AlexOff

Похоже что проблема в питании от USB.

John-EKB
AlexOff:

Похоже что проблема в питании от USB.

Не на всех же устройствах, уже кабель поменял и не хочет