首页> 中国专利> 基于策略梯度学习法的模型参数修正方法及其应用

基于策略梯度学习法的模型参数修正方法及其应用

摘要

本发明涉及基于策略梯度学习法的模型参数修正方法及其应用,该模型参数修正方法包括以下步骤:S1:选择倒立摆输入参数和机器人躯干姿态参数为修正量,建立修正量的模型参数修正方程;S2:选择机器人质心跟踪的误差以及机器人姿态相对于身体直立状态的误差作为机器人对当前环境的适应度指标,建立适应度评价函数;S3:根据适应度评价函数,利用策略梯度学习法优化模型参数修正方程中的增益系数,将优化后的增益参数代入模型参数修正方程得到修正量。与现有技术相比,本发明策略方程收敛快速,机器人能在未知的扰动下快速、实时地调节步态和身体姿态,提高了机器人行走的自适应性和鲁棒性。

著录项

  • 公开/公告号CN106292288A

    专利类型发明专利

  • 公开/公告日2017-01-04

    原文格式PDF

  • 申请/专利权人 同济大学;

    申请/专利号CN201610841970.3

  • 发明设计人 陈启军;刘成菊;宁静;

    申请日2016-09-22

  • 分类号G05B13/04(20060101);

  • 代理机构31225 上海科盛知识产权代理有限公司;

  • 代理人赵志远

  • 地址 200092 上海市杨浦区四平路1239号

  • 入库时间 2023-06-19 01:20:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-24

    授权

    授权

  • 2017-02-01

    实质审查的生效 IPC(主分类):G05B13/04 申请日:20160922

    实质审查的生效

  • 2017-01-04

    公开

    公开

说明书

技术领域

本发明涉及机器人行走控制技术领域,尤其是涉及基于策略梯度学习法的模型参数修正方法及其应用。

背景技术

在机器人的行走问题中,为了生成的稳定步态,目前的方案大多将机器人抽象为简单的物理模型,如线性倒立摆模型(LIPM)、桌子-小车模型等,利用模型简化机器人的运动方程,并进行离线轨迹规划,此类方法中如果模型的参数是固定的,则机器人的步态是无法修改的,因而对于未知的外界扰动缺乏抑制能力。目前将学习方法应用于机器人行走的方案中,大多都是选定影响步态的关键参数,在高维度的搜索空间内直接对关键参数进行优化学习,并未将机器人进行抽象建模,因而需要进行大量的离线训练或进行长时间的在线学习,寻找局部最优解,以保证机器人行走的稳定性,这些方法使得机器人的步态是可调整的,但不适合机器人在未知环境下的实时快速调节。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供基于策略梯度学习法的模型参数修正方法及其应用,将学习的方法引入机器人倒立摆模型,设计了一种基于策略梯度学习法的模型参数修正器,间接优化步态参数,在修正器的作用下,策略方程收敛快速,机器人能在未知的扰动下快速、实时地调节步态和身体姿态,提高了行走的自适应性和鲁棒性。

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

基于策略梯度学习法的模型参数修正方法包括以下步骤:

S1:选择倒立摆输入参数和机器人躯干姿态参数为修正量,建立修正量的模型参数修正方程,所述模型参数修正方程内包含待优化的增益系数;

S2:选择机器人质心跟踪的误差以及机器人身体姿态相对于直立状态的误差作为机器人对当前环境的适应度指标,建立适应度评价函数;

S3:根据适应度评价函数,利用策略梯度学习法优化模型参数修正方程中的增益系数,将优化后的增益参数代入模型参数修正方程得到下一个单脚支撑阶段的修正量。

步骤S1中,选择为修正量的倒立摆输入参数包括x轴向步伐大小和y轴向步伐大小,选择为修正量的机器人躯干姿态参数包括x轴向躯干角和y轴向躯干角,所述模型参数修正方程具体为:

Δsx=K1·1NΣi=1N(xf,x,i-xe,x,i)+K3·1NΣi=1N(θB,y,i-θB,y,iref)

Δsy=K2·1NΣi=1N(xf,y,i-xe,y,i)+K4·1NΣi=1N(θB,x,i-θB,x,iref)

