《串联机器人仿真分析论文.doc》由会员分享,可在线阅读,更多相关《串联机器人仿真分析论文.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流串联机器人仿真分析论文.精品文档.机电系统仿真期末论文班级: 学号: 姓名: 2012414 五自由度串联机器人的动态仿真分析 摘 要 D-H法是进行机器人动态仿真分析的普遍方法。本文首先建立基于ADAMS的五自由度串联机器人系统进行仿真分析,然后使用MATLAB/Simulink建立基于D-H法的机器人运动学方程,并ADAMS中的结果进行比较。最后简单介绍了机器人工具箱Robotics Toolbox for MATLAB的使用。 关键词 串联机器人,Simulink仿真,DH法,Robotics Toolbox1 前言计算机仿真一词是指在
2、研究中利用数学模型来获取系统的一些重要特性参数,这些数学模型通常是由以时间为变量的常微分方程来描述,并用数值方法进行计算机仿真求解的。利用计算机仿真可以对整个机械制造系统及其过程进行广泛的研究。一般而言,机构设计的目标之一就是能够实现某一预定的运动轨迹。在一个多自由度机构中,必须独立设定所有的输入变量才能知道其余的参数。机器人就是这样的多自由度机构,必须知道每一关节变量才能知道机器人的手处在什么位置。运动学分析提供了机器人运动规划和轨迹控制的理论基础。1955年,Denavit和Hartenberg在“ASME Journal of Applied Mechanics”发表了一篇论文,提出了一
3、种采用矩阵代数系统的广义方法,来描述机器人手臂杆件相对于固定参考坐标系的空间几何位置和姿态。这已成为对机器人运动进行建模的标准方法。这种方法使用4x4齐次变换矩阵来描述两个相邻的机械刚性构件间的空间关系,把正向运动学问题简化为寻求等价的4x4齐次变换矩阵,此矩阵把手部坐标系的空间位移与参考坐标系联系起来。并且该矩阵还可用于推导手臂运动的动力学方程。Denavit-Hartenberg(D-H)模型,可用于任何机器人构型,而不管机器人的结构顺序和复杂程度如何。它也可用于表示在任何坐标中的变换,例如直角坐标、圆柱坐标、球坐标、欧拉角坐标及RPY坐标等。 下面将对五自由度串联机器人进行运动学仿真分析
4、。我们先在CAD软件中建立机器人几何模型并导入到ADAMS中进行运动学仿真,然后建立系统的DH模型并在MATLAB/Simulink里进行仿真和ADAMS仿真的结果进行对比。已知五自由度机器人实物如下图所示: 要求:模拟机器人从初始状态到全缩状态再到全伸展状态的运动过程,并得到机器人的灵活工作域在XZ面上的投影。 图1 五自由度机器人(所有关节均为转动关节)性能参数:自由度 5 最大载荷 1.5kg 手爪所能到达的距离 500mm 位置重复精度 0.02mm 最大速度 2.1m/s基本结构参数(单位 mm): 底座 250*200*180 底部转台 大臂 350*210 大圆 小圆 中臂 25
5、0*180*80小臂 100*80*80手腕 截面2 ADAMS仿真结果 将建立好的模型导入到ADAMS后定义运动副和约束,在运动副处施加Motion并定义运动函数,使其按照给定要求运动。设置好仿真时间和参数后进行仿真,之后选择机器人执行末端上一点进行测量。结果如图2,3,4所示。 图2 机器人执行端在XZ平面上位移分量X的曲线图3 机器人执行端在XZ平面上位移分量Z的曲线图 4 机器人末端在XZ平面上最小和最大工作范围轨迹3 基于D-H法的Simulink运动学仿真3.1 DH法原理 一个物体在空间的表示可以通过在它上面固连一个坐标系,再将该固连的坐标系在空间表示出。先从操作臂的固定基座开始
6、为连杆进行编号,可以称固定基座为连杆0,第一个可动连杆为连杆1,以此类推,操作臂最末端的连杆为连杆n。 描述一个连杆和下一个连杆之间关系的齐次变换矩阵为A矩阵,可以描述连杆构件坐标系之间的相对平移和旋转的齐次变换。描述连杆1相对基座(连杆0)的位姿,每次变换后该坐标系中的点相对于参考坐标系的坐标都是通过用每个变换矩阵左乘该点的坐标得到的,由此类推,把连杆变换矩阵连乘就能得到机器人末端在总体笛卡尔坐标系中的位置和姿态。对于五自由度串联机器人,有 在图5中,角表示绕Z轴的旋转角,d表示在Z轴上两条相邻的公垂线之间的距离,a表示每一条公垂线的长度(也叫关节偏移量),角表示两个相邻的Z轴之间的角度 (
7、也叫关节扭转)。对于旋转关节,绕z轴的旋转(角)是关节变量。对于滑动关节,沿z轴的连杆长度d是关节变量。 下一步将一个参考坐标系变换到下一个参考坐标系.假设现在位于本地坐标系,那么通过以下四步标准运动即可到达下一个本地坐标系。(1)绕轴旋转它使得和互相平行。(2)沿轴平移距离,使得和共线。(3) 沿轴平移的距离,使得和的原点重合。(4) 将轴绕轴旋转,使得轴与轴对准这时坐标系n和n+1完全相同。至此,我们成功地从一个坐标系变换到了下一个坐标系。于是即图 5 通用关节连杆组合的D-H表示3.2 五自由度串联机器人的DH模型为计算矩阵A,可以制作一张关节和连杆参数的表,其中每个连杆和关节的参数值可
8、从机器人的原理示意图上确定,并且可将这些参数代入A矩阵。关节i为转动关节时,关节角是一个变量,其他三个连杆参数是固定不变的。通常在运动方程中不包含末端执行器。图6 五自由度串联机器人坐标系示意图表1 D-H参数表#关节角连杆偏距d连杆长度a连杆转角1L1020L2030L3040L4将各参数代入变换矩阵A中:于是,末端执行器到参考坐标系的变换矩阵为,化简后得 空间坐标系可以用矩阵表示,其中坐标原点以及相对于参考坐标系的表示该坐标系姿态的三个向量也可以由该矩阵表示出来,矩阵前三列为姿态,第四列为位置。 图7 空间物体的表示于是机械手末端执行器在参考坐标系中的XY坐标为:3.3 基于D-H法的Si
9、mulink模型仿真图8 Simulink模型 Clock产生时间信号,theta1,theta2,theta3,theta4这四个模块产生随时间变化的信号,用来模拟机械手关节的角位移。根据3.2中px和py的表达式,确定好机械手初始状态后经M文件计算得出末端执行器在XY平面上的坐标,并由XY Graph模块显示机械臂末端在OXY平面上的运动轨迹。其中theta1theta4这四个关节角位移信号具有分段函数的性质,可以使用Simulink中的Lookup Table模块来产生近似ADAMS旋转驱动中的STEP函数。不同的是ADAMS中STEP函数为三系多项式插值,能产生平滑的角位移曲线以使机械
10、臂运动过程平稳。而Lookup Table的每一段为线性关。因此仿真结果与ADAMS对比会出现一定误差。M文件:function y = pxyz(u)l1=0.16; %杆长l1l2=0.25; l3=0.17; l4=0.1; u(1)=u(1); %关节theta1角位移信号及初始角度设定u(2)=u(2)-0.7505; u(3)=u(3)-0.7934; u(4)=u(4)-0.2967; y=cos(u(1)*(l2*cos(u(2)+l3*cos(u(2)+u(3)+l4*cos(u(2)+u(3)+u(4);(l2*cos(u(2)+l3*cos(u(2)+u(3)+l4*co
11、s(u(2)+u(3)+u(4)*sin(u(1)图9 Lookup Table模块产生的角位移信号图10 末端执行器在OXY面上运动范围4 机器人工具箱Robotics Toolbox for MATLAB的简单应用4.1建立串联机器人模型 命令“r = SerialLink(dh, options)”根据DH参数创建一个连杆机器人。矩阵列向量依次代表 theta, d, alpha, a。 首先按照表1中的DH参数建立串联机械手的模型,tool设定末端执行器的变换矩阵。 r=seriallink(0 0.16 0 pi/2;0 0 0.25 0;0 0 0.17 0;0 0 0.1 pi/
12、2,tool,0 0 1 0;0 1 0 0;1 0 0 0;0 0 0 1)“Seriallink.teach”这条命令用于通过滑块控制关节转角来驱动机器人运动,并以动画显示。 r.teach()图11 机械手关节转角控制动画4.2 Seriallink.fkine正向运动学分析“T=R.fkine(q)”计算得到的矩阵T为机器人末端执行器在参考坐标系中的位置和姿态,q为各个关节的角度,对于N轴的机械臂来说q为一个N维向量。 r.fkine(0 0 0 0)ans = 0 0 1.0000 0.5200 -0.0000 - 1.0000 0 0 -1.0000 0.0000 0 0.1600
13、 0 0 0 1.0000图12 关节角均为0时机械臂的位置和姿态当每个关节转角均为0时从上面计算结果中矩阵第4列可以看出末端执行器在OXY平面上X方向坐标为0.52m,Z方向为0.16m,与实际情况相符。5 基于ADAMS的运动学反解 机械手由初始点(位置和姿态)运动到终止点经过的空间曲线称为路径。轨迹规划方法一般是在机器人初始位置和目标位置之间用多项式函数来“内插”或“逼近”给定的路径,并产生一系列“控制设定点”。路径端点一般是在笛卡儿坐标中给出的。如果需要某些位置的关节坐标,则可调用运动学逆问题求解程序,进行必要的转换。它是运动学反解(位姿反解, 速度、加速度反解)的实际应用。 运动反解
14、讨论上述位姿运动方程的反向问题,即求由手坐标系的笛卡儿空间到关节空间即所有关节转角)的逆变换,以求解诸关节转角。求反解可采用代数法反解。而造成机器人运动学逆解具有多解的原因是由于解反三角函数方程产生的。前面的运动方程中有许多角度的耦合,比如,这就使得无法从矩阵中提取足够的元素来求解单个的正弦和余弦项以计算角度。为使角度解耦,可例行地用单个矩阵左乘矩阵,使得方程右边不再包括这个角度,于是可以找到产生角度的正弦值和余弦值的元素,并进而求得相应的角度。但是矩阵计算工作量大容易出错。 五自由度串联机器人的运动很复杂,想要实现机器人末端简单的运动轨迹需要多轴的配合,通过设定关节运动直接定义末端的运动轨迹
15、很困难。利用ADAMS的一般点驱动(General Point Motion)让末端执行器根据给定的运动规律运动,然后测量关节角位移曲线将其转化为样条曲线,反过来作为驱动可得到末端的运动轨迹。仿真测量驱动点驱动机械臂执行末端转动关节关节角位移曲线样条函数Motion仿真测量曲线处理 图13 ADAMS运动学反解求解过程假设让末端走直线运动,3s种内沿Y轴负方向移动0.4m,则Y方向运动函数为step(time,0,0,3,-0.4)图14 简单路径的定义在让末端执行器按给定的运动规律运动时其余转动关节的Motion应处于失效状态(Deactivate)。然后测量Joint1Joint的角位移(
16、弧度)曲线,如下图。 图15 各关节转角随时间变化曲线 进入后处理,选择曲线编辑工具条中的“Create a spline data element from a curve”将测得的角位移曲线(单位设置中要选择弧度)转换成样条曲线(分别命名为s1,s2,s3,s4)并可以用来定义驱动轴的运动。 样条函数有几种不同的形式,其中较常用的AKISPL形式为: AKISPL( 1st_Indep_Var , 2nd_Indep_Var , Spline_Name , Deriv_Order)其中前两个参数为自变量,一般以时间为第一个自变量,第二个自变量设为0.Spline Name是所需调用的样条的
17、名字,Derivative Order是样条的阶数,选择0时返回样条曲线坐标值。 例如第2个关节的运动可以用Motion2:-AKISPL( time,0,s2,0),其余轴的驱动定义方式与此相同(注意转动方向)。令末端点的驱动失效,运行系统仿真。选择Create Trace Spline来创建末端点的运动轨迹。将其与最初定义的点驱动轨迹相对比,可以发现两条曲线很好的重合人在一起。总结与感想: Denavit-Hartenberg(DH)模型表示了对机器人连杆和关节进行建模的一种非常简单的方法,可用于任何机器人构型,而不管机器人的结构顺序和复杂程度如何。它也可用于表示已经讨论过的在任何坐标中的
18、变换,例如直角坐标、圆柱坐标、球坐标、欧拉角坐标及RPY坐标等。尽管采用某些方法对机器人建模会更快、更直接,但D-H表示法有其附加的好处,例如,雅克比矩阵的计算和力分析等。 由于作者水平和经验有限仿真结果误差比较大,也没能计算出运动学反解的解析表达式。不过随着学习的深入相信会对串联机器人的运动和控制有更深刻的认识。 最后我要感谢陈亚老师的细心指导。参考文献1 John J.Craig.机器人学导论.北京:机械工业出版社,2006,62 约翰.F.加德纳.机构动态仿真使用MATLAB和SIMULINK.西安:西安交通大学出版社,2002,93 蔡自兴.机器人学.北京:清华大学出版社,2008,84 P.Corke.A robotics toolbox for MATLAB.IEEE Robotics and Automation Magazine,vol.3, pp.2432, Sept. 1996.5 丁佳洛,战强.基于ADAMS的串联机器人运动学反解与动力学优化.机电产品开发与创新.2008年1月6 孙亮,马江,阮晓钢.六自由度机械臂轨迹规划与仿真研究.控制工程.2010年5月第17卷第3期