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

smalltim
serj:

Тим, по крену так не надо. Нет такой устойчивости по крену ( V поперечное не 45 градусов), и демпфирование очень сильное аэродинамическое. Если мы задали недостаточный момент элеронами, например не 30 гр/с а всего 10, то ничего страшного, через 4с у нас будет 40 градусов крена а через 18- полубочка )

Сергей, тут как раз идет борьба с недостаточной величиной P, и сильной устойчивостью модели по крену. I в том виде, что я написал, это, в случае проблемы с недоворотом, по сути просто увеличенный в 3 раза P, что нам, в общем, и надо. Если позволить I расти медленно, 3-5 секунд или больше, то и колебаний не будет.

Мы ж задаем не постоянный момент элеронами, а момент, равный P. Так что полубочки не будет. Я рулю креном-тангажом, а не угловыми скоростями пока.

serj

Для летающих крыльев в развороте надо просто отклонять один элерон 😃

smalltim
serj:

Зы : не стоит думать что у Тимофея одна голова

У меня голова, но этого мало. Есть еще мои коллеги, форум, гугл и знание английского языка. А этого уже хватает 😃

serj:

“у тебя половина пассажиров к концу полета проблюется, особенно те что сзади сидят”

Ну, мы пассажиров не возим, нам пофигу.

serj:

Надо обязательно рулить и рулем направления тоже.

АП руддером пока ВООБЩЕ не рулит. То есть, у него есть просто понятие что делать, когда надо крен, и это задается на калибровке команд. Не такая уж серьезная проблема пока, но да, в идеале должен.

serj:

Индикатор скольжения у нас есть,

Как я могу детектировать скольжение? Математикой, зная воздушную скорость и угловые скорости по осям в системе координат ИМУ? Да, я приблизительно представляю, как, но не втыкаю, как именно. Подскажешь, если не военная тайна? И бародатчик скорости есть не у всех 😦
Давно хотел спросить, мне моей головы почему-то не хватает для просветления: а что надо мониторить/управлять, чтобы поддерживать именно скоординированный поворот?

serj

Даже отклонение на 1.5мм по задней кромке элеронов на несколько секунд приведет к желаемому крену. аэродинамическое демпфирование достаточно, чтобы можно было достаточно высокие Р применять, даже без демпферов.

Пассажиры блюют при некоординированном развороте. 😃 посему для его выполнения рулить руддером НАДО.

Также, ограничение I- компоненты в зависимости от P сделают квадратичной характеристику регулятора. возможно, это не плохо, т.к большинство демпфирующих мометов квадратичны от скорости.

Индикатор скольжения - как в самолете - поперечный акселерометр.

www.aerochayka.ru/disc/teorija/…/AD11.htm

smalltim

Осмысливаю. Про руление руддером - да, пора, пожалуй, вводить управление руддером.

serj:

Даже отклонение на 1.5мм по задней кромке элеронов на несколько секунд приведет к желаемому крену.

Это я пытаюсь донести коллегам, что считают отклонения плоскостей в стабилизации маленькими.

serj:

ограничение I- компоненты в зависимости от P сделают квадратичной характеристику регулятора

Не уверен, что это так. Он, по-прежнему, линейный, с Ку от 1 до 3.

Edward_tlt

Полетал сегодня. Так как угол тангажа не удалось уменьшить до -10, то поставил резкость 10%. Вообщем всё гуд, даже маленький рекорд для себя установил, 3км отдаление и 1км высоты. Был один не понятный момент, пока всячески испытывал возврат. Вот он

Можно было конечно подождать как дальше себя ап поведёт, но что то я решил переключиться на ст.

smalltim

Эдуард, а что конкретно не понравилось? Как-то непонятно горизонт внаклонке остался? Да, это странно, от 0:57 до 1.10. Дальше выправилось. Похоже, коррекция центробежных ускорений по ГПС до ИМУ дошла с торможением. Кабель до ИМУ у Вас не удлинен? Свейте его слегка.

KBV

А если в стабилизации дать ток 40А (как сделал автопилот) или, как вариант, ограничить макс ток автономного полета скажем 20А ?

Edward_tlt
smalltim:

Кабель до ИМУ у Вас не удлинен? Свейте его слегка.

