Кому лимон?

FSFox

Я ждал, что тема про этот конкурс появится тут.
Тоже интересно было бы попробовать, но сам я финансово не потяну точно. Вот тут как-раз предложения про разделение на любителей и профи актуально, так как с профи конкурировать не возможно.
И опять же интересно было бы сделать все на наиболее простом железе без больших затрат. Приз то только один и шанс его получить минимальный (для меня точно). Из этого сразу вытекает еще одно предложение организаторам - приз давать за несколько мест (например так 1-500к.р., 2-300к.р.,3-200к.р.).
А еще в правилах есть - организатор не несет ответственности за неправильное использование кнопки останова (т.е. если судья случайно, или как еще, нажал на выключение моторов). Если аппарат дорогой и упадет даже с 1.5м, то велика вероятность повреждения оборудования. А после повреждения врятле можно будет победить, если конечно нет запасного аппарата.

Из вариантов реализации (то что сразу в голову пришло):

  • как написал Sir Alex - сделать отдельный блок, который получает данные с сонаров и выдает управляющие команды в FC (причем самый простой);
  • удержание высоты тоже по сонару;
  • лететь по тому же сонару вдоль стенки на небольшом расстоянии (+ограничители вдоль лучей, т.е. если коптер ткнется в стену проп не пострадает);
  • ну и самое сложное определение места посадки - пока только вариант с андройд телефоном и openCV или что-то вроде RaspberryPi.

mahowik - а я вот думаю, что пройти конкурс может ~60%. Кстати предложение с ар.дроном тоже нормальное, но сонары я бы ему добавил все-равно.

Тут коллега кинул идею организации такого конкурса в РБ, конечно не самим, а например, подкинув идею в тот же ПВТ в Минске. У нас же как раз свой беспилотник сделали, каково будет заткнуть их за пояс 😃 с самодельной автономно летающей моделью, которой не надо целый “грузовик” для управления.

Nesenin

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

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

аппаратно такая схема превосходит и в скорости подъема и спуска (там же вывернуть можно винты в обратную сторону) и маневрировании.
вот двигатели\винты www.modelmotors.cz/index.php?page=61&product=2212&…

Ну и в чем проблема удерживать высоту в коробке без ветра (стенки кругом) с высотой потолка 3 м?

Вот вам
направили в землю и считайте свою высоту над землей с точностью <1см. у них как рас дальность 3-5м.
В прошивке добавите условие на изменение скорости вращения двигателей(и\или наклона винтов) согласно измеренному значению высоты.

Мозг для квадрика можете взять какой-нибудь на AVR по типу MultiWII и прошивку его можно расковырять. Всеж открыто всеж в Arduino пишется. По Uart-USB настроите общение с ПО на вашем бортовом ПК (nvidia tegra какой-нибудь). Будете слать данные с IMU и данные от приемника (команды типо старт\стоп\экстренное отключение). С ПК же команды высокоуровневые. Не хватит мощности встроенного контроллера можете сделать прослойку на другом (arduino nano\pro mini), который будет генерить обычные сигналы как на приемнике РУ из высокоуровневых команд.

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

Предлагаю бюджетный вариант:

  1. квадрокоптер дешевый, способный таскать нужный груз (см ниже) и нормально висеть на месте (достаточно IMU 6dof или меньше)
  2. arduino nano обвещиваем ультрозвуковыми дальномерами (они дешевые) подключаем к USb хабу который подключается к
    3)роутер TL-MR3020 (оч. маленький ниче не весет) с прошивкой OpenWRT с настроенной трансляцией показаний дальномеров и изображения с
    4)вебкамера дешевая
  3. ваш любимый ПК (он у вас есть ничего не стоит, розетки вам дадут) принимает данные с дальномеров и камеры и отправляет команды на движение обратно по роутеру в Arduino nano (контроллер квадракоптера от нее читает сигналы)

ВСЁ! Это штука будет летать медленно но запросто обойдет все препятствия по правой стороне до места посадки и по левой стороне обратно.
Сложного там будет только программировать нахождение места посадки. Уж за год справитесь.

mahowik
FSFox:

а я вот думаю, что пройти конкурс может ~60%

поживем увидим 😉

FSFox:

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

я и об этом писал

Nesenin:

Ну и в чем проблема удерживать высоту в коробке без ветра (стенки кругом) с высотой потолка 3 м?

Вот вам
направили в землю и считайте свою высоту над землей с точностью <1см. у них как рас дальность 3-5м.
В прошивке добавите условие на изменение скорости вращения двигателей(и\или наклона винтов) согласно измеренному значению высоты.

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

Nesenin:

Уж за год справитесь.

ну раз уж вы все заархитектили и 100% ясно, просто и дешево, тогда зачем напутствия остальным? 😃 Пишите код, уносите приз! 😃

SergDoc
mahowik:

ну раз уж вы все заархитектили и 100% ясно, просто и дешево, тогда зачем напутствия остальным? Пишите код, уносите приз!

ГЫ-гы интересное кино намечается 😃

Nesenin
mahowik:

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

ну раз уж вы все заархитектили и 100% ясно, просто и дешево, тогда зачем напутствия остальным? 😃 Пишите код, уносите приз! 😃

представьте себе только, я могу контролировать высоту с достаточной для выполнения задания точностью, опираясь на свое зрение (не более 60fps) и задержки нервы\мышцы\стики\потенциометры …\изменение подъемной силы. чудеса!

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

mahowik
Nesenin:

не более 60fps

удали себе мозжечек и поставь ардуину и 60 будет мало 😃

Nesenin:

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

Ну вопервых, я не пытался никого отговаривать, а говорил и говорю про реальные проблемы, с которыми можно столкнуться. И это уж точно не нытье, как ты тут выразился. И да, теоретиков-пустомелоВ в саД! Сколько уж тут было таких, с темами “коптер из китайского телефона и т.д.”, а на деле zero…

И все, флуд закончили, далее говорим по теме!

VitaliyRU
Nesenin:

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

Уж точно не пустое бла-бла-бла. Это тока деуки любят, да и то не все 😃

Nesenin
mahowik:

удали себе мозжечек и поставь ардуину и 60 будет мало 😃

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

Обычный контроллер квадракоптера “кушает” PWM команды, что приемлемо для управления с пульта человеком. Работает на мегагерцах с прерываниями и минимальными задержками измеряемыми мкс.
ПК у нас имеет шины общения (возьмем USВ) с посылкой байт. ОС не real time. Возможны всякие задержки в работе с портом из нашего ПО (измеряется уже в мс).
Возникает вопрос, а хватит ли нам такой скорости взаимодействия (допустим запись конкртных значений PWM)?
Посему хочется сделать некий промежуточный слой, который бы принимал команду вида “движение на 5 метров под таким то углом в плоскости oxy (c фиксацией z)” и выдавал наш любимый PWM.
Есть мысли на этот счет?

Dav

Я вот читаю и жду когда вам надоест обсуждать FPV и начнеться серьезое обсуждение как решить задачу. Как верно подметил кто то - конкурс то затеян для того что бы побольше людей напрягло мозг и начало думать в правильную сторону.

А не только vis.аsta, с которым я кстати знаком 😃, и на 100% уверен что Виктор при желании сделает коптер, который задание выполнит. Весь вопрос в том, а нужно ли это ему и ему подобным? Он и так крут, и это все знают. И при необходимости он заработает за меньшее время больше днег просто продавая свои котеры с его волшебными автопилотами.

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

Для затравки. Мы начали двигаться тем путем, как написал Nesenin.

3 месяца назад мы НИЧЕГО не знали про дроностроение. Я был самый опытный в команде - собрал и поднял в воздух TREX450. Правда коллектив профессиональных программистов.

Мы купили с местной барахолки 6 роторный микрооптер (единственное что было доступно сразу). Прикрутили к нему ультразвуковой дальномер (как раз тот, что на фотке выше) и ардуину.

В итоге через месяц-полтора получили автоматический взлет-посадку и стабилизацию на высоте полуметра.

Вот запись первого успешного полета -

www.youtube.com/watch?v=ll_P2LHr5BE&feature=player…

Так как полет в помещении, то по горизонтали стабилизировали вручную (я).

Код кстати писал свежеиспеченный выпускник МАИ.

Могу посмотреть, сколько у него времени заняло.

Реализация пока не блестящая, не отлажен PID-контроллер и по умному нужно использовать еще и фильтр кальмана, но для конкурсной задачи даже такое уже годиться.

Nesenin:

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

У нас первая реализация было совсем простой - ардуино практически ничего не делал, принимал показания с ультразвукового датчика, отсылал их черех XBee на замлю, принимал с земли уровень газа, и через UART-интерфейс flight controller’а микрокоптера говорил выше-ниже.

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

Код управления был перенесен с “земли” на борт (на ардуину). Тогда все наконец то заработало. С земли только команды “взлететь”, “сесть”, высота, которую удерживать + загружаются на борт настройки pid-контроллера и фильтра.

mahowik
Nesenin:

Есть мысли на этот счет?

для управления вполне достаточно подавать команды через обычный последовательный порт, т.е. не надо генерить PWM в качестве управляющей команды симулируя пулт… ясное дело, что полетный контроллер должен иметь режим управления через UART в этом случае… напрмер в mwii такой режим был:

/******************* RC signal from the serial port via Multiwii Serial Protocol *********/
      //#define RCSERIAL
Dav
mahowik:

для управления вполне достаточно подавать команды через обычный последовательный порт, т.е. не надо генерить PWM в качестве управляющей команды симулируя пулт… ясное дело, что полетный контроллер должен иметь режим управления через UART в этом случае… напрмер в mwii такой режим был:

точно

mahowik
Dav:

Код управления был перенесен с “земли” на борт (на ардуину). Тогда все наконец то заработало. С земли только команды “взлететь”, “сесть”, высота, которую удерживать + загружаются на борт настройки pid-контроллера и фильтра.

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

Dav

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

Берем тайм-аут до понедельника, мы их систематизируем, и ответы опубликуем на сайте на странице ЧАВО. Я свистну, как появиться.

Для подогрева публики - нам прислали уже 11 персональных и 5 командных заявок на участие.

mahowik
Dav:

Берем тайм-аут до понедельника

не убегайте! 😃
есть вопрос интересный: как запилинговать место посадки после прохода припятствия? горизонтальная камера с растояния 10м и высоты ~2…2.5м (т.к. ограничены сеткой на 3м) может и не задетектить, т.е. под углом мение 20…30град… тогда придется ползать по полю как робот пылесос и сканить вертикалкой?! либо, как подсказали товарищи, по спирали от предполагаемой точки посадки сканить?

Это упрощение, но возможно стоит поднять взлетно/посадочные платформы на 30-40см и добавить боковые маркеры?

Dav
mahowik:

не убегайте! 😃
есть вопрос интересный: как запилинговать место посадки после прохода припятствия? горизонтальная камера с растояния 10м и высоты ~2…2.5м (т.к. ограничены сеткой на 3м) может и не задетектить, т.е. под углом мение 20…30град… тогда придется ползать по полю как робот пылесос и сканить вертикалкой?! либо, как подсказали товарищи, по спирали от предполагаемой точки посадки сканить?

Это упрощение, но возможно стоит поднять взлетно/посадочные платформы на 30-40см и добавить боковые маркеры?

Не убегаю. Честный ответ - пока не знаю. Я уже неделю никак не доберусь собрать OpenCV и проверить, как он будет опозновать наши посадочные площадки. Их придеться склеить из бумаги и посмотреть дистанцию “захвата”. Скорее всего придеться запрограммировать какой-то алгоритм поиска. Может самый быстрый вариант - поставить камеру на подвес, лететь по центру “половинки” полигона и ворочать камерой влево-вправо. Эксперименты покажут, их слава богу можно делать без полетов - ножками с ноутбуком и камерой в руках 😃

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

AIRDAN
mahowik:

Это упрощение, но возможно стоит поднять взлетно/посадочные платформы на 30-40см и добавить боковые маркеры?

А зачем упрощать? Задание и так не сильно то сложное.

Dav:

запрограммировать какой-то алгоритм поиска.

Правильно. А то как то не интересно без поиска.

mahowik
Dav:

Репу придеться поморщить…

ок… будем кипеть мозгАм 😃

Dav
AIRDAN:

Короче походу всё сходиться к одной схеме реализации проекта. Разнообразия в принципах не будет. Будет разнообразие в программном коде (чего в принципе изначально желали организаторы - конкурс программистов)

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

Но тут уже предлагали для той же навигации уже 3 варианта - лидар, камера, ультразвук+правило левой руки. Интересно сравнить, что будет эффективнее.

Есть еще очень дорогой вариант - ToF камера. Можно расковырять кинект (или просто его подвесить под коптер), можно купить серьезную штуку - www.mesa-imaging.ch/index.php. Если найдется команда с богатым спонсором, всячески рекомендую 😃. С этой штукой можно высшим пилотажем в катакомбах заниматься. Очень интересно посмотреть это живьем, мы так и не удосужились ее купить, лидар приехал быстрее. Мы переписывались с производителем, можем поделиться контактами, вроде остались.

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

Еще меня очаровал израильский дрон - iai.co.il/…/Groups_Military_Aircraft_MALAT_Product…. Можно что-то подобное собрать круто и дешево из нескольких соосников Ж-).

Следующая мысль - знаете, почему наш коптер на видео висит на высоте 50см примерно? Потому что на такой высоте заканчивается “поддержка” воздушной подушкой, и это та самая высота, на которой наш коптер с примитивным регулятором по высоте висит устойчиво. Почему бы не сделать аппарат, который пользуется таким эффектом, у него даже автопилот со стабилизацией не нужен, а-ля экранолет или штука на воздушной подушке. Чтобы вписаться в условия конкурса, нужно чтобы он после отрыва от земли по ней не чиркал.

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

DVE
Dav:

Для подогрева публики - нам прислали уже 11 персональных и 5 командных заявок на участие.

Еще мысль - для большинства любителей конкурс имхо сложноват все же. Мало кто может “просто так” уделить этому несколько месяцев full-time, или закупить оборудования на несколько килобаксов.

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

AIRDAN
DVE:

сделать еще несколько более простых конкурсов “для массовости”,

Конкурс ФПВшников. Они уже готовы. 😃