还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
机电系统仿真期末论文班级学号姓名2012-4-14五自由度串联机器人的动态仿真分析摘要D-H法是进行机器人动态仿真分析的普遍方法本文首先建立基于ADAMS的五自由度串联机器人系统进行仿真分析,然后使用MATLAB/Simulink建立基于D-H法的机器人运动学方程,并ADAMS中的结果进行比较最后简单介绍了机器人工具箱RoboticsToolboxforMATLAB的使用关键词串联机器人,Simulink仿真,D-H法,RoboticsToolbox1前言计算机仿真一词是指在研究中利用数学模型来获取系统的一些重要特性参数,这些数学模型通常是由以时间为变量的常微分方程来描述,并用数值方法进行计算机仿真求解的利用计算机仿真可以对整个机械制造系统及其过程进行广泛的研究一般而言,机构设计的目标之一就是能够实现某一预定的运动轨迹在一个多自由度机构中,必须独立设定所有的输入变量才能知道其余的参数机器人就是这样的多自由度机构,必须知道每一关节变量才能知道机器人的手处在什么位置运动学分析提供了机器人运动规划和轨迹控制的理论基础1955年,Denavit和Hartenberg在“ASMEJournalofAppliedMechanics”发表了一篇论文,提出了一种采用矩阵代数系统的广义方法,来描述机器人手臂杆件相对于固定参考坐标系的空间几何位置和姿态这已成为对机器人运动进行建模的标准方法这种方法使用4x4齐次变换矩阵来描述两个相邻的机械刚性构件间的空间关系,把正向运动学问题简化为寻求等价的4x4齐次变换矩阵,此矩阵把手部坐标系的空间位移与参考坐标系联系起来并且该矩阵还可用于推导手臂运动的动力学方程Denavit-HartenbergD-H模型,可用于任何机器人构型,而不管机器人的结构顺序和复杂程度如何它也可用于表示在任何坐标中的变换,例如直角坐标、圆柱坐标、球坐标、欧拉角坐标及RPY坐标等下面将对五自由度串联机器人进行运动学仿真分析我们先在CAD软件中建立机器人几何模型并导入到ADAMS中进行运动学仿真,然后建立系统的D—H模型并在MATLAB/Simulink里进行仿真和ADAMS仿真的结果进行对比已知五自由度机器人实物如下图所示要求模拟机器人从初始状态到全缩状态再到全伸展状态的运动过程,并得到机器人的灵活工作域在XZ面上的投影图1五自由度机器人(所有关节均为转动关节)性能参数自由度5最大载荷
1.5kg手爪所能到达的距离500mm位置重复精度±
0.02mm最大速度
2.1m/s基本结构参数(单位mm)底座250*200*180底部转台大臂350*210大圆小圆中臂250*180*80小臂100*80*80手腕截面2ADAMS仿真结果将建立好的模型导入到ADAMS后定义运动副和约束,在运动副处施加Motion并定义运动函数,使其按照给定要求运动设置好仿真时间和参数后进行仿真,之后选择机器人执行末端上一点进行测量结果如图234所示图2机器人执行端在XZ平面上位移分量X的曲线图3机器人执行端在XZ平面上位移分量Z的曲线图4机器人末端在XZ平面上最小和最大工作范围轨迹3基于D-H法的Simulink运动学仿真
3.1D—H法原理一个物体在空间的表示可以通过在它上面固连一个坐标系,再将该固连的坐标系在空间表示出先从操作臂的固定基座开始为连杆进行编号,可以称固定基座为连杆0,第一个可动连杆为连杆1,以此类推,操作臂最末端的连杆为连杆n描述一个连杆和下一个连杆之间关系的齐次变换矩阵为A矩阵,可以描述连杆构件坐标系之间的相对平移和旋转的齐次变换描述连杆1相对基座(连杆0)的位姿,每次变换后该坐标系中的点相对于参考坐标系的坐标都是通过用每个变换矩阵左乘该点的坐标得到的,由此类推,把连杆变换矩阵连乘就能得到机器人末端在总体笛卡尔坐标系中的位置和姿态对于五自由度串联机器人,有在图5中,角表示绕Z轴的旋转角,d表示在Z轴上两条相邻的公垂线之间的距离,a表示每一条公垂线的长度(也叫关节偏移量),角表示两个相邻的Z轴之间的角度(也叫关节扭转)对于旋转关节,绕z轴的旋转(角)是关节变量对于滑动关节,沿z轴的连杆长度d是关节变量下一步将一个参考坐标系变换到下一个参考坐标系.假设现在位于本地坐标系,那么通过以下四步标准运动即可到达下一个本地坐标系
(1)绕轴旋转它使得和互相平行
(2)沿轴平移距离,使得和共线
(3)沿轴平移的距离,使得和的原点重合
(4)将轴绕轴旋转,使得轴与轴对准这时坐标系n和n+1完全相同至此,我们成功地从一个坐标系变换到了下一个坐标系于是即图5通用关节—连杆组合的D-H表示
3.2五自由度串联机器人的D—H模型为计算矩阵A,可以制作一张关节和连杆参数的表,其中每个连杆和关节的参数值可从机器人的原理示意图上确定,并且可将这些参数代入A矩阵关节i为转动关节时,关节角是一个变量,其他三个连杆参数是固定不变的通常在运动方程中不包含末端执行器图6五自由度串联机器人坐标系示意图表1D-H参数表#关节角连杆偏距d连杆长度a连杆转角1L1020L2030L3040L4将各参数代入变换矩阵A中于是,末端执行器到参考坐标系的变换矩阵为,化简后得空间坐标系可以用矩阵表示,其中坐标原点以及相对于参考坐标系的表示该坐标系姿态的三个向量也可以由该矩阵表示出来,矩阵前三列为姿态,第四列为位置图7空间物体的表示于是机械手末端执行器在参考坐标系中的XY坐标为
3.3基于D-H法的Simulink模型仿真图8Simulink模型Clock产生时间信号,theta1theta2theta3theta4这四个模块产生随时间变化的信号,用来模拟机械手关节的角位移根据
3.2中px和py的表达式,确定好机械手初始状态后经M文件计算得出末端执行器在XY平面上的坐标,并由XYGraph模块显示机械臂末端在OXY平面上的运动轨迹其中theta1—theta4这四个关节角位移信号具有分段函数的性质,可以使用Simulink中的LookupTable模块来产生近似ADAMS旋转驱动中的STEP函数不同的是ADAMS中STEP函数为三系多项式插值,能产生平滑的角位移曲线以使机械臂运动过程平稳而LookupTable的每一段为线性关因此仿真结果与ADAMS对比会出现一定误差M文件function[y]=pxyzul1=
0.16;%杆长l1l2=
0.25;l3=
0.17;l4=
0.1;u1=u1;%关节theta1角位移信号及初始角度设定u2=u2-
0.7505;u3=u3-
0.7934;u4=u4-
0.2967;y=[cosu1*l2*cosu2+l3*cosu2+u3+l4*cosu2+u3+u4;l2*cosu2+l3*cosu2+u3+l4*cosu2+u3+u4*sinu1]图9LookupTable模块产生的角位移信号图10末端执行器在OXY面上运动范围4机器人工具箱RoboticsToolboxforMATLAB的简单应用
4.1建立串联机器人模型命令“r=SerialLinkdhoptions”根据DH参数创建一个连杆机器人矩阵列向量依次代表thetadalphaa首先按照表1中的D—H参数建立串联机械手的模型,tool设定末端执行器的变换矩阵r=seriallink[
00.160pi/2;
000.250;
000.170;
000.1pi/2]tool[0010;0100;1000;0001]“Seriallink.teach”这条命令用于通过滑块控制关节转角来驱动机器人运动,并以动画显示r.teach图11机械手关节转角控制动画
4.2Seriallink.fkine正向运动学分析“T=R.fkineq”计算得到的矩阵T为机器人末端执行器在参考坐标系中的位置和姿态,q为各个关节的角度,对于N轴的机械臂来说q为一个N维向量r.fkine
[0000]ans=
001.
00000.5200-
0.0000-
1.000000-
1.
00000.
000000.
16000001.0000图12关节角均为0时机械臂的位置和姿态当每个关节转角均为0时从上面计算结果中矩阵第4列可以看出末端执行器在OXY平面上X方向坐标为
0.52mZ方向为
0.16m,与实际情况相符5基于ADAMS的运动学反解机械手由初始点位置和姿态运动到终止点经过的空间曲线称为路径轨迹规划方法一般是在机器人初始位置和目标位置之间用多项式函数来“内插”或“逼近”给定的路径,并产生一系列“控制设定点”路径端点一般是在笛卡儿坐标中给出的如果需要某些位置的关节坐标,则可调用运动学逆问题求解程序,进行必要的转换它是运动学反解位姿反解速度、加速度反解的实际应用运动反解讨论上述位姿运动方程的反向问题,即求由手坐标系的笛卡儿空间到关节空间即所有关节转角)的逆变换,以求解诸关节转角求反解可采用代数法反解而造成机器人运动学逆解具有多解的原因是由于解反三角函数方程产生的前面的运动方程中有许多角度的耦合,比如,这就使得无法从矩阵中提取足够的元素来求解单个的正弦和余弦项以计算角度为使角度解耦,可例行地用单个矩阵左乘矩阵,使得方程右边不再包括这个角度,于是可以找到产生角度的正弦值和余弦值的元素,并进而求得相应的角度但是矩阵计算工作量大容易出错五自由度串联机器人的运动很复杂,想要实现机器人末端简单的运动轨迹需要多轴的配合,通过设定关节运动直接定义末端的运动轨迹很困难利用ADAMS的一般点驱动(GeneralPointMotion)让末端执行器根据给定的运动规律运动,然后测量关节角位移曲线将其转化为样条曲线,反过来作为驱动可得到末端的运动轨迹图13ADAMS运动学反解求解过程假设让末端走直线运动,3s种内沿Y轴负方向移动
0.4m则Y方向运动函数为steptime003-
0.4图14简单路径的定义在让末端执行器按给定的运动规律运动时其余转动关节的Motion应处于失效状态(Deactivate然后测量Joint1—Joint的角位移弧度)曲线,如下图图15各关节转角随时间变化曲线进入后处理,选择曲线编辑工具条中的“Createasplinedataelementfromacurve”将测得的角位移曲线(单位设置中要选择弧度)转换成样条曲线(分别命名为s1s2s3s4)并可以用来定义驱动轴的运动样条函数有几种不同的形式,其中较常用的AKISPL形式为AKISPL1st_Indep_Var2nd_Indep_VarSpline_NameDeriv_Order其中前两个参数为自变量,一般以时间为第一个自变量,第二个自变量设为
0.SplineName是所需调用的样条的名字,DerivativeOrder是样条的阶数,选择0时返回样条曲线坐标值例如第2个关节的运动可以用Motion2-AKISPLtime0s20,其余轴的驱动定义方式与此相同(注意转动方向)令末端点的驱动失效,运行系统仿真选择CreateTraceSpline来创建末端点的运动轨迹将其与最初定义的点驱动轨迹相对比,可以发现两条曲线很好的重合人在一起总结与感想Denavit-HartenbergDH模型表示了对机器人连杆和关节进行建模的一种非常简单的方法,可用于任何机器人构型,而不管机器人的结构顺序和复杂程度如何它也可用于表示已经讨论过的在任何坐标中的变换,例如直角坐标、圆柱坐标、球坐标、欧拉角坐标及RPY坐标等尽管采用某些方法对机器人建模会更快、更直接,但D-H表示法有其附加的好处,例如,雅克比矩阵的计算和力分析等由于作者水平和经验有限仿真结果误差比较大,也没能计算出运动学反解的解析表达式不过随着学习的深入相信会对串联机器人的运动和控制有更深刻的认识最后我要感谢陈亚老师的细心指导参考文献
[1]JohnJ.Craig.机器人学导论.北京机械工业出版社,20066
[2]约翰.F.加德纳.机构动态仿真—使用MATLAB和SIMULINK.西安西安交通大学出版社20029
[3]蔡自兴.机器人学.北京清华大学出版社20088
[4]P.Corke.AroboticstoolboxforMATLAB.IEEERoboticsandAutomationMagazinevol.3pp.2432Sept.
1996.
[5]丁佳洛战强.基于ADAMS的串联机器人运动学反解与动力学优化.机电产品开发与创新.2008年1月
[6]孙亮,马江,阮晓钢.六自由度机械臂轨迹规划与仿真研究.控制工程.2010年5月第17卷第3期仿真测量驱动点驱动机械臂执行末端转动关节关节角位移曲线样条函数Motion仿真测量曲线处理。