一种基于CPG模型的仿人机器人步态规划方法与流程

文档序号:12863033阅读:3382来源:国知局
一种基于CPG模型的仿人机器人步态规划方法与流程

本发明涉及仿人机器人技术领域,尤其涉及一种基于cpg模型的仿人机器人步态规划方法。



背景技术:

仿生学的中心模式发生器(centralpatterngenerator,cpg)是由神经元构成的局部震荡网络,能够通过神经元之间的相互抑制产生稳定的相位锁定,并通过自激振荡产生躯体相关部位的节律运动,受其启发,一些研究人员提出基于仿生学的步态方法。然而cpg模型中有大量参数的没有明确的物理意义,难以确定取值,导致cpg模型难以直接应用于机器人步态规划中,为此,endo等简化了cpg模型,利用参数较少的振荡器来规划仿人机器人的步态;ha等提出线性耦合振荡器(linearcoupledoscillator)模型,并将其应用于能够承受计算代价有限的小型仿人机器人中。

但是现有技术这种将线性耦合振荡器模型应用到仿人机器人步态规划时,当机器人急加速或者快速移动时还是容易出现前后震荡而导致摔倒。



技术实现要素:

本发明所要解决的技术问题是:提供一种基于cpg模型的仿人机器人步态规划方法,采用这种规划方法,当机器人急加速或者快速移动时不容易出现前后震荡而导致摔倒。

本发明所采用的技术方案是:一种基于cpg模型的仿人机器人步态规划方法,它包括以下步骤:

(1)、根据机器人具体的硬件参数,建立相应的耦合振荡器模型:

oscs(t)=oscb(t)+oscm(t);

式中,oscm(t)表示双腿末端相对于固定质心的运动轨迹,即运动振荡器的输出;oscb(t)表示质心相对于参考坐标系的运动轨迹,即平衡振荡器的输出;oscs(t)为双腿末端相对于实际质心的运动轨迹,即耦合振荡器的输出;

(2)、改进模型,增加质心偏移控制项,得到改进后的振荡器模型:

oscs(t)=oscb(t)+oscm(t)+effect;

式中,effect表示机器人初始位置对应耦合振荡器的增益;

(3)、以速度为输入条件,利用遗传算法优化,得到步骤(2)中的参数的最优值,然后再将得到的参数最优值代入步骤(2)中的模型。

步骤(1)中的oscb(t)的具体公式为:

oscb(t)=ρbsin(ωbt+△b)+ub;

式中,ρb为平衡振荡器的振幅,ωb为平衡振荡器的频率,△b为平衡振荡器的初相位,ub是平衡振荡器的偏移量;

步骤(1)中oscm(t)的具体公式为:

式中,ρm为运动振荡器的振幅,ωm为运动振荡器的频率,△m为运动振动器的初相位,t为一个步行周期时间,r表示双脚支撑时间在总周期所占的比例。

步骤(3)中利用遗传算法优化的参数为ρb和effect。

步骤(3)中的遗传算法先设定种群规模、交叉概率、进化概率以及进化代数限制数,然后采用轮盘赌博法选取优秀种群,优化目标由下式给出:

object:minimizef(ρb,offect)=max|xzmp(t)-xfcenter|+ρb,t∈[0,t],

式中,xzmp为零力矩点的x轴坐标,其公式为其中,n为机器人的连杆数目,mi为i号连杆质量,g为重力加速度,xi和zi分别是i号连杆x轴和z轴的位置,则为其对应的加速度;

式中,xfcenter为机器人支撑腿中心点的x轴坐标,其公式为其中xtip为支撑腿腿尖到原点的距离,xheel为支撑腿腿跟到原点的距离;

式中,max|xzmp(t)-xfcenter|为一个周期内零力矩点与支撑腿中心点在x轴向的最远距离。

采用以上方法与现有技术相比,本发明具有以下优点:本申请在现有技术的耦合振荡模型中增加了质心偏移项,并提出了一种优化行走控制参数的算法以改善整个步态规划方法,主要是将行走过程中x轴向zmp稳定裕度和质心的振荡幅度组合起来作为优化目标,采用遗传算法作为求解的工具,在不同速度输入下求取对应的最优参数,这样就能够在不同速度输入下找到机器人的较优参数,保证其有较大的稳定裕度,能够提高仿人机器人行走的稳定性,减小了机器人前后振荡发散而摔倒的概率。

附图说明

图1为本发明一种基于cpg模型的仿人机器人步态规划方法中耦合振荡器模型的说明图。

图2为本发明一种基于cpg模型的仿人机器人步态规划方法中遗传算法的流程图。

具体实施方式

以下结合附图与具体实施方式对本发明做进一步描述,但是本发明不仅限于以下具体实施方式。

一种基于cpg模型的仿人机器人步态规划方法,它包括以下步骤:

