Как мы делали робота-футболиста. Роботы футбол


Как мы делали робота-футболиста / Хабр

25 ноября 2012 года в Таллинне проводилось крупнейшее в Балтии соревнование роботов — «Роботекс». Мы решили построить робота в категории профессиональный футбол. Конечно, это будет не Криштиану Роналдо, но вызов интересный. Я опишу детали создания и программирования робота. Имя его — Палмер.

Сам футбол проходит на площадке зеленого цвета, на котором расположены 11 оранжевых мячиков для гольфа. Имеются ворота, 15 см высотой и примерно 37 см шириной, желтые у одной стороны и синие с другой. Робот должен искать мячи на поле, захватывать их, выбирать нужные ворота и забивать. На поле находятся два робота. Побеждает тот, кто забьет больше мячей. Технические требования к роботу: цилиндр высотой 35 см и диаметром 35 см. Все просто. После обсуждения деталей и пары ящиков пива пришли к такой конфигурации. На борту будет стоять материнская плата mini-формата с процессором Атом. Плюсы — не требуется охлаждение и отдельное питание, компактность. Минусы соответственно в невысокой производительности. Изображение захватывается камерой от Sony Playstation 3, идеальная камера по цене и качеству. Критичным является частота кадров, так как от нее зависит максимально возможная скорость робота. Допустим, при частоте 30 кадров в секунду и скорости робота 3 метра в секунду он будет проезжать между двумя кадрами 10 см, что явно недостаточно для точности захвата мяча. PS3 выдает до 125 кадров в секунду. Драйвер камеры хорошо вписывается в ядро Linux. Операционная система Ubuntu с загрузкой по USB. Для распознавания образов используется любимая OpenCV.

Помимо камеры для исследования окружающего мира используются ИР-датчики и маяки. Инфракрасные датчики позволяют избегать столкновений с другим роботом или воротами. Питание — литиевый аккумулятор, с понижением питания с 14.8V to 12V для материнской платы. Питание для моторов LiPo аккумуляторы (2x 4S 14.8V 2200mAh + 2x 2S 7.4V ~2000mAh). Отдельное питание для моторов используется потому, что при старте моторов происходит сильное падение напряжения в цепи, что в свою очередь может сбрасывать микроконтроллер. Да и отдельное питание позволяет убрать высокочастотный шум от моторов, что так же сбивает микроконтроллер. В цепи стоят два типа конденсаторов, одни сглаживают падения напряжения, другие, более быстрые, сглаживают высокочастотный шум. Широкополосный шум возникает в процессе искрения щеток мотора, который, проходя по цепи, сбивает микроконтроллеры. Для решения этой проблемы применяется H-Bridge с оптическими прерывателями. H-Bridge — это реле-мост, схема которого позволяет менять полярность тока на моторах без риска короткого замыкания. Сигналы подходящие к мосту проходят через оптические прерыватели. Оптические прерыватели разрывают сеть, и шум от моторов не попадает в цепь контроллера. Состоят из светодиода и фотоэлемента в одном корпусе, т.е. цепь разомкнута, но сигналы идут. Такие мосты применяются для управления чем угодно. Платы для моста делаем сами.

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

image

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

image

И через несколько дней.

image

Механика и электроника собирались в режиме нон-стоп, иногда работали по ночам. Код начал писать параллельно, используя С++ и в качестве среды разработки Qt. Робот — это классический абстрактный автомат, у которого есть набор состояний (мяч найден, движение, поиск ворот, или цель найдена, ракета наведена), причем неважно, военный робот, игрушечный или промышленный. Проблема состоит в том, что состояний должно быть так мало как только возможно, и так много, как необходимо. Если алгоритм делать слишком запутанным, то в какой то момент не будешь понимать, почему робот реагирует именно так. У нас состояний 8: Стартовое, Поиск Мяча, Поиск Ворот, Прицеливание, Избегание препятствий, Заряд конденсаторов соленоида, Удар, Конечное. Переходы между ними образуют граф, который и является алгоритмом.

Больше всего времени уходит на написание и доводку кода, тестирование, калибровку. Что на самом деле и есть самое главное.

Распознавание робота выделенное в отдельные классы, строится так. Каждый кадр проходит обработку, где сначала конвертируются цвета из RGB в HSL, которое более близко к нашему восприятию, и с которым удобнее работать. Для удобства конвертации используется не встроенная функция OpenCV, поскольку конвертация — это вычисления и на них тратится такое дорогое время, а заранее вычисленная таблица цветов (lookup table), где из RGB значение получается смещение в таблице, а после делается выборка цвета по адресу. Выигрываем в скорости, проигрываем в памяти, все как в теории. Далее последовательно ищутся объекты (мячи, ворота) и записываются в список. Объекты ищутся по общему алгоритму, пробегается в цикле каждый пиксель, и если он попадает в диапазон цвета объекта, то на карте ставится бит. В итоге получается битмап-карта с выделенными объектами. Битмап-карта отправляется на вход OpenCV функции, которая выдает обратно список контуров. Далее находим площадь контуров и если площадь контуров больше 40-50% от площади круга (прямоугольника) или в диапазоне 4/Pi, то считаем этот объект распознанным и добавляем его в список. Шары ищутся в некоем диапазоне (маленькие шум, больших не бывает, на потолке тоже смысла шары искать нет). Поскольку камера выдает до 125 кадров в секунду, использовать некоторые встроенные функции OpenCV нельзя, они долгие, но библиотека устроена удобно и через указатели можно пробегать по всей матрице. Осталось сделать проверку того, не выкатился ли мяч за край поля (черным ограничено), поскольку робот не должен выезжать за черную линию. Проверка достаточно проста, чертим линию из центра нижней части изображения до мяча и смотрим, не пересекает ли она черную область. Если пересекает, то контур из списка выкидывается.

