Как устроены первые в мире соревнования беспилотных болидов Fomula 3 на Indy Autonomous Challenge 2021. Команда TUM

Команда Мюнхенского технического университета (TUM Autonomous Motorsport team) только что выиграла первые в мире соревнования беспилотных болидов Formula 3 во время Indy Autonomous Challenge 2021 (далее, IAC 2021) проведённого 23 октября 2021 года компанией Cisco и большим количеством других компаний-партнёров.

Мне, как и, наверное, многим другим, эта область очень интересна. Но было достаточно сложно следить за происходящим в течение двух лет, так как информация появлялась частями и в разных местах, а также в разных интерпретациях. Но сейчас, когда соревнования проведены и сделаны уже первые выводы, самое время взглянуть «под капот» происходящего.

Вы безусловно можете найти всю эту информацию начав с главной страницы соревнований, но это займёт какое-то время. Я потратил два дня только чтобы собрать воедино разные технические детали и сделал это просто из собственного интереса. Так что, надеюсь, кому эта «компиляция» покажется удобной и интересной. В конце я постараюсь дать список ссылок на материалы, он тоже довольно длинный. Также, буду благодарен за корректировки и недостающие подробности от посвященных. Осторожно, под катом огромное количество изображений.

image-loader.svg

Что вообще только что произошло?

Ну, на самом деле, всё началось не только что, а 16 лет назад, когда в 2005 всем известная около военная организация DARPA провела соревнования первых беспилотных автомобилей Grand Challenge в пустыне Мохав. Это привело к возросшему интересу к этой области и в результате родилось множество R&D команд в разных университетах по всему миру. Небезызвестный учёный и автор курсов по робототехнике и селф-драйвингу Sebastian Thrun (на платформе Udacity), был тим лидом выигравшей тогда команды. В этот раз он был одним из главных эдвайзоров соревнований.

image-loader.svg

Трасса Индианаполиса — одна из известнейших трасс США для проведения гоночных соревнований. Соревнования IAC состояли из 38 университетских команд со всего мира. В течение года каждая из них прошла серию тестов и испытаний на виртуальных стендах симуляции (уж простите за термин) и было отобрано 9 лучших команд для соревнований на «живых» автомобилях. IAC анонсировали главный приз в 1 миллион долларов, чтобы достаточно простимулировать команды (как и в 2005 году). Стоит ли говорить, что к соревнованиям присоединилось огромное количество технологических компаний-партнёров, множество экспертов из разных областей, а также сотни студентов и даже школьников из физ-мат школ (STEM) штата Индиана. Масштабное, в общем, событие.

Соревнования призваны подстегнуть исследования через быстрый цикл обучения и испытаний для преодоления уже известных (а также открытия новых) на текущий момент сложностей коммерциализации беспилотного транспорта. Это позволяет новому поколению ученых и инженеров начать двигать исследования во всех направлениях.

Гоночный болид

Всем 9 командам был предоставлен практически одинаковый автомобиль. Встречайте, полностью автономный болид Формула 3 от компании Dallara: Dallara AV-21. Автомобиль AV-21 создан совместно двумя подразделениями этой глобальной компании: специалистам штаб-квартиры в Италии в Парме, а также Dallara IndyCar Factory в штате Индиана. Беспилотный автомобиль создан на базе «человеческого» болида Dallara IL-15:

image-loader.svg

Вот что у него внутри:

Спецификации Dallara AV-21

Шасси

Карбоновое

Вес

640 — 649 кг (с полным баком и водителем)

Двигатель

4-цилиндровый турбированный AER P63 2.0L

Мощность

450 л.с. (+50 с Push-to-Pass)

Коробка передач

6-скоростная полуавтоматическая коробка Ricardo

Сцепление

3-х дисковое керамическое сцеплениеTilton

Подвеска

Двойные поперечные рычаги

Амортизаторы

Multimatic DSSVs

Топливо

Гоночное топливо VP

Диски

15-дюймовые алюминиевые диски Motegi Racing

Шины

Слики и дождевая резина Cooper/IndyLights

Электроника

Соединения Cosworth, панель и сенсоры, блок управления Life Racing ECU, электронный контроль газа drive-by-wire, и проч.

Аэродинамика

Настраиваемые передние и задние крылья и подкрылки

image-loader.svg

