Электрификация

Справочник домашнего мастера

Робот для робо сумо

Содержание

Инструкция по сборке сумо робота на ардуино «Титан»

Роботизированный образовательный конструктор «ТИТАН» предназначен для решения задачи вовлечения в робототехнику детей младшего школьного (8+) и подросткового возраста, с их дальнейшим переходом к изучению среды программирования Scratch, либо текстовой среды программирования С++, Python, Go и другие.
Практическое применение конструктора «ТИТАН» позволяет решить вопросы связанные со сборкой, эксплуатацией и обслуживанием робота начального уровня. Образовательный конструктор имеет датчики препятствий, что требует их настройки, среда программирования SCRATCH и готовые примеры помогут оснастить робота автоматическими функциями. Управление осуществляется со смартфона под управлением Android.
Учебно-методический комплекс (УМК) созданный для этого набора, позволяет педагогу в интересной, игровой форме, посредством соревнований, привлечь интерес детей к различным стратегиям ведения боя.
Комплектация:

  1. Нижняя и верхняя части корпуса крепления двигателя — 4 шт.
  2. Средняя часть корпуса крепления двигателя — 4 шт.
  3. Верхняя соединительная пластина крепления двигателей — 1шт.
  4. Нижняя часть основания крепления датчика — 2 шт.
  5. Средняя часть основания крепления датчика — 2 шт.
  6. Верхняя часть основания крепления датчика — 2 шт.
  7. Клиновидный корпус робота — 1 шт.
  8. Защитная накладка на лобовую часть корпуса — 1 шт.
  9. Колеса Sphere74 — 2 шт.
  10. Фиксаторы колесных дисков на оси двигателей — 2 шт.
  11. Комплект крепежа — 1 шт.
  12. Аккумулятор тип 18650 — 2 шт.
  13. Двигатели с редуктором в сборе — 2 шт.
  14. Батарейный отсек для размещения 2-х аккумуляторов тип 18650 — 1 шт.
  15. Плата Sphere74 Nano shield v.1.2 — 1 шт.
  16. Плата Arduino Nano v 3.0 (CH340G + ATMEGA328P-AU) — 1 шт.
  17. Комплект соединительных проводов — 1 ком.
  18. Коробка для хранения и переноски конструктора — 1 шт.

Далее следуйте пошаговой фото-инструкции, обращая внимание на рекомендации.

  1. При сборке корпусов крепления двигателя используются винты М3х20 — 8шт.

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

  3. Двигатели устанавливаются внутрь корпуса после установки центральных частей корпуса двигателя. Сначала в ложе корпуса заводится контактная крышка.

  4. Гайку необходимо закрутить до упора, после чего повернуть еще на 45 градусов.

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

  6. Провода, идущие от двигателя прокладываются под управляющей платой. При этом провод от правого двигателя выводится вправо, а провод от левого двигателя влево.

  7. Подключить соединительные провода батарейного отсека к разъему питания управляющей платы строго соблюдая полярность.

  8. Установить колесный диск на ось двигателя совместив отверстие в диске под фиксирующий винт, с полочкой на валу двигателя.

  9. Установить плату Arduino Nano v 3.0, строго в соответствии с инструкцией.

  10. Установить аккумуляторы в батарейный отсек строго соблюдая полярность.

Инструкция по сборке робота ev3 сумо

Инструкция робота ev3 для сумо

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

Инструкция сборки робота lego ev3 для сумо

1

2

3

4

Полный привод собирается на 3 крупных шестеренках, которые сжимаются двумя длянными балками

5

6

7

Крепим колеса к роботу лего сумо и прикрепляем прямоугольную рамку к боковой стороне вертикальной прямоугольной рамки

8

Сборка поддевающего ковша робота ev3 сумо

Собираем правую сторону робота ev3 сумо

Подсоединяем проводами моторы к портам A и B датчик цвета к порту 3 датчик расстояния к порту 4

Простой робот для соревнований в SUMO своими руками

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


Видео работы робота

Материалы и инструменты для создания робота:
— сухой клеевой карандаш;
— прозрачный скотч;
— двухвыводная не фиксируемая кнопка;
— один мигающий светодиод типа ARL-513URC-B;
— транзистор типа КП505А;
— два резистора номиналом 1Мом и 270 Ом;
— клипса-разъем для подключения к батарее типа «Крона»;
— моторчик модели RF-300CA-D/C 3V или подобный.


Функциональность и характеристики робота:
На фото можно увидеть уже собранный робот. Для передвижения устройства используется всего один моторчик, он устанавливается вертикально, но под определенным углом. При движении на коротком отрезке робот движется по прямой, а на более длинном участке делает дугу.
Для включения робота используется одна кнопка, при ее нажатии робот включается на 20 секунд. После этого происходит автоматическое отключение, и робот находится в ждущем режиме до следующей активации.
Еще одна особенность робота в том, что он автоматически останавливается на краю ринга. Выполнение этого условия возможно в том случае, если вес соперника будет не составлять не менее веса робота, а толщина ринга не будет менее 3 мм.
В качестве источника питания здесь используется батарея на 9 Вольт, она установлена сверху робота. Благодаря дополнительному весу робот накапливает нужную кинетическую энергию для необходимых действий.
На картинке компоненты робота отмечены цифрами:
1. Клипса для подключения батареи.
2. Фиксатор батареи.
3. Источник питания (батарея на 9 В).
4. Двигатель.
5. Мигающий светодиод (говорит о том, что питание подключено).
6. Кнопка для включения робота.
7. Резистор, благодаря нему можно задавать время работы робота.
8. Конденсатор, он также отвечает за время работы робота.
9. Транзистор типа КП505А, он является драйвером двигателя.
Процесс сборки робота:
Шаг первый. Изготавливаем корпус
Для изготовления корпуса автор применяет гофрокартон, нужно нанести на него контур по шаблону. Шаблон можно распечатать на принтере, он прилагается к статье. Далее, сделав необходимые сгибы, шаблон можно вырезать по толстым линиям. Чтобы установить двигатель, в картоне нужно вырезать полукруг, а затем немного его отогнуть, как указано на фото.
Шаблон робота (скачиваний: 129)
Шаг второй. Установка радиоэлементов
На следующем этапе нужно установить все необходимые радиоэлементы. Для этого нужно взять шило и сделать в картоне отверстия, их нужно делать в круглых метках. Чтобы закрепить компоненты, после установки их выводы нужно немного подогнуть. Еще на картоне можно увидеть отметку в виде прицела, здесь нужно сделать большое отверстие, через него будет проходить провод питания.
После этого можно брать паяльник и приступать к соединению контактов радиоэлементов в соответствии со схемой.
Шаг третий. Крепим нижние боковые поверхности
На этом этапе можно соединить нижние боковые поверхности. Чтобы это сделать, нужно отогнуть нижние плоскости и затем зафиксировать их прозрачным скотчем. Еще на картинке можно увидеть отонутые вверх элементы корпуса, они нужны для фиксирования батареи.
Шаг четвертый. Подключаем периферию
Для подключения питания к батарее нужно использовать клипсу-разъем. Провод нужно продеть через отверстие, красный припаивается к плюсовому контакту светодиода, а черный к минусу конденсатора С1.
Затем нужно соединить левую и правую боковые поверхности, в итоге должна получиться буква «П». Для надежной фиксации элементов используется скоба от степлера. Куда устанавливать скобы, указано белой стрелкой. Зажать скобы можно плоскогубцами.
Шаг пятый. Устанавливаем и подключаем двигатель
Чтобы робот двигался прямо, его вал должен находиться под определенным углом к поверхности. Иначе говоря, стоять робот будет на боковых частях, а его вал будет лишь соприкасаться с поверхностью. Чтобы вал робота имел хорошее сцепление, на него нужно надеть резиночку, это может быть кембрик или резиновый фиксатор от гелиевой ручки.
Устанавливается мотор на клей, место смазки отмечено белой стрелкой. После нанесения клея нужно немного подождать, чтобы он стал вязким, иначе жидкий клей может попасть в двигатель и испортит его.
Для дополнительной фиксации моторчик обматывается скотчем.
Что касается угла наклона робота, то это все прекрасно видно на картинках. После установки, моторчик нужно подключить. Один вывод подключается к минусу, а другой к стоку транзистора VT1.