Дальше — самое интересное. Робот имеет определенное количество состояний, в которые он переходит в зависимости от условий. Это просто. Алгоритм пишется именно на этом этапе. Самое сложное — это калибровка. Как из полученных объектов и их координат выстроить функцию скорости, направления?

Пробегаем весь выданный список и находим самый большой мяч по площади. Это самый близкий. Теперь, чтобы из координат объекта получить функцию скорости и направления, требуется подумать и покурить матан. Чем выше координаты мяча на изображении и чем он меньше по площади, тем он дальше. Чем более сдвинут по оси X и дальше/ближе, тем более острый, или наоборот тупой угол. Чтобы получить коэффициенты, ставится робот на площадку в один конец по центру, дальше начинается процесс ползания с рулеткой, измерения точек с неким шагом (33 см) и снятием показаний значений объекта в системе распознавания (площадь контура). Наносим значения и пытаемся найти функцию, которая была бы связью одних значений с другими. Точность сильная не нужна, поскольку робот не строит путь раз и навсегда, а корректирует себя 17-18 раз в секунду, столько выдает наша маленькая система. Т.е. надо найти функцию, предел которой стремится к искомым результатам при небольших изменениях аргументов. Далее на колеса подается угол и направление, откуда скорости вычисляются простейшими векторными уравнениями. Рисунок объяснит.

image

Далее, когда мы умеем двигаться к объектам, алгоритм игры в футбол написать не так сложно. А вот уже близко к соревнованиям. Мой справа.

image

Результат в действии:

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

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

Второе — это проблема с распознаванием. Когда робот крутится, на дальних дистанциях мячи и ворота имеют опять таки большую линейную скорость, и кадр на распознавание идет смазанный. Функция поиска контуров работает по градиентам, но смазанные ворота не имеют четких градиентов, и поэтому вместо одного контура ворот на выходе получаются или десятки контуриков (это ест ресурсы) или ничего не получается (мяч размазывается в маленький оранжевый туманчик). Я имел на входе 17 кадров в секунду, соответственно дальние объекты при вращении для меня были недоступны. Плюс задержка по процессингу. Т.е. когда робот понимает, что вдалеке были ворота, их уже там нет (правда, это я и использовал в свою пользу, когда давал вращение от своих ворот, и задержка как раз была такая, что мой робот поворачивался почти к вражеским воротам). Ультрабук на голове робота решил бы проблемы.

Одно из решений, которое использовала другая наша команда, это резать картинку, т.е. когда мы видим мяч, то лишнее начинаем срезать, центрируем его, а бока срезаем и выкидываем, FPS подскакивает до 60. Та же логика и при распознавании ворот, тем более при поиске, нижняя часть не нужна, ее режем.

У меня была другая камера и со срезами возникли бы проблемы. Хорошее решение с двумя камерами. Одна широкоугольная, смотрит направления и дает обзор. Вторая напротив дает расстояния и видит далеко.

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

Второй мое упущение — это то, что я не знал, что стартуют роботы с правого угла. Робот должен помнить, в какой стороне ворота противника и куда он должен поворачиваться, иначе неправильный оборот берет много времени. Я определял стороны ворот по цвету, но пока ворота не появились в поле зрения, переменная-множитель направления (плюс или минус один задает сторону поворота) по умолчанию принимала значение -1 против часовой стрелки, а надо было по часовой. И из-за этого в проигрышном матче первые два мяча наш забил на противоходе и потерял время. Итог 6-4, а во втором ничья 5-5, и наш проигрыш. 5 место из 18 команд. Мешал еще высокий центр тяжести, не поставить большую скорость — начинает танцевать. Я прозвал его принтер.

Вообще, здесь очень много нюансов. Что запомнилось — так это интересная тусовка. И ритм. Т.е. скорость и постоянная доработка машин. После каждого матча. С чемпионом мы сыграли 4-3! (тактика защиты, закрыли ворота и били издалека). Первый матч один на один мы провели на соревнованиях! Отсюда невозможность оттестировать стратегию поведения. В течении недели нас преследовали поломки. Плюс у нас камера сбилась (ось) я пытался решить проблемы механики кодом, чего никогда нельзя делать, но времени не было, и только перед последним матчем я все решил. Всего мы сыграли 4 матча. В первом победили робот-кубик.

image