Подготовка к IAC началась 2 года назад когда центр исследований Clemson University International Center for automotive research (CU-ICAR) начал проект Deep Orange 12, в котором приняло участие более 200 студентов университета и сотрудников факультетов. Их задачей была доработка каждого AV-21 до степени, в которой автомобиль имел бы на борту все необходимые датчики и оборудование, готовое к запуску алгоритмов управления автомобилем от каждой университетской команды соревнований. Чтобы все участники понимали детали происходящего, проводились ежемесячные собрания (созвоны) всех участвующих сторон с обсуждениями изменений в дизайне.

image-loader.svg

В результате работы команды CU-ICAR машина получила набор лидаров и камер, радар, блоки управления и коммутаторы, а также доработанную электрику (например, дополнительные батареи), чтобы можно было запитать всё это на борту автомобиля. Были также добавлены системы охлаждения батарей и электроники.

Автомобиль получился «из коробки» уже не «глупый». Благодаря контроллеру AdLink AVA-350, он мог уже проезжать по трассе Indianapolis Motor Speedway. Однако, этого было недостаточно для соревнований. Командам необходимо было создать набор алгоритмов для сбора и анализа данных с датчиков и принятия решения о наборе скорости, торможении, обгоне, всем остальным атрибутам соревнований.

Короткое видео из Instagram, о том как проходили доработки

Команды

38 команд (по некоторым данным их было 39, а где-то писали что вообще 21) собралось со всего мира чтобы пройти через целую серию хакатонов и тренировочных испытаний, в течение которых они учились использовать инструменты симуляции Ansys (о них ниже), собирали прототипы, тренировали модели, в общем, старались пройти отбор для финального соревнования на болидах Формула 3.

image-loader.svg

Каждый этап был обязательным для прохождения на следующий. Было пять основных этапов (и два дополнительных хакатона между ними):

  1. Запуск 28 февраля, 2020: первая стадия состояла из формальностей вроде регистрации и написания дизайн-решений (white paper) от каждой команды, которые включали используемые результаты исследований, типы ПО для симуляции, план проектов и т.д. Я не смогу в рамках статьи пройти по всем этим деталям, поэтому очень рекомендую пройтись по ним самостоятельно: ссылки на скачивание на страницах каждой из команд. Будет интересно, если специалисты в этой теме (например, из Яндекса, или где там у нас профессионально занимаются этой темой) напишут разборы решений команд.

  2. Демонстрация 19 августа, 2020: Команды должны были доказать, что их решения вообще способны вести пассажирский автомобиль (а не только какого-нибудь робота), совершая манёвры, вроде поворотов, наборов скорости и торможения, а также объезжать препятствия. Для проверки команды должны были либо загрузить видео живых испытаний, либо пройти серию испытаний evGrandPrix Autonomous Series.

  3. Гонка симуляторов, проводимая компанией Ansy 30 июня, 2021: Студенты загрузили свои алгоритмы чтобы побороться за места в двух фазах испытаний. Первая фаза демонстрировала возможность управления автомобилем в течение 10 кругов, которые нужно было завершить за меньше, чем 15 минут. Во второй стадии автомобили должны были пройти 20 кругов вместе с другими автомобилями (head-to-head) в гонке преследовании, в течение которых они не должны были соприкасаться, сталкиваться, оставаться в границах трассы и завершить гонку с лучшим квалификационным кругом в 105% от лучшего времени сессии (похоже на правило 107% в F1). 

  4. Квалификация 21–22 октября, 2021: После инспекции безопасности и технических проверок, каждая команда должна сделать 10 кругов за меньше чем 15 минут со средней скоростью 100 миль в час. Один из этих кругов должен быть завершен меньше чем за 75 секунд со средней скоростью больше 120 миль в час. Стартовая решетка для финального заезда формировалась после безопасного завершения квалификационного испытания.

  5. Финальная гонка 23 октября, 2021: Победитель определен в 20 кругах со средней скоростью больше 120 миль в час, завершенных меньше чем за 25 минут. Техническая инспекция перед гонкой могла дисквалифицировать команду за любое нарушение правил, как касание другого болида или читерство. За первое место отдали 1 миллион долларов, за второе 250 тысяч, а за третье 50 тысяч долларов.

30 teams to compete in Indy Autonomous Challenge at Indianapolis Motor Speedway

www.indystar.com

