Modeling and Simulation
Vol. 13  No. 01 ( 2024 ), Article ID: 80202 , 11 pages
10.12677/MOS.2024.131079

基于ADAMS的协作机械臂运动学分析与仿真

胡明欢,王磊

上海理工大学机械工程学院,上海

收稿日期:2023年12月19日;录用日期:2023年12月31日;发布日期:2024年1月31日

摘要

本文以UR5协作机械臂为研究对象,采用标准D-H建模方法建立了机械臂的运动学模型,采用解析的方法,推导了其正、逆运动学求解表达式。针对机械臂逆运动学多解问题分析了在不同的选解标准下得到的逆解,最后通过5次多项式完成了对逆解在角度空间的规划并且在ADAMS环境中进行了运动仿真,测量机械臂末端执行器的运动轨迹和速度结果表明运动状态平稳且速度连续无突变,从而验证了方法的可行性。

关键词

D-H建模法,机械臂运动学,ADAMS运动仿真

Kinematic Analysis and Simulation of Collaborative Robotic Arm Based on ADAMS

Minghuan Hu, Lei Wang

School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai

Received: Dec. 19th, 2023; accepted: Dec. 31st, 2023; published: Jan. 31st, 2024

ABSTRACT

In this paper, the kinematic model of the UR5 collaborative robotic arm is established by using the standard D-H modelling method, and its positive and inverse kinematic solution expressions are derived by using the analytical method. In view of the inverse kinematics multi-solution problem of the robotic arm, the inverse solutions obtained under different selection criteria are analysed, and finally the planning of the inverse solutions in the angular space is completed by the 5th polynomial, and the motion simulation is carried out in the ADAMS environment, and the measurement of the motion trajectory and the velocity of the robotic arm end-effector shows a smooth state of motion and a continuous and non-sudden change of the velocity, which verifies the feasibility of the method.

Keywords:D-H Modelling Method, Robotic Arm Kinematics, ADAMS Motion Simulation

Copyright © 2024 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

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个旋转关节的旋转轴的姿态和位置,坐标系 o i x i y i z i ( i = 0 , , 6 ) 分别对应着从基座到末的各个连杆。在D-H参数表中4种参数对应着4个必要运动,依次进行以下4步运动即可从当前坐标系 o i x i y i z i 变换到下一个坐标系 o i + 1 x i + 1 y i + 1 z i + 1

1) 绕 z i 轴旋转 q i + 1 使得 x i x i + 1 平行;

2) 沿 z i 轴平移 d i + 1 距离,使得 x i x i + 1 共线;

3) 沿旋转后的 x i 轴平移 a i + 1 距离,使得 x i x i + 1 的原点重合;

4) 将 z i 轴绕着 x i + 1 轴旋转 α i + 1 ,使得 z i z i + 1 轴重合。

图2清晰的描述了以上4个步骤的变换过程。

相邻两连杆之间的D-H变换矩阵 T i i + 1 可以通过以下4个运动变换矩阵依次右乘得到:

T i i + 1 = R o t ( z , θ i + 1 ) × T r a n s ( 0 , 0 , d i + 1 ) × T r a n s ( a i + 1 , 0 , 0 ) × R o t ( x , α i + 1 ) = [ cos θ i + 1 sin θ i + 1 0 0 sin θ i + 1 cos θ i + 1 0 0 0 0 1 0 0 0 0 1 ] × [ 1 0 0 0 0 1 0 0 0 0 1 d i + 1 0 0 0 1 ] × [ 1 0 0 a i + 1 0 1 0 0 0 0 1 0 0 0 0 1 ] × [ 1 0 0 0 0 cos α i + 1 sin α i + 1 0 0 sin α i + 1 cos α i + 1 0 0 0 0 1 ] = [ cos θ i + 1 sin θ i + 1 cos α i + 1 sin θ i + 1 cos α i + 1 a i + 1 cos θ i + 1 sin θ i + 1 cos θ i + 1 cos α i + 1 cos θ i + 1 sin α i + 1 a i + 1 sin θ i + 1 0 sin α i + 1 cos α i + 1 d i + 1 0 0 0 1 ] A i + 1 = [ c i + 1 s i + 1 λ i + 1 s i + 1 μ i + 1 a i + 1 c i + 1 s i + 1 c i + 1 λ i + 1 c i + 1 μ i + 1 a i + 1 s i + 1 0 μ i + 1 λ i + 1 d i + 1 0 0 0 1 ] (1)