ΔθB,x=K5·1NΣi=1N(pLHip,z,i-pRHip,z,i)

ΔθB,y=K6·1NΣi=1N(pSuppFoot,x,i-pHead,x,i)

其中,下标x、y、z分别表示x、y、z轴向,s为步伐大小,Δs为步伐大小的修正量,θB为躯干角,ΔθB为躯干角的修正量,N为一个单脚支撑阶段的插值的步数,下标i表示单脚支撑阶段中第i个步数,xf为卡尔曼滤波后质心的估计值,xe为质心的理想值,为躯干直立时的倾斜角,pRHip和pLHip分别为机器人右腿和左腿髋关节的位移,pHead和pSuppFoot分别为机器人头部关节和支撑脚的位移,K1,...,K6为增益参数。

所述适应度评价函数F(K)具体为:

F(K)=αx(|Δsx|+|Δxx|)+αy(|Δsy|+|Δxy|)+βx(|ΔθB,x|+|ΔθB,x|)+βy(|ΔθB,y|+|ΔθB,y|)

Δxx=1NΣi=1N(xf,x,i-xe,x,i)

Δxy=1NΣi=1N(xf,y,i-xe,y,i)

ΔθB,x=1NΣi=1N(θB,x,i-θB,x,iref)

ΔθB,y=1NΣi=1N(θB,y,i-θB,y,iref)

其中,K={K1,...,K6}表示增益参数集,αx、αy、βx和βy为权重因子,且满足αxy=1,βxy=1,适应度评价函数的值越小,表示机器人在增益参数集下的适应度越高。

所述策略梯度学习法的具体步骤为:

301:在第k次迭代中,对于上一次迭代获得的增益参数集Kk-1,计算F(K)在Kk-1内每个参数值处的偏导,并在Kk-1附近随机生成n个策略,得到的策略集用mKk-1(m=1,...,n)表示,策略的个数n与搜索空间成正比,策略集的生成公式如下:

mKk-1Kk-1+mρ

其中,mρ(m=1,...,n)表示扰动集合,扰动集合中每个扰动ρm在集合{-em,0,+em}中随机选取,em表示对应ρm的扰动增益参量;

302:根据扰动ρm的-em,0,+em取值情况将mKk-1对应分成三组:G0和将mKk-1代入适应度评价函数,得到每个分组对应的平均值:和

303:计算近似的梯度值若且否则

304:对进行正交化处理,乘一个固定的步长因子η得到梯度值从策略集Kk-1减去梯度值得到本次迭代的策略集Kk,并利用Kk进行下一次的迭代;

305:当迭代次数达到预设值Niter时,迭代结束。

一种基于上述模型参数修正方法的模型参数修正器,该模型参数修正器输出为步伐大小的修正量Δs和躯干角的修正量ΔθB,模型参数修正器的输出传递给倒立摆模型和机器人模型进行补偿,满足以下公式:

s=s-Δs

θB,i=θB,i-1-ΔθB

其中,为下一个单脚支撑阶段步伐大小,每一个单脚支撑阶段只补偿一次;而θB,i为单脚支撑阶段第i帧的躯干角,每一个单脚支撑阶段补偿N次。

一种使用上述模型参数修正器的机器人行走控制方法,包括以下步骤:

1)利用倒立摆模型规划机器人的质心轨迹,进而规划相应的脚部轨迹,然后使用分解速度控制法进行逆运动学计算,得到机器人的关节速度,机器人模型根据关节速度控制机器人行走;

2)设计两个闭环回路,第一条闭环回路:根据机器人的关节空间状态测量质心运动,得到质心的实际值,质心的实际值经卡尔曼滤波后得到质心的估计值,利用卡尔曼滤波后质心的估计值对倒立摆模型中倒立摆输入参数进行自修正;

第二条闭环回路:利用卡尔曼滤波后质心的估计值以及测量的躯干角,使用模型参数修正器进行倒立摆模型中倒立摆输入参数的补偿以及机器人模型中机器人躯干角的补偿。

与现有技术相比,本发明具有以下优点:

1)本发明为了避免大量的在线计算,选择影响步态的关键参数为倒立摆输入参数和机器人躯干角,寻找修正量与机器人模型的内在关系,建立修正量与机器人模型参数的修正方程,从而间接优化学习机器人步态参数。