Девять команд-финалистов участвовали в гонке 23 октября (простите, переводить названия не буду):

1. AI Racing Tech — University of Hawai«i, University of California San Diego

2. Autonomous Tiger Racing — Auburn University

3. Black & Gold Autonomous Racing — Purdue University, United States Military Academy at West Point

4. Cavalier Autonomous Racing — University of Virginia (UVA Engineering)

5. EuroRacing team — University of Modena and Reggio Emilia (Italy), University of Pisa (Italy), ETH Zürich (Switzerland), Polish Academy of Sciences (Poland)

6. KAIST — Korea Advanced Institute of Science and Technology (South Korea)

7. MIT-PITT-RW — Massachusetts Institute of Technology, University of Pittsburgh, Rochester Institute of Technology, University of Waterloo (Canada) — (Pitt Robotics and Automation Society)

8. PoliMOVE Autonomous Racing Team — Politecnico di Milano (Italy), University of Alabama

9. TUM Autonomous Motorsport — Technische Universität München (Germany) — (FTM Institute of Automotive Technology TUM)

Победители

Хотя команда TUM выиграла первый приз, быстрый круг оказался у команды, Euroracing, занявшей второе место. Быстрейший круг составил 228.5 км/ч или 142 миль в час. В последний момент команда Euroracing допустила ошибку на миллион долларов, из-за чего алгоритм недосчитал всего 1 разогревочный круг и машина начала снижать скорость раньше положенного. 

image-loader.svg

Стоит отметить, что гонка проходила не в лучших погодных условиях. Было ветрено и прохладно, а до этого два дня подряд лил дождь. В таких условиях поддерживать гоночные слики разогретыми и удерживать автомобили в рамках трека было само по себе сложной задачей. Поэтому победа однозначно заслужена и мне кажется, что мы действительно входим в эру чего нового с точки зрения алгоритмов и технологий.

Под капотом автомобилей было много всего интересного, давайте заглянем.

image-loader.svg

