V открытый дистанционный командный турнир по робототехнике

AR2T2 Arkhangelsk interRegional Robotics Team Tournament

Обращаем Ваше внимание, что турнир проводится по московскому времени!

Кормохранилище


Общая формулировка

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

Основными действующими объектами нашей задачи являются конвейер (Робот_1), на который загружены брикеты различного вида, и робот-погрузчик (Робот_2). Предлагаемое поле представляет\ собой модель склада.

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

Зона размещения отмечены на поле прямоугольниками.

Зона размещения 1. Состоит из 6 прямоугольников, разбитых на 2 группы. Каждый прямоугольник этой зоны предназначен для расположения только одного брикета. Большие прямоугольники для белых брикетов, меньшие для чёрных.

Зона размещения 2. Состоит из 2-х прямоугольников, левый – предназначен для белых, правый – для чёрных брикетов. Каждый из них может содержать любое (до 3-х) количество брикетов, расположенных произвольным образом.

За доставку брикетов в Зону размещения 1 начисляется значительно больше баллов, чем в Зону размещения 2.

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


Задача

Требуется написать программу для робота-погрузчика (Робот_2), который в автоматическом режиме должен получить все брикеты с конвейера (Робот_1) и доставить в любые, предназначенные для них зоны размещения. Возможно размещение брикетов как в зоне 1, в зоне 2, так и комбинированное размещение (часть контейнеров в зоне 1, часть – в зоне 2).

Формальные условия

Начальное положение

  • Конвейер (Робот_1) располагается на специально предназначенной для него толстой (3 см.) линии следующим образом:

    Все узлы находятся в исходном положении, согласно техническому заданию. Лоток максимально отодвинут.

  • На конвейере находятся 4 брикета с сеном и соломой, доставленные на склад после уборки. Порядок брикетов неизвестен.
  • Все узлы Робота_1 находятся в исходном положении, в контроллер Робота_1 загружена и запущена программа, согласно техническому заданию.
  • На конвейере располагаются 4 брикета, максимально прижатых к задней стенке лотка и друг к другу. Выбор последовательности цветов брикетов – произвольный (будет определён председателем жюри перед началом испытаний).
  • Робот-погрузчик (Робот_2) располагается в зоне старта. Зона старта определена линией, расположенной под углом к краям поля, отличным от 900. Корпус робота полностью на линии, датчики освещённости (направленные на поле) по разные стороны линии и развёрнуты в сторону конвейера. Однозначное положение робота на линии неизвестно.
    EV3 NXT
  • Разгрузочный механизм Робота_2 находится в опущенном (горизонтальном) состоянии.

Условие старта

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

Зона действия

Робот имеет ограниченную размерами поля зону действия. Выход робота (его трёх колёс) за пределы поля не допускается.

Конечное положение

  • Робота_2 совпадает с начальным.
  • Брикеты расположены в зонах размещения.

Робот-погрузчик считается финишировавшим, если:

  • Движение робота прекращено более чем на 10 секунд.
  • Робот покинул зону действия (поле).
  • Проекция робота располагается над линией старта и выполняется первое условие.
  • Все брикеты перемещены (желательно в зоны размещения) и выполняется одно из предыдущих условий.
  • Робот совершает не менее 3 нерезультативных циклических действий.

Ограничения

  1. По времени движения робота – 180 секунд.
  2. Выход робота (его трёх колёс) за пределы поля.

Критерии оценки

  • Количество принятых с конвейера погрузчиком грузов.
  • Количество брикетов, доставленных к зонам размещения 1 и/или 2.
  • Количество брикетов, помещённых в зоны размещения 1 и/или 2.
  • Точность позиционирования конечного положения робота.
  • Скорость выполнения задания.
Результат решения задачи

Результат

  1. Результатом решения задачи является файл/проект программы (zip-архив)
  2. Архив не должен превышать 25 Мб
  3. Архив принимается 2 ноября 2018 года с 10:00 до 14:10
  4. Собственное имя файла/проекта программы «AR2T2», расширение собственного имени определяется используемой средой программирования. (Важно! Не следует называть файл/проект программы названием своей команды)

Инструкция по размещению результата

  1. Авторизоваться на сайте под учетной записью команды
  2. Перейти в раздел турнира
  3. В меню турнира перейти в подраздел Мастерская -> Решение
  4. В форме отправки решения прикрепить файл решения
  5. При необходимости указать необязательное описание (информация, которая может быть полезной при проверке решения)
  6. Нажать кнопку "Прикрепить"
  7. При успешной отправке решения под формой отправки появится надписть " Решение сохранено"
  8. Вместо кнопки "Прикрепить" появится кнопка "Заменить"
  9. Таким же образом можно заменить файл при необходимости
Уважаемые участники! Напоминаем вам, что заполненный фотоотчёт работы команды - это дополнительные баллы, которые могут быть решающими при подведении итогов. Фотоотчёт размещается в подразделе Мастерская -> Фотоотчёт.