基于MATLAB的PUMA560机器人运动仿真与轨迹规划5.
基于MATLAB的PUMA机器人运动仿真研究
基于MATLAB的PUMA机器人运动仿真研究作者:邢广成张洛花来源:《科技资讯》2011年第30期摘要:机器人运动学是机器人学的一个重要分支,是实现机器人运动控制的基础。
论文以D-H坐标系理论为基础对PUMA560机器人进行了参数设计,利用MATLAB机器人工具箱,对机器人的正运动学、逆运动学、轨迹规划进行了仿真。
Matlab仿真结果说明了所设计的参数的正确性,能够达到预定的目标。
关键词:机器人 PUMA560 D-H坐标系运动学轨迹规划中图分类号:TP24 文献标识码:A 文章编号:1672-3791(2011)10(c)-0000-00机器人运动学的研究涉及大量的数学运算,计算工作相当繁锁。
因此,采用一些工具软件对其分析可大大提高工作效率,增加研究的灵活性和可操作性。
对机器人进行图形仿真,可以将机器人仿真的结果以图形的形式表示出来,从而直观地显示出机器人的运动情况,得到从数据曲线或数据本身难以分析出来的许多重要信息,还可以从图形上看到机器人在一定控制条件下的运动规律[1][5] 。
论文首先设计了PUMA560机器人的各连杆参数,然后讨论了正、逆运动学算法,轨迹规划问题,最后在 MATLAB 环境下,运用 Robotics Toolbox,编制简单的程序语句,快速完成了机器人得运动学仿真。
PUMA560机器人参数设计1.1 D-H变换为描述相邻杆件间平移和转动的关系,Denavit 和Hartenberg (1955)提出了一种为关节链中的每一杆件建立附体坐标系的矩阵方法[2]。
D-H 方法是为每个关节处的杆件坐标系建立 4*4齐次变换矩阵(也称A矩阵),表示它与前一杆件坐标系的关系。
刚性杆件的 D-H 表示法取决于连杆的以下四个参数:-两连杆的夹角;-两连杆的距离;-连杆的长度 (即轴和轴间的最小距离) :-连杆的扭转角。
对于转动关节是关节变量,其余为关节参数(保持不变) :对于移动关节,是关节变量,其余为关节参数。
基于MATLAB的PUMA560机器人运动学仿真
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与ADAMS的PUMA560机器人逆运动仿真
基于MATLAB与ADAMS的PUMA560机器人逆运动仿真李辉;李开世;黄文权
【期刊名称】《机械工程师》
【年(卷),期】2014(000)011
【摘要】应用D-H法建立PUMA560机器人的关节坐标系和杆件参数,并在MATLAB环境下,利用对Robotics Toolbox(机器人工具箱)的二次开发对输入模型进行逆运动仿真,将所得数据导入Adams进行验证,取得良好效果.
【总页数】2页(P105-106)
【作者】李辉;李开世;黄文权
【作者单位】四川理工学院机械工程学院,四川自贡643000;绵阳福德机器人有限公司,四川绵阳621000;四川理工学院机械工程学院,四川自贡643000;四川理工学院机械工程学院,四川自贡643000
【正文语种】中文
【中图分类】TP391.7
【相关文献】
1.基于ADAMS和MATLAB的喷涂机器人运动仿真研究 [J], 袁安富;沈思思;余莉;曾晶晶
2.基于ADAMS和MATLAB的机器人联合运动仿真 [J], 胡蕴博
3.基于ADAMS+MATLAB的移动焊接机器人运动仿真 [J], 王帅;张华;叶艳辉
4.基于MATLAB的PUMA560机器人运动仿真研究 [J], 臧庆凯;李春贵;闫向磊
5.基于MATLAB的PUMA560机器人正逆解研究 [J], 陈晗;李林升
因版权原因,仅展示原文概要,查看原文内容请购买。
基于MATLAB的PUMA560机械臂运动仿真
基于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:〔二〕机器人运动学逆问题机器人运动学逆的解决方法在被告知连杆的位移和相对应坐标系的姿态,即其位姿矩阵,求反求机械臂各个关节的位姿。
PUMA560机器人运动学分析
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机器人运动仿真研究
基于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的机器人运动学仿真与轨迹规划王晓明;宋吉;庞浩帅【摘要】为研究机器人的轨迹规划,在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机器人的几何造型与运动仿真
1 引言1.1 本课题的主要任务和意义1.1.1 研究对象PUMA机器人是美国Unimation公司于70年代末推出的商品化工业机器人。
PUMA 是英文“可编程序的通用装配操作器”(Programmable Universal Manipulator for Assembly)的缩写。
PUMA机器人有腰旋转、肩旋转和肘旋转等三个基本轴,加上手腕的回转、弯曲和旋转轴,构成6自由度的开链式机构。
图1.1 PUMA560 1业机器人结构示意图该机械手具有6个关节,3个旋转关节轴线相互平行,实现平面内定位和定向,1个移动关节实现末端件垂直运动。
1.1.2 主要任务以PUMA560机器人为研究对象,利用Pro/E等建立其实体模型,对该机器人进行运动学分析、运动学仿真。
1.1.3 研究意义通过对PUMA560机器人的造型及运动分析,掌握三维造型软件Pro/E的使用及建模的过程,了解该机器人的关节结构、运动学方程及坐标系建立的过程。
1.2工业机器人的相关知识1.2.1工业机器人的概念工业机器人是由各种外部传感器引导,带有一个或多个末端执行器,通过可编程运动,在其工作空间内对真是物体进行操作的、软件可控的机械装置。
1.2.2工业机器人的结构它主要由机械系统(执行系统、驱动系统)、控制检测系统及智能系统组成。
执行系统:执行系统是工业机器人完成抓取工件,实现各种运动所必需的机械部件,它包括手部、腕部、机身等。
手部:机器人为了进行作业而配置的操作机构,又称手爪或抓取机构,它直接抓取工件或夹具。
腕部:又称手腕,是连接手部和臂部的部件,其作用是调整或改变手部的工作方位。
臂部:联接机座和手部的部分,是支承腕部的部件,作用是承受工件的管理管理荷重,改变手部的空间位置,满足机器人的作业空间,将各种载荷传递到机座。
机身:机器人的基础部分,起支撑作用,是支撑手臂的部件,其作用是带动臂部自转、升降或俯仰运动。
驱动系统:为执行系统各部件提供动力,并驱动其动力的装置。
puma560机械臂matlab建模仿真(知识参考)
一、安装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机器人运动仿真
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机器人的运动空间分析研究沙漠;邓子龙【摘要】通过建立PUMA560机器人空间坐标系并确定连杆参数,利用D-H方法建立了运动学模型,在考虑每个连杆参数边界条件的基础上对其运动学方程求解,利用Robotics Toolbox模块对机器人运动进行了仿真,并利用MATLAB生成机器人工作空间图像,通过图像得到不同步长对于工作空间范围和密度的影响;通过对机器人工作空间及运动轨迹的分析,求得机器人杆长对其工作空间的影响系数,利用MATLAB对不同步长的工作空间范围及密度进行仿真、比较.结果可知:机器人的工作空间是由一近似的椭圆体构成,步长越小,密度与工作空间的精准度越高.为机器人的误差分析和结构优化设计提供理论依据,为机器人的动态控制以及机器人结构的动态特性研究奠定基础.【期刊名称】《机械制造与自动化》【年(卷),期】2016(045)002【总页数】5页(P156-159,183)【关键词】机器人;运动学;工作空间【作者】沙漠;邓子龙【作者单位】辽宁石油化工大学机械工程学院,辽宁抚顺113001;辽宁石油化工大学机械工程学院,辽宁抚顺113001【正文语种】中文【中图分类】TP241近年来,机器人技术在军事、航空航天、工农业生产及医疗等领域迅猛发展。
机器人按技术层次可以分为:固定程序控制机器人、示教再现机器人和智能机器人等。
目前机器人研究涉及到机构学、运动学、控制技术、传感技术等领域[1]。
由于机器人的研究涉及到庞大数学运算,计算工作繁琐复杂,常利用一些工具软件来提高对其分析的工作效率,并且可以增加运算的灵活性和准确性。
现利用MATLAB软件通用性好、计算绘图功能强大等特点,对PUMA560机器人的操作进行运动空间及轨迹的仿真分析得到相关图像数据,以便为实际操作和运算提供参考。
PUMA560机械人末端工作空间代表了机械手的活动范围,是表示机器人工作运动灵活性的一个非常重要指标。
基于MATLAB-RoboticsToolbox的PUMA560机械臂仿真研究
基于MATLAB/RoboticsToolbox的PUMA560机械臂仿真研究王娜【摘要】本文采用标准D-H法对六自由度关节机器人的机构和运动学进行分析,推导出正逆运动学变换公式。
在此基础上,本文运用Matlab机器人工具箱对机器人系统进行了运动仿真,研究了机器人在作业过程中的主要运动学指标的变化情况,十分直观地反映出机器人这一非线性耦合结构中各杆件和末端工作部分的运动状态,为机器人的具体研制、控制策略提供了理论依据。
【关键词】PUMA560机械臂;运动学;动力学;仿真1 PUMA560简介对机器人进行图形仿真,可以直观显示出机器人的运动情况,得到从数据曲线中难以分析出来的许多重要信息,并能从图形上看到机器人在一定控制条件下的运动规律。
从仿真软件中观察机器人工作程序的运行结果,就能分析出该机器人轨迹规划等的正确性和合理性,从而为离线编程提供有效的验证手段。
PUMA560 机械臂是一种示教机器人。
有六个自由度,包括6个旋转关節,模仿人的腰、肩、肘和手腕运动,能以规定的姿态到达工作范围内的任何一个点。
包括:臂体、控制器和示教器三个部分。
它的外观图如图1 所示。
2 PUMA560的空间坐标系建立PUMA560一般由移动关节和转动关节共同作用,组成机器人的操作臂,每个关节都有一个自由度。
在六自由度下,我们规定连杆0表示基座,关节1让基座0与连杆1相接,关节2让连杆1与连杆2相连接,以此类推。
如图2所示。
3 确定D-H坐标系PUMA560的6个关节全为转动关节如下:Xi轴:沿着Zi和Zi-1的公法线,指向离开Zi-1轴的方向;Yi轴:按右手直角坐标系法则制定;Zi轴:沿着i+1关节的运动轴;两连杆距di:Xi和Xi1两坐标轴的公法线距离;两杆夹角θi:Xi和Xi1两坐标轴的夹角;连杆长度ai:Zi和Zi-1两轴心线的公法线长度;连杆扭角αi:Zi和Zi-1两轴心线的夹角;所以相邻坐标系i和i-l的D-H变换矩阵为:6 结论本文利用 MATLAB Robotics Toolbox 建立了PUMA560机器人的三维模型,分析了它的正运动学、逆运动学和轨迹规划问题,验证了仿真的合理性。
基于MATLAB的PUMA560机器人运动仿真研究_臧庆凯
当 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 的距离为连杆偏移量 。 对于转动关节来
PUMA560机器人运动学分析
PUMA560机器人运动学分析PUMA560是一种六轴机器人,由美国Unimation公司于1982年开发生产,具有高精度、高刚度、高速度、高可靠性等特点。
它广泛应用于工业生产线和研究领域,是一种通用性强的机器人。
机械结构PUMA560机器人由机械臂、控制箱和外围设备组成。
机械臂分为一个底座、一个肩部、一个肘部、一个手腕和两个手指。
底座是机械臂的支撑结构,通常固定在地面上,可以旋转360度。
底座上面安装有肩部,肩部可以沿着底座的水平轴向左右旋转170度左右。
肩部上面有肘部,肘部可以沿着肩部的垂直轴向上下旋转150度左右。
肘部上面有手腕,手腕可以沿着肘部的水平轴向左右旋转170度左右。
手腕上面有两个手指,手指之间的距离可以从5.7厘米到15厘米不等。
控制方式PUMA560机器人的控制方式通常分为离线控制和在线控制两种。
离线控制是指事先编写好机器人的运动轨迹,然后通过计算机软件模拟机器人的运动过程,最终生成机器人控制程序。
这种方法可以提高工作效率,缩短生产周期,但是对控制技术的要求较高。
在线控制是指通过外围设备对机器人进行实时控制,实现机器人的运动控制。
这种控制方式虽然灵活方便,但是需要较高的控制精度和反应速度。
运动学分析PUMA560机器人的运动学分析是指研究机器人在空间中的位置和运动。
它通常包括正运动学分析和逆运动学分析两部分。
正运动学分析是指已知机器人各关节的运动角度,计算机器人末端执行器在空间中的位置和姿态。
逆运动学分析是指已知机器人末端执行器在空间中的位置和姿态,计算机器人各关节的运动角度。
正运动学分析采用的是齐次变换矩阵(Homogeneous Transformation Matrix)的方法,即通过多次的旋转和平移变换,将机器人末端执行器的坐标系转换到基坐标系中。
通常可以采用三种方法进行正运动学分析:1. DH法(Denavit-Hartenberg),该方法是一种广泛应用的方法,能够很好地描述机器人的运动。
使用Matlab进行机器人运动控制与路径规划
使用Matlab进行机器人运动控制与路径规划1. 引言机器人技术发展迅猛,应用于工业、医疗、军事等领域。
机器人的运动控制与路径规划是机器人操作的重要组成部分。
而Matlab作为一种功能强大的数学软件,提供了丰富的工具箱和算法,方便进行机器人运动控制与路径规划的研究与实践。
2. 机器人运动模型机器人运动模型是机器人运动控制与路径规划的基础。
运动模型描述了机器人的状态与运动规律。
最常用的机器人运动模型包括点运动模型、刚体运动模型和轮式移动机器人运动模型。
在Matlab中,可以利用基本的数学和物理原理建立机器人的运动模型,并进行求解和仿真。
3. 机器人运动控制机器人运动控制是指控制机器人在给定路径和时间下的运动过程。
传统的机器人运动控制方法主要是基于关节控制,即控制机器人每个关节的角度或位置。
通过Matlab提供的控制工具箱和编程接口,可以实现对机器人动力学模型和控制器的建模和仿真。
4. 机器人路径规划机器人路径规划是指在给定环境和约束下,确定机器人从起点到终点的最优路径。
最常用的机器人路径规划算法包括A*算法、Dijkstra算法和RRT算法等。
在Matlab中,可以调用现成的路径规划算法,并结合机器人的运动模型进行路径规划。
5. 应用案例5.1 工业机器人的运动控制与路径规划工业机器人在汽车制造、电子制造等领域广泛应用。
通过Matlab可以实现对工业机器人的运动控制与路径规划,提高生产效率和质量。
5.2 医疗机器人的运动控制与路径规划医疗机器人在手术、康复等领域发挥重要作用。
通过Matlab可以实现对医疗机器人的运动控制与路径规划,提高手术精度和安全性。
6. 挑战与展望机器人运动控制与路径规划领域还存在许多挑战,例如多机器人协作、动态环境下的路径规划等。
随着人工智能和深度学习的发展,机器人运动控制与路径规划将迎来更多创新与突破。
7. 结论Matlab作为一种强大的工具,为机器人运动控制与路径规划提供了方便和可靠的支持。
PUMA560机器人运动学分析
13
利用三角代换 带入式5中,得θ1的解为
14
同样的,用三角代换求出θ3
(3)求θ2 式3左右乘以A1A2 A3的逆矩阵,得
A3-1 A2-1 A1-1 T=A4 A5 A6 经过一系列变换得
15
(4)求θ4 根据矩阵对应,得到等式
θ5≠180°时,便有
(式2)
7
8
2.3 Matlab求解机器人末端位姿 将PUMA560机器人的参数带入上述矩阵中,
然后在matlab中计算求解,得到末端位姿。 编程:
9
2.4 PUMA560机器人逆运动学
即为针对下式给定的末端位姿,求解机 器人各个关节角θ1~θ6。
nx ox ax px T= ny oy ay py =A1 A2 A3 A4 A5 A6
(1)沿Xi-1 轴平移ai-1 , 将Oi-1 移动到O’i-1 ; (2)以Xi-1为转轴, 旋转αi-1 角度, 使新的Zi-1轴与Zi轴 同向; (3)沿Zi 平移di, 使O’i-1 移动到Oi ; (4)以Zi 轴为转轴, 旋转θi 角度, 使新的Xi-1轴与Xi 轴 同向。 Ai =Trans(ai-1,0,0) Rot(Xi-1, αi-1) Trans(0,0, di ) Rot(Zi , θi) =
5
6
2.2 机器人正向运动学
第i 坐标系相对于第i -1 坐标系的位姿Ai , 则第i 坐标系相对于基坐标系的位姿的齐次变换矩阵 0Ti , 表示为:
0Ti =A1 A2 …Ai
(式1)
当i =6 时, 0T6 确定了机器人末端连杆坐标系
相对于基坐标系的位姿。
0T6 =A1 A2 …A6 , 其中:
puma560的运动学及matlab实现(正解+逆解)
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++版本的运动学正解和逆解的代码,可以在以下链接下载。
- 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 in B q is shown in Fig 6.Step4: 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’.-1-0.8-0.6-0.4-0.20.20.40.60.81-1-0.8-0.6-0.4-0.20.20.40.60.8X zhaoshibox y zFig 4Fig 5-1-0.50.51-1-0.500.51-1-0.500.51XYZzhaoshibox yzFig 6Fig 7012345678910-1-0.50time t/sa n g l e /r a d012345678910-0.2-0.10time t/sv e l o c i t y /(r a d /s )012345678910-0.0500.05time 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。