基于MATLAB Robotics Tools的机械臂仿真

时间:2022-08-29 11:10:38

基于MATLAB Robotics Tools的机械臂仿真

【摘要】在MATLAB环境下,对puma560机器人进行运动学仿真研究,利用Robotics Toolbox工具箱编制了简单的程序语句,建立机器人运动学模型,与可视化图形界面,利用D-H参数法对机器人的正运动学、逆运动学进行了仿真,通过仿真,很直观的显示了机器人的运动特性,达到了预定的目标,对机器人的研究与开发具有较高的利用价值。

【关键词】机器人;运动学正解;运动学逆解

Abstract:For the purpose of making trajectory plan research on puma560 robot,in the MATLAB environment,the kinematic parameters of the robot were designed. Kinematic model was established by Robotics Toolbox compiled the simple programming statements,the difference was discussed between the standard D-H parameters,and the trajectory planning was simulated,the joints trajectory curve were smooth and continuous,Simulation shows the designed parameters are correct,thus achieved the goal. The tool has higher economic and practical value for the research and development of robot.

Key words:robot;trajectory planning;MTALAB;simulation

1.前言

机器人是当代新科技的代表产物,随着计算机技术的发展,机器人科学与技术得到了迅猛的发展,在机器人的研究中,由于其价格较昂贵,进行普及型实验难度较大,隐刺机器人仿真实验变得十分重要。对机器人进行软件仿真,从运动图像和动态曲线表,可以模拟机器人的动态特性,更加直观的显示了机器人的运动状况,从而可以分析许多重要的信息。

对机器人的运动学仿真,很多学者都进行了研究。文献2以一个死自由度机器人为例,利用MATLAB软件绘制了其三维运动轨迹;文献4对一种柱面机械手为对象,对机械手模型的手动控制和轨迹规划进行了仿真;但上述各种方法建立的机器人模型只适合特定的机械臂模型。一种通用的,经过简单修改便可用于任何一种机械臂的仿真方法显得尤为重要。

2.机器人运动学简介

机器人学中关于运动学和动力学最常用的描述方法是矩阵法,这种数学描述是以四阶方阵变换三维空间的齐次坐标为基础的。矩阵法、齐次变换等概念是机器人学研究中最重要的数学基础。利用MATLAB Robotics Toolbox工具箱中的transl、rotx、roty和rotz函数可以非常容易的实现用其次变换矩阵表示平移变换和旋转变换。例如机器人在X轴方向平移了0.5米的其次坐标变换可表示为:

>>T=transl(0.5,0.0,0.0)

绕Y轴旋转90°可以表示为:

>>T=roty(pi/2)

符合变换可以由若干个简单变换直接相乘得到,例如让物体绕Z轴旋转90°,接着绕Y轴旋转-90°,再沿X轴方向平移4个单位,则对应的齐次变换可表示为:

>>T=transl(4,0,0)*roty(-pi/2)*rotz (pi/2)

3.构建机器人对象

使用计算机对机器人运动的仿真研究,首先需建立相应的机器人对象。在机器人学中通常把机械手看做是由一系列关节连接起来的连杆构成。为描述响铃按键之间平移和转动的关系,Denavit和Hartenberg在1955年提出了一种通用的方法,这种方法是在机器人的每个连杆上建立附属坐标系,然后用4*4矩阵来描述相邻两连杆的空间关系的方法,通过依次变换可最终推导出末端执行器相对于基坐标系的位姿,从而建立机器人的运动学方程。通常称为D-H参数法。

在Robotics Toolbox中,构建机器人对象主要在于构建各个关节,而构建关节时,会用到LINK函数,其一般形式为:

L=LINK([alpha Atheta D sigma],CONVENTION)其中CONVENTION可以取‘standard’和‘modified’,其中‘standard’代表采用标准的D-H参数,‘modified’代表采用改进的D-H参数。参数’alpha’带包扭转角,参数‘A’代表连杆长度,参数‘theta’代表关节角,参数‘D’代表偏距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表平动关节。

这样,只需指定相应的D-H参数,我们便可以对任意机械臂进行建模。通过Robotics Toolbox扩展了plot函数还可将创建好的机械人在三维空间中显示出来。

图1 puma560机械臂三维模型

机器人运动学是主要研究关节变量空间和机器人末端执行器位置以及姿态之间的关系。常见的机器人运动学问题可分为两类:

1)运动学正解:对一给定的机器人,已知杆件几何形状参数和关节角度矢量,求机器人末端执行器相对于参考坐标系的位置和姿态;

2)运动学逆解:给定机器人杆件的几何参数,给定机器人末端执行器相对于参考基坐标系的所需位置和姿态,求解各关节姿态,及判断机器人能否使其末端执行器达到这个所需的位姿。

下面用puma560型机械臂为例,演示运用Robotics Toolbox进行正运动学和逆运动学求解。利用Robotics Toolbox编写的控制程序,对运动学正解,逆解,轨迹规划等问题进行仿真研究。

定义puma560型机器人,其有两个特殊的位姿配置:所有关节变量为0的qz状态,以及表示”READY“状态的qr状态。如我们要求解所有关节变量为0时的末端机械手状态,则相应正运动学可由下述语句求解:

>>puma560;

>>fkine(p560,qz)

Ans =

1.0000 0 0 0.4521

0 1.0000 0 -0.1500

0 0 1.0000 0.4318

0 0 0 1.0000

得到的即为末端机械手位姿所对应的齐次变换矩阵。

图2 正运动学研究

如图2是起点[0 0 0 0 0 0]到终点[0 pi/2 -pi/2 0 0 0]的正运动学研究。

逆运动学问题则是通过一个给定的其次变换矩阵,求解对应的关节变量。例如,假定机械手终点为transl(0.4,0.5,0.2)。

图3 逆运动学研究

仿真得到腰关节、肩关节、肘关节关节坐标如图3所示。

4.结论

通过MATLAB Robotics Toolbox工具箱对puma560机械臂进行建模与仿真,研究其正运动学及逆运动学特性,得到了比较理想的仿真结果,为空间直线,曲线轨迹规划提供了实验数据基础。通过MATLAB变成进行的运动学正反解的运算,实现了对工作空间任意直线,曲线的拟合插值运算,从而为机械臂的变成算法与运动研究提供了理论与实验基础。另外,该工具箱还可以对机器人动力学、基于simulink的机械人动态仿真等许多机器人学的相关内容进行仿真与分析。

参考文献

[1]蔡自兴.机器人学基础[M].北京:机械工业出版社,2009.

[2]李延富.CINCINNATI机器人运动学和动力学的研究与仿真分析[D].沈阳:东北大学,2005.

[3]马如奇,郝双晖,郑伟峰,等.基于MATLAB玉ADAMS 的机械臂联合仿真研究[J].机械设计制造,2010(4):93-95.

作者简介:

卢锐(1988―),男,山西太原人,中北大学硕士研究生,研究方向:控制工程。

王忠庆,男,中北大学副教授,硕士生导师,研究方向:控制理论与控制工程,导航、制导与控制,检测技术与自动化装置。

上一篇:信息主管的地位分析及创新作用探讨 下一篇:“继承性设计”在产品交互界面中的应用探讨