Шаг шестой. Завершающий этап сборки
Батарейка устанавливается на раму П-образной формы, фиксируется батарея с помощью изоленты. Рама продумана таким образом, что помимо опоры она является для батареи еще и амортизатором. Если робота нужно будет совсем отключить от питания, можно отключить один провод от батареи.
Ну и в заключении для соревнований понадобится ринг, его делают двухслойным, толщиной не менее 3 мм. Если это условие не будет выполнено, робот не сможет остановиться на краю ринга. Диаметр ринга должен составлять 250 мм. Нижний слой состоит из тонкого гофрокартона, а верхний из черного тонкого картона. Оба слоя нужно склеить. Сборка окончена, можно начинать соревнования. Победителем становится тот робот, который останется на ринге. Доставка новых самоделок на почту

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

*Заполняя форму вы соглашаетесь на обработку персональных данных

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

Программирование, подготовка и комплектация борца-робота «СУМО» на базе конструктора Mindstorms LEGO EV3.

Программирование, подготовка и комплектация борца-робота «СУМО» на базе конструктора Mindstorms LEGO EV3.

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

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

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

В данной статье, мы рассмотрим программирование, подготовку и комплектацию борца-робота «СУМО». По данному направлению в любом регионе России и в мире в целом постоянно проводятся всевозможные мероприятия.

Цель: Научить учащихся к самостоятельному программированию робота сумоиста, с применением датчиков: 2 датчика цвета, ультразвукового датчика и датчика касания для дальнейшего участия в соревнованиях борцов-роботов «СУМО».

Задача работы: Познакомить учащихся со способом программирования робота сумо.

Новизна: По новым требованиям ФГОС нового поколения введены новые направления в дополнительном образовании. Направление «Робототехника» представляет собой конструирование и программирование робота, т.е. развивает малую моторику, технические навыки у учащихся, а также укрепляет межпредметную связь.

Данная работа представляет собой инструкцию программирования робота с пояснениями.

Правила:

  • Роботы устанавливаются в центре круга (на линии старта) в любом направлении (кроме как внутрь круга)

  • После включения программы робот ожидает 3 секунды и начинает выполнять программу

  • Робот должен доехать до края площадки (белая или черная линия)

  • Коснувшись линии робот приступает к поиску соперника

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

Конструкция данного робота будет наглядно приведена (изображения) в приложении к данной работе.

Рис. 1 Программа СУМО робота

По регламенту соревнования роботы должны находиться внутри круга с диаметром 122 см с черной или белой границей в 4 см, в середине круга расположены две линии старта, после сигнала они должны стоять на линии в течение 3 секунд, только потом начинать движения, поэтому необходимо использовать оператор времени, настроив его на время.

Рис. 2

Далее робот движется до белой или черной линии (границы круга)

Рис. 3

Коснувшись линии, робот приступает к поиску соперника. То есть начинаем кружиться вокруг. Это можно сделать с помощью блока независимого управления моторами, который так же будет действовать в цикле с постусловием. Но здесь мы будем использовать показания другого датчика в качестве условия. Ультразвуковой датчик отправляет ультразвуковой сигнал и замеряет скорость, за какой промежуток времени сигнал приходит обратно. Таким образом этот датчик в состоянии определить расстояние до объекта. Поскольку наше поле диаметром 122 см, наш робот продолжит выполнять программу после того, как обнаружит объект на расстоянии меньшем или равном 90 см.

Рис. 4

Далее, как только датчик расстояния заметит перед собой цель, программа переключается на независимое управление моторами, движением вперед моторамиA и B. Для этого просто включим оператор управления с независимыми моторами, присоединённых к порту A и B, на движение вперед. Тем самым обеспечив роботу движение вперед. Но не стоит забывать, что робот соперника, может совершить маневр, и мы проедем мимо него. Или попытавшись вытолкнуть соперника, наш робот сам может покинуть пределы площадки. Чтобы избежать этого нам помогут датчики цвета. В нашем роботе используется 2 датчика. Так как на практике столкнулись с ситуацией. Когда датчик, расположенный с одной стороны просто не успевает среагировать, когда робота выталкивают с площадки другой стороной. И это будет одной из самых сложных частей программы, так как для считывания информации параллельно с обоих датчиков, придется использовать логическую операцию и работу датчиков цвета разбирать во вложенном цикле. Потребуется логическая операция ИЛИ, известная каждому школьнику, и значение истинности одного из условий. После того, как один из датчиков цвета обнаружил линию черного или белого цвета ему необходимо отъехать назад от края площадки и вновь приступить к поиску противника.

Рис. 5

Рис. 6

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

Рис. 7

После чего мы начинаем выполнение основной программы. Таким образом получается следующее:

Рис. 8

Приложение 1

Конструкция робота (фото)

Введение:

Урок №12 курса «Практика» представляет разбор решения, наверное, самого популярного соревнования роботов — «Сумо». Главная задача робота-сумоиста состоит в том, чтобы вытолкнуть за пределы ринга своего соперника. Существует множество вариантов правил проведения этого состязания, накладывающих различные ограничения в первую очередь на размеры и конструкцию роботов, тем не менее, базовые алгоритмы поведения робота при этом очень похожи. Поэтому наш урок в значительной степени будет направлен на реализацию программы поведения, а в завершающей части урока рассмотрим некоторые советы по практической подготовке к соревнованию роботов.

12.1. Поле для проведения соревнования. Правила соревнования.

