本发明涉及人工智能技术领域,特别是涉及一种基于垂直身体运动的仿人机器人步态规划方法、一种机器人步行运动控制器。
背景技术:
仿人双足机器人是通过模仿人体外形、结构和功能而设计的一类仿生机器人,一般具有双臂、双腿、躯干和头部等人体结构特征,能够像人一样进行双手协同作业和双足稳定行走。与轮式、履带式机器人相比,仿人双足机器人独特的单、双腿交替支撑行走模式具有更大的机动性和更强的环境适应能力,未来有望在军事、服务、科普和娱乐等领域获得广泛应用,具有重大的理论研究意义和实际应用价值。
然而,在许多研究中,双足机器人的复杂动力学近似为一个单质量集中在质心的倒立摆,kajita等人。提出了直线倒立摆模型(lipm),它提供了一种解耦的方法来独立生成com在恒定高度下的纵向和矢状轨迹。考虑到摆动脚的质量,park和kim以及albert和gerth提出了重力补偿倒立摆模式(ipm)和两质量ipm。ha和choi提出了虚高ipm(vhipm),它具有多质量ipm的动力学形式。shimmyo等人。提出了一种三质量ipm(3mpm),并将其扩展到预览控制。模型误差和计算复杂性需要折衷。
技术实现要素:
本发明要解决的技术问题是克服现有的缺陷,提供一种基于垂直身体运动的仿人机器人步态规划方法,主要包括三部分,即机器人建模、步态合成(gsyn)和步态参数优化(gpo),其中机器人建模是降低机器人动态平衡处理复杂度的前提,但必须保证一定的逼近误差;步态合成确定一系列协调的腿部运动;步态参数优化可以通过适当的优化方法来改善步态合成器参数化步态运动的能量损失,在身体垂直运动的基础上,将步态合成和步态参数优化方法用于双足机器人,实现仿人机器人在稳步行走前提下能量优化。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明实施例的第一方面提供了一种基于垂直身体运动的仿人机器人步态规划方法,包括机器人建模(即建立仿人双足机器人模型)、步态合成(gsyn)和步态参数优化(gpo)。
其中,仿人双足机器人模型采用三维倒立摆机器人模型,具体为一个上半身和两条腿,每个腿由六个机动关节连接,即三个在臀部,一个在膝盖,两个在踝关节。如图1所示,三维倒立摆模型的一个上半身和两个踝关节有点质量。该模型便于计算zmp方程,实时生成稳定的物体轨迹,但存在建模误差,因此采用足部支撑区的收缩区(azr)来弥补模型的不足。
步态合成采用改进的步态合成gsyn算法,gsyn算法通过合成具有起始步骤、多个循环步骤和停止步骤的完整步态周期,快速生成朝向目标距离的稳定且节能的步态轨迹;
步态参数优化采用步态参数优化gpo算法,gpo算法利用迭代参数优化技术,对gsyn算法中的步态参数进行优化,使步态轨迹的能量消耗最小;gpo算法利包括可行性和能量评估,以进一步找到更好的可行步行运动;
进一步的,所述采用gpo算法对gsyn算法中的步态参数进行优化过程,具体为采用gpo算法对四个步态参数即平均身高、垂直身体运动vbmr振幅、步数和平均步行速度进行优化;
本发明实施例的第二方面提供了一种机器人步行运动控制器,主要包括以下几个方面:
数据采集模块:用于通过choregraphe采集的机器人关节以及位姿数据,并通过脚部安装的传感器采集压力分布的数据;
步态合成模块:通过收集到的步态参数用于计算步长和持续时间并且生成笛卡尔轨迹,形成一种步态规划;
步态参数优化模块:通过逆运动学得到能源消耗的估值,再通过可行性分析对步态中涉及的参数进行评估优化。
与现有技术相比,本发明的有益效果:
本发明提出了基于垂直身体运动的仿人机器人步态规划方法,可以有效的加快仿人机器人行走的速度以及鲁棒性,同时运用步态合成算法和步态参数优化算法有效降低了能量消耗。
本发明提出了基于垂直身体运动的仿人机器人步态规划方法,是一种在三维倒立摆模型上基于垂直身体运动和足部支撑区的收缩区(azr)的步态节能算法,以提高人体轨迹的能量效率。对于一个完整的步行周期,即一个起始步、多个循环步和一个停止步的步态规划,提出的步态合成算法利用azr提供新的伪梯形速度的人体轨迹。此外,我们还通过四个步态参数的步态优化算法来降低电机的能量消耗。该算法为仿人机器人提供了一种产生稳定步态运动的通用方法,并提高了节能效果。
附图说明
图1为本发明技术方案中两足机器人模型的等效简化三维自由体图;
图2为本发明具体实施方式中机器人脚部与地面的接触面,其中,虚线的内部是足部支撑区的收缩区(azr),外部区域是稳定裕度;
图3为本发明具体实施方式中整体步态规划算法流程;
图4为本发明具体实施方式中采用choregraphe软件进行方案的能量消耗检测视图;
图5为本发明具体实施方式中鲁棒性对比实验中选择的高尔夫球场地(左图)和标准平台组场地(右图)。
具体实施方式
下面结合附图对本发明进一步说明。
一、仿人双足机器人模型建立
文中所用的nao仿人机器人可以建模为一个上半身和两条腿,每个腿由六个机动关节连接,即三个在臀部,一个在膝盖,两个在踝关节。如图1所示,三维倒立摆模型的一个上半身和两个踝关节有点质量。该模型便于计算零力矩点(zmp)方程,实时生成稳定的物体轨迹,但存在建模误差,因此采用azr来弥补模型的不足。
在基础架构中,将描述单步步行运动;方向与全局框架的方向相同,原点沿x轴移动到当前支撑脚的中心;一般来说,由于难以描述人的行走,机器人的行走运动被几个假设简化。因此,所提出的步态运动是基于以下假设:
1.上半身始终保持直立姿势:与大多数相关研究一样,这一假设是可以接受的,因为人的躯干节距旋转相对较小基本在3.0°范围内。
2.双脚始终保持与地面平行:这对于大多数没有脚趾的两足机器人来说很常见;另外,摆动脚的能量影响相对小于机器人身体的能量影响。
3.一步持续时间包含一个单支撑相(ssp)和一个占空比为25%的双支撑相(dsp):单步持续时间t是ssp和dsp持续时间的总和,分别表示为ts和td。dsp占空比为γ=td/t,由于人类行走的dsp比率约为15%到25%,因此选择γ=0.25。
azr定义为足部支撑区的收缩区,只要zmp在azr区域内机器人就可以稳定行走;它通过获得支撑区域边界点周围的角动量来防止机器人因建模误差而坠落;当左腿支撑时,如图2所示,ssp中的azr是带(a4,a5,a6,a7)的正方形,在前半部分dsp是带有(a1,a2......a6)的六边形,在后半部分dsp是带有(a5,a6......a10)的六边形;所有分区由azr百分比η=wa/w(orla/l)*100定义,其中la和wa是azr的长度和宽度;较宽的azr在能量上更好,但行走稳定性变差;因此,η的值将被确定为折衷值。
二、步态规划
步态规划包括步态合成和步态参数规划两部分;如图3所示,步态合成具体采用步态合成gsyn算法,gsyn算法通过合成具有起始步骤、多个循环步骤和停止步骤的完整步态周期,快速生成朝向目标距离d的稳定且节能的步态轨迹。采用gpo算法对四个步态参数(平均身高h、vbmr振幅、步数n和平均步行速度v)进行优化。笛卡尔轨迹(摆动脚、身体/zmp轨迹)和关节轨迹被确定并用作gpo或机器人关节控制器的输入。
步态参数优化具体采用步态参数优化gpo算法,gpo算法利用迭代参数优化技术,对gsyn算法中的步态参数进行优化,使步态轨迹的能量消耗最小。它涉及到可行性和能量评估,以进一步找到更好的可行步行运动。
1、步态合成gsyn算法
(1)步态参数的信息流
如图3所示,(h,r)的步态参数直接用于生成vbm,(n,v)确定给定目标距离d的步长s和步长t。当起始步和停止步的步长都是一个循环步长的一半时,步长确定为s=d/(n-1),最后的时间和步进持续时间由平均步行速度v确定,分别为tf=d/v和t=d/(v(n γ))。
(2)摆动脚轨迹生成
由于摆脚起降速度应为零,以减小着陆冲击,当左腿支撑时,摆脚轨迹在t∈[-ts/2,ts/2]为:
这里,ts是单支撑相所持续的时间,w是台阶宽度,c是脚间隙,这是脚摆动时的最大台阶高度。在本文中,足部间隙被认为是小的(=1cm)。
(3)利用足部支撑区的收缩区(azr)生成三维人体轨迹
以步态参数(h、r、s、t)为参数,设计一个完整步行周期一步运动的三维人体轨迹。我们慎重地将zmp设置在azr的边界上,使人体轨迹以最小加速度运动,vbm可以避免关节速度过快。因此,关节运动的平滑可以降低能量消耗,提高关节控制器的跟踪性能。因此,我们的整个身体轨迹具有一个伪梯形的速度剖面,它可以分解为三种类型的子区间序列,即线性子区间(lsi)、抛物子区间(psi)和zmp有界子区间(zsi)。一个psi,包括lsi作为它的子集,被用来生成一个加速(减速)子区间或等速区间,当zmp在azr边界处有界时,自然生成一个有界子区间zsi。对于步长和持续时间,我们通过缩小zsi使物体轨迹接近常数或零,从而大大降低了能量。请注意,较窄的azr使zsi变宽。在状态空间(即x轴为
(4)抛物子区间psi和线性子区间lsi
对于初始状态x0和加速度a,任何t>t0处的psi定义为
p(t,t0,a)≡{x|x=a(t)x0 b(t)a}
(5)有界子区间zsi
当azr上的zmpp(t)在任何t>t0有界时,可以重写为一个关于体态x的两个一阶常微分方程的一般积分形式,因此,zsi定义为
在这里,公式(12)的解是用runge–kutta方法从初始状态在误差范围内得到的,这是一种相当简单和鲁棒的方法。
首先,我们将描述一个循环步进轨迹,该轨迹提供了开始和停止步之间的大部分步行周期,然后规划起始身体轨迹,将静止状态连接到具有状态连续性的循环步进运动。
(6)循环步进物体轨迹生成
由于这种对称运动可以用x轴奇对称和y轴偶对称的函数来表示,因此,在矢状面和侧向平面上,循环体轨迹被推导出为单步运动的一半,即t∈[0,t/2]。
使用余弦函数生成垂直物体轨迹。虽然这种运动不像人类步行那样自然,但由于人体的vbm略有变化,具有周期性函数的规律性,足以描述机器人的行走运动。因此,垂直物体轨迹表示为
无论是否在ssp结束时进行zsi,沿着x轴一个循环步的右半身轨迹有两种模式,即低速行走和高速行走。
2步态参数优化gpo算法
(1)grf、grm和可行性评估
根据图1所示机器人模型的等效自由体图,推导出l腿的地面反作用力grfflg和地面反力矩grmmlg,用于评估可行性和能耗。由人体和双脚的惯性和重力对双腿施加的力和力矩进行平衡的六个平衡方程如下。
机器人本体(b)至两个髋关节(l6和r6):
腿l的臀部(l6)和脚踝(l1)之间的连接
0=fbl6 fl16,mbl6 ml16 rl16*fbl6=0.(6)
脚(lg)到腿l的脚踝(l1)
使用(28),(29)和(30),力-力矩平衡方程为
式中,
其中,rl#对于l∈{l,r}是zmp和脚在支撑多边形上的最近点,rzmp#是zmp在从rl#到rr#的线段上的投影。最后,grfs和力矩确定为
[frgmrg]=α[fgmg],[flgmlg]=(1-α)[fgmg].(10)
(2)能源评价
腿l每个关节的速度和扭矩由下式得出
式中,
[fbl6mbl6]t=[fl-flg-(mlg rlg6*fbl6)]t(12)
(3)gpo算法
gpo算法被有效地处理为一个一般的双层优化问题,其中带有(n,v)的内部优化嵌套在另一个带有(示,r)的优化中。为了使能耗e最小化,上层优化任务通过l-bfgs-b方法反复更新
实验例
在实际的仿人机器人上验证步态规划的能量效率和行走稳定性是非常必要的。通过机器人在实际场地上的步行表现进行实验。
为了降低机器人的上半身的干扰,实验中我们尽可能减少机器人上半身运动以保证身体的垂直。zmp区域可以视为机器人支撑脚的区域,而azr区域可通过choregraphe软件检测到的机器人足底的受力情况得到,如图4所示。同时,该程序也可以帮我们实时的检测到机器人的电量、电机温度以及机器人是否摔倒。这对检验步态规划的能量消耗提供了直观的观测方法。
1、鲁棒性对比实验
为了测量不同步态规划下机器人的鲁棒性,本小节将在两种不同的场地下进行实验,如图5所示:
1、机器人高尔夫球比赛场场地,其中白色区域为边界线,蓝色区域为球洞及黄杆的位置;
2、机器人足球比赛标准平台组的场地是由人类足球场等比例缩建而成,其中比赛场地长度约9m,宽度约6m。
标准平台组场地中的白色部分(发球点、中心圆以及边界线)由于地面材料以及拼接的原因会对机器人的行走产生一定的影响,我们将其视为测试步态规划鲁棒性的干扰因素。而高尔夫球场地上干扰因素较少,仅有白色边界线(其他影响因素可以忽略不计)。
表1不同场地行走实验数据
由实验数据可知,经过本发明方案步态合成算法优化的步态规划具有更快的速度和更好的鲁棒性。
2节能对比实验
考虑到不同机器人的蓄电池以及电机性能各不相同,机器人步态规划的能量消耗对比实验将在同一台机器人上进行。令机器人行走相同的距离并预估机器人的耗能,通过choregraphe软件测试得到的机器人耗电量以及电机的温度得到实验结果。
表2节能对比实验数据
由表2可知,经过本发明方案步态参数优化算法改良过后的步态可以有效的减少能量消耗,防止电机过热。
1.一种基于垂直身体运动的仿人机器人步态规划方法,其特征在,包括建立仿人双足机器人模型、步态合成(gsyn)和步态参数优化(gpo);
步态合成采用改进的步态合成gsyn算法,gsyn算法通过合成具有起始步骤、多个循环步骤和停止步骤的完整步态周期,快速生成朝向目标距离的稳定且节能的步态轨迹;
步态参数优化采用步态参数优化gpo算法,gpo算法利用迭代参数优化技术,对gsyn算法中的步态参数进行优化,使步态轨迹的能量消耗最小;gpo算法利包括可行性和能量评估,以进一步找到更好的可行步行运动。
2.根据权利要求1所述的一种基于垂直身体运动的仿人机器人步态规划方法,其特征在于,所述仿人双足机器人模型采用三维倒立摆机器人模型,具体为一个上半身和两条腿,每个腿由六个机动关节连接,即三个在臀部,一个在膝盖,两个在踝关节。
3.根据权利要求2所述的一种基于垂直身体运动的仿人机器人步态规划方法,其特征在于,所述三维倒立摆机器人模型的一个上半身和两个踝关节有点质量,采用足部支撑区的收缩区(azr)来弥补模型的不足。
4.根据权利要求1所述的一种基于垂直身体运动的仿人机器人步态规划方法,其特征在于,所述采用gpo算法对gsyn算法中的步态参数进行优化过程,具体为采用gpo算法对四个步态参数即平均身高、垂直身体运动vbmr振幅、步数和平均步行速度进行优化。
5.根据权利要求1所述的一种基于垂直身体运动的仿人机器人步态规划方法,其特征在于,所述gpo算法的输入具体为笛卡尔轨迹和关节轨迹,其中笛卡尔轨迹包括摆动脚、身体轨迹、zmp轨迹,所述zmp轨迹跟踪采用步态分解方法,将行走过程分为单支撑相(ssp)和双支撑相(dsp)。
6.根据权利要求5所述的一种基于垂直身体运动的仿人机器人步态规划方法,其特征在于,将所述身体轨迹含有的一个伪梯形的速度剖面分解为三种类型的子区间序列:线性子区间(lsi)、抛物子区间(psi)和zmp有界子区间(zsi),用来生成生成三维人体轨迹。
7.一种机器人步行运动控制器,主要包括以下几个方面:
数据采集模块:用于通过choregraphe采集的机器人关节以及位姿数据,并通过脚部安装的传感器采集压力分布的数据;
步态合成模块:通过收集到的步态参数用于计算步长和持续时间并且生成笛卡尔轨迹,形成一种步态规划;
步态参数优化模块:通过逆运动学得到能源消耗的估值,再通过可行性分析对步态中涉及的参数进行评估优化。
技术总结