机器人运动控制方法、系统及电子设备与流程

未命名 08-26 阅读:99 评论:0


1.本技术的实施例涉及机器人技术领域,特别涉及一种机器人运动控制方法、系统及电子设备。


背景技术:

2.多足型机器人具有灵活性高、适应性强的优点,是机器人研究和发展的重要分支。但由于现实世界地形环境的复杂性和多样性,如何训练机器人的多足之间相互协调,并在复杂地形下稳定行走一直是工作人员研究的难点。在对机器人进行训练时有的依赖于本体感知,但本体感知很难实现如楼梯等复杂地形上的稳定行走。因此还需要加上外部感知技术,借助雷达、深度相机等传感器获取外部环境信息,建立地形图,结合本体感知一同作为输入送入策略网络,实现环境告知情况下策略网络的良好训练,训练出的策略能够实现在复杂地形下稳定运动控制。然而外部传感器的使用增加了多足机器人的算力和负担,且雷达、深度相机等传感器易受到物体材质、光照等外部信号干扰,获取的信息在外部信号干扰下容易出错,从而导致机器人的训练效果大大降低。


技术实现要素:

3.本技术的实施例提供一种机器人运动控制方法、系统及电子设备,以解决现有技术中机器人仅用本体感知难以在复杂地形上进行训练和控制的技术问题。
4.为了解决上述技术问题,本技术的实施例公开了如下技术方案:
5.第一方面,提供了一种机器人运动控制方法,应用于机器人端,包括:
6.接收控制指令并根据所述控制指令获取本体感知数据;
7.将所述本体感知数据和所述控制指令输入至已训练好的神经网络模型中,以生成控制动作;
8.根据所述控制动作控制所述机器人在预构建的训练场景中运动,以优化所述神经网络模型;
9.其中,所述本体感知数据根据所述机器人的惯性测量单元获取得到,所述已训练好的神经网络模型包括策略网络,所述策略网络用于根据所述机器人当前状态选择合适的所述控制动作。
10.结合第一方面,在执行所述接收控制指令并根据所述控制指令获取本体感知数据之前,所述方法还包括,训练所述神经网络模型,训练方法包括:
11.在仿真环境中初始化所述神经网络模型,所述神经网络模型包括策略网络和价值网络;
12.生成地面模型,获取所述机器人在所述地面模型上运动时的本体感知数据和外部感知数据;
13.将所述本体感知数据和所述控制指令输入至所述策略网络,得到控制动作;
14.所述机器人根据所述控制动作在所述地面模型上运动,获得观测数据;
15.将所述控制指令、所述外部感知数据和所述观测数据输入至所述价值网络进行计算,得到误差值;
16.根据所述误差值对所述策略网络和所述价值网络进行更新。
17.结合第一方面,所述的接收控制指令并根据所述控制指令获取本体感知数据的方法包括:
18.构建所述训练场景,根据所述训练场景生成控制所述机器人的所述控制指令;
19.接收到所述控制指令后,所述机器人根据所述控制指令在所述训练场景中移动,通过所述惯性测量单元获取所述机器人在移动过程中的所述本体感知数据;
20.所述控制指令包括所述机器人的机身角速度和机身线速度。
21.结合第一方面,所述的将所述本体感知数据和所述控制指令输入至已训练好的神经网络模型中,以生成控制动作的方法包括:
22.所述策略网络根据所述控制指令和所述本体感知数据生成所述机器人机身的移动方向和移动速度、足部的移动轨迹和移动角度、关节的转动角度和转动速度中的一种或多种。
23.结合第一方面,所述观测数据的获取方法包括:
24.将所述控制动作转化为关节位置,作用到所述机器人上;
25.所述机器人根据所述关节位置控制关节旋转并在所述地面模型上运动;
26.根据所述机器人运动的过程得到所述观测数据;
27.其中,所述关节位置与所述控制动作的关系为:
28.j
tar
=j
ref
+a;
29.式中,a为控制动作,j
ref
为参考关节位置,j
tar
目标关节位置。
30.结合第一方面,所述的误差值的计算方法包括:
31.构建奖励函数,通过所述奖励函数对所述机器人的动作进行奖励,获得奖励的加权值;
32.将所述控制指令、所述外部感知数据、当前时刻和下一时刻的观测数据输入所述价值网络,获得价值函数值;
33.根据所述奖励的加权值和所述价值函数值计算得到时序差分误差,即为误差值。
34.结合第一方面,所述奖励函数包括任务类奖励函数和辅助类奖励函数;
35.所述任务类奖励函数用于规范所述机器人的移动,所述辅助类奖励函数用于改善所述机器人移动时的步态。
36.结合第一方面,所述任务类奖励函数包括线速度跟踪奖励函数和角速度跟踪奖励函数;
37.所述线速度跟踪奖励函数的表达式为:
[0038][0039]
式中表示机身坐标系下机身x、y方向的线速度,表示机身坐标系下的x、y方向的机身线速度命令;
[0040]
所述角速度跟踪奖励函数的表达式为:
[0041][0042]
式中ω
base
表示机身坐标系下的机身角速度,ω
com
表示机身坐标系下的机身角速度命令;
[0043]
其中,所述机身坐标系以所述机器人竖直向上的方向为z轴,头部朝向为x轴,两肩的连线为y轴,x轴、y轴和z轴两两之间相互垂直。
[0044]
结合第一方面,所述辅助类奖励函数包括扭矩惩罚奖励、机身关节约束、地面反作用力大小约束、机身坐标系下z轴线速度惩罚、关节加速度惩罚以及关节位置惩罚;
[0045]
所述扭矩惩罚奖励的表达式为:
[0046]rtorque
=-||τ||2;
[0047]
式中τ表示关节扭矩;
[0048]
所述机身关节约束的表达式为:
[0049]rhip
=-||j
hip
||2;
[0050]
式中j
hip
表示所述机器人臀部关节位置;
[0051]
所述地面反作用力大小约束的表达式为:
[0052]rgrf
=-||max(grf
t-grf
t-1
,0)||2;
[0053]
式中grf表示所述机器人脚、大腿、小腿的地面反作用力;
[0054]
所述机身坐标系下z轴线速度的惩罚表达式为:
[0055][0056]
式中表示机身坐标系下的机身z轴线速度;
[0057]
所述关节加速度的表达式为:
[0058][0059]
式中表示关节加速度;
[0060]
所述关节位置惩罚包括关节位置变化过大和关节位置接近极限,所述关节位置变化过大的表达式为:
[0061]rsmooth
=-||a
t-a
t-1
||2;
[0062]
所述关节位置接近极限的表达式为:
[0063][0064]
对上述奖励进行加权和得到总奖励,总奖励的表达式示:
[0065]
r=w1rv+w2r
torque
+w3r
hip
+w4r
grf
+w5rz+w6r
acc
+w7r
smooth
+w8r
lim

