robotics toolbox for matlab的机器人仿真
- 格式:docx
- 大小:19.69 KB
- 文档页数:4
选择MATLAB2016a版,高版本不能安装。
安装好按照下面的操作做出来,然后截图做成Word文档发给我。
MATLAB2016a版同学们网上下载安装,安装方法网上随便可找到。
机器人工具箱我发给你们。
一、将文件夹放到MATLAB安装文件夹指定目录下放到安装目录的toolbox文件夹下,如下图是笔者的电脑的位置,其中那个installation address是我自己取得名字,英语不好,不要见怪。
三、打开MATLAB软件,进行手动启动(1)打开matlab,依次点击file(文件)-setpath(设置路径)-add with subfolder (添加子文件夹),然后选择这个rvctools文件夹就好了,然后save(保存)-close (关闭)(2)在命令行窗口输入startup_rvc,回车,如图,显示了一段英语,我恩可以看到,版本是9.10。
本文主要是给大家一个系统的概念,如何用Matlab实现六轴机器人的建模和实现轨迹规划。
以后将会给大家讲解如何手写正逆解以及轨迹插补的程序。
程序是基于Matlab2016a,工具箱版本为Robotic Toolbox 9.10。
1.D-H建模三个两两相互垂直的XYZ轴构成欧几里得空间,存在六个自由度:沿XYZ 平移的三个自由度,绕XYZ旋转的三个自由度。
在欧几里得空间中任意线性变换都可以通过这六个自由度完成。
Denavit-Hartenberg提出的D-H参数模型能满足机器人学中的最小线性表示约定,用4个参数就能描述坐标变换:绕X轴平移距离a;绕X轴旋转角度alpha;绕Z轴平移距离d;绕Z轴旋转角度theta。
2.标准D-H模型和改进D-H模型对比来看参数并没有改变,标准的D-H 模型是将连杆的坐标系固定在该连杆的输出端(下一关节),也即坐标系i-1与关节i对齐;改进的D-H模型则是将坐标系固定在该连杆的输入端(上一关节),也即坐标系i-1与关节对齐i-1。
matlab中robotics toolbox的函数解说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.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矩阵来创建一个机器人对象2.变换矩阵利用MATLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。
基于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;simulation1.前言机器人是当代新科技的代表产物,随着计算机技术的发展,机器人科学与技术得到了迅猛的发展,在机器人的研究中,由于其价格较昂贵,进行普及型实验难度较大,隐刺机器人仿真实验变得十分重要。
基于MATLABRoboticsToolbox的可重构模块化机器人运动仿真分析作者:卢佳佳来源:《阜阳职业技术学院学报》2019年第02期模块化机器人的仿真模型,设计各关节的运动角度,模拟机器人的末端手爪运动轨迹以及每个关节的角位移、角速度、角加速度随时间变化曲线。
检验机器人运动性能,为后续的动力学和控制研究奠定基础。
关键词:可重构模块化机器人;Robotics Toolbox;轨迹规划;变化曲线中图分类号:TP242;;;;;;;;; 文献标识码:A;;;;;;;;;; 文章编号:1672-4437(2019)02-0057-04在Matlab软件中使用Robotics Toolbox[1-2]对机器人进行仿真研究目前已十分普遍。
谢斌、蔡自兴[3]运用Robotics Toolbox对puma560型机器人进行了仿真实验教学,左富勇、刘长柱[4-5]等人对SCARA机器人进行了轨迹规划与仿真研究;王林军,陆佳皓[6-7]等人对六轴关节机器人进行了运动仿真研究,周际[8]对双臂工业机器人进行了运动仿真分析。
以上研究都是针对某种特定类型的机器人,相比而言,可重构模块化机器人具有更加丰富的构型。
本文以EV-MRobot机器人基本构件为基础,针对其某一构型进行运动学仿真分析。
1 EV-MRobot模块化机器人运动学1.1 EV-MRobot模块化机器人结构参数本文以EV-MRobot系列模块化机器人为研究对象,其模块库包含四种运动单元模块,分别为:93旋转模块、85旋转模块、手爪模块以及两自由度云台模块。
还包含有不同尺寸的连接件,如直角连杆和圆柱连杆等。
这些单元模块通过连杆进行组合,可形成适用于不同工作任务的各种构型。
本文以由85旋转模块、手爪模塊、两自由度云台模块以及相关连接件组成的四自由度模块化机器人为研究对象,其结构组合如图1,连杆参数和关节变量见表1。
1.2 机器人正运动问题分析1.3 机器人逆运动问题分析机器人的逆运动学分析就是使末端执行器达到期望位姿时各关节的角度值。
Matlab机器人运动学正解1. 介绍机器人运动学是研究机器人运动规律的一个重要领域,它涉及到机器人的姿态、位置、速度和加速度等运动参数。
在机器人的设计和控制过程中,对其运动学进行准确的分析和计算是至关重要的。
而Matlab 作为一种强大的数学建模和仿真工具,能够帮助工程师和研究人员快速、准确地进行机器人运动学分析和计算。
本文将重点探讨在Matlab 环境下进行机器人运动学正解的方法和技巧。
2. Matlab的机器人工具箱Matlab提供了丰富的工具箱,其中就包括用于机器人运动学分析的Robotics System Toolbox。
该工具箱提供了许多用于描述和控制机器人的函数和工具,能够帮助用户进行机器人的运动学分析、轨迹规划、控制以及仿真等工作。
在进行机器人运动学正解时,可以充分利用Robotics System Toolbox提供的函数和工具,方便快捷地完成运动学分析。
3. 机器人运动学正解的基本概念机器人的运动学分为正解和逆解两个方面。
正解是指已知机器人各关节的运动参数,通过运动学方程计算机器人的末端执行器的姿态和位置。
而逆解则是已知机器人末端执行器的姿态和位置,通过逆运动学方程反推各关节的运动参数。
在本文中,我们将重点讨论机器人运动学正解的方法。
4. Matlab中的机器人正解计算在Matlab中进行机器人运动学正解计算时,可以使用Robotics System Toolbox提供的相应函数来实现。
首先需要建立机器人的模型,然后设置各关节的运动参数,并使用正解函数来计算末端执行器的姿态和位置。
具体的步骤包括:- 建立机器人模型:使用Robotics System Toolbox提供的机器人建模工具,可以方便地建立机器人的运动学模型,包括关节类型、轴线、限位等信息。
- 设置关节参数:在建立好机器人模型后,需要设置各关节的运动参数,包括关节角度、速度、加速度等信息。
- 进行正解计算:利用Robotics System Toolbox提供的正解函数,可以快速地计算出机器人末端执行器的姿态和位置。
MATLAB在机器人虚拟仿真实验教学中的应用作者:刘相权来源:《教育教学论坛》2018年第15期摘要:本文简要介绍了MATLAB在机器人虚拟仿真实验教学中的基本应用。
以PUMA560机器人为研究对象,在MATLAB环境下,用Robotics Toolbox建立了该机器人的运动学模型,并对其进行求解,绘制了关节运动曲线和机器人末端运动轨迹。
通过使用虚拟仿真技术,使学生的创新能力和实践能力得到提高。
关键词:MATLAB;机器人;虚拟仿真;实验教学中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2018)15-0261-02在机器人学课程的实验教学中,一方面由于机器人价格比较昂贵,不可能用许多实际的机器人来作为教学实验设备,另一方面,由于机器人的教学涉及大量数学运算,手工计算烦琐,采用虚拟仿真技术可以有效地提高教学的质量和效率,在实验教学中的作用越来越明显[1]。
本文以PUMA560机器人为研究对象,采用改进的D-H法分析其结构和连杆参数,运用Robotics Toolbox构建运动学模型并进行运动学仿真。
一、PUMA560机器人的结构及连杆参数PUMA560机器人是美国Unimation公司生产的6自由度串联结构机器人,本文采用改进的D-H法建立6个杆件的固接坐标系,如图1所示。
二、PUMA560机器人的运动学仿真1.机器人模型的建立。
在Robotics Toolbox中,构建机器人模型关键在于构建各个杆件和关节,Link函数用来创建一个杆件,其一般形式为:L=Link([theta d a alpha sigma],CONVENTION)根据表1的数据,构建模型的仿真程序如下:三、结束语通过研究利用MATLAB软件进行虚拟仿真实验教学,克服了机器人实验设备数量不足的现状,把学生从烦琐的数值计算中解脱出来,实现了实验教学的创新,获得了良好的教学效果;同时激发了学生的学习兴趣,使其编程能力和创新能力均有所提高,充分发挥了学生在学习中的主体作用。
基于MATLAB Robotics Toolbox的机器人学仿真实验教学摘要:简要介绍MATLAB Robotics Toolbox在机器人学仿真实验教学中的基本应用,具体内容包括齐次坐标变换、机器人对象构建、机器人运动学求解以及轨迹规划等。
该工具箱可以对机器人进行图形仿真,并能分析真实机器人控制时的实验数据结果,因此非常适宜于机器人学的教学和研究。
关键词:机器人学;仿真实验教学;MATLAB;Robotics Toolbox机器人学是一门高度交叉的前沿学科方向,也是自动化和机电工程等相关专业的一门重要专业基础课。
在机器人学的教学和培训中,实验内容一直是授课的重点和难点。
实物机器人通常是比较昂贵的设备,这就决定了在实验教学中不可能运用许多实际的机器人来作为教学和培训的试验设备。
由于操作不方便、体积庞大等原因,往往也限制了实物机器人在课堂授课时的应用。
此外,由于计算量、空间结构等问题,当前大多数机器人教材只能以简单的两连杆机械手为例进行讲解,而对于更加实际的6连杆机械手通常无法讲解得很清楚。
因此,各式各样的机器人仿真系统应运而生。
经过反复的比较,我们选择了MATLAB Robotics Toolbox [1]来进行机器人学的仿真实验教学。
MATLAB Robotics Toolbox是由澳大利亚科学家Peter Corke开发和维护的一套基于MATLAB的机器人学工具箱,当前最新版本为第8版,可在该工具箱的主页上免费下载(/robot/)。
Robotics Toolbox提供了机器人学研究中的许多重要功能函数,包括机器人运动学、动力学、轨迹规划等。
该工具箱可以对机器人进行图形仿真,并能分析真实机器人控制时的实验数据结果,因此非常适宜于机器人学的教学和研究。
本文简要介绍了Robotics Toolbox在机器人学仿真实验教学中的一些应用,具体内容包括齐次坐标变换、机器人对象构建、机器人运动学求解以及轨迹规划等。
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还有一些数据域:%返回扭转角%返回杆件长度%返回关节角%返回横距%返回关节类型%返回‘R’(旋转)或‘P’(移动)%假设为标准D-H参数返回0,不然返回1%返回关节变量偏移%返回关节变量的上下限[min max](q) %若是关节变量超限,返回-1, 0, +1%返回一个3×3 对称惯性矩阵%返回关节质量%返回3×1的关节齿轮向量%返回齿轮的传动比%返回电机惯性%返回粘性摩擦%返回库仑摩擦return legacy DH rowreturn legacy DYN row其中robot函数的挪用格式:ROBOT %创建一个空的机械人对象ROBOT(robot) %创建robot的一个副本ROBOT(robot, LINK) %用LINK来创建新机械人对象来代替robotROBOT(LINK, ...) %用LINK来创建一个机械人对象ROBOT(DH, ...) %用D-H矩阵来创建一个机械人对象ROBOT(DYN, ...) %用DYN矩阵来创建一个机械人对象2.变换矩阵利用MATLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz能够实现用齐次变换矩阵表示平移变换和旋转变换。
一、安装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可以实现用齐次变换矩阵表示平移变换和旋转变换。
要建立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,否则返回1
LINK.offset %返回关节变量偏移
LINK.qlim %返回关节变量的上下限 [min max]
LINK.islimit(q) %如果关节变量超限,返回 -1, 0, +1
LINK.I %返回一个3×3对称惯性矩阵
LINK.m %返回关节质量
LINK.r %返回3×1的关节齿轮向量
LINK.G %返回齿轮的传动比
LINK.Jm %返回电机惯性
LINK.B %返回粘性摩擦
LINK.Tc %返回库仑摩擦
LINK.dh return legacy DH row
LINK.dyn return legacy DYN row
其中robot函数的调用格式:
ROBOT %创建一个空的机器人对象
ROBOT(robot) %创建robot的一个副本
ROBOT(robot, LINK) %用LINK来创建新机器人对象来代替robot
ROBOT(LINK, ...) %用LINK来创建一个机器人对象
ROBOT(DH, ...) %用D-H矩阵来创建一个机器人对象
ROBOT(DYN, ...) %用DYN矩阵来创建一个机器人对象
利用MATLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。
下面举例来说明:
A 机器人在x轴方向平移了0.5米,那么我们可以用下面的方法来求取平移变换后的齐次矩阵:
>>transl(0.5,0,0)
ans =
1.0000 0 0 0.5000
0 0 1.0000 0
0 0 0 1.0000
0 0 0 1.0000
B 机器人绕x轴旋转45度,那么可以用rotx来求取旋转后的齐次矩阵:
>>rotx(pi/4)
ans =
1.0000 0 0 0
0 0.7071 -0.7071 0
0 0.7071 0.7071 0
0 0 0 1.0000
C 机器人绕y轴旋转90度,那么可以用roty来求取旋转后的齐次矩阵:
>>roty(pi/2)
ans =
0.0000 0 1.0000 0
0 1.0000 0 0
-1.0000 0 0.0000 0
0 0 0 1.0000
D 机器人绕z轴旋转-90度,那么可以用rotz来求取旋转后的齐次矩阵:
>>rotz(-pi/2)
ans =
0.0000 1.0000 0 0
-1.0000 0.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
当然,如果有多次旋转和平移变换,我们只需要多次调用函数在组合就可以了。
另外,可以和我们学习的平移矩阵和旋转矩阵做个对比,相信是一致的。
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)
参数Q为从状态Q0到Q1的关节空间规划轨迹,N为规划的点数,T为给定的时间向量的长度,速度非零边界可以用QD0和QD1来指定。
QD和QDD为返回的规划轨迹的速度和加速度。
其中trinterp函数的调用格式:
TR = TRINTERP(T0, T1, R)
参数TR为在T0和T1之间的坐标变化插值,R需在0和1之间。
要实现轨迹规划,首先我们要创建一个时间向量,假设在两秒内完成某个动作,采样间隔是56ms,那么可以用如下的命令来实现多项式轨迹规划:t=0:0.056:2; [q,qd,qdd]=jtraj(qz,qr,t);
其中t为时间向量,
qz为机器人的初始位姿,
qr为机器人的最终位姿,
q为经过的路径点,
qd为运动的速度,
qdd为运动的加速度。
其中q、qd、qdd都是六列的矩阵,每列代表每个关节的位置、速度和加速度。
如q(:,3)代表关节3的位置,qd(:,3)代表关节3的速度,qdd(:,3)代表关节3的加速度。
4运动学的正问题
利用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的矩阵代表坐标变化,第三维是时间。
5运动学的逆问题
利用Robotics Toolbox中的ikine函数可以实现机器人运动学逆问题的求解。
其中ikine函数的调用格式:
Q = IKINE(ROBOT, T)
Q = IKINE(ROBOT, T, Q)
Q = IKINE(ROBOT, T, Q, M)
参数ROBOT为一个机器人对象,Q为初始猜测点(默认为0),T为要反解的变换矩阵。
当反解的机器人对象的自由度少于6时,要用M进行忽略某个关节自由度。
有了关节的轨迹规划之后,我们也可以用ikine函数来进行运动学逆问题的求解。
比如:
t=0:0.056:2; T1=transl(0.6,-0.5,0); T2=transl(0.4,0.5,0.2); T=ctraj(T1,T2,length(t)); q=ikine(p560,T);
我们也可以尝试先进行正解,再进行逆解,看看能否还原。
Q=[0 –pi/4 –pi/4 0 pi/8 0]; T=fkine(p560,q); qi=ikine(p560,T);。