收藏 分销(赏)

matlab工具箱的安装方法-ROBOT工具箱精解.doc

上传人:快乐****生活 文档编号:4770499 上传时间:2024-10-12 格式:DOC 页数:9 大小:324.71KB
下载 相关 举报
matlab工具箱的安装方法-ROBOT工具箱精解.doc_第1页
第1页 / 共9页
matlab工具箱的安装方法-ROBOT工具箱精解.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述
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,否则返回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矩阵来创建一个机器人对象 2.变换矩阵 利用MATLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。下面举例来说明: A 机器人在x轴方向平移了0.5米,那么我们可以用下面的方法来求取平移变换后的齐次矩阵: >> transl(0.5,0,0) ans = 1.0000 0 0 0.5000 0 1.0000 0 0 0 0 1.0000 0 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); 6 动画演示 有了机器人的轨迹规划之后,我们就可以利用Robotics Toolbox中的plot函数来实现对规划路径的仿真。 puma560;T=0:0.056:2; q=jtraj(qz,qr,T); plot(p560,q); 当然,我们也可以来调节PUMA560的六个旋转角,来实现动画演示。 drivebot(p560) 至于Matlab工具箱安装中涉及到了Matlab的搜索路径、工作目录、当前路径、用户路径等好多术语,我这里不想多说什么 感兴趣的网友,可以直接查看Matlab的帮助系统,在那里你可以得到最直接的答复,但是你需要一定的英文基础哦 添加工具箱的方法很多,所有方法都是为了达到同一个目的,将工具箱的所在路径添加到Matlab的搜索路径下就可以了 下面介绍一种最简单的操作吧,下面以安装mathmodl(数学建模工具箱)为例进行说明 a、将你所需要安装的工具箱解压到$MatlabRoot\toolbox中(其实任意路径都是可以的,但是为了方便管理,我们一般都安装在这里),$MatlabRoot是你的Matlab安装路径,你可以在Matlab中输入matlabroot命令获取 (1)在Matlab输入如下内容(当然你可以直接使用资源管理器进入toolbox目录) 1. >> matlabroot 2. 3. ans = 4. 5. D:\Program Files\MATLAB\R2008a 6. 7. >> winopen(ans) 复制代码 (2)此时会自动跳到Matlab的安装目录下,双击打开目录下的toolbox文件夹 2009-3-24 20:42 上传 下载附件 (87.89 KB) (3)将mathmodl工具箱复制到toolbox中 2009-3-24 20:42 上传 下载附件 (42.31 KB) b.将刚才mathmodl的路径添加到Matlab搜索路径下(可以使用Matlab命令行,也可是用Matlab菜单操作,为了简便我们这里使用第二种) (1)在Matlab中如下操作,File——>Set Path...——>点击Add with subfolders... 2009-3-24 21:07 上传 下载附件 (90.08 KB) (2)在浏览文件中,选择刚才的安装路径$MatlabRoot/toolbox/mathmodl后,点击确定 2009-3-24 21:07 上传 下载附件 (26.04 KB) (3)此时返回到Set Path对话框,点击左下角的保存按钮(记住一定要保存),此时工具箱彻底安装完毕,点击Close关闭对话框 c.测试下新安装工具箱是可以使用,在Matlab中输入如下内容 1. >>help mathmodl%输入工具箱名称,此时一般会返回该工具箱的说明,也就是mathmodl路径下content.m中的内容 2. %在命令行中输入如下,此时会返回mathmodl路径下所有的文件 3. >>what mathmodl 4. %再到mathmodl中随便找一个不与Matlab中重名的函数,比如DYNPROG.M,在命令行中输入 5. >>which DYNPROG.M 6. 7. D:\My Documents\MATLAB\DYNPROG.M 复制代码 d.工具箱更新缓存,否则每次Matlab启动的时候会给出警告 (1)File——>Preferences——>General——>选中enable toolbox path cache——>点击updata toolbox path cache 2009-3-24 21:07 上传 下载附件 (73.95 KB) (2)完成上面的就可以关闭Preferences对话框了 (3)此时一个工具箱彻底安装完毕 (4)如果以后启动Matlab的时候警告说toolbox path cache失效,那么重复第一步操作就万事OK了 ==================================================================== ==================================================================== 当然如果你对Matlab的命令比较熟悉的话,你可以直接使用命令进行工具箱安装操作,方法如下 (1)将工具箱解压到任意路径,但是推荐MatlabRoot下的Toolbox中 (2)在Matlab中输入 1. >>addpath('Your_ToolBox_Full_Path')%注意必须是文件夹路径 2. >>savepath 复制代码 (3)同样执行上面的测试和确认工作,这里不累述 (4)更新搜索目录,可使用上面的界面操作,当然也可以命令行 1. rehash toolboxcache 复制代码
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服