赵慧娟
(中国矿业大学,江苏徐州,221116)
基于MATLAB的机器人正运动学分析与仿真
赵慧娟
(中国矿业大学,江苏徐州,221116)
鉴于机器人技术的迅猛发展,不同用途的机器人活跃在各个领域。研究机器人,运动学分析是关键,包括运动学方程的正解和逆解。本文应用坐标系变换对机器人进行建模分析,计算出机器人运动方程的正解求解公式,得到了关节末端坐标与各个关节角之间的对应关系。并应用Matlab—Simulink下的SimMechanics仿真模块进行机器人的运动学三维仿真,验证仿真模型,为今后机器人运动学方面的研究提供一个直观有效的环境。
机器人;运动分析;仿真
机器人技术是一门多学科综合交叉的边缘学科,涉及电子、机械、运动学、动力学、控制理论、传感器检测、计算机技术和人机工程。计算机技术的不断发展促使机器人技术的发展达到一个新水平。上至宇宙飞船、下至深海开发,大到空间站,小到微型机器人,机器人技术已经拓展到全球经济发展的诸多领域,成为高科技中非常重要的部分。
机器人机械设计与一般的机械设计相比,有很多不同之处。首先,从机构学的角度来看,机器人的结构是由一系列连杆通过旋转关节连接起来的开式运动链。机械手是机器人系统的运动部分。作为自动化工具的机械手,它有如下特点:它的执行机构是用来保证复杂空间运动的综合刚体,而且它自身也往往需要在机械加工或装配等过程中作为统一体进行运动。因此我们分析机器人需要一种可行性方法。
1.1连杆坐标系的建立
图1 坐标系的建立
要想分析机器人的运动,必须建立坐标系,Denavit和Hatenberg提出构造连杆D-H坐标系方法,这种方法在各个连杆上固结一个坐标系,命名与基座固结在一起的坐标系为{0},与连杆i固结在一起的坐标系为{i}。笛卡尔坐标系用分为固联坐标系后置和固联坐标系前置两种形式,本文默认选为固联坐标系前置方式。
1.2连杆坐标系的建立方法与原则连杆机构的结构模型如图1所示:笛卡尔坐标系的建立规则如下:
将各个关节轴延长并标出。确定坐标原点的位置。画出关节轴i-1和i之间的公垂线,则公垂线与关节轴i-1的交点作为坐标系{i-1}的原点,公垂线与关节轴i的交点作为坐标系{i}的原点。若两关节轴线相交,则交点即为原点。确定坐标系Z轴的方向。规定的方向与关节轴i-1的方向相同。确定坐标系X轴的方向。规定轴与公垂线共线,方向由坐标系{i-1}。的原点指向坐标系{i}的原点。若关节轴i与i-1相交,规定轴垂直于关节轴i-1和i所在平面。确定坐标系X轴的方向。规定的方向通过,由右手定则确定。坐标系{0}的的位置和方向可以任意选取,基本上是遵循使用者的个人习惯确
1.3D-H参数
连杆坐标系建立成功之后,为描述机器人的结构和特性,规定一系列参数,包括:
1.3.1单根连杆参数
用两相邻关节轴线间的相对位置关系来描述单根连杆的尺寸,有两个参数就(见图2)
1.3.2相邻连杆之间的参数
相邻两连杆之间的参数,用两根公垂线之间的关系来描述。杆距离为两根公垂线与之间的距离,即两x轴与之间的距离,在轴上测量。对于转动关节,=常数;对于移动关节,=变量。连杆转角为两根公垂线与之间的夹角,即两x轴与轴之间的夹角,绕轴从轴旋转到轴,符合右手规则的为正。对于转动关节,为变量;对于移动关节,为常数。
连杆坐标系的建立为处理和分析机器人提供了便利,通过变换矩阵可以递推求出末端执行器的坐标。机器人的连杆由四个参数描述,其中参数和将连杆本身的个各种特征描述出来。另两个参数和用于将连杆之间的的关系描述出来,为后续正运动学提供基础。
机器人运动学分析建立在机器人研究的基础上,同时机器人仿真系统也是建立运动学分析上的。在工业应用中对机械手进行编程必须建立各种坐标系以及设定关节坐标。当运行程序时,控制器的运算单元分析出程序所给出的坐标变化,通过这些坐标变化进一步转变成关节位置的变化,这就是整个控制过程。而这些功能得以实现的最关键一步就是运动分析。
机器人的正运动学又称为正解过程。其指的是给出了D-H参数及变换矩阵,当给定一组连杆角度值,相应的求出末端执行器位姿矩阵的过程。
以PUMA560机器人为例,参照其D-H参数表中参数,将表中的四个参数分别带入到四阶齐次变换矩阵,运用传递公式,计算得
依据PUMA560机器人的D-H参数,查阅参数得a2=431.8mm, a3=20.32mm;d2=149.09mm,
d4=433.07mm,立柱高660.4mm。采用迭代原理,并绘出正解结果折线图。编写matlab函数文件,令1到6关节角度为分别为:90°,0°,-90°,0,90°,0°那么它的形态应该是杆3,4,5处于水平状态,且各个坐标系远点位置可通过简单几何加减关系推到出如下:
图2 机器人正运动学
以上结果与预测的坐标点相同。
运行程序的同时会得到各个坐标点的折线图如图3所示,它可以直观体现机器人各个关节的位置形态。
图3 关节折线图
可见其3,4,5关节水平和设想基本一致,可初步证明正解方程正确性。
MATLAB是Mathworks公司开发的一种集数值计算、符号计算和图形可视化三大基本功能于一体的功能强大、操作简单的优秀工程计算应用软件。MATLAB不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能。从而能够很好的帮助工程师及科学家解决实际的技术问题。
Simulink 是 Matlab 的一个方便的、交互式的、可视化的程序编制系统。对于非线性动态系统的模拟仿真极其有用,可以在图形界面下,利用鼠标操作,画方框图的方式建立系统模型和运行仿真操作,可以应用于线性、非线性、连续离散、多变量和多速率系统。SimMechanics 结合 Simulink 和 Matlab,对一个机械系统进行建模仿真。通过一系列相关的模块来表示一个机构系统,就如同 Simulink 模型一样,而且你可以将SimMechanics作为 Simulink 的一个分级子系统嵌入 Simulink 当中。在仿真之前,利用 Matlab 图形系统,SimMechanics 可视化工具可以简化为机械结构直观显示。
其基本步骤如下:选择Groud、Body、和Joint模块:从Bodies和Joints模块组中拖放建立模型所必需的Body和Joint模块,还包括Machine Environment模块和至少一个Ground模块到Simulink窗口中。这些模块的功能已经在本章第三小节说明过,在此不多作讲解。定位于联接模块:将Joint和Body模块拖放到适当的位置,然后按正确的顺序将它们依次连接起来。
整个系统可以是一个开环的或者是闭环的拓扑结构,但至少有一个构件是Ground模块,而且有一个环境设置模块直接与其相连。
图4 仿真图
图5 末端位置图
一个构件可能不止两个铰(Joint),即可以产生分支。但是一个铰只能连接两个构件。配置Body模块:双击模块,打开参数对话框,配置质量属性(质量和惯性矩),然后确定Body模块和Ground模块与整体坐标系或其他坐标系之间的关系。配置Joint模块:双击模块,打开参数对话框,设置移动或转动轴,或球面铰结点等。选择、连接和配置Constraint模块和Driver模块:从它们的模块库中添加模块到模型窗口中,打开并配置它们每一个对话框,为了限制或驱动Constraint/Driver所连接的两个构件的相对运动。选择、连接和配置Actuator和Sensor模块:从对应的模块库中添加所需模块至模型窗口,并依次连接。通过Actuator模块确定控制信号,通过Sensor模块测量运动。Actuator、Sensor模块实现SimMechanics模块与Simulink模块的连接。利用这两个模块就能够达到与Simulink环境实现信号传递。同时,Actuator模块从Simulink模块接受信号(如Sources模块库)来激励机构运动。Sensor模块的输出端口向Simulink中输出信号(Sinks模块库),反馈输出结果。
由于第6轴只起到旋转作用,模型图只设置了五个角度驱动器和一个末端位置传感器。
运行结构模型仿真图和示波器输出的位置分别如图4和图5所示。
可见当在结构模型中输入各个关节角度时,该结构模型可以得出末端的坐标位置,这相当于一个正解过程,不过这是一个直观的物理仿真过程。
当我们将轴3的角度约束去掉,同时在刚体2和刚体3之间加一角度传感器如图6所示。由于第3轴没有了角度的约束驱动,那么整个机器人将在重力作用下作局部摆动,这样我们通过传感器就能观察到轴角度和末端位置的变化,甚至有需要可以得到末端坐标的变化速度和关节角速度。
图6 加角度传感器后局部视图
运行模型文件, 两个示波器分别输出轴3的角度和末端坐标,波形如下图7和图8。
图7 轴3角度
图8 末端坐标位置
至此,机器人的三维仿真模型建立完毕,可以应用它来辅助学习研究机器人相关理论。
本文根据坐标变换理论,分析机器人对应的结构和参数,建立D-H参数模型,对正运动学进行求解。并运用matlab编程对正运动学方程进行验证,这是对运动学分析的一种自我肯定与检验并且通过验证过程将正运动学过程熟练应用。运用matlab的机构仿真模块simmechanics建立了一种串联机器人的的仿真模型。该仿真模型具有直观性与易操作性,可以完成动态分析和对不可预测的因素进行排除。本结构模型已经有它的的作用所在,它可以为日后分析机器人提供一个直观工具,为以后更深入的研究机器人的轨迹分析与运动规划奠定基础。
[1]王佳.一种六自由度工业机器人的轨迹规划及仿真研究[D].西安:长安大学,2011
[2]张焕.六自由度机器人结构设计、运动学分析及仿真.西安:西安理工大学,2004
[3]周国义,谢明红,孙友生,刘仁中.6自由度解藕机器人运动学逆解优化的研究[J].机电产品开发与创新,2009,22(5):21-23.
[4]杨国良. 工业机器人动力学仿真及有限元分析[D].武汉:华中科技大学,2007.
[5]汪国平.仿真模拟技术及应用[J].物理学与信息科学技术专题,2005,34(8):596-602
[6]石志新,罗玉峰,叶海燕.一般5R串联机器人逆运动学通用求解方法研究[J].机械科学与技术,2009,28(5):661-664.
[7]周品,何正风.MATLAB数值分析[M].北京:机械工业出版社,2013.1.
[8]陈伟华,张铁.喷涂机器人轨迹规划的研究[J].2009,3(37):16-18.
Robotic forward kinematics analysis and simulation based on MATLAB
Zhao Huijuan
(China University of Mining and Technology,Xuzhou,Jiangsu,221116)
In view of great progress of robot technology,robots with different function are used in various fields.kinematics analysis including forward and inverse solution is critical to study robots.This paper applies coordinate system transformation to make model analysis of robot, works out positive solution to robots equations of motion and at last gets correspondence between joint ends coordinate and corresponding joint angle.Then it utilizes SimMechanics under Matlab—Simulink to make robot 3D kinematics simulation aiming to vertify simulation model,which provides a effective environment for the research of robot kinematics.
robot;kinematics analysis;simulation
赵慧娟(1981-),女,江苏泰州人,讲师,工程硕士在读,研究方向:电气控制。