Во втором выиграли команду Скайпа, у которых был очень интересный робот. Безумно быстрый, маленький, с 8 камерами и FPGA! То есть они сделали то, что вообще не должно было бы работать. Он быстро вылетел, но был очарователен. Вот он.

image

Были очень интересные решения. Робот, занявший первое место (3 год дорабатывался) имеет обзор 360 градусов. Камера смотрит наверх на конусообразное зеркало. Получается картинка в полярных координатах.

image

А по поводу все просчитать, есть такая история в анналах «Роботекса», над которой все постоянно смеются.

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

Спасибо за внимание.

habr.com

Игровой набор «Роботы-футболисты»

Обзор настольного игрового набора из двух забавных мини-роботов играющих в футбол на специальном поле. У роботов светятся глаза, управление производится при помощи ИК-пультов, которые также осуществляют звуковое сопровождение процесса игры издавая характерные (по мнению разработчиков) каждому роботу звуки. На самом деле, роботы из данного набора относятся к целой серии, или даже вернее небольшому миру роботов. За пределами Поднебесной они продаются под брендом Zibits.

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

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

Выпускаемые по отдельности, мини-роботы достаточно быстро стали популярными среди детей, игрушка даже получала первые места от нескольких детских журналов в Европе и вскоре для них придумали специальные тематические наборы, типа «Стройка» или обозреваемый «Футбол».

Итак, поставляется игра вот в такой коробке с ручкой для переноски

Из описания на тыльной стороне коробки становится ясно, что к нам пришли роботы с именами Эокс (синий) и Скрапс (коричневый)

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

Еще фото

Батарейки типа AG13, используются в количестве по 3 штуки на брата-робота

Пульты управления роботами, как и пульты от бытовой техники, используют инфракрасный канал передачи сигнала. Единственный орган управления – двухпозиционный (вперед-назад) стик, ну или «джойстик» если по-простому…

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

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

Питается каждый пульт от трех ААА-батареек

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

Переходим к нашим футболистам — Эоксу и Скрапсу

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

Судя по внешности, Эокс является родственником R2-D2 из «Звездных войн» и стиральной машинки

Подробнее об Эоксе

«Включалка» робота расположена под рукой

На голове, сзади находится ИК-приемник

Крышка батарейного отека для прочности фиксируется шурупчиком

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

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

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

Подробнее о футбольном поле

Поле состоит из двух половинок, поэтому при хранении также займет мало места

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

По этому трапу, для полной «натуральности» роботы могут заезжать на поле самостоятельно

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

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

Сложновато на первый взгляд? Да… но дети достаточно быстро «врубаются» в эту систему и особых проблем в этом не возникает. Наоборот, эти непонятные пляски роботов добавляют неповторимый колорит в процесс игры, так как при этом провести мяч и забить его в ворота противника становится настоящим событием

А так робо-футбол выглядит «вживую»

Вот такая вот забавная и необычная игра.

Купон на скидку

В настоящее время в магазине можно получить 7% скидку с купоном «goodcoupon»

Спасибо за внимание.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

mysku.ru

Международные состязания роботов — Правила — Футбол роботов

Футбол роботов

Содержание

  1. Игровое поле
  2. Мяч
  3. Роботы
  4. Проведение матча
  5. Разрешение конфликтных ситуаций
  6. Проверки
  7. Кодекс поведения

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

1. Игровое поле

  1. Поле
    1. Игровое поле для соревнований имеет размеры 1220 х 1830 мм. По периметру поля нанесена граница - белая полоса шириной 300 мм.
    2. Поверхность поля имеет износостойкое виниловое или пластиковое покрытие.
    3. Центральная часть игрового поля должна быть абсолютно ровной и строго горизонтальной. Все белые границы, в том числе и на концах поля, приподняты в наружные стороны на 10 мм.
    4. Игровое поле должно быть размещено на ковре или войлочной подстилке.
    5. Игровое поле можно развернуть как на столе, так и на полу.
  2. Ограждающие стенки.
    1. Вокруг игрового поля, в том числе и за воротами, установлены матовые чёрные ограждающие стенки.
    2. Высота стенок составляет 80 мм. (70мм WRO2013)
    3. Ограждающие стенки могут быть изготовлены из любого материала, поскольку это никак не влияет на игру.

  1. Ворота.
    1. Ширина каждых ворот составляет 450 мм.
    2. Задняя и боковые стенки ворот изнутри окрашены в небесно голубой цвет. Пол внутри ворот - белый. Снаружи ворота имеют матовый чёрный цвет.
    3. Глубина каждых ворот составляет 80 мм. (74мм WRO2013)
    4. Каждые ворота снабжены чёрной перекладиной, установленной на высоте 140 мм над уровнем поля.
    5. Поверхность поля внутри ворот должна быть абсолютно ровной и строго горизонтальной.
  2.  Нейтральные зоны.
    1. На игровом поле предусмотрены две нейтральные зоны.
    2. Первая нейтральная зона образована границей тёмно-зелёной и зелёной зоны, а вторая нейтральная зона образована границей тёмно-зелёной и светло-зелёной зоной (на поле нейтральные зоны не изображены).
  3. Освещение и магнитные поля
    1. Команды должны быть готовы откалибровать своих роботов в соответствии с условиями освещённости и магнитных полей в месте проведения состязаний. Организаторы олимпиады должны приложить максимум усилий к тому, чтобы поддерживать на футбольных полях минимально допустимый уровень освещённости и расположить их как можно дальше от источников магнитных полей, например, от электропроводки и металлических предметов. Что, тем не менее, не всегда возможно обеспечить.

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

