基于Matlab的puma560型机器人仿真

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MATLAB的puma560型机器人的仿真

自121 成佳宇

摘要:本文针对PUMA560型机器人,分析了它的正运动学、逆运动学和轨迹规划问题,并在MATLAB环境下,利用机器人仿真工具箱(Robotics Toolbox)对该机器人进行了建模。同时仿真了正运动学和逆运动学求解和轨迹规划,并观察了各关节运动,得到所需的数据。说明了所设计的参数是正确的,从而能够达到预定的目标。

关键字:puma560机器人;运动学;MATLAB Robotics Toolbox;仿真

Abstract Based on PUMA560 robot, this article analyzes its forward kinematics and inverse kinematics and trajectory planning problem. and in the MATLAB environment, the robot simulation toolkit modeling for the robot. And simulation the forward kinematics and inverse kinematics and trajectory planning as well, observe the movement of each joint, we can get the required data. Shows the designed parameters are correct, so that they can reach a predetermined target. Keyword:PUMA560 robot;kinematics;MATLAB Robotics Toolbox;simulation

引言

机器人仿真利用计算机可视化和面向对象的手段,模拟机器人的

动态特性,帮助研究人员了解机器人工作空间的形态及极限,揭示机构的合理的运动方案和控制算法,并在这台“机器人”上模拟能够实现的功能,使用户直接看到设计效果,及时找出缺点和不足,进行改进,从而解决在机器人设计、制造和运行过程中的问题,避免了直接操作实体可能造成的事故和不必要的损失,这将使机器人的研究和生产进入一个可预知的新时代。

论文在 MATLAB 环境下,利用 Robotics Toolbox 对 PUMA560 机器人进行建模,并研究机器人的正运动学、逆运动学和运动规划等问题。

1 构建puma560机器人

我们可以利用所给的机器人工具箱来进行构建机器人对象,首先需要通过构建各个关节的关系,然后通过关节的组合来实现构建整个机器人对象,构建机器人对象主要在于构建各个关节,而构建关节时,需要用到工具箱中的LINK函数。

其中link函数的调用格式:

L = LINK([alpha A theta D])

L =LINK([alpha A theta D sigma])

L =LINK([alpha A theta D sigma offset])

L =LINK([alpha A theta D], CONVENTION)

L =LINK([alpha A theta D sigma], CONVENTION)

L =LINK([alpha A theta D sigma offset], CONVENTION)

参数CONVENTION可以取‘standard’和‘modified’,其中

‘standard’代表采用标准的D-H参数,‘modified’代表采用改进的D-H参数,本文中采用的是改进的D-H参数。参数‘alpha’代表扭转角,参数‘A’代表杆件长度,参数‘theta’代表关节角,参数‘D’代表横距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节

2 PUMA560机器人的运动分析

2.1 机器人运动学正问题

所谓运动学正问题,就是对于机器人, 给定杆件的几何参数和关节的位移,求解末端连杆坐标系相对于基坐标系的位姿。

我们利用Robotics Toolbox中的fkine函数可以实现机器人运动学正问题的求解。

其中fkine函数的调用格式:

TR = FKINE(ROBOT, Q)

参数ROBOT为一个机器人对象,TR为由Q定义的每个前向运动学的正解。

在PUMA560机器人中,定义关节坐标系的零点qz=[0 0 0 0 0 0],那fkine(p560,qz)将返回最后一个关节的平移的齐次变换矩阵。如果有了关节的轨迹规划之后,我们也可以用fkine来进行运动学的正解。比如:

t=0:0.056:2; q=jtraj(qz,qr,t); T=fkine(p560,q);

返回的矩阵T是一个三维的矩阵,前两维是4×4的矩阵代表坐标变化,第三维是时间。

2.2 运动学的逆问题

利用Robotics Toolbox中的ikine函数可以实现机器人运动学逆问题的求解。

其中ikine函数的调用格式:

Q = IKINE(ROBOT, T)

Q = IKINE(ROBOT, T, Q)

Q = IKINE(ROBOT, T, Q, M)

参数ROBOT为一个机器人对象,Q为初始猜测点(默认为0),T 为要反解的变换矩阵。

2.3 机器人的运动轨迹规划

利用Robotics Toolbox提供的ctraj、jtraj和trinterp函数可以实现笛卡尔规划、关节空间规划和变换插值。

其中ctraj函数的调用格式:

TC = CTRAJ(T0, T1, N)

TC = CTRAJ(T0, T1, R)

参数TC为从T0到T1的笛卡尔规划轨迹,N为点的数量,R为给定路径距离向量,R的每个值必须在0到1之间。

其中jtraj函数的调用格式:

[Q QD QDD] = JTRAJ(Q0, Q1, N)

[Q QD QDD] = JTRAJ(Q0, Q1, N, QD0, QD1)

[Q QD QDD] = JTRAJ(Q0, Q1, T)

[Q QD QDD] = JTRAJ(Q0, Q1, T, QD0, QD1)

相关文档
最新文档