一种基于分层强化学习的四足机器人运动规划方法

文档序号:25435197发布日期:2021-06-11 21:52阅读:209来源:国知局
一种基于分层强化学习的四足机器人运动规划方法

本发明涉及智能足式机器人领域,具体涉及一种基于分层强化学习的四足机器人运动规划方法。



背景技术:

四足机器人相对其他形式的移动机器人,移动中具有独立的落足点,可以根据地形和任务的特点改变步态,其更加适用于在不平整、崎岖地形以及上下楼梯等复杂环境下作业,具备更好的环境适应能力。然而,四足机器人的运动规划具有很大的挑战性。它必须考虑大量的时变因素,才能从大的动作空间中寻找出最优的控制决策。深度强化学习是一种新型控制方法。在深度强化学习中,代表动作策略的神经网络通过与环境不断交互实现网络参数的更新,在训练过程中学习如何从环境中获得最大的累积奖励。然而,基于深度强化学习的四足机器人控制策略无法有效权衡复杂环境探索能力与机身稳定性,同时上层控制决策方案与底层的控制执行器之间的配合无法直接有效地配合。



技术实现要素:

针对现有技术的不足,本发明提出一种基于分层强化学习的四足机器人运动规划方法,该方法能够提高四足机器人在复杂地形环境下的机身稳定性以及运动控制能力。

本发明的目的通过如下的技术方案来实现:

一种基于分层强化学习的四足机器人运动规划方法,该方法包括如下步骤:

步骤一:在仿真平台上搭建具备神经网络训练能力的四足机器人虚拟仿真环境,并构建分层控制网络,包括上层的控制神经网络和下层的模型预测控制器;

步骤二:初始化虚拟仿真环境;

步骤三:不断更新仿真环境,在每个仿真环境中,所述控制神经网络结合每个仿真环境,输出机器人的控制参数信息;所述模型预测控制器根据所述控制神经网络的输出,执行控制操作;并根据机器人的动作响应计算运动控制奖励函数;

步骤四:判断环境训练终止条件,收集当前环境下的训练数据集;

步骤五:使用所述训练数据集训练所述分层控制网络,获得优化的分层控制网络,并部署到真实四足机器人上进行复杂地形运动规划。

进一步地,所述控制神经网络为全连接网络,其包括两个隐含层,每层包含256个节点,其中激活函数选择relu函数。

进一步地,所述初始化虚拟仿真环境包括初始化四足机器人所在的仿真环境,以及初始化机器人的初始位置、姿态以及环境地形信息,设置四足机器人的初始滚转角、俯仰角以及偏航角为0。

进一步地,所述步骤三中的更新仿真环境具体为按照规则随机生成复杂楼梯地形环境。

进一步地,所述机器人的控制参数信息包括四足机器人足端期望位置、机身期望姿态以及速度。

进一步地,所述步骤三中,所述模型预测控制器执行控制操作具体为:求解包含机器人逆运动学模型的二次优化函数,计算腿部电机力矩、关节扭矩以及足端移动位置,并对仿真环境中的四足机器人进行对应的运动控制。

进一步地,所述根据机器人的动作响应计算运动控制奖励函数具体过程如下:在仿真环境中,四足机器人根据模型预测控制器进行对应的单次运动动作控制,实时计算每次动作的奖励函数,设计阈值判断机器人是否摔倒;重复执行四足机器人的运动控制指令,直到到达设定目的地或者达到当次环境下训练次数上限,退出当前环境仿真;

所述奖励函数r计算公式如下:

r=0.08rlin+0.02rang+0.03rbody

其中,rlin为机身移动速度奖励,鼓励机器人以合理的速度运动;rang是对机身偏航角速度的奖励值,其目的是避免四足机器人机身发生抖动;rbody表示机身平稳运行的奖励值;vy为横向运动速度,θr和θy分别表示滚转角、偏航角的角度。

进一步地,所述步骤五具体过程如下:

收集仿真环境中四足机器人的当前状态s、动作a、期望状态s′、奖励结果r以及终止判定条件d,记录为当前环境下的动作指令数据集d=(s,a,s′,r,d)i=1,...,n,其中n为数据集大小;并用当前环境下的动作指令数据集d训练分层控制网络,优化器使用adam,学习率为0.001;重复执行上述操作,对分层控制网络进行训练,直到达到总的训练次数上限。

本发明的有益效果如下:

本发明的基于分层强化学习的四足机器人运动规划方法,采用的分层强化学习框架具体包括基于深度强化学习(deepreinforcementlearning,drl)的上层行为决策控制器以及基于模型预测控制(modelpredictivecontroller,mpc)的下层运动执行控制器。对于上层控制器中的深度强化学习网络,基于演员-评论(softactor-critic,sac)算法设计四足机器人的状态更新网络、动作执行网络以及奖励函数等,结合机器人周围的环境高度图信息输出对应的行为控制参数,主要包括期望位置、期望速度、机身姿态等。上层决策网络能够不断探索学习当前环境以及地形信息,来实时调整自身姿态以保证四足机器人的运动稳定性。对于下层执行控制器中的模型预测控制器,通过求解基于上层输入的控制参数二次规划方程组来获取对应的控制指令,包括电机执行力矩大小、转动位置以及速度等。该分层控制框架结合了深度强化学习与模型预测控制的优势,使四足机器人能够根据当前机身状态以及地形环境做出更安全可靠的行为模式,保持机身姿态平稳,从而有效规避风险,实现在复杂地形下的有效轨迹规划。本发明所提出的四足机器人分层学习控制框架具备良好的环境泛化效果以及控制稳定性。

附图说明

图1为本发明的运动规划方法的流程示意图;

图2为仿真环境下四足机器人面临复杂楼梯环境下的示意图;

图3为仿真环境中四足机器人质心与四个足端移动轨迹图;

图4为真实环境下四足机器人利用训练得到的网络进行爬楼梯任务的实验图;

图5是仿真中四足机器人机身姿态期望曲线随地形高度的变化关系图。

具体实施方式

下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明的基于分层强化学习的四足机器人运动规划方法,具体包括如下步骤:

步骤一:在仿真平台上搭建具备神经网络训练能力的四足机器人虚拟仿真环境,并构建分层控制网络,包括上层的控制神经网络和下层的模型预测控制器。上层神经网络负责决策规划机器人运动过程中的姿态和位置,下层的模型预测控制器负责根据机身姿态信息计算保持四足机器人平衡所需的支撑力。

其中,上层的控制神经网络为基于演员-决策算法(softactor-critic,sac)的深度强化学习神经网络,网络结构设置为全连接网络,设有两个隐含层,每层有256个节点,设置激活函数为relu函数。

步骤二:初始化虚拟仿真环境;

本发明采用的仿真环境为基于python开发的物理仿真引擎pybullet,该仿真引擎通常应用于机器人、游戏、视觉效果以及机器学习的物理模拟,在物理仿真引擎pybullet中可以提供正向动力学仿真、逆向动力学计算和逆向运动学、碰撞检测和射线相交查询等实际仿真功能。为了尽可能减小仿真与现实实验中的差异性,在仿真环境pybullet中所采用的四足机器人模型为基于真实四足机器人的urdf文件导入开发而来。在pybullet仿真环境中设置四足机器人的相应基本设置,包括初始位置、机身姿态以及机器人所处环境的地形特征等。四足机器人的初始位置为仿真环境的坐标原点,保持为直立姿态。此外,将四足机器人的初始机身姿态中包含的滚转角、俯仰角以及偏航角均设置为0。

步骤三、不断更新仿真环境,在每个仿真环境中,所述控制神经网络结合每个仿真环境,输出机器人的控制参数信息;所述模型预测控制器根据所述控制神经网络的输出,执行控制操作;并根据机器人的动作响应计算运动控制奖励函数;

在该实施例中,仿真环境按照规则随机生成包含楼梯的复杂地形环境,每次环境更新中楼梯宽度在180cm至220cm之间随机选择,每节台阶的高度在2cm、4cm以及6cm之间随机产生,在一个楼梯之间台阶可以是不相等的,楼梯的总长度固定为2m。该地形环境在每次网络训练完成后均会随机更新,以保证本发明的分层神经网络具备不同地形的适应能力。

在仿真训练中,实时获取以四足机器人为圆心,范围为120cm乘以90cm内的地形高度信息,结合四足机器人的机身姿态信息作为上层的控制神经网络的输入,经过深度强化学习网络计算生成四足机器人对应的期望控制指令,主要包括足端期望位置、机器人机身的期望姿态以及运行速度等信息。

