Алгоритмы тяжелого борта

Панкратов_Сергей
Syberian:

Мне важно было знать, что они заменены,

Насколько я понял - алгоритм тот же что и у пилота RC.
Голова и руки запоминают в тренировках при какой воздушной скорости на сколько и в течении какого времени нужно махнуть управляющей плоскостью чтоб получить нужную коррекци ю положения.

Serafimus
Syberian:

Мне важно было знать, что они заменены, а чем именно - не очень 😃

Да, они заменены. С самого начала разработки был глубокий поиск алгоритма который будет не менее эффективным чем хороший ПИД, но при этом будет работать на низкой частоте, и не требовать предварительной адаптации, делать все в процессе полета, при этом не вызывая опасных ситуаций. Реально полтора года проб и ошибок, прежде чем стало ясно куда копать… Ну вот и выкопали вроде. 😃

Частота алгоритма обеспечивающая вменяемый полет 5 герц… Стабильного 10 Гц… (это не 50…120 как у обычных ПИД цепочек… но тут конечно много чего зависит от инерционности борта)

Панкратов_Сергей
Serafimus:

Частота алгоритма обеспечивающая вменяемый полет 5 герц… Стабильного 10 Гц…

У пилота - не большая.

Serafimus
Панкратов_Сергей:

Насколько я понял - алгоритм тот же что и у пилота RC.
Голова и руки запоминают в тренировках при какой воздушной скорости на сколько и в течении какого времени нужно махнуть управляющей плоскостью чтоб получить нужную коррекци ю положения.

Собственно с этого и начался поиск. Первый алгоритм 2005 года, был по сути специализированной экспертной системой постоянно набиравшей статистику по поведению борта в зависимости от внешних возмущений и приложенных управляющих моментов. Способ хороший. Замечательный! Работает как раз для упоминавшихся выше сферических коней, но чем более тяжелый и инерционный борт управляется им, тем выше, пардон, едет крыша у системы. Тк ей надо учитывать неизвестную ей инерцию в понимании поведения борта. 😃 А все чему надо учить на земле, не годится по начальным условиям задачи “универсального алгоритма”.

Панкратов_Сергей:

У пилота - не большая.

Именно! Нам не нужна большая частота для решения задач управления, значит, можно сделать такой же алгоритм которому тоже не нужна будет большая частота. Это тоже стало одним из “условий ТЗ”.

ZigZag_ZZ:

Тобишь вы создаёте Гомункулиса, отодвигая пилота взад?
Нажал на капу и пепелац сам летает и садится.

я его вообще исключаю. И в теории, мы говорим конечно не о пассажирских перевозках, а о грузовых. Тяжелый БПЛА должен обеспечивать весь цикл полета сам, самостоятельно разруливая все проблемы которые возникнут в полете. Да, звучит амбициозно, но на данном этапе речь идет даже не о принципиальной возможности создании подобного алгоритма управления (к счастью, он уже создан “в черновике”), а скорее о том что бы теперь медленно и верно приводить его (алгоритм) в реально летающий вид. До того как модель-прототип поднимется в воздух еще ой как много лет. (учитывая скорость работ, пара лет точно) т.к. естественно это не финансируется и не поддерживается никем, и в данном случае все работы ведуться по остаточному принципу времени. Но как ни странно все же идут, потому как задача нетривальная и интересная. Собственно до того как борт выполнил полет на симуляторе в феврале, еще были сомнения “можно-нельзя, справимся-несправимся”, сейчас сомнений нет. (а) - справимся, (б) - можно. Теперь идет кропотливая доводка. Большо количество узких мест, неправильного поведения в ситуациях и просто ошибок математики и логики. И это только на мат-модели, что уж будет всплывать когда будут полеты в железе страшно подумать 😃 Но опять таки, задача интересная, решаемая, хотя и не быстро 😃

blade
Serafimus:

Тяжелый БПЛА должен обеспечивать весь цикл полета сам, самостоятельно разруливая все проблемы которые возникнут в полете. Да, звучит амбициозно,

Вы, прежде чем амбции то выращивать-глянули лучше, что уже летает?
Если на МАКС приедете, то сможете увидеть там Иркут-200: отлично летающий БПЛА который, тем не менее- взлетает и садится “вручную”.
Делали его профессионалы, которые намеренно отказались от автовзлёта/посадки, поскольку эти понты только усложняют эксплуатацию и снижают надёжность.

