Обучение с подкреплением в задачах управления дроном
"Научный аспект №5-2024" - Информ. технологии
УДК 004.896
Вишняков Борис Ваисович – кандидат физико-математических наук, Московский авиационный институт.
Лыгин Егор Дмитриевич – магистрант Московского авиационного института.
Аннотация: В статье рассматривается разработка системы управления беспилотным летательным аппаратом квадрокоптерного типа с помощью системы управления по положению, полученной с помощью методов обучения с подкреплением. Рассматриваются основные методы обучения с подкреплением вместе с построением системы на основе нейронной сети. Для обучения системы используется физический симулятор расчета динамики твердых тел. Проведено сравнение основных физических симуляторов, используемых в робототехнике. Рассмотрена модель динамики беспилотного летательного аппарата квадрокоптерного типа. Рассмотрен процесс построения модели реального беспилотного летательного аппарата с помощью систем автоматического проектирования.
Ключевые слова: обучение с подкреплением, нейронные сети, беспилотные летательные аппараты, система управления, оптимальное управление, многослойный перцептрон.
Введение
Использование беспилотных летательных средств позволяет автоматизировать процессы жизнедеятельности человека, приводя к снижению затрат, а использование беспилотной техники в опасных для человека условиях уменьшает риск получения травм. Разработка новых методов управления позволит увеличить уровень автономности и расширить спектр выполняемых задач и является актуальной задачей. Целью работы является создание системы управления БПЛА квадрокоптерного типа на базе методов обучения с подкреплением для решения задач управления по положению.
Распространенными подходами для решения задачи автономного пилотирования является построение траектории движения с помощью полиномов [15] и следования заданной траектории с помощью алгоритмов слежения. В роли алгоритмов слежения могут PID [10], методы на основе модели среды MPC [2]. Последние обрели популярность благодаря выбору оптимальных действий, но нуждаются в точной модели среды и настройке параметров. Развитие алгоритмов обучения с подкреплением без модели среды [17,16] представило возможность использования обученной политики в роли алгоритмов слежения [19], так и в качестве планировщика и алгоритма слежения [18, 8]. Авторы [8] исследовали управление по положению. В работе [18] исследовалось построение оптимальной по времени траектории по заданным точкам в пространстве. Для этого использовалась угловая и линейная скорость, ориентация и набор целевых положений относительно заданной системы координат. Для реализации подобной системы необходим перенос заданной системы координат в реальность и использование системы слежения для получения аналогичных данных. В данной работе разработан метод для управления БПЛА квадрокоптерного типа без использования глобальной системы координат для вычисления скоростей БПЛА.
Основная часть
Обучение системы управления происходит через взаимодействие со средой, в ходе которого алгоритм получает состояние среды и генерирует действие. Для уменьшения затрат на обучение реальная среда заменяется физической симуляцией.
Разработка среды для симуляции полета БПЛА
Анализ физических симуляторов динамики твердого тела
При моделировании робототехнических систем используются симуляторы для моделирования динамики абсолютно твердого тела [4].Основными средами для моделирования робототехнических платформ и обучения при вычислительных ограничениях агентов являются Gazebo [6], PyBullet [14], MoJoCo [21]. В то время как Gazebo считается устаревшим, MoJoCo предусматривается как готовый для использования симулятор. PyBullet благодаря открытому исходному коду получил большее распространение в виде среды моделирования полета БПЛА [13], которая была выбрана в данной работе.
Моделирование тяги и моментов пропеллера
Моделирования сил и моментов, создаваемых пропеллером по формуле 2, был вычислен коэффициент тяги и момента с экспериментальные данных из открытых источников [1]. По данным были построены графики зависимости сил и моментов от квадрата скорости вращения пропеллера. Итоговые коэффициенты получены с помощью метода наименьших квадратов.
Создание модели тела БПЛА
Вычисление матрицы инерции проведено с помощью системы автоматизированного проектирования исходя из геометрических параметров и значения массы тела. Масса задается вручную и предполагается распределенной равномерно по всему объему. Расчет матрицы инерции всей сборки осуществлен с помощью суммирования инерции всех отдельных компонент с учетом расстояния до начала координат модели. Начало координат модели равно среднему между координатами крепления моторов.
Создание модели сенсоров
Источником информации о состоянии системы является инерциальный датчик, измеряющий угловую скорость и линейное ускорение в системе координат БПЛА. Симуляция инерциального датчика накладывает шум, используя двухкомпонентную модель шума [9], представленную в формуле 6. Параметрами модели являются технические характеристики инерциального датчика mpu6050[12], установленного на борту БПЛА.
Разработка метода обучения нейронной сети и архитектуры
Обучение с подкреплением представляет итеративную оптимизацию в ходе взаимодействия со средой, входе которой агент получает состояние и предсказывает действие на основе состояния, за которое получает награду. Задача агента - выработать такую политику действий, при которой награда будет максимальной. Траекторией называется набор действий от начального состояния до конца эпизода, окончанием эпизода может быть как успешное выполнение задачи, так и неудача, приводящая к условиям остановки. При оптимизации либо находится оптимальная политика, либо оптимальная функция предсказания вознаграждения, с помощью которой находятся оптимальные действия.
Анализ подходов к обучению с подкреплением
Для получения максимальной награды возможно либо оптимизировать политику, которая будет выбирать оптимальные действия, либо оптимизировать функцию оценки, на основе которой будут выбираться оптимальные действия.
Оптимизация политики осуществляется через градиент политики [22]. Ввиду оптимизации политики непосредственно на функцию награды возможно достичь узких оптимумов, но после каждого обновления параметров необходимо накапливать новые траектории ввиду изменения вероятностного распределения действий относительно входных данных.
Другим подходом к обучению является улучшение функции оценки действий
Оптимизация функции оценки состояния возможна через накопление информации о состояниях и наградах, на основе которых может быть обучена нейронная сеть [11]. Оценка действия не зависит от состояния политики, поэтому оптимизация функции оценки использует всю накопленную информацию в ходе обучения, но низкая сходимость ввиду косвенной оптимизации политики является недостатком.
Промежуточным вариантом между двумя видами является подход actor-critic [20], который оптимизирует политику и аппроксимирует функцию оценки с помощью дополнительной нейронной сети, называемой критиком. Предсказание критика используется во время вычисления градиента политики, что позволяет достичь большей стабильности при обучении. Данный класс методов широкое распространение в управлении робототехнических систем [17,16], поэтому был выбран в текущей работе.
Анализ подходов actor-critic на основе политики градиента
Ключевая идея, лежащая в основе обновления с помощью градиента политики [20], заключается в использовании предсказания дополнительной модели критика в качестве значения функции оценки состояния при вычислении функции преимущества.TRPO [17] делает максимально возможные шаги обновления параметров, соблюдая ограничение по близости новой и старый политик, стабильно улучшая политику в отличие от обычного градиента политики. Но использование метрики Ку́льбака — Ле́йблера для оценки близости политик является недостатком ввиду вычисления гессиана. PPO [16] регулирует шаг обновления через ограничение значение целевой функции. В то время как TRPO пытается решить эту проблему с помощью вычисления производных второго порядка, PPO представляет собой семейство методов первого порядка. Алгоритм PPO обладает вычислительной простотой по сравнению с TRPO и надежностью по сравнению с наивным градиентом политики, ввиду чего данный алгоритм был выбран для обучения агента.
Анализ архитектур
В случае наличия временной зависимости между состояниями возможно использование рекуррентных слоев LSTM [7]. Вместо использования рекуррентных сетей, зависимость между предыдущим и текущим состоянием выучивается через подачу нескольких предыдущих состояний и действий на вход перцептрона [18, 8]. Подход показывает высокую обобщающую способность и простоту имплементации по сравнению с использованием рекуррентных сетей.
Обучение и тестирование
Разработка архитектуры системы управления
В рамках работы была использована архитектура перцептрона с двумя слоями по 64 нейрона как для предсказания действий, так и для предсказания оценки состояния с гиперболическим тангенсом в качестве функции активации по аналогии с работами [18, 8].
Разработка методики обучения системы управления по положению
Система обучалась на задачу отслеживания положения, управляя скоростью поворота моторов. В состояние входит: ориентация, угловая и линейная скорости системе координат дрона и разница текущего и целевого положений. Выходные значения переводились в диапазон от 0 до 1 с помощью функции сигмоиды, и умножались на максимальную скорость поворота двигателей. Максимальная скорость поворота двигателей рассчитывалась через отношение скорости поворотов на вольт, которое является характеристическим параметром двигателя и задается производителем. Функция награды состоит из суммы оценок положения, скорости поворота. Оценка положения считает квадрат расстояния между текущим и целевым положениями. Оценка скорости штрафует агента за угловые скорости. Полная функция награды представлена в формуле 8.
где qpos - положение дрона, dpos - целевое положение, v - вектор направления движения дрона, t - вектор направления до цели, w - угловая скорость дрона.
Обучение агента
Агенту была поставлена задача достигнуть целевого положения из начального и удерживать его. Целевым положением являлась точка х=0, у=0, z=1. Для улучшения обучения используется аугментация [3] через случайную инициализация начального положения из равномерного распределения внутри сферы радиусом 2 метра с центром в целевой точке. Необходимо минимизировать количество схожих данных. Эмпирически было подобрано время одной траектории, при котором большую часть траектории агент летит к цели, равное 4 секундам.
Тестирование
Тестирование заключается в измерении количества успешных попыток к общему числу всех попыток. Был задан набор начальных положений, состоящий из точек на поверхности сфер разного радиуса, центром которых являлась целевая точка. Положение на сфере менялось через изменение угла к цели с шагом в 45 градусов вокруг осей Y, Z. Радиус сферы менялся с шагом 0.5 метров от 1 до 3 метров. В ходе первой попытки системе необходимо достичь указанного положения с точностью 10 см, в ходе второй с точностью 20 см. Попытка считается неудачной, если система не достигла положения за 10 секунд. Результаты тестирования представлены на рисунке 1. С ростом расстояния уменьшается вероятность успешного выполнения задания. Одной из причин является увеличение накопленного во время полета шума измерений. В некоторых случаях наблюдается локальное улучшение работоспособности. Во время обучения алгоритм выучивает агрессивные навыки для скорейшего достижения целевой точки, при этом потенциально не выучивая в достаточной мере навыков стабилизации после резких маневров.
Рисунок 1. Вероятность успеха от дальности до цели
Заключение
В работе разработан метод для управления БПЛА квадрокоптерного типа без использования глобальной системы координат для вычисления скоростей БПЛА с помощью методов обучения с подкреплением. Проведен анализ физических симуляторов. Разработан цифровой двойник БПЛА. Проведен анализ подходов к обучению с подкреплением, методов на основе градиента политики и архитектур нейронных сетей в задачах обучения с подкреплением. Разработана методика обучения системы управления по положению и архитектура нейронной сети для управления БПЛА.
Список литературы
- 6045 пластиковый пропеллер// робототехническая база данных URL: https://database.tytorobotics.com/propellers/96z/6045-plastic (дата обращения: 20.01.2024).
- Бисего Д. и др. Нелинейная модель прогнозирующего управления с усовершенствованной моделью привода для многовинтовых летательных аппаратов типовой конструкции // Журнал интеллектуальных и робототехнических систем. – 2020. – Т. 100. – №. 3. – С. 1213-1247.
- Коббе К. и др. Количественное обобщение в обучении с подкреплением //Международная конференция по машинному обучению. – PMLR, 2019. – С. 1282-1289.
- Dimmig C. A. et al. Survey of Simulators for Aerial Robots //arXiv preprint arXiv Диммиг С.А. и др. Обзор симуляторов авиационных роботов //препринт arXiv:2311.02296. – 2023.
- Фэн П., Ромеро А., Скарамуцца Д. Оптимальное по времени планирование полета по путевой точке квадрокоптера //Научная робототехника. – 2021. – Т. 6. – №. 56. – С. eabh
- Симулятор Газебо // Gazebosim URL: https://gazebosim.org/docs (дата обращения: 13.11.2023).
- Хохрайтер С., Шмидхубер Дж. Долговременная кратковременная память //Нейронные вычисления. – 1997. – Т. 9. – №. 8. – С. 1735-1780.
- Хванбо Дж. и др. Управление квадрокоптером с подкреплением //Сборник IEEE Robotics and Automation Letters. – 2017. – Т. 2. – №. 4. – С. 2096-2103.
- Руководство по формату стандартных спецификаций IEEE и процедура испытаний одноосных интерферометрических волоконно-оптических гироскопов //1998 IEEE Std 952-1997 С. 1-84.
- Ли Ю. и др. Быстрое и точное отслеживание траектории беспилотных летательных аппаратов на основе глубокого обучения с подкреплением// 25-я Международная конференция IEEE по встраиваемым вычислительным системам и приложениям реального времени (RTCSA). – IEEE, 2019. – С. 1-9.
- Мних В. и др. Игра в Atari с глубоким обучением с подкреплением //arXiv препринт arXiv:1312.5602. – 2013.
- MPU-6000 и MPU-6050 карта регистров и описание версия4.0 // IvenSense URL: https://cdn.sparkfun.com/datasheets/Sensors/Accelerometers/RM-MPU-6000A.pdf (дата обращения: 06.01.2024).
- Панерати Дж. и др. Учимся летать — тренажерный зал с физикой pybullet для подкрепления обучения многоагентному управлению квадрокоптером // Международная конференция IEEE/RSJ 2021 по интеллектуальным роботам и системам(IROS). – IEEE, 2021. – С. 7512-7519.
- Pybullet документация // pybullet URL: https://pybullet.org/wordpress/index.php/forum-2/ (дата обращения: 05.11.2023).
- Рю Г., Тал Э., Караман С. Многоточечная оптимизация черного ящика для оптимальных по времени маневров квадрокоптера // Международный журнал исследований робототехники. – 2021. – Т. 40. – №. 12-14. – С. 1352-1369.
- Шульман Мл. и др. Алгоритмы оптимизации проксимальной политики//arXiv препринт:1707.06347. – 2017.
- Шульман Дж. и др. Оптимизация политики доверительными регионами// Международная конференция по машинному обучению. – PMLR, 2015. – С. 1889-1897.
- Сун Ю. и др. Автономные гонки дронов с глубоким обучением с подкреплением//2021 IEEE/ Международная конференция по интеллектуальным роботам и системам (IROS). – IEEE, 2021. – С. 1205-1212.
- Сун Ю. и др. Достижение предела в автономных гонках: оптимальный контроль против обучения с подкреплением//Science Robotics. – 2023. – Т. 8. – №. – С. eadg1462.
- Саттон Р.С. и др. Методы политического градиента для обучения с подкреплением с аппроксимацией функций // Достижения в области нейронных систем обработки информации. – 1999. – Т. 12.
- Тодоров Э., Эрез Т., Тасса Й. Муджоко: Физический движок для управления на основе моделей //2012 IEEE/ Международная конференция по интеллектуальным роботам и системам. – IEEE, 2012. – С. 5026-5033.
- Уильямс Р. Дж. Простые статистические алгоритмы следования градиенту для коннекционистского обучения с подкреплением//Машинное обучение. – 1992. – Т. 8. – С. 229-256.