PIXHAWK PX4 Autopilot еще одна летающая железка
При реальном полёте, по получению достаточных данных от GPS, можно вычислить более проблемный или подобрать коррекцию под него.
А это логично? Зачем подбирать коррекцию для проблемы когда можно просто взять правильный первоисточник (ЖПС) и использовать его данные, что в принципе сейчас система и делает. Надо только не мешать системе, типа
А по поводу комасов у меня случился прорыв в лучшую сторону когда я отключил обучение компаса по маневрам.
но, кажется, стал резковат.
Если стал резковат, то можно вернуть обратно стабилайз. Или прогнать автотюн с другим к-том автотюна (более мягким).
Вот мои PIDы после автотюна:
если еще не поняли сарказма, то поясняю.
Для того чтобы оцепить пиды надо не скрин пидов выложить, а логи 😃
Сарказм уже распознал. Что надо выложить логи ещё не понял.
В архиве - два файла: 1) лог автотюна; 2) лог полёта с новыми PIDами.
www.dropbox.com/s/…/autotune-logs.zip?dl=0
на мой взгляд маловато P
По графикам кажется что текущее положение коптера чуууучуть не дотягивает до желаемого. Но если управление нравится то можно и забить)
для сравнений лог моего после автотюна
В моем случае показалось что P Наоборот великовато, потому что есть перекомпенсации. Хочу как разберусь с вибрациями запустить еще раз автотюн с меньшей агрессивностью.
Другой вариант - оценить просто данные ERRRP, ERRYAW
ваш коптер
чуууучуть не дотягивает до желаемого
нуу если коптер был в полете в моменты где десрол и рол расходились в 30 градусов а разок и 40 то какое то уж очень осторожное суждение.
алексей, у вас шкала расхождений в 2 градуса на деление а на верхнем атт рол 20 градусов на деление.
(хотя могу ошибаться цвета тредов практически неотличимы)
Спасибо, оба Алексея.
Смысл понятен: надо смотреть логи Roll-DesRoll, Pitch-DesPitch, Yaw-DesYaw и, если расхождение большое, тюнить дальше. Алексей Дегтярев, чем Вы рисуете графики? В Mission Planner какая-то непонятная шкала, не ясно, что за величина по оси Y, поэтому сложно оценить насколько велико расхождение.
P.S. Это APM Planner. Устанавливаю.
P.P.S. Похоже, что величины по оси Y одинаковые в APM Planner и Mission Planner.
Какое расхождение считается хорошим?
Спасибо, оба Алексея.
Смысл понятен: надо смотреть логи Roll-DesRoll, Pitch-DesPitch, Yaw-DesYaw и, если расхождение большое, тюнить дальше. Алексей Дегтярев, чем Вы рисуете графики? В Mission Planner какая-то непонятная шкала, не ясно, что за величина по оси Y, поэтому сложно оценить насколько велико расхождение.
P.S. Это APM Planner. Устанавливаю.
P.P.S. Похоже, что величины по оси Y одинаковые в APM Planner и Mission Planner.
Какое расхождение считается хорошим?
Я у себя вижу максимум 20 градусов (если по оси Y градусы) расхождение по роллу на 42-ой секунде. Далее - 10 - 12, не больше. По питчу 8 - 10. По яву - вообще всё один-в-один.
Алексей Козин, где у меня ролл расходится на 30 - 40 градусов? Можете, пожалуйста, указать, на какой секунде или номер записи журнала? Я в анализе логов пока не силён.
Алексей Дегтярев, мы с Вами точно один и тот же лог смотрим? Я сделал скриншот того участка графика, который Вы изобразили на картинке:
У меня он почему-то выглядит по-другому.
Набросал скриптик, который считает максимальное расхождение в логе.
Roll:
$ cat 2017-06-04\ 13-17-38.log |grep ‘^ATT’ |cut -d, -f3,4 | sed -r -e ‘s/^ //’ -e ‘s/, / - /’ -e ‘s/(.*)/define abs(x) {if (x<0) {return -x}; return x;}; abs\(\1)/’ | bc |sort -n |tail -1
18.49
Pitch:
$ cat 2017-06-04\ 13-17-38.log |grep ‘^ATT’ |cut -d, -f5,6 | sed -r -e ‘s/^ //’ -e ‘s/, / - /’ -e ‘s/(.*)/define abs(x) {if (x<0) {return -x}; return x;}; abs\(\1)/’ | bc |sort -n |tail -1
9.66
Среднее значение расхождения:
Roll:
$ cat 2017-06-04\ 13-17-38.log |grep ‘^ATT’ |cut -d, -f3,4 | sed -r -e ‘s/^ //’ -e ‘s/, / - /’ -e ‘s/(.*)/define abs(x) {if (x<0) {return -x}; return x;}; abs\(\1)/’ | bc |awk ‘{ total += $1 } END { print total/NR }’
1.42087
Pitch:
$ cat 2017-06-04\ 13-17-38.log |grep ‘^ATT’ |cut -d, -f5,6 | sed -r -e ‘s/^ //’ -e ‘s/, / - /’ -e ‘s/(.*)/define abs(x) {if (x<0) {return -x}; return x;}; abs\(\1)/’ | bc |awk ‘{ total += $1 } END { print total/NR }’
0.861155
Так что ну никак у меня нет расхождения 30 - 40.
Какое расхождение считается хорошим?
такого требования нет, каждый ищет для себя.
если строго контролировать положение - уходит больше энергии, такая тактика не подходит для долголетов предназначенных для висения на рекорд в штиль. У подобных аппаратов при взлете и полетах в условиях турбулентности может быть и 10 и даже больше градусов “промах”
если точность и устойчивость к турбулентности на первом месте а время полета второстепенно то строят аппарат который допускает не более одного-двух градусов ошибки
Набросал скриптик, который считает максимальное расхождение в логе.
вроде как есть уже показатель отображающий максимальное расхождение ролпитч от требуемого.
rp_error или как то так называется
Мне время полёта предпочтительнее.
Вот тут пишут, что в логе рассматриваемые параметры указываются в сотых долях градуса (centi-degrees). Таким образом, получается, что максимальное расхождение по роллу в моем логе - 18.49 - это 0.1849 градуса? Так это вообще отлично! Или я что-то неправильно понимаю?
зачем гадать, есть параметр EK2_ALT_M_NSE: Baro measurement noise (m)
Плохо, что есть куча параметров имеющих смежное влияние, и не знаешь иногда что же из низ трогать. Описания влияния параметров нет толкового…
А по поводу комасов у меня случился прорыв в лучшую сторону когда я отключил обучение компаса по маневрам. Этот параметр есть на оба компаса, попробуйте его поставить в “никогда” и надеюсь у вас всё устаканится 😃
Причем тут гадать, проблему с удержанием в 3.3 озвучивали разработчики, они навярняка знают о всех переменных(конкретно итальяшка даже видео этой проблеме посвятил, можете на оф. канале поискать)… к слову, строго говоря я на 3.3 вообще не летал, перескочил с 3.2 сразу на 3.4(по многим причинам)
это да, плюс от версии к версии различные изменения происходят, которые не протоколируются особо… ну если только следить на гитхабе…
Оно по дефолту выключено ну и я в курсе, однако спасибо за подсказку, может кому то поможет… я те свои проблемы(как и другие) давно решил… я много летаю и поэтому если что то вылезает быстро нахожу и далееуже по ситуации.
А это логично? Зачем подбирать коррекцию для проблемы когда можно просто взять правильный первоисточник (ЖПС) и использовать его данные, что в принципе сейчас система и делает.
А если глич, а если плохой прием гпс, а если висим…
Вот для этого все это и городят имхо, так и достигается отказоустойчивость… больше датчиков - больше вероятность при отказах/проблемах не потерять аппарат
Вот тут пишут, что в логе рассматриваемые параметры указываются в сотых долях градуса (centi-degrees)
там пишут про другие параметры, каждый параметр в своих единицах.
Как же другие? Те же самые, ведь: ATT.Roll, ATT.Pitch - разве нет?
А если глич, а если плохой прием гпс, а если висим…
Вот для этого все это и городят имхо, так и достигается отказоустойчивость… больше датчиков - больше вероятность при отказах/проблемах не потерять аппарат
Где-то это уже обсуждали, но можно еще раз.
В измерениях для точности отказоустойчивости нужна статистика. Уже давно отработано, что в этом случае используется 1, 3, 5 измерений и более. Четные не применяются (особенно 2). 2 к статистике отношения не имеет. 1 измерение на удачу, 3 (5) - отбрасывается ошибочное (за диапазоном остальных) и считается среднее. При 2 непонятно кого отбрасывать.
Поэтому если так хочется, то ставьте хотя-бы 3 компаса, 3 жпс и 3 акселя. А 2 это ни то , ни се.
Как же другие? Те же самые, ведь: ATT.Roll, ATT.Pitch - разве нет?
посмотрите шкалу
от -180 до 180 тоесть 360 градусов. (а не ±18000 )
фрагмент лога содержит переворот тоесть переход через 180 градусов
Я не вижу в этом логе ничего близкого к 180. Минимальное значение ATT.Roll в этом логе - -48.44, максимальное - 53.19. По pitch - от -43.09 до 38.05. Вы точно второй лог смотрите (более поздний)? Первый - автотюн, второй - полёт.
я имею ввиду не какой то конкретный лог а приведенные в последних постах картинки
в вашем случае тоже градусы а не сотые их доли верно?
По смыслу больше похоже на градусы, но документация на Arducopter утверждает, что сотые. Возможно, MissionPlanner при конвертации из bin в log делит на 100.
Свои логи я выкладывал выше.
помоему там косяк в описалове. По всем косвенным признакам выглядит как градусы а не сотни градуса. Проверить легко - заармить и положить коптер на 90 градусов и поглядеть что будет в логе.
Причем в логе нету здоровых чисел
ATT, 32740378, 4.19, 4.19, -0.57, -0.57, 90.59, 90.59, 0.00, 0.00
явно градусы
Алексей, Вы точно мой лог нарисовали? Я выше приводил картинки для сравнения - они непохожи.