Железо

  1. Лазерные детекторы, LIDARs (Light Detection and Ranging sensors). Каждая машина имела на борту по три лидара Luminar Hydra (от компании AutonomousStuff, ко-бренда Hexagon). На рисунках ниже это коробочки серого цвета. Каждый из них «видит» на 250 метров в даль и в сумме они покрывали 360 градусов вокруг автомобиля.

    image-loader.svg
  2. Камеры Allied Vision Mako G-319C с драйверами для ROS.

    image-loader.svgimage-loader.svg
  3. Многорежимный радар-детектор Aptiv Electronically Scanning RADAR (ESR)

  4. Модуль GPS IMU (инерциальный измеритель)

    image-loader.svg
  5. Робототехнический контроллер AdLinkTech AVA-3501 для бортовых вычислений, специально разработанный для использования в автомобилях. Однако, он заимствует конфигурацию от системы ROScube, что позволяет командам проекта evGrandPrix легче перейти на технику для новых соревнований IAC.

    image-loader.svg

    Контроллер AVA-3501 обрабатывает гигабайты изображений почти в реальном времени используя AI, чтобы успевать за тем массивом данных, который производится во время беспилотного заезда. Вся работа по анализу с помощью AI должна быть произведена прямо в автомобиле, сразу при поступлении данных. Поэтому контроллер содержит последние процессоры Intel® Core™ и Xeon®, имеет по два слота для полноценных видеокарт NVIDIA RTX для ускорения обработки AI. В зависимости от конфигурации, в компьютере могут быть жесткие диски Samsung 970 EVO Plus NVME M.2 SSDs до 3 ТБ и двух дисков по 512ГБ, подключаемых «на горячую» через слоты 2.5» SSD SATA 6 Гб/с. Также присутствуют двойные порты 40GbE QSFP+ и шесть каналов шины CAN. Всё это в дополнение к стандартному набор ввода-вывода, как DP++, DVI-I, GbE, 8-канальному Digital IO, и 6 портов вездесущего USB. Также рекомендую брошюру с деталями.

    Наверное, не нужно говорить, что вся эта мощь нужна для принятия решения в доли секунды, основываясь на миллионах параметров (data points), описывающих происходящее вокруг. Например, если одна из машин впереди внезапно уходит влево или вправо, что делать?

    image-loader.svg
  6. Сетевое соединение от Cisco. Независимо от задачи, сеть является связующим звеном всех компонент и сердцем беспилотного автомобиля. Сеть нужна чтобы передать команду «старт двигателей», синхронизировать GPS время, или указать на клетчатый флаг на финишной линии. Сеть нужна и для мониторинга безопасности, и передачи телеметрии, и параметров езды автомобиля.

    «Домашние» решения WiFi и 5G не предоставляют нужной точности и скорости. Когда автомобиль мчится по трассе, то необходимо мгновенно и гарантированно получать информацию. То же самое касается бортовых сенсоров (лидаров, камер, радаров) и компьютеров, которые должны иметь возможность коммуникации на высочайшей скорости для того чтобы успеть просчитывать алгоритм поведения или иметь возможность взятия автомобиля под контроль в чрезвычайных обстоятельствах. Любая сетевая задержка на порядки увеличивает шансы аварии или как минимум уменьшает шансы на победу в гонке.

    Организаторы IAC и инженеры CU-ICAR исследовали характеристики разных беспроводных технологий включая 5G, DSRC/V2X, и CV2X. В заключение они сделали вывод о том, что данные технологии пока не обеспечивают должных характеристик.

    Поэтому для боротвых систем были выбраны следующие технологии и устройства:

    · V2i через Cisco Ultra-Reliable Wireless Backhaul (ранее, Fluidmesh) — беспроводная технология с производительностью, схожей с оптоволоконными сетями и скоростью до 500 Мб/с.

    · Бортовой коммутатор Cisco Catalyst Industrial Switches поддерживающий до 40Гб/с.

    · Специально разработанная антенна, расположенная в самой верхней точке автомобиля (на рисунке слева).

    image-loader.svgimage-loader.svg

    Радиопередача осуществлялась в следующих сценариях:

    —  Передача информации о текущем статусе гоночного флага

    — Телеметрия

    — Передача видео с машин

    — Чрезвычайная остановка

    — Сердцебиение (heartbeat) каждые 50 мс для проверки доступности связи с машиной

    — Выравнивание времени через Ultra-HD GPS

    Трек также был оборудован передатчиками по кругу трассы для максимизации доступности сетевого соединения:

    image-loader.svg
  7. Колеса Bridgestone с датчиками состояния резины и заноса. Многие гонщики в основном управляют болидами на уровне мышечной памяти и инстинктов, т.к. «подумать» на скоростях выше 200 миль в час нет времени. Поэтому определение состояния, при котором резина теряет контакт с дорогой, представляет отдельную задачу для компьютерных систем.

    image-loader.svg
  8. Система «руления автомобилем» Schaeffler SpaceDrive включающая как модули управления, так и сопутствующий софт. Это устройство позволяет убрать стандартную рулевую колонку и сопутствующие железки. Система воспринимает команды и транслирует их в точные углы поворота колес для совершения манёвра, управляет уровнем газа и торможения.

    image-loader.svg

    Вот так выглядит коробочка, заменяющая рулевую колонку:

    image-loader.svg

Наверное, стоит отметить также участие робота Spot от Boston Dynamics, который размахивал клетчатым флагом гонки и всячески развлекал публику.

Программное обеспечение

Вот тут, к сожалению, самое интересное, но и самое сложное. Думаю, что если попытаться описать всё ПО, используемое всеми командами, то выйдет список-трехтомник. Однако, попробуем уделить внимание отдельным продуктам, которые особенно упоминались в разных источниках, как наиболее важные.

  1. Организаторы использовали ПО для управления гонкой (Race Control) и транслирования событий, чтобы можно было передавать автомобилям сигналы о чрезвычайных обстоятельствах, состоянии флага гонки, а также необходимости разгона или торможения, или же полной остановки.

  2. Симулятор GAIA Platform, управляющий тактикой и стратегией гонки, используя Race Decision Engine (RDE). Части информации о ней можно найти в сопутствующих материалах гонки и документации проекта. Если коротко, то этот пакет берет на себя обработку событий сохранения и обновления данных в хранилище (на C++), пока вы фокусируетесь на написании логики управления роботом (focus on your mission«s goal).

  3. Дополнительно, ADLINK предоставила Docker-контейнер для работы со своим робототехническим контроллером. Это позволило командам соревнований использовать  систему Open Robotics ROS 2 с библиотеками Autoware.Auto, Eclipse Zeno V2X и Eclipse Cyclone DDS.

  4. Симулятор Kvaser DevKit и высокоточные устройства для работы с шиной CAN.

  5. Многие команды использовали open-source проект PlotJuggler для визуализации и анализа телеметрии и других данных. to visualize and analyze all their data.

    image-loader.svg
  6. Пакет симуляции вождения Ansys VRXPERIENCEpowered by SCANeR.

  7. Пакет Ansys SCADE Suite для построения и разработки модели поведения.

    image-loader.svg
  8. Microsoft Azure Cloud предоставил вычислительные мощности для запуска тысяч экспериментов симуляции одновременно во время тренировки моделей.

    image-loader.svg