Тим, с интересом почитал полный текст сообщения ещё до редактирования:) Кабель не удлиннён, свить попробую но когда моя ИМУшка придёт. Летаю на чужой пока… Офф: у моей статус “сортировка в Москве” с 4го числа, емс блин:)
А по делу: В этом полёте “коррекция рассогласования датчиков” стояла 15, это я поставил начитавшись инструкции:) Потом поменял на 20 и далее так и летал. Записи последнего полёта нету, но меня всё устроило:) И если хочется проверить какие то идеи, может вам сделать раздел на своём сайте с бета-прошивками? Кому интересно могли бы поучаствовать в тестировании.

baychi
smalltim:

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

Имеется в виду так называемая - 3D стабилизация? Когда работает только дифф. составляющая гироскопов?
Это полезный режим - но только не вместо обычной стабилизации, а как дополнение.

Полетал вчерась вслаcть с альтернативной прошивкой. В основном тестировал режим управления газом в зависимости от тангажа. ИМХО - получилось неплохо, предлагаю добавить этот режим как еще одини вариант к варианту управления скоростью, можно даже вместо режима существующего управления газом. Преимущества данного способа - независимость от измерения скорости по GPS или баро. А по экономичности он лишь немного проигрывает режиму удержания скорости.

Вот видео:
Тест IMU от Smalltim альтернативная прошивка

На последнем RTH акк разряжен до неприличия (комментарий на клипе затерся).

По IMU замечу, что на первый план выходит борьба с вибрациями. Понятно, что лучше бороться с причниой, чем со следствиями - балансировать ВМГ, ставить IMU на специальные виброгасящие площадки и т.п. Но ИМХО, всего этого может оказаться недостаточно для массового изделия. Поэтому предлагаю вернуться к вопросу программной фильтрации вибрации в алгоритме IMU. Понятно, что любой фильтр даст дополнительную задержку (половина длины фильтра для КИХ), но так ли велика будет эта задержка? При 200 Гц опросе гироскопов (если не ошибаюсь), задержка в 50 мс - это КИХ фильтр на 20 шагов. Как режекторный или ФНЧ он способен срезать вибрации с частотами от 10 до 100 Гц с ослаблением на 20-30 дБ. Не берусь предсказать, насколько это ухудшит динамику, но чувствительность к вибрациям движка будет значительно ниже. Может стоит добавить такой фильтр, как опцию?
И еще по вибрациям очень не хватает обратной связи: вывода каких либо показателей на OSD. Трудно бороться с тем чего не видишь на земле. 😃

Creator991
baychi:

Полетал вчерась вслаcть с альтернативной прошивкой

очень хорошо! где скачать и как задаются данные коридора управления газом? (в КП?) меня очень напрягает когда АП (принудительный АВ)с высоты 200метров врубает газ на 100% и снижается на 100 метров!!😃 Ощющение, что щас крылья сложаться!

Edward_tlt

Я тож готов потестить альтернативные прошивки

baychi
FiLial:

металко валидол на посадке не повредилось?

Не. Она же раз в 10 крепче Изи, а он не пострадал. 😃

Creator991:

где скачать и как задаются данные коридора управления газом?

Пока это нигде скачать нельзя. Вот добавит Тимофей это в официальный релиз…

Creator991:

меня очень напрягает когда АП (принудительный АВ)с высоты 200метров врубает газ на 100% и снижается на 100 метров!!

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

smalltim
Edward_tlt:

Тим, с интересом почитал полный текст сообщения ещё до редактирования

Да я еще раз внимательно пересмотрел видео, пересмотрел код, все отображаемые на видео параметры, и понял, что мои теоретизирования оказались не в кассу. Стер 😃

Creator991:

меня очень напрягает когда АП (принудительный АВ)с высоты 200метров врубает газ на 100% и снижается на 100 метров!! Ощющение, что щас крылья сложаться!

Андрей, даже если АП сказано удерживать скорость, то начальный газ он выставляет в значение, заданное в поле величина газа для режима “удерживать газ” и держит его 2 секунды. После начинает играть газом. Поставьте эту величину поменьше и Вам будет спокойнее.

baychi:

Поэтому предлагаю вернуться к вопросу программной фильтрации вибрации в алгоритме IMU. Понятно, что любой фильтр даст дополнительную задержку (половина длины фильтра для КИХ), но так ли велика будет эта задержка? При 200 Гц опросе гироскопов (если не ошибаюсь), задержка в 50 мс - это КИХ фильтр на 20 шагов. Как режекторный или ФНЧ он способен срезать вибрации с частотами от 10 до 100 Гц с ослаблением на 20-30 дБ. Не берусь предсказать, насколько это ухудшит динамику, но чувствительность к вибрациям движка будет значительно ниже. Может стоит добавить такой фильтр, как опцию?

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

Вахтанг
serj:

Зы : не стоит думать что у Тимофея одна голова 😃

Ну да. Тимофей - ты у нас тепер будешь Змей Горинич 😃

serj:

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

Инструктор он на то и инструктор.
Летал я на ЯК18, с бывшим военным пилотом, под Питером! Рассказать это словами нереально, надо самому посмотреть, а еще лучше попробовать! от перегрузок глаза чуть на лоб не вылезли. Ничего, не обблевалься. Поворота блинчиком он не делает, принципиально. А разворот на 180 градусов в конце полосы, с наклоном под 70 градусов, и посадка до середины полосы - это пожалуйста.
При управлении РУ моделью и я также управляю, наклон 40-60 градусов и РВ в место РН. Разворот с меньшим радиусом не сделать больше никак! Правда делать это надо на скорости, ибо можно свалится на крыло.
Тимофей- а выбор в контрольной панели типа авиагоризонта будет? я имею в виду разное понимание отображения у нас и за бугром.

AlexSneg
smalltim:

При наличии перегрузок, раскачек и колебаний каждый цикл автопилота (~100 раз в секунду) я этот множитель уменьшаю на 0.01.

сорри, что вмешиваюсь, но уж поскольку той же проблемой мучаюсь, подкину мысль, вдруг поможет, и я буду знать, что путь правильный.
Вот вместо того, чтобы мучаться с коэффициентами, не проще сигнал roll с IMU подать на преобразование фурье и получить спектр гармоник. Гармонику воздействия на серву мы знаем, поскольку сами ее генерим. Соответственно строим цифровой фильтр и вырезаем гармонику раскачки, за одно и вибрации, на ходу прямо из сигнала горизонта.

baychi
AlexSneg:

строим цифровой фильтр и вырезаем гармонику раскачки,

Что такой гамоника раскачки? И зачем ее выделять через ДПФ, если алгоритм сам раскачивает модель?

AlexSneg:

за одно и вибрации, на ходу прямо из сигнала горизонта.

Вибрации выделить можно, но ИМХО проще их сразу давить ФНЧ.

AlexSneg
baychi:

И зачем ее выделять через ДПФ

Для того, чтобы сразу понять куда подкручивать коэффициенты усиления воздействия на серву.

baychi:

сразу давить ФНЧ

ФНЧ на сигналы датчиков или ФНЧ на результирующий сигнал горизонта?

baychi
AlexSneg:

чтобы сразу понять куда подкручивать коэффициенты усиления воздействия на серву.

Допустим, с помощью ДПФ мы выделим частоту раскачки, ее амплитуду и фазу относительно некоего момента времени. Как Вы хотите из этой информации получить коэффициенты усиления? И разве сам по себе ПИД алгоритм при правильной настройке не должнен гасить раскачку?

AlexSneg:

ФНЧ на сигналы датчиков

Да, ФНЧ над исходными измерения гироскопов.

AlexSneg
baychi:

И разве сам по себе ПИД алгоритм при правильной настройке не должнен гасить раскачку?

должен, только для этого обратная связь наклон - воздействие должна отрабатывать с бесконечной скоростью, а этого у нас как раз нет. Мы не попадаем в противофазу, а попадаем как раз в фазу. Вот нам как раз и надо обеспечить правильную дельту фаз. Вот мы как раз и будем знать и амплитуду и фазу.

baychi:

ФНЧ над исходными измерения гироскопов.

Какую частоту дискретизации мы имеем на гироскопе в данном случае? 400 герц? А предполагаемая частота вибрации двигателя, диапазон? Вы ж понимаете Александр, что частоты более, чем половина частоты дискретизации уже и так задавлены в сигнале гироскопа? А те, что выше дискретизации вообще уже на уровне белого шума.