Результаты работы --> Соревнования


Eurobot 2005 — отчет о поездке
Eurobot 2005: задачи и решения
А.Н. Зотов, П.Н. Куренёв, А.Ю. Мотин, В.Н. Сальников
Москва, Институт механики МГУ
 
1.Правила конкурса
 
В 2005-м году, с 19 по 22 мая, в Швейцарии проходил европейский конкурс роботов Eurobot. Конкурс представлял из себя соревнование, в каждом раунде которого выступали две команды. Каждая команда выставляла одного или двух роботов. Цель соревнования – сбить кегли противника, расположенные на вражеской части игровой площадки. Один робот должен сбивать кегли противника, а второй (его делать не обязательно) - поднимать упавшие.<!--[if !vml]--><!--[endif]-->

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

Каждый раунд длится по 90 секунд, по истечении которых определяется победитель по числу сбитых кегель. Кегли представляют собой деревянные цилиндры диаметром 60 мм и длиной 120 мм, в основания которых с одной стороны вкручены по три винта. На обоих частях игровой площадки располагается по 15 кегель зелёного или красного цвета.

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

2. Аппаратная часть

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

Робот был собран на платформе, имеющей два ведущих и одно рояльное колесо сзади. Движение робота осуществлялось с помощью двух моторов постоянного тока с интегрированными импульсными датчиками. Моторы управлялись с помощью широтно-импульсной модуляции. Для управления роботом использовался контроллер Бегур-2 на основе сигнального процессора TMS320LF2407A. Контроллер работает на частоте 40MHZ. На этом контроллере была реализована следящая по скорости система, основанная на показаниях импульсных датчиков. Там же выполнялись алгоритмы поведения и управления схватом для шарика. Для навигации и поиска шарика использовалась видеокамера, с видеоконтроллером на основе ADSP2189M. На видеоконтроллере были реализованы алгоритмы распознавания шарика и кегель.

3.Алгоритмическая часть

<!--[if !vml]--> <!--[endif]-->Для решения задач нахождения шарика использовалась черно-белая видеокамера с выходным сигналом в стандарте PAL. Сигнал с камеры приходил на видеоконтроллер, где обрабатывался и полученные координаты кегель и шарика передавались в главный контроллер по интерфейсу UART. Изображение обрабатывалось в несколько этапов. Первым действием была бинаризация изображения. Она выполнялась для того, чтобы выделить чёрный шарик на фоне более светлых квадратов. В результате обработки получалась картинка с шариком в виде большой черной области и мелкого шума. Далее анализировались отдельные области. Для этого использовалось сравнение с эталоном. Каждая чёрная область анализировалась отдельно, и для неё считался коэффициент сходства с кругом. Далее выбирались координаты центра самой вероятной области и передавались в главный контроллер. На основе этих данных принималось решение о дальнейших действиях.

4.Решения других команд

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

5.Результаты и обсуждение

Механическая часть робота работала хорошо. Единсвенным недостатком было то, что для замены аккумуляторов требовалось разбирать робота. Но с програмной частью всё было чуть сложнее. Следящая система работала не для всего диапазона скоростей, но это удалось решить. Особая проблема была с соединением видеоконтроллера и главного контроллера в комплекс. Хотя интерфейс UART документирован, всё равно буфер порта переполнялся и данные терялись. Проблема была решена с помощью более частого опроса порта и увеличения размера буфера. На создание аппартной части ушло около 4 месяцев, на программу распознавания 3 месяца, на общую отладку 1 месяц. В результате проект был завершен за 5 месяцев (программная и аппаратная части разрабатывались параллельно).

6.Перспективы разработки

Конкурс роботов EUROBOT проводится каждый год с разными правилами. Правила новых соревнований появляются в сентябре, а соревнования проходят в мае – июне следующего года. По некоторой информации в следующем 2006 году будут соревнования, напоминающие гольф. Есть над чем подумать.

Хочется особенно поблагодарить Ленского А.В., Кожанова А., Пахомова В. за поддержку. Эти люди всегда готовы помочь в сложной ситуации, правильным советом и делом. Спасибо. Наша команда молодая – трое её членов участвовали в подобных соревнованиях впервые. Но это не помешало преодолеть все трудности.

нажмите для перехода наверх страницы