当前位置:文档之家› 基于MATLAB的机器人正运动学分析与仿真

基于MATLAB的机器人正运动学分析与仿真

2o18.21 设计与研发 基于MATLAB的机器人正运动学分析与仿真 

赵慧娟 (中国矿业大学,江苏徐9'J1,221116) 

摘要:鉴于机器人技术的迅猛发展,不同用途的机器人活跃在各个领域。研究机器人,运动学分析是关键,包括运动学方程的 正解和逆解。本文应用坐标系变换对机器人进行建模分析,计算出机器人运动方程的正解求解公式,得到了关节末端坐标与各 个关节角之间的对应关系。并应用Matlab--Simulink下的SimMechanics仿真模块进行机器人的运动学三维仿真,验证仿真 模型,为今后机器人运动学方面的研究提供一个直观有效的环境。 关键词:机器人;运动分析:仿真 

Robotic forward kinematics analysis and simulation based on MATLAB Zhao Hui juan (China University of Mining and Technology,Xuzhou,Jiangsu,221116) 

Abstract: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 c0rrespondence between joint ends coordinate and corresp0nding 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. Keywords:robot:kinematics analysis:simulation 

0引言 机器人技术是一门多学科综合交叉的边缘学科,涉及电子、 机械、运动学、动力学、控制理论、传感器检测、计算机技术和人机 工程。计算机技术的不断发展促使机器人技术的发展达到一个新 水平。上至宇宙飞船、下至深海开发,大到空间站,小到微型机器 人,机器人技术已经拓展到全球经济发展的诸多领域,成为高科 技中非常重要的部分。 机器人机械设计与一般的机械设计相比,有很多不同之处。 首先,从机构学的角度来看,机器人的结构是由一系列连杆通过 旋转关节连接起来的开式运动链。机械手是机器人系统的运动部 

*椎 l 

l¨ (: 一()Nt(=下 S 

分。作为自动化工具的机械手,它有如下特点:它的执行机构是 用来保证复杂空间运动的综合刚体,而且它自身也往往需要在机 械加工或装配等过程中作为统一体进行运动。因此我们分析机器 人需要一种可行性方法。 

1机器人的结构参数模型 1.1连杆坐标系的建立 要想分析机器人的运动,必须建立坐标系,Denavit和 Hatenberg提出构造连杆D—H坐标系方法,这种方法在各个连杆 上固结一个坐标系,命名与基座固结在一起的坐标系为{0),与 

燕鞠+l 

图1坐标系的建立 i+t 

7 J 日日日衄 设计与研发 2o16 21 连杆i固结在一起的坐标系为{i}。笛卡尔坐标系用分为固联坐 标系后置和固联坐标系前置两种形式,本文默认选为固联坐标系 前置方式。 1.2连杆坐标系的建立方法与原则 连杆机构的结构模型如图1所示: 笛卡尔坐标系的建立规则如下: 将各个关节轴延长并标出。确定坐标原点的位置。画出关节 轴i-i和i之间的公垂线,则公垂线与关节轴i一1的交点作为坐 标系{i1Ii)的原点,公垂线与关节轴i的交点作为坐标系{i)的 原点。若两关节轴线相交,则交点即为原点。确定坐标系Z轴的方 向。规定 的方向与关节轴i-I的方向相同。确定坐标系x轴的 方向。规定 轴与公垂线共线,方向由坐标系(i-I)。的原点指 向坐标系{i)的原点。若关节轴i与i-1相交,规定 轴垂直于 关节轴i—l和i所在平面。确定坐标系x轴的方向。规定 的方 向通过 , 由右手定则确定。坐标系{o)的的位置和方向可 以任意选取,基本上是遵循使用者的个人习惯确 1_3 D—H参数 连杆坐标系建立成功之后,为描述机器人的结构和特性,规 定一系列参数,包括: 1.3.1单根连杆参数 用两相邻关节轴线间的相对位置关系来描述单根连杆的尺 寸,有两个参数就(见图2) 连杆长度 为两关节轴线之间的距离,即 , t轴与 轴的公 垂线长度,沿X 轴方向测量, 总是正的。当两关节轴线平行时, a,=/ ,,,为连杆的长度。当两轴线垂直时, =O。连杆扭角ai为 两关节轴线之间的夹角,即轴 H和= 之间的夹角,绕—油从=, l轴 旋转N- 轴,符合右手规则时为正。当关节轴线平行时, =0;当 两关节轴线垂直时, --90。。 1.3.2相邻连杆之间的参数 相邻两连杆之间的参数,用两根公垂线之间的关系来描述。 杆距离d 为两根公垂线 与 之间的距离,即两X轴 与■j之 间的距离,在= , 由上测量。对于转动关节, :常数;对于移动关 节, =变量。连杆转角 为两根公垂线 与 之间的夹角,即两 x轴 与 ,j轴之间的夹角,绕 轴从 轴旋转到薯轴,符合右手 规则的为正。对于转动关节, 为变量;对于移动关节, ?为常数。 连杆坐标系的建立为处理和分析机器人提供了便利,通过变 换矩阵可以递推求出末端执行器的坐标。机器人的连杆由四个参 数描述,其中参数 和a,将连杆本身的个各种特征描述出来。另 两个参数 和 用于将连杆之间的的关系描述出来,为后续正运 动学提供基础。 2机器人正运动学分析 机器人运动学分析建立在机器人研究的基础上,同时机器人 仿真系统也是建立运动学分析上的。在工业应用中对机械手进行 编程必须建立各种坐标系以及设定关节坐标。当运行程序时,控 制器的运算单元分析出程序所给出的坐标变化,通过这些坐标变 化进一步转变成关节位置的变化,这就是整个控制过程。而这些 功能得以实现的最关键一步就是运动分析。 机器人的正运动学又称为正解过程。其指的是给出了D—H参 数及变换矩阵,当给定一组连杆角度值,相应的求出末端执行器 位姿矩阵的过程。 以PUMA560机器人为例,参照其D—H参数表中参数,将表 中的四个参数分别带入到四阶齐次变换矩阵,运用传递公式 ”7 — 7。¨ 。 ,计算得 

1 n 0 ” 0 0 《》 a a p a p 聃 { 

, C1f (C4C C6~¥4S“)一 !j C61+S1(¥4Cs ^+C4S6) 、l=51[C C4C (’6一 4 )~ 5C6]一t j( 4( 5 6+cd 6) 

阳: j( 4C5( 。~s4, }一 ?3, 5 = I

}c2 《~ 4( 5C6一 ^ )十 1 C j+, {(( 4 。一s 4( 5( b) 

( ==:, lf( H《~C4C,C6—54 s )十 2 5( 。]~CjfC4Sb一,Y4L's‘ 6j 

其 :一 ’? 一 ~ ^ : Cl{ 十 2 s》一c1 Y4S5 

r。=一 t

《 13 4. 5 s C5)斗 C134一 5 

“: ¥23C s 一 2 C5 :===C:I} : 2牛 ( —d4 ?31一d2, l 

)}“2。 + ̄t-C23一d,4s231+d2ci 

一吼 一 .。S、~ 3正运动学方程的matlab验算 依据PUMA560机器人的D—H参数,查阅参数得a2=431.8mm, a3=20.32ram d2=149.09mm, d4=433.07mm,立柱高660.4mm。采用迭代原理,并绘出正解 结果折线图。编写matlab函数文件,令1到6关节角度为分别为: 90。,0。,一90。,0,90。,0。那么它的形态应该是杆3,4,5 处于水平状态,且各个坐标系远点位置可通过简单几何加减关系 推到出如下: 

i l . 

{输 懿 

建立坐标聚卜一I-I确舞 i 的卜…… 计辫 囊 蠢阕的 一~I-l 攀 糯 

~u 一…~,…一-u……~~… …一一一~…一一~ 一 一 一 一一一

! i姿矩阵 

~………一 …~…一一 曩 

r一一……一 ……一…。…… l输灭激 i 

{各连杆的旋转角j ;度 j 

图2机器人正运动学 2o18.21 设计与研发 P 1=(0,0,0);P 2=(0,0,6 6 0.4) :P 3=(一 149.09,0,660.4):P4=(一149.09,431.8,660.4): P5=(一149.09,864.87,680.72):P6=(一149.09,864.87,680.72) 运行程序,在matlab工作区域输出结果如下 Ts= 0.0000 1.0000 —0.0000 —149.0900 1.0000 —0.0000 0.0000 864.8700 O -0.0000 一1.0000 20.3200 0 O 0 l_0000 X= 0 0 —149.0900 —149.0900—149.0900—149.0900 Y= 0 0 0.0000 431.8000 864.8700 864.8700 Z= 0660.4000 660.4000 660.4000 680.7200 680.7200 以上结果与预测的坐标点相同。 运行程序的同时会得到各个坐标点的折线图如图3所示,它 可以直观体现机器人各个关节的位置形态。 0 ≯ 譬- … 矗・ 一曩 0 ’’ j 鹅 t警 30≮ ; } : 2瓣; ; j : l 骥 掰 ‘ H ● 一一一 …_-…一 ----一— ~~一 ……— ……一 ~ … …… 一…一 ” 啪黼辩0镧 湖 ∞蝴§描 图3关节折线图 可见其3,4,5关节水平和设想基本一致,可初步证明正解方 程正确性。 4基于Simmechanic的机器人三维建模仿真 MATLAB是Mathworks公司开发的一种集数值计算、符号计 算和图形可视化三大基本功能于一体的功能强大、操作简单的优 秀工程计算应用软件。MATLAB不仅可以处理代数问题和数值分 析问题,而且还具有强大的图形处理及仿真模拟等功能。从而能 够很好的帮助工程师及科学家解决实际的技术问题。 Simulink是Matlab的一个方便的、交互式的、可视化的 程序编制系统。对于非线性动态系统的模拟仿真极其有用,可以 在图形界面下,利用鼠标操作,画方框图的方式建立系统模型和 运行仿真操作,可以应用于线性、非线性、连续离散、多变量和多 速率系统。SimMechanics结合Simulink和Matlab,对一个机 械系统进行建模仿真。通过一系列相关的模块来表示一个机构 系统,就如同Simulink模型一样,而且你可以将SimMechanics 作为Simulink的一个分级子系统嵌入Simulink当中。在仿真 之前,利用Matlab图形系统,SimMechanics可视化工具可以 简化为机械结构直观显示。 其基本步骤如下:选择Groud、Body、和Joint模块:从 Bodies和Joints模块组中拖放建立模型所必需的Body和 Joint模块,还包括Machine Environment模块和至少一个 Ground模块到Simul ink窗口中。这些模块的功能已经在本章第 三小节说明过,在此不多作讲解。定位于联接模块:将Joint和 Body模块拖放到适当的位置,然后按正确的顺序将它们依次连 接起来。 整个系统可以是一个开环的或者是闭环的拓扑结构,但至少 有一个构件是Ground模块,而且有一个环境设置模块直接与其 相连。 

相关主题