下层模型预测控制器依据上层的控制神经网络输出的运动控制指令对仿真中的四足机器人进行运动控制。模型预测控制器以足端期望位置、机身期望姿态以及机器人期望运行速度作为输入,通过求解包含机器人逆运动学模型的二次优化函数获得关节电机对应的运行扭矩以及转速信息,并进行电机控制,完成四足机器人的运动控制操作。在仿真环境中,四足机器人将按照模型预测控制器输出的控制指令进行对应的运动行为,与地形环境进行交互,实时更新四足机器人在仿真环境中的位置信息以及姿态信息。另外,四足机器人根据模型预测控制器进行对应的单次运动动作控制时,实时计算每次动作的奖励函数,设计阈值判断机器人是否摔倒;当奖励结果过小,则认为四足机器人摔倒,此时跳出当前环境。如果判断机器人未摔倒,则在仿真环境中继续重复上述运动控制操作,同时计算对应奖励函数结果,直到机器人到达设定的目的地,跳出当前环境训练。

所述奖励函数r计算公式如下:

r=0.08rlin+0.02rang+0.03rbody

其中,rlin为机身移动速度奖励,鼓励机器人以合理的速度运动;rang是对机身偏航角速度的奖励值,其目的是避免四足机器人机身发生抖动;rbody表示机身平稳运行的奖励值;vy为横向运动速度,θr和θy分别表示滚转角、偏航角的角度。

步骤四:判断环境训练终止条件,收集当前环境下的训练数据集;

收集仿真环境中四足机器人的当前状态s、动作a、期望状态s′、奖励结果r以及终止判定条件d,记录为当前环境下的动作指令数据集d=(s,a,s′,r,d)i=1,...,n,其中n为数据集大小;并用当前环境下的动作指令数据集d训练分层控制网络,优化器使用adam,学习率为0.001;总的训练次数上限107。网络训练完成后,更新环境并重复执行上述训练操作,直到达到训练次数上限,退出训练,输出最优的分层控制网络。

步骤五:使用所述训练数据集再次训练所述分层控制网络,获得优化的分层控制网络,并部署到真实四足机器人上进行复杂地形运动规划。

下面通过一个实施例来验证本发明的运动规划方法的有益效果。

图2给出了虚拟环境实例,在物理仿真引擎pybullet中导入真实四足机器人的完整模型文件(urdf文件),同时将机器人初始化位于环境原点。四足机器人的上层的控制网络使用全连接的强化学习神经网络,下层采用模型预测控制器作为控制执行器。如图2中的仿真所示,系统环境会随机生成机器人前方地形,这里采用楼梯的形式作为复杂地形,同时将周围120cm*90cm的地图环境信息传输到机器人的控制网络中。

图3为测试训练后的分层控制网络的实际效果,建立一个简单的楼梯结构测试机器人移动的效果,在该环境中,四足机器人可以在迈过不同的台阶同时通过实时调整机身姿态来保持机身稳定,并且依靠腿部的摩擦力向前运动,图中为具体移动轨迹实例,曲线分别为机器人质心与四条腿的足端移动轨迹图,其中location_fl和location_fr分别表示左前足端以及右前足端的位置信息,location_rl以及location_rr分别代表左后足端和右后足端的位置信息,body_location表示四足机器人机身重心的运行轨迹。可以看到四足机器人能够通过高低起伏的楼梯环境。

图4所示是将训练完成后的分层控制网络应用到现实中四足机器人的运行效果图,实际环境中测试了楼梯环境,建立了三层楼梯的复杂地形环境,高度分别为4cm、6cm、2cm,宽度为40厘米。机器人可以在这种高度不同的楼梯环境中通过上层控制神经网络与下层模型预测控制器分析周围高度信息与当前机身姿态完成有效的运动规划控制,通过不同高度的楼梯环境实验,验证了分层结构在现实中的泛化性和有效性。

图5为机身姿态自适应效果图,为了进一步验证上层强化学习网络具备根据不同地势地形实时调整机器人机身姿态的能力,我们可视化了神经网络输出的机身俯仰角度信息,同时建立了先上后下的楼梯仿真环境,terrainheight表示地形高度变化曲线,commandpitch代表四足机器人的期望俯仰角。对于四足机器人而言,为了保证运动控制的稳定性,在上楼梯的时候期望升高对应的俯仰角来保持平衡,同理在下楼梯时需要通过降低机身的俯仰角来保证下坡的平稳性。观察图5所示的可视化俯仰角可以发现,本发明设计的分层强化学习网络能够根据楼梯的高低变化来实时调整机身期望俯仰角,以应对不同的复杂地形环境,提高了四足机器人在复杂地形环境下的运行稳定性。

本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1