2)本发明为使得机器人能够根据外界环境进行自适应调整,选择质心跟踪的误差以及身体直立误差作为机器人对当前环境的适应度指标,建立适应度评价函数,从而提高机器人在在增益参数集下的适应度。

3)根据机器人的适应度评价函数,采用策略梯度学习法优化修正方程中的增益系数,对步态关键参数修正,设计了模型参数修正器,并应用在机器人行走控制中,将机器人的行走任务和优化环节分离开,使得计算的速度大大提升。

4)本发明实现基于倒立摆模型的步态规划,预先保证了行走的稳定性,且机器人的步态是实时可调的,有效地提高了机器人的自适应性和鲁棒性,适用于机器人在未知扰动下的行走。

附图说明

图1为为策略梯度学习法的适应度方程曲线;

图2为使用模型参数修正器的仿人机器人行走控制框图;

图3为采用模型参数修正器对机器人躯干角的修正效果图;

图4为采用模型参数修正器对倒立摆质心规划轨迹的修正效果图,其中(4a)为倒立摆质心规划轨迹在x轴位置上的修正效果图,(4b)为倒立摆质心规划轨迹在y轴位置上的修正效果图;

图5为采用模型参数修正器对机器人落脚点的修正效果图,其中(5a)为机器人落脚点在x方向位置上的修正效果图,(5b)为机器人落脚点在y方向位置上的修正效果图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

以仿人型机器人NAO为例,来说明本发明提出的基于策略梯度学习法的模型参数修正方法、模型参数修正器设计方法及模型参数修正器在NAO机器人行走控制中的应用。

基于策略梯度学习法的模型参数修正方法,用于倒立摆模型及机器人模型中关键参数的修正,包括以下步骤:

S1:建立修正量的模型参数修正方程:

若采用三维倒立摆模型抽象简化机器人模型,规划机器人的质心轨迹和相应的脚部轨迹,那么在倒立摆的输入参数中,影响机器人步态的参数有很多,如机器人在x方向和y方向的步伐大小sx、sy,行走过程中的抬脚高度sz和倒立摆的高度h等。除此之外,机器人是一个多自由度的高维模型,倒立摆模型是无法完全描述的,如躯干姿态θB等。选择x轴向步伐大小sx、y轴向步伐大小sy、x轴向躯干角θB,x、y轴向躯干角θB,y作为影响步态的关键参数,建立模型参数修正方程如下:

Δsx=K1·1NΣi=1N(xf,x,i-xe,x,i)+K3·1NΣi=1N(θB,y,i-θB,y,iref)

Δsy=K2·1NΣi=1N(xf,y,i-xe,y,i)+K4·1NΣi=1N(θB,x,i-θB,x,iref)

ΔθB,x=K5·1NΣi=1N(pLHip,z,i-pRHip,z,i)

ΔθB,y=K6·1NΣi=1N(pSuppFoot,x,i-pHead,x,i)

其中,下标x、y、z分别表示x、y、z轴向,s为步伐大小,Δs为步伐大小的修正量,θB为躯干角,ΔθB为躯干角的修正量,N为一个单脚支撑阶段的插值的步数,tb为单脚支撑阶段开始时间,te为单脚支撑阶段结束时间,ΔT为采样时间,下标i表示单脚支撑阶段中第i个步数,xf为卡尔曼滤波后质心的估计值,xe为质心的理想值,为躯干直立时的倾斜角,pRHip和pLHip分别为机器人右腿和左腿髋关节(Hip关节)的位移,pHead和pSuppFoot分别为机器人头部关节和支撑脚的位移,K1,...,K6为增益参数。