MaestroEv

Не согласен с Blade. Именно взлет и посадку нужно отдавать роботам. По алгоритму, как программист хочу посоветовать, полностью “нормализовывать” алгоритм. Алгоритм должен не содержать элементов разного уровня “высоты”.
Например:
1.Проверка
2.Рулежка
3.Взлет
4.Полет
5.Посадка
6.Парковка
И между ними не может быть других более “низких” уровней.

3.1 Выпускаем механизацию
3.2 Добавляем газ
3.2 Убираем тормоз
… То есть в этом уровне не должно быть уровня “ниже” и “выше”, то есть на каждом уровне решаем задачу из одного логического уровня не смешивая борщ и мух.

По инерционности - тут можно всегда высчитывать на каждом этапе и коректировать “СКОРОСТЬ ОТВЕТА” самолета на каждое действие (отдельно для правых и левых и верха и низа для учета ветра и пр.) и получить таблицу исходя из которой уже и “давать рулей”, которые будут уменьшать расходы при подходе к нужному курсу и исключат раскачку и “промазывание” или даже смогут парировать это. Ну в общем то о чем писал Syberian.

blade
MaestroEv:

По алгоритму, как программист хочу посоветовать

По количеству виденных дров и морковок, как моделист и разработчик , могу возразить: если взлёт/посадка происходит на бетонке 6кмХ2 (как в ЛИИ им Громова),предварительно прометённой- то почти никаких проблем, ну кроме ветра 😃
Если же имеется в виду эксплуатация БПЛА в реальном мире, с кочками, ямками порывами ветра и прочими колдобинами, то АП, какой бы умнейший алгоритм в нем не был заложен, не поймёт что делать😢
Если вдруг под колесо попала ветка, шишка или другая помеха: он что сделает- полный газ и ручку на себя?
А если самолёт после помехи изобразил “прогрессирующего козла” и- глядит носом в землю?
Человек (даже летящий “по камере”)- совершенно не озадачится и поправит ситуацию автоматически 😃
Все рассуждения автора топика- не более, чем мнение “боксёра-заочника” выигрывающего бои “по переписке”. Но на настоящем ринге- бьют по морде 😦

MaestroEv

Думаю речь все же идет о нормальной полосе. Ибо ездить по бездорожью в автоцентрах тоже сразу не учат. Для этого есть другие машины и другие люди.
Сейчас задача заставить безаварийно летать тяжелую модель. Кстати, Serafimus, есть уже аппаратуры со связью с компом, то есть комп может рулить реальной моделью. Если Ваш алгоритм сразу же адаптировать для такой апы, то и скептицизма поубавится. Пеносамоль с приличным размахом (типа электропланер) - самое то.

blade
MaestroEv:

Пеносамоль с приличным размахом (типа электропланер)

Так, для “пеносамоля” и изобретать ничего не надо: полно готовых АП в продаже 😃
В том числе- и с открытыми кодами.
Да и отрабатывать автопилот для “тяжелого БПЛА” на пенолёте- всё равно, что движок для Ф1- обкатывать на Запорожце 😂

Serafimus
blade:

Вы, прежде чем амбции то выращивать-глянули лучше, что уже летает?
Если на МАКС приедете, то сможете увидеть там Иркут-200: отлично летающий БПЛА который, тем не менее- взлетает и садится “вручную”.
Делали его профессионалы, которые намеренно отказались от автовзлёта/посадки, поскольку эти понты только усложняют эксплуатацию и снижают надёжность.

😃 я не комментирую и не спорю с работами коллег. В то же время меня они никак не касаются. У меня свое видение построения борта и алгоритмов у иркута и прочих свое. Ниша лакомая, ниша интересная, кто первым получит коммерческое решение (а не опытно-испытательное как сейчас) того и тапки. Логику заложенную в БЦВМ иркута-200 и прочих автоматичски взлетающих и садящихся комментировать тоже не вижу смысла. Аналогия: Автомобили известны начала века. Что тут можно изобрести? 4 колеса да двигатель. И нафига эти конструкторы еще чтото новое делают? Вон же есть форд (тот который с конвеера Того Самого Форда)! Ездит сам! 😃 так вот, я с уважением и пониманием отношусь к решениям коллег, но не вижу основания восхищенно опускать руки глядя как откровенно сырой аппарат раз за разом ставят на МАКС. 😃 Если сравнивать, то реальный конкурент, извинит, не Иркут, а Боинг с их автоматически садящимся челноком. (тот что давеча тихо и мирно год а автомате на орбите отлетал) 😉

