RU2816639C1 - Способ для создания контроллеров управления шагающими роботами на основе обучения с подкреплением - Google Patents
Способ для создания контроллеров управления шагающими роботами на основе обучения с подкреплением Download PDFInfo
- Publication number
- RU2816639C1 RU2816639C1 RU2022133176A RU2022133176A RU2816639C1 RU 2816639 C1 RU2816639 C1 RU 2816639C1 RU 2022133176 A RU2022133176 A RU 2022133176A RU 2022133176 A RU2022133176 A RU 2022133176A RU 2816639 C1 RU2816639 C1 RU 2816639C1
- Authority
- RU
- Russia
- Prior art keywords
- control
- control controller
- agent
- controller
- parameters
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000002787 reinforcement Effects 0.000 title claims description 13
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000003860 storage Methods 0.000 claims abstract description 10
- 238000005457 optimization Methods 0.000 claims abstract description 4
- 230000009471 action Effects 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000010801 machine learning Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 9
- 230000033001 locomotion Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000013528 artificial neural network Methods 0.000 description 19
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Abstract
Изобретение относится к области робототехники и искусственного интеллекта и может быть использовано для создания контроллеров управления шагающими роботами. Техническим результатом является автоматизация процессов создания эффективных контроллеров управления за счет учета особенностей и динамических характеристик конкретных платформ для автономных шагающих роботов. Способ содержит этапы: инициализация, создание необходимых модулей, обмен данными между контроллером управления и агентом управления, подсчет наград и штрафов, сохранение данных в хранилище, оптимизация параметров контроллера управления, экспорт контроллера управления для загрузки на реального робота. 2 ил.
Description
Настоящее изобретение относится к области робототехники и искусственного интеллекта и может быть использовано в качестве способа для создания контроллеров управления шагающими роботами с целью повышения эффективности управления платформы за счет оптимизации контроллера управления под конкретную платформу с учетом динамических характеристик платформы, а также упрощение получения контроллеров управления для различных целевых задач.
Известен патент RU2755339C1 «Модифицированный интеллектуальный контроллер с адаптивным критиком». Изобретение состоит из блока расчета подкрепления, блок расчета временной разности, блока критика, решающей нейронной сети, блока отбора действий, блока действий, блока выбора действий, объекта управления. Повышение адаптационных свойств системы управления на базе интеллектуального контроллера достигается за счет выделения процесса обучения нейронной сети блока критика и решающей нейронной сети в отдельный блок обучения нейронных сетей, при этом данный блок обучает обе нейронные сети. Работа с блоком действий строится по новому принципу с использованием блока отбора действий, блока выбора действий, блока обучения нейронных сетей, блока расчета временной разности и блока расчета подкрепления. Блока отбора действий, ограничивающий возможные действия, не подходящие по минимально заданному подкреплению, а также возможность прямого обращения к блоку действий блока отбора действий, блока критика, блока расчета подкрепления и блока расчета временной разности повышают скоростные характеристики работы системы. Упрощение реализации для разработчика заключается в модернизации взаимодействия блоков расчета подкрепления, блока расчета временной разности и блока выбора действий с блоком действий, а также выделение процесса обучения нейронной сети блока критика и решающей нейронной сети в отдельный блок.
Недостатками данного контроллера являются недостаточные адаптационные свойства, сложность описания целевых задач контроллера для применения в робототехнике.
В качестве ближайшего аналога заявленному способу выбран патент RU2686030C1 «Непрерывное управление с помощью глубокого обучения с подкреплением». Способ описывает общий подход к обучению с подкреплением и состоит из нейронной сети-исполнителя, используемой для выбора действий, подлежащих выполнению агентом, запоминающего устройства повторного воспроизведения, в котором сохраняются экспериментальные кортежи данных, нейронной сети-критика, обрабатывающей учебное наблюдение и учебное действие в экспериментальных кортежах, прогнозной нейронной-сети исполнителя, прогнозной нейронной сети-критика. Многократно выполняя над множеством различных минипакетов экспериментальных кортежей процесс определения прогнозного вывода нейронной сети из учебного вознаграждения и следующего наблюдения, а также определения обновления параметров нейронной сети-критика через их прогнозные аналоги и определение обновления для нейронной сети-исполнителя с использованием нейронной сети-критика, система может обучить нейронную сеть-исполнителя определять выученные значения параметров нейронной сети-исполнителя и предоставлять возможность эффективного использования нейронной сети-исполнителя для выбора действий, подлежащих выполнению агентом при взаимодействии со средой.
Недостатками способа являются отсутствие централизованной системы описания целевых задач, замедляющее процесс получения различных контроллеров, недостаточная оптимизация метода для применения в задачах шагающих роботов
Таким образом, существует задача разработки такого способа для создания контроллеров управления шагающими роботами на основе обучения с подкреплением, который обеспечивает автоматизацию создания оптимальных контроллеров управления с учетом особенностей и динамических характеристик конкретных платформ, что особенно важно при использовании данной полезной модели в автономных шагающих роботах.
Техническим результатом заявленного изобретения является автоматизация процессов создания эффективных контроллеров управления за счет учета особенностей и динамических характеристик конкретных платформ для автономных шагающих роботов и упрощения получения конечного результата разработчиком данных контроллеров.
Поставленная задача решается, а заявленный технический результат достигается тем, что способ для создания контроллеров управления шагающими роботами на основе обучения с подкреплением, включает следующие этапы: инициализация, создание необходимых модулей, обмен данными между контроллером управления и агентом управления, подсчет наград и штрафов при получении ответного отклика менеджером обучения, сохранение данных в хранилище, оптимизация параметров контроллера управления через максимизацию получаемой итоговой награды с помощью алгоритма машинного обучения, экспорт контроллера управления в виде бинарного файла его внутренних параметров для дальнейшей загрузки на реального робота для генерации его движений.
Далее изобретение подробно поясняется со ссылкой на фигуры.
На фиг. 1 схематично показана взаимосвязь основных используемых блоков в способе для создания контроллеров управления шагающими роботами на основе обучения с подкреплением. На фигуре 1 ссылочными позициями отмечены:
1 – модель робота;
2 – интерфейсы входа и выхода контроллера управления;
3 - архитектура контроллера управления;
4 – описание внешней среды;
5 – функции наград и штрафов;
6 - параметры задачи;
7 – задача;
8 – интерфейс взаимодействия;
9 – агент управления;
10 – алгоритм машинного обучения;
11 - менеджер обучения;
12 – контроллер управления;
13 – обучатель;
14 – хранилище;
15 – блок регистрации задач;
16 – блок регистрации обучателей;
17 – блок контроля обучения;
18 – внешняя среда.
Блок регистрации задач (15) состоит из описания внешней среды (4), модели робота (1), функции наград и штрафов (5), интерфейсов (2) входов и выходов контроллера управления, параметров задачи (6) и задачи (7). Описание внешней среды (4) предназначено для описания физики, окружения робота, предметов для взаимодействия и других, необходимых для решения задачи, параметров. Модель робота (1) описывает собственно конструкцию робота, например, в нем могут быть заданы параметры моторов, датчиков, формат управления. Функции наград и штрафов (5) содержат описания функций от входов и выходов контроллера, привилегированной информации от среды, которая не может непосредственно участвовать в формировании управляющего воздействия, определяющие желаемое поведение контроллера управления. Интерфейсы (2) входа и выхода контроллера управления предназначены для определения количества входов и выходов, типа используемой контроллером информации, формата входных и выходных данных. Параметры (6) задачи содержат общие сведения о конфигурации задачи. Примером могут служить параметры влияния определенных наград и штрафов, усиления входов и выходов и т.д. Задача (7) описывает комплексную информацию о роботе, его интерфейсы управления (входы и выходы), внешней среде (18), в которой робот будет работать, наградах и штрафах, которые можно получить в процессе обучения, общих параметрах, относящимся к данной задаче. Задача формируется посредством выбора экземпляров модулей, содержащих требуемую информацию.
Блок регистрации обучателей (16) содержит в себе хранилище (14), алгоритм машинного обучения (10), архитектуру (3) контроллера управления и обучатель (13). Хранилище (14) предназначено для хранения данных о состояниях, действиях и наградах. Алгоритм машинного обучения (10) содержит непосредственно алгоритм по оптимизации контроллера управления по данным из хранилища. Архитектура (3) контроллера управления содержит информацию о внутреннем устройстве контроллера. Обучатель (13) содержит сведения о процессах изменения внутренних параметров контроллера с целью его оптимизации на основе использования заданного алгоритма обучения, описанного в алгоритме машинного обучения (10) и архитектуры (3) контроллера управления.
Блок контроля обучения (17) содержит менеджер обучения (11), интерфейс взаимодействия (8) и контроллер управления (12). Менеджер обучения (11) описывает основной цикл обучения, инициализирует выбранные задачи и обучатели для создания и обучения контроллеров управления, а также экспортирует готовый контроллер для применения на реальном роботе. Интерфейс взаимодействия (8) предназначен для получения данных из внешней среды (18) непосредственно в которой действует агент. Это могут быть интерфейсы для подключения к виртуальным или реальным датчикам робота, камерам, лидарам, средствам локализации и т.д.
Модульность, реализованная в способе, позволяет достичь уровня гибкости, позволяющей пользователю беспрепятственно внедрить своего робота, задачу и условия среды, для получения эффективного контроллера, подготовленного непосредственно под заданную конфигурацию.
На фиг. 2 схематично приведена общая блок-схема способа для создания контроллеров управления шагающими роботами на основе обучения с подкреплением. На фигуре 2 ссылочными позициями отмечены:
19 – инициализация;
20 – создание необходимых модулей;
21 – обмен данными между контроллером управления и агентом управления;
22 –подсчет наград и штрафов;
23 – сохранение данных в хранилище;
24 – оптимизация параметров контроллера управления;
25 – экспорт контроллера управления.
На шаге инициализации (19) осуществляется: получение данных о модели робота (1) из файла, определение формата интерфейсов (2) входа и выхода контроллера управления для данной модели и внутренней архитектуры (3) контроллера управления для создания экземпляра контроллера управления (12), получение описания внешней среды (4) и определение ее состояния на момент начала обучения, определение функций наград и штрафов (5), которые можно получить в процессе обучения, получение конфигурационных файлов для определения параметров (6) задачи. На основе этих данных происходит формирование задачи (7) и инициализация интерфейса взаимодействия (8) контроллера управления и агента управления (9), представляющего собой реального робота или модели робота внутри симуляции, определение алгоритма машинного обучения (10).
Конструкция робота, для которого формируется задача, описывается моделью робота (1) в формате URDF, MJCF или аналогичном формате. Одна и та же конструкция может быть использована для разных задач, что упрощает получение контроллеров управления для одной и той же целевой платформы.
Затем на шаге (20) осуществляется создание необходимых модулей: менеджера обучения (11) с учетом функции наград и штрафов (5) для процесса обучения, контроллера управления (12) на основе архитектуры (3) контроллера управления и интерфейсов (2) входа и выхода контроллера управления, а также обучателя (13) с использованием менеджера обучения (11), контроллера управления (12) и заданного алгоритма машинного обучения (10).
Менеджер обучения (11) содержит внутри себя цикл обмена данными между контроллером управления и агентом управления (9). При получении текущего состояния агента управления (9) через интерфейс взаимодействия (8) и отправке его на вход контроллера управления (12), формат которого описан в задаче (7), осуществляется получение команд из интерфейса (2) выхода контроллера управления (12) для целевого управления. Затем на шаге (21) осуществляется обмен данными между контроллером управления (12) и агентом управления (9). При получении ответного отклика менеджером обучения (11) ведется подсчет наград и штрафов на шаге (22), т.е. рассчитывается общая оценка текущего действия агента управления (9) с помощью функции наград и штрафов (5), описанных в задаче (7). Информация о состоянии агента управления (9) во внешней среде до выполнения действия, действие агента, текущая награда агента и состояние агента в среде после действия сохраняются на шаге (23) в хранилище (14).
Оптимизация параметров контроллера на шаге (23) для улучшения желаемого движения достигается за счет максимизации получаемой награды с помощью алгоритмов машинного обучения, описанных в алгоритме машинного обучения (10). Для этого из данных, собранных во время одной итерации цикла обмена между агентом и средой и хранящихся в хранилище, формируется выборка, являющейся обучающей для данного контроллера. Переход между шагами (21) и (24) происходит при сборе достаточного количества данных, описанного в параметрах задачи (6), для формирования обучающей выборки. Контроллер управления (12) с обновленными внутренними параметрами используется в следующей итерации цикла обмена.
Процесс завершается на шаге (25) экспортом контроллера управления при достижении целей задачи, описанных в параметрах задачи (6), либо после достижения максимального числа итераций, также описанных в параметрах задачи (6).
Заявленный способ позволяет автоматизировано создавать оптимальные контролеры управления для шагающих роботехнических платформ для применения в описанных пользователем задачах. Способ обеспечивает автоматизацию процессов создания эффективных контроллеров управления с целью повышения стабильности движений робота в различных окружающих его условиях при моделировании походки робота в симуляторе и в реальной среде. Способ позволяет получать обученные модели для их применения на различных моделях шагающих роботов.
Claims (8)
1. Способ для создания контроллеров управления шагающими роботами на основе обучения с подкреплением, включающий следующие этапы:
a) инициализация, в процессе которой осуществляется получение данных о модели робота (1) из файла, определение формата интерфейсов входа и входа контроллера управления (2) для данной модели и внутренней архитектуры контроллера управления (3) для создания экземпляра контроллера управления, получение описания внешней среды (4) и определение ее состояния на момент начала обучения, определение функций наград и штрафов (5), которые можно получить в процессе обучения, получение конфигурационных файлов для определения параметров задачи (6), на основе этих данных происходит формирование задачи (7) и инициализация интерфейса взаимодействия (8) контроллера управления и агента управления (9), представляющего собой реального робота или модели робота внутри симуляции, определение алгоритма машинного обучения (10);
b) создание необходимых модулей: менеджера обучения (11) с учетом функций наград и штрафов (5) для процесса обучения, контроллера управления (12) на основе архитектуры контроллера управления (3) и интерфейсов входа и выхода контроллера (2), а также обучателя (13) с использованием менеджера обучения (11), контроллера управления (12) и заданного алгоритма машинного обучения (10);
c) обмен данными между контроллером управления (12) и агентом управления (9), при котором осуществляется получение текущего состояния агента во внешней среде (4) через интерфейс взаимодействия (8) и отправка команд из контроллера управления (12) агенту управления (9) для последующего выполнения; обмен прекращается при сборе достаточного количества данных, описанного в параметрах задачи (6), для формирования обучающей выборки, контроллер управления (12) с обновленными внутренними параметрами используется в последующих итерациях цикла обмена данными;
d) подсчет наград и штрафов при получении ответного отклика менеджером обучения (11), представляющий собой общую оценку текущего действия агента (9) с помощью функций наград и штрафов (5), описанных в задаче (7);
e) сохранение данных в хранилище (14), а именно информации о состоянии агента управления (9) в среде до выполнения действия, действие агента, текущая награда агента (9) управления и состояние агента (9) во внешней среде (4) после действия;
f) оптимизация параметров контроллера управления (12) через максимизацию получаемой итоговой награды с помощью алгоритма машинного обучения (10);
g) экспорт контроллера управления (12) в виде бинарного файла его внутренних параметров для дальнейшей загрузки на реального робота для генерации его движений.
Publications (1)
Publication Number | Publication Date |
---|---|
RU2816639C1 true RU2816639C1 (ru) | 2024-04-03 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2686030C1 (ru) * | 2015-07-24 | 2019-04-23 | Дипмайнд Текнолоджиз Лимитед | Непрерывное управление с помощью глубокого обучения с подкреплением |
US10786900B1 (en) * | 2018-09-27 | 2020-09-29 | Deepmind Technologies Limited | Robot control policy determination through constrained optimization for smooth continuous control |
US10828775B2 (en) * | 2017-09-26 | 2020-11-10 | Siemens Aktiengesellschaft | Method and system for automatic robot control policy generation via CAD-based deep inverse reinforcement learning |
US20210122037A1 (en) * | 2019-10-25 | 2021-04-29 | Robert Bosch Gmbh | Method for controlling a robot and robot controller |
WO2022223056A1 (zh) * | 2021-07-12 | 2022-10-27 | 上海微电机研究所(中国电子科技集团公司第二十一研究所) | 基于深度强化学习的机器人运动参数自适应控制方法和系统 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2686030C1 (ru) * | 2015-07-24 | 2019-04-23 | Дипмайнд Текнолоджиз Лимитед | Непрерывное управление с помощью глубокого обучения с подкреплением |
US10828775B2 (en) * | 2017-09-26 | 2020-11-10 | Siemens Aktiengesellschaft | Method and system for automatic robot control policy generation via CAD-based deep inverse reinforcement learning |
US10786900B1 (en) * | 2018-09-27 | 2020-09-29 | Deepmind Technologies Limited | Robot control policy determination through constrained optimization for smooth continuous control |
US20210122037A1 (en) * | 2019-10-25 | 2021-04-29 | Robert Bosch Gmbh | Method for controlling a robot and robot controller |
WO2022223056A1 (zh) * | 2021-07-12 | 2022-10-27 | 上海微电机研究所(中国电子科技集团公司第二十一研究所) | 基于深度强化学习的机器人运动参数自适应控制方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119844B (zh) | 引入情绪调控机制的机器人运动决策方法、系统、装置 | |
CN112668235B (zh) | 基于离线模型预训练学习的ddpg算法的机器人控制方法 | |
Farchy et al. | Humanoid robots learning to walk faster: From the real world to simulation and back | |
Lin et al. | Evolutionary digital twin: A new approach for intelligent industrial product development | |
Schaal et al. | Control, planning, learning, and imitation with dynamic movement primitives | |
CN114603564A (zh) | 机械臂导航避障方法、系统、计算机设备及存储介质 | |
CN113821045B (zh) | 一种腿足机器人强化学习动作生成系统 | |
CN111857107B (zh) | 基于学习组件库的辅助型移动机器人导航控制系统和方法 | |
CN110014428A (zh) | 一种基于强化学习的时序逻辑任务规划方法 | |
CN113919485A (zh) | 基于动态层级通信网络的多智能体强化学习方法及系统 | |
Handelman et al. | Robotic skill acquisition based on biological principles | |
McDonald et al. | Guided imitation of task and motion planning | |
CN114510012A (zh) | 一种基于元动作序列强化学习的无人集群演进系统及方法 | |
Kim et al. | Learning and generalization of dynamic movement primitives by hierarchical deep reinforcement learning from demonstration | |
CN114529010A (zh) | 一种机器人自主学习方法、装置、设备及存储介质 | |
RU2816639C1 (ru) | Способ для создания контроллеров управления шагающими роботами на основе обучения с подкреплением | |
CN116306947A (zh) | 一种基于蒙特卡洛树探索的多智能体决策方法 | |
Revell et al. | Sim2real: Issues in transferring autonomous driving model from simulation to real world | |
CN116265202A (zh) | 一种机器人的控制方法、装置及介质、一种机器人 | |
Marvel et al. | Model-assisted stochastic learning for robotic applications | |
CN114454160A (zh) | 基于核最小二乘软贝尔曼残差强化学习的机械臂抓取控制方法及系统 | |
King et al. | Design and simulation of a wide area search mission: an implementation of an autonomous systems reference architecture | |
Wenwen | Application Research of end to end behavior decision based on deep reinforcement learning | |
Baird III et al. | A hierarchical network of provably optimal learning control systems: Extensions of the associative control process (ACP) network | |
Du et al. | A new cloud robots training method using cooperative learning |