Он показал лучшее время на трассе, обойдя соперников на полсекунды
Инженеры разработали автопилот для гоночного дрона, управляющий беспилотником на уровне лучших людей-пилотов. Алгоритм под названием Swift, полученный с помощью метода обучения с подкреплением, способен управлять гоночным квадрокоптером, полагаясь только на данные бортовых сенсоров. В реальных полетах на тестовой трассе для дрон-рейсинга Swift смог превзойти трех профессиональных пилотов-чемпионов, выиграв у них 15 гонок из 25 и пройдя трассу с минимальным временем, которое на полсекунды меньше лучшего результата пилота-человека. Статья опубликована в журнале Nature.
При поддержке Angie — первого российского веб-сервера
Дрон-рейсинг — вид спорта, в котором мультикоптеры на высокой скорости проходят трассу, состоящую из последовательности ворот, через которые нужно пролететь за минимально возможное время. При этом управление происходит от первого лица, с помощью камеры и видеоочков. Современные дроны обладают очень высокой маневренностью и подвижностью: они могут резко менять направление движения, ускоряться, замедляться и совершать перевороты, а во время гонки они разгоняются до скоростей свыше 100 километров в час и подвержены перегрузкам, превышающим их собственный вес в пять раз. Это делает их пилотирование непростой задачей и требует хорошей подготовки и высокой скорости реакции оператора.
Инженеры давно работают над созданием автопилота, который мог бы управлять дроном на уровне профессиональных пилотов. Помимо участия в дрон-рейсинге такая способность может пригодиться и в обычной жизни — мультикоптеры обладают невысокой энергоэффективностью, поэтому способность быстро летать и успешно маневрировать в окружении большого числа препятствий напрямую связана с успешностью выполнения задач.
Инженеры под руководством Давида Скарамузза (Davide Scaramuzza) из Цюрихского университета уже имеют опыт разработки эффективных алгоритмов управления для дронов. К примеру, ранее они создали автопилот, способный управлять квадрокоптером на скорости от 3 до 7 метров в секунду в лесу между деревьев, полагаясь только на данные с бортовых сенсоров. В своей новой работе инженеры представили алгоритм под названием Swift. Он способен эффективно управлять гоночным квадрокоптером на уровне профессионального пилота дрон-рейсинга.
Swift состоит из двух основных модулей: системы восприятия, которая переводит изображение от бортовой камеры дрона и данные от инерционного измерительного блока IMU в низкоразмерное представление, а также системы управления, которая принимает на вход низкоразмерное представление, созданное системой восприятия, и генерирует управляющие команды для электромоторов дрона. В модуль системы восприятия также входит алгоритм, вычисляющий текущее положение дрона в пространстве на основе данных камеры и инерционно-измерительного блока. Эта информация через фильтр Калмана объединяется с данными об относительном положении гоночных ворот, обнаруженных предварительно обученным нейросетевым детектором объектов в видеопотоке, после чего передается на вход системы управления, которая состоит из двух скрытых слоев, по 128 нейронов в каждом.
Система управления тренировалась в симуляции с использованием модельно-свободного глубокого обучения с подкреплением. Этот метод обучения использует метод проб и ошибок, чтобы максимизировать величину параметра вознаграждения. В данном случае вознаграждение было максимальным в случае, если дрон следовал в сторону центра ближайших ворот таким образом, чтобы следующие ворота оставались в поле зрения камеры. Чтобы учесть различия между симуляцией и реальной динамикой полета, в процессе обучения информацию симулятора дополнили данными из реального мира, записанными с помощью системы захвата движений.
Оценку автопилота провели на трассе для дрон-рейсинга, состоящей из семи ворот, установленных на квадратной площадке с длиной стороны 30 метров. Длина маршрута через все ворота составляла 75 метров. Алгоритм соревновался с тремя профессиональными пилотами Алексом Вановером (Alex Vanover), Томасом Битматтой (Thomas Bitmatta) и Марвином Шэппером (Marvin Schaepper). Все участники использовали гоночные дроны с одинаковыми характеристиками. Перед испытательными соревнованиями у пилотов была неделя для знакомства с трассой. В соревнованиях каждый из пилотов стартовал одновременно с дроном под управлением автопилота. Победителем становился тот, кто быстрее пролетит через все ворота на трассе в правильном порядке три раза. По результатам Swift смог выиграть у своих соперников в совокупности 15 гонок из 25, а также установил рекорд трассы, пролетев ее быстрее на полсекунды, чем остальные участники.
Инженеры разрабатывают гоночные автопилоты и для автомобилей. Например, инженеры из подразделения искусственного интеллекта компании Sony создали алгоритм автопилота GT Sophy, который с помощью обучения с подкреплением научился проходить за минимальное время трассы в гоночном автосимуляторе Gran Turismo Sport. В настоящих киберспортивных соревнованиях GT Sophy не только показала лучшее время в одиночных заездах, но и смогла победить команду лучших игроков в совместных гонках, набрав больше всего очков.
Балансируя при этом на задних колесах
Швейцарские инженеры разработали для четвероногого робота на колесах алгоритм управления, основанный на обучении с подкреплением с внутренней мотивацией, для выполнения задач одновременного движения на задних колесах и манипуляции предметами с помощью передних конечностей. Робот под управлением алгоритма научился успешно выполнять тестовые задания — открывать запертую дверь, и выбрасывать лежащую на столе коробку в контейнер. Доклад с описанием алгоритма опубликован в рамках конференции CoRL 2023. При поддержке высокопроизводительного и масштабируемого российского веб-сервера Angie Четвероногий робот ANYmal, способный передвигаться по сложному рельефу, был создан в 2016 году инженерами из Швейцарской высшей технической школы Цюриха. Через некоторое время появилась его модифицированная версия с установленными на концах ног колесами, благодаря которым робот получил возможность передвигаться, комбинируя езду и ходьбу. Позднее инженеры из компании Swiss-Mile научили этого робота удерживать вертикальное положение, балансируя на двух задних колесах. Две верхние конечности в этом случае могут использоваться в качестве манипуляторов для взаимодействия с окружающими предметами. Однако для того, чтобы реализовать одновременное выполнение действий верхними конечностями и передвижение на задних колесах, необходимо решить довольно сложную алгоритмическую задачу. Обычно ее стараются упростить путем разделения на две части: задачу локомоции и задачу взаимодействия с объектом, которые затем дополнительно разбиваются на ряд этапов. Такой подход не универсален и требует множества ручных настроек под каждый конкретный сценарий. Марко Хуттер (Marco Hutter) и его коллеги из Швейцарской высшей технической школы Цюриха разработали для четвероногого колесного робота алгоритм, основанный на методе обучения с подкреплением, мотивированным любопытством (curiosity-driven learning), который позволил решить задачу одновременной локомоции на задних колесах и манипуляций с объектами как единое целое. Как известно обучение с подкреплением — это подход, в котором агент самостоятельно обучается взаимодействовать с окружающей средой методом проб и ошибок. Он выбирает, какие действия совершить, чтобы выполнить поставленную задачу, и в результате получает отклик от среды в виде награды или штрафа — числовой сигнал, который используется алгоритмом для определения того, насколько успешно выполнено действие. Конечная цель — найти последовательности действий, которая приводит к получению максимальной суммарной награды. В данном случае вместо множества отдельных наград, получаемых за подзадачи, разработчики решили использовать одну награду, которую агент получает от среды за правильное выполнение конечной цели задания. Например, в одной из тестовых ситуаций получение награды происходит за раскрытие запертой двери, а в другой — за перемещение лежащей на столе коробки в корзину. Для того чтобы агент смог за разумное время сам найти правильную последовательность действий для получения итоговой награды, разработчики применили концепцию обучения, мотивированного любопытством, реализованную в методе случайной сетевой дистилляции (Random Network Distillation). Агент в нем имеет механизм внутренней мотивации, стимулирующей его получать новый опыт. Технически это выражается в виде дополнительного вознаграждения, которое агент получает за изучение новых, еще неисследованных областей в пространстве состояний. Для этого агент пытается предсказать результаты собственных действий и получает награду в зависимости от того, насколько точны эти предсказания — чем точнее, тем меньше величина получаемого вознаграждения. Это побуждает агента исследовать среду и пробовать действия, которые он еще не выполнял, приобретая новые навыки. Обучение алгоритма выполнялось на графической карте Nvidia RTX 2080 Ti. На каждый полный цикл, включающий в себя для обеспечения сходимости величины вознаграждения 2000 обновлений политики, требовалось около одного часа. Обученный алгоритм сначала проверяли в симуляции, а затем переносили на реального робота Swiss-Mile в лаборатории. С первым заданием, в котором робот должен подъехать к закрытой двери и распахнуть ее, нажав на дверную ручку правым колесом, одновременно толкая дверь вперед, робот справился более 15 раз подряд без единого сбоя. В задаче взаимодействия с предметом, робот с обученным алгоритмом надежно обхватывал лежащую перед ним на столе коробку колесами на передних конечностях, после чего поворачивался к стоящему рядом со столом контейнеру и выбрасывал коробку в него. С этим заданием робот справился более 5 раз подряд. Правда, в одном из тестов, робот не удержал и выронил объект обратно на стол, однако затем снова подобрал его, после чего закончил задание успешно. https://www.youtube.com/watch?v=Qob2k_ldLuw Способность самостоятельно обучаться и выполнять сложные действия может пригодиться роботам не только на земле, но и на других планетах. Специалисты из Лаборатории реактивного движения NASA предложили исследовать Марс с помощью команды из робособак. Каждый член робособачей стаи будет отличаться от других, иметь свою роль в группе и помогать остальным.