Искусственный интеллектТехнологии

Гонки дронов с использованием глубокого обучения

Коротко

Гонки дронов с видом от первого лица (FPV) — это транслируемый по телевидению вид спорта, в котором профессиональные участники пилотируют высокоскоростные самолеты по трехмерной трассе. Каждый пилот видит окружающую среду с точки зрения своего дрона с помощью видео, транслируемого с бортовой камеры. Достичь уровня профессиональных пилотов с помощью автономного дрона сложно, поскольку роботу необходимо летать на пределе своих физических возможностей, оценивая свою скорость и местоположение в контуре исключительно с помощью бортовых датчиков1. Здесь мы представляем Swift, автономную систему, которая может участвовать в гонках на физических транспортных средствах на уровне чемпионов мира среди людей. Система сочетает глубокое обучение с подкреплением (RL) в моделировании с данными, собранными в физическом мире. Свифт соревновался с тремя чемпионами среди людей, включая чемпионов мира двух международных лиг, в реальных гонках друг на друга. Свифт выиграл несколько гонок у каждого из чемпионов-людей и продемонстрировал самое быстрое время в гонках. Эта работа представляет собой важную веху в развитии мобильной робототехники и машинного интеллекта2, которая может вдохновить на внедрение гибридных решений на основе обучения в других физических системах.

Основной

Deep RL3 позволил реализовать некоторые недавние достижения в области искусственного интеллекта. Политики, обученные с помощью глубокого RL, превзошли людей в сложных конкурентных играх, включая Atari4,5,6, Go5,7,8,9, шахматы5,9, StarCraft10, Dota 2 (ссылка 11) и Gran Turismo12,13. Эти впечатляющие демонстрации возможностей машинного интеллекта в основном ограничивались средами моделирования и настольных игр, которые поддерживают поиск политики в точной копии условий тестирования. Преодоление этого ограничения и демонстрация производительности чемпионского уровня в физических соревнованиях является давней проблемой в области автономной мобильной робототехники и искусственного интеллекта14,15,16.

Гонки дронов FPV — это транслируемый по телевидению вид спорта, в котором высококвалифицированные пилоты-люди доводят летательные аппараты до предела своих физических возможностей, выполняя маневренные маневры на высокой скорости (рис. 1а). Транспортными средствами, используемыми в гонках FPV, являются квадрокоптеры, которые являются одними из самых маневренных машин, когда-либо созданных (рис. 1б). Во время гонки транспортные средства оказывают силу, превосходящую их собственный вес в пять и более раз, достигая скорости более 100 км/ч и ускорения, в несколько раз превышающего силу тяжести, даже в ограниченном пространстве. Каждое транспортное средство дистанционно управляется пилотом-человеком, который носит гарнитуру, транслирующую видеопоток с бортовой камеры, создавая захватывающий опыт «от первого лица» (рис. 1в).

Рис. 1: Гонки дронов.

a, Свифт (синий) соревнуется с Алексом Вановером, чемпионом мира Drone Racing League 2019 года (красный). Трасса состоит из семи квадратных ворот, которые необходимо проезжать по порядку на каждом круге. Чтобы выиграть гонку, участник должен проехать три круга подряд раньше своего соперника. б. Крупный план Swift, подсвеченного синими светодиодами, и дрона, пилотируемого человеком, подсвеченного красными светодиодами. Автономные дроны, используемые в этой работе, полагаются только на бортовые сенсорные измерения без поддержки со стороны внешней инфраструктуры, такой как системы захвата движения. в. Слева направо: Томас Битматта, Марвин Шеппер и Алекс Вановер мчатся по трассе на своих дронах. Каждый пилот носит гарнитуру, которая показывает видеопоток, передаваемый в реальном времени с камеры на борту его самолета. Гарнитуры обеспечивают захватывающий опыт просмотра от первого лица. в, фото Регины Саблотной., Photo by Regina Sablotny.

Попытки создать автономные системы, способные достичь уровня пилотов-людей, начались еще с первых соревнований по автономным гонкам дронов в 2016 году (ссылка 17). За этим последовал ряд инноваций, включая использование глубоких сетей для определения местоположения следующих ворот18,19,20, перенос гоночной политики из симуляции в реальность21,22 и учет неопределенности в восприятии23,24. Соревнования по гонкам автономных дронов AlphaPilot 2019 года продемонстрировали одни из лучших исследований в этой области25. Тем не менее, первым двум командам по-прежнему требовалось почти вдвое больше времени, чем профессиональному пилоту-человеку, чтобы пройти трассу26,27. Совсем недавно автономные системы начали достигать уровня человеческих возможностей28,29,30. Однако эти работы основаны на почти идеальной оценке состояния, обеспечиваемой внешней системой захвата движения. Это делает сравнение с пилотами-людьми несправедливым, поскольку люди имеют доступ только к бортовым наблюдениям с дрона.

В этой статье мы описываем Swift, автономную систему, которая может участвовать в гонках на квадрокоптере на уровне чемпионов мира среди людей, используя только бортовые датчики и вычисления. Swift состоит из двух ключевых модулей: (1) системы восприятия, которая преобразует многомерную визуальную и инерциальную информацию в низкоразмерное представление, и (2) политики управления, которая поглощает низкоразмерное представление, созданное системой восприятия, и осуществляет контроль. команды.

Политика управления представлена нейронной сетью прямого распространения и обучается в моделировании с использованием глубокой политики RL31 без модели. Чтобы устранить несоответствия в восприятии и динамике между симуляцией и физическим миром, мы используем непараметрические эмпирические модели шума, оцененные на основе данных, собранных в физической системе. Эти эмпирические модели шума оказались полезными для успешного перехода политики управления от моделирования к реальности.

Мы оцениваем Swift на физической трассе, спроектированной профессиональным пилотом-гонщиком дронов (рис. 1а). Трасса состоит из семи квадратных ворот размером 30 х 30 х 8 м, образующих круг длиной 75 м. Свифт участвовал в гонках на этой трассе против трех чемпионов среди людей: Алекса Вановера, чемпиона мира Drone Racing League 2019 года, Томаса Битматты, двукратного чемпиона MultiGP International Open World Cup, и Марвина Шеппера, трехкратного чемпиона Швейцарии. Квадрокоптеры, используемые Свифтом и пилотами-людьми, имеют одинаковый вес, форму и двигательную установку. Они похожи на дроны, используемые на международных соревнованиях.