[0066]
式中权重系数w1、w2、w3、w4、w5、w6、w7、w8是超参,需要根据实际任务进行调整。
[0067]
结合第一方面,所述本体感知数据包括机器人的关节位置、关节阻尼系数、连杆质量、连杆质心位置、电机pd增益、关节摩擦系数、关节速度、身姿的重力向量、转向角速度、线速度、转向角度中的一个或多个。
[0068]
结合第一方面,所述地面模型包括地面类型和地面参数,所述地面类型包括平面
路径、上下光滑坡道、上下粗糙坡道、上下楼梯以及凹凸不平的地面;
[0069]
所述地面参数包括摩擦系数、坡道的弧度、坡道的粗糙度、梯面的长度和宽度以及凹面的深度和面积中的一种或多种。
[0070]
结合第一方面,所述外部感知数据包括所述机器人周边地形高度、所述机器人在x轴、y轴和z轴方向上的线速度、所述机器人大腿、小腿和脚与地面的反作用力和接触状态、所述机器人的关节位置和关节速度变化和所述机器人的抬腿间隔中的一种或多种。
[0071]
结合第一方面,所述方法还包括在所述本体感知中添加噪声,所述噪声包括均匀分布的白噪声。
[0072]
第二方面,提供了一种机器人运动控制系统,应用于机器人端,所述系统包括:
[0073]
数据接收模块,所述接收控制指令并根据所述控制指令获取本体感知数据;
[0074]
运算模块,所述运算模块用于将所述本体感知数据和所述控制指令输入至已训练好的神经网络模型中,以生成控制动作;
[0075]
控制模块,根据所述控制动作控制所述机器人在预构建的训练场景中运动,以优化所述神经网络模型;
[0076]
其中,所述本体感知数据根据所述机器人的惯性测量单元获取得到,所述已训练好的神经网络模型包括策略网络,所述策略网络用于根据所述机器人当前状态选择合适的所述控制动作。
[0077]
第二方面,提供了一种电子设备,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现如第一方面任一实施例所述的机器人运动控制方法。
[0078]
上述技术方案中的一个技术方案具有如下优点或有益效果:
[0079]
与现有技术相比,本技术的一种机器人运动控制方法,应用于机器人端,方法包括:接收控制指令并根据控制指令获取本体感知数据;将本体感知数据和控制指令输入至已训练好的神经网络模型中,以生成控制动作;根据控制动作控制机器人在预构建的训练场景中运动,以优化神经网络模型;其中,本体感知数据根据机器人的惯性测量单元获取得到,已训练好的神经网络模型包括策略网络,策略网络用于根据机器人当前状态选择合适的控制动作。本技术的方法通过机器人本身的惯性测量单元获得本体感知数据,减少了外部传感器的使用,提高了仿真环境与现实环境中机器人的契合程度,加快了机器人的训练效率,同时提高训练后机器人的鲁棒性。
附图说明
[0080]
下面结合附图,通过对本技术的具体实施方式详细描述,将使本技术的技术方案及其它有益效果显而易见。
[0081]
图1为本技术实施例提供的机器人的运动控制方法示意图;
[0082]
图2为本技术实施例提供的场景构建和控制指令生成方法示意图;
[0083]
图3为本技术实施例提供的神经网络模型的训练方法示意图;
[0084]
图4为本技术实施例提供的仿真环境中机器人的运动控制流程示意图。
[0085]
图5为本技术实施例提供的现实环境中机器人的运动控制流程示意图;
[0086]
图6为本技术实施例提供的机器人的运动控制系统示意图。
具体实施方式
[0087]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0088]
申请人注意到,目前针对四足机器人或多足机器人的训练主要包括两种训练方式,一种是仅靠本体感知进行训练;本体感知指的是通过机器人本体自带的惯性测量单元获得的一些角速度、关节位置和线速度等。但是该种训练方式缺乏对周边环境地形的全局观测,无法实现在复杂地形特别是楼梯等地形下的流畅平稳行走。而另一种是本体感知结合外部感知进行训练;通过增加外部传感器来增加对外部环境的识别,在一定程度上缓解了部分观测问题,可以提高多足机器人在复杂地形下行走的流畅性和平稳性。但是常用的如雷达、深度相机等外部传感器容易受物体材质、光照等干扰,导致获取到的信息出现错误,并且安装了外部传感器之后也增加了多足机器人训练时的算力,导致训练效率低的问题。为此申请人提出了以下方案来克服上述遇到技术问题。
[0089]
以下通过实施例来阐述本技术的具体实施方式:
[0090]
如图1、图4和图5所示,本技术实施例提供了一种机器人运动控制方法,应用于机器人端,包括:
[0091]
s1:接收控制指令并根据控制指令获取本体感知数据。如图2所示,具体的步骤为:
[0092]
s101:构建训练场景,根据训练场景生成控制机器人的控制指令。可以理解的是,在进行机器人训练时,需要搭建足够多的训练场景来对机器人进行训练,从而使得机器人能够提前适应相应的环境,并使机器人在遇到相同环境时能够处理的游刃有余。可以想到的是,所构建的训练场景可以包括生活中常见的场景,也可以是生活中不常见的场景。可以根据搭建好的训练场景,对机器人下发不同的控制指令,如平面路径、上下坡和楼梯等所发出的指令并不相同。
[0093]
s102:接收到控制指令后,机器人根据控制指令在训练场景中移动,通过惯性测量单元获取机器人在移动过程中的本体感知数据。本体感知数据根据机器人的惯性测量单元获取得到。惯性测量单元是测量机器人三轴姿态角和加速度的装置,是每个机器人本身都会自带的一个元器件。在接收了控制指令后,机器人首先根据控制指令做出相应的动作,然后通过惯性测量单元测量得到机器人的自身数据,即本体感知数据。本体感知数据包括机器人的关节位置、关节阻尼系数、连杆质量、连杆质心位置、电机pd增益、关节摩擦系数、关节速度、身姿的重力向量、转向角速度、线速度和转向角度。可以理解的是,为了对机器人进行训练并观察机器人在移动过程中动作的协调能力,需要将机器人的移动过程中各个关节、腿、连杆和身姿等的移动情况以及转动情况记录下来,从而便于分析出机器人在移动过程中产生的问题。针对产生的问题通过改变移动指令或调整路面数据来进行解决。如机器
人在走路过程中容易晃动,可以通过调节关机阻尼系数、连杆质量,关节速度或转向角速度等来改善问题,从而加快对仿真机器人的训练,提高机器人的稳定性。
[0094]
s103:控制指令包括机器人的机身角速度和机身线速度。可以理解的是,在机器人进行训练前,需要根据不同的训练场景对机器人下达不同的控制指令,从而使机器人能够向前移动。在获得不同的训练场景后,如训练场景为平整的路面或楼梯面等。首先需要对机器人设置向前移动的指令,同时设置机身移动的角速度和线速度,其中机身线速度可以为1m/s,2m/s,5m/s等。机身角速度是以机器人的头部朝向为x轴,机器人竖直向上的方向为z轴,机器人两肩的连线为y轴,同时构建机器人的质心在坐标系中的角度移动速度,即为机身角速度。在本技术的一些其他实施例中,机器人关节的转动角度和转动速度以及腿部的移动角度和移动轨迹可以作为机器人的控制指令中的相关数据。其中,机器人关节的转动角度和转动速度根据移动速度进行选择和适配,同时腿部的移动角度也需要与路面类型相关。当训练场景为平整面时,控制关节的转动角度在一个较小的角度,转动速度则根据移动速度快慢决定,而腿部的移动角度位于较小的角度。而当训练场景为楼梯面时,关节的转动角度和腿部的移动角度需要根据楼梯的路面参数进行设置,需要确保机器人的足能够踏上台阶面,同时还需要使机器人能够踩实,控制多个足之间协调有序的移动。
[0095]
s2:将本体感知数据和控制指令输入至已训练好的神经网络模型中,以生成控制动作。已训练好的神经网络模型包括策略网络,策略网络用于根据机器人当前状态选择合适的控制动作。可以理解的是,除了需要将控制指令和本体感知数据输入至训练好的神经网络模型中外,还需要将训练场景的具体数据也一并输入至神经网络模型中,通过神经网络模型对各个数据进行运算,最终给出机器人通过训练场景所需要的一整套控制动作。可以想到的是,通过神经网络模型可以将机器人的每一步进行规划,控制机器人的移动方向和移动速度防止机器人跑偏和移动过快,使机器人能够保持平稳的姿态;同时调整机器人腿部各个关节的转动角度和转动速度从而使得机器人的多足之间能够彼此配合,没有多余的动作;并且机器人的足部的移动角度和移动轨迹也能进行规划,使得机器人具有稳定的步态。
[0096]
如图3所示,在本技术实施例中,神经网络模型的训练方法包括:
[0097]
s201:在仿真环境中初始化神经网络模型,神经网络模型包括策略网络和价值网络。可以理解的是,策略网络用于根据当前状态和价值估计选择合适的动作,包括actor网络;价值网络用于根据奖励信号和下一个状态向量评估当前策略的好坏,包括critic网络。actor-critic网络也叫演员-评论家网络。在每次机器人进行训练时,将本体感知数据、控制指令和动作输入至actor网络中。而critic网络同样接收本体感知数据、控制指令、当前时刻和下一时刻的观测数据和外部环境数据,从而对机器人的做出的动作进行评价,并输出评价的分数或者奖励,将分数或者奖励反馈给actor网络使其提高或降低该动作的输出概率。通过actor-critic网络的不断调整,使得机器人能够快速适应不同的训练,进而提高机器人适应能力和稳定性。本技术中的外部环境数据包括机器人周边地形高度、机器人在x轴、y轴和z轴方向上的线速度、机器人大腿、小腿和脚与地面的反作用力和接触状态、机器人的关节位置和关节速度变化和机器人的抬腿间隔中的一种或多种。
[0098]
在本技术实施例中,周边地形高度提包括以机器人机身坐标系为基准1m
×
1m的矩形区域内,间隔0.1m均匀采样的121个离散高度点。通过获取这些外部环境可以减少该部分
外部环境对机器人的干扰,同时也可以结合该部分外部环境直观和清楚的得到机器人的运动状态和运动数据,对于机器人的训练更有帮助。
[0099]
s202:生成地面模型,获取机器人在地面模型上运动时的本体感知数据和外部感知数据。可以理解的是,在仿真环境中,机器人的本体感知数据和外部感知数据可以更好的辅助机器人对神经网络模型进行训练。从而使得机器人能够获得更加准确的数据,进而使训练获得的神经网络模型更加稳定。
[0100]
在本技术实施例中,地面模型包括地面类型和地面参数,地面类型包括平面路径、上下光滑坡道、上下粗糙坡道、上下楼梯以及凹凸不平的地面;地面参数包括摩擦系数、坡道的弧度、坡道的粗糙度、梯面的长度和宽度以及凹面的深度和面积中的一种或多种。可以理解的是,为了能够对机器人进行训练,先采用仿真机器人在仿真环境中进行训练,在环境中设置一些现实生活中比较常见的路面情况,如平整的路面、陡坡和楼梯等是比较常见的路面类型,进一步的路面的光滑程度,陡坡的倾斜程度,楼梯面的宽窄和高低都是一些可以改变的路面参数,通过改变参数使机器人能够适应不同的环境,从而能够克服现实生活场景中遇到的路面问题。
[0101]
在本技术实施例中,对地面模型进行设置的方法包括:通过课程学习算法对地面模型进行调整;当机器人完成所有路面后,随机抽取路面供机器人训练。可以理解的是,为了使机器人能够逐步适应路面数据,需要对路面进行从简单的平整路面开始,一点点的增加难度和改变路面参数。通过增加平整路面的粗糙程度、增加陡坡的倾斜程度和光滑程度,增加楼梯的级数、高度和宽度等,如陡坡的倾斜度在0到30度之间逐渐增加,楼梯的高度在10厘米到20厘米逐渐增加,楼梯的宽度在25厘米到35厘米间逐渐增加,楼梯的级数在5到20间逐渐增加等。使得机器人能够逐步掌握应对各种路面的移动方式,进而训练出适应能力强,可靠性高的机器人。
[0102]
在本技术实施例中,在地面模型进行设置时,还需要在路面数据中添加均匀分布的噪声。可以理解的是,仿真环境为一个理想的环境,在设置了一定的参数后,仿真环境中就会严格按照设置的参数进行匹配。但是在现实生活中,不存在像仿真环境中完全符合参数的环境。如现实生活中不存在绝对完整的平面,也很难控制每一个台阶面的长度、宽度和高度保持绝对的一致。因此通过增加噪声可以使路面数据更加接近现实世界的环境,从而提高仿真环境中的数据与现实环境的适配性。
[0103]
s203:将本体感知数据和控制指令输入至策略网络,得到控制动作。可以理解的是,策略网络通过训练后能够根据当前的数据为机器人给出最优的控制动作。通过控制动作的控制可以使得机器人能够完美的通过各种复杂的地形。
[0104]
s204:机器人根据控制动作在地面模型上运动,获得观测数据。观测数据的获取方法包括:将控制动作转化为关节位置,作用到机器人上;机器人根据关节位置控制关节旋转并在地面模型上运动;根据机器人运动的过程得到观测数据;其中,关节位置与控制动作的关系为:
[0105]jtar
=j
ref
+a;
[0106]
式中,a为控制动作,j
ref
为参考关节位置,j
tar
目标关节位置。
[0107]
s205:将控制指令、外部感知数据和观测数据输入至价值网络进行计算,得到误差值。误差值的计算方法包括:构建奖励函数,通过奖励函数对机器人的动作进行奖励,获得
奖励的加权值;将控制指令、外部感知数据、当前时刻和下一时刻的观测数据输入价值网络,获得价值函数值;根据奖励的加权值和价值函数值计算得到时序差分误差,即为误差值。
[0108]
在本技术实施例中,奖励函数包括任务类奖励函数和辅助类奖励函数;任务类奖励函数用于规范机器人的移动,辅助类奖励函数用于改善机器人移动时的步态。其中,任务类奖励函数包括线速度跟踪奖励函数和角速度跟踪奖励函数;
[0109]
线速度跟踪奖励函数的表达式为:
[0110][0111]
式中表示机身坐标系下机身x、y方向的线速度,表示机身坐标系下的x、y方向的机身线速度命令;
[0112]
角速度跟踪奖励函数的表达式为:
[0113][0114]
式中ω
base
表示机身坐标系下的机身角速度,ω
com
表示机身坐标系下的机身角速度命令;其中,机身坐标系以机器人竖直向上的方向为z轴,头部朝向为x轴,两肩的连线为y轴,x轴、y轴和z轴两两之间相互垂直。通过对机器人线速度和角速度的跟踪能够将机器人实际做出的动作和控制指令发出的动作或上一时刻的动作进行对比,从而得出机器人动作之间的差异。通过对差异的不断控制使得机器人的实际动作能够达到预期。
[0115]
在本技术实施例中,辅助类奖励函数包括扭矩惩罚奖励、机身关节约束、地面反作用力大小约束、机身坐标系下z轴线速度惩罚、关节加速度惩罚以及关节位置惩罚;
[0116]
扭矩惩罚奖励的表达式为:
[0117]rtorque
=-||τ||2;
[0118]
式中τ表示关节扭矩;通过对扭矩的识别可以有效的降低扭矩,从而学习到低能耗步态,扭矩由策略网络输出的关节位置经pd控制器转化得到。
[0119]
机身关节约束的表达式为:
[0120]rhip
=-||j
hip
||2;
[0121]
式中j
hip
表示机器人臀部关节位置;通过获取机器人的臀部关节位置可以帮助机器人学习对称步态,提高机器人行走时的稳定性。
[0122]
地面反作用力大小约束的表达式为:
[0123]rgrf
=-||max(grf
t-grf
t-1
,0)||2;
[0124]
式中grf表示机器人脚、大腿、小腿的地面反作用力;通过获取机器人的脚、大腿、小腿对地面的反作用力可以得到机器人对力量的控制,避免后续移植到机器人上时,力量过大对机器人自身造成损伤从而缩短使用寿命。
[0125]
机身坐标系下z轴线速度的惩罚表达式为:
[0126][0127]
式中表示机身坐标系下的机身z轴线速度;通过获取机器人在z轴上的线速度
可以得到机器人的上下抖动情况,以此来对移动指令进行调整,让机器人平稳的行走。
[0128]
关节加速度的表达式为:
[0129][0130]
式中表示关节加速度;通过获取关节加速度来判断仿真机器人的步态,从而让仿真机器人学习到如何平滑流畅的行走
[0131]
关节位置惩罚包括关节位置变化过大和关节位置接近极限,关节位置变化过大的表达式为:
[0132]rsmooth
=-||a
t-a
t-1
||2;
[0133]
关节位置接近极限的表达式为:
[0134][0135]
通过获取关节位置来对仿真机器人的抖动情况进行捕捉,防止仿真机器人在行走过程中关节变化多大导致关节损伤,同时关节位置接近极限也是对仿真机器人的关节进行保护,防止关节位置经常接近极限而造成损坏。
[0136]
对上述奖励进行加权和得到总奖励,总奖励的表达式示:
[0137]
r=w1rv+w2r
torque
+w3r
hip
+w4r
grf
+w5rz+w6r
acc
+w7r
smooth
+w8r
lim