MaestroEv:

Алгоритм должен не содержать элементов разного уровня “высоты”.

Алгоритм не содержит “высоты” 😃
Вы управляете бортом и находитесь в каждый момент времени в одной из этих ситуаций. Вот и все. Высота тут не при чем. Алгоритм делает то же что и вы 😃

По инерционности - тут можно всегда высчитывать на каждом этапе и коректировать “СКОРОСТЬ ОТВЕТА” самолета на каждое действие (отдельно для правых и левых и верха и низа для учета ветра и пр.) и получить таблицу исходя из которой уже и “давать рулей”, которые будут уменьшать расходы при подходе к нужному курсу и исключат раскачку и “промазывание” или даже смогут парировать это. Ну в общем то о чем писал Syberian.

Ну, при интересе, см в видео. Что там делает алгоритм…

msv

Тяжелым самолетам- тяжелые алгоритмы…😃
ИМХО постулаты первого поста сложно воспринимаются как алгоритмы (во всяком случае программером)… Скорее это пожелания заказчика, для которых нужно составлять подробное ТЗ… И уже на основе которого, думать над алгоритмами, реализующими все хотелки заказчика… Но, как понял, именно алгоритмы сурово засекречены, и нам надо просто поверить, что они есть и работают…

Serafimus
blade:

По количеству виденных дров и морковок, как моделист и разработчик , могу возразить: если взлёт/посадка происходит на бетонке 6кмХ2 (как в ЛИИ им Громова),предварительно прометённой- то почти никаких проблем, ну кроме ветра 😃

Боковой ветер не проблема. Он учтен на уровне алгоритма.

Если же имеется в виду эксплуатация БПЛА в реальном мире, с кочками, ямками порывами ветра и прочими колдобинами, то АП, какой бы умнейший алгоритм в нем не был заложен, не поймёт что делать😢

А как вы то “понимаете” что делать? Почему вы отказываете алгоритму в понимании “что делать”? На каком основании? 😃

Если вдруг под колесо попала ветка, шишка или другая помеха: он что сделает- полный газ и ручку на себя?

Зачем? Если пробег - то просто парирует боковой снос если был, если взлет, то скорее всего тоже… если его конечно после этой ветки взлет не начался 😃

А если самолёт после помехи изобразил “прогрессирующего козла” и- глядит носом в землю?

алгоритм не даст этого сделать, что тут особого то?

Вы рассматривает сейчас какието желозебетонно жесткие системы, зачем? Это динамическая комплексная система, она оценивает, решает, взвешивает… Пока иногда ошибается, причем не в плане любимых “морковок” и прочего, а просто вынуждена выводить аппарат из опасных режимов. Она то выводит, но, надо добиться что бы ничего такого не было изначально.

Все рассуждения автора топика- не более, чем мнение “боксёра-заочника” выигрывающего бои “по переписке”. Но на настоящем ринге- бьют по морде 😦

Боже… Ну попробуем еще раз: АЛГОРИТМ ГОТОВ (!)
читайте по губам Г.О.Т.О.В.
сейчас идет его доводка и отладка… в свободное от зарабатывания денег время.
я не спрашиваю возможность или невозможность. я спрашиваю что упустил.
какой заочный бокс?

Offtop!
более того, вы мне начнете говорить да что я знаю о реальной динамике посадки реального борта (т.к. наверняка до этого момента нечитали что я написал много выше)
я знаю реальную динамику того что делаю.
и “учу” борт по динамике посадки соответствующей вот этой штуке (гироплан), с отказавшим мотором.
(снимку правда уже 5 лет, а за ручкой, ваш покорный слуга, “боксер-заочник” 😉 )

msv:

. Скорее это пожелания заказчика, для которых нужно составлять подробное ТЗ… И уже на основе которого, думать над алгоритмами, реализующими все хотелки заказчика… Но, как понял, именно алгоритмы сурово засекречены, и нам надо просто поверить, что они есть и работают…

