基于D-H参数的5自由度机械臂的逆运动学分析外文翻译资料
2021-12-21 22:36:01
英语原文共 6 页
基于D-H参数的5自由度机械臂的逆运动学分析
Apurva Patil 浦那工程学院机械工程系(COEP),印度浦那Shivajinagar
Maithilee Kulkarni 印度浦那Shivajinagar,浦那工程学院电子与电信工程系(COEP)
Ashay Aswale 浦那工程学院机械工程系(COEP),印度浦那Shivajinagar
浦那工程学院机械工程系(COEP), Shivajinagar, Pune, India.
摘要:本文提出了一种对于5自由度机械臂运动学模型的算法。该算法的表示基于找到机械臂的D-H参数,采用迭代法的方式求解非线性方程组。本文所关注的重点是通过减少均方根误差来获得机械臂运动过程中准确的解,以此获得的结果将用于分析过程中对象的获取。绘制机械臂末端执行器所需工作空间坐标所遵循的轨迹,这里使用到的方法同样可以适用于6自由度或者其他多关节链的应用之中。
关键词:5自由度机械臂;D-H参数;逆运动学;迭代法;轨迹
- 介绍
本文介绍了一种在刚性连杆之间使用运动学分析来控制5自由度机械臂位置的方法。原本期望能够在笛卡尔坐标空间中控制末端执行器,但是马达系统需要关节空间中的参考输入。因此,要知道笛卡尔坐标和关节空间之间的转换,对于机械臂正运动学和逆运动学的分析是必不可少的。正向运动学给出了给定关节角度,求机械臂末端执行器的位置。采用逆运动学通过末端执行器的期望位置,求解关节角度的方程组将使末端执行器移动到期望位置。。
解决逆运动学问题有很多解决方案,例如几何,代数和数值命中以及试验,迭代,FABRIC方法[1]。但是若使用分析方法很难找到一致的解决方案[2],因此在实际情况中常使用迭代方法[3]。使用逆雅可比矩阵方法是常用的迭代方法中的一种,但其面临着奇点和计算复杂性的问题[4]。图中为6自由度仿人机器人臂推导出一种封闭形式的联合解决方案[5]。中使用的几何方法使用几何感知[6]。逆变换技术是中使用的另一种方法获得6自由度机器人手臂的联合解[7],而中讨论的方法使用误差向量最小化技术[8]。本文讨论了一种开发机器人机械手运动学模型的简单有效的技术。针对机械手,利用 OpenGL 软件 实现轨迹规划的三维运动仿真,并证明使用五 次多项式的方法好于三次多项式。文献以KUKA机器人为例,研究并实现了该机器人的正、逆运动学及轨迹规划的仿真。文献为提高轨迹规划精度,利用五次、七次非均匀B样条,并通过模拟仿真,证明了机械臂有良好的运动性能。
二、使用DH参数进行转换
在任何机械臂之中,基座的位置和方向都是已知的。为了定位机械臂的末端执行器,应需要通过变换找出基础框架和末端执行器框架之间的关系。框架连接到机械臂的每一个关节。机械臂的几何特性不易描述和计算。为解决 这个问题,20世纪50 年代,Denavit 和Hartenberg研究出一种描述机器人的通用结构,通过4times;4的齐次变换矩阵代替复杂的运动学计算,大大降低了运算的复杂度。
Z轴:沿着关节方向的轴
X轴:一般情况下的轴
Y轴:根据框架建立的轴
(i-1)Ti是来自框架Ri-1和框架Ri之间的同质转换矩阵。考虑到框架的旋转和位置,我们通过ai,alpha;i,,di和theta;i这四个参数来对框架进行表示,即为Denavit-Hatenberg (D-H)参数。
ai : a表示杆件长度,为关节i-1的z轴和关节i的z轴的公法线的长度
alpha;i:表示扭曲度,为关节i的z轴和关节i-1的z轴之间绕关节i的x轴的扭转角
di : 表示杆件偏移量,为关节i-1的x轴与关节i的x轴之间沿关节i-1的z轴的距离
theta;i : 表示关节转角,为关节i-1的xi-1轴与关节i的i-1轴绕关节zi-1轴的旋转角
将框架附加在第一个和最后一个关节之上,最好试着去使a0 = an = alpha;0= alpha;n = 0而且保持theta;1, theta;n, d1, dn为零,这样可使分析计算的复杂性降低。因此,我们利用这种方法进行分析。
当矩阵关系为 iminus;1Ti = Rx(alpha;iminus;1)Dx(aiminus;1)Rz(theta;i)Dz(di)时,
Rz(theta;i) =
Dz(di) =
Dx(aiminus;1) =
可得,从基座到末端执行器的最终变换矩阵为,
该矩阵取决于基座与末端执行器之前连杆的关节角度关系,
在已知这些给定的参数配置之中,读取关节角度变换时的编码器数值并记录,求得计算变换矩阵T,末端执行器的运动参数便可从T中求得,这些参数可进行求解速度,角速度,加速度,并进行运动轨迹仿真。
- 求解逆运动学的方法论
逆运动学可以通过以下两种方式解决:
- 分析方法:使用闭合方程式获得解。
- 数值方法:用迭代近似方法得到解。
在实际机器人运动学和逆运动学分析过程之中,解析具有三角函数的非线性方程组是很复杂的。为了简化分析过程,因此,我们所进行的分析使用迭代数值方法以进行计算过程上的简化。
分析包括以下步骤:
- 构建机器人的线图,将其所有关节和连接关节的链接表示出来;
- 将机器人框架分配给其中每一个关节并找到D-H参数,列出D-H参数表;
- 构造每每连续2个关节之间的转换矩阵,将其坐标系的转换方式表达出来;
- 将所有这些矩阵相乘以形成基座和末端执行器之间的总变换矩阵;
- 将所得到的变换矩阵构造到末端执行器运动的目标点;
- 通过建立这两个矩阵之间的同等关系形成末端执行器运动的方程组;
- 根据以上方程组,用迭代逼近法求解方程组得到的值 theta;0,theta;1,... ,theta;ntilde;,用以表示末端执行器运动过程中各个关节的扭曲度;
- 使用正向运动学找到每个获得的解决方案的均方根误差,代入逆运动学对其结果进行检验和分析,并相应地选择合适的解决方案。
这种方法在机器人逆运动学分析之中非常通用,以较为简单的数学形式对其末端执行器的运动过程进行分析计算,可普遍用于任何其他最多六个DOF的运动链。
- 机械臂运动学解决方案
机械臂的运动学示意简图如下图所示,
根据工业机器人的实际情况,工业机器人运动学仿真研究工作的 开展,要求研究者关注工业机器人的每一个连杆,在为不同连杆构建 不同的坐标系以后,齐次变换会成为描述坐标系间的相对位置与姿态 的工具。在机器人基坐标系的齐次变换矩阵确定过程中,人们可以将 递归方法应用于矩阵求取过程。以工业机器人的连杆坐标系与连杆参 数计算为例,一般情况下,与工业机器人运动学仿真过程有关的坐标 系的 X 轴、Y 轴和 Z 轴需要由右手定则确定。
其中,l1的和l2的杆件长度分别为28cm和30cm。其中,a2=L2=280mm,a3=L3=60mm,d1=L1=170 mm,d4=L4=350mm。当机械臂的各关节角度theta;i 数 值已知时,把上述参数代入式(1)、(2)中,可求解出机械臂末端执行器的齐次矩阵。使用求解正 运动学的 fkine()命令,令各关节旋转角度如图2方式,求出机器人的空间位姿。其具体数值如下所示:
5DOF臂的CAD模型及其各个不同的关节如图2所示,
将机械臂的5个关节进行框架链接,并绘制图3如下,
框架0与框架1在垂直线方向上对齐,并且机械臂的夹具的框架被认为与框架5对齐,则得到所需框架图。
利用所建立的这个坐标系,求得机械臂各关节的D-H参数,并建立其D-H参数表如下,
表中 theta;i 表示关节转角,为关节i-1的xi-1轴与关节i的i-1轴绕关节zi-1轴的旋转角alpha;i表 示扭曲度,为关节i的z轴和关节i-1的z轴之间 绕关节i的x轴的扭转角alpha;表示杆件长度,为关节i-1的z轴与关节i的z轴之间的公法线长度;di表示杆件偏移量,为关节i-1 的x轴与关节i的x轴之间沿关节i-1的z轴的距离(i=1,2hellip;6)。
- 正向和逆向运动学分析
这些DH参数在变换矩阵中被替换,并且等式(3)的LHS和RHS等式使用等式(1)和(2)来获得:
nx = minus;ctheta;5ctheta;4(stheta;1stheta;3 ctheta;1ctheta;3stheta;2)minus;ctheta;1stheta;4ctheta;2minus; stheta;5(ctheta;3stheta;1 minus; ctheta;1stheta;2stheta;3)
ny = ctheta;5ctheta;4(ctheta;1stheta;3 minus; stheta;1ctheta;3stheta;2) stheta;1stheta;4ctheta;2 stheta;5(ctheta;3ctheta;1 stheta;1stheta;2stheta;3)
nz=ctheta;5(minus;stheta;2stheta;4minus;ctheta;2ctheta;3ctheta;4) stheta;3stheta;5ctheta;2 (5)
ox = stheta;5(ctheta;4(stheta;1stheta;3 ctheta;1ctheta;3stheta;2)minus;ctheta;1stheta;4ctheta;2)minus; ctheta;5(ctheta;3stheta;1 minus; ctheta;1stheta;2stheta;3)
oy = ctheta;5(ctheta;1ctheta;3 stheta;2stheta;1stheta;3)minus;stheta;5(ctheta;4(ctheta;1stheta;3minus; ctheta;3stheta;2stheta;1) stheta;1stheta;4ctheta;2)
oz=ctheta;5stheta;3ctheta;2 stheta;5(stheta;2stheta;4 ctheta;3ctheta;4ctheta;2) (6)
ax = stheta;4(stheta;1stheta;3 ctheta;1ctheta;3stheta;2) ctheta;1ctheta;4ctheta;2
ay = ctheta;4stheta;1ctheta;2 minus; stheta;4(ctheta;1stheta;3 minus; ctheta;3stheta;2)stheta;1
az = minus;ctheta;4stheta;2 ctheta;3stheta;4ctheta;2
(7)
px = 0.28ctheta;1ctheta;2 0.3stheta;4(stheta;1stheta;3 ctheta;1ctheta;3stheta;2) 0.3ctheta;1ctheta;4ctheta;2
py = 0.28stheta;1ctheta;2minus;0.3stheta;4(ctheta;1stheta;3minus;ctheta;3)stheta;2stheta;1 0.3ctheta;4stheta;1ctheta;2
pz = minus;0.28stheta;2 minus; 0.3ctheta;4stheta;2 0.3ctheta;3stheta;4ctheta;2
(8)
末端执行器的所需坐标 px,py 和 pz可以在(8)中代入。这组方程用于查找theta;1,theta;2,theta;3 和 theta;4,theta;1,theta;2,theta;3 和 theta;4使用iterartive methd找到。在这个求解过程中的核心问题是如何解决四个未知数的三个方程组theta;1,theta; 2, theta;3 和 theta;4。
使用嵌入式c中的强力迭代方法获得位置坐标的解,并且所遵循的算法如图3所示。4。算法的复杂性是ntilde;4。变量funx,funy或funz表示px,py或pz的计算值与px,py或pz的期望(实际)值之间的差异。因此,它们的值应尽可能接近零。计算找到的每个解的均方根误差,并选择适当的解。
逆运动学分析是在已知机器人的连杆的几 何参数情况下,给定机器人末端执行器相对参考 坐标系的期望位姿(nx,ny,nz,ox,oy,oz,ax,ay,az,px, py,pz )求取机器人能够达到预期位姿的关节变量 (theta;1,theta;2,theta;3,theta;4,theta;5,theta;6)。
在逆运动学分析过程中,由于使用矩阵逆运 算以及反三角函数运算,故机械臂的运动学逆解 可能出现多组,由于机械臂的外在因素限制,机械 臂的各个关节变量不能在 360°内完全旋转,有些 解不能实现。因此,在得到多组解的情况下,为满 足机械臂的工作需求,应选取一组最优解[7]。
- 结果与分析
该算法针对20多个样本测试案例进行了测试,结果发现它有效。
已知 1 le; ile; 5 ,因此,机械臂末端执行器的默认位置是(57,5,0)。末端执行器的三个样本轨迹如图2所示。5,6和7是用于末端执行器的运动轨迹上所希望的坐标(px,py,pz)= (0,58,0),(px,py,pz)= (28,0,30) 和 (pX,pyuml;,pž)= (50,29,0)。
这些解决方案轨迹可在关节空间中找到。这里,目标坐标是已知的。求解逆运动学并找到每个关节的坐标。通过将这些点连接到初始点,创建轨迹。
轨迹规划的目的是从对期望的运动路径的简明描述出发,生成相关变量的时间规律,如机械臂 关节或末端执行器在运动过程中的位移、速度、加 速度等。主要分为 2 种方式,分别为对路径指 定的起点和终点(点到点运动)情况及沿路径指 定的一系列通过点(通过系列点运动)的情况 。本次研究仿真使用的是第一种方式。设机械臂的 初始位姿为 A
资料编号:[3988]