仿人机器人抬起重物的运动学仿真
2015-03-24张凡凡杨文权韩恒恒
李 鹏,张凡凡,杨文权,韩恒恒,赵 进
LI Peng, ZHANG Fan-fan, YANG Wen-quan, HAN Heng-heng, ZHAO Jin
(贵州大学 机械工程学院,贵阳 550025)
0 引言
日、美等国的学者在仿人机器人领域开展了广泛和深入的研究,取得了较多的理论和实践成果,实现了从静态步行到动态步行,从离线规划到实时控制,从平地行走到斜坡、阶梯行走,从简单的双足行走机构到具有手臂、头部以及腰部的仿人机器人的发展[1]。
国内也已研制出各种步行及跑步机器人,但是这些仿人机器人的作用多停留在表演展示阶段,缺少实际应用[2]。
本文主要研究仿人机器人抬起重物的实际应用问题。首先建立仿人机器人的动力学的运动学模型,然后以此为基础,基于人体抬起重物的实际动作姿态,运用MATLAB Robotics Toolbox建立仿人机器人的运动学仿真模型,并对机器人各关节角度进行轨迹规划。最后建立仿人机器人的三维模型,并运用虚拟样机软件ADAMS对轨迹规划结果进行仿真。
1 仿人机器人的结构设计
本文设定仿人机器人结构如图1所示。腿部有三个自由度,分别为踝关节1个自由度,膝关节一个自由度,髋关节1个自由度;胳膊有三个自由度,分别为肩关节两个自由度,肘关节一个自由度。胳膊没有腕关节,抬起重物时,通过小臂末端挂钩于重物上设置的吊耳将重物搬起。同时将机器人的头固定在在躯干上作为躯体的一部分,不考虑脖子的自由度。
因为本文只考虑机器人的前向和上下运动,故踝关节、髋关节和肩关节的外伸和旋转运动不予考虑。
图1 仿人机器人的结构
2 仿人机器人抬起重物的动作设计
要实现机器人稳定的搬运动作,必须合理的安排各个动作顺序和各关节的运动。在基于模型与实际情况相吻合的前提下,为了便于分析,将搬运重物动作分解为下蹲、搬起和站起三个阶段。根据人体搬起重物的动作设计这个动作流程如图2所示。同时这里只考虑机器人的前向和上下方向的运动,可以把仿人机器人简化为平面连杆结构来分析。
图2 仿人机器人抬起重物流程
1)下蹲动作的设计
下蹲动作不考虑腰部以上的身体动作,可以将上肢简化为一个整体,机器人可简化为串联六连杆机构。建立如图3所示坐标系,选取右脚起点为世界坐标系,其与地面固结,各关节处建立局部坐标系。
图3 仿人机器人下肢运动坐标系
运用MATLAB Robotics Toolbox进行轨迹规划求出各关节的角速度、角加速度曲线。可以将六连杆机构平面化,在Robotics Toolbox环境下,根据机器人的D-H方法,建立下肢运动坐标系。规定角度逆时针为正,顺时针为负。运动坐标系中每个杆件用参数采用参数alpha,A ,theta,D来描述。其中alpha为绕轴Xi从轴Zi-1到Zi旋转的角度,A为沿轴Xi从轴Zi-1到轴Z的距离,theta为绕轴Zi-1从轴Xi到轴Xi-1的角度,D为沿轴Zi从轴Xi到轴Xi-1的距离。确定D-H坐标参数后,采用函数link[alpha A theta D sigma]建立机器人杆件三维模型。Link函数中的simga表示关节类型,0代表旋转关节,非0代表移动关节。参考人体搬起重物的动作,机器人下蹲时前跨一步。初始时各关节姿态角q1=[0 0 0 0 0],动作完成后各关节姿态角q2=[-1.3769,2.7563,0.8565,-2.2359,0]。定义时间t=[0:0.0056:2];采用函[q,qd,qdd]=jtraj(q1,q2,t)对所建模型进行关节空间的连续路径运动规划仿真。可求得个关节角度、角速度和角加速度曲线如图4~图6所示。
图4 仿人机器人下肢各关节角度变化
图5 仿人机器人下肢各关节角速度变化
图6 仿人机器人下肢各关节角加速度变化
2)上肢搬起起动作设计
机器人下蹲动作完成后,下肢姿态保持不变,同样可以将下肢简化为一个整体,又由于两只手臂的动作一致,可以将机器人上肢简化为以平面三杆机构。建立如图7所示坐标系。同1)方法在在Robotics Toolbox环境下,根据机器人的D-H结构参数,建立机器人杆件三维模型。
图7 仿人机器人上肢运动坐标系
手臂搬起重物动作可分为两个阶段。首先手臂前伸,小臂末端与重物接触并固定。各关节初始姿态角为姿态角为q1=[0,0,0],动作结束后各关节姿态角为q2=[-0.8538,1.0020,1.0123]。然后双臂搬着重物向躯干方向收回,此阶段初始姿态角为上一阶段完成姿态角,动作完成姿态角为q3=[-0.1537,-0.0723,2.2902]。采用MATLAB Robotics Toolbox进行轨迹规划求出各关节的角速度、角加速度曲线如图8~图10所示。
图8 仿人机器人上肢各关节角度变化
图9 仿人机器人上肢各关节角速度变化
图10 仿人机器人上肢各关节角加速度变化
3)站起动作设计
机器人站起动作为下蹲动作的逆动作,以1)中下蹲动作完成后的各关节姿态角为初始姿态角。动作完成后,由于机器人双臂怀抱重物,机器人若成直立双脚并拢姿态,将会因为机器人重心不落在脚掌ZMP范围内,导致机器人倾覆。故根据人体搬运重物的实际动作姿态,设计仿人机器人站起后各关节姿态角为q2=[-0.18846,-0.25131,0.9425,-0.50263,0]动作完成后下肢各关节姿态。采用MATLAB Robotics Toolbox进行轨迹规划求出各关节的角度、角速度、角加速度曲线如图11~图13所示。
图11 仿人机器人站起时下肢各关节角度变化
图12 仿人机器人站起时下肢各关节角速度变化
图13 仿人机器人站起时下肢各关节角加速度变化
3 仿真模型的建立
为了验证上述方法的有效性和正确性,本文采用虚拟样机软件ADAMS建立了仿人机器人的模型。其主要尺寸如表1所示。机器人的物理样机包括电机、轴承座、轴承、传动机构等很多零件,进行运动学和动力学仿真时,无需注重这些具体零件的细节,只需考虑他们的重量、重心和转动惯量等物理参数。为减少不必要的麻烦,本文将机器人简化为由数个刚体组成的刚体模型。
表1 仿人机器人主要几何参数(单位:cm)
4 仿真分析
首先将MATLAB软绘制的机器人各关节运动轨迹曲线,以文本文件格式导出MATLAB,在文本文件中将三个文中所述三个阶段的轨迹数据,按运动先后顺序接合。然后将数据导入ADAMS环境中,采用ADAMS的近似拟合曲线函数AKISPL进行曲线拟合。机器人的关节驱动调用拟合后样条曲线(spline),在ADAMS/View中进行机器人运动仿真。仿真过程如图14所示。
图14 仿人机器人抬起重物ADAMS仿真过程
图15 各关节角度ADAMS仿真结果
图15 中关节1、2、3、4、5的1~2秒仿真时间对应着仿人机器人下蹲的过程,6~8秒仿真时间对应着机器人站起的过程,仿真曲线与规划曲线一致。仿真时间2~6秒下肢各关节没有动作,所以其角度值保持不变,在图中保持为直线。关节7、8为上肢手臂,如图中所示,仿真时间2~6秒为抬起过程,其仿真曲线与规划曲线一致。仿真时间1~2秒和6~8秒上肢手臂无动作,在图中保持为直线。对于关节6,其在2~6秒的抬起重物过程的仿真曲线与规划曲线基本一致。由于仿真时,仿人机器人作为一个整体,下肢运动必然带动上肢运动,在仿真时间1~2秒和6~8秒时,机器人下蹲和站起过程中,为保证上肢躯干的稳定,需对关节6角度进行规划。如图16所示,下蹲和站起过程中,关节1角度为负,关节2角度为正,关节6角度为负,
图16 下蹲和站起过程中关节6角度规划
5 结论
仿真结果表明,对仿人机器人搬运重物的运动轨迹规划是可行的和精确的。本文基于MATLAB和ADAMS建立了仿人机器人抬起重物的仿真模型。通过对机器人各关节的动作轨迹规划,实现了仿人机器人下蹲、抬起重物、站起的动作,为仿人机器人的后续研究奠定了基础。
[1] 徐莉,等.仿人机器人综述[J].黑龙江科学.2013(7):57-61.
[2] 张利格,黄强,杨洁,时有,王志杰,JAFRI Ali Raza.仿人机器人复杂动态动作设计及相似性研究[J].自动化学报,2007,33(5):522-528.
[3] 蔡自兴.机器人学[M].北京:清华大学出版社,2009.
[4] Corke P I. A robotics toolbox for MATLAB[J]. Robotics & Automation Magazine,IEEE,1996,3(1):24-32.
[5] 许丽佳,等.MATLAB程序设计及应用[M].北京:清华大学出版社,2011.10.
[6] 魏航信.仿人跑步机器人快速跑步研究[D].西安:电子科技大学, 2006.01.
[7] 罗刚.小型仿人机器人的设计与步态研究[D].重庆:重庆大学,2009.04.
[8] 易丐.仿人机器人动力学建模及参数辨识研究[D].广西:广西大学,2011.06.
[9] (日)梶田秀司.仿人机器人[M].北京:清华大学出版社,2007.