Эксперементальная платформа. Автопилот. Искусственный интеллект.

Enelar

Переехали с rcopen.com/forum/f90/topic265189
Добрый день постоянным жителям форума. Сам я новичек не только на борде, но и в моделизме как таковом. По специальности прикладной математик(читай программист), и пересекаюсь с вами только благодоря роликам:

===
Тема созданна специально для(и по просьбе) напарников по проекту, с которыми мне посчастливилось встретиться на одном сайте. Для остальных - прошу не флудить. В общем случае тема предполагалась вам лишь в режиме чтения, но если есть конструктивные, технические замечания и предложения, мы готовы выслушать и учесть. Прошу избегать фраз типа “такое уже есть”, “это очень сложно” и подобных, в чьих силах демотивировать нас.
Основную долю обсуждений я предполагаю в личной переписке по почте(благо мы уже обменялись), здесь же отчеты о конечных решениях, или вопросы которые мы сами решить затрудняемся. Постараюсь наиболее аргументированно обьяснить нашу позицию, но все же, как любой эгоист не планирую выкладывать значительную(для копирования нас) долю информации. Хотя кто в теме, и так поймет, таким не жалко.
===
Итак, формулеровка ближайшей конечной цели(читай первого значительного этапа).
Суть создать аппарат, способный перемещаться по заданной траектории в воздухе, с учетом внешних помех, и по внутренним приборам(с погрешностью, но хотелось бы добиться приемлемого полета без GPS etc). Механизм полета не важен, но предпочтителен квадракоптер, первый в списке цена/сложность. Дело в том что все силы в нем направлены всегда по нормали, это несколько упростит задачу стабилизации, особенно на первых порах.
Усправление полностью автономное, железа на борту должно хватать для всех необходимых расчетов. Связь с землей только для отчетов/корректировки программы/дебага.
===
Текущая цель - создать устройство способное оторвать свою тушку от земли, и теоретически расположенное к стабильному полету(в смысле что бы его можно было стабилизировать в принципе, а не так что тяпляп, пишем код, рвем волосы, а оно все равно крутится).
Следующая цель - собственно стабилизировать его. Причем все данные(когда дойдем, скажу какие именно) задаются неточно. К примеру мы говорим что это квадрик, но какое точное расстояние до винов от центра тяжести, и более того где оный находится - должно определяться реалтайм и автоматом.
===
Цель темы. Честно, если бы не парни, я бы и не стал создавать. Мне проще сделать и показать конечный результат(если получится) + как его можно повторить. Излагать я люблю так, что бы это помогло последователям, а не дало халяву. Хочешь себе, мы можем продать(такова политика). Не хочешь, можно кинуть тебе код и схему платы, но паять и программировать самому.
Вот. Нашу цель вы поняли, и мы будем рады если вдруг появятся коллеги. Кидайте все, что может нам помочь, но(ВАЖНО - своевременно). Не стоит флудить тему математическими формулами фигур высшего пилотажа когда у нас висеть ровно не может, и падает на третий запуск.
Надеюсь на благоразумие и поддержку.
Enelar.

Vladimir_Volkovich
Enelar:

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

ну и обсуждайте в личке , на кой болт здесь то засорять форум , таких тем (баянов) и так хватает

Enelar
Vladimir_Volkovich:

ну и обсуждайте в личке , на кой болт здесь то засорять форум , таких тем (баянов) и так хватает

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

Diego

Как так на кой болт???

Enelar:

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

Enelar:

Хочешь себе, мы можем продать(такова политика).

Enelar:

Кидайте все, что может нам помочь, но(ВАЖНО - своевременно).

Enelar
Diego:

Как так на кой болт???

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

igor_v_t
Enelar:

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

Нормальный подход. Ведь когда выкладывается код и продаются железки это не для того чтобы любителям помочь, а заработать на них чуть денег и бесплатных тестеров привлечь.
У меня коптер летает по автопилоту в реальных условиях (Ардукоптер). Кроме того есть несколько полуавтоматических режимов , облегчающих пилотирование. Сейчас занимаюсь проблемой качественной стабилизации аппарата. Пока вожусь с новыми датчиками. (High end Low cost Quatrocopter)
Потом займусь вопросом обхода препятствий по оптическому датчику.

