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

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:

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

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

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

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

SkyWorker

Вчера весь день глючил бародатчик высоты.
Передергивал питание - не помогало.

Виктор

В подтверждение своих слов сваял ролик, где сначала я лечу полтора километра на базу, а потом автопилот. Так долго я никогда не включал “возврат домой”, а тут пропал видеосигнал в очках, а JXD писала, всё это время я думал пешком бежать на поиски самолёта или на машине ехать. Пока я думал, он без шумно прилетел и вращался прямо над головой, пока я не услышал звук серв, ну а потом и мотор заработал, высоту стал отрабатывать. По моему явно видно кто летит прямее. Причём это автопилот двухлетней давности, с оптическим горизонтом, сложности (в обоих случаях) добавляет вращающийся винт, слетел “тормоз” на регуле. По мне, так такой точности за глаза хватит, я не знаю, чего вы хотите получить в результате и зачем.

baychi
Виктор:

сваял ролик, где сначала я лечу полтора километра на базу, а потом автопилот.

Это же RVOSD! Причем здесь SmallTim?

Виктор:

я не знаю, чего вы хотите получить в результате и зачем.

От Вовы я тоже много чего хочу, но не в этой ветке. 😃
А здесь я хочу, что-бы АП SmallTim работал еще лучше, чем он работает сейчас. То есть не как у Вовы, а на порядок точнее и богаче. Хотя и возвращение у меня работает стабильно (за последние 2 гда ни одной неудачной попытки, тфу, тфу!) и стабилизация в общем удовлетворяет. Но хочется большего! Чтобы КК не глючил, что-бы ПКТ как по рельсам, и что-бы СТ без подергиваний при съемке в любой ветер. 😃

smalltim
Llirik:

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

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

Llirik:

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

Ну, в общем, идея, думаю, всем понятна. Берем и в полете даем ступеньку по каналам управления, и по поведению модели выписываем характеристики и строим оптимальные коэффициенты ПИДов.
А почему бы и нет? 😃
Только начальные какие-нибудь коэффициенты надо иметь, либо предзаданные, либо накопленные по статистике полетов, а то может неловко получиться, если при взлете в режиме стабилизации модель начнет настраиваться или полетит вообще как придется 😃

serj
baychi:

и что-бы СТ без подергиваний при съемке в любой ветер. 😃

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

Виктор
baychi:

Это же RVOSD! Причем здесь SmallTim?

Системы разные, а путь эволюции одинаковый, и я сейчас стою перед выбором RVOSD 5 или SmallTim. Выложил ролик - может кто нибудь в ответ выложит “возврат домой” на SmallTim не менее километра, что бы оценить точность отслеживания курса, а то я уже сыт истеричными словами, хотелось бы документированных цифр. Вот у Вовиной я вижу - точность отслеживания курса 2градуса(без сильных воздействий), сильное воздействие (на 1м50с) отклонившее самолёт на 10 градусов от курса он махом отработал. Меня такая точность вполне устраивает, и я не думаю, что кто то создаст АП на порядок точнее (0,2градуса) для такой лёгкой и тихоходной системы, это теоретически не возможно, хотя некоторые в это верят. Жду видео с цифрами.

smalltim

Ну вот, например. Автовозврат с 1100м со спуском со 190м до целевой высоты в 100м.

К сожалению, курс в градусах на этом видео не был включен, но по видео и так всё видно.

Виктор

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

jfm06

Тимофей, будут ли сезонные скидки на комплекты smalltim? 😃

SkyWorker
smalltim:

Ну вот, например. Автовозврат с 1100м со спуском со 190м до целевой высоты в 100м.

Автовозврат

К сожалению, курс в градусах на этом видео не был включен, но по видео и так всё видно.

Это были еще тестовые полеты. Сейчас он держит курс еще лучше.

Виктор

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

SkyWorker
Виктор:

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

Сейчас выложу видео уже полностью отстроенного АП (как мне кажется 😃 ). там и картинка лучше (там камера глючила с цветами) и возврат домой с 4км и высоты 400 метров (высоты базы 100). Обратите внимание, как он рассчитывает постепенное снижение, причем четко контролируя скорость. Посмотрите на потребление тока, как АП варьирует мотором. Его задача - удерживать скорость самолета в районе 50 км\ч. И обратите внимания, какой идет встречный ветер - разница по баро и гпс (слева: выше - это гпс, ниже - баро).

Видео немного ускорил. Ветер сильный, встречный боковой справа.

Udjin
Виктор:

или можно запрограммировать свободное планирование до заданной высоты, без принудительного снижения.

Можно. Но ваша модель должны выдерживать снижение с в безмоторном режиме.
Указать минимальные обороты 0 и будет снижение с заданным максимальным тангажем в безмоторном режиме.
Модель разгонял в таком режиме до скоростей далеко за 150 км/ч.

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