[0138]
式中权重系数w1、w2、w3、w4、w5、w6、w7、w8是超参,需要根据实际任务进行调整。可以理解的是,任务奖励是学习目标,使仿真机器人习得如何按照指令进行行走,而辅助奖励是帮助仿真机器人如何学习平稳流畅的步态,确保在行走过程中不会抖动、晃动或倾倒等。通过任务奖励和辅助奖励能够促进仿真机器人的训练,使得通过仿真环境训练得到的数据能够更好的迁移到真实环境中。
[0139]
本技术实施例中,结合机器人的控制动作、状态和奖励函数构建马尔可夫决策过程(markov decision process,mdp),马尔可夫决策过程由元组《s,a,p,r,γ》构成,其中,s是状态的集合;a是动作的集合;γ是折扣因子;r(s,a)是奖励函数,奖励函数可以同时取决于状态s和控制动作a,当奖励函数只取决于状态时,则退化为r(s);p(s’∣s,a)是状态转移函数,表示状态s执行控制动作a之后到达状态s’的概率。通过该模型的不断更新,使得机器人最终输出概率更高的控制动作a。
[0140]
s206:根据误差值对策略网络和价值网络进行更新。可以理解的是,价值网络根据控制指令、外部感知数据、当前时刻和下一时刻的观测数据对策略网络的动作进行评价后,策略网络根据评价值对自身的动作输出进行更新调整。同时价值网络也会根据策略网络上一时刻的观测数据对自身给出的评价进行更新调整。从而使得策略网络和价值网络同步更新,不断的完善后训练得到满足需求的策略网络。
[0141]
s3:根据控制动作控制机器人足部运动。可以理解的是,策略网络能够根据当前机器人所面对的训练场景得到最优的控制动作方案。在本技术实施例中,为了使现实环境中的机器人能够快速进入训练轨道,现实环境中的训练场景的各种数据参数均来自仿真环境中的路面模型。在训练时,通过随机选择的方式选择不同的训练场景供机器人进行多次训练,从而使得机器人能够出色完美的完成。
[0142]
在本技术实施例中,在本体感知数据中添加均匀分布的噪声。可以理解的是,本申
请中的神经网络模型的训练仅依赖本体感知数据,未利用任何外部传感器信息,故不用考虑仿真环境与真实环境中传感器的差异带来的sim2real问题。本技术中神经网络模型的sim2real问题主要来源于建模误差和通信延迟,采用动力学随机化的方法来消除sim2real的差异。具体来说,通过对地面摩擦系数、关节阻尼参数、关节摩擦系数、连杆质量、连杆惯量、连杆质心位置、电机pd增益、动作之间的时间间隔、观察状态添加均匀分布的噪声,以此提高模型的鲁棒性,实现仿真中训练的策略可以直接部署到现实环境中使用。需要注意的是其中地面摩擦系数、关节阻尼参数、关节摩擦系数、连杆质量等动力学参数在每个训练过程中不会变化,但动作时间间隔、观察状态在每个训练过程都进行扰动。
[0143]
本技术为了增强现实环境中多足机器人训练的可靠性,在仿真环境中首先通过本体感知对仿真的机器人进行训练,使仿真的机器人仅靠本体感知来适应现实环境中会碰到的各种场景,从而生成应对各种场景时应对的数据,通过不断的对修正和调整,使得仿真的机器人的神经网络模型得到很好的完善。最后将完善的神经网络模型移植到现实的机器人上,使现实的机器人预先掌握各种训练场景下的各种动作,从而有效的提高了现实的机器人的训练,极大的缩短了训练的时间。
[0144]
如图4所示,本技术实施例还提供了一种机器人运动控制系统,应用于机器人端,系统包括:数据接收模块,接收控制指令并根据控制指令获取本体感知数据;运算模块,运算模块用于将本体感知数据和控制指令输入至已训练好的神经网络模型中,以生成控制动作;控制模块,根据所述控制动作控制所述机器人在预构建的训练场景中运动,以优化所述神经网络模型;其中,本体感知数据根据机器人的惯性测量单元获取得到,已训练好的神经网络模型包括策略网络,策略网络用于根据机器人当前状态选择合适的控制动作。本技术的系统提出了一种不依赖外部传感器和大量计算的机器人运动控制系统,通过设计覆盖现实世界中各种楼梯尺寸的楼梯地形,利用复杂地形本体感知模型做初始化,在不使用课程学习的情况下进行随机楼梯互动训练调优,并对动力学参数进行随机化处理,就能够训练得到鲁棒性的爬楼梯运动控制策略。而且仿真环境中训练的爬楼梯运动控制策略能够在不进行任何微调的情况下直接移植到现实环境中,实现了机器人对现实生活中各类楼梯地形的平稳流畅运动控制。
[0145]
本技术实施例还提供了一种电子设备,包括存储器和处理器;存储器,用于存储计算机程序;处理器,用于当执行计算机程序时,实现如上述实施例的机器人运动控制方法。
[0146]
以上对本技术实施例所提供的一种机器人运动控制方法、系统及电子设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。

