基于 MATLAB 的 PUMA560 机器人运动仿真与轨迹规划 5
如何使用Matlab进行运动控制与路径规划
![如何使用Matlab进行运动控制与路径规划](https://img.taocdn.com/s3/m/80f0a20c0a4c2e3f5727a5e9856a561253d32178.png)
如何使用Matlab进行运动控制与路径规划摘要:本文将介绍如何使用Matlab进行运动控制与路径规划。
首先,我们将介绍Matlab中的运动控制工具箱和路径规划工具箱的基本功能和使用方法。
接着,我们将通过一个实例来详细说明使用Matlab进行运动控制和路径规划的步骤和技巧。
最后,我们将总结本文的主要内容。
1. 引言运动控制和路径规划在机器人和自动化控制领域中起着重要的作用。
使用Matlab进行运动控制和路径规划能够帮助我们更高效、更精确地控制和规划机器人的运动。
Matlab中的运动控制工具箱和路径规划工具箱提供了一系列函数和工具,可以帮助我们实现各种复杂的运动控制和路径规划任务。
2. 运动控制工具箱运动控制工具箱是Matlab中的一个重要工具箱,它提供了各种函数和工具,用于控制机器人的运动。
在使用运动控制工具箱之前,我们需要先导入该工具箱,并了解一些基本的概念和使用方法。
在Matlab命令窗口中输入以下命令,即可导入运动控制工具箱:```import robotics.*```通过运动控制工具箱,我们可以实现一些基本的运动控制操作,例如控制机器人的位置、速度和加速度等。
运动控制工具箱提供了一系列函数,例如`controlSystem`、`motionModel`和`inverseKinematics`等,可以帮助我们实现各种不同类型的运动控制任务。
下面,我们将通过一个实例来详细说明如何使用运动控制工具箱控制机器人的运动。
3. 路径规划工具箱路径规划工具箱是Matlab中的另一个重要工具箱,它用于规划机器人的运动路径。
路径规划是指根据机器人的起点、终点和障碍物等信息,确定机器人应该走的最佳路径。
在使用路径规划工具箱之前,我们同样需要先导入该工具箱,并了解一些基本的概念和使用方法。
在Matlab命令窗口中输入以下命令,即可导入路径规划工具箱:```import navigation.*```路径规划工具箱提供了一系列函数和工具,用于实现不同类型的路径规划算法。
(完整word版)基于MATLAB教学型机器人空间轨迹仿真
![(完整word版)基于MATLAB教学型机器人空间轨迹仿真](https://img.taocdn.com/s3/m/c0018c7079563c1ec4da7131.png)
基于MATLAB教学型机器人空间轨迹仿真robotic toolbox for matlab工具箱1. PUMA560的MATLAB仿真要建立PUMA560的机器人对象,首先我们要了解PUMA560的D-H参数,之后我们可以利用Robotics Toolbox工具箱中的link和robot函数来建立PUMA560的机器人对象。
其中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参数。
参数‘alpha’代表扭转角,参数‘A’代表杆件长度,参数‘theta’代表关节角,参数‘D’代表横距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节。
另外LINK还有一些数据域:LINK.alpha%返回扭转角LINK.A%返回杆件长度LINK.theta%返回关节角LINK.D%返回横距LINK.sigma%返回关节类型LINK.RP%返回‘R’(旋转)或‘P’(移动)LINK.mdh%若为标准D-H参数返回0,否则返回1LINK.offset%返回关节变量偏移LINK.qlim%返回关节变量的上下限[min max]LINK.islimit(q)%如果关节变量超限,返回-1, 0, +1LINK.I%返回一个3×3 对称惯性矩阵LINK.m%返回关节质量LINK.r%返回3×1的关节齿轮向量LINK.G%返回齿轮的传动比LINK.Jm%返回电机惯性LINK.B%返回粘性摩擦LINK.Tc%返回库仑摩擦LINK.dhreturn legacy DH rowLINK.dynreturn legacy DYN row其中robot函数的调用格式:ROBOT%创建一个空的机器人对象ROBOT(robot)%创建robot的一个副本ROBOT(robot, LINK)%用LINK来创建新机器人对象来代替robotROBOT(LINK, ...)%用LINK来创建一个机器人对象ROBOT(DH, ...)%用D-H矩阵来创建一个机器人对象ROBOT(DYN, ...)%用DYN矩阵来创建一个机器人对象2.变换矩阵利用MA TLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。
基于MATLAB的PUMA560机器人运动学仿真
![基于MATLAB的PUMA560机器人运动学仿真](https://img.taocdn.com/s3/m/ecd9b2d24028915f804dc2f6.png)
1 P U M A 5 6 0 机器人参数设计
1 . 1连杆参数和坐标系
一
究。 开式运动链一端固定在基座上 , 另一端不固定 , 利用末端 执 行器 来操纵物体 以完成各种任 务。 驱动器使关节运动 , 并带 动
连杆运动, 使手爪到达所规定的位姿。 轨 迹 规 划 的过 程 中, 重 点研 究 操作 臂 末 端执 行 器 相 对
从数据 曲线或数 据本 身难以分析出来 的许 多重 要信息, 还 可以 从图形上看到机器人在一定控制条件下的运动规律 。 一个新 的 机 器人 工作程序 编制完成后, 先在仿真软件中观 察运行 结果, 分析检验轨 迹规 划和作业规划 的正确性和合 理性 , 为离线编程 依据给定的连杆坐标系, 相关的连杆参数可规定如下: 1 ) a 为沿 i 轴, 从z 移动至z 的距 离。
自由度 的P U M A 5 6 0 机 器人 进行 参 数 设 然 后 讨 论 了正、 逆 运 动 机器人 操作臂运 动学方程的研究 内容 , 为操作 臂各个连 杆 学算法 , 轨 迹规划 问题 , 最 后在M A T L A B 环境下, 运 用机器人工 间的位移关系、 速度 关系及加速度关 系。 连杆通过移动或转 动 具箱编制简单的程 序语句 , 快速完成了机器人 的运动学仿真 。 关节 串联形成机器人操作臂, 可 以作为一个 开式运动链进行研
实验研究 ・
基于MA T L A B的P UMA5 6 0 机器人运动学仿真
董慧颖 梁 爽( 沈阳 理工 大学, 辽 宁 沈阳 1 1 0 0 5 9 )
摘 要: 随着机器人技术的发展和应用, 机器人在现代 工业生产中扮演着越来越重要的角色。 机器人诞生是科学技术与社会进步的必然 结果 , 从根 本 上 改变 了 原来传 统的生产体 系和生产 方式 。 本 文在 M A T L A B  ̄境 下, 对P U M A 5 6 0 机 器人 进行 参 数设计, 分 析P U M A 5 6 0 机 器人 的运
基于MATLAB的PUMA560机械臂运动仿真
![基于MATLAB的PUMA560机械臂运动仿真](https://img.taocdn.com/s3/m/fc2fb1d55727a5e9846a614b.png)
基于MATLAB的PUMA560机械臂运动仿真徐哲扬来源:?读天下?2021年第10期摘要:工业机器人崛起于在20世纪60,是一种将其和计算机辅助设计〔CAD〕、计算机辅助制造〔CAM〕系统结合在一起的特殊装备。
而Unimation PUMA560作为简单6自由度机器人,在工业中的应用也极为广泛。
本文针对典型的工业机器人Unimation公司生产的PUMA560机器人,运用MATLAB中的机器人仿真工具箱〔Robotics Toolbox〕分析了其正逆运动学方法和轨迹规划的结果,并观察了其运动情况和规律。
关键词:Unimation PUMA560;机械臂;MATLAB仿真机器人运动学涉及大量的算法设计和计算量,所以利用计算机可视化和计算机的仿真软件的方式进行仿真,能过大大减轻科研人员的工作量。
通过图形观察机器人在一定控制条件下的运动规律进而帮助科研人员更好地理解其工作的原理,同时验证其算法的正确性,并对机器人进行图形仿真将结果以图形的形式表示出来,也十分便于展示给企业或者客户。
此外,MATLAB等的仿真软件能在机器人投入生产之前观察其工作效果,从而大大减轻了企业承担的经济风险。
一、搭建PUMA560机械臂本文应用MATLAB的Robotics Toolbox机器人仿真工具箱做机械臂的仿真。
第一步是利用Link函数搭建各个连杆之间关节的相互关系,第二步是调用robot函数创立一个新的机器人对象。
二、 PUMA560的运动分析〔一〕机器人运动学正问题机器人运动学正问题连杆的位移和相对应的关节的偏移量,求解末端连杆坐标系相对于基坐标系的位姿。
图1 PUMA560操作臂运动参数和坐标系分布本文使用MALTBA的Robot中的正问题计算函数fkine能够求解机器人运动学的正问题。
在分析这个问题时,分析可得在操作臂的中部有一个轮子将连续三个部件的运动相关联在一起。
需要根据连杆变换矩阵公式求得每一个连杆的变换矩阵01T~56T,然后将各个连杆矩阵连乘得到06T:〔二〕机器人运动学逆问题机器人运动学逆的解决方法在被告知连杆的位移和相对应坐标系的姿态,即其位姿矩阵,求反求机械臂各个关节的位姿。
matlab中如何规划机器人行动轨迹
![matlab中如何规划机器人行动轨迹](https://img.taocdn.com/s3/m/9fd68850793e0912a21614791711cc7930b77862.png)
mat1ab中如何规划机器人行动轨迹机器人在工业生产、物流等领域中发挥着越来越重要的作用。
这些机器人的工作范围和速度都非常高,但需要一个能规划出精确行动轨迹的系统。
Mat1ab软件是一个非常流行的工具,可以用于机器人行动轨迹规划。
在本文中,我们将介绍Mat1ab中如何规划机器人行动轨迹。
机器人的行动轨迹规划,可以包括以下几个主要步骤:1.设计机器人模型在Mat1ab中,可以用Simu1ink工具箱来设计机器人模型。
Simuhnk提供了一个可视化的环境,使用户可以很容易地构建机器人模型。
用户可以在模型中加入链接、驱动、传感器等元件,并且可以自定义机器人的类型和形状。
2.设计运动方程机器人模型的设计完成后,需要定义运动方程。
运动方程是描述机器人运动、速度和位置的数学公式。
在Mat1ab中,可以根据机器人模型和任务要求,编写运动方程。
运动方程的编写涉及到物理、控制工程等多个方面的知识。
3.选择路径规划算法选择适当的路径规划算法是规划机器人行动轨迹的关键。
一般来说,路径规划算法分为全局路径规划和局部路径规划。
常用的全局路径规划算法有A*算法、DijkStra算法等,常用的局部路径规划算法有DWA算法、Teb算法等。
选择适合自己的路径规划算法可以提高计算的效率和准确性。
4.实现路径规划算法在Mat1ab中,可以使用PathP1anningToo1box工具箱来实现路径规划算法。
PathP1anningToo1box⅛Mat1ab中专用的路径规划工具,提供了多种路径规划算法的实现和可视化,可根据任务要求和机器人要求进行定制开发。
5.仿真和实验当路径规划算法编写完毕后,需要进行仿真和实验来验证该算法的可行性和可靠性。
Simu1ink和PathP1anningToOgOX可以用于设置和分析仿真模型,同时可以进行实际试验来验证模型在实际物理环境中的有效性。
总之,Mat1ab提供了全面的工具和方法,可用于构建机器人模型、定义机器人运动方程、选择路径规划算法、实现路径规划算法、仿真和实验等多个方面。
Matlab中的运动规划和轨迹生成技巧
![Matlab中的运动规划和轨迹生成技巧](https://img.taocdn.com/s3/m/e3603e13bc64783e0912a21614791711cc7979ad.png)
Matlab中的运动规划和轨迹生成技巧引言:Matlab是一种功能强大的数学软件,广泛用于科学研究、工程计算和数据分析等领域。
在机器人技术中,运动规划和轨迹生成是非常重要的环节。
本文将介绍在Matlab中进行运动规划和轨迹生成的一些基本技巧和实用工具,帮助读者更好地掌握这一领域。
一、运动规划基础运动规划是研究如何使机器人在给定约束条件下完成所需任务的过程。
常见的运动规划方法包括逆向运动学、欧拉角和四元数表示等。
在Matlab中,可以使用机器人学工具箱(Robotics Toolbox)来进行运动规划。
该工具箱提供了一系列函数,用于实现机器人的正逆向运动学计算、碰撞检测和轨迹规划等功能。
二、轨迹生成技巧1. 插值法轨迹的插值是生成平滑运动的常用技巧。
Matlab中有多种插值方法,如线性插值、样条插值和最小二乘法插值等。
通过对已知数据点进行插值,可以得到平滑的轨迹曲线,使机器人的运动更加平稳。
2. 优化算法优化算法常用于解决轨迹生成中的优化问题。
Matlab中提供了一些强大的优化函数,如fmincon和fminunc等。
可以使用这些函数对运动学约束、机器人能力和任务目标进行优化,并生成最佳轨迹。
三、示例应用为了更好地理解运动规划和轨迹生成技巧在实际应用中的作用,我们以机械臂路径规划为例进行说明。
假设我们有一个三自由度机械臂,需要实现从初始位置到目标位置的平滑运动。
首先,我们可以利用机器人学工具箱计算机械臂的逆向运动学,确定关节角度。
然后,通过插值法生成关节角度的平滑过渡曲线,并利用优化算法解决机械臂关节运动的优化问题。
最后,根据优化的结果,通过逆向运动学计算获得末端执行器的位置和姿态,从而生成最佳轨迹。
四、工具箱推荐除了Matlab内置的机器人学工具箱外,还有一些第三方工具箱可以用于运动规划和轨迹生成。
例如,Peter Corke开发的Robotics System Toolbox是一个强大且易于使用的工具箱,提供了丰富的功能,包括机器人建模、路径规划和轨迹生成等。
puma560的运动学及matlab实现(正解+逆解)
![puma560的运动学及matlab实现(正解+逆解)](https://img.taocdn.com/s3/m/034c565be55c3b3567ec102de2bd960590c6d964.png)
puma560的运动学及matlab实现(正解+逆解)表1 PUMA560机器⼈的连杆参数关节i变化范围/(o) 190000-160~16020-900149.09-225~453-900431.80-45~22540-9020.32443.07-110~170509000-100~10060-9000-266~266正解源码DEG = pi/180;cta1=-70.4385cta2=182.6918cta3=-90.0000cta4=-82.4708cta5=-19.7387cta6=-97.9933T01=[cosd(cta1),-sind(cta1),0,0;sind(cta1), cosd(cta1),0,0;0,0,1,0;0,0,0,1];T02=T01*[cosd(cta2),-sind(cta2),0,0;0,0,1, 149.09;-sind(cta2),-cosd(cta2),0,0;0,0,0,1] ;T03=T02*[cosd(cta3),-sind(cta3),0,431.8;sind(cta3), cosd(cta3),0,0;0,0,1,0;0,0,0,1];T04=T03*[cosd(cta4),-sind(cta4),0,20.32;0,0,1,433.07;-sind(cta4),-cosd(cta4),0,0;0,0,0,1];T05=T04*[cosd(cta5),-sind(cta5),0,0;0,0,-1,0;sind(cta5), cosd(cta5), 0,0;0,0,0,1];T06=T05*[cosd(cta6),-sind(cta6),0,0;0,0,1,0;-sind(cta6),-cosd(cta6),0,0;0,0,0,1];O=T06*[0;0;0;1];=====================================================逆解源码fid = fopen('inverseout.txt','w');%逆解的保存⽂件%赋初值T06 =[0.0000 1.0000 0.0000 -149.0900;0.0000 -0.0000 1.0000 864.8700;1.0000 0 -0.0000 20.3200;0 0 0 1.0000] ;a0=0; a1=0; a2=431.8; a3=20.32; a4=0; a5=0;d1=0; d2=149.09; d3=0; d4=433.07; d5=0; d6=0;n_x=T06(1); n_y=T06(2); n_z=T06(3);o_x=T06(5); o_y=T06(6); o_z=T06(7);a_x=T06(9); a_y=T06(10); a_z=T06(11);p_x=T06(13); p_y=T06(14); p_z=T06(15);disp(['⼋组解分别是:']);for i=1:2for j=1:2for k=1:2%求解theta1(为弧度)sqr1=[sqrt(p_x^2+p_y^2-d2^2),-sqrt(p_x^2+p_y^2-d2^2)];ta1=atan2(p_y,p_x)-atan2(d2,sqr1(i));%求解theta3(弧度表⽰)k1=(p_x^2+p_y^2+p_z^2-a2^2-a3^2-d2^2-d4^2)/(2*a2);sqr3=[sqrt(a3^2+d4^2-k1^2),-sqrt(a3^2+d4^2-k1^2) ];ta3=atan2(a3,d4)-atan2(k1,sqr3(j));fs23=-((a3+a2*cos(ta3))*p_z)+(cos(ta1)*p_x+sin(ta1)*p_y)*(a2*sin(ta3)-d4); sc23=(-d4+a2*sin(ta3))*p_z+(cos(ta1)*p_x+sin(ta1)*p_y)*(a2*cos(ta3)+a3); ta23=atan2( fs23,sc23);%求解theta2 (弧度表⽰)ta2=ta23-ta3;%求解theta4 (弧度表⽰)fs4=[ -a_x*sin(ta1)+a_y*cos(ta1),a_x*sin(ta1)-a_y*cos(ta1)];sc4=[ -a_x*cos(ta1)*cos(ta23)-a_y*sin(ta1)*cos(ta23)+a_z*sin(ta23),a_x*cos(ta1)*cos(ta23)+a_y*sin(ta1)*cos(ta23)-a_z*sin(ta23)];fprintf(fid,'%d,',sc4(1,1));fprintf(fid,'\t');fprintf(fid,'%d,',sc4(2,1));fprintf(fid,'\t');fprintf(fid,'%d,',fs4(1,1));fprintf(fid,'\t');fprintf(fid,'%d,',fs4(1,2));fprintf(fid,'\t');fprintf(fid,'\n');ta4=atan2(fs4(k),sc4(k));%求解theta5 (弧度表⽰)fs5=-a_x*(cos(ta1)*cos(ta23)*cos(ta4)+sin(ta1)*sin(ta4))...-a_y*(sin(ta1)*cos(ta23)*cos(ta4)-cos(ta1)*sin(ta4))...+a_z*(sin(ta23)*cos(ta4));sc5=a_x*(-cos(ta1)*sin(ta23))+a_y*(-sin(ta1)*sin(ta23))+a_z*(-cos(ta23));ta5=atan2(fs5,sc5);%求解theta6 (弧度表⽰)fs6=-n_x*(cos(ta1)*cos(ta23)*sin(ta4)-sin(ta1)*cos(ta4))...-n_y*(sin(ta1)*cos(ta23)*sin(ta4)+cos(ta1)*cos(ta4))...+n_z*(sin(ta23)*sin(ta4));sc6= n_x*(cos(ta1)*cos(ta23)*cos(ta4)+sin(ta1)*sin(ta4))*cos(ta5)... -n_x*cos(ta1)*sin(ta23)*sin(ta5)...+n_y*(sin(ta1)*cos(ta23)*cos(ta4)+cos(ta1)*sin(ta4))*cos(ta5)...-n_y*sin(ta1)*sin(ta23)*sin(ta5)...-n_z*(sin(ta23)*cos(ta4)*cos(ta5)+cos(ta23)*sin(ta5));ta6=atan2(fs6,sc6);%save%将其化为⾓度Theta=[ta1 ta2 ta3 ta4 ta5 ta6]./pi*180endendend关于C++版本的运动学正解和逆解的代码,可以在以下链接下载。
PUMA560机器人运动学分析
![PUMA560机器人运动学分析](https://img.taocdn.com/s3/m/8c17e5a204a1b0717ed5dd5d.png)
PUMA560机器人运动学分析——基于matlab程序的运动学求解求解PUMA560正向运动学解。
求解PUMA560逆向运动学解。
求解PUMA560的雅克比矩阵。
利用GUI创建运动分析界面。
姓名:xxx学号:201100800406学院:机电与信息工程学院专业:机械设计制造及其自动化年级2011指导教师:xx前言说明此次大作业,是我自己一点一点做的。
程序代码写好之后,感觉只是将代码写上去太过单调,而又不想将课本上或PPT上的基础知识部分复制上去,但我又想让自己的大作业有一点与众不同,所以我决定弄一个GUI界面。
开始对GUI一窍不通,经过几天的学习,终于有了点成果,但还是问题不断,有很多想法却难以去实现,考试在即,只能做成这样了,希望见谅。
目录前言说明 ................................................................................. - 1 -求解PUMA560正向运动学解 ............................................... - 2 -求解PUMA560逆向运动学解 ............................................... - 5 -求解PUMA560的雅克比矩阵 ............................................. - 15 -利用GUI创建运动分析界面................................................ - 22 -求解PUMA560正向运动学解在已知PUMA560各关节连杆DH参数,以及给定相应的关节变量之后,可以通过正向运动学求解出机械手末端抓手在基系内的位姿。
从而利用输入不同的关节变量组合,实现对PUMA560机器人的准确控制。
以下是利用matlab编写的求解PUMA560正向运动学解的函数zhenjie.m:function T=zhenjie(c1,c2,c3,c4,c5,c6)%求puma560正解a2=431.8;a3=20.32;d2=149.09;d4=433.07;c1=c1/180*pi;c2=c2/180*pi;c3=c3/180*pi;c4=c4/180*pi;c5=c5/180*pi;c6=c6/180*pi;A1=[cos(c1),-sin(c1),0,0;sin(c1),cos(c1),0,0;0,0,1,0;0,0,0,1];A2=[cos(c2),-sin(c2),0,0;0,0,1,d2;-sin(c2),-cos(c2),0,0;0,0,0,1];A3=[cos(c3),-sin(c3),0,a2;sin(c3),cos(c3),0,0;0,0,1,0;0,0,0,1];A4=[cos(c4),-sin(c4),0,a3;0,0,1,d4;-sin(c4),-cos(c4),0,0;0,0,0,1];A5= [cos(c5),-sin(c5),0,0;0,0,-1,0;sin(c5),cos(c5),0,0;0,0,0,1];A6=[cos(c6),-sin(c6),0,0;0,0,1,0;-sin(c6),-cos(c6),0,0;0,0,0,1];T=A1*A2*A3*A4*A5*A6end其中c1,c2,c3,c4,c5,c6,为分别输入的各关节变量,即连杆1、连杆2、连杆3、连杆4、连杆5、连杆6的关节转角,直接利用关节矩阵相乘得到机械手末端抓手在基系内的位姿。
基于MATLAB的PUMA机器人运动仿真研究
![基于MATLAB的PUMA机器人运动仿真研究](https://img.taocdn.com/s3/m/00bc7560b207e87101f69e3143323968011cf492.png)
基于MATLAB的PUMA机器人运动仿真研究
基于MATLAB的PUMA机器人运动仿真研究摘要:机器人运动学是机器人学的一个重要分支,是实现机器人运动控制的基础。
论文以D-H坐标系理论为基础对PUMA560机器人进行了参数设计,利用MATLAB机器人工具箱,对机器人的正运动学、逆运动学、轨迹规划进行了仿真。
Matlab仿真结果说明了所设计的参数的正确性,能够达到预定的目标。
关键词:机器人PUMA560 D-H坐标系运动学轨迹规划
机器人运动学的研究涉及大量的数学运算,计算工作相当繁锁。
因此,采用一些工具软件对其分析可大大提高工作效率,增加研究的灵活性和可操作性。
对机器人进行图形仿真,可以将机器人仿真的结果以图形的形式表示出来,从而直观地显示出机器人的运动情况,得到从数据曲线或数据本身难以分析出来的许多重要信息,还可以从图形上看到机器人在一定控制条件下的运动规律[1]。
论文首先设计了PUMA560机器人的各连杆参数,然后讨论了正、逆运动学算法,轨迹规划问题,最后在MATLAB环境下,运用Robotics Toolbox,编制简单的程序语句,快速完成了机器人得运动学仿真。
设机械手起始位置位于A点,qA=[000000],即表示机器人的各关节都处于零位置处。
机械手在B点和C点相对于基坐标系的位姿可用齐次变换矩阵TB和TC来表示。
图2所示为机械手臂在A点时的三维图形。
Matlab在机器人控制与路径规划中的应用
![Matlab在机器人控制与路径规划中的应用](https://img.taocdn.com/s3/m/1bce86c9f80f76c66137ee06eff9aef8941e4804.png)
Matlab在机器人控制与路径规划中的应用1. 引言机器人控制与路径规划是现代机器人技术中的重要组成部分。
它涉及到如何使机器人在给定的环境中完成特定任务,并在路径规划中确定机器人移动的最佳路径。
在这个过程中,Matlab作为一种功能强大的数学建模和仿真软件,为机器人控制和路径规划提供了广泛的应用。
本文将探讨Matlab在机器人控制与路径规划中的应用,并介绍其中的一些关键技术。
2. 机器人控制机器人控制是指如何通过控制机器人的各个关节,使其达到期望的位置和姿态。
在Matlab中,可以通过建立动力学模型和控制器来实现机器人的控制。
首先,可以使用Matlab的符号计算功能,根据机器人的几何参数和关节运动方程,建立机器人的动力学模型。
然后,可以利用Matlab的控制工具箱,设计适当的控制器,以实现对机器人运动的控制。
例如,可以使用PID控制器、模糊控制器或自适应控制器等。
3. 机器人路径规划机器人路径规划是指如何确定机器人在给定环境中的最佳路径,以实现特定任务。
在Matlab中,可以使用路径规划算法来解决这个问题。
常用的路径规划算法包括A*算法、Dijkstra算法和遗传算法等。
这些算法可以将机器人的目标位置和当前位置作为输入,然后计算出机器人应该采取的下一个最佳移动方向。
通过在Matlab中实现这些算法,可以在仿真环境中验证其效果,并优化参数以获得更好的路径规划结果。
4. MatLab的优势和应用案例MatLab在机器人控制与路径规划中具有一定的优势。
首先,它提供了丰富的数学和图形处理工具,可以方便地进行数学建模和仿真分析。
其次,MatLab还拥有强大的编程功能,并支持多种编程语言,如C++和Python。
这使得MatLab可以与其他机器人控制和路径规划软件、硬件等进行无缝集成。
在实际应用中,MatLab已经成功应用于机器人控制与路径规划的各个领域。
例如,在工业领域中,MatLab被广泛用于机器人的控制和路径规划,如自动化生产线、无人机等。
基于MATLAB的机器人正运动学分析与仿真
![基于MATLAB的机器人正运动学分析与仿真](https://img.taocdn.com/s3/m/cef3f9ac988fcc22bcd126fff705cc1754275f46.png)
基于MATLAB的机器人正运动学分析与仿真机器人正运动学是研究机器人的位置、速度和加速度等参数与关节输入之间的关系的一门学科。
它是机器人控制中的重要环节,可以用于描述机器人的位置和方向,以实现准确的运动控制。
MATLAB作为一种强大的数学建模和仿真工具,被广泛应用于机器人正运动学的分析与仿真。
首先,机器人正运动学的分析就是要通过数学方法,推导出机械臂的运动方程。
MATLAB提供了丰富的数学工具箱,可以方便地进行符号计算和数值计算。
比如可以使用符号计算工具箱中的符号变量、方程求解函数等,来推导出机械臂各关节的位置、速度和加速度的表达式。
同时,MATLAB还可以使用数值计算工具箱中的数值求解函数,来求解非线性方程组,解决复杂的运动学问题。
其次,机器人正运动学的仿真是为了验证分析结果的正确性,以及探究机械臂的运动规律。
MATLAB提供了强大的图形界面工具,可以直观地展示机器人的运动过程。
比如可以使用绘图函数来绘制机器人的坐标系变换图,显示机械臂各关节的位置和方向。
同时,还可以使用动画函数来模拟机器人的运动过程,使得机器人在三维空间中实现真实的运动效果。
此外,MATLAB还可以使用仿真工具箱中的物理建模模块,对机器人进行动力学仿真,分析机械臂的工作空间、负载能力等性能指标。
最后,基于MATLAB的机器人正运动学分析与仿真,还可以应用于机器人轨迹规划和路径优化。
通过MATLAB的优化工具箱,可以对机器人的运动轨迹进行求解,找到满足特定要求的最佳路径。
同时,还可以使用MATLAB的控制工具箱,设计机器人的控制器,实现对机械臂的精确控制。
总之,基于MATLAB的机器人正运动学分析与仿真,能够方便、快捷地推导出机械臂的运动方程,并验证运动规律的正确性。
同时,还可以使用MATLAB的图形界面工具和仿真工具箱,进行机器人的可视化展示和动力学仿真。
此外,还可以应用MATLAB的优化工具箱和控制工具箱,实现机器人的轨迹规划和精确控制。
基于MATLAB的机器人运动学仿真与轨迹规划
![基于MATLAB的机器人运动学仿真与轨迹规划](https://img.taocdn.com/s3/m/e4f873b9dc3383c4bb4cf7ec4afe04a1b071b0e3.png)
基于MATLAB的机器人运动学仿真与轨迹规划王晓明;宋吉;庞浩帅【摘要】为研究机器人的轨迹规划,在MATLAB环境下,建立了机器人坐标系并显示其D-H矩阵,确定机器人的连杆运动参数,对机器人的正、逆运动学问题进行分析.通过对机器人的轨迹规划仿真,分析了机器人运动过程中的关节稳定性,如位移、速度、加速度变化等直观地显示了机器人关节的运动,得到了连续平滑的机器人关节角度轨迹曲线与末端位姿规划曲线.仿真实验表明,所设计的运动学参数是正确的,从而达到了预定的目标.【期刊名称】《电子设计工程》【年(卷),期】2019(027)007【总页数】5页(P109-112,117)【关键词】机器人;轨迹规划;MATLAB;仿真【作者】王晓明;宋吉;庞浩帅【作者单位】兰州理工大学电气工程与信息工程学院,甘肃兰州730050;兰州理工大学电气工程与信息工程学院,甘肃兰州730050;兰州理工大学电气工程与信息工程学院,甘肃兰州730050【正文语种】中文【中图分类】TN242.2分析机器人运动学是研究机器人的重要前提,其中包括机器人相对于固定坐标系运动的几何学,在特定工作环境下对机器人进行动力学分析、轨迹规划和控制机器人的任务执行。
所有不同机构的机器人实质上是由一系列关节和连杆连接的[1]。
根据相邻关节与连杆间的旋转、平移变换可以推导机器人运动学建模的过程[2],求解运动学的逆解[3]。
机器人的逆解表明了末端位姿在可达工作空间的运动情况,但是逆解数目与关节数目、连杆参数、关节变量息息相关,涉及十分繁琐复杂的数学运算[4]。
为了提高效率,更加直观理解关节速度对末端线速度与角速度的影响,采用了MATLAB中Robotics Toolbox的机器人函数[5],对机器人进行正逆运动学仿真和求解给定机器人的雅可比矩阵,并进行解的轨迹规划实现最优解[6]。
1 运动学分析1.1 六自由度机器人D-H坐标系为描述机器人和机器人的相对运动关系,通常采用的建模方法是由Denavit和Hartenberg提出的D-H参数法[7]。
puma560机械臂matlab建模仿真(知识参考)
![puma560机械臂matlab建模仿真(知识参考)](https://img.taocdn.com/s3/m/0018df9b964bcf84b9d57bdd.png)
一、安装Robotics Toolbox for MATLAB1、下载该工具箱:迅雷搜狗下载2、将压缩包解压到一个文件夹下面3、打开MATLAB,在File菜单下选择Set Path,打开如下对话框4、单击“Add With SubFolder”,选择上面的工具箱5、点击“Save”,然后点击“Close”。
这样就把工具箱的路径添加到MATLAB的路径中了,也就是工具箱安装了。
PUMA560的MATLAB仿真要建立PUMA560的机器人对象,首先我们要了解PUMA560的D-H参数,之后我们可以利用Robotics Toolbox工具箱中的link和robot函数来建立PUMA560的机器人对象。
其中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参数。
参数‘alpha’代表扭转角,参数‘A’代表杆件长度,参数‘theta’代表关节角,参数‘D’代表横距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节。
另外LINK还有一些数据域:LINK.alpha %返回扭转角LINK.A %返回杆件长度LINK.theta %返回关节角LINK.D %返回横距LINK.sigma %返回关节类型LINK.RP %返回‘R’(旋转)或‘P’(移动)LINK.mdh %若为标准D-H参数返回0,否则返回1LINK.offset %返回关节变量偏移LINK.qlim %返回关节变量的上下限[min max]LINK.islimit(q) %如果关节变量超限,返回-1, 0, +1LINK.I %返回一个3×3 对称惯性矩阵LINK.m %返回关节质量LINK.r %返回3×1的关节齿轮向量LINK.G %返回齿轮的传动比LINK.Jm %返回电机惯性LINK.B %返回粘性摩擦LINK.Tc %返回库仑摩擦LINK.dh return legacy DH rowLINK.dyn return legacy DYN row其中robot函数的调用格式:ROBOT %创建一个空的机器人对象ROBOT(robot) %创建robot的一个副本ROBOT(robot, LINK) %用LINK来创建新机器人对象来代替robotROBOT(LINK, ...) %用LINK来创建一个机器人对象ROBOT(DH, ...) %用D-H矩阵来创建一个机器人对象ROBOT(DYN, ...) %用DYN矩阵来创建一个机器人对象利用MATLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。
基于MATLAB的PUMA560机器人运动仿真
![基于MATLAB的PUMA560机器人运动仿真](https://img.taocdn.com/s3/m/9e2bdb63561252d380eb6ece.png)
PUMA560 机器人是 Unimation 公司生产的 6 自由度串联结构机器人, 它由 6 自由度旋 转关节构成,其构成示意图如图 1。参照人体结构,机器人的第一个关节(J1)通常称为腰关 节,第二个关节(J2)通常称为肩关节,第三个关节(J3)通常称为肘关节,关节轴线为 J4, J5, J6 的关节通常统称为腕关节。 其中前三个关节确定手腕参考点位置, 后三个关节确定手腕的方 位。关节 J1 的轴线为铅直方向,关节 J2, J3 的轴线方向水平且平行,距离为 a3。关节 J1, J2 轴 线垂直相交,关节 J3, J4 轴线垂直交错,距离为 a4。后三个关节的轴线相交于一点,该点也选 作坐标系{4},{5},{6}的原点。各连杆坐标系如图 2 所示。
基于 MATLAB 的 PUMA560 机器人运动仿真与轨迹规划
摘要: 针对 PUMA560 机器人, 分析了它的正运动学、 逆运动学和轨迹规划问题, 并在 MATLAB 环境下,利用 Robotics Toolbox 对该机器人进行了建模。同时仿真了正运动学和逆运动学求解 和轨迹规划,并观察了各关节运动,得到而来所需的数据。说明了所设计的参数是正确的,从 而能够达到预定的目标。 关键词:PUMA560 机器人;运动学;MATLAB Robotics Toolbox;仿真
0
A1 0T6 = 1 A2 2 A3 3 A4 4 A5 5 A6 ,
1
A2 0 A1 0T6 = 2 A3 3 A4 4 A5 5 A6 ,
2
A3 1 A2 0 A1 0T6 = 3 A4 4 A5 5 A6 ,
3
A4 2 A3 1 A2 0 A1 0T6 = 4 A5 5 A6 , 4 A5 3 A4 2 A3 1 A2 0 A1 0T6 = 5 A6
基于Matlab对于PUMA560机器人的运动空间分析研究
![基于Matlab对于PUMA560机器人的运动空间分析研究](https://img.taocdn.com/s3/m/eb72cd06cd7931b765ce0508763231126edb7772.png)
基于Matlab对于PUMA560机器人的运动空间分析研究沙漠;邓子龙【摘要】通过建立PUMA560机器人空间坐标系并确定连杆参数,利用D-H方法建立了运动学模型,在考虑每个连杆参数边界条件的基础上对其运动学方程求解,利用Robotics Toolbox模块对机器人运动进行了仿真,并利用MATLAB生成机器人工作空间图像,通过图像得到不同步长对于工作空间范围和密度的影响;通过对机器人工作空间及运动轨迹的分析,求得机器人杆长对其工作空间的影响系数,利用MATLAB对不同步长的工作空间范围及密度进行仿真、比较.结果可知:机器人的工作空间是由一近似的椭圆体构成,步长越小,密度与工作空间的精准度越高.为机器人的误差分析和结构优化设计提供理论依据,为机器人的动态控制以及机器人结构的动态特性研究奠定基础.【期刊名称】《机械制造与自动化》【年(卷),期】2016(045)002【总页数】5页(P156-159,183)【关键词】机器人;运动学;工作空间【作者】沙漠;邓子龙【作者单位】辽宁石油化工大学机械工程学院,辽宁抚顺113001;辽宁石油化工大学机械工程学院,辽宁抚顺113001【正文语种】中文【中图分类】TP241近年来,机器人技术在军事、航空航天、工农业生产及医疗等领域迅猛发展。
机器人按技术层次可以分为:固定程序控制机器人、示教再现机器人和智能机器人等。
目前机器人研究涉及到机构学、运动学、控制技术、传感技术等领域[1]。
由于机器人的研究涉及到庞大数学运算,计算工作繁琐复杂,常利用一些工具软件来提高对其分析的工作效率,并且可以增加运算的灵活性和准确性。
现利用MATLAB软件通用性好、计算绘图功能强大等特点,对PUMA560机器人的操作进行运动空间及轨迹的仿真分析得到相关图像数据,以便为实际操作和运算提供参考。
PUMA560机械人末端工作空间代表了机械手的活动范围,是表示机器人工作运动灵活性的一个非常重要指标。
PUMA560机器人运动学分析工业机器人大作业
![PUMA560机器人运动学分析工业机器人大作业](https://img.taocdn.com/s3/m/e79167a6b307e87100f69691.png)
目录一、简介1.1工程背景及参数 (1)二、PUMA 560正解 (3)2.1 求解方法 (3)2.2 程序实现 (4)2.3 正解原程序 (4)三、PUMA 560逆解 (6)3.1 PUMA 560 逆解 (6)3.2 求解过程 (6)3.3 逆解原程序 (9)3.4 程序验证 (10)四、求解PUMA 560雅可比矩阵 (11)4.1 雅可比矩阵简述 (11)4.2 微分变换法求J(q) (11)4.3 矢量积法求J(q) (12)4.4 求解雅可比矩阵 (13)4.5 求解程序 (14)五、PUMA 560运动仿真 (16)PUMA560机器人运动学分析摘要:随着现代工业化的快速发展,机器人得到了广泛应用,有关机器人的理论也一直是研究机器人的重点内容。
本文首先对机器人PUMA560 运动学基础理论进行了必要的描述,建立了 D-H 参数表。
之后根据 D-H 参数表对 PUMA 560 求正解、逆解以及雅可比矩阵。
关键词:机器人PUMA560 正解逆解雅可比Abstract: With the rapid development of modern industrialization, the robot has been widely applied, the robot's theory also has been the research focus of the robot. This article first on PUMA560 robot kinematics basic theory into the necessary description, established the d-h parameters table. Based on d-h parameters after the table of PUMA 560 positive solutions and inverse solution and the jacobian matrix.Key words:Robot PUMA560 Positive solutions Inverse Solution Jacobi一、简介工程背景工业机器人不仅应用于传统制造业如采矿、冶金、石油、化学、船舶等领域,同时也已开始扩大到核能、航空、航天、医药、生化等高科技领域以及家庭清洁、医疗康复、酒店餐饮等服务业领域中。
基于MATLAB的PUMA560机器人运动仿真研究_臧庆凯
![基于MATLAB的PUMA560机器人运动仿真研究_臧庆凯](https://img.taocdn.com/s3/m/41188ae3f61fb7360b4c65f3.png)
当 i = 6 时 , T6 确定了机器人末端连杆坐标系 相对于基坐标系的位姿 。 0 T 6 = A 1 A 2 A3 A4 A5 A 6 , 其中 : cos θ 1 -si n θ 1 0 A 1 = sin θ 1 0 0 co s θ 2 A 2 = 0 0 sin θ 3 0 0 co s θ 4 A 4 = 0 0 0 A 5 = sin θ 5 0 co s θ 6 A 6 = 0 0 2. 3 机器人逆运动学 机器人的逆运动学 , 描述的是机器人的末端笛 卡尔空间到关节空间的映射关系 。即已知末端连杆 的位姿 T6 , 求解各关节变量 。 对于 P UMA 560 机 器人 , 需要求解的变量为 θ 1 , θ 2 , θ 3 , θ 4 , θ 5 , θ 6 。 机器人逆运动学求解的方法是 , 对( 3) 式两边依 次左乘 A 的逆矩阵 , 并使两端相等矩阵的对应元素 相等 , 即可求得各关节变量 。 求解各关节变量的方程式如下 : 1 0 A 1 * T6 = A 2 A 3 A 4 A 5 A 6 ,
1 PUMA560 机器人的参数设计
1. 1 连杆参数和坐标系 机器人机 械手由一系列连接在一 起的连杆构 成 , 需要用 2 个参数来描述一个连杆 , 即公共法线距 离 a i 和垂直于 a i 所在平面两轴线的夹角 α i ; 需要另 外 2 个参数来表示相邻两连杆的关系 , 即两连杆的 相对位置 d i 和两连杆的法线的夹角 θ i 。 这 4 个连 杆参数定义如下 : α i 是两关节的关节轴线 J i 与 J i + 1 的夹角为连杆扭转角 ; a i 是两关节的关节轴线 J i 与 J i+1 的公垂线的距离为连杆长度 ; θ i 是相邻两条公 垂线 a i -1 与 ai 的夹角为关节角 ; d i 是相邻两条公垂 线 ai -1 与 ai 的距离为连杆偏移量 。 对于转动关节来
基于MATLAB的PUMA560机器人运动仿真与轨迹规划5
![基于MATLAB的PUMA560机器人运动仿真与轨迹规划5](https://img.taocdn.com/s3/m/e3fa15d1eefdc8d377ee32c6.png)
The movement simulation and trajectory planning ofPUMA560 robotShibo zhaoAbstract: In this essay, we adopt modeling method to study PUMA560 robot in the use of Robotics Toolbox based on MATLAB. We mai nly focus on three problems in elude: the forward kin ematies, in verse kin ematies and trajectory pla nning. At the same time, we simulate each problem above, observe the moveme nt of each joint and expla in the reas on for the selecti on of some parameters. Fin ally, we verify the feasibility of the modeli ng method.Key words: PUMA560 robot; kinematics; Robotics Toolbox; The simulation;I. IntroductionAs automati on becomes more prevale nt in peop'life, robot beg ins more further to cha nge peoplesworld. Therefore, we are obliged to study the mecha nism of robot. How to move, how to determine the position of target and the robot itself, and how to determ ine the an gles of each point n eeded to obta in the positi on. In order to study robot more validly, we adopt robot simulati on and object-orie nted method to simulate the robot kin ematic characteristics. We help researchers un dersta nd the con figurati on and limit of the robot s vvorki ng space and reveal the mecha nism of reas on able moveme nt and control algorithm. We can let the user to see the effect of the design, and timely find out the shortco mings and the in sufficie ncy, which help us avoid the accide nt and unn ecessary losses on operat ing en tity. This paper establishes a model for Robot PUMA560 by using Robotics Toolbox, and study the forward kinematics and inverse kinematics of the robot and trajectory pla nning problem.II. The introduction of the parameters for the PUMA560 robot PUMA560 robot is produced by Un imatio n Compa ny and is defi ned as 6 degrees of freedom robot. It consists 6 degrees of freedom rotary joints (The structure diagram is shown in figure 1). Referring to the human body structure, the first join( J1) called waist joints. The second join( J2) called shoulder joint. The third joint (J3) called elbow joints. The joi nts J4 J5, J6, are called wrist joi nts. Where, the first three joi nts determ ine the positi on of wrist refere nee point. The latter three joi nts determ ine the orie ntati on of the wrist. The axis of the joi nt J1 located vertical directi on. The axis directi on of joi nt J2, J3 is horizontal and parallel, a3 meters apart. Joint J1, J2 axis are vertical intersection and joi nt J3, J4 axis are vertical crisscross, dista nee of a4. The latter three join tsaxes have an intersection point which is also origin point for {4}, {5}, {6} coordinate. (Each link coordi nate system is show n in figure 2)【4】Figi the structure of puma560When PUMA560 Robot is in the initial state, the corresponding link parameters are showed in table 1. a2 = 0.4381m,a3 = 0.0203m,d2 = 0.1491m, d40.4331mThe expressi on of parameters:Let length of the bar : = represent the distanee between z i 4and z i along x i 4.Torsion angle : i 4denote the angle revolving x^from to z i.The measuring distanee between x iJt and x i along z i is d i.Joint angle^ is the angle revoIving from % 4 to X i along Z i.⑷Table 1 the parameters of puma560link:ij/() a/() R/() di /(m) Range10 0 90 0 -160~1602-90 0 0 0.1491 -225~4530 0.4318 -90 0 -45~2254-90 -0.0213 0 0.4331 -110~170590 0 0 0 -100~1006-90 0 0 0 -266~266III .The movement analysis of Puma560 robot3.1 Forward kinematicDefinition: Forward kinematics problem is to solve the pose of end-effecter coordi nate relative to the base coord in ate whe n give n the geometric parameters of link and the tran slatio n of jo int. Let make things clearlyWhat you are given: the len gth of each link and the an gle of each jointWhat you can find: the positi on of any point (i.e. it s( x, y, z/ , 1, ) coord in ate)3.2 The solution of forward kinematicsMethod: Algebraic solutionPrincipal: x = k(q) The kinematic model of a robot can be written like this, where q denotes the vector of joint variable, x denotes the vector of task variable, k() is the direct kin ematic fun cti on that can be derived for any robot structure .The origin of k(q)Each joint is assigneda coordinate frame. Using the Denavit-Hartenberg notation, you need 4 parameters 咚,a,日,d ) to describe how a frame () relates to a previous frame (i -1)i :T . For two frames positioned in space, the first can be moved into coincidenee with the sec ond by a seque nee of 4 operati ons:1. Rotate around the X i j axis by an angle i」.2. Tran slate along the X i』axis by a dista nee i^.3. Rotate around the new z axis by an angle.4. Tran slate along the new z axis by a dista nce .3.3lnverse kinematicDefinition : Robot inv erse kin ematiCS problem is that resolve each joi nt variables ofthe robot based on give n the positi on and direct ion of the en d-effecter or of the link (It can show as position matrix T). As for PUMA560 Robot, variable 円 二6 need to be resolved.Let make things clearly :What you are given: The length of each link and the position of some point on the robot.What you can find: The angles of each joint needed to obtain that position.3.4 The solution of inverse kinematicsMethod: Algebraic solution Principal: x=j (q )qWhere J 二 fk/:q is the robot Jacobian. Jacobian can be seen as a mapping fromJoint velocity space to Operational velocity space.3.5 The trajectory planning of robot kinematicsThe trajectory pla nning of robot kin ematics mai nly studies the moveme nt of robot. Our goal is to let robot moves along give n path. We can divide the trajectory of robots into two kin ds. One is point to point while the other is trajectory tracki ng. The former is only focus on specific location point. The latter cares the whole path.Trajectory track ing is based on point to point, but the route is not determ in ed. So, trajectory tracking only can ensure the robots arrives the desired pose in the end position, but can not ensure in the whole trajectory. In order to let the end-effecter arriving desired path, we try to let the distance between two paths as small as possible when we plan Cartesia n space path. In additi on, in order to elim in ate pose and positi on uncerta inty betwee n two path poi nts, we usually do motivati on pla n among every joi nts un der gang con trol. I n a word, let each joint has same run duratio n whe n we do trajectory pla nning in joint space.i :T 二 Rotx(x, :c®SV j C 〉i J SRC 〉i J 0:-i JTransl(x, : i j)Rotz(z,m )Transl (z,dj-:id—djSa i 1d j sot i 」1 一 above the final homogeneous transform -S 3 C V i C 、; i 1CRC> i二-s :"i 1C 〉i 」Therefore, according to the theorycorresp onding to the last link of the mani pulator: |ny「°S x S y S z 0 a x ay a z 0 P x〕 P yP z1(1.1)(1.2)(1.3)At same time, in order to make the trajectory pla nning more smoothly, we n eed to apply the in terpolati ng method.Method: polyno mial in terpolati ng [1] Given: boundary condition飞(0)6g9 (t f )9 f(0)0J ,( t f ) =0 LOutput : joint space trajectory t between two points23r t = a 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
The movement simulation and trajectory planning ofPUMA560 robotShibo zhaoAbstract:In this essay, we adopt modeling method to study PUMA560 robot in the use of Robotics Toolbox based on MATLAB. We mainly focus on three problems include: the forward kinematics, inverse kinematics and trajectory planning. At the same time, we simulate each problem above, observe the movement of each joint and explain the reason for the selection of some parameters. Finally, we verify the feasibility of the modeling method.Key words:PUMA560 robot; kinematics; Robotics Toolbox; The simulation;I.IntroductionAs automation becomes more prevalent in people’s life, robot begins more further to change people’s world. Therefore, we are obliged to study the mechanism of robot. How to move, how to determine the position of target and the robot itself, and how to determine the angles of each point needed to obtain the position. In order to study robot more validly, we adopt robot simulation and object-oriented method to simulate the robot kinematic characteristics. We help researchers understand the configuration and limit of the robot’s working space and reveal the mechanism of reasonable movement and control algorithm. We can let the user to see the effect of the design, and timely find out the shortcomings and the insufficiency, which help us avoid the accident and unnecessary losses on operating entity. This paper establishes a model for Robot PUMA560 by using Robotics Toolbox,and study the forward kinematics and inverse kinematics of the robot and trajectory planning problem.II.The introduction of the parameters for the PUMA560 robot PUMA560 robot is produced by Unimation Company and is defined as 6 degrees of freedom robot. It consists 6 degrees of freedom rotary joints (The structure diagram is shown in figure 1). Referring to the human body structure, the first joint(J1)called waist joints. The second joint(J2)called shoulder joint. The third joint (J3)called elbow joints. The joints J4 J5, J6, are called wrist joints. Where, the first three joints determine the position of wrist reference point. The latter three joints determine the orientation of the wrist. The axis of the joint J1 located vertical direction. The axis direction of joint J2, J3 is horizontal and parallel, a3 meters apart. Joint J1, J2 axis are vertical intersection and joint J3, J4 axis are vertical crisscross, distance of a4. The latter three joints’ axes have an intersection point which is also origin point for {4}, {5}, {6} coordinate. (Each link coordinate system is shown in figure 2)Fig1】【4 the structure of puma560Fig2】【4 the links coordinate of puma 560When PUMA560 Robot is in the initial state, the corresponding link parameters are showed in table 1. m d m d m a m a 4331.0,1491.0,0203.0,4381.04232==== The expression of parameters:Let length of the bar 1-i α represent the distance between 1-i z and i z along 1-i x . Torsion angle 1-i α denote the angle revolving 1-i x from 1-i z to i z . The measuring distance between 1-i x and i x along i z is i d . Joint angle i θ is the angle revolving from 1-i x to i x along i z .Table 1】【4 the parameters of puma560link )/(1 -i α)/(1 -i a)/( i θ)/(m d iRange1 0 0 90 0 -160~1602 -90 0 0 0.1491 -225~453 0 0.4318 -90 0 -45~2254 -90 -0.0213 0 0.4331 -110~1705 90 0 0 0 -100~100 6-90-266~266III.The movement analysis of Puma560 robot3.1 Forward kinematicDefinition: Forward kinematics problem is to solve the pose of end-effecter coordinate relative to the base coordinate when given the geometric parameters of link and the translation of joint. Let make things clearly :What you are given: the length of each link and the angle of each jointWhat you can find: the position of any point (i.e. it’s ),,,,,(γβαz y x coordinate)3.2 The solution of forward kinematicsMethod: Algebraic solutionPrincipal: )(q k x = The kinematic model of a robot can be written like this, where q denotes the vector of joint variable, x denotes the vector of task variable,()k is the direct kinematic function that can be derived for any robot structure .The origin of )(q kEach joint is assigned a coordinate frame. Using the Denavit-Hartenberg notation, you need 4 parameters (d a ,,,θα) to describe how a frame (i ) relates to a previous frame(1-i )T ii 1-. For two frames positioned in space, the first can be moved into coincidence with the second by a sequence of 4 operations:1. Rotate around the 1-i x axis by an angle 1-i α.2. Translate along the 1-i x axis by a distance 1-i α.3. Rotate around the new z axis by an angle i θ.4. Translate along the new z axis by a distance i d .),(),(),(),(111i i i i i id z Transl z Rotz x Transl x Rotx T θαα---= (1.1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--∂-=----------100001111111111i i i i i i i i i i i i i i i i ii i s d c c c c s s d s c c c s s c T αααθαθαααθαθθθ (1.2) Therefore, according to the theory above the final homogeneous transformcorresponding to the last link of the manipulator:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡==100065544332211006z z z z y y y y x x x x p a s n p a s n p a s n T T T T T T T (1.3)3.3Inverse kinematicDefinition : Robot inverse kinematics problem is that resolve each joint variables of the robot based on given the position and direction of the end-effecter or of the link (It can show as position matrix T). As for PUMA560 Robot, variable 61θθ need to be resolved.Let make things clearly :What you are given: The length of each link and the position of some point on the robot.What you can find: The angles of each joint needed to obtain that position.3.4 The solution of inverse kinematicsMethod: Algebraic solutionPrincipal: ••=q q J x )(Where q k J ∂∂=/ is the robot Jacobian. Jacobian can be seen as a mapping from Joint velocity space to Operational velocity space.3.5 The trajectory planning of robot kinematicsThe trajectory planning of robot kinematics mainly studies the movement of robot. Our goal is to let robot moves along given path. We can divide the trajectory of robots into two kinds. One is point to point while the other is trajectory tracking. The former is only focus on specific location point. The latter cares the whole path.Trajectory tracking is based on point to point, but the route is not determined. So, trajectory tracking only can ensure the robots arrives the desired pose in the end position, but can not ensure in the whole trajectory. In order to let the end-effecter arriving desired path, we try to let the distance between two paths as small as possible when we plan Cartesian space path. In addition, in order to eliminate pose and position’s uncertainty between two path points, we usually do motivation plan among every joints under gang control. In a word, let each joint has same run duration when we do trajectory planning in joint space.At same time, in order to make the trajectory planning more smoothly, we need to apply the interpolating method.Method: polynomial interpolating [1]Given: boundary condition⎩⎨⎧==ff θθθθ)()(t 00 (1.3)⎪⎩⎪⎨⎧==••0t 00)()(f θθ(1.4)Output : joint space trajectory ()t θ between two points()t θ=332210t a t a t a a +++ (1.5)Polynomial coefficient can be computed as follows:⎪⎪⎪⎩⎪⎪⎪⎨⎧--=-===)(2)(30023022100θθθθθf f f f t a t a a a (1.6)IV. Kinematic simulation based on MATLAB•How to use linkIn Robotics Toolbox, function ’ link ’ is used to create a bar. There are two methods. One is to adopt standard D-H parameters and the other is to adopt modified D-H parameters, which correspond to two coordinate systems. We adopt modified D-H parameters in our paper. The first 4 elements in Function ‘link ’ are α, a, θ, d. The last element is 0 (represent Rotational joint) or 1 (represent translation joint). The final parameter of link is ’mod’, which means standard or modified. The default is standard. Therefore, if you want to build your own robot, you may use function ‘link ’. You can call it like this:’ L1=link([0 0 pi 0 0],'modified'); •The step of simulation is:Step1: First of all, according to the data from Table 1, we build simulation program of the robot (shown in Appendix rob1.m).Step2: Present 3D figure of the robot (shown in Fig4). This is a three-dimensional figure when the robot located the initial position (0i =θ). We can adjust the position of the slider in control panel to make the joint rotation (in Fig 5), just like controlling real robot.Step3:Point A located at initial position. It can de described as ]0,0,0,0,0,0[=A q . The target point is Point B. The joint rotation angle can be expressed as ]0,392.0,0,7854.0,7854.0,0[--=B q . We can achieve the solution of forwardkinematics and obtain the end-effecter pose relative to the base coordinate system is (0.737, 0.149, 0.326) , relative to the three axes of rotation angle is the (0, 0, -1).The ro bot’s three-dimensional pose inq is shown in Fig 6.BStep4: According to the homogeneous transformation matrix, we can obtain each joint variable from the initial position to the specified locationStep5:Simulate trajectory from point A to point B. The simulation time is 10s. Time interval is 0.1s. Then, we can picture location image,the angular velocity and angular acceleration image (shown as Fig 8) which describe each joint transforms over time from Point A to Point B. In this paper, we only present the picture of joint 3. By using the function ‘T=fkine(r,q)’, we obtain ‘T’ a three-dimensional matrix.The first two dimensional matrix represent the coordinate change while the last dimension is time ‘t’.zhaoshiboxyzFig 4Fig 5-1-0.50.51-1-0.500.51-1-0.500.51XYZzhaoshibox yzFig 6Fig 7012345678910time t/sa n g l e /r a d012345678910time t/sv e l o c i t y /(r a d /s )012345678910time t/sa c c e l e r a t i o n /(r a d /s 2)Fig8V The problem during the simulation•The reason for selection of some parameterThe parameter of link: From kinematic simulation and program, you can see that I set certain value not arbitrary when I call ‘link ’. That is because I want the simulation can be more close to the real situation .So; I adopt the parameter of puma560 (you can see it from the program) and there is no difference between my robot and puma560 radically.The parameter of B q : When I choose the parameter of B q , I just want to test something.For example, when you denote the parameter of ‘B q ’ like this‘]0,392.0,0,7854.0,7854.0,0[--=B q ’, you want to use the function ‘fkine(p560, B q )’ to obtain the homogenous function ‘T ’, then, you want to use ‘ikine(p560,T)’ to test whether the ‘B q ’ is what you have settled before. The result is as follows:B q =[0 -pi/4 -pi/4 0 pi/8 0]; T=fkine(p560, B q );⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=100032563.038268.009238.01500.00107317.09238.003826.0T B q =ikine(p560,T)B q =[0 -pi/4 -pi/4 0 pi/8 0]Actually, not all of the parameter B q can do like this. For example, when you try B q =[pi/2,pi/2,pi/2,pi/2,pi/2,pi/2] , the answer is not B q itself.VI. References[1]/wiki/Robot_ [online], 7-ferbury-2015[2]/p-947411515.html [online], 7-ferbury-2015[3]/wiki/Jacobian_algorithm [access ed 8-February-2015][4] Youlun Xiong, Han Ding, Encang Liu, Robot[M], Tinghua university press ,1993 VIIAppendixclc; clear;%modified 改进的D-H法L1=link([0 0 pi 0 0],'modified');L2=link([-pi/2 0 0 0.1491 0],'modified');L3=link([0 0.4318 -pi/2 0 0],'modified');L4=link([-pi/2 0.0203 0 0.4318 0],'modified');L5=link([pi/2 0 0 0 0],'modified');L6=link([-pi/2 0 0 0 0],'modified');r=robot({L1 L2 L3 L4 L5 L6});='zhaoshibo';%模型的名称drivebot(r)track.m%前3 个关节对机械手位置的影响qA=[0,0,0,0,0,0]; %起始点关节空间矢量qB= [0 -pi/4 -pi/4 0 pi/8 0]; %终止点关节空间矢量t=[0:0.1:10]; %仿真时间[q,qd,qdd]=jtraj(qA,qB,t); %关节空间规划plot(r,q)%关节3 的角速度、角速度和角加速度曲线figuresubplot(1,3,1)plot(t,q(:,3))%关节3 的位移曲线xlabel('时间t/s');ylabel('关节的角位移/rad');grid onsubplot(1,3,2)plot(t,qd(:,3))%关节3 的位移曲线xlabel('时间t/s');ylabel('关节的角速度/(rad/s)');grid onsubplot(1,3,3)plot(t,qdd(:,3))%关节3 的位移曲线xlabel('时间t/s');ylabel('关节的角加速度/(rad/s^2)');grid on。