四自由度机械臂目标抓取轨迹规划的研究
2022-03-07刘驰田成军史俊杨捷
刘驰,田成军,史俊,杨捷
(长春理工大学 电子信息工程学院,长春 130022)
目前机械臂在制造业中得到广泛应用,而制造业自动化的要求越来越高,因此对机械臂自主抓取的工作精度和运动平稳度的要求也越来越高[1]。目前对抓取作业机器人的研究主要在怎么使它基于目标位置,准确地规划出空间路径,并且连续且稳定地沿着路径运动。其中利用抛物线、多项式以及不同曲线相结合的算法是主流的机械臂轨迹规划算法[2]。赵智勇等人[3]对Dobot机器人进行了正运动学和逆运动学分析建模,并采用五阶样条曲线进行轨迹规划,为机器人的实际应用提供了相应的理论依据。李杨等人[4]采用五次多项式插值方法在机械臂的关节空间进行轨迹规划,并给出了机械臂的工作空间范围。由于五次样条算法相对简单,运算量小,因此在实际工程中比较常用,但是关节位移比较大,容易造成机械臂的振动和冲击,影响机械臂工作的平稳性,是该算法应用的局限性[5]。张蕾[6]提出采用七次样条曲线插值方法在关节空间进行轨迹规划,结果表明稳定性优于五次样条曲线插值方法。
本文以四自由度机器人Open-Manipulator为对象,利用Matlab中的Robotics Toolbox工具箱建立了机械臂模型,并根据抓取功能需求进行运动学分析;采用七次样条曲线方法在关节空间对目标抓取过程进行轨迹规划,并在Matlab中进行建模仿真,结果表明,机器人轨迹规划满足应用需求,能够对目标准确地抓取,且机械臂运动能保持平稳,该研究为Open-Manipulator机器人进一步研究提供了相应的理论依据。
1 Open-Manipulator机器人的运动学分析
1.1 Open-Manipulator机器人结构模型
一个串联的机械臂通常被看作由一系列被称为连杆的刚体组合而成,这些连杆由关节进行有机地连接。Open-Manipulator机械臂共有五个关节,都是旋转关节,但是关节5只能控制夹爪开合,并不改变末端执行器的位姿,因此Open-Manipulator为4R模型。Open-Manipulator机械臂的本体结构如图1所示。
图1 open-manipulator机械臂本体结构
根据图1中机械臂的本体结构,采用改进的D-H表示法[7],可建立坐标系的简化图,如图2所示。
图2 open-manipulator机械臂的连杆坐标系
根据图2中的机械臂连杆坐标系,可得出机械臂的各个关节角、连杆偏移、连杆长度和连杆转角参数,如表1所示。表1中,各个连杆参数分别为d1=77 mm,a2=135 mm,a3=124 mm,α1=pi/2。抓取动作是横向抓取,可使夹爪始终与水平面平行,来提高运动学求解的效率和准确度,因此可得:
表1 四自由度机械臂D-H参数表
表1中,i表示机器人的各个关节;θi表示以Zi轴方向看,Xi-1和Xi之间的夹角(也称关节角);di表示沿着Zi方向看,Xi-1和Xi之间的距离(也称连杆偏移);ai-1表示沿着Xi-1方向看,Zi-1和Zi之间的距离(也称连杆长度);αi-1表示以Xi-1方向看,Zi-1和Zi之间的夹角(也称连杆转角)。
1.2 Open-Manipulator正运动学求解
根据改进的D-H参数转换法则,由表1中的数据可得各坐标系齐次变换矩阵分别为:
将式(2)中的矩阵相乘,得机器人末端执行器坐标系和基座坐标系之间的转换关系为:
1.3 Open-Manipulator逆运动学求解
机械臂的逆运动学求解表示给定机器人末端执行器相对于参考坐标系的期望位姿,求解所需的机械臂各个关节角[9]。将Open-Manipulator机械臂各连杆之间的齐次变换矩阵相乘,可得到末端执行器相对于基座的位姿方程为:
由式(3)和式(4)相等,可得:
令式(6)两边矩阵元素(2,4)分别对应相等,得pycosθ1-pxsinθ1=0,从而可求得:
令式(6)两边矩阵元素(1,4)和(3,4)分别对应相等,得:
令式(8)方程两边平方之后相加,整理得:
由式(9)和反三角函数可求出θ3。
将式(8)展开,并整理得:
由式(10)进一步求得:
因此,根据期望点的位姿可由式(7)、式(9)、式(11)和式(12)求出各个关节角θ1~θ4。
2 Open-Manipulator机械臂轨迹规划
轨迹规划分为笛卡尔空间轨迹规划和关节空间轨迹规划[10]。关节空间轨迹规划计算量比较小,实时性更强,常用的为基于多项式插值和基于线性插值,基于多项式插值的运动轨迹、速度、加速度时间相关变化曲线更为光滑连续,即轨迹精度较好[11]。其中七次多项式插值比三次、五次运动性能平稳,因而本文采用七次多项式插值方法[12]进行关节空间中的轨迹规划,设计一个由机械臂个关节角度、速度、加速度的时间序列构成的位姿轨迹,在作业任务和精度的保证下,使机械臂末端执行器能尽可能沿着既定的位姿轨迹去抓取一个物体,设七次多项式:
对式(13)分别求一阶、二阶、三阶导数,得:
各关节在起点和终点的角度、角速度、角加速度和角加加速度的约束条件为:
由式(13)和式(14)可求得约束条件为:
令式(15)和式(16)等式右边分别相等,得到含有8个未知量的8个方程,联立成矩阵方程为:
式(17)是形式为Θi=T8×8(tf)∙A的矩阵方程,其中A是待定系数a0~a7组成的向量,Θi为约束条件组成的向量,是已知向量,T8×8(tf)为系数矩阵,只与tf有关,又tf≠ 0,则det(T8×8(tf)) ≠ 0,因此方程有唯一解,A=T8×8(tf)-1∙Θi,即求得待定系数a0~a7,进而可求得七次多项式的表达式。
3 Matlab运动学建模与仿真
首先,构建机械臂模型。以表1中的D-H参数为依据,利用 Matlab 中的 Robotics Toolbox[13]中工具箱中的Link分别进行各个关节构建,利用SerialLink函数将各个关节进行有机整合实现整个机械臂模型的构建。建立的四自由度机械臂模型,如图3所示。其中红色代表机械臂的关节,蓝色代表连杆。
图3 机器人初始状态
完成机械臂模型构建之后,要使机械臂完成从起始点到目标点的运动,需要进行运动学轨迹规划,本文采用七次样条插值方法进行点到点的轨迹规划。已知在操作空间的笛卡尔坐标系[14]中的一点,先用逆运动学求解方法,求出各关节对应的角度,然后对其进行七次多项式插值,得到角度、加速度、角加速度的时间相关变化曲线。
本文四自由度机械臂主要实现的是对目标物体的抓取。设机器人初始状态为A,抓取时设定一个过渡位姿B,在B处各个关节的角度为:qb=[0 1.570 8-0.7854-0.7854],现设定C=( )208,0,176为目标物体在基座坐标系中的空间位置。依据1.3节中逆向运动学求解方法可得姿态C时各个关节的角度为qc=[0-0.5236 0.9512 0.4451],则得到初始位姿A、过渡位姿B、目标位姿C时机械臂各关节的关节角度,采用七次多项式插值算法进行轨迹规划,设定四自由度机械臂抓取运动的仿真时间是2 s,时间间隔为0.02 s,各个关节角速度、角加速度、角加加速度的边界约束条件设置为0,机械臂末端的运动轨迹如图4所示。B到C过程中,各个关节的角度、角速度、角加速度随时间的变化曲线分别如图5、图6和图7所示。
图4 机械臂末端运动轨迹
图5 各关节角度随时间变化曲线
图6 各关节角速度随时间变化曲线
图7 各关节角加速度随时间变化曲线
图4为四自由度机械臂末端在BC段运动的轨迹曲线,从中可看出整个运动过程均变化连续,没有突变,各连杆均未出现错位情况,符合机械臂对目标物体平稳抓取的要求。图5—图7为各个关节的角度、速度和加速度随时间的变化曲线,均平滑,没有突变,故实现了机械臂平稳的抓取轨迹规划。
4 结论
本文采用改进的D-H参数建模方法对四自由度机械臂Open-Manipulator进行了运动学建模,实现了运动学正解和逆解计算;根据机器人工作特点,采用七次多项式插值的方法在关节空间对Open-Manipulator机械臂进行轨迹规划,在Matlab平台下仿真实现了机械臂目标抓取的运动控制,得到了运动过程中各关节角度、角速度、角加速度随时间变化的曲线。结果表明,在抓取运动目标过程中,机械臂末端的运动曲线连续,没有抖动,各关节角度、速度及角加速度随时间变化曲线也连续,没有突变,实现了机械臂平稳且连续的运行,该轨迹规划方法是一种准确且稳定的方法,为以后Open-Manipulator机械臂的研究和应用提供了理论依据。