Не смотря на то, что соревновательная дисциплина «Сумо» большинством организаторов соревнований позиционируется как состязание, предназначенное для начинающих робототехников, она пользуется неизменным вниманием не только участников, но и зрителей! Соревнования проводятся на двух видах полей: либо белый круг, ограниченный черной окружностью, либо, наоборот, черный круг, ограниченный белой окружностью. Очень часто макет поля наносится на круглый подиум небольшой высоты. В этом случае побежденный робот принуждается к падению (бывает, что с подиума падают оба участника битвы).

Для нашего урока мы возьмем то же самое поле, которое использовали при разборе Урока №11 — «Кегельринг». Это поле представляет собой белый круг, ограниченный черной окружностью. С классическими правилами проведения соревнования «Сумо» по версии Российской ассоциации образовательной робототехники вы можете ознакомиться под спойлером ниже:

Регламент соревнований роботов «Сумо» по версии сайта RAOR.RU&nbsp

1. Общие правила

1.1. Робот должен вытолкнуть робота-соперника за черную линию (За пределы поля).

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

1.3. После столкновения роботы должны пытаться контактировать друг с другом.

1.4. Во время проведения состязания участники команд не должны касаться роботов.

1.5. Два автономных робота выставляются на ринг (круглое поле). Роботы пытаются вытолкнуть соперника за пределы ринга.

1.6. Робот, выигравший большее количество раундов, выигрывает матч.

1.7. При игре «каждый с каждым», лучшим считается робот выигравший большее количество матчей.

1.8. При большом количестве участников можно организовывать ранжирование по «олимпийской системе» (на вылет).

2. Робот

2.1. Роботы должны быть построены с использованием только деталей конструкторов ЛЕГО Перворобот (LEGO-Mindstorms)

2.2. Во время всего раунда:

Размер робота не должен превышать 25х25х25см.

Вес робота не должен превышать 1кг.

2.3. Робот, по мнению судий, намерено повреждающий других роботов, или как-либо повреждающий покрытие поля, будет дисквалифицирован на всё время состязаний.

2.4. В конструкции робота строго запрещено использовать:

Клеящие вещества.

2.5. Перед матчем роботы проверяются на габариты и вес.

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

2.7. Между матчами разрешено изменять конструкцию и программы роботов.

3. Поле

3.1. Белый круг диаметром 1 м с чёрной каёмкой толщиной в 5 см.

3.2. В круге, красными полосками отмечены стартовые зоны роботов.

3.3. Красной точкой отмечен центр круга.

3.4. Поле размещено на подиуме высотой 16 мм.

4. Проведение Соревнований

4.1. Соревнования состоят из серии матчей. Матч определяет, из двух участвующих в нём роботов, наиболее сильного. Матч состоит из 3 раундов по 30 секунд. Матч выигрывает робот выигравший большее количество раундов. Судья может использовать дополнительный раунд для разъяснения спорных ситуаций.

4.2. Раунды проводятся подряд.

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

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

4.5. Для начинающих: После столкновения роботы не могут маневрировать по рингу.

4.6. Для опытных: После столкновения роботы могут маневрировать по рингу как угодно.

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

5. Правила отбора победителя

5.1. Если робот не двигается, не находясь в контакте с другим роботом, больше 10 сек, то он считается проигравшим в раунде.

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

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

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

6. Судейство

6.1. Организаторы оставляют за собой право вносить в правила состязаний любые изменения, если эти изменения не дают преимуществ одной из команд.

6.2. Контроль и подведение итогов осуществляется судейской коллегией в соответствии с приведенными правилами.

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

6.4. Если появляются какие-то возражения относительно судейства, команда имеет право в устном порядке обжаловать решение судей в Оргкомитете не позднее окончания текущего раунда.

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

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

6.7. Судья может закончить состязание по собственному усмотрению, если робот не сможет продолжить движение в течение 10 секунд.

12.2. Конструкция робота для соревнования «Сумо».

Базовое поведение робота в «Сумо» очень похоже на поведение робота в «Кегельринге». Роботу также необходимо найти внутри поля объект и вытолкать его за пределы круга. Различия, как водится, кроятся в деталях: теперь этот объект в свою очередь ищет нашего робота и тоже жаждет вытолкать его поскорее.

Тем не менее — сосредоточимся на своей цели: искать соперника нам по-прежнему будет помогать один из датчиков, способных определять предметы на расстоянии (инфракрасный или ультразвуковой), а своевременно определять черную границу поля будем с помощью датчика цвета. Поэтому для создания и отладки программы робота-сумоиста предлагаем вам использовать того же самого робота, которого мы подготовили для Урока №11 — Кегельринг.

Для того, чтобы защитить впереди расположенный датчик от взаимодействия с соперником, соорудим бампер и закрепим его на нашем роботе. Ниже приведены подробные инструкции для сборки, как из домашней, так и из образовательной версии конструктора Lego mindstorms EV3. Можете поэкспериментировать и придумать собственный вариант конструкции.

Lego mindstorms EV3 Home

Lego mindstorms EV3 Education

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

Lego mindstorms EV3 Home

Lego mindstorms EV3 Education

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

12.3. Создание программы для соревнования «Сумо».

Первая мысль, которая приходит в голову: использовать программу для «Кегельринга», внеся в неё косметические изменения. Действительно, алгоритмы поведения робота в «Кегельринге» и в «Сумо» очень похожи. Они реализуют поиск объекта и выталкивание его за пределы поля. Можно загрузить в робота-сумоиста программу для «Кегельринга», но работать такой сумоист будет не очень эффективно. Тем не менее, знания, полученные на предыдущем уроке, пригодятся нам сейчас.

Настало время загрузить в среду программирования наш проект «lessons-2», создать в нём новую программу «lesson-12» и подключить робота к среде программирования.

Поведенческую модель робота-сумоиста можно условно разделить на две части: поиск соперника и атака соперника. Сначала займемся реализацией первой части — поиска соперника.

Подробно пропишем последовательность действий нашего робота при обнаружении соперника на поле:

  1. вращаться вокруг своей оси, пока впереди расположенный датчик не обнаружит соперника;
  2. остановиться напротив соперника.

Эта последовательность действий полностью повторяет алгоритм поиска роботом кегли в «Кегельринге», но, так как, расстояние между роботами в «Сумо» может превышать расстояние от робота до кегли, то нам необходимо выбрать другое пороговое значение для используемого датчика.

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

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

На «Странице аппаратных средств», находящейся в правом нижнем углу среды программирования, выберем вкладку «Представление порта» (Рис. 1, 2 поз. 1) и снимем показание датчика, определяющего расстояние до соперника, установив соответствующий режим отображения показаний.

В нашем случае ультразвуковой датчик в режиме «Расстояние в сантиметрах» показывает значение — 56,1 (Рис. 1 поз. 2). За пороговое значение примем число — 57.

Рис. 1

Инфракрасный датчик в режиме «Приближение» показывает значение — 68 (Рис. 2 поз. 2). За пороговое значение примем число — 70.

Рис. 2

По аналогии с «Кегельрингом» мы можем запрограммировать нахождение роботом соперника, только, чтобы немного дистанцироваться от предыдущего урока, изменим направление вращения робота на противоположное:

Ультразвуковой датчик

  1. Для того, чтобы заставить робота вращаться вокруг своей оси, воспользуемся программным блоком «Независимое управление моторами» «Зеленой палитры», Режим работы блока установим «Включить», значение мощности для порта «B» установим равным -30, значение мощности для порта «C» установим равным 30 (Рис. 3 поз.1).
  2. Для поиска соперника используем программный блок «Ожидание» «Оранжевой палитры» в режиме «Ультразвуковой датчик — Сравнение — Расстояние в сантиметрах» с пороговым значением срабатывания датчика, равным 57 (Рис. 3 поз. 2).
  3. После того, как робот окажется напротив соперника, используя программный блок «Независимое управление моторами» «Зеленой палитры» выключим моторы (Рис. 3 поз. 3).

Рис. 3

Инфракрасный датчик

  1. Для того, чтобы заставить робота вращаться вокруг своей оси, воспользуемся программным блоком «Независимое управление моторами» «Зеленой палитры», Режим работы блока установим «Включить», значение мощности для порта «B» установим равным -30, значение мощности для порта «C» установим равным 30 (Рис. 4 поз.1).
  2. Для поиска соперника воспользуемся программным блоком «Ожидание» «Оранжевой палитры» в режиме «Инфракрасный датчик — Сравнение — Приближение», с пороговым значением срабатывания датчика, равным 70 (Рис. 4 поз. 2).
  3. После того, как робот окажется напротив соперника, используя программный блок «Независимое управление моторами» «Зеленой палитры» выключим моторы (Рис. 4 поз. 3).

Рис. 4

На этапе отладки этого алгоритма вам придется, подбирая значения «Мощность» моторов «B» и «C» а также пороговое значение датчика, добиться от вашего робота точного обнаружения и остановки строго напротив соперника. Только после этого можно будет переходить к программной реализации алгоритма атаки.

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

Следовательно, нам необходимо во время прямолинейного движения вперед анализировать оба датчика и прекращать атаку в случае, если робот потеряет соперника ИЛИ робот достигнет границы ринга. Поэтому нам необходимо отказаться от использования программного блока «Ожидание» «Оранжевой палитры» и самостоятельно в цикле получать и обрабатывать показания двух датчиков.

Приступим к поэтапной реализации алгоритма атаки соперника: для этого создадим в проекте временную программу «lesson-12-1» и начнем её наполнение программными блоками.

Рис. 5

  1. Следом за блоком «Независимое управление моторами» поместим программный блок «Датчик цвета» «Желтой палитры». Режим работы блока установим в значение «Сравнение — Яркость отраженного света» (Рис. 6)

Рис. 6

Параметры «Тип сравнения» и «Пороговое значение» на Рис. 7 поз. 1, 2 установим таким образом, чтобы выходной параметр «Результат сравнения» (Рис. 7 поз. 3) выдавал логическое значение «Истина» при пересечении датчиком цвета черной границы ринга.

Рис. 7

  1. В случае использования ультразвукового датчика за блоком «Датчик цвета» установим программный блок «Ультразвуковой датчик» «Желтой палитры». Режим работы блока установим в значение «Сравнение — Расстояние в сантиметрах» (Рис. 8 поз. 1). Параметр «Тип сравнения» (Рис. 8 поз. 2), параметр «Пороговое значение» (Рис. 8 поз. 3) установим таким образом, чтобы выходной параметр «Результат сравнения» (Рис. 8 поз. 4) выдавал логическое значение «Истина» в случае потери из виду роботом соперника.

Рис. 8

Рис. 9

Давайте ещё раз проанализируем промежуточный код нашего алгоритма атаки: мы включили моторы на максимальную мощность и движемся вперед, постоянно в цикле опрашивая датчики. Если наш робот пересечет черную линию границы ринга, то значение выходного параметра «Результат сравнения» «Датчика цвета» примет значение «Истина». Если наш робот потеряет соперника, то значение выходного параметра «Результат сравнения» датчика, следящего за соперником, также примет значение «Истина». В любом из этих случаев нам следует прекратить атаку, завершив наш цикл. В этом нам поможет программный блок «Логические операции» «Красной палитры». Познакомимся с этим блоком подробнее: программный блок «Логические операции» предназначен для выполнения операций над логическими данными (Рис. 10).

Рис. 10

Выбранный режим программного блока «Логические операции» «Красной палитры» определяет одну из четырех операций над логическими данными: «И (AND)», «ИЛИ (OR)», «Исключающее ИЛИ» и «Исключение (NOT)». Два входных параметра «a» и «b» (для операции «Исключение (NOT)» — один входной параметр «a») передают в программный блок входные значения, а результирующее значение выдается выходным параметром «Результат». Если вы ранее не сталкивались с логическими операциями, то можете ознакомиться с базовыми знаниями в прилагаемой справке под спойлером.

Логические операции

Логические операции осуществляются только над логическими значениями (данными), результатом логической операции также является логическое значение. Логическое значение может находиться в одном из двух состояний: «Истина» или «Ложь». Логические операции очень часто записываются в табличной форме в виде: «входной параметр 1» — «входной параметр 2» = «результат». Логические операции, реализуемые программным блоком «Логические операции» «Красной палитры» в табличной форме можно записать следующим образом:

Логическая операция «И (AND)»

Результатом логической операции «И (AND)» будет значение «Истина» только, если оба входных значения равны «Истина», во всех других случаях значение операции равно «Ложь».

«a» операция «b» результат
«Ложь» «И (AND)» «Ложь» = «Ложь»
«Ложь» «И (AND)» «Истина» = «Ложь»
«Истина» «И (AND)» «Ложь» = «Ложь»
«Истина» «И (AND)» «Истина» = «Истина»

Логическая операция «ИЛИ (OR)»

Результатом логической операции «ИЛИ (OR)» будет значение «Ложь» только, если оба входных значения равны «Ложь», во всех других случаях значение операции равно «Истина».

Логическая операция «Исключающее ИЛИ»

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

Логическая операция «Исключение (NOT)»

Логическая операция «Исключение (NOT)» применяется только к одному входному значению. Результатом логической операции «Исключение (NOT)» над входным значением является противоположное значение.

«a» операция результат
«Ложь» «Исключение (NOT)» = «Истина»
«Истина» «Исключение (NOT)» = «Ложь»
  1. За программным блоком «Ультразвуковой датчик» или «Инфракрасный датчик» поместим программный блок «Логические операции» «Красной палитры».

Рис. 11

Рис. 12

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

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

