(Студенты вузов) Автопилоты
Цель трека
Разработать программу-автопилот для колесного робота и квадрокоптера, которая поможет ему переместится в целевую точку, избегая столкновений с препятствиями.
Задание и исходные данные (квадрокоптер)
Вам необходимо запрограммировать автономное движение квадрокоптера в вирутальной среде для того, чтобы он мог:
- совершать типовые маневры (взлет, посадка, движение к точке),
- находить метки и следовать за ними.
В качестве входных данных (В зависимости от сложности задания) предполагается использовать или данные с камеры, или виртуальную систему позиционирования (координаты дрона с некоторой погрешностью).
Платформа запуска решений основана на движке rePyBullet.
Оценка решений будет происходить как с точки зрения быстродействия и оптимальности траекторий, так и с точки зрения безопасности маршрута.
Дополнительная информация будет обновления к началу олимпиады.
Задание и исходные данные (колесный робот)
Платформа запуска решений: Симулятор, основанный на 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 или или лучшая половина решений согласно общему рейтингу (если доля набравших оценку выше порога будет меньше одной трети)