Команда Мюнхенского технического университета (TUM Autonomous Motorsport team) только что выиграла первые в мире соревнования беспилотных болидов Formula 3 во время Indy Autonomous Challenge 2021 (далее, IAC 2021) проведённого 23 октября 2021 года компанией Cisco и большим количеством других компаний-партнёров.
Мне, как и, наверное, многим другим, эта область очень интересна. Но было достаточно сложно следить за происходящим в течение двух лет, так как информация появлялась частями и в разных местах, а также в разных интерпретациях. Но сейчас, когда соревнования проведены и сделаны уже первые выводы, самое время взглянуть «под капот» происходящего.
Вы безусловно можете найти всю эту информацию начав с главной страницы соревнований, но это займёт какое-то время. Я потратил два дня только чтобы собрать воедино разные технические детали и сделал это просто из собственного интереса. Так что, надеюсь, кому эта «компиляция» покажется удобной и интересной. В конце я постараюсь дать список ссылок на материалы, он тоже довольно длинный. Также, буду благодарен за корректировки и недостающие подробности от посвященных. Осторожно, под катом огромное количество изображений.
Что вообще только что произошло?
Ну, на самом деле, всё началось не только что, а 16 лет назад, когда в 2005 всем известная около военная организация DARPA провела соревнования первых беспилотных автомобилей Grand Challenge в пустыне Мохав. Это привело к возросшему интересу к этой области и в результате родилось множество R&D команд в разных университетах по всему миру. Небезызвестный учёный и автор курсов по робототехнике и селф-драйвингу Sebastian Thrun (на платформе Udacity), был тим лидом выигравшей тогда команды. В этот раз он был одним из главных эдвайзоров соревнований.
Трасса Индианаполиса – одна из известнейших трасс США для проведения гоночных соревнований. Соревнования IAC состояли из 38 университетских команд со всего мира. В течение года каждая из них прошла серию тестов и испытаний на виртуальных стендах симуляции (уж простите за термин) и было отобрано 9 лучших команд для соревнований на «живых» автомобилях. IAC анонсировали главный приз в 1 миллион долларов, чтобы достаточно простимулировать команды (как и в 2005 году). Стоит ли говорить, что к соревнованиям присоединилось огромное количество технологических компаний-партнёров, множество экспертов из разных областей, а также сотни студентов и даже школьников из физ-мат школ (STEM) штата Индиана. Масштабное, в общем, событие.
Соревнования призваны подстегнуть исследования через быстрый цикл обучения и испытаний для преодоления уже известных (а также открытия новых) на текущий момент сложностей коммерциализации беспилотного транспорта. Это позволяет новому поколению ученых и инженеров начать двигать исследования во всех направлениях.
Гоночный болид
Всем 9 командам был предоставлен практически одинаковый автомобиль. Встречайте, полностью автономный болид Формула 3 от компании Dallara: Dallara AV-21. Автомобиль AV-21 создан совместно двумя подразделениями этой глобальной компании: специалистам штаб-квартиры в Италии в Парме, а также Dallara IndyCar Factory в штате Индиана. Беспилотный автомобиль создан на базе «человеческого» болида Dallara IL-15:
Вот что у него внутри:
Спецификации 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, и проч. |
Аэродинамика |
Настраиваемые передние и задние крылья и подкрылки |
Подготовка к IAC началась 2 года назад когда центр исследований Clemson University International Center for automotive research (CU-ICAR) начал проект Deep Orange 12, в котором приняло участие более 200 студентов университета и сотрудников факультетов. Их задачей была доработка каждого AV-21 до степени, в которой автомобиль имел бы на борту все необходимые датчики и оборудование, готовое к запуску алгоритмов управления автомобилем от каждой университетской команды соревнований. Чтобы все участники понимали детали происходящего, проводились ежемесячные собрания (созвоны) всех участвующих сторон с обсуждениями изменений в дизайне.
В результате работы команды CU-ICAR машина получила набор лидаров и камер, радар, блоки управления и коммутаторы, а также доработанную электрику (например, дополнительные батареи), чтобы можно было запитать всё это на борту автомобиля. Были также добавлены системы охлаждения батарей и электроники.
Автомобиль получился «из коробки» уже не «глупый». Благодаря контроллеру AdLink AVA-350, он мог уже проезжать по трассе Indianapolis Motor Speedway. Однако, этого было недостаточно для соревнований. Командам необходимо было создать набор алгоритмов для сбора и анализа данных с датчиков и принятия решения о наборе скорости, торможении, обгоне, всем остальным атрибутам соревнований.
Короткое видео из Instagram, о том как проходили доработки
Команды
38 команд (по некоторым данным их было 39, а где-то писали что вообще 21) собралось со всего мира чтобы пройти через целую серию хакатонов и тренировочных испытаний, в течение которых они учились использовать инструменты симуляции Ansys (о них ниже), собирали прототипы, тренировали модели, в общем, старались пройти отбор для финального соревнования на болидах Формула 3.
Каждый этап был обязательным для прохождения на следующий. Было пять основных этапов (и два дополнительных хакатона между ними):
Запуск 28 февраля, 2020: первая стадия состояла из формальностей вроде регистрации и написания дизайн-решений (white paper) от каждой команды, которые включали используемые результаты исследований, типы ПО для симуляции, план проектов и т.д. Я не смогу в рамках статьи пройти по всем этим деталям, поэтому очень рекомендую пройтись по ним самостоятельно: ссылки на скачивание на страницах каждой из команд. Будет интересно, если специалисты в этой теме (например, из Яндекса, или где там у нас профессионально занимаются этой темой) напишут разборы решений команд.
Демонстрация 19 августа, 2020: Команды должны были доказать, что их решения вообще способны вести пассажирский автомобиль (а не только какого-нибудь робота), совершая манёвры, вроде поворотов, наборов скорости и торможения, а также объезжать препятствия. Для проверки команды должны были либо загрузить видео живых испытаний, либо пройти серию испытаний evGrandPrix Autonomous Series.
Гонка симуляторов, проводимая компанией Ansy 30 июня, 2021: Студенты загрузили свои алгоритмы чтобы побороться за места в двух фазах испытаний. Первая фаза демонстрировала возможность управления автомобилем в течение 10 кругов, которые нужно было завершить за меньше, чем 15 минут. Во второй стадии автомобили должны были пройти 20 кругов вместе с другими автомобилями (head-to-head) в гонке преследовании, в течение которых они не должны были соприкасаться, сталкиваться, оставаться в границах трассы и завершить гонку с лучшим квалификационным кругом в 105% от лучшего времени сессии (похоже на правило 107% в F1).
Квалификация 21-22 октября, 2021: После инспекции безопасности и технических проверок, каждая команда должна сделать 10 кругов за меньше чем 15 минут со средней скоростью 100 миль в час. Один из этих кругов должен быть завершен меньше чем за 75 секунд со средней скоростью больше 120 миль в час. Стартовая решетка для финального заезда формировалась после безопасного завершения квалификационного испытания.
Финальная гонка 23 октября, 2021: Победитель определен в 20 кругах со средней скоростью больше 120 миль в час, завершенных меньше чем за 25 минут. Техническая инспекция перед гонкой могла дисквалифицировать команду за любое нарушение правил, как касание другого болида или читерство. За первое место отдали 1 миллион долларов, за второе 250 тысяч, а за третье 50 тысяч долларов.
Девять команд-финалистов участвовали в гонке 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 разогревочный круг и машина начала снижать скорость раньше положенного.
Стоит отметить, что гонка проходила не в лучших погодных условиях. Было ветрено и прохладно, а до этого два дня подряд лил дождь. В таких условиях поддерживать гоночные слики разогретыми и удерживать автомобили в рамках трека было само по себе сложной задачей. Поэтому победа однозначно заслужена и мне кажется, что мы действительно входим в эру чего нового с точки зрения алгоритмов и технологий.
Под капотом автомобилей было много всего интересного, давайте заглянем.
Железо
-
Лазерные детекторы, LIDARs (Light Detection and Ranging sensors). Каждая машина имела на борту по три лидара Luminar Hydra (от компании AutonomousStuff, ко-бренда Hexagon). На рисунках ниже это коробочки серого цвета. Каждый из них «видит» на 250 метров в даль и в сумме они покрывали 360 градусов вокруг автомобиля.
-
Камеры Allied Vision Mako G-319C с драйверами для ROS.
Многорежимный радар-детектор Aptiv Electronically Scanning RADAR (ESR)
-
Модуль GPS IMU (инерциальный измеритель)
-
Робототехнический контроллер AdLinkTech AVA-3501 для бортовых вычислений, специально разработанный для использования в автомобилях. Однако, он заимствует конфигурацию от системы ROScube, что позволяет командам проекта evGrandPrix легче перейти на технику для новых соревнований IAC.
Контроллер 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), описывающих происходящее вокруг. Например, если одна из машин впереди внезапно уходит влево или вправо, что делать?
-
Сетевое соединение от Cisco. Независимо от задачи, сеть является связующим звеном всех компонент и сердцем беспилотного автомобиля. Сеть нужна чтобы передать команду «старт двигателей», синхронизировать GPS время, или указать на клетчатый флаг на финишной линии. Сеть нужна и для мониторинга безопасности, и передачи телеметрии, и параметров езды автомобиля.
«Домашние» решения WiFi и 5G не предоставляют нужной точности и скорости. Когда автомобиль мчится по трассе, то необходимо мгновенно и гарантированно получать информацию. То же самое касается бортовых сенсоров (лидаров, камер, радаров) и компьютеров, которые должны иметь возможность коммуникации на высочайшей скорости для того чтобы успеть просчитывать алгоритм поведения или иметь возможность взятия автомобиля под контроль в чрезвычайных обстоятельствах. Любая сетевая задержка на порядки увеличивает шансы аварии или как минимум уменьшает шансы на победу в гонке.
Организаторы IAC и инженеры CU-ICAR исследовали характеристики разных беспроводных технологий включая 5G, DSRC/V2X, и CV2X. В заключение они сделали вывод о том, что данные технологии пока не обеспечивают должных характеристик.
Поэтому для боротвых систем были выбраны следующие технологии и устройства:
· V2i через Cisco Ultra-Reliable Wireless Backhaul (ранее, Fluidmesh) – беспроводная технология с производительностью, схожей с оптоволоконными сетями и скоростью до 500 Мб/с.
· Бортовой коммутатор Cisco Catalyst Industrial Switches поддерживающий до 40Гб/с.
· Специально разработанная антенна, расположенная в самой верхней точке автомобиля (на рисунке слева).
Радиопередача осуществлялась в следующих сценариях:
- Передача информации о текущем статусе гоночного флага
- Телеметрия
- Передача видео с машин
- Чрезвычайная остановка
- Сердцебиение (heartbeat) каждые 50мс для проверки доступности связи с машиной
- Выравнивание времени через Ultra-HD GPS
Трек также был оборудован передатчиками по кругу трассы для максимизации доступности сетевого соединения:
-
Колеса Bridgestone с датчиками состояния резины и заноса. Многие гонщики в основном управляют болидами на уровне мышечной памяти и инстинктов, т.к. «подумать» на скоростях выше 200 миль в час нет времени. Поэтому определение состояния, при котором резина теряет контакт с дорогой, представляет отдельную задачу для компьютерных систем.
-
Система «руления автомобилем» Schaeffler SpaceDrive включающая как модули управления, так и сопутствующий софт. Это устройство позволяет убрать стандартную рулевую колонку и сопутствующие железки. Система воспринимает команды и транслирует их в точные углы поворота колес для совершения манёвра, управляет уровнем газа и торможения.
Вот так выглядит коробочка, заменяющая рулевую колонку:
Наверное, стоит отметить также участие робота Spot от Boston Dynamics, который размахивал клетчатым флагом гонки и всячески развлекал публику.
Программное обеспечение
Вот тут, к сожалению, самое интересное, но и самое сложное. Думаю, что если попытаться описать всё ПО, используемое всеми командами, то выйдет список-трехтомник. Однако, попробуем уделить внимание отдельным продуктам, которые особенно упоминались в разных источниках, как наиболее важные.
Организаторы использовали ПО для управления гонкой (Race Control) и транслирования событий, чтобы можно было передавать автомобилям сигналы о чрезвычайных обстоятельствах, состоянии флага гонки, а также необходимости разгона или торможения, или же полной остановки.
Симулятор GAIA Platform, управляющий тактикой и стратегией гонки, используя Race Decision Engine (RDE). Части информации о ней можно найти в сопутствующих материалах гонки и документации проекта. Если коротко, то этот пакет берет на себя обработку событий сохранения и обновления данных в хранилище (на C++), пока вы фокусируетесь на написании логики управления роботом (focus on your mission’s goal).
Дополнительно, ADLINK предоставила Docker-контейнер для работы со своим робототехническим контроллером. Это позволило командам соревнований использовать систему Open Robotics ROS 2 с библиотеками Autoware.Auto, Eclipse Zeno V2X и Eclipse Cyclone DDS.
Симулятор Kvaser DevKit и высокоточные устройства для работы с шиной CAN.
-
Многие команды использовали open-source проект PlotJuggler для визуализации и анализа телеметрии и других данных. to visualize and analyze all their data.
Пакет симуляции вождения Ansys VRXPERIENCE powered by SCANeR.
-
Пакет Ansys SCADE Suite для построения и разработки модели поведения.
-
Microsoft Azure Cloud предоставил вычислительные мощности для запуска тысяч экспериментов симуляции одновременно во время тренировки моделей.
Роли в каждой команде
Все команды были устроены по-разному, в зависимости от ресурсов (очевидно), а также планируемого решения (алгоритмов, инструментов, и прочего). Но в среднем, в каждой команде нужно было «закрыть» следующие роли и экспертизу:
Организация и управление
Симуляции
Динамика автомобиля
Планирование движения и управление
Безопасность, логирование, телеметрия и визуализация
Восприятие информации с сенсоров
Экспертиза по автомобилю Dallara AV-21
В каких-то командах на каждую роль было несколько человек, а в каких-то один мог отвечать за несколько экспертиз.
Восприятие
На скриншоте с камеры видно, как детектируются объекты вокруг. Чтобы сделать такую картинку были взяты видеозаписи с автомобилей пропущены на вход нейронной сети, детектирующей объекты: она классифицирует коллекции объектов по заранее обозначенным классам, как например автомобилей. Благодаря этому мы можем знать, что рядом находятся именно оппоненты (найденные классы объектов), а не конусы.
Планирование
Как только модуль восприятия определяет состояние автомобиля и окружающих его объектов (скорость, позицию, и т.д.), модуль планирования берет на себя управление автомобилем в данный момент времени. Он отвечает за ряд поведенческих правил, как например наиболее быстрые и безопасные траектории движения для обгона или другого манёвра. Чтоб корректно следовать пути, высокоуровневый контроллер использует соответствующую модель, подходящую под конкретную ситуацию (их много), например вход и выход из поворота, обгон и т.д. Множество деталей работы этих моделей и алгоритмов нужно читать в материалах команд, на их сайтах, Git-Hub акккаунтах, и презентациях на youtube и т.д.
Динамика
Цель этого модуля: смоделировать поведение колес, двигателя и других механических деталей во время движения на скорости около 300 км/ч. Для этого тоже используется моделирование, интерфейсы и инструменты мониторинга систем автомобиля.
Среда симуляции
Модуль планирования решает множество задач. Чтобы натренировать его на разные такие задачи используются среды симуляции. В данном соревновании команды использовали пакеты от Ansys, но такого ПО достаточно много, тот же Microsoft Air, Blender или OpenFOAM. Кстати, в одном из своих прошлых постов я сделал пошаговый туториал постановки эксперимента симуляции физических параметров модели мотоцикла с помощью open-source пакета OpenFOAM, настройки его в облаке и отображении результатов в web. И хоть я коснулся этой области совсем недавно, она сразу показалась мне интересной. Сейчас эта область исследований получает всё больше внимания, хотя существует она довольно давно и на рынке присутствует множество компаний, оказывающих услуги и предоставляющих экспертизу по симуляциям. Много статей на эту тему вышло за 2021 год у Wevolver.
Выводы
В статье я постарался раскрыть некоторые технические детали соревнований IAC 2021, но далеко не все. Эти соревнования действительно являются единственными в своём роде. Такие события происходят далеко не каждый год. Уверен, что в будущем команды проанализируют свои результаты, и выложат больше информации о «внутренностях», а значит нас ждет ещё более увлекательные подробности. Уже сейчас достаточно заглянуть в доступные ресурсы каждой из команд, чтобы понять, что ими уже накоплены результаты исследований и испытаний порой по десятку лет. Честно говоря, до этих соревнований, мне казалось, что в этой области работают всего несколько известных всему миру «гигантов», однако на самом деле этой темой уже занимаются многие десятки команд и компаний. С удовольствием будем наблюдать дальше, читать подробности, и будем надеяться, что доведётся как-то и поучаствовать в чем-то близком.
Используемые материалы
Spot - 4-leg robot | University of Virginia School of Engineering and Applied Science
A 190 km/h di media senza pilota: sfida a Indianapolis (con l'Italia)
Nasce Indy Autonomous Challenge. Auto Dallara, e ci sono anche due team italiani | DMove.it
Indy Autonomous Challenge Powered by Cisco (@IndyAChallenge)
Edge Computing in the Indy Autonomous Challenge: Meet UH ART
No driver? No problem—this is the Indy Autonomous Challenge | Ars Technica
Will autonomous car racing change your business? It just might - Cisco Blogs
What's the Deal With Autonomous Racing? New Races Redefine Motorsports for the Self-Driving Era
Комментарии (7)
v1000
01.11.2021 23:15Такое впечатление, что что-то похожее надо сделать Tesla, что-то по типу Ferrari FXX, специальной версии трекового автомобиля, в котором будет возможность модификации прошивки для создания автономных гоночных автомобилей.
TimID
02.11.2021 03:02У Tesla есть и Roadster, и Tesla Model S Plaid+ - этого более чем достаточно. Плэд идет воровень с трековой версией Porshe 911 Turbo S на Нюрбургринге. Вполне-себе трековый автомобиль.
TimID
02.11.2021 02:58Есть ли информация от какой-нибудь из команд, освещающая особенности именно их решения? На уровне хотя бы публикаций, которые делали команды "Робокросса"?
optiklab Автор
02.11.2021 09:46На странице с полным списком команд можно перейти на страницу каждой из них и внизу найти Whitepaper, где описана история команды (её достижения или прошлые разработки), организация команд и решение которое они планируют испытать или опробовать. У некоторых есть аккаунты с кодом на GitHub, у некоторых аккаунты в Instragram, LinkedIn и проч. В общем, если поискать, то кое что можно "нарыть".
SuperDrummer
03.11.2021 20:56Комментарий по машине: там использовалась не Ф3, а чуть переделанная машина Лайтс. Формула 3 по определению не может быть моноформулой. Бруно Мишель временно стащил названия Ф2 и Ф3 для своих GP2 и GP3, но это ненадолго ИМХО. Первая же кампания по борьбе с коррупцией восстановит статус-кво.
GennPen
Немного видео под спойлером:
INDY AUTONOMOUS CHALLENGE