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

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 оно увеличивается до +/- кванта.

AlexSneg

Давно не заходил в ветку, Надо ж куда дискуссия зашла!
Внесу свои 5 грамм практики в килограммы интеллектуальных мыслей.
И - в ручном стабилизаторе убрал полностью. Как правильно сказали, оно только мешает. И сбивает с толку. Если надо, я сам поправлю и додавлю, но чувствовать отклик на ручки важнее, всяких точных регулирований.
Для автоматических полетов сейчас у меня работает фактически адаптивный П и И, но контуром выше (в терминологии Тимофея), чем ручной стабилизатор. Принцип основан на анализе действий человека при управлении самолетом. Что мы делаем, когда понимаем, что нам надо, например вправо?

  1. Дергаем ручку джойстика примерно туда, куда думаем, что попадем на задуманный угол
  2. Смотрим за реакцией самолета
  3. Корректируем воздействие для установки самолета в нужную позу: либо додавливаем медленно, либо епт…, перебрали и соответственно…

Пункт 1 - это П верхнего контура
Пункт 2 - оценка реакции и самоадаптация к инерциальности самолета в ДАННОМ КОНКРЕТНОМ направлении, при данных погодных условиях. По оценке результатов, строится функция адаптивного И
Пункт 3 - Применение “И”, полученного в пункте 2.

На протяжении всего маневра “И” постоянно подстраивается в зависимости заданных контролируемых параметров. При необходимости корректируется П, так как погодные и ветряные условия меняются постоянно в процессе поворота.

Осталось придумать как вычислить П для пункта 1. Я себе эти формулы придумал примерно после 10 экспериментальных полетов. В результате сейчас я добился того, что самолет способен держать курс и нужный угол до 20 сек в вилке ошибки +/- 2 градуса. После 5 секунд стабильного полета с ошибкой не более 1 градуса, включается режим автоматического триммирования по крену. И теперь да, я знаю, насколько китайцы криво наштамповали мой скай 😃 И больше у меня нет настроек типа целевого тангажа и крена и прочей детерминированной за ранее шняги. Самолет сам находит примерно нужную позу для маневра.

И да, на все виды маневров у меня разные функции “П” и “И”. Подобраны все методом тыка и экспериментов на реальной практике.

smalltim

Алекс, насколько я понял, ты как раз рулишь угловыми скоростями, если не прямо, то опосредованно, и, мониторя их и ставя в соответствие величине управляющего воздействия, находишь КУ в П и И.
Разумно вполне.
Но вот иметь для всех видов маневров свои функции П и И - хорошо, имея одну модель. Это, если я правильно понял, разные наборы начальных Ку и параметров, определяющих правила, по которым эти КУ изменяются.
А если моделей целый зоопарк? А даже если одна, но присядешь на нее попой, незаметно погнув фюзеляж, или влепишь батарейку потяжелее? Всё, понеслась, всё перенастраивать.
Если не спишь, загляни в личку, есть один вопрос по железке.

Виктор

Вот тут никто не говорит про энеогозатраты для “идеального” полёта - они должны быть огромны. Я практически все коэффициенты вывел на мах.(у меня Вовина телеметрия но суть проблемы это не меняет) - идеально лететь он не стал(даже большие самолёты болтает, что говорить о наших), летит прямолинейно ГОРАЗДО лучше меня, но при этом я с земли слышу и вижу, как работают сервомашинки туда-сюда, я бы такого явно не сделал, поэтому я теперь (наверное уже в следующем сезоне) буду уменьшать коэффициенты Д и И.

AlexSneg
smalltim:

Всё, понеслась, всё перенастраивать.

Это надо проверять на практике. Со временем будет статистика по этому делу. Будет сегодня время , вырежу из воскресного ролика отрезок и покажу в своей теме, где видно как навигатор сначала дает воздействие, затем смотрит, что получилось, вычисляет грубый начальный “И”, а затем начинает рулить и выходит на нужные угла тангажа и крена.

Oliver
aerocraft:

не подскажите такой програматор не подойдет для прошивки ? banned link

Подойдет, сам пользуюсь пачкой таких.
Потребует только изготовления красивого разъема 7х1 (вместо 5х2) (при желании).

smalltim:

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

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

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

Я начал с такого getchip.net/…/delaem-lpt-programmator-dlya-avr-mik… (пока не пришла посылка с ХС)
Т.к. то, что показал Тимофей тоже нуждается в прошивке.

Llirik
baychi:

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

5+. Только включай по условию стабилизированного полета, в зоне нечувствительности с замороженными И и П.

AlexSneg:
  1. Дергаем ручку джойстика примерно туда, куда думаем, что попадем на задуманный угол
  2. Смотрим за реакцией самолета

5+
В посте #6350, упоминая «условный ударный переход», я об этом и молвил…

AlexSneg:
  1. Корректируем воздействие для установки самолета в нужную позу: либо додавливаем медленно, либо епт…, перебрали и соответственно…

😃
Это делает ПИД, а корректировать надо «степень удара» (причем непрерывно на протяжении всего полета). На похожих режимах (не в моделизме), я в системах с плавающими характеристиками ИМ и блуждающим внешним воздействиям, но требующих максимально быстрой отработки и жесткого ограничения перерегулирования комбинирую алгоритмы регулирования.
Тут напрашивается комбинация двухпозиционного регулятора (с ежеударным зональным корректированием) -> безударный переход в ПИД -> Д регулирование (по гироскопу с фиксированным И в зоне нечуствительности) совместно с «квантом действия» 😃

smalltim:

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

Для этого и нужна корректировка в полете… В начале полета (после сидения на модели) будет немного промахиваться, но немного пролетев автопилот забудет про тот «прямой»носитель и адаптируется к кривому с более тяжелой батарейкой и с неожиданно появившейся ГоПро на законцовке крыла… 😃

Наверное сказанное мной кажется многим фантастикой, а стало быть автор – придурок выскочка, пытающийся показаться умником… Но я неоднократно с удовольствием наблюдал за оторопелыми взглядами заказчиков систем, которые глядя на точность позиционирования, превышающую на порядок механические люфты, чесали репу и как загипнотизированные платили шефу бабло… 😃

И еще…
Можно не ломамть/терять носители в процессе оттачивания методов регулирования, а просто сваять какой нибудь простенький симулятор. Заодно решатся проблемы с непониманием «неочеловеченных» параметров и желанием русских обязательно поменять то, что обозначено «Если не уверен – не трогай!»…