时间:2024-07-28
刘 凯
仿人机器人步态规划算法,是仿人机器人运动控制中非常重要的部分。近年来步态规划算法发展非常迅速,并成为仿人机器人研究的一个重要分支。由于仿人机器人研制的复杂性,非常有必要建立一个与其物理样机一样的虚拟原理样机系统[1],这样既能够在建立物理样机之前进行运动学仿真,验证关节驱动力矩是否符合各种运动的要求,又便于评估仿人机器人步态规划算法的有效性。在进行仿人机器人步态行走实验前,从保护仿人机器人物理样机的角度,先利用ADAMS仿真软件,在虚拟原理样机系统进行步态算法仿真,从而验证步态算法的稳定性和有效性,显得十分必要。
目前用于仿人机器人步态规划的方法很多,例如:几何约束规划法、模糊逻辑规划法、神经网络规划法、遗传算法规划法和自然步态规划法等。这些步态规划方法,实际上都是基于ZMP稳定性判据的规划方法[2]。公认的ZMP定义为:机器人在行走过程中,其自身重力和惯性力合力的延长线与支撑面的交点[3],也就是说只要仿人机器人在行走过程中,保证其ZMP落在其双足支撑区域内,且该点合力的力矩为零,就可以保证其稳定的行走。本文也采用一种基于 ZMP的仿人机器人离线步态规划算法进行仿真研究,用于验证ADAMS在仿人机器人步态规划算法验证的必要性和有效性。
运动学建模是仿人机器人技术重要的组成部分,是运动分析、离线步态算法编程、轨迹规划的基础[4]。其主要涉及正逆运动学建模。正运动学建模是已知机器人各关节位移变量的值,求末端执行器相对于基座坐标系的位置和姿态。逆运动学建模是给定末端执行器相对于基座坐标系的位置和姿态,计算出各种可能的关节位移变量的相应取值。常用的数学模型有基于 D-H约束的齐次变换法等,本文主要是采用基于 D-H约束的奇次变换法,针对上海交通大学智能机器人研究中心自行设计的小型仿人机器人(以下简称MIH-I)进行正运动学建模。然后进行逆运动学模型求解。
本文针对MIH-I,即双足具有10个自由度的仿人机器人,对其双足进行正逆运动学建模,具体如图2-1所示。首先根据图2-1右边模型建立D-H参数表,然后就可以利用D-H参数表建立10自由度仿人机器人的正运动学模型。双足步行机器人的逆运动学问题可以描述为给定摆动腿的期望位姿,求解各个关节角。一般是通过规划髋关节和踝关节的运动轨迹,然后通过逆运动学模型求解其他关节的角度。本文同样采用在仿人机器人步态规划时,假定其髋关节和踝关节运动轨迹已知,从而通过求解正运动学模型的逆模型,从而得到各个关节对应的运动轨迹,也即各个时刻仿人机器人双足各个关节对应的运动角度。
图2-1 MIH-I样机外观和双足运动学建模图
根据ZMP判据进行步态规划时,目前常用的两种方法为:1.先确定ZMP轨迹然后确定身体各关节的运动轨迹[5],2.先确定双足和髋关节的运动轨迹然后确定ZMP轨迹。第二种方法虽然计算量很大,但是该方法能够确保规划的轨迹是稳定可行的。黄强等就是根据这一方法设计了具有高度稳定性、平滑的步态[6]。本文就是采用这种思想实现了基于ZMP的仿人机器人步态规划算法,并用于ADAMS仿真和物理实验平台进行实验。该算法首先根据机器人行走过程中应满足的约束条件,设计双足和髋关节的运动轨迹,然后由逆运动学计算,计算其它各关节的运动轨迹,再用Vukobratovic提出的 ZMP公式确定步行过程中的 ZMP轨迹。在可变参数的有效范围内通过遍历搜索,找到稳定裕度最大的轨迹作为规划结果。
仿人机器人步态周期(Tc)包含两个周期:单腿支撑周期(Ts)和双腿支撑周期(Td)。在双腿支撑周期,仿人机器人双脚都与地面接触,这个周期起始于前腿的后脚跟与地面接触,结束于后腿的脚趾离开地面时。单腿支撑周期指仿人机器人一条腿与地面接触,另一条腿从后面离开地面摆动到前面的与地面接触这段时间。双腿支撑周期一般占整个步态周期的20%左右[7]。
在确定步态规划的周期参数后,在前向面内,用矢量Xa=[xa(t),ya(t),za(t),θa(t)]和Xh=[xh(t),yh(t),zh(t),θh(t)]分别描述踝关节和髋关节的空间位置,其中xa(t)、ya(t)、za(t)和xh(t)、yh(t)、zh(t)分别表示踝关节和髋关节在基坐标系O0-XYZ中的坐标值。θa(t)表示踝关节与地面的夹角,θh(t)表示髋关节转动的角度。具体关节参数定义如图2-2所示。这样就可以根据需要规划出踝关节和髋关节的运动轨迹。
图2-2 仿人机器人步态参数
仿人机器人步态实际上是周期循环的,如果规划出了右脚单步的步态,则左脚的步态可以通过将右脚步态延时一个步态周期就可以得出。为了产生光滑的轨迹,本文采用 3次样条函数对踝关节和髋关节运动轨迹插值。然后通过逆运动学模型来求解对应其他关节的角度运动轨迹,具体步态规划算法流程图如图2-3所示。
图2-3 步态规划算法
其中Xed表示身体中心线到后面支撑腿中心线的水平距离,Xsd表示身体中心线到前面支撑腿中心线的水平距离,Ds表示单步的步长。
在完成仿人机器人双足各个关节的轨迹规划后,需要通过计算整个步态过程中ZMP的运动轨迹来确定稳定裕度。然后不断通过设定步长,不断调整步态中的参数Xsd和Xed,如式2.1所示,从而选择出一条具有最大稳定裕度的步态规划轨迹。
在选择运动轨迹时,需要不断的迭代计算所有运动轨迹的ZMP轨迹。ZMP的计算公式如式2.2所示。
首先在Solidworks中按照1:1的比例建立MIH-I的虚拟原理样机系统,并导入到ADAMS2005中。然后利用Matlab实现了基于ZMP的步态规划算法。利用Matlab所规划的步态包括起步一共为5步的步态。仿人机器人在开始运动前其腿部高度先下蹲到其总高度的 80%,设定的步态周期为 3秒,步长为10厘米,并生成了步态规划数据文件。
然后将在Matlab中生成的MIH-I腿部的10个关节的角度数据文件,导入到ADAMS中,并利用ADAMS中的样条插值函数AKISPL,将关节角度数据输入到与10个关节自由度相固连的Motion连接中,并进行仿真。
如图3-1所示,仿人机器人在基于ZMP的仿人机器人步态规划算法生成的步态数据文件控制下,实现了很好的运动效果。图4-9是其步态仿真效果图。
图3-1 步态仿真图
本文的实验平台为MIH-I,MIH-I双腿伸直站立时,从脚底至头顶的高度为798mm,左右肩宽为385mm,身体前后纵深距离为208mm,身体总重26kg(不包括电池)。其外形尺寸图如图2-1所示。
在进行仿人机器人MIH-I行走实验前,先将基于ZMP的步态规划算法生成的离线步态数据文件转化为 MIH-I上的运动控制系统实时层可以发送的文件格式。然后在对仿人机器人上的电机进行初始化后,进行了上电行走试验,取得了良好的步态行走效果。具体见图4-1所示。
由图4-1可以看出,所设计和实现的步态规划算法在ADAMS上进行步态仿真后,成功的应用到MIH-I上,并能够很好的控制仿人机器人的行走,实现了较好的行走效果。
图4-1 MIH-I步态实验
在进行仿人机器人步态规划算法研究时,先利用ADAMS建立虚拟原理样机系统,然后在虚拟原理样机系统上进行算法仿真,不仅能够验证步态规划算法的有效性,而且能够起到保护仿人机器人物理样机的功能。本文就是利用ADAMS建立了MIH-I的虚拟原理样机系统,然后在其上进行了基于ZMP的仿人机器人步态算法仿真,并最终将通过仿真的算法运用到 MIH-I的物理样机上,实现了稳定的步态行走,既保护了 MIH-I物理样机不受破坏,又便于进行算法分析,具有很好的应用效果。
[1]史耀强.双足机器人基于ADAMS与Matlab的联合仿真[J]. 机械与电子,2008,(1):45-47.
[2]夏泽洋,陈恳,熊璟.仿人机器人运动规划研究进展[J]..高技术通讯,2007,(10):1092-1099.
[3]张博,杜志江,孙立宁.双足步行机器人步态规划方法研究[J]..机械与电子,2008,(4):52-55.
[4]李颖,辛洪兵,赵东洋.MOTOMAN-HP3型机器人运动学建模.北京工商大学学报,2009,(3):20-24.
[5]胡洪志.仿人步行机器人的运动规划方法研究[D]..国防科学技术大学硕士学位论文,2003:2-3.
[6]Huang Q, Kajita S,etc.A High Stability Smooth Walking Pattem for a Biped Robot[C]//Proc ICRA,99, pp.65-71.
[7]Qiang Huang,Yokoi,K,Kajita S,et al. Planning Walking Patterns for a Biped Robot[J]. IEEE Tran. on Robotics and Automation,2001, 17:280-289.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!