пятница, 18 марта 2016 г.

Немного о футболе роботов WRO gen.III. Часть 1

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


Если вы помните, в цикле "Строим из LEGO Mindstorms и Technic" выходило несколько серий на эту тему:

1) Робот-футболист Карандаша и Самоделкина: Нападающий
2) Робот-футболист Карандаша и Самоделкина: Вратарь
3) Робот-футболист Карандаша и Самоделкина: Нападающий 2.0
4) Робот-футболист Карандаша и Самоделкина: Как это работает

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

Первого нападающего в сезоне 2015 мы строили по старым регламентам 2014г, тогда еще был разрешен дриблинг и поэтому нам удалось хотя бы на домашнем поле посмотреть на игру с применением этого способа удерживания и ведения мяча.

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

Сезон 2016


WRO сезона 2016 привнесло в регламент футбола новые изменения и теперь он называется "третьим поколением футбола WRO" (WRO Football gen.III). Кардинально изменилось поле, теперь игра идет на ковре, на поле нет цветовой зональной разметки. Появились высокие борта для ориентации роботов на поле с применением дальномеров. Конструктивно изменились ворота - за счет изменения их глубины поле кажется огромным и появился больший простор для маневров. Выглядит поле теперь так:


Роботам разрешили использовать датчик цвета Hitechnic, а для ориентации на поле установить дальномер - причем он должен быть ориентирован строго вправо. Правила регламентируют использование дальномера нападающим только когда робот ориентирован в направлении ворот соперников (датчик смотрит вправо):


Вратарю - когда его датчик ориентирован в направлении ворот, которые он защищает


Либо когда вратарь направлен на ворота соперников (датчик смотрит вправо) с оговоркой, что находясь вне штрафной площадки он не должен создавать УЗ-помех другим роботам:


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

Нападающий


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

Давайте подумаем, как бы человек действовал на месте робота? Наверное оглянулся бы в поисках мяча и, заметив его, развернулся к нему лицом, затем побежал бы в его сторону. Может ли робот сделать тоже самое? Может! Правда у него нет головы и шеи, поэтому ему придется развернуться всем корпусом, пока излучение от ИК-мяча не будет строго одинаково с его левой и правой стороны (шаг 1)


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


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


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

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


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

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

Приняв решение, с какой стороны объезжать мяч, робот должен начать движение по окружности, которую мы назвали "орбитой", до точки схода с нее (см. шаг 4 на рисунке выше). Двигаться вокруг мяча по окружности можно опираясь на показания датчика-поисковика мяча, Такой круг можно описать, если удерживать его показания в одной из боковых зон (в зависимости от нужного направления движения - по часовой стрелке или против).


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



Комментариев нет:

Отправить комментарий

Самое популярное