Проект Евробот 2010


Задача: Создать робота отвечающего требованиям регламента соревнований Eurobot 2010.

 

В 2010 году по регламенту соревнований Евробот 2010 лиги профессионал наше команде предстояло создать автономного мобильного робота собирающего искусственные фрукты с игрового поля. Игровой стол соревнований выглядел так:

Game table

Мобильные роботы стартовали из двух углов синего и желтого и в течении 90 секунд должны были собирать игровые объекты: помидоры - красные сферы, кукурузу - белые цилиндры, апельсины - оранжевые сферы, - с поля и сбрасывать их в свою корзину, находящуюся по диагонали в другой стороне стола, все это нужно делать объезжая черную кукурузу - муляж прикрученный к полу, совместно с роботом противника, делающим тоже самое . Как мне кажется, именно наличие двух враждующих роботов на таком крошечном поле, каждый из которых стремиться набрать как можно больше очков и делает эти соревнования такими увлекательными и зрелищными. Из объектов на поле еще хотелось бы выделить шесть черных стоек, они предназначены для установки маяков, с помощью которых робот может определять свое положение на поле. Еще одной особенностью этих соревнований, которую необходимо упомянуть я считаю полную автономность роботов и их действий на поле. Будь то жесткая программа, набор правил и что-то ужасно сложное робот должен сам совершать все действия на поле. Остальные детали и особенности можно прочесть в регламенте: русская и английская версия.

 

Выполнение поставленной задачи:

 

Так как в 2010 году мы участвовали в этих соревнованиях первый раз мы начали выполнение с изучения материалов по теме Eurobot: видео, сайты, картинки. Изучение этой информации и регламента соревнований дало некоторое понимание того какие узлы должен содержать наш робот. Стало понятно, что робот должен как-то: двигаться и совершать игровые действия - значит нужно управлять приводами и сервомашинками, осуществлять навигацию на поле и уход от столкновений с роботом противника - нужно абстрактное устройство маяк, и веб камера для распознавания объектов, все это должно к чему-то крепиться - нам нужна механика, с ее же помощью осуществляется взаимодействие с игровыми элементами, и другие системы - система питания, взаимодействия с оператором для старта и другое. В наших головах рисовалась следующая архитектура:

Архитектура системы Eurobot 2010

Как видно из архитектуры мы хотели создать робота на базе материнской платы с подключенными к нему веб камерой, маяком, платой-контроллером, которая управляла всеми вспомогательными системами. Как выяснилось позднее эта архитектура имела ряд недостатков, а именно: Веб камера подстраивает свою яркость, что существенно затрудняет ее использование, да и написание программного обеспечения способного распознавать объекты и строить карту задача не из простых - она оказалась непосильна для новичков, хорошая система маяков - способная давать необходимую для работы робота информацию, также оказалась сложной задачей для первого раза и позднее была заменена несколькими инфракрасными дальномерами. Надобность в материнской плате отпала и остался один контроллер для управления всеми системами.

Перейдем к механике робота. По приобретенному опыту могу заявить, что хорошая, надежная и точная механика в соревнованиях Eurobot - это половина успеха, правильно спроектированная механика позволяет легко исправлять управляющую программу и вносить модификации в робота, без особых изменений в его конструкции. Прообразом робота был комбайн, робот все схваченное кидал в свой кузов, в качестве схватывающего устройства был разработан простенький манипулятор. Для скатывания объектов впереди у робота был специальный бампер. Механика робота проектировалась в SolidWorks. Вот что получилось:

Рендеринг робота в SolidWorks

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

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

Некоторые интересные фотографии:

Обновленный робот вид сзади
Внутренности робота

 

Результаты :

 

Спроектированный робот мог ездить на игровом поле, собирать объекты, сбрасывать их в корзину и успешно обходить противника. На российском этапе Eurobot команда заняла первое место и отправилась на финал соревнований в Швейцарию.

Игровое видео финала Eurobot российских соревнований.