宫赤坤 高丽丽
(上海理工大学 机械工程学院,上海 200093)
双足机器人的研究已逐渐成为机器人学中一个令人关注的焦点。双足机器人对环境具有良好的适应性,其仿人的特性使其具有广阔的应用前景,各国越来越重视对仿人双足机器人的研究工作。与传统的轮式机器人等相比,仿人机器人最难解决的问题之一就在于对步态的规划[1],而上楼梯的步态规划更加困难。仿人双足机器人主要是模仿现实中人腿的结构和运动形式的机器人系统[2]。由于双足机器人具有人腿的结构特征,因此能够适应各种不同的路况环境。稳定行走是仿人机器人研究的关键技术,多年来对仿人机器人的研究主要集中在实现平整地面上的双足稳定行走,并取得了一些成果。但是如何在复杂地面上实现快速稳定行走一直是仿人机器人研究中的瓶颈问题[3]。本文中通过观察分析现实中人腿的结构及其上楼梯的过程设计了双足机器人的模型,每条腿具有5个自由度来模仿人的上楼梯步态。人的步行具有周期循环性[4],左右腿不断交替支撑身体达到行走的目的,因此本文中着重利用双腿的周期循环性来设计模仿行走步态,并且在ADAMS中对设计的步态进行虚拟仿真来验证步态轨迹规划的正确可行性。根据虚拟样机的运动参数设定现实中物理样机的驱动参数来实现仿人双足机器人的上楼梯动作。
先使用三维软件SolidWorks画出双足机器人的各个零件,然后进行装配得到完整的双足机器人的腿部和髋部。导入到ADAMS中,添加好质量,约束,运动副等元素后的虚拟样机模型如图1所示。
为了进行双足机器人的上楼梯轨迹规划,首先建立坐标系,本文坐标系建立方法如下:基础坐标系固定在地面上。对机器人进行逆运动学分析的时候需要两个坐标系的轨迹才能计算出所有坐标系的位姿,一般选取髋部和末端。故为了逆运动学计算过程中髋部和末端的轨迹容易得到,所以决定在髋部建立一个没有转动关节的坐标系,然后以该坐标系为基坐标系,按照D-H方法来建立两条腿各个关节的坐标系。为了容易得到末端的轨迹,将最后一个末端坐标系建立在脚板前端的中心处,末端坐标系原点和髋部两侧坐标系原点在同一YOZ平面内,这为机器人上下台阶轨迹规划奠定了基础。采用后置法,所以坐标系2和坐标系8都固定在髋部。DH坐标系的建立如图2所示。
图1 双足机器人虚拟样机模型
图2 DH坐标系
根据所设计的双足机器人的脚板尺寸,长和宽分别为84mm和76mm,台阶面的宽度设为85mm,高度设为15mm。初始状态两脚的前端顶到台阶。
根据人的行走方式,上台阶与前进行走有些不同的地方。前进运动将摆动腿抬起之后再向前落下即可,脚的抬起高度没有限制。但是上台阶时因为有台阶高度的限制,所以摆动腿抬起的高度一定要大于台阶的高度,并且在轨迹规划中要注意不能让脚碰到台阶。
1)起步阶段
起步阶段分为5个步态,分别为曲腿下蹲、重心转移至左脚、抬起右腿、迈出右腿和右脚落地。与前进运动相比较多了一个步态,迈出右腿是为了让右脚躲避开台阶的危险点不碰到台阶。
根据以上分析,我们设计起步阶段的上台阶运动示意图,如图3所示。
现给定髋关节和末端轨迹的位置坐标,如表1所示。
分别将髋关节、左腿末端、右腿末端的轨迹(步态0不算在内)按照所给位置坐标拟合成以步态为变量的曲线函数,即可代入到其位姿矩阵中进行逆解计算。在此过程中使用matlab编程计算,即可计算出结果。
图3 起步阶段上台阶运动示意图
表1 髋关节和两腿末端轨迹位置坐标
2)中步阶段
虽然上台阶运动的中步阶段和前进运动的中步阶段一样都具有周期性,但是却不能像前进运动那样直接使用起步阶段的数据,因为上台阶运动中摆动腿迈出的距离为台阶面的宽度85mm,而前进运动中摆动腿迈出的距离为42mm,相差很大,因此当机器人上了一级台阶之后重心在两只脚掌中间,相比较与前进运动而言,不利于下一个运动周期摆动腿的抬起。所以在中步阶段的转移重心步态不仅要将重心向一侧转移,而且还要向前转移才能将整个机器人的重心转移到一只脚掌上,才能完成下个步态抬腿动作。
第一个步态:如图4(a)和图4(b)所示。
当规划机器人髋关节坐标系位置高度为160mm,与下一个台阶的侧面距离为15mm,左脚脚掌不脱离地面转移重心,由画图软件CAD可得点A和点B之间的距离为140mm;若脚掌倾斜45°,脚后跟抬起转移重心则A点和B点之间距离为97.9mm。由示意图可知A点和B点之间为大腿和小腿,其距离不能大于大腿腿长加上小腿腿长。由第二章中坐标系的位置关系可知,大腿腿长为58mm,小腿腿长为50.5mm,因此图4(a)所示的转移重心方法是不能实现的,所以取图4(b)所示转移重心方法。至此,中步阶段循环周期中的第一个步态转移重心完成。
图4 两种重心转移方法比较
第二个步态:重心转移之后应该是抬起摆动腿准备向台阶上迈出,但是由图4示意图可以看出摆动腿在台阶之下且紧挨着台阶侧面,因此直接抬起摆动腿很困难,容易撞到台阶。此时,整个机器人的重心已经完全落在支撑腿上,因此决定这个步态设定为摆动脚绕其踝关节转动,使得摆动脚和台阶之间留下间隙。为了简单起见,此步态可以不用规划,可以将踝关节转角转动一定的角度而其他角度都保持不变即可。
第三个步态:第一个步态和第二个步态已经做好了充分的准备,重心已经完全落在支撑脚上,而且摆动脚和台阶之间已经留有足够的活动空间,因此此步态设定为抬起摆动脚,使摆动脚脱离地面到达单腿支撑期。在重心转移步态中,髋关节的高度为160mm,与台阶面的垂直距离只有145mm,而起步阶段髋关节与地面的高度为180mm,迈上台阶后与台阶面的垂直距离为165mm。如果不将髋关节的高度增大,则下个步态中可能会因为髋关节太低而不能实现,因此此步态不仅要抬起摆动脚而且要抬高髋关节,即达到起步阶段抬起右腿后的状态,期间要注意不能让摆动脚碰到台阶。
第四个步态:摆动脚已经抬起,所以此步态实现摆动腿前迈,此步态与起步阶段的迈腿步态相同。
第五个步态:摆动脚落地。此步态与起步阶段最后一个步态相同。
至此,中步阶段一个循环周期中的半个周期的步态规划完成。中步阶段是左腿和右腿相继作为摆动腿和支撑腿前进上台阶的,因此可将这五个步态中的摆动腿规划和支撑腿规划方法相继用在左腿和右腿上即可完成完整的一个循环周期的轨迹规划。循环往复即可实现机器人上台阶的中步阶段。
3)止步阶段
当机器人上台阶到达台阶最上层,则要停止中步阶段的周期运动循环,进入止步阶段使得机器人能够平稳的停在台阶最上层。分为四个步态,前三个步态和中步阶段的前三个步态相同,实现机器人单脚支撑一只脚抬起。最后一个步态只需将所有的关节恢复到最开始状态即可。此阶段和前进运动的止步阶段类似。
至此,双足机器人上台阶运动规划完毕。
根据ADAMS虚拟样机的建立方法,从SolidWorks中导入模型,建立约束驱动等,然后将轨迹规划出的结果作为样条spline导入ADAMS模型中的的各个驱动函数中即可实现步行运动仿真。仿真结果如图5所示。可以看出本文设计的双足机器人能够很好地实现仿人机器人上楼梯动作,且步态流畅。
由于在虚拟样机中上楼梯运动已经进行完整的仿真,可以说明轨迹规划的结果是正确的。将此结果通过电机控制板输送给各个电机的驱动器即可实现物理样机仿人上台阶运动,如图6所示。可以看出物理样机的行走效果与虚拟样机一致,取得了理想的行走效果。
图5 双足机器人上楼梯运动仿真结果
图6 双足机器人物理样机步行
本文以人的双腿为原型,设计了仿人双足机器人,每条腿有5个自由度,可以自由的模仿人的上楼梯的姿态。设计了一种周期循环的步态,并在动力学仿真软件ADAMS上验证了其机构设计的合理性和步态轨迹规划的正确性,获得的结论为物理样机的制造和性能改进以及最后的实现提供了依据。
[1] 杨东超, 汪劲松, 欧阳兴, 等. 拟人机器人下肢结构设计分析[J]. 机器人技术与应用, 2001, 6 (3), 32-34.
[2] 王建文. 仿人机器人运动学和动力学分析[D]. 国防科技大学, 2003.
[3] 肖乐, 殷晨波, 郑冬华, 仿人机器人上下楼梯稳定行走控制策略[J]. 计算机工程与设计, 2009, 30(10), 2453-2456.
[4] 谢涛, 徐建峰, 张永学, 等. 仿人机器人的研究历史、 现状及展望[J]. 机器人, 2002, 7. 24(4), 367-374.