Кому лимон?
на словах очень все просто… вам хоть знаком термин ПИД регулятор? и в курсе что для поддержания хорошей стабилизации нужен цикл от 200гц и выше? Еще раз - это не машинка на колесиках. Ну да ладно, попробуйте, сами все поймете… Из своей практики, удержание высоты самая сложная атомарная фунция полетных контроллеров…
ну раз уж вы все заархитектили и 100% ясно, просто и дешево, тогда зачем напутствия остальным? 😃 Пишите код, уносите приз! 😃
представьте себе только, я могу контролировать высоту с достаточной для выполнения задания точностью, опираясь на свое зрение (не более 60fps) и задержки нервы\мышцы\стики\потенциометры …\изменение подъемной силы. чудеса!
давайте без обид. если вас лично задевает мой “оптимистичный настрой” в сообщениях по поводу решения этого сложного задания, я по секрету, расскажу что знаком на личном опыте с решением в несколько лет кажущихся простыми задачи. Но рас и вы не новичок в деле разработчика, то должны знать, что нужно делать что бы привлечь интерес, деньги, ресурсы и пр. Я вот ищу желающих разделить бюджет с расчетом что деньги 100% вылетят в трубу. И все же я считаю будет не оч. хорошо если все начнут ныть и забьют на этот конкурс.
не более 60fps
удали себе мозжечек и поставь ардуину и 60 будет мало 😃
давайте без обид. если вас лично задевает мой “оптимистичный настрой” в сообщениях по поводу решения этого сложного задания, я по секрету, расскажу что знаком на личном опыте с решением в несколько лет кажущихся простыми задачи. Но рас и вы не новичок в деле разработчика, то должны знать, что нужно делать что бы привлечь интерес, деньги, ресурсы и пр. Я вот ищу желающих разделить бюджет с расчетом что деньги 100% вылетят в трубу. И все же я считаю будет не оч. хорошо если все начнут ныть и забьют на этот конкурс.
Ну вопервых, я не пытался никого отговаривать, а говорил и говорю про реальные проблемы, с которыми можно столкнуться. И это уж точно не нытье, как ты тут выразился. И да, теоретиков-пустомелоВ в саД! Сколько уж тут было таких, с темами “коптер из китайского телефона и т.д.”, а на деле zero…
И все, флуд закончили, далее говорим по теме!
Но рас и вы не новичок в деле разработчика, то должны знать, что нужно делать что бы привлечь интерес, деньги, ресурсы и пр.
Уж точно не пустое бла-бла-бла. Это тока деуки любят, да и то не все 😃
удали себе мозжечек и поставь ардуину и 60 будет мало 😃
вот этот вопрос сейчас волнует больше всего.
я про разный уровень команд, скорости обработки и взаимодействия всяких вычислительных частей .
Обычный контроллер квадракоптера “кушает” PWM команды, что приемлемо для управления с пульта человеком. Работает на мегагерцах с прерываниями и минимальными задержками измеряемыми мкс.
ПК у нас имеет шины общения (возьмем USВ) с посылкой байт. ОС не real time. Возможны всякие задержки в работе с портом из нашего ПО (измеряется уже в мс).
Возникает вопрос, а хватит ли нам такой скорости взаимодействия (допустим запись конкртных значений PWM)?
Посему хочется сделать некий промежуточный слой, который бы принимал команду вида “движение на 5 метров под таким то углом в плоскости oxy (c фиксацией z)” и выдавал наш любимый PWM.
Есть мысли на этот счет?
Я вот читаю и жду когда вам надоест обсуждать FPV и начнеться серьезое обсуждение как решить задачу. Как верно подметил кто то - конкурс то затеян для того что бы побольше людей напрягло мозг и начало думать в правильную сторону.
А не только vis.аsta, с которым я кстати знаком 😃, и на 100% уверен что Виктор при желании сделает коптер, который задание выполнит. Весь вопрос в том, а нужно ли это ему и ему подобным? Он и так крут, и это все знают. И при необходимости он заработает за меньшее время больше днег просто продавая свои котеры с его волшебными автопилотами.
Но я также уверен, что любой хороший разработчик с базовыми знаниями схемотехники, наличием свободных вечеров и ночей, а также 2-3 тыс долларов и желанием также стать крутым может сделать дрон, который выполнит наше задание.
Для затравки. Мы начали двигаться тем путем, как написал Nesenin.
3 месяца назад мы НИЧЕГО не знали про дроностроение. Я был самый опытный в команде - собрал и поднял в воздух TREX450. Правда коллектив профессиональных программистов.
Мы купили с местной барахолки 6 роторный микрооптер (единственное что было доступно сразу). Прикрутили к нему ультразвуковой дальномер (как раз тот, что на фотке выше) и ардуину.
В итоге через месяц-полтора получили автоматический взлет-посадку и стабилизацию на высоте полуметра.
Вот запись первого успешного полета -
www.youtube.com/watch?v=ll_P2LHr5BE&feature=player…
Так как полет в помещении, то по горизонтали стабилизировали вручную (я).
Код кстати писал свежеиспеченный выпускник МАИ.
Могу посмотреть, сколько у него времени заняло.
Реализация пока не блестящая, не отлажен PID-контроллер и по умному нужно использовать еще и фильтр кальмана, но для конкурсной задачи даже такое уже годиться.
про разный уровень команд, скорости обработки и взаимодействия всяких вычислительных частей
У нас первая реализация было совсем простой - ардуино практически ничего не делал, принимал показания с ультразвукового датчика, отсылал их черех XBee на замлю, принимал с земли уровень газа, и через UART-интерфейс flight controller’а микрокоптера говорил выше-ниже.
Мы обнаружили, что это схема не рабочая из-за больших задержек по контуру управления. Всю обработку данных, которая связана с управлением полетом (а управление высотой к этому естественно относиться 😃 нужно делать на борту.
Код управления был перенесен с “земли” на борт (на ардуину). Тогда все наконец то заработало. С земли только команды “взлететь”, “сесть”, высота, которую удерживать + загружаются на борт настройки pid-контроллера и фильтра.
Есть мысли на этот счет?
для управления вполне достаточно подавать команды через обычный последовательный порт, т.е. не надо генерить PWM в качестве управляющей команды симулируя пулт… ясное дело, что полетный контроллер должен иметь режим управления через UART в этом случае… напрмер в mwii такой режим был:
/******************* RC signal from the serial port via Multiwii Serial Protocol *********/
//#define RCSERIAL
для управления вполне достаточно подавать команды через обычный последовательный порт, т.е. не надо генерить PWM в качестве управляющей команды симулируя пулт… ясное дело, что полетный контроллер должен иметь режим управления через UART в этом случае… напрмер в mwii такой режим был:
точно
Код управления был перенесен с “земли” на борт (на ардуину). Тогда все наконец то заработало. С земли только команды “взлететь”, “сесть”, высота, которую удерживать + загружаются на борт настройки pid-контроллера и фильтра.
все правильно, для режимов стабилизации процессинг данных с сенсоров должен крутится на борту, т.к. существенное увеличение задержки (сдвиг фаз) между снятием raw данных с сенсоров и формированием управляющего воздействия (на моторы) приведет к невозможности стабилизации пид контроллера (осцилляциям и перерегулированию), либо уменьшения его коэф. до уровня при котором стабилизация не возможна вообще…
Нас за неделю затопили вопросами (тут, на хабре, по почте), в основном дублируются. Наша недоработка, все это при наличии опыта организации таких конкурсов следовало бы продумать заранее и внести в условия конкурса 😭
Берем тайм-аут до понедельника, мы их систематизируем, и ответы опубликуем на сайте на странице ЧАВО. Я свистну, как появиться.
Для подогрева публики - нам прислали уже 11 персональных и 5 командных заявок на участие.
Берем тайм-аут до понедельника
не убегайте! 😃
есть вопрос интересный: как запилинговать место посадки после прохода припятствия? горизонтальная камера с растояния 10м и высоты ~2…2.5м (т.к. ограничены сеткой на 3м) может и не задетектить, т.е. под углом мение 20…30град… тогда придется ползать по полю как робот пылесос и сканить вертикалкой?! либо, как подсказали товарищи, по спирали от предполагаемой точки посадки сканить?
Это упрощение, но возможно стоит поднять взлетно/посадочные платформы на 30-40см и добавить боковые маркеры?
не убегайте! 😃
есть вопрос интересный: как запилинговать место посадки после прохода припятствия? горизонтальная камера с растояния 10м и высоты ~2…2.5м (т.к. ограничены сеткой на 3м) может и не задетектить, т.е. под углом мение 20…30град… тогда придется ползать по полю как робот пылесос и сканить вертикалкой?! либо, как подсказали товарищи, по спирали от предполагаемой точки посадки сканить?Это упрощение, но возможно стоит поднять взлетно/посадочные платформы на 30-40см и добавить боковые маркеры?
Не убегаю. Честный ответ - пока не знаю. Я уже неделю никак не доберусь собрать OpenCV и проверить, как он будет опозновать наши посадочные площадки. Их придеться склеить из бумаги и посмотреть дистанцию “захвата”. Скорее всего придеться запрограммировать какой-то алгоритм поиска. Может самый быстрый вариант - поставить камеру на подвес, лететь по центру “половинки” полигона и ворочать камерой влево-вправо. Эксперименты покажут, их слава богу можно делать без полетов - ножками с ноутбуком и камерой в руках 😃
Делать дополнительные маркеры не хочеться, так как мы считаем задачу и так вполне решаемой, и доводить ее до уровня “собрать из кубиков Лего” ну как то совсем не хочеться. Репу придеться поморщить…
Это упрощение, но возможно стоит поднять взлетно/посадочные платформы на 30-40см и добавить боковые маркеры?
А зачем упрощать? Задание и так не сильно то сложное.
запрограммировать какой-то алгоритм поиска.
Правильно. А то как то не интересно без поиска.
Репу придеться поморщить…
ок… будем кипеть мозгАм 😃
Короче походу всё сходиться к одной схеме реализации проекта. Разнообразия в принципах не будет. Будет разнообразие в программном коде (чего в принципе изначально желали организаторы - конкурс программистов)
Ну на самом деле даже если все примут плюс-минус одинакавые схему для дрона (квадрик + комплект сенсоров, который уже обсуждали), действительно все сведется к битве алгоритмов. В этом случае придеться сделать специальную номинацию - кто выполнил задание на самом дешевом дроне 😃 Правда я бы не сказал, что это нас (организатора) сильно разочарует и будет скучно.
Но тут уже предлагали для той же навигации уже 3 варианта - лидар, камера, ультразвук+правило левой руки. Интересно сравнить, что будет эффективнее.
Есть еще очень дорогой вариант - ToF камера. Можно расковырять кинект (или просто его подвесить под коптер), можно купить серьезную штуку - www.mesa-imaging.ch/index.php. Если найдется команда с богатым спонсором, всячески рекомендую 😃. С этой штукой можно высшим пилотажем в катакомбах заниматься. Очень интересно посмотреть это живьем, мы так и не удосужились ее купить, лидар приехал быстрее. Мы переписывались с производителем, можем поделиться контактами, вроде остались.
По схемам дрона все местные похоже думают про квадрики, но я в ночном бреду бредил еще про вариант бАААльшого соосника. С примитивной электроникой они стабильны как слон. Вроде в соответствующей конфе видел ссылку на большое китайское чудо за смешные деньги.
Еще меня очаровал израильский дрон - iai.co.il/…/Groups_Military_Aircraft_MALAT_Product…. Можно что-то подобное собрать круто и дешево из нескольких соосников Ж-).
Следующая мысль - знаете, почему наш коптер на видео висит на высоте 50см примерно? Потому что на такой высоте заканчивается “поддержка” воздушной подушкой, и это та самая высота, на которой наш коптер с примитивным регулятором по высоте висит устойчиво. Почему бы не сделать аппарат, который пользуется таким эффектом, у него даже автопилот со стабилизацией не нужен, а-ля экранолет или штука на воздушной подушке. Чтобы вписаться в условия конкурса, нужно чтобы он после отрыва от земли по ней не чиркал.
В общем, если вкурить правильные вещи, то можно нагенерить кучу вариантов и оттянуться.
все местные похоже думают про квадрики
Мы же вроде как в теме Квадрокоптеры и другие многороторные системы , так что местному населению ближе к серцу квадрики 😃
Для подогрева публики - нам прислали уже 11 персональных и 5 командных заявок на участие.
Еще мысль - для большинства любителей конкурс имхо сложноват все же. Мало кто может “просто так” уделить этому несколько месяцев full-time, или закупить оборудования на несколько килобаксов.
Предложение - сделать еще несколько более простых конкурсов “для массовости”, естественно с меньшим уровнем призов, или c чисто символическими. Разбить участников на “весовые категории”. Если цель конкурса, в популяризации имени компании и робототехники в целом, думаю это неплохо послужило бы этой задаче.
сделать еще несколько более простых конкурсов “для массовости”,
Конкурс ФПВшников. Они уже готовы. 😃
Я уже неделю никак не доберусь собрать OpenCV и проверить, как он будет опозновать наши посадочные площадки. Их придеться склеить из бумаги и посмотреть дистанцию “захвата”.
А внешний вид препятствий и площадок будет известен?
Предложение - сделать еще несколько более простых конкурсов “для массовости”, естественно с меньшим уровнем призов, или c чисто символическими. Разбить участников на “весовые категории”. Если цель конкурса, в популяризации имени компании и робототехники в целом, думаю это неплохо послужило бы этой задаче.
Это одна из самых светлых мыслей ИМХО. Даже денежный приз не особо важен. Медальку и сертификат(молодежи ведь еще работу искать) думаю будет в самый раз, надо только покумекать как его нопейсать так, что бы пригодился.
Как мысль задание решаемое на сонарах, без распознавания образов(мест посадки), или распозноваемое сонаром что еще интересней .
По схемам дрона все местные похоже думают про квадрики, но я в ночном бреду бредил еще про вариант бАААльшого соосника.
Только не это. У него механическая стабилизация устроена так, что ветер 5 м/с(площадка же открытая?) сдует обратно на родину в китай.
у него даже автопилот со стабилизацией не нужен, а-ля экранолет или штука на воздушной подушке
Не убивайте конкурс ЛА - не надо. На воздушной подушке задача ближе к гусинечно-колесной, там скорость/ перемещение элементарно померить. А в размерах же никто не ограничивает, штангу из карбона на метр поднял, да ищи место посадки ка на ЛА. Да и проконтролировать касание объективно не возможно практически.
А внешний вид препятствий и площадок будет известен?
С препятствием все очень просто - это перегородка с проемом 2 метра. Перегородку и проем можно двигать. Чертеж площадок будет опубликован в скором времени, так что все успеют натренировать OpenCV 😃
Следующая мысль - знаете, почему наш коптер на видео висит на высоте 50см примерно? Потому что на такой высоте заканчивается “поддержка” воздушной подушкой
Проверьте, что у вас время цикла на ардуине не зависит от высоты. А если зависит 😉 - пните программиста
ps. а если я прав, то с того, кто придумал воздушную подушку - коробка чая (ну типа ящика пива)