UPD Пардон, я неправильно прочел. Да, вы все правильно поняли. Алгоритм есть, сурово засекречен и вам в доказательство того что вас не дурят (а зачем дурить то? вы спонсор? работодатель? 😃 ) только то мутное видео с одним из бесчисленных тестовых кружков по ссылке выше. Но какое это отношение имеет к моим вопросам, чесслово не знаю.

Это перечень того что делает алгоритм в конкретных полетных ситуациях… того что уже реализованно сейчас. не надо ничего проверять. Если я чтото упустил в этих действиях, чтото неправильно написал, поправьте, я внесу правку в логику алгоритма.

MaestroEv:

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

Он поддерживает связь на уровне телеметрии с наземным комплексом (окно НКУ открыто на правом экране)
НКУ может отдавать команды при необходимости на борт и (или) полностью вмешиваться в управление. Но радиосвязка не отработана никак, сейчас там просто заглушки передающие данные по локальной сети и наметки протокола обмена (т.е. все вплоть до радиоканала). Один комп играет роль борта, другой нку. За доводку этой части буду браться только после начал переноса кода на физический автопилот.

msv
Serafimus:

Если я чтото упустил в этих действиях…

А что тут можно упустить… Аппарат должен взлететь, пролететь по маршруту и сделать посадку. Если все это уже реализовано и работает, нам (посетителям и участникам ветки “Самодельная электроника, компьютерные программы”) остается только порадоваться вашим успехам…

blade
Serafimus:

А как вы то “понимаете” что делать?

Если бы я понимал, как и что “понимает” человек- Билл Гейтс у меня бы в садовниках работал 😃
Или Вы уже дошли до создания искусственного интеллекта? 😍
В общем- дерзайте!
Хотя, судя по темпам (если с 2005 г- ещё нет ничего реального), я до триумфа Вашей мысли-не доживу 😦

Dimon11

Как все сложно и запущено…
А что за ОС планируете использовать?
Неужели виндовс? Или неужели Линукс?

Serafimus
blade:

Или Вы уже дошли до создания искусственного интеллекта? 😍

Нет, это не AI, это ближе к мозгам насекомых, если вы так хотите искусственного интеллекта.

Хотя, судя по темпам (если с 2005 г- ещё нет ничего реального), я до триумфа Вашей мысли-не доживу 😦

Буду краток. 20 тыс долл. 😃

Более длинный ответ: А что вам нужно то реальнее этого? Борт полетит в ближайшие полгода, если вы сейчас выделите мне штат программистов (2 чел), конструкторов (2 чел) и бюджет см выше только на постройку железа. 😃

Вы бы и такого не сделали, простите мне мой цинизм.

Dimon11:

Как все сложно и запущено…

Не верьте им! Все просто 😃

Dimon11:

А что за ОС планируете использовать?
Неужели виндовс? Или неужели Линукс?

на мощном вычислителе по умолчанию стоит линукс… пока она сгодится на первый этап, це не ОСРВ в чистом виде, но у меня требования не велики. алгоритм изначально проектируется с учетом того что он будет в виде процесса… если найдется компилятор под микрокоды этого железа, то можно будет просто его скомпилировать, не заморачиваясь линуксом, но это дело поздних этапов. Например, драйвер видеокамеры там под линукс, и без исходного кода вроде… а без нее никак…

на микроэвм обслуживающей IMU никаких ос конечно не будет, туда просто микрокод соответствующий.

макет алгоритма сейчас под виндой, т.к. среда разработки Builder С++ под винду… но там по минимуму аппаратных функций, все через вставки, что бы их легко заменить, и чистый С, никаких С++, что бы упростить портирование и увеличить эффективность кода…

msv:

А что тут можно упустить… Аппарат должен взлететь, пролететь по маршруту и сделать посадку. Если все это уже реализовано и работает…

Эх, ну может чтото конструктивное… 😦 Что ни будь из практики! 😃 Свежий взгляд от сообщества моделистов!

blade
Serafimus:

Буду краток. 20 тыс долл.

Будете смеяться- я всё это уже сделал: есть и самолёт серийный и АП рабочий.
Вот 16 выставлю на МАКС- глядишь и клиенты найдутся: у меня цены то не Иркутовские 😃

Serafimus:

