Smalltim OSD and autopilot (часть 1)

smalltim

Переписал работу с АЦП, теперь всё замечательно, быстро, просто и точно. По дороге переписал подсчет дифференциального компонента ПИД по тангажу и крену, теперь он считается гораздо точнее и вообще правильнее.
До кучи прикрутил примитивный шумодав на этот компонент. В общем, теперь реально советую поэкспериментировать с дифференциальными коэффициентами (Упреждение по тангажу и крену) в пределах от 20 до 100% или даже 150%, одновременно на треть или даже на половину повышая от привычных значений чувствительность по крену и тангажу. Поведение самика, даже у тех, кто доволен своими настройками АП, должно стать гораздо четче. Ну, это с новой прошивкой, разумеется. Сейчас диф. компоненты считаются близко к правде, но не ахти.

Сильно сэкономить на времени синхронизации с телеметрией таки не удалось. Ну да ладно, там и так теперь тратится не много времени.

Придумаю, в какое место Контрольной Панели пихнуть выбор диапазона тангажа для горизонта, и придумаю, куда рисовать тангаж циферками при выходе за пределы установленного для отображения диапазона - выложу прошивку 0.9.1 и новую Панель.
А может быть, выложу и без этого, а выбор диапазона отображаемого тангажа - в следующую, 0.9.2.

Коллеги, взявшиеся за адаптацию АП под вертолеты, радуют: говорят, на днях полетел вертоль с АП. Пока только в режиме стабилизации, но всё равно радует. Сам я вертолеты не люблю 😉

baychi
smalltim:

Переписал работу с АЦП, теперь всё замечательно,

Тебе удалось воспроизвести глюк с “замораживанием” горизонта? И проверить, что он исчез в новом варианте алгоритма?

sptry
smalltim:

Сергей, новая Атмега точно не с поворотом на 90 градусов впаяна?

Тимофей, я дико извиняюсь, но видеотракт работает (перепутал вход с выходом).
Атмега стоит точкой в сторону разъёма датчика тока и скорости.
На всех разъёмах датчиков есть 5в, на сигнальном контакте разъёма АD7 тоже 5в.

Concord

Позвольте уважаемой “малой команде” задать дилетантский вопрос. Учтено ли в софте АП, что самолет в грубом приближении является колебательным звеном? Другими словами - не является ли замеченные колебания в работе автопилота следствием того, что называют “режимом звонка”. Автопилот выдает управляющее воздействие до тех пор пока рассогласование не будет выбрано, но самолет в силу своей инерционности проскакивает нулевое положение и автопилоту приходится менять знак воздействия на обратный, и так до бесконечности. Этого можно избежать, если ввести в логику АП грубую мат. модель самолета, как колебательного звена. Может эти соображения помогут победить раскачку.

blade
smalltim:

Коллеги, взявшиеся за адаптацию АП под вертолеты, радуют: говорят, на днях полетел вертоль с АП. Пока только в режиме стабилизации, но всё равно радует. Сам я вертолеты не люблю 😉

Увы!
Коллег должен огорчить: что касательно “режима стабилизации”- так это “родной” Co-Pilot делал ещё 6 лет назад и сам по себе…
Что прямо в его описании так и нарисовано 😵
А вот по поводу “летания вертолёта с АП” - тут всё гораздо хуже обстоит: купленные для МЧС в январе французские вертолётные БПЛА висеть- висят, а вот летают почему то- только “вручную”.
Несмотря на цену- больше 500000у.е.

baychi
Concord:

Другими словами - не является ли замеченные колебания в работе автопилота следствием того, что называют “режимом звонка”. Автопилот выдает управляющее воздействие до тех пор пока рассогласование не будет выбрано, но самолет в силу своей инерционности проскакивает нулевое положение и автопилоту приходится менять знак воздействия на обратный, и так до бесконечности. Этого можно избежать, если ввести в логику АП грубую мат. модель самолета, как колебательного звена.

АП для стабилизации по крену и тангажу, насколько мне известно , использует ПИД -алгоритмы (со своими особенностями, но в основе - ПИД модель), - то есть общепринятые в подобных системах регуляторы.
То что Вы предлагаете - это какой-то иной принцип стабилизации или тоже подмножество ПИД регулирования?

blade:

Увы! Коллег должен огорчить: что касательно “режима стабилизации”- так это “родной” Co-Pilot делал ещё 6 лет назад и сам по себе… Что прямо в его описании так и нарисовано А вот по поводу “летания вертолёта с АП” - тут всё гораздо хуже обстоит

А в чем там сложность, Александр? Даже любопытно стало, чем вертолет так неподдается навигации, когда с более сложной задачей стабилизации справились?

blade
baychi:

А в чем там сложность, Александр? Даже любопытно стало, чем вертолет так неподдается навигации

Если бы я это знал!
У меня обратный адрес был бы: “Сочи”, а лучше- “Тананариве”😒
Там наших начальников нет 😈
Судя по всему- вертолёт слишком динамичная машина с гораздо бОльшим чем у самолёта количеством степеней свободы. Во всяком случае- на “больших” вертолётах (друг работает инженером на МИ-8)- автопилота в в обычном понимании- нет.
Есть только система стабилизации, которая облегчает работу лётчика. Что то вроде “гидроусилителя руля”😵
Да и глядя на мучения Тима с вводом разных углов- коэффициентов для управления в общем то, примитивным самолётом- как то энтузиазм тает 😃
Ну и информации про подобные изделия для вертолётов в серийном применении- мне не встречалось, хотя тема мне интересная и всяки- разны выставки я посещаю.

Brandvik

