Представьте себя разработчиком робота, который будет помогать людям в быту или промышленности. В список его задач может входить как уборка территории, так и складирование товара. Роботу придется многократно перемещаться по территории, чтобы убрать мусор или отгрузить товар и разместить его на складе. И таких домов и складов, где должен найти применение ваш робот, - тысячи. И все имеют свою структуру помещений, поэтому одной картой территории не обойтись.
На помощь приходит метод SLAM (simultaneous localization and mapping). Этот метод применяется в помещениях, поскольку GPS не помогает точно определить свое местоположение. Помещение заранее роботу неизвестно, поэтому ему приходится строить карту помещения. Построив карту, роботу необходимо перемещаться, сверяясь с заложенной картой. Однако обстановка в помещении может поменяться, но и это не смутит робота, поскольку процесс построения карты и определения своего местоположения происходит бесконечно.
Для отработки навыков построения карты и перемещения в изменяющейся обстановке состязание этого года предлагает участникам сразиться в игре «Морской бой». Робот против робота: кто быстрее потопит корабли соперника?
Состязание состоит из двух туров: квалификационный и финальный, которые отличаются форматом задания:
1. Квалификационный тур: робот одной команды демонстрирует навыки «Морского боя», обстреливая другую половину полигона без ответных ударов;
2. Финальный тур: роботы двух команд соревнуются в «Морском бою», обстреливая на одном полигоне друг друга.
Финальный тур проводится по следующей схеме:
1) Развёртывание. Полигон разделен на акваторию зеленой и желтой команд. Каждая команда имеет в арсенале флотилию в составе 1 трехмодульного, 2 двухмодульных и 3 одномодульных кораблей. Каждая часть корабля покрыта одним слоем брони (прозрачная крышка сверху). Команда вручную выставляет корабли в своей акватории за отведенное время. Один из однопалубных кораблей выполняет функцию базового корабля – его нужно установить в углу акватории.
2) Разведка. Робот знает расположение своей флотилии, но не знает ничего о расположении кораблей противника, поэтому каждый робот отправляется на разведку в акваторию противника. Робот начинает разведку из случайной части случайного корабля. Робот должен успеть исследовать акваторию противника за отведенное время. При этом следует перемещаться аккуратно: задевание части корабля противника наделяет ее дополнительным слоем брони на время боя.
3) Бой. После разведки команда устанавливает робота внутри плавучей базы на своей акватории. Например, зеленая команда начинает бой первой. По сигналу судьи зеленая команда загружает в робота 3 снаряда (красные мячики), а желтый робот стартует, чтобы найти укрытие.
Зеленый робот отправляется на огневой рубеж, где производит 3 выстрела. Если снаряд задевает броню какой-либо части желтого корабля, то эта часть считается поврежденной. Если снаряд задевает желтого робота, то сразу завершается выигрышем в пользу зеленой команды. Поэтому на время обстрела желтому роботу лучше укрыться в какой-либо бронированной части корабля.
Через определенное время желтый робот может выйти из укрытия. Если снаряд задел броню какой-либо части корабля противника, то она считается поврежденной. По окончании боя броня этой части убирается с полигона. При наличии дополнительного слоя брони защищенная часть убирается только после следующего попадания.
Бой завершается, когда все корабли будут уничтожены снарядами, либо будет поражен сам робот.