1. 引言
随着德国“工业4.0”的到来以及我国推出“中国制造2025”的不断深入发展 [1] ,机器人在多种场合被广泛的应用。其中六自由度协作机器人由于具有轻巧灵活,体积较小运动精度高以及成本较低等优点相较于传统机器人具有更多的优势。但是在实际的生产中机器人的运动特性直接关乎生产效率和质量,因此对协作机器人运动学及动力学分析是不可或缺的关键过程 [2] [3] 。
目前国内外众多学者针对协作机器人进行了大量研究工作 [4] [5] 。陈赛旋用解析的方式分析了六自由度协作机器人正、逆运动学封闭解,并且对机器人奇异位形进行了识别 [6] 。李海旺等人考虑了机器人的几何参数误差对末端绝对定位精度的影响,提出了一种协作机器人运动学标定方法,使得标定后的机器人定位精度相较于之前有显著提高 [7] 。肖志华 [8] 等人对六自由度工业机械臂的逆运动学解做了详细的求解算法推导,并且分析了逆解的数学特性。林阳等对于结构不符合Pieper准则的一般机器人,将遗传算法应用于逆运动学求解当中,提出了适用于一般机器人的求解算法,提高了一般机器人求逆解的速度 [9] 。
本文以UR5协作机器人为研究对象,首先通过D-H法建立了机器人运动学模型,之后对机械臂正逆运动学求解。对于求解逆运动学时出现的多解问题以“最短路径”的原则得到了最终的关节角。最后将计算的结果导入ADAMS仿真平台,验证了求解结果的正确性。
2. 机器人运动学分析
2.1. 机器人正向运动学
根据所建立的运动学模型以及机械臂结构本身的结构参数,表1给出了UR5机械臂的D-H参数。
Table 1. UR5 standard D-H parameters
表1. UR5标准D-H参数
本文以UR5协作机器人为研究对象,根据D-H建模法建立机器人运动学模型,如图1所示。
Figure 1. Standard D-H method robot link coordinate kinematic model
图1. 标准D-H法机械臂连杆坐标运动学模型
Figure 2. Transformation process between adjacent connecting rods
图2. 相邻连杆间变换过程
图1显示了机器人6个旋转关节的旋转轴的姿态和位置,坐标系
分别对应着从基座到末的各个连杆。在D-H参数表中4种参数对应着4个必要运动,依次进行以下4步运动即可从当前坐标系
变换到下一个坐标系
。
1) 绕
轴旋转
使得
和
平行;
2) 沿
轴平移
距离,使得
和
共线;
3) 沿旋转后的
轴平移
距离,使得
和
的原点重合;
4) 将
轴绕着
轴旋转
,使得
与
轴重合。
图2清晰的描述了以上4个步骤的变换过程。
相邻两连杆之间的D-H变换矩阵
可以通过以下4个运动变换矩阵依次右乘得到:
(1)
式中
。
则每个关节连杆之间的变换矩阵可由式(1)公式参考此处带入相应的D-H参数得到:
(2)
从基坐标系
变换到机器人末端坐标系
的齐次变换矩阵为:
(3)
式(3)中
和
分别表示机器人末端坐标系原点在基坐标系下的位置矢量和机器人末端坐标系相对于基坐标系的旋转矩阵。齐次变换矩阵中各元素的表达式为:
(4)
在上式中除去旋转角
其余参数均为机械臂结构所确定的确定值,当给定关节旋转角
,即可通过运动学正解得到机械臂末端坐标系的位姿。
2.2. 机械臂逆向运动学
与正向运动学相反,机械臂逆向运动学是通过已知机械臂末端位姿求解关节空间旋转角,现实中我们真正感兴趣的也是运动学逆解,有了运动学逆解才能确定每个关节的值从而使得机器人末端能够到达期望的位置和姿态。
由2.1节已知机械臂末端位姿矩阵为:
(5)
为了求出每个关节角,选择
左乘方程两边的矩阵得:
(6)
按照方程两边矩阵中各个元素相等可得各角度表达式为:
(7)
通过此方法,当给定机械臂末端坐标得位姿矩阵便可求出每个关节的旋转角。并且从式(7)总共可以求出8组逆解,如图3所示:
Figure 3. Diagram of the inverse solution of the robotic arm
图3. 机械臂逆解构成图
在以上的8组解中只需选择一组即可使机械臂末端达到期望位姿,但是逆解的选择标准也多种多样,常见的选择方法有能量最优、时间最优等,下面介绍两种常见的逆解选择原则。
1) “最短路径”原则
(8)
2) “多移动小关节,少移动大关节”
(9)
表示当前机器人的第
个关节变量,
表示第
组逆解中的第
个关节变量。
3. 机械臂运动学仿真
3.1. 正运动学仿真分析
首先根据机械臂Solidworks三维实体模型可以获取D-H参数中除变量
之外的其他所有常数参数。本文的分析对象为UR5协作机器人,其常数参数
,
,
,
,
,
。定义
,任意给定一组关节角作为期望值,
,带入正运动学方程(3)可得末端坐标系位姿为:
同时通过Matlab Robotics Toolbox工具箱能够快速验证计算结果,将
输入到Matlab并且调用工具的得fkine(θ)函数即可求解出机械臂末端执行器的位姿矩阵,其计算结果与理论计算结果完全相同,验证了正运动学算法的正确性。
同时借助ADAMS多体运动学仿真平台能够更加直观的验证理论位姿。如图4所示,将
中各关节角度输入到相应的驱动中得到仿真结果与matlab机器人工具箱输出的三维仿真模型位姿一致。
3.2. 逆向运动学
逆向运动学指的是给定机械臂末端位姿矩阵求解各个关节角度,为了方便验证以3.1节中
为给定得末端位姿,带入逆运动学解方程,求解结果为(表2):
Table 2. Inverse kinematic solutions
表2. 逆运动学解
在这8组逆解中,第6组即为正向运动学给定角度
,也从侧面验证了逆运动学解的正确性。
3.3. 关节空间轨迹规划
本文按照“最短路径”原则选取逆解,对前文求取得逆解带入式(8),最终确定的一组解为:
假定机械臂在
时刻处于起始零位,2 s后在
时刻到达指定位姿。为了使得在运动过程中满足起点和终点的位姿、速度和加速度这6个条件,则可以采用5次多项式插值来规划轨迹。在运动开始和结束时,速度、加速度通常应该为0:
(10)
其中起始点和终止点的边界条件为:
(11)
将上述关系写成矩阵形式
(12)
将每个关节角度带入即可确定关节的运动轨迹。
Figure 5. Fifth degree polynomial angle space planning
图5. 五次多项式角度空间规划
由图5可知用5次多项式函数对每个关节角度进行规划能够在满足边界条件且使得各个关节角度、速度、加速度曲线保持平滑。将规划后的角度信息用样条曲线导入到ADAMS作为机械臂关节的位置驱动函数,仿真结果见图6,可见末端轨迹是一条连续平滑的曲线,并且通过测量机械臂末端坐标系的速度曲线也是平滑的见图7,也可以看出用5次多项式插值函数进行角度空间的轨迹规划是可行的。
Figure 6. Quintic polynomial programming driven end-effector trajectory
图6. 五次多项式规划驱动末端轨迹
Figure 7. End velocity curve driven by quintic polynomial programming
图7. 五次多项式规划驱动下的末端速度曲线
4. 结论
本文推导了UR5机械臂正运动学与逆向运动学的表达式,将计算的结果与matlab机器人工具箱的计算结果进行了比对验证了算法的正确性。计算结果表明,满足Pieper准则的机器人有8组逆解,根据不同的期望目标最后得到的逆解也不尽相同。最后采用五次插值多项式对各个关节角进行了规划并且在ADAMS环境中仿真结果表明用五次多项式规划关节轨迹能够在满足边界约束的情况下使机械臂末端运动轨迹平滑且各方向速度连续无突变,验证了该运动设计方案可行性,为机械臂运动学的规划问题提供了理论和仿真的基础和依据。