Подведем итог: мы реализовали алгоритм поиска соперника и успешно его протестировали, также прошел проверку алгоритм атаки.

Законченная программа сумоиста должна в бесконечном цикле выполнять последовательно поиск соперника, а затем — атаку соперника. Можно было бы уже объединить обе части нашей программы, если бы не одно маленькое дополнение. Если наш робот остановился над границей ринга, то перед тем, как начать поиск, роботу следует, отъехав немного назад, вернуться внутрь ринга. Дополним нашу программу атаки следующим кодом: за пределами цикла атаки, воспользуемся программным блоком «Переключатель» «Оранжевой палитры». Режим работы блока «Переключатель» установим в «Датчик цвета — Сравнение — Яркость отраженного света». Параметры «Тип сравнения» и «Пороговое значение» установим аналогично ранее используемым в программном блоке «Датчик цвета» «Желтой палитры». Следовательно, если наш робот остановился над черной линией, то выполнение будет передано верхнему контейнеру программного блока «Переключатель». Именно в верхний контейнер поместим программный блок «Рулевое управление» «Зеленой палитры», с настройками параметров, заставляющими робота отъехать назад на один оборот моторов. В нижний контейнер программного блока «Переключатель» поместим программный блок, выключающий моторы (Рис. 13). Повторно протестировав алгоритм атаки, убедимся, что после того, как робот-сумоист вытолкал соперника за пределы ринга, он вернулся немного назад.

Рис. 13

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

Программа робота-сумоиста

Заключение:

Программа, которую мы разобрали с вами на этом уроке, реализует только один прямой силовой алгоритм поведения робота-сумоиста. Она подразумевает, что в прямом силовом противостоянии робот должен непременно одолеть своего соперника. Но наш учебный робот, конечно же, совсем не похож на мускулистого борца-сумо. Для того, чтобы уверенно выступить в этом состязании, необходимо уделить самое пристальное внимание в первую очередь конструкции робота, создать прочную, защищенную платформу, с помощью дополнительных ведущих колес или гусениц повысить сцепление с поверхностью ринга. На популярном видеохостинге Youtube.com по запросу «сумо lego роботов» можно найти множество видеороликов с реальных соревнований роботов, из которых вы непременно почерпнёте для себя интересные идеи для реализации в собственных конструкциях.

Главная же цель этого урока — на практическом примере показать вам метод непрерывной обработки показаний от пары датчиков. Можно ли усовершенствовать нашу программу? Безусловно! Например, используя программный блок «Случайное значение» «Красной палитры», изменить алгоритм поиска соперника таким образом, чтобы задавать случайное вращение робота влево или вправо, тем самым, дезориентируя соперника. Попробуйте самостоятельно встроить в нашу программу этот дополнительный код. Подумайте так же над тем, какие изменения нужно внести в прорамму, в случае проведения соревнования на черном ринге с белой границей. Возможно, что у вас появятся собственные идеи улучшения: поделитесь ими в комментариях к уроку!

Подготовка к соревнованиям с EV3 «Сумо» +РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ «Сумо»

Подготовил презентацию: Гришко К.Е Учитель информатики и ИКТ

Подготовка к соревнованиям с EV3 «Сумо» +

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ «Сумо»

Подготовил презентацию: Гришко К.Е Учитель информатики и ИКТ

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ категории «СУМО»

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

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ категории » СУМО » от 20.04.2012

Условия состязания

1.1. Состязание проходит между двумя роботами. Цель состязания — вытолкнуть робота-противника за черную линию ринга.

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

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

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

1.5. Во время раунда участники команд не должны касаться роботов.

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ категории » СУМО »

Ринг

2.1. Белый круг диаметром 1 м с чёрной каёмкой толщиной в 5 см.

2.2. В круге красными полосками отмечены стартовые зоны роботов.

2.3. Красной точкой отмечен центр круга.

2.4. Поле может быть в виде подиума высотой 10 -20 мм.

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ категории » СУМО »

Робот

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

3.2.1. Во всё время состязаний:

Размер робота не должен превышать 250х250х250 мм. Вес робота не должен превышать 1 кг.

3.3. Робот должен быть автономным.

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

3.5. Перед матчем роботы проверяются на габариты, вес, и расстояние деталей до поля.

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ категории » СУМО »

Робот

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ категории » СУМО »

3.6. Конструктивные запреты:

Запрещено использование каких-либо клейких приспособлений на колесах и корпусе робота.

Запрещено использование каких-либо смазок на открытых поверхностях робота.

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

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

Запрещено использовать приспособления, бросающие что-либо в робота-соперника.

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

Запрещено использовать легковоспламеняющиеся вещества.

Запрещено использовать конструкции, которые могут причинить физический ущерб рингу или роботу-сопернику.

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ категории «СУМО »

Игра

4.1. Соревнования состоят из серии матчей. Матч определяет из двух участвующих в нём роботов наиболее сильного. Матч состоит из 3 раундов по 30 секунд. Раунды проводятся подряд.*

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

4.8. После запуска роботов операторы должны отойти от поля более чем на 1 метр в течении 5 секунд.

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

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

РЕГЛАМЕНТ СОРЕВНОВАНИЙ РОБОТОВ категории СУМО

Варианты проведения соревнований

5.2.1. После объявления судьи о начале раунда, роботы выставляются операторами перед красными линиями.

5.2.2. Когда роботы установлены на стартовые позиции, судья спрашивает о готовности операторов, если оба операторы готовы запустить робота, то судья дёт сигнал на запуск роботов.

5.2.2. После сигнала на запуск роботов операторы запускают программу.

5.2.3. Роботы должны проехать по прямой и столкнуться друг с другом.

5.2.4. Роботам запрещено намерено маневрировать по рингу.

СБОР РОБОТА

На основе базового набора EV3 собрать робота » СУМО»

Интеллектуальное сумо

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

1. Условия состязания
1.1. Состязание проходит между двумя роботами. Цель состязания — вытолкнуть робота-противника за черную линию ринга.
1.2. После начала состязания роботы могут маневрировать по рингу как угодно.
1.3. Если любая часть робота касается поверхности вне подиума (за пределами черной линии), роботу засчитывается проигрыш в раунде.
1.4. Если по окончании раунда ни один робот не будет вытолкнут за пределы круга, то выигравшим раунд считается робот, находящийся ближе всего к центру круга.
1.5. Если победитель не может быть определен способами, описанными выше, решение о победе или переигровке принимает судья состязания.
1.6. Во время раунда участники команд не должны касаться роботов.

