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

serj

Тим, предлагаю сделать следующее. Пользователей, считающих себя умнее разработчика, не так много. (человек 10-20, и Александр в их число не входит 😃) Предлагаю сделать весьма развитую структуру ( массив регуляторов), штук 32 например, с произвольно назначаемыми связями. Сделать под это отдельный пункт, как вариант, в ини - файле КП (запароленный , скажем под индивидуальный номер проца через некую функцию). Чтобы обычным пользователям этого вообще не было видно.
И высылать пароль жаждущим экспериментов людям баксов за 100. (как, например, делает Олег) .

Причем с предупреждением- все что вы напрограммировали- под вашу ответственность. Ибо за реализацией хотелок двух-трех десятков человек в понятном для ВСЕХ ПОЛЬЗОВАТЕЛЕЙ, в том числе и не имеющих специального образования людях проект будет обречен на непрерывное устранение косяков от реализации хотелок.

А если страждущие будут спрашивать- почему так дорого- предлагать купить Риссу 😃.

Ясон

Интересует будет ли работать автопилот на летающем крыле без дополнительного V-tail микшера на борту?

Llirik
Вахтанг:

Кирилл! ну, у вас вроде фамилия русская. Не догадываетесь к чему это приведет? Непременно будут трогать, если так написать!

Еще как догадываюсь!.. 😁
И очень часто возникает желание поотрывать руки инициативным умникам… Правда ПБ это запрещают, поэтому обходимся депремиеями, выговорами и увольнениями… Но чаще девятиэтажным матом!.. 😃

А по поводу 100$ и экспериментируй - перебор!
Заплатить бабало производителю, за то что решил ему же помочь сделать его продукт более привлекательным?! Надеюсь Тимофей - не Том Сойер!..

Другой вариант, считаю вполне всех устаиваемый:

Просто выложить отдельно на сайте с большим красным предупреждением об опасности “Экспериментальные прошивки/контрольные панели”. В релизах которых вносить пожелания от нас “горе-умников”. И пусть мы - сами морковим свои носители на свой страх и риск!.. И в случае, если эксперименты таких дилетантов как я дадут положительный эффект - ретранслировать его в прошивки общего пользования!

Ясон:

Интересует будет ли работать автопилот на летающем крыле без дополнительного V-tail микшера на борту?

Само собой! По большому счету, как я понял, управляющие выходы и есть миксы от всех входных каналов.
Точнее сказать входы автопилота (логики) - это микшеры физических входов (инициализинуются при калиброке), а физические выходы - это миксы логических выходов автопилота (настраиваются в расширенных настройках).
Посему даже если подать на автопилот уже смикшированное для ЛК управление и поставить его на классику - всеравно заработает…

Kozhenkov
Ясон:

Интересует будет ли работать автопилот на летающем крыле без дополнительного V-tail микшера на борту?

Будет

baychi
smalltim:

Условное интегрирование можно сделать, вот экспериментируем с двумя частями в интегральном компоненте. Не хочу привлекать высшую математику, да и в терминах я не очень, поэтому рассказываю, как Чапаев, на картошках, и пляшу от задач:

У меня, как у неискушенного в ПИД-теории пользователя, возникает 3 вопроса:

  1. Очевидно, что ПИД регулятор неспособен привести реальный тангаж/крен к требуемому. Вопрос, а нужно ли это? Ведь летаем и так. Другое дело, что без строгого понимания теории, подбор коэффициентов превращается в “шаманство” даже там, гже аэродинимические свойства модели известны.
    И существует ли “человекоподбный” алгоритм регуливания attitude?
Llirik:

Допустим у нас прямое регулирование – это когда увеличение U приводит к увеличению угла тангажа.

  1. Насколько важно, что у нас НЕ ПРЯМОЕ регулирование. Что РВ/элероны задают лишь скорость вращения вокруг соотв. оси?

  2. Реальный люфт, гистерезис или нечувствительность упр. поверхностей. Как бы его обойти?

smalltim
baychi:
  1. Очевидно, что ПИД регулятор неспособен привести реальный тангаж/крен к требуемому.

Это ПД не может, а ПИД - более чем может. Мы просто (возможно, излишне) осторожничаем с И, вот и всё.

baychi:

И существует ли “человекоподбный” алгоритм регуливания attitude?

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

baychi:
  1. Насколько важно, что у нас НЕ ПРЯМОЕ регулирование. Что РВ/элероны задают лишь скорость вращения вокруг соотв. оси?

Очень важно. На самом деле, управлять надо угловыми скоростями, а не углами, и мы к этому скоро придем.