式中 s i + 1 = sin θ i + 1 ; c i + 1 = cos θ i + 1 ; μ i + 1 = sin α i + 1 ; λ i + 1 = cos α i + 1

则每个关节连杆之间的变换矩阵可由式(1)公式参考此处带入相应的D-H参数得到:

A 1 = [ c 1 0 s 1 0 s 1 0 c 1 0 0 1 0 d 1 0 0 0 1 ] A 2 = [ c 2 s 2 0 a 2 c 2 s 2 c 2 0 a 2 s 2 0 0 1 0 0 0 0 1 ] A 3 = [ c 3 s 3 0 a 3 c 3 s 3 c 3 0 a 3 s 3 0 0 1 0 0 0 0 1 ] A 4 = [ c 4 0 s 4 0 s 4 0 c 4 0 0 1 0 d 4 0 0 0 1 ] A 5 = [ c 5 0 s 5 0 s 5 0 c 5 0 0 1 0 d 5 0 0 0 1 ] A 6 = [ c 6 s 6 0 0 s 6 c 6 0 0 0 0 1 d 6 0 0 0 1 ] (2)

从基坐标系 o 0 x 0 y 0 z 0 变换到机器人末端坐标系 o 6 x 6 y 6 z 6 的齐次变换矩阵为:

T 0 6 = A 1 A 2 A 3 A 4 A 5 A 6 = [ n x o x a x p x n y o y a y p y n z o z a z p z 0 0 0 1 ] = [ R 0 6 P 0 6 0 1 ] (3)

式(3)中 P 0 6 = [ P x P y P z ] T R 0 6 分别表示机器人末端坐标系原点在基坐标系下的位置矢量和机器人末端坐标系相对于基坐标系的旋转矩阵。齐次变换矩阵中各元素的表达式为:

n x = c 6 s 1 s 5 + c 1 ( c 234 c 5 c 6 s 234 s 6 ) n y = c 234 c 5 c 6 s 1 c 1 c 6 s 5 s 1 s 234 s 6 n z = c 5 c 6 s 234 + c 234 s 6 o x = s 1 s 5 s 6 c 1 ( c 6 s 234 + c 234 c 5 s 6 ) o y = c 6 s 1 s 234 + s 6 ( c 234 c 5 s 1 + c 1 s 5 ) o z = c 234 c 6 c 5 s 234 s 6 a x = c 5 s 1 c 1 c 234 s 5 a y = c 1 c 5 c 234 s 1 s 5 a z = s 234 s 5 p x = ( d 4 + d 6 c 5 ) s 1 + c 1 ( a 2 c 2 + a 3 c 23 + d 5 s 234 d 6 c 234 s 5 ) p y = c 1 ( d 4 + d 6 c 5 ) + s 1 ( a 2 c 2 + a 3 c 23 + d 5 s 234 d 6 c 234 s 5 ) p z = d 1 d 5 c 234 + a 2 s 2 + a 3 s 23 d 6 s 234 s 5 (4)

在上式中除去旋转角 θ i ( i = 1 , , 6 ) 其余参数均为机械臂结构所确定的确定值,当给定关节旋转角 θ i ( i = 1 , , 6 ) ,即可通过运动学正解得到机械臂末端坐标系的位姿。

2.2. 机械臂逆向运动学

与正向运动学相反,机械臂逆向运动学是通过已知机械臂末端位姿求解关节空间旋转角,现实中我们真正感兴趣的也是运动学逆解,有了运动学逆解才能确定每个关节的值从而使得机器人末端能够到达期望的位置和姿态。

由2.1节已知机械臂末端位姿矩阵为:

A 1 A 2 A 3 A 4 A 5 A 6 = [ n x o x a x p x n y o y a y p y n z o z a z p z 0 0 0 1 ] (5)

为了求出每个关节角,选择 A 1 1 左乘方程两边的矩阵得:

A 2 A 3 A 4 A 5 A 6 = A 1 1 [ n x o x a x p x n y o y a y p y n z o z a z p z 0 0 0 1 ] [ c 234 c 5 c 6 s 234 s 6 c 6 s 234 c 234 c 5 s 6 c 234 s 5 a 2 c 2 + a 3 c 23 + d 5 s 234 d 6 c 234 s 5 c 5 c 6 s 234 + c 234 s 6 c 234 c 6 c 5 s 234 s 6 s 234 s 5 d 5 c 234 + a 2 s 2 + a 3 s 23 d 6 s 234 s 5 c 6 s 5 s 5 s 6 c 5 d 4 + d 6 c 5 0 0 0 1 ]

= [ c 1 n x + s 1 n y c 1 o x + s 1 o y c 1 a x + s 1 a y c 1 p x + s 1 p y n z o z a z d 1 + p z s 1 n x c 1 n y s 1 o x c 1 o y s 1 a x c 1 a y s 1 p x c 1 p y 0 0 0 1 ] (6)

按照方程两边矩阵中各个元素相等可得各角度表达式为:

θ 1 = a tan 2 ( d 4 , ± ( d 6 a y p y ) 2 + ( p x d 6 a x ) 2 d 4 2 ) a tan 2 ( d 6 a y p y , p x d 6 a x ) θ 5 = a tan 2 ( ± ( n x s 1 n y c 1 ) 2 + ( o x s 1 o y c 1 ) 2 , a x s 1 a y c 1 ) θ 6 = a tan 2 ( o x s 1 o y c 1 s 5 , n x s 1 n y c 1 s 5 ) θ 234 = θ 2 + θ 3 + θ 4 = a tan 2 ( a z s 5 , a x c 1 a y s 1 s 5 ) A = p x c 1 + p y s 1 d 5 s 234 + d 6 s 5 c 234 B = p z d 1 + d 5 c 234 + d 6 s 5 s 234 θ 2 = a tan 2 ( A 2 + B 2 + a 2 2 a 3 2 , ± 4 a 2 2 ( A 2 + B 2 ) ( A 2 + B 2 + a 2 2 a 3 2 ) 2 ) a tan 2 ( A , B ) θ 23 = a tan 2 ( p z d 1 + d 5 c 234 a 2 s 2 + d 6 s 5 s 234 , p x c 1 + p y s 1 d 5 s 234 a 2 c 2 + d 6 s 5 c 234 ) θ 3 = θ 23 θ 2 , θ 4 = θ 234 θ 23 (7)

通过此方法,当给定机械臂末端坐标得位姿矩阵便可求出每个关节的旋转角。并且从式(7)总共可以求出8组逆解,如图3所示:

Figure 3. Diagram of the inverse solution of the robotic arm

图3. 机械臂逆解构成图

在以上的8组解中只需选择一组即可使机械臂末端达到期望位姿,但是逆解的选择标准也多种多样,常见的选择方法有能量最优、时间最优等,下面介绍两种常见的逆解选择原则。

1) “最短路径”原则

{ θ _ d i f f i = j = 1 n ( θ i j θ _ p r e v j ) 2 i = min ( θ _ d i f f i ) (8)

2) “多移动小关节,少移动大关节”