此参数修正方程的设计,考虑了机器人在x和y方向落脚点的修正以及躯干直立程度的修正。x方向的步长修正量Δsx与x轴向质心的误差和y轴向躯干角的误差相关,因为y轴向躯干角度代表了身体前后的倾斜;y方向的步长修正量Δsy与y方向质心的误差和x方向躯干角的误差相关,因为x方向的躯干角度代表了身体左右的倾斜;x轴向躯干角修正量ΔθB,x与左右腿Hip关节的高度差相关,这是因为当机器人需要保持双脚着地或执行行走任务时,若身体左右倾斜,会造成髋关节有一定的高度差,而对于腰部无驱动关节的机器人,身体的倾斜实际上主要由两髋关节高度差产生;y轴向的躯干角修正量ΔθB,y与头部关节和支撑脚x方向的距离差有关,这是因为对于腰部无驱动关节的机器人,当机器人身体前后倾斜时,可近似等效为机器人以支撑脚为支点的连杆转动,此时连杆原点为支撑脚,末端为头部,两者在x方向距离差的大小代表了身体的倾斜程度。

S2:建立适应度评价函数:

当机器人受未知扰动后,经过调整若能保持较高的质心跟踪精度和较好身体直立姿态,则表示机器人的适应度较高,故选择机器人质心跟踪的误差以及机器人身体姿态相对于直立状态的误差作为机器人对当前环境的适应度指标,建立适应度评价函数F(K)如下:

F(K)=αx(|Δsx|+|Δxx|)+αy(|Δsy|+|Δxy|)+βx(|ΔθB,x|+|ΔθB,x|)+βy(|ΔθB,y|+|ΔθB,y|)

Δxx=1NΣi=1N(xf,x,i-xe,x,i)

Δxy=1NΣi=1N(xf,y,i-xe,y,i)

ΔθB,x=1NΣi=1N(θB,x,i-θB,x,iref)

ΔθB,y=1NΣi=1N(θB,y,i-θB,y,iref)

其中,K={K1,...,K6}表示增益参数集,αx、αy、βx和βy为权重因子,分别代表了x、y方向质心误差所占权重以及x、y轴向身体倾斜角度误差所占权重,且满足αxy=1,βxy=1,适应度评价函数的值越小,表示机器人在增益参数集下的适应度越高。

适应度评价函数每一项都包含了补偿量绝对值和平均误差均值,由补偿器输出的绝对值、质心误差的绝对值以及身体倾斜角误差的绝对值,以不同权重线性叠加得到,前两项代表了质心跟随效果,后两项代表了身体直立效果。适应度评价函数的方程在策略梯度学习的过程中,若取值逐渐减小,则意味着质心跟随的误差和身体倾斜的偏差逐渐减小,机器人在当前参数集下的适应度逐渐增强;倒立摆输入参数的修正量和身体倾角的修正量不能过大,以保证机器人的关节空间配置在合理的范围内。同时,需要指出的是,目标方程没有与机器人行走时间直接关联,但身体的直立效果越好,则意味着机器人能够执行质心跟踪的时间越长。

S3:模型参数优化学习:

使用策略梯度学习法对增益参数集K进行优化,依次为参数集内每个参数的赋值,并根据增益参数集和机器人当前状态计算适应度函数值。策略梯度学习法基本原理是:假设目标方程F(K)对于K内每个参数都是可导的,通过计算F(K)的梯度,从而得到局部最优解K*,则策略梯度学习法的具体步骤为:

301:在第k次迭代中,对于上一次迭代获得的增益参数集Kk-1,计算F(K)在Kk-1内每个参数值处的偏导,并在Kk-1附近随机生成n个策略,得到的策略集用mKk-1(m=1,...,n)表示,策略集mKk-1为n维向量,策略的个数n与搜索空间成正比,策略集的生成公式如下:

mKk-1Kk-1+mρ

其中,mρ(m=1,...,n)表示扰动集合,扰动集合mρ为n维向量,扰动集合中每个扰动ρm在集合{-em,0,+em}中随机选取,em表示对应ρm的设定的扰动增益参量,扰动集合中的扰动ρm与策略集mKk-1中的策略一一对应;

302:根据扰动ρm的取值为负值、取零值或者正值的情况将mKk-1对应分成三组:G0和将mKk-1代入适应度评价函数,得到每个分组对应的平均值:和

303:根据和计算近似的梯度值具体为:若且否则

304:对进行正交化处理,乘一个固定的步长因子η得到梯度值从策略集Kk-1减去梯度值得到本次迭代的策略集Kk,并利用Kk进行下一次的迭代;