Роли в каждой команде

Все команды были устроены по-разному, в зависимости от ресурсов (очевидно), а также планируемого решения (алгоритмов, инструментов, и прочего). Но в среднем, в каждой команде нужно было «закрыть» следующие роли и экспертизу:

  • Организация и управление

  • Симуляции

  • Динамика автомобиля

  • Планирование движения и управление

  • Безопасность, логирование, телеметрия и визуализация

  • Восприятие информации с сенсоров

  • Экспертиза по автомобилю Dallara AV-21

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

Восприятие

На скриншоте с камеры видно, как детектируются объекты вокруг. Чтобы сделать такую картинку были взяты видеозаписи с автомобилей пропущены на вход нейронной сети, детектирующей объекты: она классифицирует коллекции объектов по заранее обозначенным классам, как например автомобилей. Благодаря этому мы можем знать, что рядом находятся именно оппоненты (найденные классы объектов), а не конусы.

image-loader.svg

Планирование

Как только модуль восприятия определяет состояние автомобиля и окружающих его объектов (скорость, позицию, и т.д.), модуль планирования берет на себя управление автомобилем в данный момент времени. Он отвечает за ряд поведенческих правил, как например наиболее быстрые и безопасные траектории движения для обгона или другого манёвра. Чтоб корректно следовать пути, высокоуровневый контроллер использует соответствующую модель, подходящую под конкретную ситуацию (их много), например вход и выход из поворота, обгон и т.д. Множество деталей работы этих моделей и алгоритмов нужно читать в материалах команд, на их сайтах, Git-Hub акккаунтах, и презентациях на youtube и т.д.

image-loader.svg

Динамика

Цель этого модуля: смоделировать поведение колес, двигателя и других механических деталей во время движения на скорости около 300 км/ч. Для этого тоже используется моделирование, интерфейсы и инструменты мониторинга систем автомобиля.

image-loader.svg

Среда симуляции

Модуль планирования решает множество задач. Чтобы натренировать его на разные такие задачи используются среды симуляции. В данном соревновании команды использовали пакеты от Ansys, но такого ПО достаточно много, тот же Microsoft Air, Blender или OpenFOAM. Кстати, в одном из своих прошлых постов я сделал пошаговый туториал постановки эксперимента симуляции физических параметров модели мотоцикла с помощью open-source пакета OpenFOAM, настройки его в облаке и отображении результатов в web. И хоть я коснулся этой области совсем недавно, она сразу показалась мне интересной. Сейчас эта область исследований получает всё больше внимания, хотя существует она довольно давно и на рынке присутствует множество компаний, оказывающих услуги и предоставляющих экспертизу по симуляциям. Много статей на эту тему вышло за 2021 год у Wevolver.

image-loader.svg

Выводы

В статье я постарался раскрыть некоторые технические детали соревнований IAC 2021, но далеко не все. Эти соревнования действительно являются единственными в своём роде. Такие события происходят далеко не каждый год. Уверен, что в будущем команды проанализируют свои результаты, и выложат больше информации о «внутренностях», а значит нас ждет ещё более увлекательные подробности. Уже сейчас достаточно заглянуть в доступные ресурсы каждой из команд, чтобы понять, что ими уже накоплены результаты исследований и испытаний порой по десятку лет. Честно говоря, до этих соревнований, мне казалось, что в этой области работают всего несколько известных всему миру «гигантов», однако на самом деле этой темой уже занимаются многие десятки команд и компаний. С удовольствием будем наблюдать дальше, читать подробности, и будем надеяться, что доведётся как-то и поучаствовать в чем-то близком.

Используемые материалы

© Habrahabr.ru