baychi:
  1. Реальный люфт, гистерезис или нечувствительность упр. поверхностей. Как бы его обойти?

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

Llirik

Ответы:

  1. ПИД - способен, это П и ПД не способны. Нужно ли это? Главный вопрос и то с чего надо вообще начинать - критерии качества регулирования!.. На счет борьбы с “шаманством” лучший выход - автонастройка. Прикидываю как лучше реализовать ее, поэтому и задал вопрос, в начале “перепалк” пост #6330…
  2. Для конечного пользователя совсем не важно!.. Smalltim при настройки входных каналов это понимает, для этого, к примеру, и просит показать в какую сторону вы отклоняете стик для того, чтобы дать правый крен.
  3. Добавим погрешность измерений, шумы, дискретность и точность серв и т.д… Проще говоря то, что называется реальной системой!.. “Обходится” все это опять осознанием и правильным формулированием критерий качества и, соответственно, затачиванием алгоритма под них. К примеру, введением зоны нечуствительности, которую, я считаю надо будет вводить (во всяком случае если решим всетаки развивать автопилот)…

УПС… Тимофей уже ответил…

smalltim
Llirik:

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

Да, надо, всё никак руки не дойдут. Еще я думал о мониторинге перегрузок и мгновенном занижении общего коэффициента усиления регуляторов в случае перегрузок.
Но это всё, по сути, решится автоматически при управлении угловыми скоростями.

Llirik

Только мы 2-й пункт по разному поняли… Я отвечал на приложенную цитату…

smalltim
Llirik:

во всяком случае если решим всетаки развивать автопилот

Вы, наверное, издеваетесь 😃

Llirik
smalltim:

Еще я думал о мониторинге перегрузок и мгновенном занижении общего коэффициента усиления регуляторов в случае перегрузок.

Это ни что иное как зажимание расходов, о которых я писал…Только при использовании ПИД, в этом случае надо внимательно отнестись к И! Иначе overshoot обеспечен!..

smalltim:

Вы, наверное, издеваетесь

Упс! Тимофей, извини!.. Действительно издевательски звучит!.. Надо бы над своей тактичностью поработать!..

AlexA35

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

ingener
smalltim:
  1. ПИ никогда не выходит на целевое значение, это понятно. Надо добавлять быстро растущий, но ограниченный интегральный, чтоб успел расти на интервалах 0.5…5 сек и помогал точнее перекладывать самолет по крену и тангажу при активном маневрировании. По сути, это получается адаптивный П.
  2. Есть кривые модели, у которых есть особенно сильные связи крен-тангаж, газ-крен, газ-тангаж и т.д. Быстрый интегральный, ограниченный по К*П - не лучший вариант для убиения таких вещей. Делаем медленно растущий интегральный, чтоб реально начинал давать вклад на интервалах от 10-20 сек. И ограничиваем его вклад до Х% от рабочего диапазона - останавливаем накопление, когда уперся в этот предел - чтоб не перестараться, и опять же, обезопаситься в плане стабильности.

Как-то так. Хочу выслушать советы, если Вам не жалко ими делиться.

Когда я учился летать на реальном самолете, то попытался поставить все стрелки приборов в положение “точно по учебнику”. Инструктор, легендарный летчик, заметил мою суету и спросил: “Самолет летит? Летит. А чего ты тогда суетишься?” Что в том контексте означало: не нужно пытаться поддерживать все параметры полета точно равными заданным. Достаточно приблизительного соответствия. И только в некоторых обоснованных случаях, например когда речь идет о штурманском расчете или экономии топлива, нужно точно выдерживать только 2-3 параметра. Необходимости точного выдерживания параметров полета модели я не вижу. Поэтому нет никакой необходимости в интегральной компоненте регулирования, которая в стабилизированном полете будет вынуждать пилота модели через 15-20 секунд, когда начнет сказываться интегральная компонента, убирать поправки, которые он уже автоматически внес вручную (раз уж самолет летит), даже не заметив этого. А вот процесс убирания этих поправок может у придирчивых пилотов вызвать некоторое недоумение.

Так что интегральная компонента автоматической стабилизации модели не только в принципе не нужна, но даже и вредна. Ее использование было бы оправдано, если бы действительно требовалось выдерживать скорость, высоту, радиус поворота и курс очень точно. Но от модели этого абсолютно не требуется. Поэтому ПД регулирования вполне достаточно.

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

Llirik
smalltim:

Но это всё, по сути, решится автоматически при управлении угловыми скоростями.

но от перегрузок не защитит… Т.ч. удар при перегрузке - правильно думаете!..

ingener:

Необходимости точного выдерживания параметров полета модели я не вижу. Поэтому нет никакой необходимости в интегральной компоненте регулирования, которая в стабилизированном полете будет вынуждать пилота модели через 15-20 секунд, когда начнет сказываться интегральная компонента, убирать поправки, которые он уже автоматически внес вручную

😁 Интегральная состовляющая - это и есть те самые поправки, которые Вы вносите!.. Вам просто не надо будет их вносить…

ingener
Llirik:

Интегральная состовляющая - это и есть те самые поправки, которые Вы вносите!.. Вам просто не надо будет их вносить…

Извините, если я управляю моделью, хотя и в режиме стабилизации, то я должен видеть реакцию модели на мое управление сразу, а не тогда, когда отработает интегральная составляющая. Я не хочу вносить ручные поправки на поправки интегральной компоненты.
Меня вполне устраивает ПД регулирование пространственным положением модели, а не положением рулей, которое имитирует управление суперустойчивой моделью и освобождает меня от учетов ее моментов инерции.
Если модель по каким-то причинам не полностью устранит например крен, то мне гораздо проще устранить его движением стика, чем дожидаться, пока сработает интегральная компонента. В крайнем случае триммера есть.

smalltim
AlexA35:

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

Алексей, я в личку скидывал свои извинения и раскаяния и предложение поменять плату телеметрии на прошитую для работы без OSD. Вы решили не ждать пересылки?

Вот это более-менее подробно описанный и опробованный вариант:

www.masterkit.ru/info/magshow.php?num=361
www.masterkit.ru/main/set.php?code_id=276487

Llirik

Что ж вы ее так боитесь? Ктож вам сказал, что из за нее будет инертное регулирование? И с сего Вы взяли, что ПД или П работают быстрее чем ПИД?
Боятся инертности от И составляющей - это все равно, что при выборе комплектации автомобиля для скоростной езды выбирать самый маломощный двигатель, аппелируя это тем, что он легче, стало быть машина будет легче и динамичнее…

smalltim
ingener:

Так что интегральная компонента автоматической стабилизации модели не только в принципе не нужна, но даже и вредна. Ее использование было бы оправдано, если бы действительно требовалось выдерживать скорость, высоту, радиус поворота и курс очень точно. Но от модели этого абсолютно не требуется. Поэтому ПД регулирования вполне достаточно.

В большой части случаев соглашусь, да. И это будет тем более актуально с новой навигацией, когда даже с неточными углами ориентации модель контролируется гораздо более жестко вышестоящими контроллерами - курс, скорость, высота. Для автовозврата и полета по точкам - очень надежный вариант.
А вот для полетов именно по камере, да для съемок, да для стабилизации и круиз-контроля хочется чтоб модель была будто прибита гвоздем к горизонту, да под нужными углами. Сейчас с земли кажется, что так и есть, модель в стабилизации летит прямо неестественно ровно. Но в этот момент на виде с бортовой камеры видны небольшие подергивания да покачивания да порыскивания. Не комильфо.

SkyWorker
smalltim:

Это ПД не может, а ПИД - более чем может. Мы просто (возможно, излишне) осторожничаем с И, вот и всё.

Ну не знаю… вон буржуи особо не боятся.
Дают волю пользователю в настройках.

Понятно, что многое не понятно! 😃
Но всегда можно спросить, и всегда есть рекомендации от создателей.
Значение P поставьте вот такое, I - вот такое…

AlexA35
smalltim:

Алексей, я в личку скидывал свои извинения и раскаяния и предложение поменять плату телеметрии на прошитую для работы без OSD. Вы решили не ждать пересылки?

Вот это более-менее подробно описанный и опробованный вариант:

www.masterkit.ru/info/magshow.php?num=361
www.masterkit.ru/main/set.php?code_id=276487

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

baychi
smalltim:

Человек, если сильно упрощать, идейно наверное, близко к ПИД работает, но тут очень много всяких деталей. Моя димпломная

Таки и што, формализованного “человекоподбного” алгоритма до сих пор не существует? 😃

smalltim:

В большой части случаев соглашусь, да. И это будет тем более актуально с новой навигацией

Вот. Именно это я и хотел предложить, как вариант. Разные алгоритмы ПИД регулирования в зависимости от режима.

smalltim:

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

И как это будет сочетаться с ПИД?

На самом деле хочу пропробывать ввести простейший параметр “минимальный квант действия” (минимальное отклонение сервы, заметное в полете для конкретной модели). Если рассчитанное отколение сервы меньше этой величины, но больше квант/4 оно увеличивается до +/- кванта.