(Студенты вузов) Объезд препятствий
Цель трека
Разработать программу-автопилот для колесного робота, которая поможет ему переместится в целевую точку, избегая столкновений с препятствиями.
Задание и исходные данные
Платформа запуска решений: Симулятор, основанный на gym-duckietown
Количество попыток: Не ограничено
Карта: Карта размера 6x7 с препятствиями.
Стартовое положение робота в полосе: Гарантируется, что робот находится на дороге, в полосе.
Постановка задачи: Требуется написать решение, используя шаблон , для того, чтобы робот за минимальное время добрался до координат (подаются на вход программе) избегая столкновений. Данные, которые будут известны роботу:
- Расстояние и угол(тангенс) до конечной точки (конец маршрута соответствует координатам одной из уток, разбросанных по полю).
- Изображение с камеры робота c разрешением 640x480.
Шаблон решения, данные и программы для локальной проверки https://hub.docker.com/r/dvivanov/aido-student-image
Отличия между этапами:
-
Квалификационный – на карте отсутствуют значимые препятствия;
-
Основной – на карте есть небольшое количество статичных препятствий;
-
Финальный – на карте есть значительное количество препятствий, которые частично перекрывают обзор до точки назначения;
Проверка решений.
Критерии оценивания:
- Максимальное сближение с препятствиями, отсутствие столкновений
- Расстояние от финальных координат робота до координат точки назначения.
- Время достижения точки назначения.
Приоритет решений строится по времени, которое необходимо потратить агенту для решения задачи.
Объекты, которые могут присутствовать на карте:
- Здания (дома)
- Другие роботы(дакиботы)
- Автобусы
- Утки
Подсчет баллов для одного решения происходит по алгоритму
- Проверка столкновений и нахождения на дороге: любое столкновение с препятствием или выезд за пределы дороги -> 0 баллов за решение (симуляция прерывается).
- Проверка достижения цели: при приближении к цели от 0.5 до 0.1 (в координатных единицах) -> пропорционально от 0 до 1 балла за критерий, иначе -> 0 баллов для решения
- Проверка времени выполнения: обратная зависимость от максимального времени выполнения (0; 1) (на данный момент maximum_time = 120 secs ) (maximum_time - solution_time)/maximum_time, в случае невыполнения предыдущих проверок проверка на время не выполняется -> 0 баллов за проверку (и за решение)
- Итоговый балл
- Если столкнулись ИЛИ выехали за дорогу ИЛИ приблизились дальше чем на 0.5 ИЛИ не уложились в maximum_time == 0 баллов
- Если не столкнулись, не выехали на дорогу, приблизились менее чем на 0.5, уложились в maximum_time == (Проверка достижения цели + Проверка времени выполнения) / 2
Правила перехода участников между этапами:
- Переход к основному этапу - оценка решения >= 0.3 или лучшая половина решений согласно общему рейтингу (если доля набравших оценку выше порога будет меньше одной трети)
- Переход к финальному этапу - оценка решения >= 0.6 или или лучшая половина решений согласно общему рейтингу (если доля набравших оценку выше порога будет меньше одной трети)