2. Мяч.

  1. Технические условия.
    1. Для игры будет предложен хорошо сбалансированный электронный мяч диаметром 8 см.
    2. Мяч будет испускать импульсное (MODE D (1200Hz pulsed)) инфракрасное (ИК) излучение.
    3. Поставщики мячей.? Официальными поставщиками мячей для Футбола роботов будует компания HiTechnic - Infrared Electronic Ball (IRB1005). Подробную информацию об этих мячах можно найти на сайте: www.HiTechnic.com.

 

?юImageGlue JPEG Export

3. Роботы.

  1. Размеры роботов.
    1. Размеры роботов будут определять в «положении стоя» с учётом всех максимально выступающих частей.
    2. Расположенный таким образом робот должен вписываться в цилиндр с внутренним диаметром 220 мм.
    3. В высоту робот должен быть не более 220 мм.?
    4. Каждый робот должен весить не более 1 кг.
    5. При проверке каждый из роботов должен быть установлен в положение с максимальной высотой и размахом выступающих частей. Если робот снабжён подвижными элементами, которые выступают в двух направлениях, то этот робот должен будет быть проверен в действии. При этом робот не должен касаться стенок проверочного цилиндра.
  2. Управление роботом.
    1. Роботы должны быть способны действовать автономно.
    2. Должна быть предусмотрена возможность запуска робота вручную.
    3. Запрещается использование любых систем дистанционного управления роботами.
    4. Роботы должны быть способны двигаться во всех направлениях.
    5. Допускается использование соединения bluetooth для связи роботов между собой?, но только если это не окажет воздействия на работоспособность остальных роботов.

Замечание: Роботы должны иметь возможность отключения своих устройств связи по требованию судей?.

  1. Маркировка/Расцветки роботов.
    1. Участники соревнований должны каким-либо способом пометить своих роботов так, чтобы была видна их принадлежность к одной и той же команде.
    2. Роботы должны быть окрашены и помечены так, чтобы это не оказывало влияния на игру  и датчики других роботов.
  2. Команды
    1. Во всех командах должно быть не более двух (2) роботов. Во время соревнований запрещаются любые замены роботов. Иначе команда будет дисквалифицирована.
  3. Конструкция роботов.
    1. Роботы должны быть построены только из фирменных элементов, моторов и датчиков LEGO.
    2. Запрещается использовать любые иные материалы, включая клей, липкую ленту, винты и т.д. Исключением является только использование стяжек или липкой ленты для скрепления проводов.
    3. Все используемые электрические элементы должны быть из конструкторов типа LEGO MINDSTORMS. В одном матче можно использовать ограниченное количество электрических элементов:

Для пользователей RCX:

Для пользователей NXT:

Блок RCX (1)

Блок RCX (1)

Моторы (3)

Моторы (3)

Датчики касания (2)

Датчики касания (2)

Датчики освещенности (2)

Датчики освещенности (2)

Лампы (1)

Лампы (1)

Датчики оборотов (3)

Датчики оборотов (3 минус количество имеющихся моторов NXT)

Тритий датчик касания ИЛИ освещенности (1)

Датчик расстояния (1)

Датчик-компас RCX (1)

Датчик-компас NXT (1)

Датчик RCX flyeye R0326(1)

ИК датчик NXT (IR seeker sensor) (1)

 

 

  1. Зоны захвата мяча и зоны перемещений
    1. Зоны захвата мяча – это любое внутренне пространство игрового поля в пределах, охватываемых поверочной линейкой, приложенной к выступающим частям робота.
    2. Мяч не может проникать в Зону захвата более, чем на 3 см.
    3. Робот не имеет права "удерживать" мяч.
    4. Роботу запрещается удерживать мяч под собой.
    5. Мяч всегда должен быть «на виду» так, чтобы другие игроки имели к нему доступ в любой момент матча, части робота не должны перекрывать мяч более чем на радиус.
    6. Единственным исключением из правила 3.6.3 является применение вращающегося барабана для придания мячу динамического обратного вращения, чтобы удержать его. Такое действие называется "дриблингом" (Ведением мяча).
    7. Робот, «ведущий» мяч, должен выполнять требования правила 3.6.2. От точки контакта этого робота до центра мяча должно быть 3 см.

