Smalltim OSD and autopilot (часть 2)
Кирилл! ну, у вас вроде фамилия русская. Не догадываетесь к чему это приведет? Непременно будут трогать, если так написать!
Еще как догадываюсь!.. 😁
И очень часто возникает желание поотрывать руки инициативным умникам… Правда ПБ это запрещают, поэтому обходимся депремиеями, выговорами и увольнениями… Но чаще девятиэтажным матом!.. 😃
А по поводу 100$ и экспериментируй - перебор!
Заплатить бабало производителю, за то что решил ему же помочь сделать его продукт более привлекательным?! Надеюсь Тимофей - не Том Сойер!..
Другой вариант, считаю вполне всех устаиваемый:
Просто выложить отдельно на сайте с большим красным предупреждением об опасности “Экспериментальные прошивки/контрольные панели”. В релизах которых вносить пожелания от нас “горе-умников”. И пусть мы - сами морковим свои носители на свой страх и риск!.. И в случае, если эксперименты таких дилетантов как я дадут положительный эффект - ретранслировать его в прошивки общего пользования!
Интересует будет ли работать автопилот на летающем крыле без дополнительного V-tail микшера на борту?
Само собой! По большому счету, как я понял, управляющие выходы и есть миксы от всех входных каналов.
Точнее сказать входы автопилота (логики) - это микшеры физических входов (инициализинуются при калиброке), а физические выходы - это миксы логических выходов автопилота (настраиваются в расширенных настройках).
Посему даже если подать на автопилот уже смикшированное для ЛК управление и поставить его на классику - всеравно заработает…
Интересует будет ли работать автопилот на летающем крыле без дополнительного V-tail микшера на борту?
Будет
Условное интегрирование можно сделать, вот экспериментируем с двумя частями в интегральном компоненте. Не хочу привлекать высшую математику, да и в терминах я не очень, поэтому рассказываю, как Чапаев, на картошках, и пляшу от задач:
У меня, как у неискушенного в ПИД-теории пользователя, возникает 3 вопроса:
- Очевидно, что ПИД регулятор неспособен привести реальный тангаж/крен к требуемому. Вопрос, а нужно ли это? Ведь летаем и так. Другое дело, что без строгого понимания теории, подбор коэффициентов превращается в “шаманство” даже там, гже аэродинимические свойства модели известны.
И существует ли “человекоподбный” алгоритм регуливания attitude?
Допустим у нас прямое регулирование – это когда увеличение U приводит к увеличению угла тангажа.
-
Насколько важно, что у нас НЕ ПРЯМОЕ регулирование. Что РВ/элероны задают лишь скорость вращения вокруг соотв. оси?
-
Реальный люфт, гистерезис или нечувствительность упр. поверхностей. Как бы его обойти?
- Очевидно, что ПИД регулятор неспособен привести реальный тангаж/крен к требуемому.
Это ПД не может, а ПИД - более чем может. Мы просто (возможно, излишне) осторожничаем с И, вот и всё.
И существует ли “человекоподбный” алгоритм регуливания attitude?
Человек, если сильно упрощать, идейно наверное, близко к ПИД работает, но тут очень много всяких деталей. Моя димпломная многолетназад была как раз на тему анализа поведения системы человек+машина в управлении истребителями. В общем, или ПИД, или уже тогда сразу во все тяжкие - нечеткая логика, прошивки по мегабайту и т.д. 😃
- Насколько важно, что у нас НЕ ПРЯМОЕ регулирование. Что РВ/элероны задают лишь скорость вращения вокруг соотв. оси?
Очень важно. На самом деле, управлять надо угловыми скоростями, а не углами, и мы к этому скоро придем.
- Реальный люфт, гистерезис или нечувствительность упр. поверхностей. Как бы его обойти?
Добавлять соответствующие поправки в контроль - вбивать диапазоны нечувствительности системы, гистерезис и т.д.
Ответы:
- ПИД - способен, это П и ПД не способны. Нужно ли это? Главный вопрос и то с чего надо вообще начинать - критерии качества регулирования!.. На счет борьбы с “шаманством” лучший выход - автонастройка. Прикидываю как лучше реализовать ее, поэтому и задал вопрос, в начале “перепалк” пост #6330…
- Для конечного пользователя совсем не важно!.. Smalltim при настройки входных каналов это понимает, для этого, к примеру, и просит показать в какую сторону вы отклоняете стик для того, чтобы дать правый крен.
- Добавим погрешность измерений, шумы, дискретность и точность серв и т.д… Проще говоря то, что называется реальной системой!.. “Обходится” все это опять осознанием и правильным формулированием критерий качества и, соответственно, затачиванием алгоритма под них. К примеру, введением зоны нечуствительности, которую, я считаю надо будет вводить (во всяком случае если решим всетаки развивать автопилот)…
УПС… Тимофей уже ответил…
Напрашивается обратная зависимость от скорости. А выход регулятора, как и сейчас, умножать на это, только уже откорректированное значение.
Да, надо, всё никак руки не дойдут. Еще я думал о мониторинге перегрузок и мгновенном занижении общего коэффициента усиления регуляторов в случае перегрузок.
Но это всё, по сути, решится автоматически при управлении угловыми скоростями.
Только мы 2-й пункт по разному поняли… Я отвечал на приложенную цитату…
во всяком случае если решим всетаки развивать автопилот
Вы, наверное, издеваетесь 😃
Еще я думал о мониторинге перегрузок и мгновенном занижении общего коэффициента усиления регуляторов в случае перегрузок.
Это ни что иное как зажимание расходов, о которых я писал…Только при использовании ПИД, в этом случае надо внимательно отнестись к И! Иначе overshoot обеспечен!..
Вы, наверное, издеваетесь
Упс! Тимофей, извини!.. Действительно издевательски звучит!.. Надо бы над своей тактичностью поработать!..
люди, кинте ссылку где можно доходчиво понять и сделать програматор для платы телеметрии смалтим, и как потом можно бех осложнений ее перешить
- ПИ никогда не выходит на целевое значение, это понятно. Надо добавлять быстро растущий, но ограниченный интегральный, чтоб успел расти на интервалах 0.5…5 сек и помогал точнее перекладывать самолет по крену и тангажу при активном маневрировании. По сути, это получается адаптивный П.
- Есть кривые модели, у которых есть особенно сильные связи крен-тангаж, газ-крен, газ-тангаж и т.д. Быстрый интегральный, ограниченный по К*П - не лучший вариант для убиения таких вещей. Делаем медленно растущий интегральный, чтоб реально начинал давать вклад на интервалах от 10-20 сек. И ограничиваем его вклад до Х% от рабочего диапазона - останавливаем накопление, когда уперся в этот предел - чтоб не перестараться, и опять же, обезопаситься в плане стабильности.
Как-то так. Хочу выслушать советы, если Вам не жалко ими делиться.
Когда я учился летать на реальном самолете, то попытался поставить все стрелки приборов в положение “точно по учебнику”. Инструктор, легендарный летчик, заметил мою суету и спросил: “Самолет летит? Летит. А чего ты тогда суетишься?” Что в том контексте означало: не нужно пытаться поддерживать все параметры полета точно равными заданным. Достаточно приблизительного соответствия. И только в некоторых обоснованных случаях, например когда речь идет о штурманском расчете или экономии топлива, нужно точно выдерживать только 2-3 параметра. Необходимости точного выдерживания параметров полета модели я не вижу. Поэтому нет никакой необходимости в интегральной компоненте регулирования, которая в стабилизированном полете будет вынуждать пилота модели через 15-20 секунд, когда начнет сказываться интегральная компонента, убирать поправки, которые он уже автоматически внес вручную (раз уж самолет летит), даже не заметив этого. А вот процесс убирания этих поправок может у придирчивых пилотов вызвать некоторое недоумение.
Так что интегральная компонента автоматической стабилизации модели не только в принципе не нужна, но даже и вредна. Ее использование было бы оправдано, если бы действительно требовалось выдерживать скорость, высоту, радиус поворота и курс очень точно. Но от модели этого абсолютно не требуется. Поэтому ПД регулирования вполне достаточно.
Можно конечно для изощренных любителей оставить интегральную компоненту. Но со строгим указанием - если вы не знаете, для чего вам это нужно - не трогать! Стабильность полета это никогда не улучшит. Может только ухудшить.
Но это всё, по сути, решится автоматически при управлении угловыми скоростями.
но от перегрузок не защитит… Т.ч. удар при перегрузке - правильно думаете!..
Необходимости точного выдерживания параметров полета модели я не вижу. Поэтому нет никакой необходимости в интегральной компоненте регулирования, которая в стабилизированном полете будет вынуждать пилота модели через 15-20 секунд, когда начнет сказываться интегральная компонента, убирать поправки, которые он уже автоматически внес вручную
😁 Интегральная состовляющая - это и есть те самые поправки, которые Вы вносите!.. Вам просто не надо будет их вносить…
Интегральная состовляющая - это и есть те самые поправки, которые Вы вносите!.. Вам просто не надо будет их вносить…
Извините, если я управляю моделью, хотя и в режиме стабилизации, то я должен видеть реакцию модели на мое управление сразу, а не тогда, когда отработает интегральная составляющая. Я не хочу вносить ручные поправки на поправки интегральной компоненты.
Меня вполне устраивает ПД регулирование пространственным положением модели, а не положением рулей, которое имитирует управление суперустойчивой моделью и освобождает меня от учетов ее моментов инерции.
Если модель по каким-то причинам не полностью устранит например крен, то мне гораздо проще устранить его движением стика, чем дожидаться, пока сработает интегральная компонента. В крайнем случае триммера есть.
люди, кинте ссылку где можно доходчиво понять и сделать програматор для платы телеметрии смалтим, и как потом можно бех осложнений ее перешить
Алексей, я в личку скидывал свои извинения и раскаяния и предложение поменять плату телеметрии на прошитую для работы без OSD. Вы решили не ждать пересылки?
Вот это более-менее подробно описанный и опробованный вариант:
www.masterkit.ru/info/magshow.php?num=361
www.masterkit.ru/main/set.php?code_id=276487
Что ж вы ее так боитесь? Ктож вам сказал, что из за нее будет инертное регулирование? И с сего Вы взяли, что ПД или П работают быстрее чем ПИД?
Боятся инертности от И составляющей - это все равно, что при выборе комплектации автомобиля для скоростной езды выбирать самый маломощный двигатель, аппелируя это тем, что он легче, стало быть машина будет легче и динамичнее…
Так что интегральная компонента автоматической стабилизации модели не только в принципе не нужна, но даже и вредна. Ее использование было бы оправдано, если бы действительно требовалось выдерживать скорость, высоту, радиус поворота и курс очень точно. Но от модели этого абсолютно не требуется. Поэтому ПД регулирования вполне достаточно.
В большой части случаев соглашусь, да. И это будет тем более актуально с новой навигацией, когда даже с неточными углами ориентации модель контролируется гораздо более жестко вышестоящими контроллерами - курс, скорость, высота. Для автовозврата и полета по точкам - очень надежный вариант.
А вот для полетов именно по камере, да для съемок, да для стабилизации и круиз-контроля хочется чтоб модель была будто прибита гвоздем к горизонту, да под нужными углами. Сейчас с земли кажется, что так и есть, модель в стабилизации летит прямо неестественно ровно. Но в этот момент на виде с бортовой камеры видны небольшие подергивания да покачивания да порыскивания. Не комильфо.
Это ПД не может, а ПИД - более чем может. Мы просто (возможно, излишне) осторожничаем с И, вот и всё.
Ну не знаю… вон буржуи особо не боятся.
Дают волю пользователю в настройках.
Понятно, что многое не понятно! 😃
Но всегда можно спросить, и всегда есть рекомендации от создателей.
Значение P поставьте вот такое, I - вот такое…
Алексей, я в личку скидывал свои извинения и раскаяния и предложение поменять плату телеметрии на прошитую для работы без OSD. Вы решили не ждать пересылки?
Вот это более-менее подробно описанный и опробованный вариант:
www.masterkit.ru/info/magshow.php?num=361
www.masterkit.ru/main/set.php?code_id=276487
к сожелению не получил от вас письма, если вы действительно представитель организации смалтим, попробуйте еще раз написать, в вашей базе все мои данные (для подтверждения предложения). я готов рассмотреть данное предложение
Человек, если сильно упрощать, идейно наверное, близко к ПИД работает, но тут очень много всяких деталей. Моя димпломная
Таки и што, формализованного “человекоподбного” алгоритма до сих пор не существует? 😃
В большой части случаев соглашусь, да. И это будет тем более актуально с новой навигацией
Вот. Именно это я и хотел предложить, как вариант. Разные алгоритмы ПИД регулирования в зависимости от режима.
Добавлять соответствующие поправки в контроль - вбивать диапазоны нечувствительности системы, гистерезис и т.д.
И как это будет сочетаться с ПИД?
На самом деле хочу пропробывать ввести простейший параметр “минимальный квант действия” (минимальное отклонение сервы, заметное в полете для конкретной модели). Если рассчитанное отколение сервы меньше этой величины, но больше квант/4 оно увеличивается до +/- кванта.
Давно не заходил в ветку, Надо ж куда дискуссия зашла!
Внесу свои 5 грамм практики в килограммы интеллектуальных мыслей.
И - в ручном стабилизаторе убрал полностью. Как правильно сказали, оно только мешает. И сбивает с толку. Если надо, я сам поправлю и додавлю, но чувствовать отклик на ручки важнее, всяких точных регулирований.
Для автоматических полетов сейчас у меня работает фактически адаптивный П и И, но контуром выше (в терминологии Тимофея), чем ручной стабилизатор. Принцип основан на анализе действий человека при управлении самолетом. Что мы делаем, когда понимаем, что нам надо, например вправо?
- Дергаем ручку джойстика примерно туда, куда думаем, что попадем на задуманный угол
- Смотрим за реакцией самолета
- Корректируем воздействие для установки самолета в нужную позу: либо додавливаем медленно, либо епт…, перебрали и соответственно…
Пункт 1 - это П верхнего контура
Пункт 2 - оценка реакции и самоадаптация к инерциальности самолета в ДАННОМ КОНКРЕТНОМ направлении, при данных погодных условиях. По оценке результатов, строится функция адаптивного И
Пункт 3 - Применение “И”, полученного в пункте 2.
На протяжении всего маневра “И” постоянно подстраивается в зависимости заданных контролируемых параметров. При необходимости корректируется П, так как погодные и ветряные условия меняются постоянно в процессе поворота.
Осталось придумать как вычислить П для пункта 1. Я себе эти формулы придумал примерно после 10 экспериментальных полетов. В результате сейчас я добился того, что самолет способен держать курс и нужный угол до 20 сек в вилке ошибки +/- 2 градуса. После 5 секунд стабильного полета с ошибкой не более 1 градуса, включается режим автоматического триммирования по крену. И теперь да, я знаю, насколько китайцы криво наштамповали мой скай 😃 И больше у меня нет настроек типа целевого тангажа и крена и прочей детерминированной за ранее шняги. Самолет сам находит примерно нужную позу для маневра.
И да, на все виды маневров у меня разные функции “П” и “И”. Подобраны все методом тыка и экспериментов на реальной практике.
Алекс, насколько я понял, ты как раз рулишь угловыми скоростями, если не прямо, то опосредованно, и, мониторя их и ставя в соответствие величине управляющего воздействия, находишь КУ в П и И.
Разумно вполне.
Но вот иметь для всех видов маневров свои функции П и И - хорошо, имея одну модель. Это, если я правильно понял, разные наборы начальных Ку и параметров, определяющих правила, по которым эти КУ изменяются.
А если моделей целый зоопарк? А даже если одна, но присядешь на нее попой, незаметно погнув фюзеляж, или влепишь батарейку потяжелее? Всё, понеслась, всё перенастраивать.
Если не спишь, загляни в личку, есть один вопрос по железке.