Очень интересно, квадрокоптеры уже давно летают от токи к точке и не парятся, хотя степеней свободы не меньше чему у вертолета…

Dareck

Господа! вы случайно тему не перепутали какой копилот? какой автопилот на МИ-8? и причём тут квадрик?

Brandvik

Притом что Тим учит АП рулить вертами.

smalltim
Concord:

Позвольте уважаемой “малой команде” задать дилетантский вопрос. Учтено ли в софте АП, что самолет в грубом приближении является колебательным звеном? Другими словами - не является ли замеченные колебания в работе автопилота следствием того, что называют “режимом звонка”. Автопилот выдает управляющее воздействие до тех пор пока рассогласование не будет выбрано, но самолет в силу своей инерционности проскакивает нулевое положение и автопилоту приходится менять знак воздействия на обратный, и так до бесконечности. Этого можно избежать, если ввести в логику АП грубую мат. модель самолета, как колебательного звена. Может эти соображения помогут победить раскачку.

Да, это близко к правде, но самолет имеет сильный демпфирующий компонент - не поворачивающиеся части плоскостей. Они эффективно гасят колебания. Плюс, АП рулит не в режиме звонка, а используя ПИД контроллеры, а ПИД такими системами рулят прекрасно. Д компонент как раз и призван гасить колебания в зародыше 😃.

>Да и глядя на мучения Тима с вводом разных углов- коэффициентов для управления в общем то, примитивным самолётом- как то энтузиазм тает

Обижаешь, начальник. Если б АП делался под одну конкретную модель самолета и под одного конкретного пользователя, он бы уже летал идеально еще год назад. Тут в форуме есть кулибины, сделавшие АП для себя и снисходительно вещающие “мы всё это проходили Х лет назад”.

АП рулению вертам обучаю не я, но я, на свой ламерский взгляд, не вижу серьезных трудностей в рулении вертом и возврате домой. Разумеется, если мы не требуем прецизионного позиционирования и абсолютной стабилизации.

>Тебе удалось воспроизвести глюк с “замораживанием” горизонта? И проверить, что он исчез в новом варианте алгоритма?

Неа, повторить глюк не удалось. Нет, глюк не появился 😃

blade
smalltim:

Обижаешь, начальник. Если б АП делался под одну конкретную модель самолета и под одного конкретного пользователя, он бы уже летал идеально еще год назад.

Совершенно далёк от мысли “обижать”, поскольку прекрасно представляю объём сделанных и ещё предстоящих работ 😃 Достойно уважения !
Но история к сожалению, а может- к счастью, сослагательного наклонения не терпит…“Если бы, да кабы”- там не катит.
И по факту на нынешний момент- идеально не летает 😦
И для верта (квадрик- не верт в том, что касается логики управления)- реального автопилота не видел 😮

Brandvik

Простите, чем квадрик не верт в логике управления???

baychi
smalltim:

Неа, повторить глюк не удалось. Нет, глюк не появился

Жаль. Я пока боюсь летать. Давай новую прошивку проверю?

serj
blade:

И для верта (квадрик- не верт в том, что касается логики управления)- реального автопилота не видел 😮

а я- видел 😃

smalltim

Прошивка автопилота версии 0.9.1 - smalltim.ru/f/autopilot_0_9_1.hex

  • Убрано искажение данных и в следствии некорректная работа АЦП на 4 из 8 каналах, и в следствии неоптимальная работа пирогоризонта
  • Переписана и ускорена процедура опроса АЦП
  • Переписана математика и логика подсчета дифференциальных компонентов ПИД по крену и тангажу
  • Введено подавление шумов для дифференциальных компонентов по крену и тангажу
  • Исправлена потенциально не 100% вероятность детектирования наличия телеметрии на старте
  • Введена возможность блокировать форсирование газа в заданном радиусе от точки старта

Контрольная Панель версии 3.1.5: smalltim.ru/f/autopilot_control_panel_3_1_5.zip

  • Введена возможность блокировать форсирование газа в заданном радиусе от точки старта
  • Убрана обфускация имен некоторых параметров, записываемых в файлы настроек

При обновлении прошивки автопилота и переходе на новую Контрольную Панель, пожалуйста, зайдите в раздел “Автопилот -> Программные настройки -> Управление моделью”, прочитайте данные для этого раздела из АП, запишите в поле “Запретить форсирование газа в радиусе” корректное число (ограничено 0…500 м, 0 - блокирование не используется) и запишите настройки этого раздела обратно в АП.
Из-за того, что этот параметр ложится в памяти АП туда, где в более ранних прошивках лежат другие данные, в первый раз после обновления прошивки в этом параметре будет мусор.

Логика запрета форсирования такова: газ просто не форсируется при нахождении модели в заданном радиусе от точки старта. При этом, если модель удаляется и находится внутри этого радиуса, подсчет времени, в течение которого модель удаляется, не прекращается.
Поэтому, если модель, находясь в радиусе блокирования, удаляется более Х секунд, газ форсируется сразу после вылета за радиус блокирования.

Dronavt

Чудненько! Завтра и помучаем прошивочку… 😎

Dareck

Я тож с пилотом уже разобрался присоединяюсь к лётным проверкам если ветерок не подкачает вечером отпишусь

sptry

Удачных испытаний, Дмитрий!
Далеко от себя не отпускай, пока не убедишься, что пилот адекватен. Советую временно убрать все автоматические включения АП и включать-выключать только вручную.

Dareck

Сергей спасибо! я уже освоился пока катаю режим стабилизации и включения АП в ручную

slides

Пиплы ! А у меня консоль требует AtLibUsbDfu.dll, хотя Flip скачал самый последний. Может подскажите чего делать ?