Замечание: «Удерживать мяч» - означает полный контроль над ним путём блокирования всех степеней свободы мяча. Например, если робот прижмёт мяч к своему корпусу или охватит его любыми своими элементами, затрудняя доступ к мячу остальным «игрокам». Будет считаться, что робот «удерживает» мяч, если тот перестаёт вращаться, когда робот «ведёт» его или если мяч не рикошетит, когда попадает в робота.

  1. Вратари (Голкиперы)
    1. Если команда использует вратаря, то ему недостаточно перемещаться только в одном направлении, и он должен быть запрограммирован так, чтобы иметь возможность двигаться по полю в любую сторону.
    2. Вратарь должен выдвигаться вперёд, чтобы попытаться перехватить мяч перед воротами. А при необходимости робот должен иметь возможность перемещаться вне штрафной площадки (на расстояние до 45 см от ворот).
    3. Если робот-вратарь движется не по прямой, он будет признан «Повреждённым» (см. Раздел 4.7).

Замечание: Вратарь не может смещаться в стороны, допускается только движение вперёд.

4. Проведение матча.

  1. Предварительные настройки.
    1. Организаторы турнира разрешат доступ к игровому полю для настройки и проверки роботов до начала соревнований в соответствии с расписанием, которое будет опубликовано в начале мероприятия.
    2. Организаторы постараются выделить не менее 10 минут для проведения настроек перед каждой игрой.
    3. Судья будет проверять исправность мяча перед каждым периодом (половиной игры) матча.
    4. В этот же период команды могут предъявить претензии к роботам соперника.
  2. Продолжительность игры.
    1. Матч будет состоять из двух 10-минутных периодов. По решению оргкомитета турнира продолжительность периодов в некоторых случаях может быть сокращена до 5 минут.
    2. Между периодами предусмотрен 5-минутный перерыв.
    3. Секундомер будет включен на протяжении всей игры (двух 10-минутных периодов), без остановки времени (за исключением тайм-аутов, взятых судьёй – см.Раздел 4.9.4).
    4. По решению судьи команда может быть наказана одним голом за одну минуту опоздания.
    5. Если команда не будет готова к игре через 5 минут после её начала, она будет признана проигравшей со счетом 0:5.
    6. Если разница забитых голов в матче достигает 10, то матч завершается.
  3. Начало игры.
    1. Перед началом каждого периода матча судья будет подбрасывать монетку, и команда, стоящая первой в списке, должна будет сделать свой выбор (орел или решка) и заявить его, пока монета находится в воздухе.
    2. Команда, выигравшая жребий, может выбрать: (a) ворота или (b) право первого удара.
    3. Команде, которой не повезло жребием, достанется другой выбор.
    4. Команда, которой не досталось право первого удара по мячу в первом периоде матча, произведёт его во втором периоде.
  4. Первые удары по мячу.
    1. Каждый период матча начинается с первого удара по мячу.
    2. Все роботы должны находиться на своей половине поля (в обороне).
    3. Роботы не должны двигаться (колёса не должны вращаться).
    4. Судья устанавливает мяч в центр игрового поля.
    5. Команда, которой предоставлено право первого удара, устанавливает своих роботов на поле первой. При этом роботы не должны двигаться.
    6. Все роботы, кроме того, который будет наносить первый удар по мячу, должны частично находиться в штрафной площадке.
    7. По сигналу судьи все роботы должны быть немедленно запущены членом команды (человеком).
    8. Любой робот, начавший игру до сигнала судьи, будет удалён с поля на одну минуту.
  5. Подсчёт очков.
    1. Гол будет засчитан, если мяч полностью пересечёт линию ворот. То есть, мяч должен удариться о заднюю стенку ворот. Если гол засчитан, судья свистит в свисток.
    2. Чтобы гол был засчитан, мяч должен свободно вкатиться в ворота. Иначе судья решит, что мяч был «затолкнут» и не засчитает его. В этом случае игра не будет остановлена. Гол не будет засчитан. Мяч будет установлен в любой ближайшей доступной нейтральной зоне и игра будет продолжена. Робот должен произвести видимое действие, чтобы ударить по мячу, иначе он будет считаться «затолканным». То есть, если робот не совершит действия, чтобы освободиться от мяча, который свободно катится вместе с роботом, движущимся по направлению к воротам, будет считаться, что робот «затолкал» мяч.*
    3. Если мяч попадёт в ворота, отскочив от робота-защитника, который какой-либо своей частью находится на линии ворот или в «площади ворот», он будет засчитан. Роботы должны быть сконструированы так, чтобы перекладина ворот препятствовала их попаданию за линию ворот.
    4. После засчитанного гола команда, пропустившая его, начинает игру с центра поля.
    5. "Автоголы" будут засчитаны, даже если мячи были «затолканы» в ворота.*

