Опыт Участия В Robotchallenge 2014

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

Робот Челлендж 2014 в Вене.



Опыт участия в RobotChallenge 2014

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

Формат соревнований очень похож на Олимпийские игры, потому что.

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

Сами дисциплины относительно просты с точки зрения.

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

Мы участвовали в дисциплине AirRace, идея которой заключается в том, что робот должен в полностью автономном режиме облетать 2 столба по траектории в виде восьмерки.

Победителем становится робот, который пролетит наибольшее количество восьмерок в непрерывном полете за 10 минут. До этого конкурса у меня был только опыт участия в конкурсе летающих роботов компании КРОК, который проходил в августе 2013 года в Москве.

На тех соревнованиях нас постигла беда в виде дождя на аэродроме.

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

Ниже представлена наша тестовая попытка на конкурсе КРОК в 2013 году.

В Вене погодные условия были намного лучше (+20 и ясное небо).

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

Из-за ограничений бюджета и времени было решено использовать на соревнованиях в Вене того же робота и тот же подход, что и на соревнованиях КРОК.

В основу легла комбинация AR.Drone + наземная станция в виде ноутбука.

Этот выбор (еще во время подготовки к КРОК) был обусловлен тем, что AR.Drone, по сути, из коробки, уже умеет летать и есть SDK, с помощью которого мы могли управлять им через Wi-Fi. Правда, сейчас, уже имея опыт работы с ним, я склонен полагать, что необходимо собрать еще один квадрокоптер и стремиться реализовать все расчеты на борту.

На самом деле у меня 3 претензии к AR.Drone. Это Wi-Fi, проблемное аппаратное расширение и закрытый исходный код. Нам удалось расширить аппаратную часть нашего AR.Drone, подключив к нему дополнительные ультразвуковые дальномеры через плату Arduino Nano, подключаемую через встроенный USB. Схематично это выглядит так.



Опыт участия в RobotChallenge 2014

Эти дальномеры мы использовали только на соревнованиях КРОК по ориентированию в лабиринте, а на соревнованиях в Вене главный хак AR.Drone был в том, что мы выключали фронтальную камеру и ориентировались именно по ней.

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

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

Что касается дисциплины Air Race, то правила там вполне демократичны.

Они позволяют использовать любые дополнительные навигационные знаки (как пассивные, так и активные) внутри поля.

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

Ряд команд активно этим воспользовался.

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

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

Некоторые команды установили дополнительные визуальные маркеры для ориентирования, а команда из Канады даже установила внутрь 2 кинекта, но у них это тоже не получилось.

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

Соответственно, ключевые функции системы управления были основаны на принципах компьютерного зрения.

Основная идея заключалась в следующем:

  1. Ищем черные прямоугольники на изображении
  2. Разделим их на группы по углу наклона к вертикали.

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

  4. Проведите прямую линию через центры прямоугольников первой группы.

  5. Формируем команду управления таким образом, чтобы полученная прямая занимала вертикальное положение.

Пример работы алгоритма можно увидеть в следующем видео.

Во время тестовых заездов на «домашнем» поле мы проезжали 15-16 кругов за 10 минут, что было чуть больше результата победителя 2013 года.

Поэтому на соревнования мы поехали не с пустыми руками.

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

Добирались мы на машине (1800 км).

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

В нашу дисциплину было заявлено 16 команд, из них 5 российских.

Помимо нашей команды, остальные российские команды были из Санкт-Петербургского физико-математического лицея № 239. Всего в соревнованиях приняли участие 547 команд из 46 стран, поэтому мы встали пораньше и направились на соревнования.

сайт при открытии регистрации.

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

Т.

к.

регистрация прошла очень быстро, и хоть и была очередь, но стоять долго нам не пришлось.

Сами соревнования по нашей дисциплине должны были начаться в 12:30, а до этого времени должно было пройти что-то вроде квалификации (каждый робот должен был показать, что он способен пролететь хотя бы круг).

Все мы слышали о немецкой (австрийской) пунктуальности, но здесь это правило не работало.

Большинство команд начали тестировать своих роботов после регистрации; судья в принципе никак не участвовал в этом процессе, и было не совсем понятно, когда должна начаться квалификация.

Мы не собирались ничего предварительно настраивать на роботе, поэтому в очередь на тестирование не попали.

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

Он ответил утвердительно и мы запустили робота.

Он пролетел достаточно хорошо 2 круга, а потом начались проблемы с Wi-Fi. Робот начал ударяться о столб, я стал нажимать кнопку приземления.

И здесь нас ждал провал.

Я, пытаясь нажать кнопку посадки, то ли от нервов, то ли по невнимательности, нажал кнопку «аварийной посадки» и робот упал с 2 метров на мраморный пол.

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

Я не думаю, что нужно объяснять, что мы тогда чувствовали.

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

Т.

к.

других вариантов не было, поэтому мы сделали именно так.

Я мало верил, что он умеет летать, но он летал.

Перестраховавшись, я не стал ставить тяжёлый аккумулятор повышенной ёмкости, а поставил свой, и это была моя вторая ошибка.

Т.

к.

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

В итоге с 5 кругами мы заняли 4-е место.

Конечно, учитывая разбивку, мы были очень довольны такими результатами.

И полученный опыт, надеюсь, поможет нам в будущих соревнованиях.

Теги: #Робототехника #Мультикоптеры #соревнования роботов

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.