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

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

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

Serafimus

Джойнт, это ты чтоль? я в вас все время путаюсь… 😃

paratozor
Serafimus:

Джойнт, это ты чтоль? я в вас все время путаюсь…

Я не узнаю вас в гриме, бугагага 😃

blade

Serafimus:

Не могли бы

Не считаю нужным 😍
Да и нельзя на чужом ресурсе свой сайт рекламировать-модераторы замодерируют 😢

Иван

Симпатичный самолётик:)

И ещё по теме - всё круто - алгоритм написан. Но вот думаю - если делать Беспилотник типа - взлетел-забыл… то смысл от него особый? оператор всё равно должен быть - задачи типа - от точки до точки можно и машине отдать с постоянным отчётом на базу, соответственно всё критичные решения о топливе и прочем примет человек… это проще и надёжней. Это с моей точки зрения моделиста:)

Serafimus
paratozor:

Я не узнаю вас в гриме, бугагага 😃

Энви это 😃
Не так конечно как в ГТ но благодарю за удивление 😃

blade:

Очень интересный вопрос: реализация детектора горизонта. Камеру в носу борт использует для детекции горизонта и углов или это только видеоканал для наземки?

Алгоритмы корректно садят борт при полном отказе двигателя?

Иван:

если делать Беспилотник типа - взлетел-забыл… то смысл от него особый?

Ниша есть под них, но это не столь важно, все равно этот проект никто никогда не будет финансировать (реакция здесь индикатор достаточно яркий), тут задача другая стоит: крайне интересно решить эту задачу “под ключ”.

Иван:

оператор всё равно должен быть - задачи типа - от точки до точки можно и машине отдать с постоянным отчётом на базу

Борт дает телеметрию и подчинится командам наземки, если оператор решит их отдать…

Иван:

, соответственно всё критичные решения о топливе и прочем примет человек… это проще и надёжней.

Гм, все критические решения принимает борт. Это условие автономного полета. Человеку дана возможность вмешиваться до тех пор пока не встает вопрос о безопасности. Т.е. носом в землю его не получится направить. Лететь при опасно малом запасе топлива борт тоже не даст, развернется на посадку. и т.п.

Иван

ТОесть в итоге максимально автономноый борт… думаю оно у вас точно полетит - в общем задача не сильно сложная, учитывая существующие вычислительные мощности, прогу автомат “довести до ума” тривиальная задачка для програмиста. Жду видео с полётов (а сам потихоньку крапаю свои бортовые мозги)

paratozor
Serafimus:

но благодарю за удивление

да какое там удивление, и при чем тут ГТ, я там с 2007 года не был 😃

Serafimus
Иван:

Жду видео с полётов

Да, конечно! Вот только до тестовых полетов в железе еще реально далеко. Проекту уделяется всего лишь по 4-5 часов в неделю… это оч мало. Пока только симулятор.

Иван:

(а сам потихоньку крапаю свои бортовые мозги)

А можете чуть подробнее рассказать о вашем варианте?

Serafimus

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

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

SGordon

а если не парится с оптогоризонтом а поставить IMU для начала? И вот про энергию не понял - счас ветер попутный , через километр встречный, как, рассчет справится с этим, когда гасить когда беречь?