2. Поле
2.1. Белый круг диаметром 1 м с чёрной каёмкой толщиной в 5 см.
2.2. В круге красными полосками отмечены стартовые зоны роботов.
2.3. Красной точкой отмечен центр круга.
2.4. В соревнованиях используется поле в виде подиума высотой 10-20 мм. Поле располагается на ровной горизонтальной поверхности. Размер поверхности (основания) должен быть достаточным для исключения случайного падения роботов с высоты. Допускается расположить поле непосредственно на полу.
2.5 Поле изготавливается из твёрдого шероховатого материала, обеспечивающего достаточное качество сцепления резиновых покрышек колёс и гусениц с поверхностью (из ламинированной ДСП, листового пластика и т.п.). Линии могут быть выполнены как из самоклеящегося листового материала (плёнки), так и с помощью краски, устойчивой к истиранию.

3. Робот
3.1. Роботы должны быть собраны из деталей, выпущенных под маркой LEGO. Основой робота должен служить набор LEGO MINDSTORMS NXT/EV3. Допускается использование датчиков сторонних производителей и соединительных кабелей, для которых явно указана прямая совместимость с конструкторами LEGO MINDSTORMS. Не допускаются разветвители, мультиплексоры, а также модифицированные, повреждённые или самодельные детали, нитки и шнуры, независимо от их происхождения, липкая лента, болты, и прочие предметы, не являющиеся оригинальными деталями ЛЕГО.
3.2. Во время всего раунда:
• Размер робота не должен превышать 250х250х250 мм.
• Вес робота не должен превышать 1 кг.
• Расстояние от всех частей робота до поверхности поля, должно быть больше или равно 8мм. Исключением являются только подвижные части, с помощью которых робот передвигается по полю, либо обеспечивает свою устойчивость к опрокидыванию (колёса, гусеницы или иные активные приспособления). Части робота, расположенные рядом с колёсами, с помощью которых робот передвигается по полю, на одной с ними оси и вращающиеся вместе с колёсами (например, шестерни), так же считаются частью колёс.
• Допускается использовать дополнительные подвижные конструкции, которые в процессе своего перемещения не выходят за первоначальные габариты корпуса робота, и не причиняют намеренных механических повреждений роботу соперника.
3.3. Робот должен быть автономным. Запрещена подача команд роботу по каналу Bluetooth, с помощью ИК-лучей, а также любого другого средства дистанционной связи.
3.4. Робот, по мнению судей, намеренно повреждающий других роботов, или как либо повреждающий или загрязняющий покрытие поля, будет дисквалифицирован на всё время состязаний.
3.5. Перед матчем роботы проверяются на габариты, вес, тип использованных деталей, и расстояние деталей до поля. Расстояние до поля измеряется путём просовывания стандартной одинарной планки ЛЕГО ТЕХНИК (например Technic Liftarm 1 x 15 Thick) между поверхностью поля (стола) и корпусом робота. Планка должна проходить свободно, робот при этом не должен менять своего положения.
3.6. Конструктивные запреты:
• Запрещено использование каких-либо клейких приспособлений на колесах и корпусе робота.
• Запрещено использование каких-либо приспособлений, дающих роботу повышенную устойчивость, например, создающих вакуумную среду.
• Запрещено создание помех для ИК и других датчиков робота-соперника, а также помех для электронного оборудования.
• Запрещено использовать приспособления, бросающие что-либо в робота-соперника или запутывающие его.
• Запрещено использовать жидкие, порошковые и газовые вещества в качестве оружия против робота-соперника.
• Запрещено использовать легковоспламеняющиеся вещества.
• Запрещено использовать конструкции, которые могут причинить физический ущерб рингу или роботу-сопернику.
• Запрещено использовать подвижные конструкции, вызывающие намеренное зацепление между роботами или намеренное создание помех вращению колёс или гусениц робота соперника.
• Батарейки или аккумуляторы должны быть подключены к интеллектуальному блоку NXT штатным образом, дополнительные батарейные или аккумуляторные блоки не допускаются.

Роботы, нарушающие вышеперечисленные запреты, снимаются с соревнований.

3.8. Участники имеют право на оперативное конструктивное изменение робота между раундами (в т.ч. — ремонт, замена элементов питания, выбор программы и проч.), если внесенные изменения не противоречат требованиям, предъявляемых к конструкции робота и не нарушают регламентов соревнований. Время на оперативное конструктивное изменение робота контролируется судьёй, но не может превышать 3 минуты.
3.9. Между матчами разрешено изменять конструкцию и программы роботов.
3.10. Каждая команда может выставить на соревнования только одного робота.

4. Проведение соревнований
4.1. Соревнования состоят из серии матчей. Матч определяет из двух участвующих в нём роботов наиболее сильного. Матч состоит из 3 или 5 раундов по 60 секунд. Раунды проводятся подряд.
4.2. Соревнования состоят не менее чем из двух попыток (точное число определяется оргкомитетом). Попытка — это совокупность всех матчей, в которых участвует каждый робот минимум 1 раз.
4.3. Перед первой попыткой и между попытками команды могут настраивать своего робота.
4.4. До начала попытки команды должны поместить своих роботов в область «карантина». После подтверждения судьи, что роботы соответствуют всем требованиям, соревнования могут быть начаты.
4.5. Если при осмотре будет найдено нарушение в конструкции робота, то судья дает 3 минуты на устранение нарушения. Однако, если нарушение не будет устранено в течение этого времени, команда не сможет участвовать в состязании.
4.6. После помещения робота в «карантин» нельзя модифицировать (например: загрузить программу, поменять батарейки, изменить конструкцию) роботов до конца попытки.
4.7. Непосредственно в поединке участвуют судьи и операторы роботов – по одному из каждой команды.
4.8. Запуск роботов производится одновременным нажатием кнопки «Пуск» на интеллектуальных блоках обоих роботов по команде «Старт!», предварённой обратным отсчётом от 5 до 1. Отсчёт производит судья, запуск выполняется операторами роботов. Допускается предварительный запуск программы, если интеллектуальный блок расположен неудобно, и в программе робота предусмотрена задержка до нажатия на датчик касания. В этом случае по команде «Старт!» оператор должен нажать на датчик касания, запускающий дальнейшее исполнение программы. После запуска роботов операторы должны отойти от поля более чем на 1 метр в течении 5 секунд. В начале программы робота (в случае запуска по датчику касания – после точки возобновления работы программы) должна быть предусмотрена задержка длительностью 2 секунды и подача звукового сигнала любой тональности длительностью 0.2 секунды. Робот может начать активные действия только после подачи звукового сигнала. Если робот начинает двигаться ранее подачи звукового сигнала, или время задержки составляет менее 2 секунд, по решению судьи робот может быть признан проигравшим попытку.
4.9. Каждый оператор один раз во время всего матча может остановить старт раунда без штрафных санкций, но не позднее, чем за 1 секунду до окончания обратного 5-секундного отсчета. Задержка старта разрешена не более чем на 30 секунд. Задержка на большее время может быть осуществлена лишь по специальному разрешению судьи. После устранения неполадки роботы вновь устанавливаются на старт.
4.10. Если во время матча конструкция какого либо робота была ненамеренно повреждёна, то матч может прерваться и команде разрешается исправить конструкцию робота, в это время могут проходить матчи с другими командами, после починки робота и завершения текущего матча, прерванный матч продолжается.
4.11. Матч выигрывает робот, выигравший наибольшее количество раундов. Судья может использовать дополнительный раунд для разъяснения спорных ситуаций.
4.12. Операторы роботов должны быть готовы остановить роботов по команде судьи, если очевидно, что время раунда истекает, и ни один из роботов не покинет пределы ринга. Судья заранее (за 5-10 секунд) предупреждает операторов об истечении времени раунда.
4.12. Раунд проигрывается роботом если:
• Одна из частей робота коснулась зоны за чёрной границей ринга.
• Робот находится дальше от центра ринга, чем робот противника. В случае если время раунда истекло, и ни один из роботов не вышел за границы ринга.
• Робот был опрокинут, или получил конструктивные повреждения, не позволяющие ему продолжать активные действия.