技术特征:
1.一种机器人运动控制方法,应用于机器人端,其特征在于,所述方法包括:接收控制指令并根据所述控制指令获取本体感知数据;将所述本体感知数据和所述控制指令输入至已训练好的神经网络模型中,以生成控制动作;根据所述控制动作控制所述机器人在预构建的训练场景中运动,以优化所述神经网络模型;其中,所述本体感知数据根据所述机器人的惯性测量单元获取得到,所述已训练好的神经网络模型包括策略网络,所述策略网络用于根据所述机器人当前状态选择合适的所述控制动作。2.如权利要求1所述的机器人运动控制方法,其特征在于,在执行所述接收控制指令并根据所述控制指令获取本体感知数据之前,所述方法还包括,训练所述神经网络模型,训练方法包括:在仿真环境中初始化所述神经网络模型,所述神经网络模型包括策略网络和价值网络;生成地面模型,获取所述机器人在所述地面模型上运动时的本体感知数据和外部感知数据;将所述本体感知数据和所述控制指令输入至所述策略网络,得到控制动作;所述机器人根据所述控制动作在所述地面模型上运动,获得观测数据;将所述控制指令、所述外部感知数据和所述观测数据输入至所述价值网络进行计算,得到误差值;根据所述误差值对所述策略网络和所述价值网络进行更新。3.如权利要求1所述的机器人运动控制方法,其特征在于,所述的接收控制指令并根据所述控制指令获取本体感知数据的方法包括:构建所述训练场景,根据所述训练场景生成控制所述机器人的所述控制指令;接收到所述控制指令后,所述机器人根据所述控制指令在所述训练场景中移动,通过所述惯性测量单元获取所述机器人在移动过程中的所述本体感知数据;所述控制指令包括所述机器人的机身角速度和机身线速度。4.如权利要求1所述的机器人运动控制方法,其特征在于,所述的将所述本体感知数据和所述控制指令输入至已训练好的神经网络模型中,以生成控制动作的方法包括:所述策略网络根据所述控制指令和所述本体感知数据生成所述机器人机身的移动方向和移动速度、足部的移动轨迹和移动角度、关节的转动角度和转动速度中的一种或多种。5.如权利要求2所述的机器人运动控制方法,其特征在于,所述观测数据的获取方法包括:将所述控制动作转化为关节位置,作用到所述机器人上;所述机器人根据所述关节位置控制关节旋转并在所述地面模型上运动;根据所述机器人运动的过程得到所述观测数据;其中,所述关节位置与所述控制动作的关系为:j
tar
=j
ref
+a;式中,a为控制动作,j
ref
为参考关节位置,j
tar
目标关节位置。
6.如权利要求2所述的机器人运动控制方法,其特征在于,所述的误差值的计算方法包括:构建奖励函数,通过所述奖励函数对所述机器人的动作进行奖励,获得奖励的加权值;将所述控制指令、所述外部感知数据、当前时刻和下一时刻的观测数据输入所述价值网络,获得价值函数值;根据所述奖励的加权值和所述价值函数值计算得到时序差分误差,即为误差值。7.如权利要求6所述的机器人运动控制方法,其特征在于,所述奖励函数包括任务类奖励函数和辅助类奖励函数;所述任务类奖励函数用于规范所述机器人的移动,所述辅助类奖励函数用于改善所述机器人移动时的步态。8.如权利要求7所述的机器人运动控制方法,其特征在于,所述任务类奖励函数包括线速度跟踪奖励函数和角速度跟踪奖励函数;所述线速度跟踪奖励函数的表达式为:式中表示机身坐标系下机身x、y方向的线速度,表示机身坐标系下的x、y方向的机身线速度命令;所述角速度跟踪奖励函数的表达式为:式中ω
base
表示机身坐标系下的机身角速度,ω
com
表示机身坐标系下的机身角速度命令;其中,所述机身坐标系以所述机器人竖直向上的方向为z轴,头部朝向为x轴,两肩的连线为y轴,x轴、y轴和z轴两两之间相互垂直。9.如权利要求7所述的机器人运动控制方法,其特征在于,所述辅助类奖励函数包括扭矩惩罚奖励、机身关节约束、地面反作用力大小约束、机身坐标系下z轴线速度惩罚、关节加速度惩罚以及关节位置惩罚;所述扭矩惩罚奖励的表达式为:r
torque
=-||τ||2;式中τ表示关节扭矩;所述机身关节约束的表达式为:r
hip
=-||j
hip
||2;式中j
hip
表示所述机器人臀部关节位置;所述地面反作用力大小约束的表达式为:r
grf
=-||max(grf
t-grf
t-1
,0)||2;式中grf表示所述机器人脚、大腿、小腿的地面反作用力;所述机身坐标系下z轴线速度的惩罚表达式为:
式中表示机身坐标系下的机身z轴线速度;所述关节加速度的表达式为:式中表示关节加速度;所述关节位置惩罚包括关节位置变化过大和关节位置接近极限,所述关节位置变化过大的表达式为:r
smooth
=-||a
t-a
t-1
||2;所述关节位置接近极限的表达式为:对上述奖励进行加权和得到总奖励,总奖励的表达式示:r=w1r
v
+w2r
torque
+w3r
hip
+w4r
grf
+w5r
z
+w6r
acc
+w7r
smooth
+w8r
lim
;式中权重系数w1、w2、w3、w4、w5、w6、w7、w8是超参,需要根据实际任务进行调整。10.如权利要求1所述的机器人运动控制方法,其特征在于,所述本体感知数据包括机器人的关节位置、关节阻尼系数、连杆质量、连杆质心位置、电机pd增益、关节摩擦系数、关节速度、身姿的重力向量、转向角速度、线速度、转向角度中的一个或多个。11.如权利要求2所述的机器人运动控制方法,其特征在于,所述地面模型包括地面类型和地面参数,所述地面类型包括平面路径、上下光滑坡道、上下粗糙坡道、上下楼梯以及凹凸不平的地面;所述地面参数包括摩擦系数、坡道的弧度、坡道的粗糙度、梯面的长度和宽度以及凹面的深度和面积中的一种或多种。12.如权利要求2所述的机器人运动控制方法,其特征在于,所述外部感知数据包括所述机器人周边地形高度、所述机器人在x轴、y轴和z轴方向上的线速度、所述机器人大腿、小腿和脚与地面的反作用力和接触状态、所述机器人的关节位置和关节速度变化和所述机器人的抬腿间隔中的一种或多种。13.如权利要求4所述的机器人运动控制方法,其特征在于,所述方法还包括在所述本体感知中添加噪声,所述噪声包括均匀分布的白噪声。14.一种机器人运动控制系统,应用于机器人端,其特征在于,所述系统包括:数据接收模块,所述接收控制指令并根据所述控制指令获取本体感知数据;运算模块,所述运算模块用于将所述本体感知数据和所述控制指令输入至已训练好的神经网络模型中,以生成控制动作;控制模块,根据所述控制动作控制所述机器人在预构建的训练场景中运动,以优化所述神经网络模型;其中,所述本体感知数据根据所述机器人的惯性测量单元获取得到,所述已训练好的神经网络模型包括策略网络,所述策略网络用于根据所述机器人当前状态选择合适的所述控制动作。15.一种电子设备,其特征在于:包括存储器和处理器;所述存储器,用于存储计算机程
序;所述处理器,用于当执行所述计算机程序时,实现如权利要求1-13任一项所述的机器人运动控制方法。

技术总结
本申请公开了一种机器人运动控制方法、系统及电子设备,应用于机器人端,方法包括:接收控制指令并根据控制指令获取本体感知数据;将本体感知数据和控制指令输入至已训练好的神经网络模型中,以生成控制动作;根据控制动作控制机器人在预构建的训练场景中运动,以优化神经网络模型;其中,本体感知数据根据机器人的惯性测量单元获取得到,已训练好的神经网络模型包括策略网络,策略网络用于根据机器人当前状态选择合适的控制动作。本申请的方法通过机器人本身的惯性测量单元获得本体感知数据,减少了外部传感器的使用,提高了仿真环境与现实环境中机器人的契合程度,加快了机器人的训练效率,同时提高训练后机器人的鲁棒性。同时提高训练后机器人的鲁棒性。同时提高训练后机器人的鲁棒性。


技术研发人员:柴丽 刘迪源 潘嘉
受保护的技术使用者:科大讯飞股份有限公司
技术研发日:2023.06.16
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