Smalltim OSD and autopilot (часть 2)
Тим, по крену так не надо. Нет такой устойчивости по крену ( V поперечное не 45 градусов), и демпфирование очень сильное аэродинамическое. Если мы задали недостаточный момент элеронами, например не 30 гр/с а всего 10, то ничего страшного, через 4с у нас будет 40 градусов крена а через 18- полубочка )
Сергей, тут как раз идет борьба с недостаточной величиной P, и сильной устойчивостью модели по крену. I в том виде, что я написал, это, в случае проблемы с недоворотом, по сути просто увеличенный в 3 раза P, что нам, в общем, и надо. Если позволить I расти медленно, 3-5 секунд или больше, то и колебаний не будет.
Мы ж задаем не постоянный момент элеронами, а момент, равный P. Так что полубочки не будет. Я рулю креном-тангажом, а не угловыми скоростями пока.
Для летающих крыльев в развороте надо просто отклонять один элерон 😃
Зы : не стоит думать что у Тимофея одна голова
У меня голова, но этого мало. Есть еще мои коллеги, форум, гугл и знание английского языка. А этого уже хватает 😃
“у тебя половина пассажиров к концу полета проблюется, особенно те что сзади сидят”
Ну, мы пассажиров не возим, нам пофигу.
Надо обязательно рулить и рулем направления тоже.
АП руддером пока ВООБЩЕ не рулит. То есть, у него есть просто понятие что делать, когда надо крен, и это задается на калибровке команд. Не такая уж серьезная проблема пока, но да, в идеале должен.
Индикатор скольжения у нас есть,
Как я могу детектировать скольжение? Математикой, зная воздушную скорость и угловые скорости по осям в системе координат ИМУ? Да, я приблизительно представляю, как, но не втыкаю, как именно. Подскажешь, если не военная тайна? И бародатчик скорости есть не у всех 😦
Давно хотел спросить, мне моей головы почему-то не хватает для просветления: а что надо мониторить/управлять, чтобы поддерживать именно скоординированный поворот?
Даже отклонение на 1.5мм по задней кромке элеронов на несколько секунд приведет к желаемому крену. аэродинамическое демпфирование достаточно, чтобы можно было достаточно высокие Р применять, даже без демпферов.
Пассажиры блюют при некоординированном развороте. 😃 посему для его выполнения рулить руддером НАДО.
Также, ограничение I- компоненты в зависимости от P сделают квадратичной характеристику регулятора. возможно, это не плохо, т.к большинство демпфирующих мометов квадратичны от скорости.
Индикатор скольжения - как в самолете - поперечный акселерометр.
Осмысливаю. Про руление руддером - да, пора, пожалуй, вводить управление руддером.
Даже отклонение на 1.5мм по задней кромке элеронов на несколько секунд приведет к желаемому крену.
Это я пытаюсь донести коллегам, что считают отклонения плоскостей в стабилизации маленькими.
ограничение I- компоненты в зависимости от P сделают квадратичной характеристику регулятора
Не уверен, что это так. Он, по-прежнему, линейный, с Ку от 1 до 3.
Полетал сегодня. Так как угол тангажа не удалось уменьшить до -10, то поставил резкость 10%. Вообщем всё гуд, даже маленький рекорд для себя установил, 3км отдаление и 1км высоты. Был один не понятный момент, пока всячески испытывал возврат. Вот он
Можно было конечно подождать как дальше себя ап поведёт, но что то я решил переключиться на ст.
Эдуард, а что конкретно не понравилось? Как-то непонятно горизонт внаклонке остался? Да, это странно, от 0:57 до 1.10. Дальше выправилось. Похоже, коррекция центробежных ускорений по ГПС до ИМУ дошла с торможением. Кабель до ИМУ у Вас не удлинен? Свейте его слегка.
А если в стабилизации дать ток 40А (как сделал автопилот) или, как вариант, ограничить макс ток автономного полета скажем 20А ?
Кабель до ИМУ у Вас не удлинен? Свейте его слегка.
Тим, с интересом почитал полный текст сообщения ещё до редактирования:) Кабель не удлиннён, свить попробую но когда моя ИМУшка придёт. Летаю на чужой пока… Офф: у моей статус “сортировка в Москве” с 4го числа, емс блин:)
А по делу: В этом полёте “коррекция рассогласования датчиков” стояла 15, это я поставил начитавшись инструкции:) Потом поменял на 20 и далее так и летал. Записи последнего полёта нету, но меня всё устроило:) И если хочется проверить какие то идеи, может вам сделать раздел на своём сайте с бета-прошивками? Кому интересно могли бы поучаствовать в тестировании.
есть очень большой соблазн перейти на управление моделью не углами, а угловыми скоростями,
Имеется в виду так называемая - 3D стабилизация? Когда работает только дифф. составляющая гироскопов?
Это полезный режим - но только не вместо обычной стабилизации, а как дополнение.
Полетал вчерась вслаcть с альтернативной прошивкой. В основном тестировал режим управления газом в зависимости от тангажа. ИМХО - получилось неплохо, предлагаю добавить этот режим как еще одини вариант к варианту управления скоростью, можно даже вместо режима существующего управления газом. Преимущества данного способа - независимость от измерения скорости по GPS или баро. А по экономичности он лишь немного проигрывает режиму удержания скорости.
Вот видео:
Тест IMU от Smalltim альтернативная прошивка
На последнем RTH акк разряжен до неприличия (комментарий на клипе затерся).
По IMU замечу, что на первый план выходит борьба с вибрациями. Понятно, что лучше бороться с причниой, чем со следствиями - балансировать ВМГ, ставить IMU на специальные виброгасящие площадки и т.п. Но ИМХО, всего этого может оказаться недостаточно для массового изделия. Поэтому предлагаю вернуться к вопросу программной фильтрации вибрации в алгоритме IMU. Понятно, что любой фильтр даст дополнительную задержку (половина длины фильтра для КИХ), но так ли велика будет эта задержка? При 200 Гц опросе гироскопов (если не ошибаюсь), задержка в 50 мс - это КИХ фильтр на 20 шагов. Как режекторный или ФНЧ он способен срезать вибрации с частотами от 10 до 100 Гц с ослаблением на 20-30 дБ. Не берусь предсказать, насколько это ухудшит динамику, но чувствительность к вибрациям движка будет значительно ниже. Может стоит добавить такой фильтр, как опцию?
И еще по вибрациям очень не хватает обратной связи: вывода каких либо показателей на OSD. Трудно бороться с тем чего не видишь на земле. 😃
Вот видео: Тест IMU от Smalltim альтернативная прошивка
металко валидол на посадке не повредилось?
Полетал вчерась вслаcть с альтернативной прошивкой
очень хорошо! где скачать и как задаются данные коридора управления газом? (в КП?) меня очень напрягает когда АП (принудительный АВ)с высоты 200метров врубает газ на 100% и снижается на 100 метров!!😃 Ощющение, что щас крылья сложаться!
Я тож готов потестить альтернативные прошивки
металко валидол на посадке не повредилось?
Не. Она же раз в 10 крепче Изи, а он не пострадал. 😃
где скачать и как задаются данные коридора управления газом?
Пока это нигде скачать нельзя. Вот добавит Тимофей это в официальный релиз…
меня очень напрягает когда АП (принудительный АВ)с высоты 200метров врубает газ на 100% и снижается на 100 метров!!
АП стартует с газом равным параметру “Целевой газ”. Затем действует по обстоятельствам - в режиме “удержания скорости” будет снижать, а в существующем режиме “управление газом” остваит этот газ. Поставьте себе небольшое значени “целевого газа” и станет лучше.
Тим, с интересом почитал полный текст сообщения ещё до редактирования
Да я еще раз внимательно пересмотрел видео, пересмотрел код, все отображаемые на видео параметры, и понял, что мои теоретизирования оказались не в кассу. Стер 😃
меня очень напрягает когда АП (принудительный АВ)с высоты 200метров врубает газ на 100% и снижается на 100 метров!! Ощющение, что щас крылья сложаться!
Андрей, даже если АП сказано удерживать скорость, то начальный газ он выставляет в значение, заданное в поле величина газа для режима “удерживать газ” и держит его 2 секунды. После начинает играть газом. Поставьте эту величину поменьше и Вам будет спокойнее.
Поэтому предлагаю вернуться к вопросу программной фильтрации вибрации в алгоритме IMU. Понятно, что любой фильтр даст дополнительную задержку (половина длины фильтра для КИХ), но так ли велика будет эта задержка? При 200 Гц опросе гироскопов (если не ошибаюсь), задержка в 50 мс - это КИХ фильтр на 20 шагов. Как режекторный или ФНЧ он способен срезать вибрации с частотами от 10 до 100 Гц с ослаблением на 20-30 дБ. Не берусь предсказать, насколько это ухудшит динамику, но чувствительность к вибрациям движка будет значительно ниже. Может стоит добавить такой фильтр, как опцию?
Попробую сделать, но позже, когда будем поднимать в воздух коптерные прошивки.
Сейчас пока планирую отображать в углу индикатора горизонта уровень вибраций и перегрузок.
Зы : не стоит думать что у Тимофея одна голова 😃
Ну да. Тимофей - ты у нас тепер будешь Змей Горинич 😃
Когда я “руками” пытался моделировать такой поворот на як-18Т как описываешь ты, мне инструктор сказал что “у тебя половина пассажиров к концу полета проблюется, особенно те что сзади сидят” Надо обязательно рулить и рулем направления тоже.
Инструктор он на то и инструктор.
Летал я на ЯК18, с бывшим военным пилотом, под Питером! Рассказать это словами нереально, надо самому посмотреть, а еще лучше попробовать! от перегрузок глаза чуть на лоб не вылезли. Ничего, не обблевалься. Поворота блинчиком он не делает, принципиально. А разворот на 180 градусов в конце полосы, с наклоном под 70 градусов, и посадка до середины полосы - это пожалуйста.
При управлении РУ моделью и я также управляю, наклон 40-60 градусов и РВ в место РН. Разворот с меньшим радиусом не сделать больше никак! Правда делать это надо на скорости, ибо можно свалится на крыло.
Тимофей- а выбор в контрольной панели типа авиагоризонта будет? я имею в виду разное понимание отображения у нас и за бугром.
При наличии перегрузок, раскачек и колебаний каждый цикл автопилота (~100 раз в секунду) я этот множитель уменьшаю на 0.01.
сорри, что вмешиваюсь, но уж поскольку той же проблемой мучаюсь, подкину мысль, вдруг поможет, и я буду знать, что путь правильный.
Вот вместо того, чтобы мучаться с коэффициентами, не проще сигнал roll с IMU подать на преобразование фурье и получить спектр гармоник. Гармонику воздействия на серву мы знаем, поскольку сами ее генерим. Соответственно строим цифровой фильтр и вырезаем гармонику раскачки, за одно и вибрации, на ходу прямо из сигнала горизонта.
строим цифровой фильтр и вырезаем гармонику раскачки,
Что такой гамоника раскачки? И зачем ее выделять через ДПФ, если алгоритм сам раскачивает модель?
за одно и вибрации, на ходу прямо из сигнала горизонта.
Вибрации выделить можно, но ИМХО проще их сразу давить ФНЧ.
И зачем ее выделять через ДПФ
Для того, чтобы сразу понять куда подкручивать коэффициенты усиления воздействия на серву.
сразу давить ФНЧ
ФНЧ на сигналы датчиков или ФНЧ на результирующий сигнал горизонта?
чтобы сразу понять куда подкручивать коэффициенты усиления воздействия на серву.
Допустим, с помощью ДПФ мы выделим частоту раскачки, ее амплитуду и фазу относительно некоего момента времени. Как Вы хотите из этой информации получить коэффициенты усиления? И разве сам по себе ПИД алгоритм при правильной настройке не должнен гасить раскачку?
ФНЧ на сигналы датчиков
Да, ФНЧ над исходными измерения гироскопов.
И разве сам по себе ПИД алгоритм при правильной настройке не должнен гасить раскачку?
должен, только для этого обратная связь наклон - воздействие должна отрабатывать с бесконечной скоростью, а этого у нас как раз нет. Мы не попадаем в противофазу, а попадаем как раз в фазу. Вот нам как раз и надо обеспечить правильную дельту фаз. Вот мы как раз и будем знать и амплитуду и фазу.
ФНЧ над исходными измерения гироскопов.
Какую частоту дискретизации мы имеем на гироскопе в данном случае? 400 герц? А предполагаемая частота вибрации двигателя, диапазон? Вы ж понимаете Александр, что частоты более, чем половина частоты дискретизации уже и так задавлены в сигнале гироскопа? А те, что выше дискретизации вообще уже на уровне белого шума.