5. Варианты проведения соревнований (сокращено)
5.1. Правила предусматривают три уровня сложности. Организатор соревнований обязан заранее предупредить участников о выбранном уровне сложности. Локальным оргкомитетом принято решение выбрать для соревнований третий уровень сложности.

5.4. Уровень №3: Повышенная манёвренность. Требует хороших умений. Вынуждает робота ориентироваться в пространстве.
5.4.1. Робот в своей конструкции обязан иметь хорошо видимую стартовую кнопку, которая выполняет функцию включения робота. Допускается использовать запуск программы по нажатию на датчик касания.
5.4.2. После объявления судьи о начале раунда, роботы подготавливаются операторами, после подготовки оператор должен сообщить судье о том, что робот готов, после этого, до конца раунда, оператор не может вводить никакие данные в робота, а программа робота должна запускаться только по нажатию стартовой кнопки.
5.4.3. После готовности роботов, судья методом жеребьёвки определяет расстановку роботов в начале раунда.
Примеры расстановки роботов:
1. 2. 3.
4. 5. 6.

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

6. Судейство
6.1. Оргкомитет оставляют за собой право вносить в правила состязаний любые изменения, если эти изменения не дают преимуществ одной из команд.
6.2. Контроль и подведение итогов осуществляется судейской коллегией в соответствии с приведенными правилами.
6.3. Судьи обладают всеми полномочиями на протяжении всех состязаний; все участники должны подчиняться их решениям.
6.4. Судья может использовать дополнительные раунды для разъяснения спорных ситуаций.
6.5. Если появляются какие-то возражения относительно судейства, команда имеет право в устном порядке обжаловать решение судей в Оргкомитете не позднее окончания текущего матча.
6.6. Переигровка раунда может быть проведена по решению судей в случае, если в работу робота было постороннее вмешательство, либо когда неисправность возникла по причине плохого состояния игрового поля, либо из-за ошибки, допущенной судейской коллегией.
6.7. Члены команды и руководитель не должны вмешиваться в действия робота своей команды или робота соперника ни физически, ни на расстоянии. Вмешательство ведет к немедленной дисквалификации.

7. Правила отбора победителя
7.1. По решению оргкомитета, ранжирование роботов может проходить по разным системам в зависимости от количества участников и регламента мероприятия, в рамках которого проводится соревнование. Рекомендуемая система:
• Первая попытка, в которой участвуют все участники по олимпийской системе (на выбывание) до определения 3-5 (количество финалистов объявляется заранее) финалистов. Участники группируются в пары по очереди: первый со вторым, третий с четвёртым и т.д.
• Вторая попытка, в которой участвуют все участники по олимпийской системе (на выбывание) до определения 3-5 (количество финалистов объявляется заранее) финалистов. Участники группируются в пары через одного: первый с третьим, второй с четвёртым и т.д.
• В финале участвуют все финалисты предыдущих попыток и соревнуются по системе каждый с каждым. Ранжирование проводится по количеству выигранных матчей. В спорных ситуациях проводятся дополнительные матчи.
При наличии достаточного времени, соревнования проводятся по системе «каждый с каждым». В случае одинакового количества побед у двух и более претендентов, между ними проводятся дополнительные раунды.

Robo(Mini) sumo, что это и с чем его едят?

Привет, Geektimes!

Вступление

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

Немного о нашей команде

Существуем мы с 2014 года. Победители и призеры большинства соревнований Робофинист, Робофест, Спартакиады МФТИ и более мелких турниров, а также являемся абсолютными чемпионами России на 2016-2017 год в номинации мини-сумо.

Кто такие вообще эти роботы сумоисты?

Изначально, когда мы только узнали о таких соревнованиях, сумоистов делали преимущественно из лего. Но это довольно плохая идея, об этом далее.
На данный момент правильный сумоист описывается очень просто: полностью автономный кусок железа на колесах, с мозгами и парой датчиков, который выбивает похожий кусок железа за пределы ринга.
Бывает их 4 вида:
1. Мега-сумоист
2. Мини-сумоист
3. Микро-сумоист
4. Нано-сумоист
Все отличаются не только внешне, но и внутренне.
Мега — самые большие и опасные роботы. Максимальный вес до 3 кг, возможность ставить различные «присоски», чего не разрешается делать с другими роботами.
Мини — приятные, небольшие роботы до 500 грамм 10 на 10 см. Не сложны в пайке, удобны в настройке и сборке. Являются самой популярной номинацией в сумо.
Микро и нано — уменьшенные копии мини. Микро 5 на 5 на 5, нано 2,5 на 2,5 на 2,5. Трудно паять и подбирать детали. Популярнее, чем мега-сумо.
На этой странице вы может подбронее почитать регламент соревнований. (добавлено)

В чем суть робо-сумо?

Главная цель: вытолкнуть противника за пределы круглого полигона. Проигрывает тот, кто первым коснется любого объекта за его пределами. Казалось бы, что сложного в том, чтобы просто вытолкнуть противника? А сложность в том, что роботы полностью автономны и все чаще появляются новые стратегии, с которыми все сложнее бороться.
Видео с участием наших роботов (добавлено):
Робофест 2016 (робот с молнией, робот с флагом пирата, сплошной черный низкий робот, черный высокий робот без рисунка)
Робопикник 2017 (только наши роботы за исключением прямоугольного робота со звуковыми датчиками)
Без участия:
Robotex 2016
Latvian Robotics Championship 2017
RoboChallenge 2016 Robot Competition
Небольшой обзор тактик поиска противника.

Из чего они состоят?

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

Подробнее о сборке и комплектации

