- •Курсовая работа
- •Тема: «Обучение с подкреплением в робототехнике: обзор алгоритмов (dqn, ppo, sac) и примеров применения в сборке. Сравнение методов, их применимость для задач манипуляции нежёсткими объектами.»
- •Аннотация
- •Содержание
- •Список сокращений и условных обозначений
- •Введение
- •Системный анализ разработки интеллектуального агента с применением обучения с подкреплением
- •1.1 Общая характеристика и современные тенденции применения искусственного интеллекта и машинного обучения в игровой индустрии и симуляциях
- •1.2 Анализ задач и определение требований к интеллектуальному агенту. Характеристика целевых сред и сценариев тестирования
- •1.3 Описание потоков данных и бизнес-процессов
- •1.4 Обзор и сравнительный анализ игровых движков и фреймворков для реализации обучения с подкреплением
- •1.5 Анализ проблематики выбора архитектуры агента, настройки гиперпараметров и обеспечения стабильности обучения
- •1.6 Патентный поиск
- •1.7 Анализ существующих методов и алгоритмов обучения с подкреплением (dqn, ppo, sac) для задач навигации, управления и принятия решений в виртуальной среде
- •1.7.1 Математическая формализация процесса обучения и алгоритмов ppo и sac
- •1.8 Применимость алгоритмов dqn, ppo и sac для задач манипуляции нежёсткими объектами в роботизированной сборке
- •1.9 Выводы по главе 1
- •2. Методы и технологии разработки и исследования интеллектуального агента в среде unity
- •2.1 Применение фреймворка Unity ml-Agents Toolkit для создания среды обучения, конфигурации агентов и нейронных сетей
- •2.1.1 Архитектура искусственной нейронной сети и конфигурация гиперпараметров
- •2.2 Обзор и сравнительный анализ алгоритмов обучения с подкреплением, методов предобработки данных и техник ускорения обучения
- •2.3 Методы сбора, обработки и визуализации метрик обучения (cumulative reward, loss, entropy) для анализа поведения и эффективности агента
- •2.3.1 Итеративная настройка и эволюция функции подкрепления (Reward Engineering)
- •2.4 Методы оценки производительности, обобщающей способности и устойчивости обученного агента в детерминированных и стохастических условиях
- •2.5 Технологический стек и архитектурные решения для интеграции модели машинного обучения (Python) с игровой логикой и физическим движком (c#/Unity)
- •2.6 Выводы по главе 2
- •3.Экспериментальные исследования и анализ результатов работы интеллектуального агента
- •3.1 Характеристика экспериментального стенда и условий проведения эксперимента
- •3.2 Сравнительный анализ эффективности алгоритмов ppo и sac в задаче навигации
- •3.3 Исследование влияния сенсорной системы и формирования функции вознаграждения
- •3.4 Анализ влияния гиперпараметров на сходимость алгоритма ppo
- •3.5 Абляционные исследования: влияние архитектуры сенсоров и функции вознаграждения на процесс обучения
- •3.6 Профилирование производительности и анализ вычислительной нагрузки в режиме реального времени
- •3.7 Программная реализация алгоритмов поведения и управления агентом
- •3.8 Тестирование и валидация обученной модели в режиме инференса
- •3.9 Выводы по главе 3
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
Заключение
В ходе выполнения курсовой работы была решена актуальная научно-практическая задача обзора, разработки и исследования интеллектуального агента с использованием методов глубокого обучения с подкреплением (Deep Reinforcement Learning). В качестве фундаментального этапа для задач робототехники реализован стенд автономного непрерывного управления в сложной физической среде.
В результате проведенного исследования были получены следующие основные теоретические и практические результаты:
Проведен системный анализ предметной области. Изучены современные подходы к созданию искусственного интеллекта в виртуальных симуляциях. Обоснован выбор технологического стека, включающего игровой движок Unity, библиотеку ML-Agents и фреймворк PyTorch. Доказано, что использование среды Unity позволяет создавать высокоточные физические симуляции, необходимые для безопасного и эффективного обучения агентов перед их внедрением в реальные системы или игровые проекты.
Проведен теоретический анализ применения алгоритмов DRL в роботизированной сборке нежёстких объектов (кабелей, тканей, уплотнителей). Систематизированы ограничения алгоритма DQN, вызванные дискретностью пространства действий. Обоснована необходимость использования алгоритмов непрерывного контроля (PPO и SAC) для задач манипуляции деформируемыми деталями. Подтверждено, что базовым этапом перед внедрением ИИ-управления на реальных роботах является бенчмаркинг алгоритмов в виртуальных физических движках (таких как Unity PhysX) на задачах пространственного позиционирования.
Разработана архитектура среды обучения. Спроектирован и реализован виртуальный полигон сложной топологии (лабиринт), включающий статические препятствия, ограничивающие барьеры и целевые объекты. Реализована система мультиагентного обучения, позволяющая запускать 20 параллельных экземпляров среды в едином пространстве симуляции. Это позволило увеличить поток генерируемых данных (experience throughput) и сократить время обучения нейронной сети в десятки раз.
Реализована программная логика управления агентом. На языке C# разработан программный модуль контроллера агента, обеспечивающий взаимодействие с физическим движком PhysX.
Внедрен алгоритм безопасной стохастической инициализации (GetRandomSafePosition), основанный на методе зондирования пространства сферическими триггерами. Это позволило полностью исключить программные ошибки, связанные с появлением объектов внутри геометрии уровня (стен), и обеспечило высокую вариативность начальных условий для повышения обобщающей способности модели.
Реализована гибридная система сбора наблюдений, объединяющая векторные данные (координаты, скорость) и данные лучевого зондирования (Ray Perception Sensor 3D), что наделило агента способностью «видеть» препятствия и формировать сложные траектории обхода.
Проведен сравнительный анализ алгоритмов обучения. Выполнено экспериментальное сравнение двух ключевых алгоритмов обучения с подкреплением: PPO (Proximal Policy Optimization) и SAC (Soft Actor-Critic) [32].
Установлено, что алгоритм SAC обладает высокой эффективностью использования данных (sample efficiency), достигая целевых показателей награды (0.9+) менее чем за 5 000 шагов. Однако его высокая вычислительная сложность при обновлении весов на каждом шаге приводит к значительным задержкам симуляции при масштабировании количества агентов.
Алгоритм PPO продемонстрировал более плавную и стабильную динамику обучения. Несмотря на большее требуемое количество шагов (около 60 000 – 80 000), он обеспечивает стабильную производительность в реальном времени. На основании этих данных для итоговой реализации был выбран алгоритм PPO.
Решена проблема разреженного вознаграждения. В ходе настройки гиперпараметров и функции полезности (Reward Function) была выявлена и устранена проблема стагнации обучения, вызванная низкой вероятностью случайного достижения цели в лабиринте. Внедрение экзистенциального штрафа (penalty за каждый шаг времени) позволило трансформировать поведение агента от пассивного существования к активному поиску кратчайшего маршрута.
Создан готовый программный продукт. Обученная нейронная сеть была успешно экспортирована в формат .ONNX и интегрирована обратно в среду Unity. Проведенные тесты в режиме Inference Only (без участия Python) подтвердили, что разработанный агент способен автономно, быстро и безошибочно находить целевой объект в 98% тестовых эпизодов, избегая столкновений. Полученное решение является полностью автономным и может быть скомпилировано в исполняемый файл для конечного пользователя.
Практическая значимость работы заключается в создании универсального, масштабируемого инструментария для разработки навигационных ИИ-систем. Разработанные алгоритмы и методики настройки среды могут быть применены при создании неигровых персонажей (NPC) в индустрии видеоигр, а также при прототипировании автопилотируемых роботов и дронов в задачах логистики и складской навигации.
Перспективы дальнейшего развития темы исследования включают внедрение динамических препятствий, усложнение сенсорной системы (использование визуальных наблюдений через камеру/CNN) и перенос обученной модели на физическое робототехническое устройство.