*Понятие "затолкнутого" мяча отсутствовует в правилах WRO 2013, но на МСР оно по прежнему будет.

  1. Блокировка.
    1. Блокировка происходит в случаях, когда мяч надолго застрял между несколькими роботами (“затруднительная” ситуация) и в обозримом будущем ничто не может её изменить.
    2. В случае блокировки мяч устанавливают в ближайшей нейтральной зоне. При повторении такой ситуации мяч устанавливают в центр поля.
    3. При объявлении ситуации блокировки, все роботы будут раздвинуты судьёй или капитанами команд на минимальное расстояние друг от друга, достаточное, чтобы они смогли начать свободно двигаться.
  2. Повреждённые роботы.
    1. Если робот оказался неспособным самостоятельно двигаться и/или не реагируют на мяч, судья объявляет их повреждёнными.
    2. Если один робот остаётся на белой боковой полосе или где-то застрял и не «собирается» возвращаться на игровое поле, судья признаёт его повреждённым.
    3. Судья или игроки (после разрешения судьи) могут убрать повреждённого робота (или роботов) с игрового поля.
    4. Повреждённый робот должен оставаться вне игрового поля не менее одной минуты. В укороченных (5-минутных) периодах повреждённый робот может быть заменён после забитого и засчитанного гола.
    5. Повреждённый робот должен быть починен и с разрешения судьи может быть возвращён в нейтральную зону ближайшую к воротам, которые он защищает, при этом не будет учитываться, например, был ли робот повёрнут к мячу.
    6. Вратарей можно возвращать на поле в любое место перед воротами (в чёрную зону пенальти).
    7. Если робот опрокинулся после столкновения с другим роботом, судья может снова поставить его «на ноги» и робот продолжит играть.
    8. Если робот опрокинулся «самостоятельно», его признают повреждённым и удалят с поля.
  3. Мяч «в ауте»
    1. Мяч будет считаться в ауте, если он ударился о внешнюю ограждающую стенку или покинул поле.
    2. После объявления «мяч в ауте», его устанавливают в ближайшей нейтральной зоне, так, чтобы это было невыгодно команде, робот которой последним коснулся мяча. То есть, в нейтральной зоне, расположенной в направлении, противоположном удару.
  4. Остановка игры.
    1. В ситуациях, описанных в разделах 4.6-4.8, игра может быть прервана, а мяч установлен в ближайшей нейтральной зоне, откуда игра и будет продолжена.
    2. Также игра приостанавливается по свистку судьи (тайм-аут), но при этом секундомер не останавливают – на усмотрение судьи. В этот момент все роботы должны сразу же остановиться и вернуться в те позиции, которые они занимали, когда прозвучал свисток.
    3. Остановленная игра возобновляется по сигналу судьи, при этом все роботы должны стартовать одновременно.
    4. Судья также может взять тайм-аут (“Referees Time Out”) для ремонта игрового поля, а также в ситуациях, описанных в пункте 4.11.3, или судью вызовут для уточнения правил проведения соревнований. Если остановка игры затягивается, судья может остановить секундомер.
  5. Групповая оборона Multiple Defense .
    1. Групповой обороной считается ситуация, когда более одного робота обороняющейся команды входят в зону пенальти и оказывают решающее воздействие на игру.
    2. В случае "Групповой обороны" робота, вносящего наименьший вклад в игру, устанавливают в центр поля. В ситуациях с участием вратарей будут перемещены остальные игроки.
  6. Нарушения правил.
    1. Если робот использует устройство, посредством которого (или без него) постоянно атакует роботов, не владеющих мячом, судья фиксирует нарушение правил ("Foul"). После этого капитан команды должен не позднее, чем через одну минуту снять этого робота с игрового поля и устранить возникшую проблему; после этого игра будет возобновлена (в соответствии с Разделом 4.7 "Повреждённые роботы").
    2. Если робот (роботы) продолжает «фолить», его постоянно будут удалять с поля, на него нацепят предупреждающую жёлтую карточку (стикер), а судья будет заносить эти нарушения в протокол матча.
    3. Если в результате нарушения правил робот будет повреждён, судья остановит игру и секундомер (на 2 минуты WRO2013)до тех пор, пока повреждение не будет устранено (см. Раздел 4.9.4 «Остановка игры»).
    4. Если робот был удалён за нарушения правил в двух матчах, он дисквалифицируется на весь турнир.
  7. Свободные удары. На данном турнире правилами не предусмотрены свободные удары.
  8. Пенальти. На данном турнире правилами не предусмотрены пенальти.
  9. Положение «вне игры» (офсайды). На данном турнире офсайды правилами не предусмотрены.
  10. Участие в турнире людей.
    1. В целом, перемещение роботов людьми не разрешается.
    2.  Люди могут перемещать роботов только по разрешению судьи.
    3. Перед началом каждого матча команды должны назначить одного из своих членов «капитаном». Капитану будет позволено снимать роботов с игрового поля и заменять их во время игры. Капитаны должны действовать строго по установленным правилам и в соответствии с указаниями судьи.
    4. Остальные члены команды во время игры (когда мяч находится в игре) не должны приближаться к игровому полю менее, чем на один метр, кроме случаев, определяемых судьёй.