Сумоисты, которые составляют конкуренцию делают на arduino. Используют текстолитовые платы, припаивая на нее датчики, контроллер, драйвер и пр. Также стоит широкий выбор датчиков для обнаружения противника, но использовать стоит инфракрасные или лазерные, т.к. сонары очень медленные и громоздкие. Конечно, необходимы движки и колеса, чтобы робот мог передвигаться. Ставить их можно неограниченное количество, но практика показывает, что лучше всего робот ездит на двух колесах размещенных сзади. И, конечно, робот не может жить без ковша и подцепа. Ковш это просто корпус, обертка и защита платы и элементов. Чаще всего стальной или железный. Подцепы же делают из лезвий для канцелярских ножей, но встречаются экземпляры с нестандартным подходом, например, заточенная деревянная линейка или вата, но толку от такого подхода мало.
Сложнее всего (помимо программирования) спроектировать робота.
Но специально для тех, кто хочет принять участие, но пока не знает с чего начать мы готовы поделиться трассировкой робота, который является призером Спартакиады МФТИ 2016.
P.S. Выполнена в SprintLayout
Первый этап
Это что называется, самый первый этап — размещение движков и датчиков. Вы также можете наблюдать здесь два небольших датчика перед самым подцепом, так вот это датчики линии.
Они используются для обнаружения белой полосы на полигоне, чтобы избежать случайного падения за пределы ринга, но не являются обязательным компонентом и на деле используются не очень часто. Высокие скорости зачастую не позволяют вовремя остановиться.
Второй этап
А здесь уже нанесены контроллер, драйвер, выключатели и разъем для аккумуляторов.
Останется только распечатать трассировку и перенести на текстолитовую плату, а затем пролудить дорожки.
Вот как это выглядит на готовой плате:
Готовая плата
Готовый к запуску робот:
Как видите, ничего особо сложного здесь нет. О проблемах далее.

Перейдем к программированию

Проще всего использовать контроллеры arduino или arduino-совместимые. Также, Arduino IDE нам в помощь. По стандартной схеме у робота 5 датчиков. Значит состояний может быть Мы исключаем ситуацию, когда боковые датчики одновременно видят противника (т.к. такого не может быть, а если происходит, значит есть неисправность в одном из датчиков), а также ситуацию, при которой боковой и два передних датчика выдают 0 (т.е. видят), т.к. такого тоже не может быть или шанс слишком мал.
Чтобы заставить его поехать на противника нам достаточно установить пины, подать напряжение на моторы и считать показания датчиков:
Код робота // Установка пинов для датчиков int pin_left=10; int pin_center_left=11; int pin_center_right=4; int pin_center=12; int pin_right=7; // Пины на моторы int pin_motor_left_forward=9; int pin_motor_left_back=6; int pin_motor_right_forward=3; int pin_motor_right_back=5; // Переменные для хранения результата опроса датчиков int cl,cc,cr,l,r; // Функция для опроса датчиков void GLAZ() { cl = digitalRead(pin_center_left); cc = digitalRead(pin_center); cr = digitalRead(pin_center_right); l = digitalRead(pin_left); r = digitalRead(pin_right); } // Функция движения, принимающая скорости от 0 до 255 для подачи на каждый мотор void MOVE( int a, int b ) { if(a<0) { digitalWrite(pin_motor_left_forward,LOW); analogWrite(pin_motor_left_back,0-a); } else { analogWrite(pin_motor_left_forward,a); digitalWrite(pin_motor_left_back,LOW); } if(b<0) { digitalWrite(pin_motor_right_forward,LOW); analogWrite(pin_motor_right_back,0-b); } else { digitalWrite(pin_motor_right_back,LOW); analogWrite(pin_motor_right_forward,b); } } void setup() { pinMode (pin_center,INPUT);//центральный pinMode (pin_right, INPUT);//правый датчик pinMode (pin_left,INPUT);//левый датчик pinMode (pin_center_right, INPUT);//передний правый датчик pinMode (pin_center_left,INPUT);//передний левый датчик pinMode (pin_line_left, INPUT); pinMode (pin_line_right, INPUT); pinMode (pin_start,INPUT);//старт pinMode (13,OUTPUT);//старт digitalWrite(13,HIGH); pinMode (pin_motor_left_back, OUTPUT);//мотор лево назад pinMode (pin_motor_right_forward, OUTPUT);//мотор право вперед pinMode (pin_motor_right_back, OUTPUT);//мотор правый назад pinMode (pin_motor_left_forward,OUTPUT);//мотор лево вперед // ожидание сигнала к началу схватки while(!digitalRead(pin_start))continue; MOVE(200,200); } void loop() { GLAZ(); if(l && r) { if( (cl + cc + cr) < 2 || !cc ){ MOVE(255,255); } if( cc ) { if(!cl && cr) MOVE(0-180,180); if(cl && !cr) MOVE(180,0-180); } } else if( cc + cr + cl == 3 ) { if(!l && r) MOVE(0-200,200); if(!r && l) MOVE(200,0-200); } else if(cc) { if(!l && !cl && cr && r) MOVE(0-150,150); if(l && cl && !cr && !r) MOVE(150,0-150); } if(!digitalRead(pin_start))while(1){MOVE(0,0);} }
Вам остаётся только совершенствовать код.
Важно!
Датчики возвращают 1, если ничего не видят, и 0, если есть препятствие.
После загрузки кода по usb робот готов соревноваться.

Стоит учесть

Во-первых, это элементы. Датчики, которые мы используем (sharp 340) встречаются довольно редко или не встречаются вовсе. Поэтому если есть возможность, то брать нужно сразу много или найти подходящий по параметрам аналог.
Во-вторых, нельзя наносить никаких критических повреждений роботу противника или использовать например, магниты, для подцепа. Это слегка ограничивает нас в выборе средств для борьбы.
Также не стоит забывать про колеса. Кривые, тонкие и скользящие не подойдут, вы просто не сможете маневрировать и момента силы не хватит. Обязательно тестируйте резину.
При работе с движками учитывайте, что работать им придется под максимальной нагрузкой и гореть они будут довольно часто.
Также имеет смысл делать съемные аккумуляторы, т.к. разряжается робот довольно быстро, а заряжается долго.

Список необходимых покупок:

1. Паяльник, припой, флюс (по выбору)
2. Текстолитовые платы (чтобы протравить, вам надо закрыть все дорожки, затем поместить это все в раствор перекиси водорода + лимонной кислоты + соли на несколько часов, а потом содрать, бумагу, например, под которой прятали дорожки)
3. Датчики sharp 340
4. Движки, выбирайте по вкусу, чем больше оборотов в минуту, тем лучше.
Выбирать стоит что-то из этого: polulu. (добавлено)
5. Аккумуляторы (советую брать литий-полимерные) + зарядная станция
6. Ключ (кнопка выключателя, припаивается на плату) и электрические элементы (есть на картинке с трассировкой)
7. Драйвер
8. Контроллер, для начала можно попробовать Polulu A-Star 32u4 micro и залить туда загрузчик ардуино
9. Лист металла для корпуса
10. Бурмашинка для дырок в плате
11. Пульт запуска и к нему стартовый модуль
P.S. Если что-то упустил — пишите, исправлю.

Соревнования

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

admin

Добавить комментарий

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

Наверх