Вы бы и такого не сделали, простите мне мой цинизм.

Ой, я щаз помру со смеху, теоретик Вы наш 😂

Lazy
blade:

есть и самолёт серийный и АП рабочий.

Ой. 😃 А можно вличку показать? Очень интересно.

Иван

а почему в личку то? 😉 В ветку:) а вообще - все на МАКС! 😃 алгоритмы - это круто, рабочие - просто мега круто… кстати - наш космический челнок в его первом и последнем полёте кто сажал?

Serafimus
Иван:

кстати - наш космический челнок в его первом и последнем полёте кто сажал?

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

blade:

Будете смеяться- я всё это уже сделал: есть и самолёт серийный и АП рабочий.

Не могли бы вы показать ваш сайт с представленным вами сабжем? 😃 Или иной PR материал позволяющий проникнуться величиной ваших достижений? (а то сча БПЛА пруд пруди на разных сайта, как то не могу вас признать без грима 😃 ) Заранее скромное спасибо.

blade:

Ой, я щаз помру со смеху, теоретик Вы наш

Эй, стоп, не помирать! Отставить смех в строю! Кто на максе вместо вас выставлять то будет? Одни иркуты что ли? 😃

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

Отрабатываемые некритические аварийные ситуации на борту.

Неуборка шасси.

Борт выпускает все стойки шасси и производит нормальную посадку на аэродроме взлета или ином указанном для этой ситуации в ПЗ.

Невыпуск шасси.

Не вышли боковые стойки шасси. Борт может выполнять аварийную посадку «на брюхо» предварительно убрав вышедшие стойки шасси. Или (по указанию) садится на оставшиеся стойки по возможности парируя крен.
Не вышла носовая стойка. Борт садится нормально с выпущенными стойками, задирая нос, по мере снижения скорости пробега, до последнего.
Вышла только носовая стойка. Борт садится только с носовой стойкой.

Невыпуск-неуборка секции закрылок. (секция: сторона по крыльям)

Борт устанавливает положение закрылок в «равное» и осуществляет нормальную посадку на указанную ВПП.

Отказ ПВД.

Борт использует для расчета опорные данные GPS скорости с учетом запаса безопасности на ветер.

Отказ IMU.

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

Отказ GPS.

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

Отказ оптогоризонта (не туман и т.п., а именно отказ).

Борт немедленно следует к ближайшей допускаемой точке посадки используя резервную схему коррекции горизонта по магнетометрам. Посадка по данным GPS/IMU.

Отрабатываемые критические аварийные ситуации на борту.

Отказ двигателя.

Отказ двигателя рассматривается в двух ситуациях. При частичной потере мощности - будет выполнен уход к ближайшей точке посадке из перечисленных в плане полета. При полной потери мощности - с выполнением аварийной посадки (против ветра) с опциональной возможностью (т.е. при наличии достаточной высоты и путевой дальности) дотянуть до ближайшей посадочной точки из заложенных в план полета. (В качестве опциональных, борт также рассматривает точку взлета.) Если имеется переизбыток энергетики полета, БПЛА выполнит соответствующие пространственные предпосадочные маневры с целью рассеяния избыточной энергии и безопасной посадки.

Мало топлива.

При наступлении условия “Бинго” по последней достижимой из остающихся точек посадки (перечисленных в плане полета) БПЛА осуществит полет к ближайшей остающейся точке и выполнит посадку там.

Разряд батарей / отказ генератора.

БПЛА осуществляет полет к ближайшей точке посадки и садится там. В случае если значения напряжения упадет до опасно малого значения, БПЛА осуществит стандартную процедуру аварийной посадки против ветра. Неуправляемый полет БПЛА не допускается.

Пожар.

БПЛА направляется к ближайшей точке посадке из перечисленных в полетном задании. Также активируется автоматический огнетушитель. Если датчики показывают что возгорание в силе после попытки тушения, полет продолжается на малых высотах до наступления иных критических ситуаций (отказ двигателя и т.д.) Далее ситуация отрабатывается в соответствии с отказом. Уничтожение проводки управления огнем и последующая потеря управляемости в полете в настоящий момент не регламентируется.

paratozor

еще один! До осени еще ОЧЕНЬ далеко, то, что погода испортилось, не означает, что осень пришла, гыгыгы 😃