(1)根据机器人具体的硬件参数,建立相应的耦合振荡器模型:

oscs(t)=oscb(t)+oscm(t);

式中,oscm(t)表示双腿末端相对于固定质心的运动轨迹,即运动振荡器(movementoscillator)的输出;oscb(t)表示质心相对于参考坐标系的运动轨迹,即平衡振荡器(balanceoscillator)的输出;oscs(t)为双腿末端相对于实际质心的运动轨迹,即耦合振荡器的输出;两个振子分别对质心与双足的位姿便捷化规律进行描述,如图1所示,人类行走实验发现,正常行走时,人体踝关节和质心运动接近于正弦波动曲线,上述两个振子分别可表示踝关节和质心的拨动,而耦合振荡器是由上述两个振子叠加起来的,所以可以表示人的整体步行曲线。

步骤(1)中的oscb(t)的具体公式为:

oscb(t)=ρbsin(ωbt+△b)+ub;

式中,ρb为平衡振荡器的振幅,ωb为平衡振荡器的频率,△b为平衡振荡器的初相位,ub是平衡振荡器的偏移量;

步骤(1)中oscm(t)的具体公式为:

式中,ρm为运动振荡器的振幅,ωm为运动振荡器的频率,△m为运动振动器的初相位,t为一个步行周期时间,r表示双脚支撑时间在总周期所占的比例。

并且根据上述公式,可以得到在t时刻,质心位置c(t)、右脚末端位置r(t)以及左脚末端位置l(t);

步行一周期内,两腿支撑时间各占一般,在内右腿为支撑点,在内左腿为支撑点,在右腿为支撑腿左腿为摆动腿时,右脚坐标不变设为r0,则时:

在左脚为支撑腿右脚为摆动腿时,左脚坐标不变设为l0,则时:

在确定初始的支撑点坐标后,由上式可以得到每一时刻t的中心点坐标c(t)、右脚坐标r(t)以及左脚l(t),知道这三点坐标后再又逆运动学可以得到机器人双腿多个电机的电机值,电机每时刻运动到指定位置实现机器人的双腿行走。

(2)改进模型,增加质心偏移控制项,得到改进后的振荡器模型:

oscs(t)=oscb(t)+oscm(t)+effect;

式中,effect表示机器人初始位置对应耦合振荡器的增益;

由步骤(1)中的振荡器模型可得9个参数,其中ρm、t以及r是由速度任务给定的,且t确认后ωm、ωb也随着唯一确定,△m、△b、ub可以由机器人初始时刻左右腿末端需求位置定义,这样就只剩下平衡振荡器的振幅ρb了,它一定程度上影响这平衡,实验表明机器人运动的速度越大质心的振幅越大,运动的速度越小,质心的振幅越小,然而当质心振幅增大时,机器人晃动幅度也随着增大,成为行走的不稳定因素,一旦有扰动产生,容易使晃动超调,最终使机器人摔倒,所以单独的ρb也不是最佳的控制因素。

根据人体行走规律发现,当急加速时总是使重心向前,急减速时使重心向后,以此来客服速度变化而引起的惯性力的变化,保持行走的稳定性。受到这一启发,本申请才在耦合振荡器模型上加上了质心偏移项effect,这样当增大effect时,机器人质心相对后移,减小effect时机器人质心相对前移,通过调节effect值的带下可以调节机器人质心的相对位置,进而控制机器人平衡性。实验发现组合调节ρb和effect的值可以有效的改善机器人的稳定性,然而只通过手动调节很难找到合适的参考值,想要保证机器人在不同速度下的稳定性,必须在以速度为输入条件对机器人参数进行优化,所以本申请采用遗传算法进行参数优化。

(3)以速度为输入条件,利用遗传算法优化,得到步骤(2)中的参数的最优值,然后再将得到的参数最优值代入步骤(2)中的模型。

步骤(3)中的遗传算法先设定种群规模、交叉概率、进化概率以及进化代数限制数,然后采用轮盘赌博法选取优秀种群,优化目标由下式给出:object:minimizef(ρb,offect)=max|xzmp(t)-xfcenter|+ρb,t∈[0,t],

式中,xzmp为零力矩点的x轴坐标,其公式为其中,n为机器人的连杆数目,mi为i号连杆质量,g为重力加速度,xi和zi分别是i号连杆x轴和z轴的位置,则为其对应的加速度;

式中,xfcenter为机器人支撑腿中心点的x轴坐标,其公式为其中xtip为支撑腿腿尖到原点的距离,xheel为支撑腿腿跟到原点的距离;

式中,max|xzmp(t)-xfcenter|为一个周期内零力矩点与支撑腿中心点在x轴向的最远距离。

本申请中设定种群规模m=100,较差概率pc=0.5,进化概率pe=0.02,进化代数限制为t=1500,遗传算法的过程如图2所示。

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