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

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 скачал самый последний. Может подскажите чего делать ?

sptry

Дмитрий, это при прошивке пилота? Если да:
На эту библиотеку внимания не обращай. Панели нужно подставить драйвер USB.
Когда панель после начала прошивки встанет в режим ожидания включения пилота (отсчёт от 100 до 0), войди в диспетчер устройств винды и для устройства с "“вопросом” укажи место нахождения драйвера ( в папке Flip в подпапке bin, ProtocolDescriptionFiles).

UdjinM6
slides:

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

support.atmel.no/bin/customer?=&action=viewKbEntry…

The message is “AtLibUsbDfu.dll not found”.
The AtLibUsbDfu.dll exists in the directory FLIP.
Answer
The cause can be that the wrong driver is installed for the USB flip device. You must uninstall the USB device and then put the board in programming mode with the reset and HWB jumpers. When windows will discover the new USB device, you will be able to load the correct driver from the …\filp 3.2.2\usb directory.

т.е. удалить usb-девайс, перевести в режим программирования, а когда винда обрадуется новому устройству, подсунуть ей свежий драйвер

slides

не понял, как перевести в режим программирования ?

UdjinM6

как я понял из того, что там написано - надо зажать reset и HWB
с другой стороны, может можно не удалять устройство, а просто попробовать правой мышью по нему, “обновить драйвер”, “выбрать файл” и указать нужный?
(сижу на английской винде, так что названия пунктов приблизительные)

baychi
smalltim:

Прошивка автопилота версии 0.9.1

Хочу напомнить об еще одной мелочи: не работает предупредительная сигнализация при напряжении 3 ниже заданного порога, - независимо от заданного уровня и реального, U3 мигает на экране телеметрии. Перестает мигать только при 0 значении порога.

После перешивки на новую версию, обнаружил глюк с управляющим каналом: КП читает и отобржает настройки правильно, но перевод в верхнее положение, которому заданно “принудительное включение АП” не включает АП. В КП с большой скоростью меняются надписи: управляющий канала минимум/управляющий канал максимум.
Интересно, как у других?

PS: Десяток включний питания и шаманств с РУ, глюк с замораживанием горизонта, не проявил. Хочется верить, что проблемма ушла. 😃

smalltim

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

  • Исправлена работа управляющего канала в максимальной точке рабочего диапазона
  • Исправлено мигание напряжения номер 3 на экране

За оба фикса спасибо baychi.

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

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

slides:

не понял, как перевести в режим программирования ?

Да, либо обе кнопочки зажать, потом отпустить reset потом отпустить HWB. Reset - та кнопка, что ближе к разъему подключения телеметрии.

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