![Что представляет собой Сезон Бета в Roborace? Что представляет собой Сезон Бета в Roborace?](https://habrastorage.org/getpro/habr/upload_files/b24/a8e/039/b24a8e0396a8901121599f7129e6dd8c.png)
Уже больше года назад некогда прогремевший проект «Roborace» был заморожен в силу финансовых обстоятельств, не успев завершить свой Сезон Бета. Давайте разберёмся, что это было.
Данная статья является переводом материала, опубликованного в блоге Roborace 10 мая 2021 года в разгаре Сезона Бета с целью популярно разъяснить аудитории, что и зачем происходит в рамках этих соревнований автономных гоночных машин. Ирония в том, что написал его тогда не зарубежный автор, а я сам, будучи участником этого проекта 🤪
Это было время незабываемого опыта и открытий. На Хабре встречаются упоминания Roborace на уровне общих внешних вещей, но не встречается разбор его сутевой составляющей. Внезапно захотелось заполнить эту серую зону. Поэтому поехали! 🏎️💨
Несмотря на то, что мы давали разъяснения по многим из этих моментов в наших шоу и в социальных сетях, всё еще есть немало подтверждений тому, что данная тема нуждается в систематическом разъяснении. Вот почему мы вернулись с этим сюда, на Medium, чтобы дать ответы в одной статье.
Roborace — первые в мире серийные гонки без водителя. Это экстремальное соревнование полноразмерных гоночных роботов, в котором за победу борются команды программистов из США, Великобритании, России, Австрии, Италии и Швейцарии.
В сентябре 2020 года Roborace начала свой тестовый сезон под названием «Сезон Бета» и представила функцию смешанной реальности в реальном времени под названием «Roborace Metaverse». В каждом раунде этого сезона ИИ-водители, разработанные соревнующимися командами, гоняют среди виртуальных объектов, появляющимися на реальной гоночной трассе. Эти объекты имеют различные формы и поведение и классифицируются на препятствия, которые ИИ-водитель должен избегать, и добычу, которую он должен собирать. Формат этого соревнования — одиночные заезды на время с системой подсчёта очков, которая влияет на результативное время в зависимости от количества и значимости соприкосновений с такими объектами. Попадание в объекты-препятствия влечёт за собой штрафные санкции, увеличивающие результативное время заезда. Поимка добычи даёт бонусы, сокращающие результативное время. Раунды соревнований распределены по миссиям с конкретными целями и правилами, заранее разработанными Roborace для каждой миссии. Каждая миссия вводит новые виды объектов, а также увеличивает динамику и сложность их поведения.
![Миссия 3.1 на трассе Las Vegas Motor Speedway Миссия 3.1 на трассе Las Vegas Motor Speedway](https://habrastorage.org/getpro/habr/upload_files/8ed/677/9c5/8ed6779c59e77a4361d5f8546808d52e.png)
![Миссия 3.1 на трассе Las Vegas Motor Speedway Миссия 3.1 на трассе Las Vegas Motor Speedway](https://habrastorage.org/getpro/habr/upload_files/e35/415/ec9/e35415ec9d9f52a5c8a8d1a0b4d21c3c.png)
В Миссии 4 мы также представили автомобили-призраки, которые команды должны были обгонять, чтобы заработать бонусы. Столкновение с автомобилем-призраком засчитывалось как столкновение с препятствием.
![Миссия 4 на трассе Las Vegas Motor Speedway Миссия 4 на трассе Las Vegas Motor Speedway](https://habrastorage.org/getpro/habr/upload_files/636/40d/c3b/63640dc3b33c5f0a74560fe9cc5c6877.png)
![Миссия 4 на трассе Las Vegas Motor Speedway Миссия 4 на трассе Las Vegas Motor Speedway](https://habrastorage.org/getpro/habr/upload_files/2b2/17e/4fd/2b217e4fd1a7d43a7508f45550930a9a.png)
![Миссия 4 на трассе Las Vegas Motor Speedway Миссия 4 на трассе Las Vegas Motor Speedway](https://habrastorage.org/getpro/habr/upload_files/522/1be/28f/5221be28f651027955fc567c5fe5c628.png)
Это далеко не полный перечень возможных виртуальных объектов. Мы намерены внедрять их всё больше и больше в будущих миссиях. На определённом этапе мы также сделаем их интерактивными, чтобы у зрителей была возможность управлять ими на трассе во время гонок.
В чем причина такого формата? Какова цель Метавселенной?
Некоторые люди также спрашивают, почему объекты Метавселенной выглядят такими мультяшными. Мы расскажем об этом в другой статье 😉
Как многие ожидают от гонок самоуправляемых машин, автомобили должны соревноваться друг с другом. И чем быстрее они едут, а также чем агрессивнее взаимодействуют друг с другом, тем лучше и зрелищнее становится соревнование. Это то, что называется гонками «колесо к колесу» (wheel-to-wheel). И в нашей стратегии это является важнейшей способностью, которую команды должны иметь, чтобы войти в Сезон 1 в 2022 году.
Скоростной обгон является важным элементом гонок «колесо к колесу». Но это непростая задача для автономного искусственного интеллекта и его разработчиков. Это подразумевает сложный набор различных действий, которые необходимо реализовать, прежде чем выжимать полный газ. И программа Сезона Бета намеренно составлена таким образом, чтобы помочь конкурирующим командам разработать и апробировать все эти элементы для достижения достаточной производительности, ожидаемой от реальных гонок «колесо к колесу».
Какие проблемы необходимо решить, чтобы добиться этого?
Во-первых, это достаточно сложное адаптивное управление движением. Эта штука предназначена для приведения фактического движения автомобиля в соответствие с траекторией, вычисленной алгоритмом планирования траектории системы автономного вождения. Конечно, вы можете заранее рассчитать математически безупречную траекторию и даже можете иметь определённые шансы на идеальной трассе выполнить движение по этой траектории без сложного управления. Тем не менее, фактические обстоятельства на обычной трассе очень стохастичны. Сцепление не идеальное и может варьироваться в разных местах трассы. Аэродинамические аспекты играют большую роль на высоких скоростях, особенно при ветре. Кроме того, необходимо брать в расчёт возможные погодные изменения. Поэтому было бы лучше, если бы вы учитывали всё это, когда под управлением вашего кода выполняется движение полноразмерного и относительно тяжелого транспортного средства (DevBot весит 1300 кг), движущегося со скоростью выше 100 км/ч. Наши команды в действительности разгоняются до 200 км/ч, и в дальнейших миссиях будут двигаться всё быстрее и быстрее.
![](https://habrastorage.org/getpro/habr/upload_files/a56/1cc/3ce/a561cc3ced7daca5316d8ebd17e0cb31.png)
Во-вторых, это динамическое планирование траектории. Тут суть том, как часто и эффективно вы можете пересчитывать возможные траектории и выбирать правильную для реагирования на реальные обстоятельства. Когда ваш автомобиль находится на трассе один, вы даже можете заранее отрисовать траекторию и проверить её в симуляторе, используя относительно неограниченные вычислительные мощности. Выполнение этого исключительно на борту автономного автомобиля — совсем другая история, особенно когда речь идет о динамическом пересчёте в ответ на внезапные ситуации. Вычислительная мощность внутри автомобиля ограничена, и при том вы используете её для выполнения других важных задач во время вождения.
Необходимо учитывать и другие аспекты, которые могут сделать эту историю ещё сложнее. Например, вы также можете озаботиться задачей гоночной стратегии в целом, чтобы ваш ИИ-гонщик делал выбор, учитывая различные возможные последствия и их влияние на конечный результат гонки. Всё это формирует эффективность и результативность вашей экстремальной системы экстремального автономного вождения и ведёт её к победе.
Частый вопрос заключается в том, имеет ли это отношение к повседневному применению систем автономного вождения на дорогах общего пользования. Предположим, вы рассматриваете автономность транспортного средства не просто как возможность для водителя-человека немного отдохнуть, а скорее как возможность сделать дороги безопаснее, наделив автомобили сверхчеловеческими возможностями. В этом случае вы можете себе представить, насколько важны упражнения, которые мы выполняем в Roborace, когда требуем от самоуправляемых систем реагировать на экстремальные обстоятельства.
Существует мнение, что разработка самоуправляемых систем для дорог общего пользования и гоночных трасс — это совершенно разные дисциплины. Это правда. Улицы и магистрали общего пользования обычно проектируются таким образом, чтобы быть удобными для водителей с любым опытом. Для обеспечения этого существуют соответствующие стандарты и предписания. Гоночные трассы спроектированы так, чтобы быть сложными. Система автономного вождения на гоночном треке сталкивается с гораздо большими трудностями, чем на дороге общего пользования. Не только из-за скорости, которая по-прежнему является важным аспектом, но и из-за гораздо более высокой динамики возможных сценариев. И мы ещё больше увеличиваем эту динамику, внедряя элементы Метавселенной. Таким образом, даже когда наши команды достигнут высоких результатов в гонках «колесо к колесу», мы не будем отключать Метавселенную. Вместо этого мы будем создавать всё более сложные сценарии, используя Метавселенную, потому что бросать такие вызовы роботам — одно удовольствие.
Почему бы просто не сделать всё это в симуляторе? Конечно, симуляция — отличный помощник при разработке систем автономного вождения. Но даже с использованием самых современных инструментов подобного рода их точность всё равно далека от 100% . Поэтому в Roborace ИИ-водители работают в смешанной реальности, чтобы мы могли получить лучшее из обоих миров — реального и виртуального.
Итак, каковы планы на Сезон Бета?
Мы организовали его в 3 этапа с разными уровнями сложности. Далее я привожу официальный план, разосланный командам 23 июня 2020 года.
Здесь вы можете увидеть упомянутую систему V2X, которая информирует автомобили об объектах и других транспортных средствах. В настоящее время для этой цели мы используем систему V2X, основанную на радио-стандарте 802.11p и сообщениях ETSI CAM.
Этап 1: Статические объекты
1a: Объекты в зонах
-
Зоны объектов имеют длину 300 м и разделены чистыми зонами трека, которые имеют длину 300 м, в результате чего на каждом круге тестовой трассы будет по три зоны объектов
-
Объекты случайным образом размещаются администрацией Roborace в следующей зоне препятствий, когда транспортное средство въезжает в текущую зону препятствий
-
V2X сообщает информацию о всех объектах в текущей и следующей зонах объектов
-
Размещение объектов в каждой зоне может меняться на каждом круге
-
Объекты могут быть как препятствиями, так и добычей
-
Объекты являются виртуальными
1b: Глобальные объекты
-
Зон больше нет
-
Объекты могут быть размещены на трассе случайным образом
-
V2X сообщает информацию о всех объектах в радиусе 100 м впереди и 30 м позади автомобиля
-
Расположение объектов может меняться на каждом круге
-
Объекты могут быть как препятствиями, так и добычей
-
Объекты являются виртуальными
Этап 2: Динамические объекты
2a: Медленно движущиеся объекты с фиксированным вектором направления
-
Объекты могут иметь ненулевую скорость и ускорение
-
Движение объектов ограничено параллелью центральной линии трассы
2b: Автомобили-призраки
-
Один или несколько конкурирующих виртуальных транспортных средств из Метавселенной
-
Линия движения и относительные характеристики виртуальных автомобилей с могут постепенно усложняться (т.е. только осевая линия, LHS-параллель осевой линии, RHS-параллель осевой линии, гоночная линия)
-
Виртуальные автомобили следуют только по фиксированной траектории (т.е. не реагируют на участвующее в заезде транспортное средство)
Этап 3: Гонки
3a: Смешанная реальность
-
Максимум один физический автомобиль на трассе против одного или нескольких виртуальных автомобилей, исполняемых симулятором
-
Все автомобили управляются в режиме реального времени ИИ-водителями команд
-
Все автомобили реагируют на другие автомобили на трассе, физически или виртуально
3b: Колесо к колесу
-
Один или несколько физических автомобилей на трассе против ни одного или нескольких виртуальных автомобилей, исполняемых симулятором
-
Все автомобили управляются в режиме реального времени ИИ-водителями команд
-
Все автомобили реагируют на другие автомобили на трассе, физически или виртуально
Несмотря на то, что мы разработали этот план за несколько месяцев до начала Сезона Бета, мы не разрабатывали все его миссии с запасом вперёд. На текущем этапе мы завершаем разработку плана следующей миссии сразу после завершения предыдущей миссии, чтобы учесть её результаты и полученные знания. Логическим обоснованием этого является приведение каждой следующей миссии в соответствие с реальными достижениями наших команд. Это также дает нам некоторую свободу в улучшении формата гонок на основе результатов, которые мы получаем во время проведения этих соревнований, и отзывов, которые мы получаем от зрителей.
Я надеюсь, что это как-то проясняет ситуацию. Обладая этой информацией во время просмотра наших трансляций, вы сможете судить о том, где мы находимся в Сезоне Бета, чего достигли и что нуждается в дальнейшем прогрессе 🤓