Пилотам-людям была предоставлена одна неделя практики на гоночной трассе. После этой недели тренировок каждый пилот соревновался со Swift в нескольких личных гонках (рис. 1a,b). В каждой гонке два дрона (один под управлением человека-пилота, другой под управлением Свифта) стартуют с подиума. Гонка начинается с звукового сигнала. Первое транспортное средство, которое проедет три полных круга по трассе, проезжая все ворота в правильном порядке на каждом круге, побеждает в гонке.

Свифт выиграл несколько гонок против каждого из пилотов-людей и показал самое быстрое время гонки, зафиксированное во время соревнований. Насколько нам известно, наша работа знаменует собой первый случай, когда автономный мобильный робот достиг уровня чемпиона мира в реальном соревновательном виде спорта.

Система Свифт

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

Рис. 2: Система Swift.

Swift состоит из двух ключевых модулей: системы восприятия, которая преобразует визуальную и инерциальную информацию в низкоразмерное наблюдение состояния, и политики управления, которая отображает это наблюдение состояния в команды управления. Команды управления определяют желаемую коллективную тягу и скорость тела — тот же метод управления, который используют пилоты-люди. а. Система восприятия состоит из модуля VIO, который вычисляет метрическую оценку состояния дрона на основе изображений с камеры и высокочастотных измерений, полученных с помощью инерциального измерительного блока (IMU). Оценка VIO сочетается с нейронной сетью, которая обнаруживает углы гоночных ворот в потоке изображений. Обнаружения углов сопоставляются с трехмерной позой и объединяются с оценкой VIO с помощью фильтра Калмана. б. Мы используем глубокое RL без модели, чтобы обучить политику управления в моделировании. Во время тренировки политика максимизирует вознаграждение, которое сочетает в себе продвижение к центру следующих гоночных ворот с целью восприятия, чтобы следующие ворота оставались в поле зрения камеры. Чтобы перенести гоночную политику из моделирования в физический мир, мы дополняем моделирование управляемыми данными остаточными моделями восприятия и динамики автомобиля. Эти остаточные модели определены на основе реального опыта, полученного на гоночной трассе. МЛП, многослойный перцептрон.

Политика наблюдения состоит из визуально-инерционного оценщика32,33, который работает вместе с детектором ворот26, который представляет собой сверточную нейронную сеть, которая обнаруживает гоночные ворота на бортовых изображениях. Обнаруженные ворота затем используются для оценки глобального положения и ориентации дрона на гоночной трассе. Это делается с помощью алгоритма обратной засечки камеры34 в сочетании с картой пути. Оценка глобальной позы, полученная от детектора ворот, затем объединяется с оценкой визуально-инерционного оценщика с помощью фильтра Калмана, что приводит к более точному представлению состояния робота. Политика управления, представленная двухслойным персептроном, преобразует выходные данные фильтра Калмана в команды управления самолетом. Политика обучается с использованием глубокого моделирования RL31 без модели. Во время обучения политика максимизирует вознаграждение, которое сочетает в себе прогресс на пути к следующим воротам гонки35 с целью восприятия, которая вознаграждает за удержание следующих ворот в поле зрения камеры. Увидеть следующие ворота вознаграждается, потому что это увеличивает точность оценки позы.

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

В частности, мы записываем бортовые сенсорные наблюдения робота вместе с высокоточными оценками позы с помощью системы захвата движения, пока дрон мчится по трассе. На этом этапе сбора данных робот управляется с помощью политики, обученной на моделировании, которая оперирует оценками позы, предоставленными системой захвата движения. Записанные данные позволяют выявить характерные отказные режимы восприятия и динамику, наблюдаемые на гоночной трассе. Эти тонкости ошибочного восприятия и немоделированная динамика зависят от окружающей среды, платформы, пути и датчиков. Остатки восприятия и динамики моделируются с использованием гауссовых процессов36 и регрессии k-ближайших соседей соответственно. Мотивация этого выбора заключается в том, что мы эмпирически обнаружили, что остатки восприятия являются стохастическими, а остатки динамики — в значительной степени детерминированными (расширенные данные, рис. 1). Эти остаточные модели интегрируются в симуляцию, и в этой дополненной симуляции проводится тонкая настройка гоночной политики. Этот подход связан с эмпирическими моделями приводов, используемыми для перевода моделирования в реальность в работе. 37, но дополнительно включает эмпирическое моделирование системы восприятия, а также учитывает стохастичность в оценке состояния платформы.

Мы удаляем каждый компонент Swift в контролируемых экспериментах, о которых сообщается в расширенных данных. Кроме того, мы сравниваем с недавней работой, которая решает задачу автономных гонок дронов с помощью традиционных методов, включая планирование траектории и прогнозирующее управление моделью (MPC). Хотя такие подходы достигают производительности, сравнимой или даже превосходящей наш подход в идеализированных условиях, таких как упрощенная динамика и полное знание состояния робота, их производительность падает, когда их предположения нарушаются. Мы обнаружили, что подходы, основанные на заранее рассчитанных путях28,29, особенно чувствительны к шумному восприятию и динамике. Ни один традиционный метод не позволил добиться конкурентоспособного времени прохождения круга по сравнению со Swift или чемпионами мира среди людей, даже если он снабжен высокоточной оценкой состояния с помощью системы захвата движения. Подробный анализ представлен в расширенных данных.

Полученные результаты

Гонки дронов проходят на трассе, спроектированной внешним пилотом FPV мирового класса. На трассе представлены характерные и сложные маневры, такие как Split-S (рис. 1a (правый верхний угол) и 4d). Пилотам разрешается продолжать гонку даже после аварии, при условии, что их автомобиль все еще может летать. Если оба дрона терпят крах и не могут пройти трассу, побеждает дрон, прошедший дальше по трассе.

Как показано на рис. 3б, Свифт выигрывает 5 из 9 гонок у А. Вановера, 4 из 7 гонок у Т. Битматта и 6 из 9 гонок у М. Шеппера. Из 10 зафиксированных потерь Swift 40% произошли из-за столкновения с противником, 40% из-за столкновения с воротами и 20% из-за того, что дрон был медленнее пилота-человека. В целом Свифт выигрывает большинство гонок против каждого пилота-человека. Свифт также показал самое быстрое время в гонке, опередив на полсекунды лучшее время, показанное пилотом-человеком (А. Вановер).

Рис. 3: Результаты.

а, Результаты времени круга. Мы сравниваем Swift с пилотами-людьми в гонках на время. Время круга указывает на лучшее время одного круга и лучшее среднее время, достигнутое за три круга подряд. Сообщенная статистика рассчитана на основе набора данных, записанных в течение одной недели на гоночной трассе, что соответствует 483 (115) точкам данных для Свифта, 331 (221) для А. Вановера, 469 (338) для Т. Битматта и 345 (202) ) для М. Шеппера. Первое число — это количество одиночных кругов, а второе — количество трех последовательных кругов. Темные точки в каждом распределении соответствуют кругам, пройденным в условиях гонки. б. Результаты личных встреч. Мы сообщаем количество личных гонок, проведенных каждым пилотом, количество побед и поражений, а также соотношение побед.

На рисунке 4 и в таблице расширенных данных 1d представлен анализ самого быстрого круга, пройденного Swift и каждым пилотом-человеком. Хотя Swift в целом быстрее всех пилотов-людей, он не быстрее на всех отдельных участках трассы (таблица расширенных данных 1). Swift стабильно быстрее на старте и в крутых поворотах, таких как разделенный S. На старте Swift имеет меньшее время реакции, взлетая с подиума в среднем на 120 мс раньше пилотов-людей. Кроме того, он ускоряется быстрее и достигает более высоких скоростей при входе в первые ворота (расширенная таблица данных 1d, сегмент 1). В крутых поворотах, как показано на рис. 4c,d, Swift находит более крутые маневры. Одна из гипотез заключается в том, что Swift оптимизирует траектории в более длительные сроки, чем пилоты-люди. Известно, что немодальное RL может оптимизировать долгосрочные выгоды с помощью функции ценности38. И наоборот, пилоты-люди планируют свое движение в более короткие сроки, вплоть до одного врата в будущее39. Это очевидно, например, на участке S (рис. 4b,d), на котором пилоты-человеки быстрее в начале и в конце маневра, но в целом медленнее (таблица расширенных данных 1d, сегмент 3). Кроме того, пилоты-люди ориентируют самолет лицом к следующим воротам раньше, чем это делает Свифт (рис. 4в, г). Мы предполагаем, что пилоты-люди привыкли держать в поле зрения предстоящие ворота, тогда как Swift научился выполнять некоторые маневры, полагаясь на другие сигналы, такие как инерциальные данные и визуальная одометрия относительно особенностей окружающей среды. В целом, в среднем по всей трассе, автономный дрон достигает самой высокой средней скорости, находит самую короткую гоночную трассу и умудряется поддерживать дрон ближе к пределам срабатывания на протяжении всей гонки, о чем свидетельствуют средние показатели тяги и потребляемой мощности (Расширенная таблица данных). 1г).

Рис. 4: Анализ.

а, Сравнение самых быстрых гонок каждого пилота, проиллюстрированное временем позади Свифта. Разница во времени с автономным дроном рассчитывается как время, прошедшее с момента прохождения им той же позиции на трассе. Хотя Swift в целом быстрее всех пилотов-людей, он не обязательно быстрее на всех отдельных участках трассы. б. Визуализация того, где пилоты-люди действуют быстрее (красный) и медленнее (синий) по сравнению с автономным дроном. Свифт стабильно быстрее на старте и в крутых поворотах, таких как раскол S. c, Анализ маневра после ворот 2. Свифт — синий, Вановер — красный. В этом сегменте Swift выигрывает время у пилотов-людей, поскольку он выполняет более крутой поворот, сохраняя при этом сопоставимую скорость. d, Анализ маневра S-Split. Свифт — синий, Вановер — красный. Участок S — самый сложный участок гоночной трассы, требующий тщательно скоординированного движения по крену и тангажу, в результате чего получается нисходящая полупетля через двое ворот. На этом участке Swift выигрывает время у пилотов-людей, поскольку он выполняет более крутой поворот с меньшим перелетом. e, Иллюстрация сегментов пути, используемых для анализа. Участок 1 проходится один раз на старте, а участки 2–4 проходятся на каждом круге (три раза за гонку).

Мы также сравниваем результаты Свифта и чемпионов-людей в гонках на время (рис. 3а). В гонке на время один пилот мчится по трассе, а количество кругов остается на усмотрение пилота. Мы накапливаем данные гонок на время за тренировочную неделю и гонки, включая тренировочные заезды (рис. 3а, цветные) и круги, пройденные в гоночных условиях (рис. 3а, черные). Для расчета статистики по каждому участнику мы используем более 300 кругов. Автономный дрон более последовательно стремится к быстрому времени прохождения круга, демонстрируя более низкое среднее значение и дисперсию. И наоборот, пилоты-люди решают, стоит ли повышать скорость, на каждом круге, получая более высокие средние значения и дисперсию времени прохождения круга как во время тренировок, так и в гонках. Возможность адаптировать стратегию полета позволяет пилотам-людям поддерживать более медленный темп, если они определяют, что имеют явное преимущество, чтобы снизить риск крушения. Автономный дрон не знает о своем противнике и стремится к максимально быстрому ожидаемому времени завершения, несмотря ни на что, потенциально рискуя слишком большим, когда лидирует, и слишком малым, когда отстает40.

Обсуждение

Гонки дронов FPV требуют принятия решений в реальном времени на основе шумных и неполных сенсорных данных из физической среды. Мы представили автономную физическую систему, которая достигает уровня чемпионов в этом виде спорта, достигая, а иногда и превосходя, результатов чемпионов мира среди людей. Наша система имеет определенные структурные преимущества перед пилотами-людьми. Во-первых, он использует инерциальные данные от бортового инерциального измерительного блока32. Это похоже на вестибулярную систему человека41, которая не используется пилотами-людьми, поскольку они физически не находятся в самолете и не чувствуют действующих на него ускорений. Во-вторых, наша система выигрывает от более низкой сенсомоторной задержки (40 мс для Swift по сравнению со средним значением 220 мс для опытных пилотов-людей39). С другой стороны, ограниченная частота обновления камеры, используемой Swift (30 Гц), можно считать структурным преимуществом для пилотов-людей, у которых частота обновления камер в четыре раза выше (120 Гц), что улучшает время их реакции42.

Пилоты-люди впечатляюще выносливы: они могут разбиться на полной скорости и — если оборудование еще работает — продолжить полет и завершить трассу. Свифт не был обучен восстанавливаться после аварии. Пилоты-люди также устойчивы к изменениям условий окружающей среды, например к освещению, которое может заметно изменить внешний вид трассы. Напротив, система восприятия Свифта предполагает, что внешний вид окружающей среды соответствует тому, что наблюдалось во время обучения. Если это предположение не соответствует действительности, система может выйти из строя. Устойчивость к изменениям внешнего вида можно обеспечить путем обучения детектора ворот и модели остаточного наблюдения в различных условиях. Устранение этих ограничений может позволить применить представленный подход в соревнованиях по гонкам автономных дронов, в которых доступ к окружающей среде и дрону ограничен25.

Несмотря на сохраняющиеся ограничения и предстоящую работу, достижение автономным мобильным роботом уровня чемпиона мира в популярном физическом виде спорта является важной вехой в развитии робототехники и машинного интеллекта. Эта работа может вдохновить на внедрение гибридных решений на основе обучения в других физических системах, таких как автономные наземные транспортные средства, самолеты и персональные роботы, в широком спектре приложений.

Методы

Моделирование квадротора

Динамика квадротора

Чтобы обеспечить крупномасштабное обучение, мы используем высокоточное моделирование динамики квадрокоптера. В этом разделе кратко объясняется моделирование. Динамику автомобиля можно записать как

$$dot{{f{x}}}=[egin{array}{c}{dot{{f{p}}}}_{{mathcal{W}}{mathcal{B}}} {dot{{f{q}}}}_{{mathcal{W}}{mathcal{B}}} {dot{{f{v}}}}_{{mathcal{W}}} {dot{{oldsymbol{omega }}}}_{{mathcal{B}}} dot{{oldsymbol{Omega }}}end{array}]=left[egin{array}{c}{{f{v}}}_{{mathcal{W}}} {{f{q}}}_{{mathcal{W}}{mathcal{B}}}cdot [egin{array}{c}0 {{oldsymbol{omega }}}_{{mathcal{B}}}/2end{array}] frac{1}{m}({{f{q}}}_{{mathcal{W}}{mathcal{B}}}odot ({{f{f}}}_{{ m{p}}{ m{r}}{ m{o}}{ m{p}}}+{{f{f}}}_{{ m{a}}{ m{e}}{ m{r}}{ m{o}}}))+{{f{g}}}_{{mathcal{W}}} {J}^{-1}({{oldsymbol{ au }}}_{{ m{p}}{ m{r}}{ m{o}}{ m{p}}}+{{oldsymbol{ au }}}_{{ m{m}}{ m{o}}{ m{t}}}+{{oldsymbol{ au }}}_{{ m{a}}{ m{e}}{ m{r}}{ m{o}}}+{{oldsymbol{ au }}}_{{ m{i}}{ m{n}}{ m{e}}{ m{r}}}) frac{1}{{k}_{{ m{m}}{ m{o}}{ m{t}}}}({{oldsymbol{Omega }}}_{{ m{s}}{ m{s}}}-{oldsymbol{Omega }})end{array} ight],$$

(1)

в котором ? представляет вращение кватерниона, ({{ f{p}}}_{{mathcal{W}}{mathcal{B}}},{{ f{q}}}_{{mathcal{W}}{mathcal{ B}}},{{ f{v}}}_{{mathcal{W}}}) и ({{ oldsymbol{omega }}}_{{mathcal{B}}}) обозначают позицию, отношение кватернион, инерционная скорость и скорость тела квадрокоптера соответственно. Постоянная времени двигателя равна kmot, а скорость двигателя ? и ?ss — фактическая и установившаяся скорость двигателя соответственно. Матрица J представляет собой инерцию квадрокоптера, а ({{ f{g}}}_{{mathcal{W}}}) обозначает вектор гравитации. На квадрокоптер действуют две силы: подъемная сила fprop, создаваемая воздушными винтами, и аэродинамическая сила faero, объединяющая все остальные силы, такие как аэродинамическое сопротивление, динамическая подъемная сила и вынужденное сопротивление. Крутящий момент моделируется как сумма четырех компонентов: крутящий момент, создаваемый тягой отдельных винтов, крутящий момент, создаваемый изменением скорости двигателя, аэродинамический крутящий момент, который учитывает различные аэродинамические эффекты, такие как взмах лопастей. и инерционный член ?iner. Отдельные компоненты представлены как

$${{f{f}}}_{{ m{prop}}}=sum _{i}{{f{f}}}_{i},,{{oldsymbol{ au }}}_{{ m{prop}}}=sum _{i}{{oldsymbol{ au }}}_{i}+{{f{r}}}_{{ m{P}},i} imes {{f{f}}}_{i},$$

(2)

$${{oldsymbol{ au }}}_{{ m{mot}}}={J}_{{ m{m}}+{ m{p}}}sum _{i},{{oldsymbol{zeta }}}_{i}{dot{Omega }}_{i},,{{oldsymbol{ au }}}_{{ m{iner}}}=-{{oldsymbol{omega }}}_{{mathcal{B}}} imes {f{J}}{{oldsymbol{omega }}}_{{mathcal{B}}}$$

(3)

где rP,i — расположение гребного винта i, выраженное в корпусе корпуса, а fi и ?i — силы и крутящие моменты, соответственно, создаваемые i-м гребным винтом. Ось вращения i-го двигателя обозначается ?i, суммарная инерция двигателя и пропеллера равна Jm+p, а производная скорости i-го двигателя равна ({dot{Omega }}_{i}). Отдельные гребные винты моделируются с использованием широко используемой квадратичной модели, которая предполагает, что подъемная сила и момент сопротивления пропорциональны квадрату скорости гребного винта ?i:

$${{f{f}}}_{i}({Omega }_{i})={left[egin{array}{ccc}0 & 0 & {c}_{{ m{l}}}cdot {Omega }_{i}^{2}end{array} ight]}^{ op },quad {{oldsymbol{ au }}}_{i}({Omega }_{i})={left[egin{array}{ccc}0 & 0 & {c}_{{ m{d}}}cdot {Omega }_{i}^{2}end{array} ight]}^{ op }$$

(4)

где cl и cd обозначают коэффициенты подъемной силы и сопротивления винта соответственно.

Аэродинамические силы и крутящие моменты

Аэродинамические силы и крутящие моменты трудно смоделировать с помощью подхода из первых принципов. Таким образом, мы используем модель, управляемую данными43. Чтобы поддерживать низкую вычислительную сложность, необходимую для крупномасштабного обучения RL, вместо нейронной сети используется полиномиальная модель серого ящика. Предполагается, что аэродинамические эффекты в первую очередь зависят от скорости ({{ f{v}}}_{{mathcal{B}}}) (в корпусе кузова) и среднего квадрата скорости двигателя (штриховая линия{{Omega }^ {2}}). В каркасе кузова оценены аэродинамические силы fx, fy и fz и крутящие моменты ?x, ?y и ?z. Величины vx, vy и vz обозначают три составляющие осевой скорости (в корпусе корпуса), а vxy обозначает скорость в плоскости (x, y) квадрокоптера. На основе понимания основных физических процессов выбираются линейные и квадратичные комбинации отдельных членов. Для удобства чтения коэффициенты, умножающие каждое слагаемое, опущены:

$$egin{array}{c}{f}_{x},sim ,{v}_{x}+{v}_{x}|{v}_{x}|+ar{{Omega }^{2}}+{v}_{x},ar{{Omega }^{2}} {f}_{y},sim ,{v}_{y}+{v}_{y}|{v}_{y}|+ar{{Omega }^{2}}+{v}_{y},ar{{Omega }^{2}} {f}_{z},sim ,{v}_{z}+{v}_{z}|{v}_{z}|+{v}_{xy}+{v}_{xy}^{2}+{v}_{xy},ar{{Omega }^{2}}+{v}_{z},ar{{Omega }^{2}}+{v}_{xy},{v}_{z},ar{{Omega }^{2}} ,{ au }_{x},sim ,{v}_{y}+{v}_{y}|{v}_{y}|+ar{{Omega }^{2}}+{v}_{y},ar{{Omega }^{2}}+{v}_{y}|{v}_{y}|,ar{{Omega }^{2}} ,{ au }_{y},sim ,{v}_{x}+{v}_{x}|{v}_{x}|+ar{{Omega }^{2}}+{v}_{x},ar{{Omega }^{2}}+{v}_{x}|{v}_{x}|,ar{{Omega }^{2}} ,{ au }_{z},sim ,{v}_{x}+{v}_{y}end{array}$$

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

Контроллер низкого уровня Betaflight

Для управления квадрокоптером нейронная сеть выводит данные о коллективной тяге и скорости тела. Известно, что этот управляющий сигнал сочетает в себе высокую гибкость с хорошей устойчивостью к передаче моделирования в реальность44. Прогнозируемая коллективная тяга и скорость тела затем обрабатываются встроенным контроллером низкого уровня, который вычисляет отдельные команды двигателя, которые впоследствии преобразуются в аналоговые сигналы напряжения через электронный контроллер скорости (ESC), который управляет двигателями. На физическом автомобиле этот низкоуровневый ПИД-регулятор и ESC реализованы с использованием программного обеспечения Betaflight и BLHeli32 с открытым исходным кодом45. При моделировании мы используем точную модель как контроллера низкого уровня, так и регулятора скорости двигателя.

Поскольку ПИД-регулятор Betaflight был оптимизирован для полета, пилотируемого человеком, он демонстрирует некоторые особенности, которые правильно фиксирует моделирование: опорное значение для D-члена постоянно равно нулю (чистое демпфирование), I-терм сбрасывается, когда дроссельная заслонка и при насыщении тяги двигателя приоритет получает управление скоростью тела (пропорциональное уменьшение масштаба всех сигналов двигателя во избежание насыщения). Прирост контроллера, использованного для моделирования, был определен из подробных журналов внутренних состояний контроллера Betaflight. Моделирование может предсказать отдельные команды двигателя с погрешностью менее 1%.

Модель аккумулятора и ESC

Контроллер низкого уровня преобразует отдельные команды двигателя в сигнал широтно-импульсной модуляции (ШИМ) и отправляет его в ESC, который управляет двигателями. Поскольку ESC не выполняет управление скоростью двигателя с обратной связью, установившаяся скорость двигателя ?i,ss для данной команды cmdi двигателя с ШИМ является функцией напряжения батареи. Таким образом, наша симуляция моделирует напряжение батареи с использованием модели батареи серого ящика46, которая моделирует напряжение на основе мгновенного энергопотребления Pmot:

$${P}_{{ m{mot}}}=frac{{c}_{{ m{d}}}{Omega }^{3}}{eta }$$

Модель батареи46 затем моделирует напряжение батареи на основе этой потребляемой мощности. Учитывая напряжение батареи Ubat и отдельную команду двигателя ucmd,i, мы используем отображение (опять опуская коэффициенты, умножающие каждое слагаемое)

$${Omega }_{i,{ m{s}}{ m{s}}}sim 1+{U}_{{ m{b}}{ m{a}}{ m{t}}}+sqrt{{u}_{{ m{c}}{ m{m}}{ m{d}},i}}+{u}_{{ m{c}}{ m{m}}{ m{d}},i}+{U}_{{ m{b}}{ m{a}}{ m{t}}}sqrt{{u}_{{ m{c}}{ m{m}}{ m{d}},i}}$$

(6)

для расчета соответствующей установившейся скорости двигателя ?i,ss, необходимой для моделирования динамики в уравнении (1). Коэффициенты были определены из журналов Betaflight, содержащих измерения всех задействованных величин. Вместе с моделью контроллера низкого уровня это позволяет симулятору правильно преобразовывать действие в форме коллективной тяги и скорости тела в желаемые скорости двигателя ?ss в уравнении (1).

Обучение политике

Мы обучаем стратегиям глубокого нейронного контроля, которые напрямую отображают наблюдения в форме состояния платформы и наблюдения за следующими воротами для управления действиями в форме нормализованной по массе коллективной тяги и скорости тела44. Политики управления обучаются с использованием безмодельного RL в симуляции.

Алгоритм обучения

Обучение осуществляется с использованием проксимальной оптимизации политики31. Этот подход «актёр-критик» требует совместной оптимизации двух нейронных сетей во время обучения: сети политики, которая сопоставляет наблюдения с действиями, и сети ценностей, которая выступает в роли «критика» и оценивает действия, предпринятые политикой. После обучения на роботе развертывается только сеть политик.

Наблюдения, действия и награды

Наблюдение ({{ f{o}}}_{t}in {{mathbb{R}}}^{31}), полученное из окружающей среды в момент времени t, состоит из: (1) оценки текущего состояния робота ; (2) относительное положение следующих ворот, которые необходимо проехать, на схеме пути; и (3) действие, примененное на предыдущем шаге. В частности, оценка состояния робота содержит положение платформы, ее скорость и положение, представленные матрицей вращения, в результате чего получается вектор в виде ({{mathbb{R}}}^{15}). Хотя в моделировании внутри системы используются кватернионы, мы используем матрицу вращения для представления отношения, чтобы избежать двусмысленности47. Относительное положение следующих ворот кодируется путем указания относительного положения четырех углов ворот относительно транспортного средства, в результате чего получается вектор в виде ({{mathbb{R}}}^{12}). Все наблюдения нормализуются перед передачей в сеть. Поскольку сеть создания ценности используется только во время обучения, она может получить доступ к конфиденциальной информации о среде, которая недоступна для политики48. Эта конфиденциальная информация объединяется с другими входными данными в политическую сеть и содержит точное положение, ориентацию и скорость робота.

Для каждого наблюдения ot политическая сеть производит действие ({{ f{a}}}_{t}in {{mathbb{R}}}^{4}) в форме желаемой нормированной по массе коллективной тяги и показатели тела.

Мы используем формулировку вознаграждения плотной формы, чтобы изучить задачу автономных гонок дронов с учетом восприятия. Награда rt на временном шаге t определяется выражением

$${r}_{t}={r}_{t}^{{ m{prog}}}+{r}_{t}^{{ m{perc}}}+{r}_{t}^{{ m{cmd}}}-{r}_{t}^{{ m{crash}}}$$

(7)

в котором rprog вознаграждает за продвижение к следующим воротам35, rperc кодирует осведомленность о восприятии, регулируя положение транспортного средства так, чтобы оптическая ось камеры была направлена к центру следующих ворот, rcmd вознаграждает плавные действия, а rcrash представляет собой бинарный штраф, который активен только при столкновении с воротами или когда платформа покидает предопределенную ограничивающую рамку. Если срабатывает rcrash, обучающий эпизод завершается.

В частности, условия вознаграждения

$$egin{array}{r}{r}_{t}^{{ m{prog}}},=,{lambda }_{1}left[{d}_{t-1}^{{ m{Gate}}}-{d}_{t}^{{ m{Gate}}} ight] {r}_{t}^{{ m{perc}}},=,{lambda }_{2}exp left[{lambda }_{3}cdot {delta }_{{ m{cam}}}^{4} ight]end{array}$$

(8)

$${r}_{t}^{{ m{cmd}}}={lambda }_{4}{{f{a}}}_{t}^{omega }+{lambda }_{5}parallel {{f{a}}}_{t}-{{f{a}}}_{t-1}{parallel }^{2}$$

(9)

$${r}_{t}^{{ m{crash}}}=left{egin{array}{l}5.0,,{ m{if}},{p}_{z} < 0,{ m{or; in; collision; with; gate}} 0,quad { m{otherwise}},end{array} ight.$$

в котором ({d}_{t}^{{ m{Gate}}}) обозначает расстояние от центра масс транспортного средства до центра следующих ворот на временном шаге t, ?cam представляет собой угол между оптическая ось камеры и центр следующих ворот и ({{ f{a}}}_{t}^{omega }) — заданные скорости тела. Гиперпараметры ?1,…, ?5 уравновешивают различные термины (таблица расширенных данных 1a).

Подробности обучения

Сбор данных осуществляется путем параллельного моделирования 100 агентов, которые взаимодействуют с окружающей средой эпизодами по 1500 шагов. При каждом сбросе среды каждый агент инициализируется в случайном элементе на трассе с ограниченным возмущением вокруг состояния, ранее наблюдавшегося при прохождении этого элемента. В отличие от предыдущей работы44,49,50, мы не выполняем рандомизацию динамики платформы во время обучения. Вместо этого мы выполняем тонкую настройку на основе реальных данных. Среда обучения реализована с использованием TensorFlow Agents51. Сеть политики и сеть создания ценности представлены двухуровневыми перцептронами со 128 узлами на каждом уровне и активациями LeakyReLU с отрицательным наклоном 0,2. Параметры сети оптимизируются с помощью оптимизатора Адама со скоростью обучения 3 x 10-4 как для сети политики, так и для сети создания ценности.

Политики обучаются в общей сложности для 1 x 108 взаимодействий со средой, что занимает 50 минут на рабочей станции (i9 12900K, RTX 3090, 32 ГБ ОЗУ DDR5). Тонкая настройка выполняется для 2 x 107 взаимодействий среды.

Остаточная идентификация модели

Мы выполняем тонкую настройку исходной политики на основе небольшого объема данных, собранных в реальном мире. В частности, мы собираем три полных развертывания в реальном мире, что соответствует примерно 50 с времени полета. Мы настраиваем политику, определяя остаточные наблюдения и остаточную динамику, которые затем используются для обучения моделированию. На этом этапе тонкой настройки обновляются только веса политики управления, тогда как веса сети обнаружения шлюзов остаются постоянными.

Модель остаточного наблюдения

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

В частности, модель гауссовского процесса соответствует остаточному положению, скорости и положению в зависимости от истинного состояния робота. Остатки наблюдений идентифицируются путем сравнения наблюдаемых оценок визуально-инерциальной одометрии (VIO) во время реального развертывания с наземными состояниями платформы, которые получены из внешней системы отслеживания движения.

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

$$kappa ({{f{z}}}_{i},{{f{z}}}_{j})={sigma }_{{ m{f}}}^{2},exp left(-frac{1}{2}{({{f{z}}}_{i}-{{f{z}}}_{j})}^{{ m{ op }}}{L}^{-2}({{f{z}}}_{i}-{{f{z}}}_{j}) ight)+{sigma }_{{ m{n}}}^{2}$$

(10)

в которой L представляет собой матрицу диагонального масштаба длины, а ?f и ?n представляют данные и априорную дисперсию шума соответственно, а zi и zj представляют особенности данных. Гиперпараметры ядра оптимизируются путем максимизации логарифмического предельного правдоподобия. После оптимизации гиперпараметров ядра мы выбираем новые реализации из апостериорного распределения, которые затем используются во время точной настройки политики. Расширенные данные На рис. 1 показаны остаточные наблюдения по положению, скорости и положению в реальных условиях, а также 100 выборочных реализаций из модели гауссовского процесса.

Модель остаточной динамики

Мы используем остаточную модель, чтобы дополнить смоделированную динамику робота52. В частности, мы определяем остаточные ускорения как функцию состояния платформы s и командной нормированной по массе коллективной тяги c:

$${{ f{a}}}_{{ m{res}}}={ m{KNN}}({ f{s}},c)$$

(11)

Мы используем регрессию k-ближайшего соседа с k = 5. Размер набора данных, используемый для идентификации модели остаточной динамики, зависит от схемы трека и колеблется от 800 до 1000 выборок для макета трека, используемого в этой работе.

Обнаружение ворот

Чтобы исправить дрейф, накопленный конвейером VIO, ворота используются как отдельные ориентиры для относительной локализации. В частности, ворота обнаруживаются в поле зрения встроенной камеры путем сегментирования углов ворот26. Изображения в оттенках серого, предоставляемые камерой слежения Intel RealSense T265, используются в качестве входных изображений для детектора ворот. Архитектура сети сегментации представляет собой шестиуровневую сеть U-Net53 с (8, 16, 16, 16, 16, 16) сверточными фильтрами размером (3, 3, 3, 5, 7, 7) на уровень и конечным дополнительный уровень, работающий на выходе U-Net, содержащий 12 фильтров. В качестве функции активации LeakyReLU с ? = 0,01 используется. Для развертывания на NVIDIA Jetson TX2 сеть портируется на TensorRT. Чтобы оптимизировать использование памяти и время вычислений, вывод выполняется в режиме половинной точности (FP16), а изображения подвергаются субдискретизации до размера 384 x 384 перед подачей в сеть. Один прямой проход по сети занимает 40 мс на NVIDIA Jetson TX2.

Оценка дрейфа VIO

Оценки одометрии из конвейера VIO54 демонстрируют значительный дрейф во время высокоскоростного полета. Мы используем обнаружение ворот для стабилизации оценок позы, полученных с помощью VIO. Детектор ворот выдает координаты углов всех видимых ворот. Относительное положение сначала оценивается для всех прогнозируемых ворот с использованием бесконечно малой оценки положения на плоскости (IPPE)34. Учитывая эту относительную оценку положения, каждое наблюдение за воротами присваивается ближайшим воротам в известной схеме пути, что дает оценку положения дрона.

Из-за низкой частоты обнаружения ворот и высокого качества оценки ориентации VIO мы уточняем только поступательные компоненты измерений VIO. Мы оцениваем и корректируем дрейф конвейера VIO с помощью фильтра Калмана, который оценивает поступательный дрейф pd (смещение позиции) и его производную, скорость дрейфа vd. Коррекция дрейфа выполняется путем вычитания оцененных состояний дрейфа pd и vd из соответствующих оценок VIO. Состояние фильтра Калмана x определяется выражением ({ f{x}}={[{{ f{p}}}_{{ m{d}}}^{ op },{{ f{v}} }_{{ m{d}}}^{ op }]}^{ op } в {{mathbb{R}}}^{6}).

Обновления состояния x и ковариации P определяются следующим образом:

$${{f{x}}}_{k+1}=F{{f{x}}}_{k},,{P}_{k+1}=F{P}_{k}{F}^{{ m{ op }}}+Q,$$

(12)

$$F=[egin{array}{cc}{{mathbb{I}}}^{3 imes 3} & { m{d}}t,{{mathbb{I}}}^{3 imes 3} {0}^{3 imes 3} & {{mathbb{I}}}^{3 imes 3}end{array}],,Q=[egin{array}{cc}{sigma }_{{ m{p}}{ m{o}}{ m{s}}}{{mathbb{I}}}^{3 imes 3} & {0}^{3 imes 3} {0}^{3 imes 3} & {sigma }_{{ m{v}}{ m{e}}{ m{l}}}{{mathbb{I}}}^{3 imes 3}end{array}].$$

(13)

На основе измерений технологический шум устанавливается равным ?pos = 0,05 и ?vel = 0,1. Состояние фильтра и ковариация инициализируются нулевым значением. Для каждого измерения zk (оценка позы на основе обнаружения ворот) прогнозируемый дрейф VIO ({{ f{x}}}_{k}^{-}) корректируется до оценки ({{ f{x}} }_{k}^{+}) согласно уравнениям фильтра Калмана:

$$egin{array}{c}{K}_{k},=,{P}_{k}^{-}{H}_{k}^{{ m{ op }}}{({H}_{k}{P}_{k}^{-}{H}_{k}^{{ m{ op }}}+R)}^{-1},, {{f{x}}}_{k}^{+},=,{{f{x}}}_{k}^{-}+{K}_{k}({{f{z}}}_{k}-H({{f{x}}}_{k}^{-})), {P}_{k}^{+},=,(I-{K}_{k}{H}_{k}){P}_{k}^{-},end{array}$$

(14)

где Kk — коэффициент усиления Калмана, R — ковариация измерений, а Hk — матрица измерений. Если в одном кадре камеры обнаружено несколько ворот, все оценки относительной позы складываются и обрабатываются на одном этапе обновления фильтра Калмана. Основным источником ошибок измерения является неопределенность в определении угла затвора сети. Эта ошибка в плоскости изображения приводит к ошибке позы при применении IPPE. Мы выбрали подход, основанный на выборке, для оценки ошибки позы на основе известной средней неопределенности обнаружения угла ворот. Для каждого вентиля алгоритм IPPE применяется к номинальному наблюдению за вентилем, а также к 20 возмущенным оценкам углов вентиля. Полученное распределение оценок позы затем используется для аппроксимации ковариации измерения R наблюдения за воротами.

Результаты симуляции

Достижение чемпионского уровня в автономных гонках дронов требует преодоления двух проблем: несовершенного восприятия и неполных моделей динамики системы. В контролируемых экспериментах по моделированию мы оцениваем надежность нашего подхода к обеим этим проблемам. С этой целью мы оцениваем производительность гоночных задач при использовании в четырех различных условиях. В настройке (1) мы моделируем упрощенную модель квадрокоптера с доступом к основным наблюдениям за состоянием. В настройке (2) мы заменяем наземные наблюдения за состоянием зашумленными наблюдениями, выявленными в ходе реальных полетов. Эти зашумленные наблюдения генерируются путем выборки одной реализации из модели остаточного наблюдения и не зависят от осведомленности о восприятии развернутого контроллера. Настройки (3) и (4) разделяют модели наблюдения с двумя предыдущими настройками соответственно, но заменяют упрощенную модель динамики более точным аэродинамическим моделированием43. Эти четыре настройки позволяют контролируемо оценить чувствительность подхода к изменениям динамики и точности наблюдения.

Во всех четырех вариантах мы сравниваем наш подход со следующими базовыми показателями: нулевой выстрел, рандомизация домена и оптимальное время. Базовый уровень с нулевым выстрелом представляет собой основанную на обучении гоночную политику35, обученную с использованием безмодельного RL, которая развертывается с нулевым выстрелом из тренировочной области в тестовую. Обучающая область политики равна экспериментальной установке (1), то есть идеализированной динамике и достоверным наблюдениям. Рандомизация предметной области расширяет стратегию обучения от базовой линии с нулевым выстрелом за счет рандомизации наблюдений и динамических свойств для повышения надежности. Оптимальная по времени базовая линия использует заранее рассчитанную оптимальную по времени траекторию28, которая отслеживается с помощью контроллера MPC. Этот подход показал лучшую производительность по сравнению с другими методами, основанными на моделях, для оптимального по времени полета55,56. Модель динамики, используемая при генерации траектории и контроллере MPC, соответствует моделируемой динамике экспериментальной установки (1).

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

Результаты суммированы в таблице расширенных данных 1c. Всем подходам удается успешно выполнить задачу при использовании в идеализированной динамике и наземных наблюдениях, при этом оптимальный по времени базовый уровень дает наименьшее время прохождения круга. При развертывании в условиях, когда наблюдается сдвиг домена, как в динамике, так и в наблюдениях, производительность всех базовых линий падает, и ни одна из трех базовых линий не может пройти даже один круг. Такое падение производительности наблюдается как при подходах, основанных на обучении, так и при использовании традиционных подходов. Напротив, наш подход, включающий эмпирические модели динамики и шума наблюдения, успешен во всех условиях развертывания с небольшим увеличением времени прохождения круга.

Ключевой особенностью, которая позволяет нашему подходу добиться успеха в различных режимах развертывания, является использование эмпирической модели динамики и шума наблюдения, оцененной на основе реальных данных. Сравнение подхода, имеющего доступ к таким данным, и подходов, у которых его нет, не совсем справедливо. По этой причине мы также оцениваем производительность всех базовых подходов, имея доступ к тем же реальным данным, которые используются нашим подходом. В частности, мы сравниваем производительность в экспериментальной установке (2), которая имеет идеализированную модель динамики, но зашумленное восприятие. Все базовые подходы снабжены прогнозами той же модели гауссовского процесса, которую мы используем для характеристики шума наблюдения. Результаты суммированы в таблице расширенных данных 1b. Все исходные данные выигрывают от более реалистичных наблюдений, что приводит к более высоким показателям завершения. Тем не менее, наш подход — единственный, который надежно завершает всю трассу. Помимо предсказаний модели шума наблюдения, наш подход также учитывает неопределенность модели. Для углубленного сравнения эффективности RL с оптимальным контролем в контролируемых экспериментах мы отсылаем читателя к ссылке. 57.

Тонкая настройка за несколько итераций

Мы исследуем степень изменений в поведении на протяжении итераций. Результаты нашего анализа показывают, что последующие операции тонкой настройки приводят к незначительному повышению производительности и изменениям в поведении (расширенные данные, рис. 2).

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

1.

Обучите политику-0 в симуляции.
2.

Разверните политику-0 в реальном мире. Политика действует на основе достоверных данных из системы захвата движения.
3.

Определите остатки, наблюдаемые политикой-0 в реальном мире.
4.

Обучите политику-1 путем точной настройки политики-0 на основе выявленных остатков.
5.

Разверните политику-1 в реальном мире. Эта политика действует только в отношении бортовых сенсорных измерений.
6.

Определите остатки, наблюдаемые политикой-1 в реальном мире.
7.

Обучите политику-2 путем точной настройки политики-1 на основе выявленных остатков.

Мы сравниваем производительность политики-1 и политики-2 в моделировании после точной настройки их соответствующих остатков. Результаты проиллюстрированы на рис. 2 расширенных данных. Мы видим, что разница в расстоянии от центров ворот, которая является показателем безопасности политики, составляет 0,09 ± 0,08 м. При этом разница во времени прохождения одного круга составляет 0,02 ± 0,02 с. Обратите внимание, что эта разница во времени прохождения круга существенно меньше, чем разница между временем прохождения одного круга Swift и пилотами-людьми (0,16 с).

Конфигурация оборудования дрона

Квадрокоптеры, используемые пилотами-людьми и Свифтом, имеют одинаковый вес, форму и двигательную установку. Дизайн платформы основан на платформе Agilicious58. Каждое транспортное средство имеет вес 870 г и может создавать максимальную статическую тягу примерно 35 Н, в результате чего статическая тяговооруженность равна 4,1. Основу каждой платформы составляет Armattan Chameleon 6? Основная рама оснащена двигателями T-Motor Velox 2306 и трехлопастными пропеллерами диаметром 5 дюймов. NVIDIA Jetson TX2 в сочетании с несущей платой Connect Tech Quasar обеспечивает основной вычислительный ресурс для автономных дронов, оснащенный шестиядерным процессором, работающим на частоте 2 ГГц, и выделенным графическим процессором с 256 ядрами CUDA, работающими на частоте 1,3 ГГц. Хотя прямые проходы сети обнаружения ворот выполняются на графическом процессоре, политика гонок оценивается на центральном процессоре, при этом один проход вывода занимает 8 мс. Автономные дроны оснащены камерой слежения Intel RealSense T265, которая предоставляет оценки VIO59 при частоте 100 Гц, которые передаются через USB на NVIDIA Jetson TX2. Управляемые человеком дроны не несут ни компьютера Jetson, ни камеры RealSense, а вместо этого оснащены соответствующим балластным грузом. Команды управления в виде коллективной тяги и скорости тела, создаваемые пилотами-людьми или Swift, отправляются на коммерческий контроллер полета, который работает на процессоре STM32, работающем на частоте 216 МГц. Контроллер полета работает под управлением Betaflight, программного обеспечения для управления полетом с открытым исходным кодом45.

Впечатления пилота-человека

Следующие цитаты передают впечатления трех чемпионов-людей, участвовавших в гонках против Свифта.

Алекс Вановер:

Судьба этих гонок будет решаться на участке S, это самая сложная часть трассы.

Это была лучшая гонка! Я был так близко к автономному дрону, что действительно чувствовал турбулентность, пытаясь не отставать от него.

Томас Битматта:

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

Когда вы летите быстрее, вы жертвуете точностью ради скорости.

Очень интересно увидеть потенциал того, на что на самом деле способны дроны. Вскоре дрон с искусственным интеллектом можно будет даже использовать в качестве учебного пособия, чтобы понять, что возможно.

Марвин Шеппер:

Соревноваться с машиной совсем другое ощущение, потому что ты знаешь, что машина не устает.

Этика исследований

Исследование проведено в соответствии с Хельсинкской декларацией. Протокол исследования освобожден от проверки комитетом по этике в соответствии с правилами и положениями Цюрихского университета, поскольку не было собрано никаких данных, связанных со здоровьем. Перед участием в исследовании участники дали письменное информированное согласие.

Доступность данных

Все (другие) данные, необходимые для оценки выводов статьи, присутствуют в статье или расширенных данных. Записи захвата движения гоночных событий с сопровождающим кодом анализа можно найти в файле «racing_data.zip» на Zenodo по адресу https://doi.org/10.5281/zenodo.7955278.

Доступность кода

Псевдокод для Swift, подробно описывающий процесс обучения и алгоритмы, можно найти в файле «pseudocode.zip» на Zenodo по адресу https://doi.org/10.5281/zenodo.7955278. Во избежание возможного злоупотребления полный исходный код, связанный с этим исследованием, не будет опубликован.

Источник: www.nature.com

Источник

Добавить комментарий

Кнопка «Наверх»