5. Разрешение конфликтных ситуаций.

  1. Судьи.
    1. Во время игры решения судьи являются окончательными. Любое несогласие с решением судьи наказывается предупреждением (жёлтой? карточкой?). Если после этого конфликт продолжается, судья показывает красную карточку, что немедленно приводит к поражению в игре.
    2. Если капитаны команд удовлетворены результатами игры, они подписывают соответствующие протоколы по счёту и судейству.
    3. Любые протесты после игры принимаются только если её результаты некорректны или вызывают сомнения. После подписания протокола матча, протесты не принимаются.
  2. Уточнение правил.
    1. Уточнение правил может быть произведено только членами Футбольного комитета WRO.
    2. Если необходимо произвести уточнение правил, судья должен немедленно остановить игру, взять тайм-аут (см. Раздел 4.9.4), остановить секундомер и подтвердить решение , прежде, чем продолжить игру.
  3. Исключительные обстоятельства.
    1. В исключительных ситуациях, наступающих при возникновении непредвиденных проблем и/или затруднений у роботов, в правила соревнований по соглашению противных сторон могут быть внесены (в ходе состязаний) особые поправки.

6. Проверки.

  1. Наблюдатели.
    1. Все роботы будут проверены судейской комиссией в начале каждого дня соревнований, чтобы удостовериться, что роботы соответствуют всем требованиям, изложенным в Разделе 3.
    2. На командах лежит ответственность за предоставление своих роботов на повторную проверку, если те не прошли проверку судейской комиссией, или их конструкция была изменена во время соревнований.
    3. При любых нарушениях правил проверки робот не будет допущен к соревнованиям до тех пор, пока произведенные модификации влияют на действия робота.
    4. Все модификации должны быть произведены в оговоренное регламентом соревнований время. Команды не должны задерживать игру из-за внесения модификаций.
    5. Если робот не соответствует техническим требованиям (даже с произведенными изменениями), то данный? робот будет дисквалифицирован на текущую игру (но не на весь турнир).
  2. Учащиеся.
    1. Учащихся попросят объяснить, как работает их робот с тем, чтобы удостовериться, что они самостоятельно сконструировали и запрограммировали своего робота.
    2. Учащимся будут заданы вопросы о том, как они проводили подготовительные работы. Это будет анкетирование и запись видео интервью, которые необходимы для исследовательских целей.
    3. Должны быть предоставлены документы (фотографии, журналы регистрации, постеры, планы и т.п.), подтверждающие то, что роботы сконструированы и запрограммированы самими учащимися. Подробное описание мелких изменений не требуется. Необходимо предоставить доказательства полного понимания показанной программы.
    4. Предполагается, что организаторы соревнований проведут эти проверочные собеседования до начала финальных игр.
    5. При любых нарушениях правил проверки робот не будет допущен к соревнованиям до тех пор, пока произведенные модификации влияют на действия робота.
    6. Все модификации должны быть произведены в оговоренное регламентом соревнований время. Команды не должны задерживать игру из-за внесения модификаций.
    7. Если робот не соответствует техническим требованиям (даже с произведенными изменениями), то данный робот будет дисквалифицирован на текущую игру (но не на весь турнир).
    8. Если выяснится, что учащимся была оказана чрезмерная помощь со стороны преподавателей при создании роботов, то такая команда будет дисквалифицирована на весь турнир.

7. Кодекс поведения.

  1. Честная игра.
    1. Роботы, которые преднамеренно и неоднократно во время игры становятся причиной повреждений других роботов, будут дисквалифицированы (см. Раздел 4.11).
    2. Роботы, которые во время игры повреждают игровое поле или мяч, будут дисквалифицированы (см. Раздел 3.8).
    3. Люди, которые преднамеренно оказывают воздействие на любых роботов или повреждают игровое поле или мяч, будут дисквалифицированы.
    4. Предполагается, что целью всех команд является честная игра в «робототехнический футбол».
  2. Поведение участников.
    1. Все участники турнира должны сдерживать свои эмоции в местах проведения соревнований.
    2. Участники не должны заходить на чужие площадки для настройки роботов, кроме как по прямому приглашению членами других команд.
    3. Участникам, которые ведут себя неподобающим образом, могут предложить покинуть помещение, где проводятся соревнования, и они рискуют быть дисквалифицированными на весь турнир.
    4. Эти меры могут быть применены по усмотрению судей, руководителей организаторов соревнований и представителями местных властей.
  3. Руководители-наставники (менторы).
    1. Руководители-наставники (учителя, родители, сопровождающие лица и другие взрослые – члены команд) не имеют права заходить в рабочие зоны учащихся.
    2. Руководителям-наставникам будет предоставлено достаточно мест для сидения вокруг рабочих зон учащихся, чтобы они могли наблюдать за ними.
    3. Руководители-наставники не могут принимать участие в ремонте или программировании роботов учащихся. Роботы не должны покидать рабочие зоны учащихся в течение всего дня соревнований.
    4. Вмешательство руководителей-наставников в работу над роботом или в решение судей в первый раз будет наказано предупреждением (жёлтой карточкой). При повторении этих нарушений будет предъявлена красная карточка и нарушителю предложат покинуть помещение, где проводятся соревнования.
  4. Публикации.
    1. Команды будут поощряться за размещение материалов по соревнованиям на YouTube с использованием тэгов WRO GEN II Soccer. За лучшие клипы могут быть присуждены призы по решению организаторов турнира.
  5. Поддержание духа соревнований.
    1. Предполагается, что все участники соревнований, как учащиеся, так и наставники, будут уважать цели проведения олимпиады WRO.
    2. Судьи и официальные представители олимпийского комитета будут действовать соответственно духу проводимого мероприятия.
    3. Не важно, выиграли вы, или проиграли, значение имеет лишь то, чему вы научились.

 