{ θ _ d i f f i = | θ i 4 θ _ p r e v 4 | + | θ i 5 θ _ p r e v 5 | + | θ i 6 θ _ p r e v 6 | | θ i 1 θ _ p r e v 1 | + | θ i 2 θ _ p r e v 2 | + | θ i 3 θ _ p r e v 3 | i = max ( θ _ d i f f i ) (9)

θ _ p r e v j 表示当前机器人的第 j 个关节变量, θ i j 表示第 i 组逆解中的第 j 个关节变量。

3. 机械臂运动学仿真

3.1. 正运动学仿真分析

首先根据机械臂Solidworks三维实体模型可以获取D-H参数中除变量 θ i 之外的其他所有常数参数。本文的分析对象为UR5协作机器人,其常数参数 d 1 = 0.0892 a 2 = 0.425 a 3 = 0.39225 d 4 = 0.095

d 5 = 0.095 d 6 = 0.0815 。定义 θ = [ θ 1 θ 2 θ 3 θ 4 θ 5 θ 6 ] T ,任意给定一组关节角作为期望值, θ f = [ 0 2 π / 3 π / 3 π / 3 π / 3 0 ] T ,带入正运动学方程(3)可得末端坐标系位姿为:

T 0 6 = [ 0 .5000 0 0 .8660 0 .0870 0 .8660 0 0 .5000 0 .1357 0 1 0 0 .7020 0 0 0 1 ]

同时通过Matlab Robotics Toolbox工具箱能够快速验证计算结果,将 θ f 输入到Matlab并且调用工具的得fkine(θ)函数即可求解出机械臂末端执行器的位姿矩阵,其计算结果与理论计算结果完全相同,验证了正运动学算法的正确性。

Figure 4. ADAMS motion simulation

图4. ADAMS运动仿真

T f = [ 0 .5000 0 0 .8660 0 .0867 0 .8660 0 0 .5000 0 .1357 0 1 0 0 .7020 0 0 0 1 ]

同时借助ADAMS多体运动学仿真平台能够更加直观的验证理论位姿。如图4所示,将 θ f 中各关节角度输入到相应的驱动中得到仿真结果与matlab机器人工具箱输出的三维仿真模型位姿一致。

3.2. 逆向运动学

逆向运动学指的是给定机械臂末端位姿矩阵求解各个关节角度,为了方便验证以3.1节中 T f 为给定得末端位姿,带入逆运动学解方程,求解结果为(表2):

Table 2. Inverse kinematic solutions

表2. 逆运动学解

在这8组逆解中,第6组即为正向运动学给定角度 θ f ,也从侧面验证了逆运动学解的正确性。

3.3. 关节空间轨迹规划

本文按照“最短路径”原则选取逆解,对前文求取得逆解带入式(8),最终确定的一组解为: θ f = [ 0.34138 2.048131 1.0472 1.00093 0.705815 0 ] T

假定机械臂在 t 0 时刻处于起始零位,2 s后在 t f 时刻到达指定位姿。为了使得在运动过程中满足起点和终点的位姿、速度和加速度这6个条件,则可以采用5次多项式插值来规划轨迹。在运动开始和结束时,速度、加速度通常应该为0:

θ ( t ) = c 0 + c 1 t + c 2 t 2 + c 3 t 3 + c 4 t 4 + c 5 t 5 (10)

其中起始点和终止点的边界条件为:

{ θ i ( t 0 ) = θ i θ ˙ i ( t 0 ) = 0 θ ¨ i ( t 0 ) = 0 θ i ( t f ) = θ f θ ˙ i ( t f ) = 0 θ ¨ i ( t f ) = 0 (11)

将上述关系写成矩阵形式

[ θ 0 θ ˙ 0 θ ¨ 0 θ f θ ˙ f θ ¨ f ] = [ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 1 t f t f 2 t f 3 t f 4 t f 5 0 1 2 t f 3 t f 2 4 t f 3 5 t f 4 0 0 2 6 t f 12 t f 2 20 t f 3 ] [ c 0 c 1 c 2 c 3 c 4 c 5 ] (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环境中仿真结果表明用五次多项式规划关节轨迹能够在满足边界约束的情况下使机械臂末端运动轨迹平滑且各方向速度连续无突变,验证了该运动设计方案可行性,为机械臂运动学的规划问题提供了理论和仿真的基础和依据。

文章引用

胡明欢,王 磊. 基于ADAMS的协作机械臂运动学分析与仿真
Kinematic Analysis and Simulation of Collaborative Robotic Arm Based on ADAMS[J]. 建模与仿真, 2024, 13(01): 817-827. https://doi.org/10.12677/MOS.2024.131079

参考文献

  1. 1. 李卫东. “工业4.0”对推进“中国制造2025”的启示[D]: [硕士学位论文]. 北京: 外交学院, 2018.

  2. 2. 杨超. 智能制造领域协作机器人的应用分析[J]. 产业与科技论坛, 2022, 21(2): 35-36.

  3. 3. 吴其林, 赵韩, 陈晓飞, 等. 多臂协作机器人技术与应用现状及发展趋势[J]. 机械工程学报, 2023, 59(15): 1-16.

  4. 4. Pranathi, G., Shashank, R. and Sandipan, B. (2023) Kinematics of the Hybrid 6-Axis (H6A) Manipulator. Robotica, 41, 2251-2282. https://doi.org/10.1017/S0263574723000334

  5. 5. 刘驰, 田成军, 史俊, 等. 四自由度机械臂目标抓取轨迹规划的研究[J]. 长春理工大学学报(自然科学版), 2022, 45(1): 65-71.

  6. 6. 陈赛旋. 协作机器人零力控制与碰撞检测技术研究[D]: [硕士学位论文]. 北京: 中国科学技术大学, 2018.

  7. 7. 李海旺, 隋春平, 王宇坤, 等. 协作机器人运动学应用标定方法[J]. 中国科学院大学学报, 2023, 40(4): 555-565.

  8. 8. 肖志键, 吴建华. 机器人逆运动学解析解的选取算法[J]. 机械设计与制造, 2018(8): 252-255. https://doi.org/10.19356/j.cnki.1001-3997.2018.08.072

  9. 9. 林阳, 赵欢, 丁汉. 基于多种群遗传算法的一般机器人逆运动学求解[J]. 机械工程学报, 2017, 53(3): 1-8.

期刊菜单