英语原文共 5 页
六自由度机械臂运动学分析与仿真研究
肖俊明,韩伟,王暖挥,李继朋,梁旺
(中原工学院电子信息学院,河南郑州450007)
摘要
运用D-H参数法确定机械臂的参数、坐标系,建立机械臂的运动学方程。在Matlab软件中进行数值计算,通过分析机械臂的工作空间,得到了机械臂工作空间图。在Matlab工作环境下,用机器人工具箱Robotics Toolbox对所建六自由度机械臂运动学模型的正运动学、逆运动学、轨迹规划进行验证与仿真,得到了各关节的角位移、角速度、角加速度与时间的关系曲线。研究表明,该机械臂运动空间设计直观、精确,为机械臂控制系统设计、动力学分析及轨迹规划提供了理论基础和参考依据。
关键词:机械臂;六自由度;运动学;仿真
Abstract
In this paper, first, how to establish the kinematicsequation of the manipulator and determine the parameters isintroduced. Second, how to calculate and analyze the workingspace of the manipulator, and get the working space range mapof the manipulator are discussed based on the MATLAB software.Then, based on the Robotics Toolbox in the MATALAB softwareworking environment, how to simulate the positive kinematics, theinverse kinematics and the trajectory planning of the movementmodel of the manipulator are investigated. Where, we built andobtain the curve graphs of the angular displacement, angularvelocity, angular acceleration of each joint with changing of time.This research results can make the design of the motion spaceof the manipulator more intuitive and accurate. Moreover, theresearch results provide the theoretical basis and reference forthe design of the manipulator control system, dynamic analysisand trajectory planning.
Keywords:Manipulator, six degrees of freedom, kinematics, simulation, Matlab Toolbox.
1.绪论
20世纪60年代初机器人问世以来,机器人技术逐步取得了实质性的进步与成果川,目前己被应用于很多行业,在航空航天、汽车工业、海洋探索、医疗手术等行业的高科技领域发挥着重要作用,促进了人们生活的改善。机械臂是最早应用于实际生产领域的一种机器人团。其中,串联机械臂应用最为广泛,它是由若干通过关节连接在一起的连杆组成的具有多个自由度的开链型连杆机构。它的一端固定在基座上,另一端为末端执行器,主要进行抓取操作,中间部分是由若干带驱动的转动或移动关节串联而成的机构体。机械臂运动学研究的是各连杆关节的运动与机械臂各部分一般为末端执行器)的位置、姿态之间的数学关系。研究这种关系是设计机械臂运动控制器所必需的。机械臂运动学的研究主要有正运动学问题和逆运动学问题两类。由己知机械臂各关节的角度位置和各连杆的长度,计算末端执行器相对基坐标系原点的位置与姿态,即为正运动学问题。要使末端执行器运动到期望的位置与姿态,就必须计算出各关节此时此刻的位置角度,即为逆运动学问题。
传统物理实体设计方法不但费时费力,而且很难达到理想效果。随着计算机技术的不断发展,通过计算机仿真技术完全能够设计出接近实物且精度较高的机械臂运动模型,经过实际调试达到理想效果,这不仅可缩短设计周期,同时能节省大量生产成本。运用Matlab软件的Robotics Toolbox(即机器人工具箱),可便捷地完成机械臂的空间运动学建模、分析与仿真及轨迹规划等任务。通过计算机对机械臂建模与仿真,不仅能够得到机械臂各关节运动曲线,而且可直观地显示出机械臂的运动情况,为机械臂的设计提供理论支撑。
2. 六自由度机械臂运动学分析
D-H参数法是Denavit和Hartenberg在1955年提出的,它是为机械臂关节链中每个连杆坐标系建立关系矩阵的一种方法。
本文研究对象为六自由度串联型机械臂,该机械臂有6个关节,而且均为转动型。图1所示为六自由度机械臂。图2所示为六自由度机械臂的D-H坐标系。以各关节的中心为坐标系原点建立坐标系,使坐标系{O4}的原点和坐标系{O5}的原点重合,以末端执行器中心为坐标系{O6}的原点,按照D-H参数法确定的机械臂连杆参数如表1所示。
2.2机械臂正运动学方程
确定全部连杆参数之后,可按照以下步骤建立相邻两连杆i与i-1之间的关系:
以第i连杆与第i-1连杆的连接轴作为zi-1;坐标轴;
xi坐标轴沿zi-1轴和zi轴的公垂线,且指向zi轴而背离zi-1轴;
图1 六自由度机械臂
图2 六自由度机械臂的D-H坐标系
表1 按D-H参数法确定的机械臂连杆参数
(3)坐标yi轴虽不关键,但其方向必须满足与xi;轴、zi轴构成xiyizi右手直角坐标系的条件;
(4)将xi-1轴绕zi-1轴旋转theta;i角,使xi-1轴与xi轴同向;
(5)将坐标系{Oi-1}沿zi-1轴平移距离C;,使xi-1轴与xi轴在同一条直线上;
(6)将坐标系{Oi-1}沿xi轴平移距离ai,使其坐标原点与坐标系{Oi}的原点重合;
(7)将坐标系{Oi-1}绕x轴旋转alpha;i角,使zi-1轴与zi轴在同一条直线上;
经上述坐标系变换,得到的齐次变换矩阵为:
i-1Ti=Rot(zi-1,theta;i)Trans(0,0, di) Trans(ai,0, 0) Rot(xi, alpha;i) (1)
式中:i-1Ti是坐标系{Oi-1}变换到坐标系{Oi}的齐次变换矩阵;Rot(zi-1,theta;i)是xi-1轴绕zi-1轴旋转theta;i角的其次变换矩阵;Trans(0,0, di)是坐标系{Oi-1}沿zi-1轴平移di距离的齐次变换矩阵;Trans(ai,0, 0)是坐标系{Oi-1}沿xi-1轴平移ai距离的齐次变换矩阵;Rot(xi, alpha;i)是坐标系{Oi-1}绕xi-1轴旋转theta;i角的其次变换矩阵。
由式(1)推导出:
(2)
将表1中连杆参数代入(2)式,可得到机械臂各坐标系之间转换的齐次变换矩阵,由坐标系{}到坐标系{}的变换矩阵为:
(3)
坐标系{}到坐标系{}的变换矩阵为:
(4)
坐标系{}到坐标系{}的变换矩阵为:
(5)
坐标系{}到坐标系{}的变换矩阵为:
(6)
坐标系{}到坐标系{}的变换矩阵为:
(7)
坐标系{}到坐标系{}的变换矩阵为:
(8)
因此,机械臂的正运动学方程为:
(9)
式中,是坐标系{}相对于坐标系{}在x轴上的方向矢量;是坐标系{}在y轴上的方向矢量;是坐标系{}相对于坐标系{}在z轴上的方向矢量;是坐标系{}相对于坐标系{}的位置矢量。
式(9)表示的是末端执行器的位姿与基座标系原点之间的关系,取初始位置:375.5mm,=268.0mm, =165.5mm,=230.0mm, =107.0mm,,,代入式(9)得到的机械臂初始末端位姿矩阵为: (10)
这与机械臂处于初始位姿的实际情况完全一致,说明所得机械臂正运动学方程是正确的。
3.机械臂工作空间仿真分析
机械臂的工作空间是指机械臂的特定部位(一般为末端关节坐标系原点)在一定条件下所能达到的空间位置集合。工作空间的大小反映了机械臂的活动范围。机械臂的设计工作空间是一个重要的运动学指标。本文运用蒙特卡罗法对机械臂的工作空间进行仿真分析。
蒙特卡罗法的应用步骤和算法流程如图3所示。首先初始化,读取连杆参数和坐标系,求解机械臂的正解,并根据正解得出机械臂末端在基坐标系中的位置向量;然后利用Matlab软件中的Rund函数产生巨。[0,1]间的均匀随机数Rund(N,1),并读取一列随机数。
定义随机步长为:
则各关节的随机值为: ,theta;min和theta;max
式(11)和式(12)中的i是极值的i关节旋转范围,分别。N是每个关节产生的随机数,六度
自由度机械手共有六个关节变量。因此,i = (1,2,3,4,5,6), N取12000,产生12000个随机位置。使用数值算法,用matlab编程进行工作空间仿真。不仅得到整个工作空间和三维空间的范围机械手的工作空间范围在一定范围内固定关节,还要得到每个关节上的工作空间的投影坐标平面上。这种方法可以做得更全面并对工作空间进行多维分析并可为机械手的优化提供参考以及机械手的结构设计。本文结合机械手模型的实际参数取N=12000、工作的三维空间范围图机械手的空间及其在xoy, xoz上的投影,约兹平面,如图4所示。
同时,我们可以验证可达性空间中,随机取一个角度位置向量q,放q =[minus;pi;/ 2 minus;pi;/ 2 pi;/3 pi;/2 pi;/ 3pi;/ 3]在方程(1)px= -143.3274 ,py= -268.0397 ,pz=367.2416,可以看到这个坐标在这个空间范围内,取不同的theta;i值在指定范围内。结果位置为在图形的范围内。也就是说,验证方法是正确的。
4.正、逆运动学仿真分析
机器人工具箱的开发和维护澳大利亚科学家彼得·科克基于matlab的,在软件系统matlab环境下,实现了机器人工具箱可以用来建立机械手仿真模型很简单,我们可以调用函数链接Li=([alpha])A D],标准),其中表示连杆扭转角,A表示连杆长度,表示关节角D表示偏移距离,=0表示关节是旋转的,标准显示正常的D-H参数。
下面的过程用于构建操作
仿真模型。模型如图5所示。左边
图是机械手模型的驱动程序。拖着
小方块上的杆,然后相应的关节转动。
右图为机械手模型的初始状态。
L1 =Link([minus;pi;/ 2 0 0 387.5 0], #39; standard #39;]);
L2 = Link( ([0 230minus;pi;/ 200), #39; standard #39;]);
L3 = Link( ([minus;pi;/ 2 107 0 0 0], #39; standard #39;]);
L4 = Link( ([minus;pi;/ 2 0 0 268 0], #39; standard #39;]);
L5 = Link( ((pi; / 20000), #39; standard #39;]);
L6 = Link( ([0 0 0 165.5 0], #39; standard #39;]);
r =robot({L1 L2 L3 L4 L5 L6}, #39; 6minus;do f机械手);
plot(r,[0minus;pi;/ 20000]);
drivebot(right);
在机器人工具箱中,我们可以使用一个函数fkine去实现机械手正运动学求解,调用函数fkine的格式为T=fikine(robot, q),其中其中,机器人代表所构建的机械手模型T每个正向运动的正运动学解是多少由向量q定义。验证的正确性运动学方程,现在结合实际情况对于机械手,随机取点a的关节向量工作空间:q =[minus;pi;/ 2minus;pi;/ 2pi;/ 3pi;/ 2pi;/ 3pi;/ 3),使用函数fkine (r, q)得到相对于坐标原点的点。结果是如下:
将关节向量q代入式(1)计算,所得到的结果与上述一致,其中验证了该机构运动学方程的正确性同时,我们可以实现逆运动学机器人工具箱中机械手的求解由ikine函数。fkine函数调用的格式:q = ikine(robot,T, q
资料编号:[5187]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。