Реферат по теме магистерской работы
Содержание
- Введение
- 1 Теоретические основы и анализ методов обучения с подкреплением
- 1.1 Основные концепции и терминология обучения с подкреплением
- 1.2 Математический аппарат: марковские процессы принятия решений
- 1.3 Классификации алгоритмов обучения с подкреплением
- 1.4 Обзор ключевых алгоритмов: от Q-learning до современных методов глубокого RL
- 1.5 Области применения и анализ существующих решений
- 2 Разработка моделей интеллектуального управления на основе RL
- 2.1 Постановка задачи интеллектуального управления
- 2.2 Моделирование задачи оптимизации стратегии профессионального развития
- 2.3 Моделирование процесса управления автономным роботом
- Заключение
- Список литературы
Введение
В последние десятилетия наблюдается стремительное развитие технологий искусственного интеллекта и их проникновение во все сферы человеческой деятельности. Особое место занимают автономные системы, способные самостоятельно принимать решения и функционировать в сложных, динамически изменяющихся условиях без постоянного контроля со стороны человека. К таким системам относятся автономные роботы, беспилотные автомобили и летательные аппараты, интеллектуальные ассистенты, рекомендательные системы и системы управления технологическими процессами. Эффективность таких систем напрямую зависит от их способности адаптироваться к новой информации и оптимизировать свое поведение для достижения поставленных целей.
Классические подходы к программированию и управлению, основанные на жестко заданных правилах и алгоритмах, оказываются неэффективными в средах с высокой степенью неопределенности. В таких условиях на передний план выходит парадигма обучения с подкреплением (Reinforcement Learning, RL) — область машинного обучения, в которой интеллектуальный агент учится оптимальному поведению путем проб и ошибок, взаимодействуя с окружающей средой и получая от нее сигналы обратной связи в виде вознаграждения.
Актуальность данной работы обусловлена необходимостью разработки и исследования эффективных RL-моделей, способных решать практические задачи интеллектуального управления. Применение RL позволяет создавать системы, которые могут находить неочевидные, но высокоэффективные стратегии в таких разноплановых задачах, как оптимизация профессионального развития человека или навигация мобильного робота в пространстве с препятствиями. Это открывает перспективы для создания нового поколения по-настоящему интеллектуальных и адаптивных систем.
1 Теоретические основы и анализ методов обучения с подкреплением
1.1 Основные концепции и терминология обучения с подкреплением
Обучение с подкреплением (Reinforcement Learning, RL) — это направление машинного обучения, посвященное тому, как интеллектуальные агенты должны действовать в некоторой среде, чтобы максимизировать кумулятивное вознаграждение. RL является одной из трех основных парадигм машинного обучения наряду с обучением с учителем (Supervised Learning) и обучением без учителя (Unsupervised Learning).
Ключевое отличие RL заключается в отсутствии «правильных» ответов, как в обучении с учителем. Вместо этого агент получает обратную связь в виде скалярного сигнала вознаграждения, который оценивает, насколько хорошим было его последнее действие. Цель агента — не просто максимизировать немедленное вознаграждение, а выработать стратегию (политику), которая принесет максимальную суммарную награду в долгосрочной перспективе.
Процесс взаимодействия в рамках RL описывается с помощью нескольких ключевых компонентов [1].
Агент (Agent) — это сущность, которая обучается и принимает решения. Агент воспринимает состояние окружающей среды и выполняет в ней действия.
Среда (Environment) — это мир, в котором существует и с которым взаимодействует агент. Среда принимает действия от агента и, в ответ, переходит в новое состояние и возвращает агенту вознаграждение.
Состояние (State, \(S\)) — это полное описание среды в определенный момент времени. Состояние содержит всю информацию, необходимую агенту для принятия решения.
Действие (Action, \(A\)) — это одно из возможных решений, которое агент может предпринять в текущем состоянии. Множество всех доступных действий образует пространство действий.
Вознаграждение (Reward, \(R\)) — это скалярный сигнал обратной связи, который среда посылает агенту после каждого действия.
Политика (Policy, \(\pi\)) — это стратегия, которую использует агент для выбора действий в каждом состоянии. Политика является результатом обучения и, по сути, представляет собой «мозг» агента.
Общая схема взаимодействия агента и среды в RL показана на рисунке 1.1.
Рисунок 1.1 – Цикл взаимодействия агента и среды в RL
На каждом шаге \(t\) агент наблюдает состояние среды \(S_t\), на основе своей политики \(\pi\) выбирает и выполняет действие \(A_t\). В ответ среда переходит в новое состояние \(S_{t+1}\) и выдает агенту вознаграждение \(R_{t+1}\). Этот цикл повторяется, и задача агента — максимизировать сумму дисконтированных вознаграждений, называемую возвратом (return).
1.2 Математический аппарат: марковские процессы принятия решений
Для формального описания задачи обучения с подкреплением и разработки алгоритмов для ее решения используется математический аппарат Марковских процессов принятия решений (Markov Decision Process, MDP) [2]. MDP является основой для моделирования практически всех задач последовательного принятия решений в условиях неопределенности.
Формально, MDP определяется как кортеж из пяти элементов:
- \(S\) – конечное или бесконечное множество состояний среды (State space).
- \(A\) – конечное или бесконечное множество действий агента (Action space).
- \(P\) – функция (модель) переходов среды. Она определяет вероятность перехода в состояние \(s'\) из состояния \(s\) при совершении действия \(a\).
- \(R\) – функция вознаграждения. Она определяет ожидаемое мгновенное вознаграждение, получаемое агентом после перехода.
- \(\gamma\) – коэффициент дисконтирования (discount factor), \(\gamma \in [0, 1]\).
Центральным свойством, лежащим в основе MDP, является свойство Маркова. Оно гласит, что будущее зависит только от настоящего и не зависит от прошлого.
Цель агента в MDP — найти такую политику \(\pi\), которая максимизирует ожидаемую сумму дисконтированных вознаграждений. Эта суммарная награда называется возвратом (return) и обозначается \(G_t\):
\[ G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \tag{1.1} \]
Для оценки «качества» состояний или действий при следовании определенной политике вводятся функции ценности.
Функция ценности состояния (State-Value Function) \(v_\pi(s)\) — это ожидаемый возврат, который получит агент, начиная из состояния \(s\) и далее следуя политике \(\pi\).
\[ v_\pi(s) = \mathbb{E}_\pi [G_t | S_t = s] \tag{1.2} \]
Функция ценности действия (Action-Value Function) \(q_\pi(s, a)\) — это ожидаемый возврат при совершении действия \(a\) в состоянии \(s\) и последующем следовании политике \(\pi\). Эта функция также известна как Q-функция.
\[ q_\pi(s, a) = \mathbb{E}_\pi [G_t | S_t = s, A_t = a] \tag{1.3} \]
Функции ценности удовлетворяют рекурсивным соотношениям, известным как уравнения Беллмана. Они выражают ценность состояния через ценность последующих состояний.
\[ v_\pi(s) = \sum_{a \in A} \pi(a|s) \sum_{s' \in S} P(s'|s, a) [R(s, a, s') + \gamma v_\pi(s')] \tag{1.4} \]
\[ q_\pi(s, a) = \sum_{s' \in S} P(s'|s, a) [R(s, a, s') + \gamma \sum_{a' \in A} \pi(a'|s') q_\pi(s', a')] \tag{1.5} \]
Оптимальная политика \(\pi^*\) — это политика, которая имеет большую или равную ценность состояния, чем любая другая.
\[ v^*(s) = \max_\pi v_\pi(s) \tag{1.6} \]
\[ q^*(s, a) = \max_\pi q_\pi(s, a) \tag{1.7} \]
Оптимальное уравнение Беллмана для \(v^*(s)\):
\[ v^*(s) = \max_{a \in A} \sum_{s' \in S} P(s'|s, a) [R(s, a, s') + \gamma v^*(s')] \tag{1.8} \]
Оптимальное уравнение Беллмана для \(q^*(s, a)\):
\[ q^*(s, a) = \sum_{s' \in S} P(s'|s, a) [R(s, a, s') + \gamma \max_{a' \in A} q^*(s', a')] \tag{1.9} \]
Если агент знает оптимальную Q-функцию, он может найти оптимальную политику:
\[ \pi^*(s) = \arg\max_{a \in A} q^*(s, a) \tag{1.10} \]
1.3 Классификации алгоритмов обучения с подкреплением
Алгоритмы обучения с подкреплением можно классифицировать по нескольким ключевым признакам.
1.3.1 На основе модели и безмодельные алгоритмы
Model-Based (на основе модели). Алгоритмы этого типа пытаются построить (выучить) модель окружающей среды. Модель включает в себя функцию переходов \(P(s'|s, a)\) и функцию вознаграждения \(R(s, a, s')\). Примеры: алгоритмы динамического программирования (Value Iteration, Policy Iteration), World Models.
Model-Free (безмодельные). Эти алгоритмы не пытаются выучить модель среды. Вместо этого они обучаются политике или функциям ценности напрямую из опыта взаимодействия со средой. Примеры: Q-learning, SARSA, PPO.
1.3.2 На основе ценности, политики и актер-критик
Value-Based (на основе ценности). Алгоритмы этого класса обучают функцию ценности (обычно Q-функцию). Политика выводится из функции ценности путем «жадного» выбора действия. Примеры: Q-learning, DQN, SARSA.
Policy-Based (на основе политики). Эти алгоритмы напрямую обучают политику \(\pi\), которая отображает состояния в действия. Пример: REINFORCE.
Actor-Critic (Актер-Критик). Это гибридные методы, объединяющие преимущества двух предыдущих подходов. Актер (Actor) отвечает за выбор действий, Критик (Critic) оценивает действия. Примеры: A2C/A3C, DDPG, TD3, SAC, PPO.
1.3.3 По текущей политике и вне текущей политики
On-Policy (по текущей политике). Алгоритмы обучаются на основе данных, полученных при следовании текущей политике. Примеры: SARSA, REINFORCE, A2C, PPO.
Off-Policy (вне текущей политики). Эти алгоритмы могут обучаться на данных, собранных при следовании любой другой политике. Примеры: Q-learning, DQN, DDPG, TD3, SAC.
На рисунке 1.2 представлена общая схема классификации алгоритмов RL.
Рисунок 1.2 – Классификация алгоритмов обучения с подкреплением
1.4 Обзор ключевых алгоритмов: от Q-learning до современных методов глубокого RL
Анализ опирается на фундаментальные обзорные работы в области классического и глубокого обучения с подкреплением [3], [4].
1.4.1 Q-learning: классический безмодельный алгоритм
Q-learning является одним из самых известных и фундаментальных алгоритмов RL [5]. Он относится к классу безмодельных (model-free), вне текущей политики (off-policy) методов, основанных на функции ценности (value-based). Цель Q-learning — найти оптимальную Q-функцию \(Q^*\), решая оптимальное уравнение Беллмана итерационным путем.
Алгоритм поддерживает таблицу Q-значений (Q-table), где для каждой пары (состояние, действие) хранится оценка ожидаемого возврата. Обновление Q-значений происходит по следующей формуле:
\[ Q(s, a) \leftarrow Q(s, a) + \alpha [r + \gamma \max_{a'} Q(s', a') - Q(s, a)] \tag{1.11} \]
Для обеспечения исследования среды (exploration) Q-learning обычно использует \(\varepsilon\)-жадную (epsilon-greedy) стратегию.
1.4.2 Deep Q-Network (DQN): глубокое обучение в RL
Для преодоления ограничений табличного Q-learning был предложен алгоритм Deep Q-Network (DQN) [6]. Идея DQN заключается в аппроксимации Q-функции с помощью глубокой нейронной сети [7], [8].
\[ Q(s, a; \theta) \approx q^*(s, a) \tag{1.12} \]
Для стабилизации обучения DQN использует два ключевых механизма:
- Experience Replay (Буфер воспроизведения опыта) [9] — сохранение переходов в буфер памяти для последующего обучения.
- Target Network (Целевая сеть) [10] — использование двух нейронных сетей для стабилизации обучения.
\[ L(\theta) = \mathbb{E} [(r + \gamma \max_{a'} Q(s', a'; \theta^-) - Q(s, a; \theta))^2] \tag{1.13} \]
Впоследствии базовый алгоритм был значительно улучшен: Dueling Networks [11], дистрибутивный RL [12].
1.4.3 Современные Actor-Critic алгоритмы
Для задач с непрерывными пространствами действий были разработаны Actor-Critic методы [13].
Proximal Policy Optimization (PPO) — это on-policy алгоритм, один из самых популярных и надежных на сегодняшний день [14].
\[ L^{CLIP}(\theta) = \mathbb{E} [\min(r_t(\theta) A_t, \text{clip}(r_t(\theta), 1 - \varepsilon, 1 + \varepsilon) A_t)] \tag{1.14} \]
Также стоит отметить асинхронные методы (A3C) [15].
Twin Delayed Deep Deterministic Policy Gradient (TD3) — off-policy Actor-Critic алгоритм для сред с непрерывными действиями [16], [17]. TD3 вносит три ключевых изменения: Clipped Double Q-Learning, Delayed Policy Updates, Target Policy Smoothing.
Soft Actor-Critic (SAC) — off-policy Actor-Critic алгоритм, который вносит в целевую функцию энтропию политики [18].
\[ J(\pi) = \sum \mathbb{E}[r(s_t, a_t) + \alpha \mathcal{H}(\pi(\cdot | s_t))] \tag{1.15} \]
1.5 Области применения и анализ существующих решений
Игры и симуляции. Алгоритмы AlphaGo и его последующие версии продемонстрировали сверхчеловеческий уровень игры в Го [19], [20]. Более сложные задачи решаются в StarCraft II (AlphaStar) и Dota 2 (OpenAI Five) [21], [22].
Робототехника и автономное управление. RL-агенты обучаются выполнять сложные задачи манипулирования объектами [23]. Важен вопрос воспроизводимости результатов [24].
Рекомендательные системы. RL позволяет создавать динамические рекомендательные системы [25].
Промышленность. Google использовал RL для оптимизации систем охлаждения центров обработки данных [26].
2 Разработка моделей интеллектуального управления на основе RL
2.1 Постановка задачи интеллектуального управления взаимодействием агента со средой
Интеллектуальное управление понимается как процесс разработки и применения автономных агентов, способных к оптимальному последовательному принятию решений в сложных средах. Процесс формализации опирается на общие принципы моделирования сложных систем [27].
В данной главе рассматриваются две задачи:
- Задача в дискретном пространстве: моделирование и оптимизация стратегии профессионального развития.
- Задача в непрерывном пространстве: моделирование и оптимизация траектории движения автономного робота.
2.2 Моделирование задачи оптимизации стратегии профессионального развития
Современная деятельность преподавателя высшего учебного заведения представляет собой сложный многофакторный процесс. Данная проблема идеально подходит для моделирования с помощью методов RL.
2.2.1 Формализация задачи в терминах RL
В основе формализации лежат положения, изложенные в исследовании Киселёва и Федяева [28].
- Агент: рекомендательная система.
- Среда: имитационная модель системы оценки деятельности преподавателя.
- Состояние: кортеж (количество_публикаций, качество_преподавания).
- Действия: «Опубликовать статью», «Улучшить курс», «Ничего не менять».
- Вознаграждение: +10 за статью, +5 за улучшение курса, +1 за бездействие, -1 за неэффективное действие.
2.2.2 Реализация и анализ алгоритма Q-learning
Для решения поставленной задачи был выбран классический алгоритм Q-learning. Параметры эксперимента:
- Скорость обучения \(\alpha = 0.1\)
- Коэффициент дисконтирования \(\gamma = 0.9\)
- Начальное значение \(\varepsilon = 1.0\)
- Количество эпизодов = 3000
Рисунок 2.1 – Динамика суммарного вознаграждения агента в процессе обучения
Траектория действий агента представлена на рисунке 2.2.
Рисунок 2.2 – Пример оптимальной траектории, найденной агентом
Изучение итоговой Q-таблицы подтверждает выводы. Для состояний с низким числом публикаций Q-значения для действия «Опубликовать статью» значительно выше.
Рисунок 2.3 – Фрагмент Q-таблицы после обучения
2.3 Моделирование процесса управления автономным роботом в динамической среде
Переход к задачам с непрерывными пространствами представляет собой качественный скачок в сложности [29]. Обучение с подкреплением предлагает перспективный подход [30].
2.3.1 Описание симуляционной среды и модели робота
Была выбрана связка из симулятора Gazebo и программного каркаса ROS [31], [32]. В качестве агента используется модель мобильного робота Pioneer 3-AT, описанная в формате URDF [33].
Рисунок 2.4 – Модель мобильного робота Pioneer 3-AT в симуляторе Gazebo
Рисунок 2.5 – Среда для навигации робота с визуализацией данных лидара
Состояние: данные с лидара, относительное положение цели, скорости робота.
Действия: линейная скорость (\(v\)) и угловая скорость (\(\omega\)).
Функция вознаграждения: награда за приближение к цели, штраф за столкновение, награда за достижение цели, штраф за время.
2.3.2 Сравнительный анализ алгоритмов для задачи навигации
Для решения задачи навигации были выбраны три современных Actor-Critic алгоритма: PPO, TD3 и SAC.
Основные метрики для сравнения: кривая обучения, процент успешных эпизодов, среднее время до цели, качество итоговой траектории.
Заключение
В ходе выполнения данной работы были достигнуты все поставленные цели:
Проведен комплексный анализ теоретических основ обучения с подкреплением, включая математический аппарат MDP и уравнения Беллмана. Выполнена классификация современных RL-алгоритмов и детально рассмотрены их ключевые представители.
Научная новизна диссертации заключается в оригинальной постановке задачи оптимизации карьерной траектории как Марковского процесса принятия решений и в подготовке методологической базы для сравнительного анализа RL-алгоритмов (PPO, TD3, SAC) на задаче роботизированной навигации.
Практическая значимость результатов состоит в том, что разработанные модели могут быть использованы для создания реальных интеллектуальных систем: персонализированных ассистентов и адаптивных систем управления для автономных роботов.
Дальнейшие исследования будут направлены на усложнение моделей, исследование проблемы sim-to-real, а также применение иерархических и мультиагентных подходов RL.
Список литературы
- Саттон, Р. С. Обучение с подкреплением. Введение / Р. С. Саттон, Э. Г. Барто. – 2-е изд. – М.: ДМК Пресс, 2020. – 552 с.
- Puterman, M. L. Markov Decision Processes: Discrete Stochastic Dynamic Programming / M. L. Puterman. – Hoboken, NJ: John Wiley & Sons, 2014. – 684 с.
- Kaelbling, L. P. Reinforcement learning: A survey / L. P. Kaelbling, M. L. Littman, A. W. Moore // Journal of artificial intelligence research. – 1996. – Vol. 4. – P. 237–285.
- Arulkumaran, K. A brief survey of deep reinforcement learning / K. Arulkumaran, M. P. Deisenroth, M. Brundage, A. A. Bharath // IEEE Signal Processing Magazine. – 2017. – Vol. 34, № 6. – P. 26–38.
- Watkins, C. J. C. H. Learning from delayed rewards : Ph.D. Thesis / C. J. C. H. Watkins. – Cambridge, UK : University of Cambridge, 1989.
- Mnih, V. Human-level control through deep reinforcement learning / V. Mnih, K. Kavukcuoglu, D. Silver [et al.] // Nature. – 2015. – Vol. 518, № 7540. – P. 529–533.
- Goodfellow, I. Deep learning / I. Goodfellow, Y. Bengio, A. Courville. – MIT press, 2016.
- Николенко, С. Глубокое обучение. Погружение в мир нейронных сетей / С. Николенко, А. Кадурин, Е. Архангельская. – СПб.: Питер, 2018. – 480 с.
- Schaul, T. Prioritized experience replay / T. Schaul, J. Quan, I. Antonoglou, D. Silver // arXiv preprint arXiv:1511.05952. – 2015.
- Van Hasselt, H. Deep reinforcement learning with double Q-learning / H. Van Hasselt, A. Guez, D. Silver // Proceedings of the AAAI Conference on Artificial Intelligence. – 2016. – Vol. 30, № 1.
- Wang, Z. Dueling network architectures for deep reinforcement learning / Z. Wang, T. Schaul, M. Hessel [et al.] // Proceedings of the 33rd International Conference on Machine Learning. – 2016. – P. 1995–2003.
- Bellemare, M. G. A distributional perspective on reinforcement learning / M. G. Bellemare, W. Dabney, R. Munos // Proceedings of the 34th International Conference on Machine Learning. – 2017. – P. 449–458.
- Sutton, R. S. Policy gradient methods for reinforcement learning with function approximation / R. S. Sutton, D. A. McAllester, S. P. Singh, Y. Mansour // Advances in neural information processing systems. – 1999. – Vol. 12.
- Schulman, J. Proximal Policy Optimization Algorithms / J. Schulman, F. Wolski, P. Dhariwal [et al.] // arXiv preprint arXiv:1707.06347. – 2017.
- Mnih, V. Asynchronous methods for deep reinforcement learning / V. Mnih, A. P. Badia, M. Mirza [et al.] // Proceedings of the 33rd International Conference on Machine Learning. – 2016. – P. 1928–1937.
- Lillicrap, T. P. Continuous control with deep reinforcement learning / T. P. Lillicrap, J. J. Hunt, A. Pritzel [et al.] // arXiv preprint arXiv:1509.02971. – 2015.
- Fujimoto, S. Addressing Function Approximation Error in Actor-Critic Methods / S. Fujimoto, H. van Hoof, D. Meger // Proceedings of the 35th International Conference on Machine Learning. – 2018. – P. 1587–1596.
- Haarnoja, T. Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor / T. Haarnoja, A. Zhou, P. Abbeel, S. Levine // Proceedings of the 35th International Conference on Machine Learning. – 2018. – P. 1861–1870.
- Silver, D. Mastering the game of Go with deep neural networks and tree search / D. Silver, A. Huang, C. J. Maddison [et al.] // Nature. – 2016. – Vol. 529, № 7587. – P. 484–489.
- Silver, D. Mastering the game of Go without human knowledge / D. Silver, J. Schrittwieser, K. Simonyan [et al.] // Nature. – 2017. – Vol. 550, № 7676. – P. 354–359.
- Vinyals, O. Grandmaster level in StarCraft II using multi-agent reinforcement learning / O. Vinyals, I. Babuschkin, W. M. Czarnecki [et al.] // Nature. – 2019. – Vol. 575, № 7782. – P. 350–354.
- Berner, C. Dota 2 with Large Scale Deep Reinforcement Learning / C. Berner, G. Brockman, B. Chan [et al.] // arXiv preprint arXiv:1912.06680. – 2019.
- Levine, S. End-to-end training of deep visuomotor policies / S. Levine, C. Finn, T. Darrell, P. Abbeel // The Journal of Machine Learning Research. – 2016. – Vol. 17, № 1. – P. 1334–1373.
- Henderson, P. Deep reinforcement learning that matters / P. Henderson, R. Islam, P. Bachman [et al.] // Proceedings of the AAAI Conference on Artificial Intelligence. – 2018. – Vol. 32, № 1.
- Zhao, W. Deep Reinforcement Learning for Sponsored Search Real-time Bidding / W. Zhao, J. Qiu, Z. Guan [et al.] // Proceedings of the 24th ACM SIGKDD. – 2018. – P. 1021-1030.
- Gao, J. Deep Reinforcement Learning for Data Center Cooling Control / J. Gao // Google AI Blog. – 2018. [Электронный ресурс]. – URL: https://ai.googleblog.com/2018/08/deep-reinforcement-learning-for-data.html
- Полянская, А. В. Моделирование систем : учебное пособие / А. В. Полянская. – Донецк : ДонНТУ, 2021. – 150 с.
- Киселёв, Д. С. Оптимизация стратегии профессионального развития преподавателя вуза с использованием обучения с подкреплением / Д. С. Киселёв, О. И. Федяев // Программная инженерия: методы и технологии разработки информационно-вычислительных систем (ПИИВС-2024) : V Междунар. науч.-практ. конф., г. Донецк, 27–28 нояб. 2024 г. – Донецк : ФГБОУ ВО «ДонНТУ», 2024.
- Киселёв, Д. С. Моделирование процесса управления автономным роботом на основе обучения с подкреплением / Д. С. Киселёв, О. И. Федяев // Вестник Донецкого национального технического университета. Серия: Информатика, кибернетика и вычислительная техника. – 2024. – № 1(28). – С. 15-22.
- Kohl, N. Policy gradient reinforcement learning for fast quadrupedal locomotion / N. Kohl, P. Stone // 2004 IEEE International Conference on Robotics and Automation. – 2004. – Vol. 3. – P. 2619-2624.
- Quigley, M. ROS: an open-source Robot Operating System / M. Quigley, K. Conley, B. Gerkey [et al.] // ICRA workshop on open source software. – 2009. – Vol. 3, № 3.2. – P. 5.
- Koenig, N. Design and use paradigms for Gazebo, an open-source multi-robot simulator / N. Koenig, A. Howard // 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). – 2004. – Vol. 3. – P. 2149-2154.
- URDF (Unified Robot Description Format) Documentation [Электронный ресурс]. – URL: http://wiki.ros.org/urdf