CN111882027A - 用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统 - Google Patents
用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统 Download PDFInfo
- Publication number
- CN111882027A CN111882027A CN202010491376.2A CN202010491376A CN111882027A CN 111882027 A CN111882027 A CN 111882027A CN 202010491376 A CN202010491376 A CN 202010491376A CN 111882027 A CN111882027 A CN 111882027A
- Authority
- CN
- China
- Prior art keywords
- robot
- reward
- reinforcement learning
- area
- punishment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 25
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 16
- 238000012549 training Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims abstract description 5
- 230000006378 damage Effects 0.000 claims description 13
- 230000009471 action Effects 0.000 claims description 11
- 208000027418 Wounds and injury Diseases 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 10
- 208000014674 injury Diseases 0.000 claims description 10
- 238000004088 simulation Methods 0.000 claims description 6
- 239000008280 blood Substances 0.000 claims description 5
- 210000004369 blood Anatomy 0.000 claims description 5
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 claims 2
- 238000013461 design Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract 1
- 238000011156 evaluation Methods 0.000 abstract 1
- 238000011160 research Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000006187 pill Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000009891 weiqi Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1658—Programme controls characterised by programming, planning systems for manipulators characterised by programming language
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
Abstract
本发明涉及用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统,该环境基于ROS、Python和C++,使用了Gazebo模拟器作为物理引擎,构建了基于OpenAI Gym强化学习的统一接口。该环境可以真实地模拟RoboMaster人工智能挑战赛中的机器人运动和比赛过程中的裁判系统数据,使用者可以根据情况自由地设计状态反馈和奖励。本发明使得各种基于强化学习的算法能够方便地基于此环境进行训练和效果评估,大大降低了研究RoboMaster人工智能挑战赛决策系统的难度。
Description
技术领域
本发明涉及一种强化学习训练工具,具体涉及一种用于RoboMaster人工智能挑战赛的机器人强化学习训练环境,属于机器人的强化学习技术领域。
背景技术
作为一个新兴的机器人学术平台,DJI的RoboMaster赛事组委会自2017年起发起了专门针对移动机器人领域的RoboMaster人工智能挑战赛,RoboMaster人工智能挑战赛让全球爱好者一起研究基于深度神经网络的机器人技术,并有望将成果应用于野外救援、无人驾驶、自动物流等行业,造福人类生活。
RoboMaster人工智能挑战赛的主题为移动机器人的全自动射击对抗。在比赛中,组委会提供统一标准的移动机器人平台“步兵”,该平台搭载麦克纳姆轮和可以发射弹丸的二自由度云台,可实现全向移动和远程打击。参赛队伍需要准备两台步兵机器人,在5.1m*8.1m的比赛场地上进行全自动射击对抗。参赛队需自行研发算法,配合搭载的传感器和运算设备来实现机器人的自主决策、运动和射击。比赛过程中,机器人通过识别并发射弹丸击打对方的装甲模块,以减少对方的血量。比赛结束时,机器人总伤害量高的一方获得比赛胜利。
该竞赛最重要的组成部分就是研究机器人的决策模块。在2016年,谷歌旗下DeepMind公司团队研发的AlphaGo击败围棋世界冠军李世石,引起了学术界对深度学习和强化学习方法的关注,人们开始更多尝试使用深度强化学习方法解决实际问题。但是深度强化学习方法的训练需要通过模拟器产生训练数据,而且对于训练模拟器的要求高,要求尽量贴近真实环境,因此,迫切的需要一种新的方案解决上述技术问题。
发明内容
本发明正是针对现有技术中存在的问题,提供一种用于RoboMaster人工智能挑战赛的机器人强化学习训练方法,该技术方案基于ROS、Python和C++,使用了Gazebo模拟器作为物理引擎,构建了基于OpenAI Gym强化学习的统一接口。该环境可以真实地模拟RoboMaster人工智能挑战赛中的机器人运动和比赛过程中的裁判系统数据,使用者可以根据情况自由地设计状态反馈和奖励。
为了实现上述目的,本发明的技术方案如下:一种用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统,其特征在于:该系统总共可分为三个部分,分别是物理引擎、模型控制器、比赛模拟器三个模块,该系统使用了Gazebo作为物理引擎,C++程序作为模型控制器,OpenAI Gym接口与强化学习算法和控制器互动。该系统可以作为参与RoboMaster人工智能挑战赛的研究人员进行强化学习研究的工具;OpenAI Gym接口。该模块是本系统的核心,其主要作用是模拟比赛的进程和机器人的状态,赋予机器人模型实际意义;根据赛场上的情况为强化学习算法提供状态和奖励,接受来自强化学习算法的动作指令,并将动作应用于模型控制器来控制模型。模型控制器,该模块的作用是控制物理引擎中模拟的机器人模型。并实现物理引擎与比赛模拟器之间的进行信息交换。物理引擎,该模块的作用是应用机器人模型,为强化学习算法提供真实的运行模拟环境。
相对于现有技术,本发明具有如下优点,该技术方案通过构建较真实的机器人结构模型,以及设计合理的Gym接口来模拟比赛进行,比较好地解决了构建RoboMaster人工智能挑战赛中强化学习决策模拟环境的困难;2)该方案能够提供较为真实的机器人仿真,缓解强化学习算法落地时由于模拟器和实际环境的偏差导致的模型失效;3)该方案能够自定义多样化的动作和奖励设计,来配合调整强化学习算法的参数。
附图说明
图1为本发明的框架结构示意图;
图2为复杂模型控制器的控制逻辑。
具体实施方式:
为了加深对本发明的理解,下面结合附图对本实施例做详细的说明。
实施例1:
一种用于RoboMaster人工智能挑战赛的机器人强化学习训练环境,该环境系统主要包含三个模块,分别为Gym接口(比赛模拟器),模型控制器,物理引擎。
Gym接口是本系统的核心。该模块的关键在于模拟比赛的进行,将比赛的进行分解为多个小的步骤(step),方便与强化学习算法结合。互动函数的运行逻辑如下:
步骤1:计算场上奖励和惩罚区的更新信息到机器人,
步骤1.1:每台机器人,判断是否在奖励区内,获得奖励区编号;
步骤1.2:如果奖励/惩罚区没有被占用,获得奖励区类型,更新并应用机器人奖励;
状态,否则删除机器人的奖励状态;
步骤1.3:如果机器人进入的是惩罚区,则除步骤1.2之外,还需记录当前时间点;
步骤1.4:遍历各个奖惩区域,判断是否有机器人进入到惩罚区,如果有,则判断惩罚时间是否结束,如果结束则恢复机器人状态;
步骤2:根据机器人的实际位置,计算机器人的枪口朝向,机器人的正面会指向最近的对手;
步骤2.1:根据获得的机器人位置信息,获得距每台机人最近的且存活的对手机器人的编号;
步骤2.2:每台机器人最近对手机器人的编号,利用位置信息计算应偏转的角度;
步骤3:模拟控制机器人的移动和转向,
步骤3.1:应用对手机器人的动作,对手机器人的动作可以选择随机赋值,也可以选择使用已训练好的模型;
步骤3.2:对己方机器人和对手机器人的动作进行解码;
步骤3.3:将动作信息和偏转角度信息通过ROS发送给控制器模块进行控制;
步骤4:运行物理引擎进行仿真;
步骤5:更新奖励和惩罚区,仅当剩余时间60s或120s时进行;
步骤5.1:根据中心对称的原则随机确定奖惩区位置;
步骤5.2:计算当前的奖励状态编号,总共应存在48种编号;
步骤5.3:刷新机器人的奖惩区状态;
步骤6:应用射击和伤害模型;
步骤6.1:排除已经死亡的机器人;
步骤6.2:排除处于“禁止射击”状态的机器人;
步骤6.3:设定基础命中率85%,如果机器人之间存在墙壁阻挡或其他机器人阻挡,
则命中率降低为0%;
步骤6.4:如果不存在阻挡,根据机器人与对手机器人之间的距离确定命中率;
步骤6.5:根据打击对手的角度不同,结合步骤6.4中的命中率,得到造成的伤害;
步骤6.6:根据伤害减少机器人血量。
步骤6.7:记录单次队伍伤害,并将伤害加入总伤害;
步骤7:应用碰撞检测,
步骤7.1:检测每个机器人是否与墙壁碰撞;
步骤7.2:检测每个机器人是否与其他机器人碰撞;
步骤8:判断比赛是否结束,
判断依据包括时间结束、某一方所有机器人血量减少到0,计算奖励。
模拟环境系统中,模型控制器也是重要的模块。本发明在模拟器中应用了两种模型,其中一种完全模拟麦克纳姆轮机器人的全向运动,但是对于计算机的CPU消耗较大。另一种仅能模拟理想的全向运动,对计算机CPU的要求较低。在实际需求中可以有选择性地使用。
复杂控制器的控制逻辑,如图2所示:
步骤1:通过回调函数从Gazebo模拟器中不断地获得机器人状态,包括底盘朝向和云台偏转角。
步骤2:通过回调函数从Gym环境中不断地获得机器人的底盘控制命令。
步骤3:通过速度分解求取机器人底盘坐标系的目标速度。
步骤4:根据目标方向确定机器人云台的朝向,用PID算法控制底盘跟踪云台。
步骤5:使用麦克纳姆轮的速度公式结算各个车轮的速度。
步骤6:发送速度给模拟器
简单控制器的控制逻辑:
步骤1:通过回调函数从Gazebo模拟器中不断地获得机器人状态,包括底盘朝向。
步骤2:通过回调函数从Gym环境中不断地获得机器人的底盘控制命令。
步骤3:通过速度分解求取机器人底盘坐标系的目标速度。
步骤4:发送速度给模拟器。
物理引擎模块本身采用Gazebo的ODE引擎。本发明在其中构建了机器人的简繁两种物理模型以供使用。
需要说明的是上述实施例,并非用来限定本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本发明权利要求所保护的范围。
Claims (3)
1.一种用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统,其特征在于:该系统总共可分为三个部分,分别是物理引擎、模型控制器、比赛模拟器三个模块,该系统使用了Gazebo作为物理引擎,C++程序作为模型控制器,OpenAI Gym接口与强化学习算法和控制器互动。
2.根据权利要求1所述的用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统,其特征在于:比赛模拟器在于模拟比赛的进行,将比赛的进行分解为多个小的步骤(step),互动函数的运行逻辑如下:
步骤1:计算场上奖励和惩罚区的更新信息到机器人,
步骤1.1:每台机器人,判断是否在奖励区内,获得奖励区编号;
步骤1.2:如果奖励/惩罚区没有被占用,获得奖励区类型,更新并应用机器人奖励;
状态,否则删除机器人的奖励状态;
步骤1.3:如果机器人进入的是惩罚区,则除步骤1.2之外,还需记录当前时间点;
步骤1.4:遍历各个奖惩区域,判断是否有机器人进入到惩罚区,如果有,则判断惩罚时间是否结束,如果结束则恢复机器人状态;
步骤2:根据机器人的实际位置,计算机器人的枪口朝向,机器人的正面会指向最近的对手;
步骤2.1:根据获得的机器人位置信息,获得距每台机人最近的且存活的对手机器人的编号;
步骤2.2:每台机器人最近对手机器人的编号,利用位置信息计算应偏转的角度;
步骤3:模拟控制机器人的移动和转向,
步骤3.1:应用对手机器人的动作,对手机器人的动作可以选择随机赋值,也可以选择使用已训练好的模型;
步骤3.2:对己方机器人和对手机器人的动作进行解码;
步骤3.3:将动作信息和偏转角度信息通过ROS发送给控制器模块进行控制;
步骤4:运行物理引擎进行仿真;
步骤5:更新奖励和惩罚区,仅当剩余时间60s或120s时进行;
步骤5.1:根据中心对称的原则随机确定奖惩区位置;
步骤5.2:计算当前的奖励状态编号,总共应存在48种编号;
步骤5.3:刷新机器人的奖惩区状态;
步骤6:应用射击和伤害模型;
步骤6.1:排除已经死亡的机器人;
步骤6.2:排除处于“禁止射击”状态的机器人;
步骤6.3:设定基础命中率85%,如果机器人之间存在墙壁阻挡或其他机器人阻挡,则命中率降低为0%;
步骤6.4:如果不存在阻挡,根据机器人与对手机器人之间的距离确定命中率;
步骤6.5:根据打击对手的角度不同,结合步骤6.4中的命中率,得到造成的伤害;
步骤6.6:根据伤害减少机器人血量。
步骤6.7:记录单次队伍伤害,并将伤害加入总伤害;
步骤7:应用碰撞检测,
步骤7.1:检测每个机器人是否与墙壁碰撞;
步骤7.2:检测每个机器人是否与其他机器人碰撞;
步骤8:判断比赛是否结束,
判断依据包括时间结束、某一方所有机器人血量减少到0,计算奖励。
3.根据权利要求1所述的用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统,其特征在于:模型控制器包括复杂控制器和简单控制器,控制过程分别如下:
复杂控制器的控制逻辑,
步骤1:通过回调函数从Gazebo模拟器中不断地获得机器人状态,包括底盘朝向和云台偏转角。
步骤2:通过回调函数从Gym环境中不断地获得机器人的底盘控制命令。
步骤3:通过速度分解求取机器人底盘坐标系的目标速度。
步骤4:根据目标方向确定机器人云台的朝向,用PID算法控制底盘跟踪云台。
步骤5:使用麦克纳姆轮的速度公式结算各个车轮的速度。
步骤6:发送速度给模拟器
简单控制器的控制逻辑:
步骤1:通过回调函数从Gazebo模拟器中不断地获得机器人状态,包括底盘朝向。
步骤2:通过回调函数从Gym环境中不断地获得机器人的底盘控制命令。
步骤3:通过速度分解求取机器人底盘坐标系的目标速度。
步骤4:发送速度给模拟器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010491376.2A CN111882027A (zh) | 2020-06-02 | 2020-06-02 | 用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010491376.2A CN111882027A (zh) | 2020-06-02 | 2020-06-02 | 用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111882027A true CN111882027A (zh) | 2020-11-03 |
Family
ID=73154436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010491376.2A Pending CN111882027A (zh) | 2020-06-02 | 2020-06-02 | 用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111882027A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485103A (zh) * | 2021-06-29 | 2021-10-08 | 四川大学 | 一种基于深度强化学习的航空器冲突解脱方法 |
CN113535591B (zh) * | 2021-09-13 | 2021-12-14 | 季华实验室 | 机器人程序的验证方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636699A (zh) * | 2018-11-06 | 2019-04-16 | 中国电子科技集团公司第五十二研究所 | 一种基于深度强化学习的无监督智能作战推演系统 |
CN111178545A (zh) * | 2019-12-31 | 2020-05-19 | 中国电子科技集团公司信息科学研究院 | 一种动态强化学习决策训练系统 |
-
2020
- 2020-06-02 CN CN202010491376.2A patent/CN111882027A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636699A (zh) * | 2018-11-06 | 2019-04-16 | 中国电子科技集团公司第五十二研究所 | 一种基于深度强化学习的无监督智能作战推演系统 |
CN111178545A (zh) * | 2019-12-31 | 2020-05-19 | 中国电子科技集团公司信息科学研究院 | 一种动态强化学习决策训练系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485103A (zh) * | 2021-06-29 | 2021-10-08 | 四川大学 | 一种基于深度强化学习的航空器冲突解脱方法 |
CN113535591B (zh) * | 2021-09-13 | 2021-12-14 | 季华实验室 | 机器人程序的验证方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Barrett et al. | Transfer learning for reinforcement learning on a physical robot | |
Floreano et al. | Evolutionary robotics | |
Burkhard et al. | The road to RoboCup 2050 | |
Pagello et al. | Cooperative behaviors in multi-robot systems through implicit communication | |
Bentivegna et al. | Learning tasks from observation and practice | |
CN106964145B (zh) | 一种仿人足球机器人传球控制方法及球队控球方法 | |
CN111882027A (zh) | 用于RoboMaster人工智能挑战赛的机器人强化学习训练环境系统 | |
CN113377099A (zh) | 一种基于深度强化学习的机器人追逃博弈方法 | |
CN116776929A (zh) | 一种基于pf-maddpg的多智能体任务决策方法 | |
Veloso | Entertainment robotics | |
Vadakkepat et al. | Evolution of fuzzy behaviors for multi-robotic system | |
Dylla et al. | Approaching a formal soccer theory from behaviour specifi cations in robotic soccer | |
Bai et al. | Wrighteagle and UT Austin villa: RoboCup 2011 simulation league champions | |
Fahami et al. | A reinforcement learning approach to score goals in RoboCup 3D soccer simulation for nao humanoid robot | |
Haoran et al. | NeuronsGym: A Hybrid Framework and Benchmark for Robot Tasks with Sim2Real Policy Learning | |
D’Andrea | The Cornell RoboCup robot soccer team: 1999–2003 | |
Mukherjee et al. | Reinforcement learning approach to AIBO robot's decision making process in Robosoccer's goal keeper problem | |
Gao et al. | A survey of research on several problems in the RoboCup3D simulation environment | |
Xuanyu et al. | Multi-robot collaboration based on Markov decision process in Robocup3D soccer simulation game | |
Kraetzschmar et al. | The Ulm sparrows: research into sensorimotor integration, agency, learning, and multiagent cooperation | |
Chen et al. | A study on like-attracts-like versus elitist selection criterion for human-like social behavior of memetic mulitagent systems | |
Burkhard et al. | Cases in robotic soccer | |
Hwang et al. | Cooperative reinforcement learning based on zero-sum games | |
Zhong et al. | Development of a Simulation Environment for Robot Soccer Game with Deep Reinforcement Learning and Role Assignment | |
Mukherjee et al. | A Reinforcement Learning Approach with Spline-Fit Object Tracking for AIBO Robot’s High Level Decision Making |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |