CN117301061A - 机器人转身及下蹲稳定站立控制方法、装置及相关设备 - Google Patents
机器人转身及下蹲稳定站立控制方法、装置及相关设备 Download PDFInfo
- Publication number
- CN117301061A CN117301061A CN202311357479.XA CN202311357479A CN117301061A CN 117301061 A CN117301061 A CN 117301061A CN 202311357479 A CN202311357479 A CN 202311357479A CN 117301061 A CN117301061 A CN 117301061A
- Authority
- CN
- China
- Prior art keywords
- robot
- function
- target
- encouraging
- squat
- 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
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000006870 function Effects 0.000 claims abstract description 125
- 238000012549 training Methods 0.000 claims abstract description 55
- 230000002787 reinforcement Effects 0.000 claims abstract description 44
- 230000008447 perception Effects 0.000 claims abstract description 39
- 210000004197 pelvis Anatomy 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000003860 storage Methods 0.000 claims abstract description 6
- 238000013459 approach Methods 0.000 claims abstract description 4
- 230000009471 action Effects 0.000 claims description 56
- 238000011156 evaluation Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 7
- 230000005484 gravity Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004088 simulation Methods 0.000 abstract description 27
- 210000001503 joint Anatomy 0.000 description 19
- 238000010586 diagram Methods 0.000 description 8
- 210000002683 foot Anatomy 0.000 description 8
- 230000000452 restraining effect Effects 0.000 description 8
- 210000003423 ankle Anatomy 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000000670 limiting effect Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 210000002414 leg Anatomy 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 210000000544 articulatio talocruralis Anatomy 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000004394 hip joint Anatomy 0.000 description 2
- 210000000629 knee joint Anatomy 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009514 concussion Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 210000001624 hip Anatomy 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000012466 permeate Substances 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Classifications
-
- 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/1679—Programme controls characterised by the tasks executed
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种机器人转身及下蹲稳定站立控制方法、装置、设备及存储介质,获取目标人形机器人的本体感知信息,包括执行转身任务时的目标转动角度,执行下蹲任务时的目标骨盆高度;将本体感知信息输入给策略网络得到输出的动作,策略网络在仿真器中采用强化学习训练,奖励函数包括鼓励机器人下蹲到指定骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近期望下蹲速度的第二函数、鼓励机器人转身到指定角度的第三函数;通过控制器将输出动作转换为关节扭矩以控制机器人动作。通过仿真训练避免了对机器人硬件设备的损耗。采用强化学习训练,能够得到性能更优的策略网络,实现机器人转身及下蹲过程的稳定站立控制。
Description
技术领域
本申请涉及机器人控制技术领域,更具体的说,是涉及一种机器人转身及下蹲稳定站立控制方法、装置、设备及存储介质。
背景技术
随着机器人技术的应用和发展,机器人逐渐从工业领域向服务、娱乐、教育等领域渗透,当前比较热门的研究方向如人形机器人。人形机器人通过程序控制,可以执行一些设定的动作。
以往的对人形机器人的动作控制通常采用一些比较传统的算法,如PID算法等,在测试阶段需要在真机上验证并调优算法,这个过程不可避免的会由于算法的缺陷给机器人带来不利影响,严重时甚至给机器人硬件带来不可逆的损伤,极大浪费了硬件设备资源。且,传统算法的控制效果也不佳,尤其是在机器人转身和下蹲的过程,无法很好的保持机器人的稳定站立。
发明内容
鉴于上述问题,提出了本申请以便提供一种机器人转身及下蹲稳定站立控制方法、装置、设备及存储介质,以实现对人形机器人转身及下蹲过程站立稳定性的控制。具体方案如下:
第一方面,提供了一种机器人转身及下蹲稳定站立控制方法,包括:
获取目标人形机器人的本体感知信息,所述本体感知信息包括在执行转身任务时对应的目标转动角度,以及在执行下蹲任务时对应的目标骨盆高度;
将所述本体感知信息输入给在仿真器下训练后的策略网络,得到所述策略网络输出的n维动作,n等于所述目标人形机器人的关节自由度数量,所述策略网络在所述仿真器中训练时采用强化学习训练方法,策略网络的输入包括所述本体感知信息,奖励函数包括:鼓励机器人下蹲到指定的骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身到指定的转动角度的第三函数;
通过比例-微分PD控制器将所述n维动作分别转换为关节扭矩,并按照所述关节扭矩驱动对应关节电机,以执行所述转身任务和所述下蹲任务。
优选地,所述策略网络在所述仿真器中的训练过程,包括:
将所述目标人形机器人的通用机器人描述格式urdf文件导入仿真器;
配置强化学习的策略网络和评估网络,设置所述策略网络的输入包含所述本体感知信息,设置所述评估网络的输入包括所述本体感知信息及特权信息,所述特权信息为不同于所述本体感知信息的其它可观测信息;
设置强化学习的奖励函数包括:所述第一函数、所述第二函数和所述第三函数。
优选地,所述特权信息包括地形高度信息。
优选地,所述本体感知信息包括:
机身在xyz三个方向上的线速度、机身在xyz三个方向上的角速度、三维重力向量、机身在xyz三个方向上的线速度命令、目标人形机器人的各个关节当前位置与默认关节位置的差值、目标人形机器人的各个关节的速度、上一时间步输出的各个关节的预测位置。
优选地,所述策略网络输出的n维动作包括:n个关节各自相对于默认关节位置的相对位置变化。
优选地,所述强化学习的奖励函数还包括以下任意一项或多项奖励函数,由所有的奖励函数通过加权求和作为总奖励函数:
第四函数,用于鼓励机器人转身过程双腿保持给定的站立姿态;
第五函数,用于鼓励机器人双脚保持相同的姿态;
第六函数,用于鼓励机器人在x方向的骨盆位置贴近于双脚位置;
第七函数,用于鼓励机器人贴近设定的x、y方向的机身线速度命令;
第八函数,用于鼓励机器人贴近设定的机身角速度命令;
第九函数,用于鼓励机器人以更小的动作差异选择下一时间步的动作;
第十函数,用于鼓励机器人保持稳定的关节速度;
第十一函数,用于鼓励机器人在完成转身和下蹲任务后稳定静止;
第十二函数,用于鼓励机器人在设定关节极限位置以内运动;
第十三函数,用于鼓励机器人以更小的关节扭矩执行动作;
第十四函数,用于鼓励机器人双脚不脱离地面;
第十五函数,用于鼓励机器人减小机身z轴线速度;
第十六函数,用于鼓励机器人稳定站立到回合结束。
优选地,在所述仿真器中仿真训练过程,采用域随机化方法将设定类型的动力学参数随机化处理;
和/或,
对所述目标人形机器人随机位置施加推力,对所述目标人形机器人的躯干位置施加随机推力;
和/或,
对所述本体感知信息添加噪声。
优选地,所述设定类型的动力学参数包括以下任意一项或多项:地面摩擦系数、关节摩擦系数、目标人形机器人躯干质量、躯干质心位置、电机强度。
第二方面,提供了一种机器人转身及下蹲稳定站立控制装置,包括:
本体感知信息获取单元,用于获取目标人形机器人的本体感知信息,所述本体感知信息包括在执行转身任务时对应的目标转动角度,以及在执行下蹲任务时对应的目标骨盆高度;
策略网络计算单元,用于将所述本体感知信息输入给在仿真器下训练后的策略网络,得到所述策略网络输出的n维动作,n等于所述目标人形机器人的关节自由度数量,所述策略网络在所述仿真器中训练时采用强化学习训练方法,策略网络的输入包括所述本体感知信息,奖励函数包括:鼓励机器人下蹲到所述目标骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身到所述目标转动角度的第三函数;
动作执行单元,用于通过比例-微分PD控制器将所述n维动作分别转换为关节扭矩,并按照所述关节扭矩驱动对应关节电机,以执行所述转身任务和所述下蹲任务。
第三方面,提供了一种机器人转身及下蹲稳定站立控制设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现前述的机器人转身及下蹲稳定站立控制方法的各个步骤。
第四方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现前述的机器人转身及下蹲稳定站立控制方法的各个步骤。
借由上述技术方案,本申请采用强化学习训练方法在仿真器中对策略网络进行训练,网络的输入包括目标人形机器人的本体感知信息,如在执行转身任务时对应的指定转动角度,在执行下蹲任务时对应的指定骨盆高度等,进一步强化学习的奖励函数可以包括鼓励机器人下蹲至指定骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身至指定转动角度的第三函数。通过设置上述奖励函数,可以在仿真器中反馈训练策略网络,使得策略网络能够控制机器人很好的完成转身及下蹲任务,并保持任务过程的稳定站立。在完成对策略网络的仿真训练后可以将其部署到真实环境中,进而获取目标人形机器人的本体感知信息,将本体感知信息输入给仿真训练后的策略网络,从而得到策略网络输出的n维动作,通过比例-微分PD控制器将n维动作分别转换为关节扭矩,并按照关节扭矩驱动对应关节电机,以执行转身任务和下蹲任务。本实施例通过采用强化学习在仿真器中对策略网络进行训练,并以机器人的本体感知信息作为策略网络的输入,以设定的奖励函数对策略网络进行强化学习训练,仿真训练好的策略网络可以迁移部署到真实环境下,无需在真实环境下对机器人进行算法优化测试,避免了对机器人硬件设备的损耗。同时,本申请采用强化学习的训练方式,可以从仿真环境中试错并获得奖励,将奖励视作反馈从而进行强化学习,能够训练得到性能更优的策略网络,从而实现机器人转身及下蹲过程的稳定站立控制。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的一种机器人转身及下蹲稳定站立控制方法流程示意图;
图2示例了一种机器人机身坐标系示意图;
图3示例了一种基于PPO强化学习算法的仿真训练过程示意图;
图4为本申请实施例提供的一种机器人转身及下蹲稳定站立控制装置结构示意图;
图5为本申请实施例提供的一种机器人转身及下蹲稳定站立控制设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种人形机器人转身及下蹲过程稳定站立的控制方案,能够适用于各种仿人形机器人执行转身及下蹲任务的过程控制,保证机器人在转身及下蹲过程躯干能够稳定站立,避免出现抖动、倾斜甚至摔倒的情况。
本申请方案可以基于人形机器人的控制设备实现,该控制设备可以是设置于机器人内部的控制器,也可以是与人形机器人通信的其它控制终端,如手持控制终端、服务器等。
本申请采用了一种仿真训练的方式对控制机器人的策略网络进行预训练。在仿真器中采用强化学习方法完成对策略网络的训练。进而将训练后的策略网络部署到现实环境中,用于对目标人形机器人进行动作控制,也即完成对机器人转身及下蹲过程的稳定站立控制。
在强化学习过程中,状态空间S是所有状态的集合,动作空间A是所有动作范围的集合。在每个时间步t,环境状态为St,机器人选择一种动作At来改变环境状态,环境给出下一个状态St+1以及奖励Rt+1和折扣因子γt+1,其中折扣因子用于对奖励进行折扣计算,γ∈[0,1]。机器人根据反馈再选择下一步的动作At+1。每个状态下动作的概率分布为策略π,机器人通过策略π选择动作。π(at|st)表示在状态st时选择动作at的概率,转移函数P(st+1|st,at)表示在状态st选择动作at的条件下获得下一个状态st+1的概率,r(st,at)表示在状态st时选择动作a的奖励。
本实施例中可以采用多种不同类型的强化学习方法,示例如基于PPO(ProximalPolicy Optimization)的强化学习方法,等。
强化学习方法的原理为:
在训练阶段中,算法目标是最大化策略获得的奖励,即:
其中,θ是网络参数,πθ表示具有网络参数的策略,表示对策略获得的奖励求期望。
以PPO算法为例,优势函数可以定义为动作a相对于平均动作的优势,即:
其中,V是评估网络输出的价值,表示在t+1时刻策略所获得的状态价值。
策略梯度更新法通过不断迭代求解优化目标的梯度,从而得到网络的最优参数θ:
此外,由于策略梯度更新法每次更新参数都需要在线重新采样,因此具有一个不可避免的缺点,即更新速度慢。大批量采样利用和更新后,数据将被丢弃。下一次更新再重新采样,效率低的同时数据利用率也低。因此,PPO算法中还可以引入重要性采样技术,使用另一个分布π2来逼近原分布π1,从而重复利用采样经验,提高更新效率。则策略梯度表示为:
引入的分布必须与原分布近似,因此需要增加一个隐式约束:
基于上述介绍的强化学习算法,接下来,结合图1所述,对本申请的机器人转身及下蹲稳定站立控制方法进行介绍,可以包括如下步骤:
步骤S100、获取目标人形机器人的本体感知信息,所述本体感知信息包括在执行转身任务时对应的目标转动角度,以及在执行下蹲任务时对应的目标骨盆高度。
具体地,可以通过目标人形机器人上的各类型传感器,获取本体感知信息,该本体感知信息可以是部分可观测信息。为了实现对目标人形机器人转身及下蹲任务的控制,可以设置本体感知信息包括机器人在执行转身任务时指定的目标转动角度,以及,机器人在执行下蹲任务时指定的目标骨盆高度。
可选的,本体感知信息除了包括上述两种信息之外,还可以包括其余可观测信息,包括但不限于以下信息:
(1)机身在xyz三个方向上的线速度;
(2)机身在xyz三个方向上的角速度;
(3)三维重力向量、机身在xyz三个方向上的线速度命令;
(4)目标人形机器人的各个关节当前位置与默认关节位置的差值;
(5)目标人形机器人的各个关节的速度;
(6)上一时间步输出的各个关节的预测位置;
(7)二维时钟信息,等。
结合图2,其示例了一种机器人机身坐标系示意图。机身坐标系遵从右手盯着,以竖直向上为z轴,机身头部朝向为x轴。
步骤S110、将所述本体感知信息输入给在仿真器下训练后的策略网络,得到所述策略网络输出的动作,所述策略网络在仿真器中采用强化学习方法训练得到,其输入包括本体感知信息,奖励函数包括设定的函数。
具体地,如前所述,本申请可以预先采用强化学习方法在仿真器中对策略网络进行训练,策略网络的输入包括机器人的本体感知信息,如上一步骤介绍。进一步,强化学习的奖励函数可以包括多条,为了完成目标人形机器人稳定转身及下蹲任务,可以对其目标任务与稳定站立通过设定奖励激励来实现优化,奖励函数可以包括:
第一函数rh:用于鼓励机器人下蹲到指定的骨盆高度:
其中,hcur表示机器人当前的骨盆高度,href表示期望机器人下蹲到达的骨盆高度。
第二函数rpv:用于鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度:
其中,pvcur表示当前骨盆z轴方向运动速度,pvref表示希望机器人达到的下蹲速度,当骨盆高度与期望高度相差超过阈值hthr时执行奖励,其中hthr值可以由用户设定,示例如0.005m。
第三函数rtorso:用于鼓励机器人转身到指定的转动角度:
其中,jtorso表示机器人当前躯干的旋转角度,jref表示期望机器人转到的角度。
上述示例的各奖励函数可以通过加权相加得到总的奖励函数,并按照总的奖励函数进行强化学习训练。
策略网络的输出动作可以包括n维动作,n等于目标人形机器人的关节自由度数量。本实施例中提供一种人形机器人的可选结构,其可以包括19个关节自由度,即:双腿各自的髋部三个、膝盖一个、脚踝一个、腰部一个、双臂各自的肩膀三个、肘部一个,共19个关节。当然,在此基础上还可以增加或减少机器人关节的数量。
步骤S120、通过比例-微分PD控制器将策略网络输出的动作分别转换为关节扭矩,并按照关节扭矩驱动对应关节电机,以执行转身任务和下蹲任务。
一种可选的方案中,策略网络输出的n维动作具体可以是,n个关节各自相对于默认关节位置的相对位置变化,针对每一维度的输出动作,该输出动作与默认关节位置的和即为目标人形机器人的目标关节位置。
可以通过PD控制器将目标关节位置转换为关节扭矩τ:
τ=KP×(postarget-poscurrent)-KD×velcurrent
其中,KP为比例调节系数,用于反应期望目标与实际目标的差值在算法输出中的比重。KD表示微分调节系数,抵消KP带来的运动震荡,postarget表示目标关节位置,poscurent表示当前关节位置,velcurrent表示当前关节速度。
本申请实施例提供的方法,采用强化学习训练方法在仿真器中对策略网络进行训练,网络的输入包括目标人形机器人的本体感知信息,如在执行转身任务时对应的指定转动角度,在执行下蹲任务时对应的指定骨盆高度等,进一步强化学习的奖励函数可以包括鼓励机器人下蹲至指定骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身至指定转动角度的第三函数。通过设置上述奖励函数,可以在仿真器中反馈训练策略网络,使得策略网络能够控制机器人很好的完成转身及下蹲任务,并保持任务过程的稳定站立。在完成对策略网络的仿真训练后可以将其部署到真实环境中,进而获取目标人形机器人的本体感知信息,将本体感知信息输入给仿真训练后的策略网络,从而得到策略网络输出的n维动作,通过比例-微分PD控制器将n维动作分别转换为关节扭矩,并按照关节扭矩驱动对应关节电机,以执行转身任务和下蹲任务。本实施例通过采用强化学习在仿真器中对策略网络进行训练,并以机器人的本体感知信息作为策略网络的输入,以设定的奖励函数对策略网络进行强化学习训练,仿真训练好的策略网络可以迁移部署到真实环境下,无需在真实环境下对机器人进行算法优化测试,避免了对机器人硬件设备的损耗。同时,本申请采用强化学习的训练方式,可以从仿真环境中试错并获得奖励,将奖励视作反馈从而进行强化学习,能够训练得到性能更优的策略网络,从而实现机器人转身及下蹲过程的稳定站立控制。
如图3,其示例了一种基于PPO强化学习算法的仿真训练过程示意图。
结合图3,对策略网络在仿真器中的训练过程进行介绍:
首先,将目标人形机器人的通用机器人描述格式urdf文件导入仿真器,以构建仿真环境。
进一步,在采用PPO强化学习算法时,需要配置策略网络和评估网络,并设置策略网络和评估网络各自的输入。
其中,策略网络和评估网络的网络结构可以均为包含多个隐藏层的多层感知机MLP结构,以包含三个隐藏层为例,每层的节点数目可以分别为512,256,128。策略网络和评估网络的网络结构可以相同但不共享参数。
本实施例中,可以将策略网络的输入设置为本体感知信息,评估网络的输入在策略网络的输入的基础上,还可以额外增加仅在仿真训练中使用的特权信息,也即策略网络的输入仅为部分可观测信息,评估网络的输入相对于策略网络输入的可观测信息更多。
可选的,当训练机器人转身时,输入的指定转动角度可以为指定角度区间内的随机值,示例如[-π,π]中的随机值。当训练机器人下蹲时,输入的指定骨盆高度可以为指定高度区间内的随机值,示例如[-0.65,1.06]中的随机取值。
一种可选的示例中,特权信息可以包括地形高度信息。通过将评估网络的输入额外增加该地形高度信息,可以使得评估网络基于更加全面的观测信息对策略网络进行奖励激励,从而使得策略网络可以适用于真实环境中不同高度的地形场景,也即策略网络的鲁棒性更好。
在仿真中训练后,仅需将策略网络部署到真实环境的真机上,因此真机上无需任何特权信息,降低了真机采集可观测信息的难度。以特权信息为地形高度信息为例,真机上不需要设置用于进行地形高度信息采集的硬件设备,降低了设备成本和机器复杂度,并且仍能够适用于真实环境下不同高度的地形场景。
进一步地,设置强化学习的奖励函数至少包括前述实施例介绍的第一函数、第二函数和第三函数。
在本申请的一些实施例中,为了实现机器人在执行转身和下蹲任务过程更好的稳定站立控制,进一步还可以设置其余的奖励函数,示例如下:
第四函数rstill,用于鼓励机器人转身过程双腿保持给定的站立姿态。在机器人转身过程,仅使用腿部关节部分,约束转身时下半身一直保持站立。
其中,pos表示所有腿部关节位置,示例如包括髋关节、膝关节、踝关节等,posdefault表示默认站立的腿部关节位置。
第五函数rankle,用于鼓励机器人双脚保持相同的姿态。
rankle=-|anklel-ankler|
其中,anklel与ankler分别表示左右脚踝的关节位置。
第六函数rstab,用于对机器人站立稳定性进行约束,通过计算x方向的骨盆位置与双脚位置的差,避免机器人前倾或后倾,也即鼓励机器人在x方向的骨盆位置贴近于双脚位置。
其中,pospelvis表示骨盆的x方向位置,poslfoot和posrfoot分别表示双脚的x方向位置。
第七函数rv,用于对机身线速度跟踪,使机器贴近给定的线速度命令,也即鼓励机器人贴近设定的x、y方向的机身线速度命令。
其中,表示机身坐标系下的机身x、y方向的线速度,/>表示机身坐标系下的x、y方向的机身线速度命令。
第八函数rω,用于对机身角速度跟踪,使机器人贴近给定的角速度命令,也即鼓励机器人贴近设定的机身角速度命令。
其中ωbase表示机身坐标系下的机身角速度,ωcom表示机身坐标系下的机身角速度命令。
第九函数ra,用于对机器人的动作变化约束,防止动作变化过快,也即鼓励机器人以更小的动作差异选择下一时间步的动作。
ra=-||an-al||2
其中,an表示当前时间步选择的动作,al表示上一时间步选择的动作。
第十函数racc,用于对机器人的关节加速度进行约束,防止机器人完成任务时动作剧烈突变,保持稳定的关节速度,也即鼓励机器人保持稳定的关节速度。
其中vn表示当前关节速度,vl表示上一时间步的关节速度,dt表示时间间隔。
第十一函数rv,用于对机器人关节速度进行约束,鼓励机器人在完成指定任务后稳定静止,也即鼓励机器人在完成转身和下蹲任务后稳定静止。
其中,vthr表示速度阈值,可以取一个较小值,示例如0.1或其它数值。
第十二函数rlim,用于对机器人关节极限位置进行约束,防止关节运动到极限位置对硬件造成损伤,也即鼓励机器人在设定关节极限位置以内运动。
其中,表示关节最低极限位置,/>表示关节最高极限位置。
第十三函数rtorque,用于对机器人扭矩进行约束,防止扭矩过大增加能耗,也即鼓励机器人以更小的关节扭矩执行动作。
rtorque=-||τ||2
第十四函数rno_fly,用于约束机器人双脚不脱离地面,以地面接触力判断是否踩在地面上,也即鼓励机器人双脚不脱离地面。
其中,和/>分别表示左脚和右脚的地面接触力,Fthr表示接触力阈值,可以取一个较小值,示例如0.1或其它数值。
第十五函数rz,用于惩罚机身坐标系下z轴线速度,防止机器人上下抖动,也即鼓励机器人减小机身z轴线速度。
其中表示机身坐标系下的机身z轴线速度,机身坐标系遵从右手定则,以竖直向上为z轴,机身头部朝向为x轴。
第十六函数,用于鼓励机器人稳定站立到回合结束,若稳定站立到回合结束,则给于正奖励,否则表示机器人中途摔倒给负惩罚。
其中,reset_buf表示是否需要重置状态,只有当机器人摔倒或回合长度大于设定值时为1,episode_length表示回合时长,max_length表示设定的回合时长阈值,取值可以等于或略微小于一个完整回合的时长。
总奖励可以定义为上述所有奖励的加权和,如下式所示:
r=w1·rv+…+w16·rtermin
其中,权重系数w1,…,w16是超参数,可以根据实际任务进行调整。
通过多项奖励加权求和,利用总奖励进行强化学习训练,可以实现目标人形机器人在执行转身和下蹲任务时的稳定站立。
在本申请的一些实施例中,考虑到目标人形机器人的urdf的建模可能存在误差,以及通常难以对真实环境物理特性实现精准建模,为了将目标人形机器人稳定转身及下蹲功能有效地从仿真环境迁移到现实世界中,本实施例中还可以在仿真训练过程主动添加干扰,以缩小仿真到现实世界的建模误差。
一种可选的添加干扰的方式,可以采用域随机化方法将设定类型的动力学参数随机化处理,以将仿真数据随机化覆盖真实数据分布。
本实施例中随机化的动力学参数包括但不限于:地面摩擦系数、关节摩擦系数、目标人形机器人躯干质量、躯干质心位置、电机强度等。
另一种可选的添加干扰的方式,可以在仿真训练过程对目标人形机器人随机位置施加推力,对目标人形机器人的躯干位置施加随机推力,以模拟现实世界目标人形机器人可能受到的随机外部扰动。
又一种可选的添加干扰的方式,可以对策略网络和评估网络输入的本体感知信息添加噪声,包括但不限于:对机身线速度、机身角速度、重力向量、线速度指令、关节位置、关节速度、上一时刻预测的关节位置等添加噪声。
通过上述处理,可以提高目标人形机器人的鲁棒性。
本申请的仿真训练过程,可以基于Gold 5118CPU@2.30GHz,NVIDIATesla V100 PCIe 32GB进行。仿真训练使用PPO算法在Isaac Gym仿真器中进行。本申请可以采用多个(示例如4096个)仿真机器人并行训练,实验地形设置为平地,每个回合设置1000时间步,训练共2000个回合,学习率设置为1e-3。其他主要实验配置参数示例性如下:
表1
参数名称 | 参数值 |
折扣因子γ | 0.99 |
指数加权平均λ | 0.95 |
裁剪参数 | 0.2 |
价值损失系数 | 1.0 |
策略熵损失系数 | 0.01 |
期望KL散度 | 0.01 |
梯度下降mini batch | 4 |
真机部署时仅部署策略网络Actor,目标人形机器人仅使用本体感知信息执行动作。由于仿真训练过程中加入了域随机化与观测噪声,因此从仿真移植到现实世界中仍然能保持良好的性能,能够实现转身以及下蹲过程中的稳定站立。
下面对本申请实施例提供的机器人转身及下蹲稳定站立控制装置进行描述,下文描述的机器人转身及下蹲稳定站立控制装置与上文描述的机器人转身及下蹲稳定站立控制方法可相互对应参照。
参见图4,图4为本申请实施例公开的一种机器人转身及下蹲稳定站立控制装置结构示意图。
如图4所示,该装置可以包括:
本体感知信息获取单元11,用于获取目标人形机器人的本体感知信息,所述本体感知信息包括在执行转身任务时对应的目标转动角度,以及在执行下蹲任务时对应的目标骨盆高度;
策略网络计算单元12,用于将所述本体感知信息输入给在仿真器下训练后的策略网络,得到所述策略网络输出的n维动作,n等于所述目标人形机器人的关节自由度数量,所述策略网络在所述仿真器中训练时采用强化学习训练方法,策略网络的输入包括所述本体感知信息,奖励函数包括:鼓励机器人下蹲到所述目标骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身到所述目标转动角度的第三函数;
动作执行单元13,用于通过比例-微分PD控制器将所述n维动作分别转换为关节扭矩,并按照所述关节扭矩驱动对应关节电机,以执行所述转身任务和所述下蹲任务。
可选的,本申请的装置还可以包括:
仿真训练单元,用于在仿真器中对所述策略网络进行强化学习训练,该过程可以包括:
将所述目标人形机器人的通用机器人描述格式urdf文件导入仿真器;
配置强化学习的策略网络和评估网络,设置所述策略网络的输入包含所述本体感知信息,设置所述评估网络的输入包括所述本体感知信息及特权信息,所述特权信息为不同于所述本体感知信息的其它可观测信息;
设置强化学习的奖励函数包括:所述第一函数、所述第二函数和所述第三函数。
可选的,仿真训练单元在仿真器中对所述策略网络进行强化学习训练的过程,还包括:
采用域随机化方法将设定类型的动力学参数随机化处理;
和/或,
对所述目标人形机器人随机位置施加推力,对所述目标人形机器人的躯干位置施加随机推力;
和/或,
对所述本体感知信息添加噪声。
本申请实施例提供的机器人转身及下蹲稳定站立控制装置可应用于机器人转身及下蹲稳定站立控制设备。可选的,图5示出了机器人转身及下蹲稳定站立控制设备的硬件结构框图,参照图5,设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
获取目标人形机器人的本体感知信息,所述本体感知信息包括在执行转身任务时对应的目标转动角度,以及在执行下蹲任务时对应的目标骨盆高度;
将所述本体感知信息输入给在仿真器下训练后的策略网络,得到所述策略网络输出的n维动作,n等于所述目标人形机器人的关节自由度数量,所述策略网络在所述仿真器中训练时采用强化学习训练方法,策略网络的输入包括所述本体感知信息,奖励函数包括:鼓励机器人下蹲到指定的骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身到指定的转动角度的第三函数;
通过比例-微分PD控制器将所述n维动作分别转换为关节扭矩,并按照所述关节扭矩驱动对应关节电机,以执行所述转身任务和所述下蹲任务。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
获取目标人形机器人的本体感知信息,所述本体感知信息包括在执行转身任务时对应的目标转动角度,以及在执行下蹲任务时对应的目标骨盆高度;
将所述本体感知信息输入给在仿真器下训练后的策略网络,得到所述策略网络输出的n维动作,n等于所述目标人形机器人的关节自由度数量,所述策略网络在所述仿真器中训练时采用强化学习训练方法,策略网络的输入包括所述本体感知信息,奖励函数包括:鼓励机器人下蹲到指定的骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身到指定的转动角度的第三函数;
通过比例-微分PD控制器将所述n维动作分别转换为关节扭矩,并按照所述关节扭矩驱动对应关节电机,以执行所述转身任务和所述下蹲任务。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种机器人转身及下蹲稳定站立控制方法,其特征在于,包括:
获取目标人形机器人的本体感知信息,所述本体感知信息包括在执行转身任务时对应的目标转动角度,以及在执行下蹲任务时对应的目标骨盆高度;
将所述本体感知信息输入给在仿真器下训练后的策略网络,得到所述策略网络输出的n维动作,n等于所述目标人形机器人的关节自由度数量,所述策略网络在所述仿真器中训练时采用强化学习训练方法,策略网络的输入包括所述本体感知信息,奖励函数包括:鼓励机器人下蹲到指定的骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身到指定的转动角度的第三函数;
通过比例-微分PD控制器将所述n维动作分别转换为关节扭矩,并按照所述关节扭矩驱动对应关节电机,以执行所述转身任务和所述下蹲任务。
2.根据权利要求1所述的方法,其特征在于,所述策略网络在所述仿真器中的训练过程,包括:
将所述目标人形机器人的通用机器人描述格式urdf文件导入仿真器;
配置强化学习的策略网络和评估网络,设置所述策略网络的输入包含所述本体感知信息,设置所述评估网络的输入包括所述本体感知信息及特权信息,所述特权信息为不同于所述本体感知信息的其它可观测信息;
设置强化学习的奖励函数包括:所述第一函数、所述第二函数和所述第三函数。
3.根据权利要求2所述的方法,其特征在于,所述特权信息包括地形高度信息。
4.根据权利要求1所述的方法,其特征在于,所述本体感知信息包括:
机身在xyz三个方向上的线速度、机身在xyz三个方向上的角速度、三维重力向量、机身在xyz三个方向上的线速度命令、目标人形机器人的各个关节当前位置与默认关节位置的差值、目标人形机器人的各个关节的速度、上一时间步输出的各个关节的预测位置。
5.根据权利要求1所述的方法,其特征在于,所述策略网络输出的n维动作包括:n个关节各自相对于默认关节位置的相对位置变化。
6.根据权利要求2所述的方法,其特征在于,所述强化学习的奖励函数还包括以下任意一项或多项奖励函数,由所有的奖励函数通过加权求和作为总奖励函数:
第四函数,用于鼓励机器人转身过程双腿保持给定的站立姿态;
第五函数,用于鼓励机器人双脚保持相同的姿态;
第六函数,用于鼓励机器人在x方向的骨盆位置贴近于双脚位置;
第七函数,用于鼓励机器人贴近设定的x、y方向的机身线速度命令;
第八函数,用于鼓励机器人贴近设定的机身角速度命令;
第九函数,用于鼓励机器人以更小的动作差异选择下一时间步的动作;
第十函数,用于鼓励机器人保持稳定的关节速度;
第十一函数,用于鼓励机器人在完成转身和下蹲任务后稳定静止;
第十二函数,用于鼓励机器人在设定关节极限位置以内运动;
第十三函数,用于鼓励机器人以更小的关节扭矩执行动作;
第十四函数,用于鼓励机器人双脚不脱离地面;
第十五函数,用于鼓励机器人减小机身z轴线速度;
第十六函数,用于鼓励机器人稳定站立到回合结束。
7.根据权利要求2所述的方法,其特征在于,在所述仿真器中仿真训练过程,采用域随机化方法将设定类型的动力学参数随机化处理;
和/或,
对所述目标人形机器人随机位置施加推力,对所述目标人形机器人的躯干位置施加随机推力;
和/或,
对所述本体感知信息添加噪声。
8.根据权利要求7所述的方法,其特征在于,所述设定类型的动力学参数包括以下任意一项或多项:地面摩擦系数、关节摩擦系数、目标人形机器人躯干质量、躯干质心位置、电机强度。
9.一种机器人转身及下蹲稳定站立控制装置,其特征在于,包括:
本体感知信息获取单元,用于获取目标人形机器人的本体感知信息,所述本体感知信息包括在执行转身任务时对应的目标转动角度,以及在执行下蹲任务时对应的目标骨盆高度;
策略网络计算单元,用于将所述本体感知信息输入给在仿真器下训练后的策略网络,得到所述策略网络输出的n维动作,n等于所述目标人形机器人的关节自由度数量,所述策略网络在所述仿真器中训练时采用强化学习训练方法,策略网络的输入包括所述本体感知信息,奖励函数包括:鼓励机器人下蹲到所述目标骨盆高度的第一函数、鼓励机器人下蹲过程骨盆在z轴方向的运动速度贴近设定期望下蹲速度的第二函数,以及鼓励机器人转身到所述目标转动角度的第三函数;
动作执行单元,用于通过比例-微分PD控制器将所述n维动作分别转换为关节扭矩,并按照所述关节扭矩驱动对应关节电机,以执行所述转身任务和所述下蹲任务。
10.一种机器人转身及下蹲稳定站立控制设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~8中任一项所述的机器人转身及下蹲稳定站立控制方法的各个步骤。
11.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~8中任一项所述的机器人转身及下蹲稳定站立控制方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311357479.XA CN117301061A (zh) | 2023-10-19 | 2023-10-19 | 机器人转身及下蹲稳定站立控制方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311357479.XA CN117301061A (zh) | 2023-10-19 | 2023-10-19 | 机器人转身及下蹲稳定站立控制方法、装置及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117301061A true CN117301061A (zh) | 2023-12-29 |
Family
ID=89237154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311357479.XA Pending CN117301061A (zh) | 2023-10-19 | 2023-10-19 | 机器人转身及下蹲稳定站立控制方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117301061A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117572877A (zh) * | 2024-01-16 | 2024-02-20 | 科大讯飞股份有限公司 | 一种双足机器人步态控制方法、装置、存储介质及设备 |
CN117697763A (zh) * | 2024-01-23 | 2024-03-15 | 北京智源人工智能研究院 | 一种基于大模型的双臂操作任务学习方法和系统 |
-
2023
- 2023-10-19 CN CN202311357479.XA patent/CN117301061A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117572877A (zh) * | 2024-01-16 | 2024-02-20 | 科大讯飞股份有限公司 | 一种双足机器人步态控制方法、装置、存储介质及设备 |
CN117572877B (zh) * | 2024-01-16 | 2024-05-31 | 科大讯飞股份有限公司 | 一种双足机器人步态控制方法、装置、存储介质及设备 |
CN117697763A (zh) * | 2024-01-23 | 2024-03-15 | 北京智源人工智能研究院 | 一种基于大模型的双臂操作任务学习方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Siekmann et al. | Sim-to-real learning of all common bipedal gaits via periodic reward composition | |
CN117301061A (zh) | 机器人转身及下蹲稳定站立控制方法、装置及相关设备 | |
Vollenweider et al. | Advanced skills through multiple adversarial motion priors in reinforcement learning | |
CN109483530B (zh) | 一种基于深度强化学习的足式机器人运动控制方法及系统 | |
Mombaur et al. | From human to humanoid locomotion—an inverse optimal control approach | |
CN110764416A (zh) | 基于深度q网络的仿人机器人步态优化控制方法 | |
CN113821045B (zh) | 一种腿足机器人强化学习动作生成系统 | |
Kim et al. | Computationally-robust and efficient prioritized whole-body controller with contact constraints | |
Yang et al. | Learning whole-body motor skills for humanoids | |
JP2010527086A (ja) | キャラクタシミュレーション方法およびシステム | |
Ramos et al. | Dancing humanoid robots: Systematic use of osid to compute dynamically consistent movements following a motion capture pattern | |
CN108009680A (zh) | 基于多目标粒子群算法的仿人机器人步态规划方法 | |
CN117215204B (zh) | 基于强化学习的机器人步态训练方法及系统 | |
Ma et al. | Learning arm-assisted fall damage reduction and recovery for legged mobile manipulators | |
Rodriguez et al. | Combining simulations and real-robot experiments for Bayesian optimization of bipedal gait stabilization | |
CN116985110A (zh) | 控制足式机器人的方法和装置及足式机器人 | |
CN118331322B (zh) | 一种微重力环境下跳跃式探测器的路径规划方法 | |
Wang et al. | Learning of long-horizon sparse-reward robotic manipulator tasks with base controllers | |
CN117555339B (zh) | 策略网络训练方法及人形双足机器人步态控制方法 | |
Mastrogeorgiou et al. | Slope handling for quadruped robots using deep reinforcement learning and toe trajectory planning | |
Mombaur et al. | Self-stabilizing somersaults | |
Kuo et al. | Development of humanoid robot simulator for gait learning by using particle swarm optimization | |
WO2024021767A1 (zh) | 控制足式机器人的方法、装置、设备、足式机器人、计算机可读存储介质和计算机程序产品 | |
Mombaur et al. | An inverse optimal control approach to human motion modeling | |
Lakatos et al. | Targeted jumping of compliantly actuated hoppers based on discrete planning and switching control |
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 |