Enelar

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

igor_v_t

Для начала Optical Flow Sensor store.diydrones.com/…/br-0016-01.htm А потом видно будет. Вот сейчас маюсь в поисках малоресурсного алгоритма фильтрации барометра и акселерометра для стабилизации по высоте. По сонару с точностью 10 см по высоте летать умеем.

Enelar

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

SovGVD
Enelar:

способный перемещаться по заданной траектории в воздухе… без GPS etc).

КАК? как вы будете летать по заданой траектории, не зная даже примерно положения точек этой траектори??? или вы по всей планете ИК камер наставите?
обычно для этого 2 GPS для увеличения точности (какой то хитрый алгоритм, но надо чтобы частота работы датчиков была одинакова) + lidar (получение 3д картинки местности) + opencv (собственно для постройки карты по мере продвижения)

Enelar:

Барометр дает высоту точнее сонара?

с каких пор? о_0

Enelar:

А не влияют теплые потоки? Влажность?

влияет вообще всё, влажность, температура, давление, магнитные поля, вибрация, ветер, помехи в питании

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

Enelar
SovGVD:

влияет вообще всё, влажность, температура, давление, магнитные поля, вибрация, ветер, помехи в питании

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

SovGVD:

КАК? как вы будете летать по заданой траектории, не зная даже примерно положения точек этой траектори??? или вы по всей планете ИК камер наставите?

Я и не расчитывал на 100% повторение траектории. Ясно что реальный мир накладывает значительные ограничения, хотелось бы узнать предел, посмотреть что получится.
Посмотрите второе видео, мне кажется он летает по акселерометру.

SovGVD:

обычно для этого 2 GPS для увеличения точности (какой то хитрый алгоритм, но надо чтобы частота работы датчиков была одинакова) + lidar (получение 3д картинки местности) + opencv (собственно для постройки карты по мере продвижения)

Стоп стоп стоп. Лидар понимаю зачем, сам планировал его использовать. А opencv? Неужели он уже умеет что то значимое распознавать? Ушел в срочном порядке знакомиться.

И igor_v_t, не могли бы вы показать ваше чудо? Очень интересно чего может достичь один одаренный инженер, а не группа ученых. Если это не секрет, конечно.

igor_v_t
Enelar:

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

У барометра точность на порядок ниже. А далее фильтр Калмана с предсказанием по акселерометру. Сонар имеет высокую точность и свои проблемы.

Enelar
igor_v_t:

У барометра точность на порядок ниже. А далее фильтр Калмана с предсказанием по акселерометру. Сонар имеет высокую точность и свои проблемы.

Да, у сонара есть ряд очевидных проблем, на которых нет решения. К примеру во время движения над неровной поверхностью.
Спасибо, ключевое название фильтра я запомнил, как подойдем к этой стадии, ознакомлюсь.

SovGVD
Enelar:

А opencv? Неужели он уже умеет что то значимое распознавать?

смотрите сразу ROS (чето я про opencv погорячился, но как минимум не лишнее для оптического распознавания), а точнее SLAM (как раз то что надо вам www.robocraft.ru/blog/technology/724.html)

Enelar:

реальный мир накладывает значительные ограничения,

ограничения буду очень значительными, а при учете размера коптера, будет казаться что он рандомно летает =)
просто если стандартный IMU взять, то там нереально определить насколько сдвинулись, максимум направление движения за счет компаса, аксель будет показывать только ускорение, которое у коптера почти постоянное (он или висит/дрейфует или движется равномерно)

Enelar:

мне кажется он летает по акселерометру.

на этих видео ВСЁ летает по кучи ИК камер (смотрите как делали кино Аватар например), расположенным в помещении - в реальном мире этот способ очень накладен

Musgravehill

Какой алгоритм выбрали для БИНС?

Я сейчас мучаюсь с MARG FreeIMU на базе кватернионов. По Yaw постоянный дрифт, пытался калибровать магнетометр как в Мультивии - не помогло.
DCM из Ардукоптера гарантировано работает.

delfin000
Enelar:

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

Ждем результата 😁 Так проще

igor_v_t
Enelar:

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

Показывать пока нечего, так как летать негде. Код написан и выложен. Можете посмотреть. Сам в коридоре на 20 см поднялся. Аппарат в отличии от МультиВии висит ровненько. Акселерометр использовать можно. Неделю назад игрался. Двойной интеграл дает изменение высоты, но со временем ошибка быстро накапливается. Поэтому фильтруем барометр для большей точности, а быстрые изменения высоты отслеживаем по акселю. Я полгода назад уже с этим возился но бросил, так как 085 не давал точности.
ДСМ матрица из Арду работает хорошо.
Магнетометр у меня болтается в пределах 15 градусов. Как заставить его работать без матрицы не знаю. Углы то надо откуда-то брать. Калибровка выглядит как в Арду . Крутим во всех плоскостях - меряем мин и макс и смещаем, чтобы одинаковы были.

Timmy

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

leprud
Enelar:

Прошу избегать фраз типа “такое уже есть”, “это очень сложно” и подобных, в чьих силах демотивировать нас.

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

Лидары? Хватает и боковых wide сонаров с thermopile-ами, ибо или гигабайты быстрой оперативки, или низкая разрешающая способность…

Enelar

C SLAM знаком, но это немного не то. Я планировал висеть по приборам(насколько это возможно). Скажем если запустить его в оживленном месте - к примеру стремительно потоке машин SLAM выдаст полную хрень, и вообще приведет к быстрому сбою. Я конечно утрирую, но хотелось без ИИ делать. Но спасибо за наводку!
===
UMI это хорошо, но хотелось бы бюджетный вариант, путем апроксимации нескольких датчиков в разных частях аппарата.

SovGVD:

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

Да, только с маджонгом.
===
Timmy, ориентация в пространстве это СОВСЕМ другая задача. До нее следует дожить, я лишь показал куда путь держу. Это ведь не значит что я дойду, когда нибудь.

igor_v_t:

Двойной интеграл дает изменение высоты, но со временем ошибка быстро накапливается.

Насколько быстро? А если датчик поставить на платформу, закрепленную на пружине с частотой собственных колебаний гораздо ниже вибраций устройства? И в условиях “статики” считывать именно с него данные?
Или ошибка при смене ускорения? Где больше?

P.S на хабре ваша статья? Ознакомился, занятно.

cylllka

Обычно такие комерческие проекты делаются или на закрытых форумах или через личное общение, а не выставляются на обозрение. А то потом начнутся упреки и обиды.
А кто потом компенсирует убыток бесплатному тестеру, у которого коптер улетит или на голову упадет 😉

Enelar
leprud:

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

Лидары? Хватает и боковых wide сонаров с thermopile-ами, ибо или гигабайты быстрой оперативки, или низкая разрешающая способность…

Занятное время преровождение.
Лидары - Выбор пал в зону низкого разрешения. Так и экономнее.

cylllka:

Обычно такие комерческие проекты делаются или на закрытых форумах или через личное общение, а не выставляются на обозрение. А то потом начнутся упреки и обиды.
А кто потом компенсирует убыток бесплатному тестеру, у которого коптер улетит или на голову упадет

Я не ищю тестеров, если вы хотите запускать, озаботьтесь теннисной сеткой под устройством.

igor_v_t
cylllka:

Обычно такие комерческие проекты делаются или на закрытых форумах или через личное общение, а не выставляются на обозрение. А то потом начнутся упреки и обиды.
А кто потом компенсирует убыток бесплатному тестеру, у которого коптер улетит или на голову упадет 😉

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

SovGVD
Enelar:

путем апроксимации нескольких датчиков в разных частях аппарата

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

Enelar:

Да, только с маджонгом.

сути не меняет, для экономии времени и ресурсов - рекомендую посмотреть ардукоптер и улучшить его - там есть уже всё что вам нужно, правда положение без GPS не узнать, о это в общем логично 😉