305:当迭代次数达到预设值Niter时,迭代结束,如果Niter足够大,可以保证得到的解K*为局部最优解。

得到局部最优增益K*后,带入模型参数修正方程可以计算得到下一个单脚支撑阶段的修正量,该局部最优的修正量用于对机器人倒立摆输入参数以及躯干角进行修正。

设计输出为步伐大小的修正量Δs和躯干角的修正量ΔθB的模型参数修正器,该模型参数修正器的输出传递给倒立摆模型和机器人模型进行补偿,满足以下公式:

s=s-Δs

θB,i=θB,i-1-ΔθB

其中,为下一个单脚支撑阶段步伐大小,作为修正后的倒立摆模型输入参数,每一个单脚支撑阶段只补偿一次;而θB,i为单脚支撑阶段第i帧的躯干角,每一个单脚支撑阶段补偿N次。

图2为使用模型参数修正器的机器人行走控制框图,xm为质心测量值,忽略测量误差情况下,可理解为质心的实际值,为机器人的关节速度,则使用模型参数修正器的机器人行走控制方法包括以下步骤:

1)利用倒立摆模型规划机器人的质心轨迹,进而规划相应的脚部轨迹,然后使用分解速度控制法进行逆运动学计算,得到机器人的关节速度,机器人模型根据关节速度控制机器人行走;

2)将机器人的行走任务和优化环节分离开,设计两个闭环回路,第一条闭环回路:根据机器人的关节空间状态测量质心运动,得到质心的实际值,质心的实际值经卡尔曼滤波器后得到质心的估计值,利用卡尔曼滤波后质心的估计值对倒立摆模型中倒立摆输入参数进行自修正;

第二条闭环回路:利用实际的质心运动、惯性单元测量的躯干角度,使用基于策略梯度学习法的模型参数修正器进行倒立摆模型中倒立摆输入参数的补偿以及机器人模型中机器人躯干角的补偿。

在机器人行走过程中某一次调用参数补偿器时,策略梯度学习法的适应度函数取值曲线如图1所示,适应度函数曲线整体呈下降趋势,表示质心跟踪的误差和躯干角误差是逐渐减小的,机器人的适应度是逐渐增强的,因而参数修正器对模型的修正是有效的。

若在9s时向机器人施加峰值为6.44N、持续时间约为0.5s的力,方向主要沿y轴正方向,施力点为机器人胸口部位。为采用模型参数修正器对机器人躯干角的修正效果如图3所示,可以看出机器人在受外力后向左后方倾斜,经过9s左右的调整,x轴向(x-axis)的躯干角曲线恢复正常行走时的周期性波动,而y轴(y-axis)向的躯干角曲线经过约1s的调整则恢复正常波形。由于机器人惯性单元传感器无法测得z轴向(z-axis)的躯干角度,参数补偿器设计中也未添加z轴向躯干角补偿量,所以z轴向躯干角一直为0。

采用模型参数修正器对倒立摆质心规划轨迹的修正和实际测量的质心轨迹如图4所示,Expected CoM为理想质心轨迹,Measured CoM为实际测量的质心轨迹,在补偿器的作用下理想质心轨迹会有一定的变化,质心有着良好的跟踪效果,外力作用对质心跟踪基本没有产生影响。外力作用下倒立摆的输入参数进行重新修正,单脚支撑阶段的开始时间和结束时间需要重新计算,所以造成支撑脚切换时质心在y方向的波动,但经过两步的调整,y方向的质心轨迹重新恢复平滑状态。

采用模型参数修正器对机器人落脚点的修正效果如图5所示(相对于机器人初始站立时两脚中心点,左为x方向,右为y方向),Reference position为不使用修正器时机器人的落脚点曲线(点线),Measured position为实际测量的位置,机器人进行固定的前向行走。增加了参数修正器后,机器人受外力后x方向步伐大小减小,结束20步行走后在x方向行走的距离减小;在y方向,当机器人受到向左的外力后,由于身体向左倾斜,导致质心向左偏移,机器人向左连续迈步,前两步补偿量较大,后几步由于躯干恢复直立,y方向的步伐大小逐渐恢复受外力之前的大小。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号