PIXHAWK PX4 Autopilot еще одна летающая железка
что стало причиной выхода из строя и как он влияет на работу остальных датчиков,
без баро не инициализируется программный код иненриальной системы, без инерциалки дальше никуда не идет
Ок. Спасибо!
Сегодня чуть катастрофа не случилась с последней прошивкой V 3.6.7 которая. Там прикол в том, что почему то иногда высота места взлета (Home altitude) подменяется высотой относительно моря (Altitude) . Причем это происходит спонтанно и не понятно почему. Откатился на предыдущию - там все Оке.
Спасибо конечно, что предупредили, но ничего не понятно. Подменяется где? Что происходит с коптером?
Если вы нашли баг, то логично было бы сообщить разработчикам.
Подменяется в программе. Т е у Вас например высота реальная 2 метра, и вдруг резко 152 метра. Приводит это к тому, что коптер в режимах где используется высота, AltHold как пример , не хочет садится. Т е он касается земли, ну у Вас высота 150 метров и он отказывается выключать двигатели. Коптер начинает мотать по земле. Я два раза пробывал на разных контроллерах, но результат одинаковый. Стоит поменять прошивку - и все отлично. Причем и по логам - скачок. Резкий мгновенный скачок. Бародатчик точно нормальный. Отлетал сегодня на предпоследней прошивке - никаких намеков на ошибку. Причем, если GPS недоступен, то высота отражается правильно. Но при нахождении спутников , ошибка может возникнуть. Я такое наблюдал раньше, там при инициализации выводилась высота абсолютная над морем по GPS, но при арминге - все ОК. А тут в арминге , в любой момент может возникнуть. Подменяется похоже на высоту места по GPS. Хотя могу и ошибаться. Это только для прошивки 3.6.7. Для 3.5.5 ничего подобного нет. Я к сожалению логи удалил случайно. А переходить специально на 3.6.7 желания что-то нет. Я дня два тестил клон и оригинал PX4, поэтому и нарвался видимо одним из первых. Может на других контроллерах ничего подобного и не будетет. Но на PX4 оно имеет место быть.
Жаль что логов нет. А каком именно параметре в логах вы видели скачек высоты?
И как вы этот скачек видели во время полета - в MP, по телеметрии на пульте, на ОСД?
коптер в режимах где используется высота, AltHold как пример , не хочет садится
Странно, на дизарм влияет вертикальная скорость а не высота относительно взлета. Иначе бы вы не смогли сесть например на крыше или холмике и т.п.
А если в ALTHOLD коптер начинает думать что он внезапно поднялся на лишних 150 метров - то он будет компенсировать это снижением. Но вы про это не говорите.
Я взлётал с балкона и сажал на землю разница в 8 этажей. Также взлётал с земли и сажал на крышу 22 этажки. Во всех случаях коптер понимал что он призиммлился и отключал моторы. Хотя писал что высота взлёта была другая нежели высота посадки
Похожая история была на dev прошивках с matek405ctr прошлым летом. Но только не 150м, а 19км. В логах после скачка показания замирали и шла ровная линия. Коптер переходил в снижение 0.5-1 м/с. Но в ртл при появлении глюка не решался переводить
У меня проблема проявляла себя как невозможность сделать desarm после посадки. Естественно высота отображалась через телеметрию. Я еще раз повторю что уже сталкивался с подобным. Но в начале инициализации контроллера. Но чтобы после арминга когда инициалищация давно прошла -никогда. Тут явео прошивка глючит. Так как один из контроллеров отлетал много и такой странности за ним не замечал. При замене прошивки все исчезло тут же… да там много мелких глючков. Например на предпредпоследней ппошивке не совсем корректно работает minimosd. Правда в режиме extra. А вот на предпоследней после сегодняшних экстрим полетов вроде проблем нет…
Какую прошивку туда пихать при перепрошивке, именно V2 или можно кастом но V3?
Ту, которая зальется сама.
Вы не сможете в пикс_v2 залить прошивку от V3 равно как и наоборот.
Там внимательнее с последними прошивками. Есть , что с глюками, есть что логи не пишут…
Ту, которая зальется сама.
Вы не сможете в пикс_v2 залить прошивку от V3 равно как и наоборот.
Заливается! Проверено.
Вы не сможете в пикс_v2 залить прошивку от V3 равно как и наоборот.
если очень захотеть то можно залить все что угодно и куда угодно
версия правится прямо в файле прошивки в текстовом виде
[QUOTE=Роман1971;7671431]У меня проблема проявляла себя как невозможность сделать desarm после посадки. >>
Очень похожая штука и у меня была, после посадки не дизармится пиксхок.
Причиной явился мой RC пульт с его говенными потенциометрами на кулисах стиков - дизарм пиксхока стик газа вниз и рыск максимально влево, но пуль не выдавал минимальное число PWM микросекунд в канале рыска и пиксхок не видел условие для дизарма.
если очень захотеть то можно залить все что угодно и куда угодно
Охотно верю что вы сможете залить прошивку от V3 в память размером меньше прошивки.
Мне понадобилось прицепить два лидара к PX4
В ардупилоте может быть сколько угодно лидаров, но у PX4 distanse_sensor может быть только один. Два стартануть нельзя.
Ок, я залез в исходники и переписал драйвер лидара в прошивке. Перекомпилил прошивку.
Теперь стартуют и работают оба и оба гонят в мавлинк два значения.
Их отличия в поле мавлинка “ориентация”
Теперь вопрос - как мне на внешнем компьютере подключенном к пиксу по UART отловить из мавлинка их данные и различить их. Пока я ловлю только один лидар высоты. Мне нужно читать и второй.
Т.е. контроллер гонит DISTANCE_SENSOR месседж что для одного, что для другого лидара. Соответственно, как я понимаю второе сообщение никак особенно ловить не нужно. Оно должно ловиться там же где и первый лидар ловится. Если его нет - то м.б. оно не передается?
Гадание на кофейной гуще конечно т.к. непонятно что за код у вас читает сообщения и как он интерпретирует остальные поля DISTANCE_SENSOR. Например там есть еще Onboard ID of the sensor.
Оно должно ловиться там же где и первый лидар ловится
А граунд контрол знает что он “должен” ловить оба ?
Например там есть еще Onboard ID of the sensor.
И что?
Вас не смущает что для его изменения нужно изменить C++ код драйвера? 😃))
Ну хорошо, поменяли и перекомпилили. А дальше то что?
Ну такое… Ясновидящих нет. То у вас “отловить из мавлинка их данные и различить их” то уже граунд контрол. То вы перекомпилили, то смущаетесь.
“отловить из мавлинка их данные и различить их” то уже граунд контрол
А граунд контрол по вашему через что работает и что показывает в мавлинк-инспекторе?
Даю наводящий вопрос - не через мавлинк ли?
Ну или скажите иной способ смотреть что именно идет в потоке мавлинка и с каким значением полей.
Я вот иных утилит кроме мавлинк-инспектора не знаю. А вы?
То вы перекомпилили, то смущаетесь.
У PX4 никаких “Onboard ID of the sensor” нет.
Странная проблема появилась. При подключении по USB не загорается круглый индикатор и MP его не видит, только com port определяет, а если подключить сначала АКБ, а потом USB то нормально. Сначала подумал нехватка питания, но я уже перетыкал в другие устройства и та же фигня. В чем может быть проблема? Может не стоило его зимой на балконе хранить ))
Похоже что проблема в питании от USB.