Оригинальные правила WRO 2013

Обновлено 12.03.2013

www.wroboto.ru

Роботы и футбол. Интервью с бронзовыми призерами WRO 2016

Конструкторы для обучения детей робототехнике

Share Button

На прошедшей всемирной олимпиаде роботов в Индии команда Fixies в составе Семена Сонарова и Романа Вертячих получила бронзовую награду. В интервью нашему изданию Роман рассказывает, как проходила подготовка и играют ли ребята в «обычный» футбол. 

bronza-wro2016

Команда Fixies. Фото из личного архива

Александр Гагарин: Почему вы выбрали футбол роботов? 

Роман Вертячих: Я и Семен занимаемся робототехникой 4 полных года. Конкретно я начинал со свободной категории, продолжал в основной, и теперь весь полученный опыт помогает мне в футболе роботов. Мой напарник начинал со свободной категории. Он перешел в футбол раньше меня, так как не участвовал в основной категории.

Мы выбрали футбол роботов, потому что заинтересовались этим направлением. Первым увлекся Семен. У нас в ЦДТТ, где мы занимались изначально, проходили соревнования, где нужно было играть в футбол роботов, но управлять дистанционно (с помощью другого блока через bluetooth). Когда мы узнали,что есть такое направление, где роботы должны быть автономными, то решили попробовать себя (в это время я еще был в основной). Методом проб и ошибок, наблюдая за работой роботов других команд, участвуя в различных сборах от Иннополиса, мы получили большой опыт, которым смогли воспользоваться.

RobCup 2016. Фото Tom Schulze

Читайте также: Футбол роботов RoboCup 2016

Как проходит футбольный матч на WRO?

В Индии матч длился 20 минут — по 5 минут на калибровку перед каждым таймом, по 5 минут- каждый тайм (всего было 2). Команда, которая забивает большее количество голов, побеждает. Организация была ужасной, потому что организаторы использовали метод жеребьевки, который не подходит для данных мероприятий. После того, как мы попали в ТОП-16 , нас поставили играть с Москвой в первом круге, что непозволительно. Команды из одной страны могут встретиться в полуфинале, финале, но никак ни в первой игре ТОП-16.

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

После РРО (Российская робототехническая олимпиада — прим. ред.) в Иннополисе я разобрал старые конструкции. Семен отложил старые программы. Началась работа практически с нуля. Конструкции были переделаны полностью, потому что старые не позволяли выполнять определенные элементы нашего алгоритма. Программы писались с нуля, но алгоритм оставался прежним. По ходу написания новой программы появлялись новые идеи. Так мы за 1 месяц перед федеральными сборами сделали больше, чем за 4 месяца подготовки к республиканской олимпиаде (причины непродуктивной подготовки были, но это совсем другая тема). В итоге, усиленная работа перед федеральными сборами дала результат — первое место по России по итогам этих же сборов.

Как робот изменился после РРО в Иннополисе?

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

' mycrib[1] = '' mycrib[2] = '' var x = 0; function rotate(mycrib) { while (x

Какая роль тренера? Я так понимаю, тренера у вас было два — Сергей Мартынов и Рустам Кагапов?

Из-за того, что перед WRO мы поступили в Лицей Иннополис, то получается так, что в этом сезоне у нас 2 тренера. Первый — Сергей Дмитриевич Мартынов, он помогал в подготовке ко всем соревнованиям перед тем, как мы поступили в лицей. Рустам Кагапов является нашим тренером сейчас. Оба тренера работают по схожей схеме. Они направляют нас на верный путь, помогают получить новые знания, учат использовать эти знания. Я считаю это правильным, потому что всю работу мы делаем самостоятельно. В случае экстренной ситуации легче всего разобраться в нашем алгоритме будет нам самим. Если ребенок все делал самостоятельно, то ответить на любой вопрос, связанный с работой роботов или их конструкциями, не составит труда.

Читайте также: Россия завоевала 4 медали на Всемирной олимпиаде роботов

Читайте также: Россия завоевала 4 медали на Всемирной олимпиаде роботов

В других робофутбольных чемпионатах, например, в RoboCup, не участвовали? Не планируете?

На этот вопрос пока сложно ответить, потому что Данил (член команды Alfring) только сегодня спросил у Рустама насчет этого. Мы думаем над этим.

А в «обычный» футбол играете?

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

Уже решили, где планируете учиться дальше, куда поступать?

Насчет дальнейшего образования мы на данный момент затрудняемся ответить.

На видео матч за 3-4 место на WRO 2016 в Индии:

Share Button

Читайте также

Теги: headline, WRO, WRO 2016, Всемирная олимпиада роботов, Индия, Иннополис, интервью, робофутбол, Роман Вертячих, Рустам Кагапов, Семен Сонаров, футбол роботов

edurobots.ru


Смотрите также