机器人工具箱仿真程序
利用matlab的机器人试验仿真
选择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。
abb机器人仿真步骤
abb仿真步骤abb仿真步骤:1、引言1.1 目的1.2 背景1.3 术语定义- ABB: 全球领先的工业自动化和技术提供商- 仿真: 使用计算机模拟技术来模拟现实世界中的实际情况- : 能够自主执行任务的自动化设备2、系统需求2.1 硬件需求2.2 软件需求2.3 附件需求3、安装和配置3.1 安装ABB仿真软件3.2 配置仿真环境3.2.1 定义参数3.2.2 设置工作空间3.2.3 导入模型4、创建模型4.1 基础模型4.1.1 创建基座4.1.2 添加关节和连杆4.1.3 设置关节参数4.2 传感器模型4.2.1 添加传感器设备4.2.2 设置传感器参数4.3 环境模型4.3.1 添加工作环境模型4.3.2 设置物体属性和碰撞检测5、程序编写与调试5.1 编写控制程序5.2 调试程序5.3 仿真运行6、结果分析与优化6.1 分析仿真结果6.2 优化运动轨迹6.3 优化碰撞检测和避障策略7、实验验证7.1 准备实验场地和设备7.2 实施仿真实验7.3 分析实验结果8、总结与展望8.1 本文档的贡献8.2 可能的改进方向附件:- 仿真软件安装文件- 仿真环境模型文件- 实验结果分析数据表格法律名词及注释:1、仿真:在计算机上对实际系统进行虚拟仿真,以检验系统的性能、优化设计和预测行为。
2、:能够自主执行任务的自动化设备。
3、模型:在仿真中使用的虚拟对象,可以是、传感器设备或环境物体。
4、避障策略:在遇到障碍物时采取的规定动作,以避免碰撞。
MTALAB机器人工具箱
Robotic tool提供了一些如运动学,动力学和生成机器人轨迹的许多有用功能。
用这个工具箱进行仿真以及分析与真正的机器人得到实验结果是非常有用。
工具箱的优点是代码是一个相当成熟的算法,对于教学源代码是免费的。
该工具箱提供了机器人动力学正解和逆解,其次坐标转换所必需的三维位置和方向。
该工具箱可以计算任意结构机器人的正反运动学(用数值积分的方法,不是给出解析解)、正反动力学(反运动学采用的是递归牛顿欧拉方法,效率很高)、路径规划等;里面还有Puma560和Stanford机器人的实例。
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.变换矩阵利用MA TLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。
基于MATLABRoboticsToolbox的机器人学仿真实验教学-精品文档
基于MATLAB Robotics Toolbox 的机器人学仿真实验教学机器人学是一门高度交叉的前沿学科方向, 也是自动化和机电工程等相关专业的一门重要专业基础课。
在机器人学的教学和培训中, 实验内容一直是授课的重点和难点。
实物机器人通常是比较昂贵的设备, 这就决定了在实验教学中不可能运用许多实际的机器人来作为教学和培训的试验设备。
由于操作不方便、体积庞大等原因, 往往也限制了实物机器人在课堂授课时的应用。
此外, 由于计算量、空间结构等问题,当前大多数机器人教材只能以简单的两连杆机械手为例进行讲解,而对于更加实际的 6 连杆机械手通常无法讲解得很清楚。
因此, 各式各样的机器人仿真系统应运而生。
经过反复的比较,我们选择了MATLAB RoboticsToolbox [1] 来进行机器人学的仿真实验教学。
MATLABRobotics Toolbox 是由澳大利亚科学家Peter Corke开发和维护的一套基于MATLAB勺机器人学工具箱,当前最新版本为第8版,可在该工具箱的主页上免费下载提供了机器人学研究(petercorke/robot/) 。
Robotics Toolbox中的许多重要功能函数, 包括机器人运动学、动力学、轨迹规划等。
该工具箱可以对机器人进行图形仿真, 并能分析真实机器人控制时的实验数据结果, 因此非常适宜于机器人学的教学和研究。
本文简要介绍了Robotics Toolbox 在机器人学仿真实验教学中的一些应用, 具体内容包括齐次坐标变换、机器人对象构建、机器人运动学求解以及轨迹规划等。
1坐标变换机器人学中关于运动学和动力学最常用的描述方法是矩阵法, 这种数学描述是以四阶方阵变换三维空间点的齐次坐标为基础的[2] 。
如已知直角坐标系{A} 中的某点坐标,那么该点在另一直角坐标系{B} 中的坐标可通过齐次坐标变换求得。
一般而言齐次变换矩阵是4X4的方阵,具有如下形式: 和分别表示{A}{B} 两坐标系之间的旋转变换和平移变换。
机器人仿真软件安装与使用
(3)输入校准偏移数据步骤
2.点击”编辑电机校准偏移” 1.点击”校准 参数” 3.根据机器人的校准 参数进行输入
(4)打开校准画面,进行校准操作
1.选择“校准” 2. 点击此处 2. 点击此处 进入画面 进入画面
3.点击此处
4.点击”是 “继续
5.点击”全 选“
6.点击”更 新“继续
7.点击”更新 “
在增量模式下,操纵杆每位移一次,机
器人就移动一步。如果操纵杆持续一秒 或数秒钟,机器人就会持续移动(速率 为每秒10步)。
3.重定位运动
操作过程:下拉菜单→手动操纵→动作模式→重定 位→确定 机器人的重定位运动是指机器人第六轴法
兰盘上的工具TCP点在空间中绕着工具坐 标系旋转的运动,也可理解为机器人绕着 工具TCP点作姿态调整的运动。
如果机器人由于安装位置的关系无法六个轴同时到达机械原点刻度位置则可以逐一对关节轴进行转数计数器更点击校准参数根据机器人的校准参数进行输入打开校准画面进行校准操作点击此处进入画面点击是继续点击此处进入画面点击更新继续
机器人仿真软件安装与使用
一、RobotStudio软件的安装与使用 二、ABB机器人基础操作
一、RobotStudio软件的安装与使用
RobotStudio的安装
创建工作站
示教器使用
1.RobotStudio的安装
下载(拷贝)安装包 解压安装包 点击解压文件夹 找到 图标,并双击;
根据提示进行操作(安装方式选择完整安装,安装路径改 成D盘) 完成安装后,桌面出现 图标。
2.创建工作站
3)查看事件信息
二、ABB机器人基础操作 开关机、重启、急停
操作
1
备份与恢复
abb机器人仿真步骤
abb机器人仿真步骤ABB 机器人仿真步骤嘿,朋友们!今天咱们来聊聊 ABB 机器人仿真那些事儿。
先来说说为啥要搞这个仿真,就好比你要去一个陌生的地方旅行,提前在地图上看看路线,心里有个底,这仿真就跟提前探路差不多。
那咱们开始第一步,得先把机器人的模型给整出来。
这就像是给机器人画个画像,得画得像、画得准。
我之前在操作的时候,就有一次模型没弄好,结果仿真的时候机器人的动作那叫一个别扭,就好像一个人手脚不协调,别提多搞笑了。
模型弄好了,接下来就是设置环境。
想象一下机器人要在一个什么样的场景里工作,是在工厂车间,还是在仓库里搬东西?这环境设置可得仔细,有一回我就忽略了一个小小的障碍物,结果机器人在仿真中撞上去了,那场面,真让我哭笑不得。
然后就是给机器人编程啦,这就像是给机器人下达指令,告诉它该怎么做。
编程的时候得思路清晰,每一个动作、每一个时间点都要考虑到。
我记得有一次,因为一个指令的时间设置错了,机器人的动作快了一拍,整个流程都乱套了。
编程完成,就到了调试环节。
这就像是给机器人做体检,看看有没有啥毛病。
调试的时候要特别有耐心,一点点地找问题,解决问题。
有一次我调试了好久,都快没信心了,结果最后发现只是一个参数设置错了,改过来之后,那叫一个顺畅。
再然后,就是运行仿真啦。
看着机器人按照我们设定的程序动作,那感觉真的很棒。
不过有时候也会出现意外,比如机器人的动作不够流畅,或者没有达到预期的效果。
这时候就得返回去,重新检查各个环节,直到满意为止。
最后,对仿真的结果进行评估和优化。
看看机器人的工作效率怎么样,动作是否合理。
如果有需要,就再调整调整,让它变得更完美。
总之,ABB 机器人仿真可不是一件简单的事儿,每一个步骤都需要我们认真对待,仔细操作。
就像搭积木一样,一块一块地搭好,才能搭出漂亮的城堡。
希望大家在操作的时候都能顺顺利利,让机器人乖乖听话,为我们工作!。
机器人仿真软件安装与使用
仿真软件安装与使用仿真软件安装与使用一、引言仿真软件是用于模拟和测试行为、规划路径和进行虚拟场景下的实时控制的软件工具。
本文档将介绍仿真软件的安装与使用步骤,帮助用户快速上手。
二、系统要求在安装仿真软件之前,请确保您的计算机满足以下最低配置要求:- 操作系统:Windows 10 / macOS 10.14以上 / Linux (推荐Ubuntu 18:04)- 处理器:双核处理器以上- 内存.8GB以上- 存储空间.50GB以上的可用空间- 显卡:支持OpenGL 3.3及以上版本的显卡三、软件安装步骤1、在官方网站()上仿真软件的安装程序。
2、安装a) 双击的安装包,启动安装程序。
b) 根据安装向导的提示,选择安装目录、语言和其他可选组件。
c) “安装”按钮,开始安装过程。
d) 安装完成后,“完成”按钮退出安装程序。
四、软件配置与初始化1、运行软件双击桌面上的仿真软件图标,启动软件。
2、配置模型a) 在软件界面上找到“模型库”或“导入模型”按钮。
b) 按钮,选择要导入的模型文件。
c) 在模型导入界面上,进行必要的参数配置,如尺寸、关节限制等。
d) “确定”按钮,完成模型的配置与导入。
3、设置仿真场景a) 在软件界面上找到“场景编辑器”或“创建场景”按钮。
b) 按钮,进入场景编辑器界面。
c) 添加所需的场景元素,如地面、障碍物、目标等。
d) 配置场景参数,如光照、摄像机视角等。
e) “保存”按钮,保存场景配置。
4、配置控制器与路径规划算法a) 在软件界面上找到“控制器设置”或“路径规划设置”按钮。
b) 按钮,进入设置界面。
c) 根据需要选择合适的控制器和路径规划算法。
d) 配置控制器和路径规划算法的参数。
e) “应用”或“保存”按钮,完成配置。
五、使用仿真软件1、选择仿真模式a) 在软件界面上找到“仿真模式”或“运行模式”按钮。
b) 按钮,选择要运行的仿真模式,如实时仿真、离线仿真等。
2、运行仿真a) 在软件界面上找到“开始仿真”或“运行”按钮。
MATLAB机器人工具箱简单教程:(一)安装说明
MATLAB机 器 人 工 具 箱 简 单 教 程 : ( 一 ) 安 装 说 明
机器人学工具箱(Robotic Toolbook for Matlab) 是matlab中专门用于机器人仿真的工具箱,在机器人建模、轨迹规划、控制、可视化方面使 用非常方便。本篇介绍该工具箱的安装方法。 这里用的版本是robotic toolbox for matlab (release 9.1),可以从我的网盘下载 链接: 密码:r84y 1.把下载后的压缩包解压,得到一个名为robot-9.10的文件夹。
rvctools就是机器人工具箱;pdf和doc文件是使用说明。 2.将rvctools文件夹放在你的matlab安装目录ቤተ መጻሕፍቲ ባይዱ的toolbox文件夹下
比如我的matlab是装在D盘的。 3.打开matlab,我这里版本是2016b,设置路径
保存并关闭。 4.运行rvctools文件夹下的startup_rvc.m文件,安装完成。
MATLAB机器人仿真程序
MATLAB机器人仿真程序哎呀,说起 MATLAB 机器人仿真程序,这可真是个有趣又充满挑战的领域!我还记得有一次,我带着一群学生尝试做一个简单的机器人行走仿真。
那时候,大家都兴奋极了,眼睛里闪着好奇的光。
我们先从最基础的开始,了解 MATLAB 这个工具的各种函数和命令。
就像是给机器人准备好各种“零部件”,让它能顺利动起来。
比如说,我们要设定机器人的初始位置和姿态,这就好像是告诉机器人“嘿,你从这里出发,站好啦!”然后,再通过编程来控制它的运动轨迹。
有的同学想让机器人走直线,有的同学想让它拐个弯,还有的同学想让它走个复杂的曲线。
在这个过程中,可遇到了不少问题呢。
有个同学不小心把坐标设置错了,结果机器人“嗖”地一下跑到了不知道哪里去,大家哄堂大笑。
还有个同学在计算速度和加速度的时候出了差错,机器人的动作变得奇奇怪怪的,像是在跳“抽筋舞”。
不过,大家并没有气馁,而是一起努力找错误,修改代码。
终于,当我们看到那个小小的机器人按照我们设想的轨迹稳稳地行走时,那种成就感简直无法形容。
回到 MATLAB 机器人仿真程序本身,它其实就像是一个神奇的魔法盒子。
通过输入不同的指令和参数,我们可以创造出各种各样的机器人运动场景。
比如说,我们可以模拟机器人在不同地形上的行走,像是平坦的地面、崎岖的山路或者是湿滑的冰面。
这时候,我们就要考虑摩擦力、重力等各种因素对机器人运动的影响。
想象一下,机器人在冰面上小心翼翼地走着,生怕滑倒,是不是很有趣?而且,MATLAB 机器人仿真程序还能帮助我们优化机器人的设计。
比如说,如果我们发现机器人在某个动作上消耗了太多的能量,或者动作不够灵活,我们就可以通过调整程序中的参数来改进。
这就像是给机器人做了一次“整形手术”,让它变得更完美。
另外,我们还可以用它来进行多机器人的协同仿真。
想象一下,一群机器人在一起工作,有的负责搬运东西,有的负责巡逻,它们之间需要相互配合,避免碰撞。
这就需要我们精心设计它们的通信和协调机制,让它们像一支训练有素的团队一样高效工作。
发那科机器人仿真软件ROBOGUIDE 详细操作说明手册
发那科仿真软件ROBOGUIDE 详细操作说明手册发那科仿真软件ROBOGUIDE 详细操作说明手册1.简介1.1 软件概述ROBOGUIDE是一款由发那科(FANUC)公司开发的仿真软件。
它可以帮助用户进行程序的开发、仿真和验证,提高的运行效率和安全性。
2.系统要求2.1 硬件要求●操作系统:Windows 7或更新版本●内存:至少4GB●存储空间:至少10GB可用空间●显示器分辨率.1280x720或更高2.2 软件安装●步骤1:双击安装程序,按照提示完成安装过程。
●步骤2:选择安装路径和组件,“下一步”继续。
●步骤3:等待安装完成,“完成”退出安装程序。
3.软件界面3.1 主界面●菜单栏:提供各种功能和操作选项。
●工具栏:常用操作的快捷方式按钮。
●视图区域:显示的模型和仿真结果。
3.2 项目管理●新建项目:创建一个新的项目。
●打开项目:打开已有的项目。
●保存项目:保存当前的项目。
●导出项目:将项目导出为其他格式文件。
4.建模4.1 导入模型●步骤1:菜单栏中的“文件”-“导入”-“模型”。
●步骤2:选择模型文件,“打开”进行导入。
4.2 设置参数●步骤1:选择导入的模型。
●步骤2:菜单栏中的“模型”-“设置”。
●步骤3:根据实际情况进行参数的设置,包括机械臂长度、关节范围、速度等。
5.仿真操作5.1 创建工作场景●步骤1:菜单栏中的“工具”-“环境设置”。
●步骤2:设置场景的尺寸、摄像机参数等。
●步骤3:“确定”完成环境设置。
5.2 添加工件和障碍物●步骤1:菜单栏中的“工具”-“添加工件”或“添加障碍物”。
●步骤2:选择要添加的工件或障碍物文件,“确定”进行添加。
5.3 设置仿真参数●步骤1:菜单栏中的“仿真”-“仿真参数”。
●步骤2:设置仿真的时间、步长和运行速度等参数。
●步骤3:“确定”保存设置。
6.程序开发6.1 创建程序●步骤1:菜单栏中的“程序”-“新建程序”。
●步骤2:选择要创建的程序类型和文件名,“确定”开始创建。
最新abb机器人仿真步骤
作图步骤:1、双击桌面ROBOTSTUDIO 5.15图标,如下图所示。
点击左侧选项栏,选择授权。
然后选择激活向导,选择如下:2、点击创建文件,出现如下界面。
3、选择机器人模型,点击ABB模型库,出现如下界面,选择IRB2600.把承重能力改为20KG.4、然后点击导入模型库,下拖选择MYTOOL后,然后把左侧边mytool工具拖到IRB2600-20-165-01,机器人上自动安装了喷头工具。
5、然后点击机器人系统菜单,选择从布局创建系统。
在此项目中,可以在名称处修改系统的名称,尤其在系统多的情况下。
在主菜单中,一定要修改工具,把原始的tool10改为mytool。
或者,在放入机器人时,即完成此项设置,可以不需要修改此项。
一直选择下一个,即可成功。
成功后,屏幕右下角变为绿色。
5、选择建模,在菜单中选择固体,再选择矩形体。
6、选择矩形体后,设置矩形体的长宽高参数为400、500、400后,点击创建,后关闭,即可在屏幕上看到矩形体。
在此项中选择左侧布局后,双击部件1,修改名称为box。
7、点击菜单中大地坐标中的移动,即可移动矩形体。
此项中一定要注意看俯视图,使正方体在机器人运动范围内,否则出错。
8、点击基本菜单中的路径。
一种路径就设置为PATH10,如果有其他,就要多设置几个路径。
后选择捕捉末端和手动线性,并把屏幕右下方的几个参数设置为MOVEJ,V300,Z为fine,准备设置示教指令。
9、做6个示教指令,第一个和最后一个为MOVEJ,其他都为MOVEL。
每移动一个点,点一次示教指令。
10、设置完示教指令后,点击基本菜单下同步,选择同步到VC 然后,所有同步下选项都选择,点击确定即可。
11、然后选择仿真菜单。
首先点击仿真设定,把原有路径删除,把新的路径添加到主队列中,然后确定。
12、设定好后,点击播放,即可进行仿真。
13、如需要录像,则应该先点击仿真录像,后在点击播放,即可进行仿真录像。
14、最终保存和打包。
ROS简单的机器人仿真教程
ROS简单的机器人仿真教程ROS(Robot Operating System)是一个用于构建机器人应用程序的开源框架,它提供了一系列工具和库,可以帮助开发人员更高效地构建和管理机器人系统。
下面我们将介绍ROS的基本概念和一些简单的机器人仿真教程。
首先,我们需要安装ROS。
ROS支持多个操作系统,包括Ubuntu、macOS和Windows。
在这里,我们将以Ubuntu为例进行介绍。
2.创建工作空间:在终端中输入以下命令创建一个ROS的工作空间:```bash$ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/$ catkin_make```这将创建一个名为catkin_ws的目录,并在其中创建一个src目录用于存放ROS程序包。
3.创建ROS程序包:在终端中输入以下命令来创建一个ROS程序包:```bash$ cd ~/catkin_ws/src$ catkin_create_pkg robot_sim_demo std_msgs rospy roscpp```这将在src目录中创建一个名为robot_sim_demo的ROS程序包,并添加std_msgs、rospy和roscpp等依赖项。
4. 创建ROS节点:在src目录中创建一个Python脚本文件,例如demo_node.py,并添加以下代码:```python#!/usr/bin/env pythonimport rospyrospy.init_node('demo_node')def main(:while not rospy.is_shutdown(:rospy.loginfo('Hello, ROS!')if __name__ == '__main__':try:mainexcept rospy.ROSInterruptException:pass```这个脚本创建了一个名为demo_node的ROS节点,并在循环中每隔一段时间输出一条日志。
abb机器人仿真步骤
作图步骤:1、双击桌面ROBOTSTUDIO 5.15图标,如下图所示。
点击左侧选项栏,选择授权。
然后选择激活向导,选择如下:2、点击创建文件,出现如下界面。
3、选择机器人模型,点击ABB模型库,出现如下界面,选择IRB2600.把承重能力改为20KG.4、然后点击导入模型库,下拖选择MYTOOL后,然后把左侧边mytool工具拖到IRB2600-20-165-01,机器人上自动安装了喷头工具。
5、然后点击机器人系统菜单,选择从布局创建系统。
在此项目中,可以在名称处修改系统的名称,尤其在系统多的情况下。
在主菜单中,一定要修改工具,把原始的tool10改为mytool。
或者,在放入机器人时,即完成此项设置,可以不需要修改此项。
一直选择下一个,即可成功。
成功后,屏幕右下角变为绿色。
5、选择建模,在菜单中选择固体,再选择矩形体。
6、选择矩形体后,设置矩形体的长宽高参数为400、500、400后,点击创建,后关闭,即可在屏幕上看到矩形体。
在此项中选择左侧布局后,双击部件1,修改名称为box。
7、点击菜单中大地坐标中的移动,即可移动矩形体。
此项中一定要注意看俯视图,使正方体在机器人运动范围内,否则出错。
8、点击基本菜单中的路径。
一种路径就设置为PATH10,如果有其他,就要多设置几个路径。
后选择捕捉末端和手动线性,并把屏幕右下方的几个参数设置为MOVEJ,V300,Z为fine,准备设置示教指令。
9、做6个示教指令,第一个和最后一个为MOVEJ,其他都为MOVEL。
每移动一个点,点一次示教指令。
10、设置完示教指令后,点击基本菜单下同步,选择同步到VC 然后,所有同步下选项都选择,点击确定即可。
11、然后选择仿真菜单。
首先点击仿真设定,把原有路径删除,把新的路径添加到主队列中,然后确定。
12、设定好后,点击播放,即可进行仿真。
13、如需要录像,则应该先点击仿真录像,后在点击播放,即可进行仿真录像。
14、最终保存和打包。
MATLAB机器人仿真程序
附录MATLAB 机器人工具箱仿真程序:1)运动学仿真模型程序(Rob1.m)L1=link([pi/2 150 0 0])L2=link([0 570 0 0])L3=link([pi/2 130 0 0])L4=link([-pi/2 0 0 640])L5=link([pi/2 0 0 0])L6=link([0 0 0 95])r=robot({L1 L2 L3 L4 L5 L6})=’MOTOMAN-UP6’ % 模型的名称>>drivebot(r)2)正运动学仿真程序(Rob2.m)L1=link([pi/2 150 0 0])L2=link([0 570 0 0])L3=link([pi/2 130 0 0])L4=link([-pi/2 0 0 640])L5=link([pi/2 0 0 0])L6=link([0 0 0 95])r=robot({L1 L2 L3 L4 L5 L6})=’MOTOMAN-UP6’t=[0:0.01:10];%产生时间向量qA=[0 0 0 0 0 0 ]; %机械手初始关节角度qAB=[-pi/2 -pi/3 0 pi/6 pi/3 pi/2 ];%机械手终止关节角度figure('Name','up6机器人正运动学仿真演示');%给仿真图像命名q=jtraj(qA,qAB,t);%生成关节运动轨迹T=fkine(r,q);%正向运动学仿真函数plot(r,q);%生成机器人的运动figure('Name','up6机器人末端位移图')subplot(3,1,1);plot(t, squeeze(T(1,4,:)));xlabel('Time (s)');ylabel('X (m)');subplot(3,1,2);plot(t, squeeze(T(2,4,:)));xlabel('Time (s)');ylabel('Y (m)');subplot(3,1,3);plot(t, squeeze(T(3,4,:)));xlabel('Time (s)');ylabel('Z (m)');x=squeeze(T(1,4,:));y=squeeze(T(2,4,:));z=squeeze(T(3,4,:));figure('Name','up6机器人末端轨迹图'); plot3(x,y,z);3)机器人各关节转动角度仿真程序:(Rob3.m)L1=link([pi/2 150 0 0 ])L2=link([0 570 0 0])L3=link([pi/2 130 0 0])L4=link([-pi/2 0 0 640])L5=link([pi/2 0 0 0 ])L6=link([0 0 0 95])r=robot({L1 L2 L3 L4 L5 L6})='motoman-up6't=[0:0.01:10];qA=[0 0 0 0 0 0 ];qAB=[ pi/6 pi/6 pi/6 pi/6 pi/6 pi/6]; q=jtraj(qA,qAB,t);Plot(r,q);subplot(6,1,1);plot(t,q(:,1));title('转动关节1');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,2);plot(t,q(:,2));title('转动关节2');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,3);plot(t,q(:,3));title('转动关节3');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,4);plot(t,q(:,4));title('转动关节4');xlabel('时间/s');ylabel('角度/rad' );subplot(6,1,5);plot(t,q(:,5));title('转动关节5');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,6);plot(t,q(:,6));title('转动关节6');xlabel('时间/s');ylabel('角度/rad');4)机器人各关节转动角速度仿真程序:(Rob4.m)t=[0:0.01:10];qA=[0 0 0 0 0 0 ];%机械手初始关节量qAB=[ 1.5709 -0.8902 -0.0481 -0.5178 1.0645 -1.0201]; [q,qd,qdd]=jtraj(qA,qAB,t);Plot(r,q);subplot(6,1,1);plot(t,qd(:,1));title('转动关节1');xlabel('时间/s');ylabel('rad/s');subplot(6,1,2);plot(t,qd(:,2));title('转动关节2');xlabel('时间/s');ylabel('rad/s');subplot(6,1,3);plot(t,qd(:,3));title('转动关节3');xlabel('时间/s');ylabel('rad/s');subplot(6,1,4);plot(t,qd(:,4));title('转动关节4');xlabel('时间/s');ylabel('rad/s' );subplot(6,1,5);plot(t,qd(:,5));title('转动关节5');xlabel('时间/s');ylabel('rad/s');subplot(6,1,6);plot(t,qd(:,6));title('转动关节6');xlabel('时间/s');ylabel('rad/s');5)机器人各关节转动角加速度仿真程序:(Rob5.m)t=[0:0.01:10];%产生时间向量qA=[0 0 0 0 0 0]qAB =[1.5709 -0.8902 -0.0481 -0.5178 1.0645 -1.0201]; [q,qd,qdd]=jtraj(qA,qAB,t);figure('name','up6机器人机械手各关节加速度曲线');subplot(6,1,1);plot(t,qdd(:,1));title('关节1');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)');subplot(6,1,2);plot(t,qdd(:,2));title('关节2');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)');subplot(6,1,3);plot(t,qdd(:,3));title('关节3');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)') subplot(6,1,4);plot(t,qdd(:,4));title('关节4');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)') subplot(6,1,5);plot(t,qdd(:,5));title('关节5');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)') subplot(6,1,6);plot(t,qdd(:,6));title('关节6');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)')。
matlab机器人工具箱matlabrobotics_toolbox_demo
matlab机器人工具箱matlabrobotics_toolbox_demoMATLAB ROBOTTOOLrtdemo演示目录一、rtdemo机器人工具箱演示 (2)二、transfermations坐标转换 (2)三、Trajectory齐次方程 (8)四、forward kinematics 运动学正解 (12)四、Animation 动画 (18)五、Inverse Kinematics运动学逆解 (23)六、Jacobians雅可比---矩阵与速度 (32)七、Inverse Dynamics逆向动力学 (45)八、Forward Dynamics正向动力学 (52)一、rtdemo机器人工具箱演示>> rtdemo%二、transfermations坐标转换% In the field of robotics there are many possible ways of representing% positions and orientations, but the homogeneous transformation is well% matched to MATLABs powerful tools for matrix manipulation. %% Homogeneous transformations describe the relationships between Cartesian% coordinate frames in terms of translation and orientation.% A pure translation of 0.5m in the X direction is represented bytransl(0.5, 0.0, 0.0)ans =1.0000 0 0 0.50000 1.0000 0 00 0 1.0000 00 0 0 1.0000%% a rotation of 90degrees about the Y axis byroty(pi/2)ans =0.0000 0 1.0000 00 1.0000 0 00 0 0 1.0000%% and a rotation of -90degrees about the Z axis by rotz(-pi/2) ans =0.0000 1.0000 0 0-1.0000 0.0000 0 00 0 1.0000 00 0 0 1.0000%% these may be concatenated by multiplication t = transl(0.5, 0.0, 0.0) * roty(pi/2) * rotz(-pi/2)t =0.0000 0.0000 1.0000 0.5000-1.0000 0.0000 0 00 0 0 1.0000%% If this transformation represented the origin of a new coordinate frame with respect% to the world frame origin (0, 0, 0), that new origin would be given byt * [0 0 0 1]'ans =0.50001.0000pause % any key to continue%% the orientation of the new coordinate frame may be expressed in terms of% Euler anglestr2eul(t)ans =0 1.5708 -1.5708%% or roll/pitch/yaw anglestr2rpy(t)ans =-1.5708 0.0000 -1.5708pause % any key to continue%% It is important to note that tranform multiplication is in general not% commutative as shown by the following examplerotx(pi/2) * rotz(-pi/8)ans =0.9239 0.3827 0 0-0.0000 0.0000 -1.0000 0-0.3827 0.9239 0.0000 00 0 0 1.0000rotz(-pi/8) * rotx(pi/2)ans =0.9239 0.0000 -0.3827 0-0.3827 0.0000 -0.9239 00 1.0000 0.0000 00 0 0 1.0000%%pause % any key to continueecho off三、Trajectory齐次方程% The path will move the robot from its zero angle pose to the upright (or% READY) pose.%% First create a time vector, completing the motion in 2 seconds with a% sample interval of 56ms.t = [0:.056:2];pause % hit any key to continue%% A polynomial trajectory between the 2 poses is computed using jtraj()%q = jtraj(qz, qr, t);pause % hit any key to continue%% For this particular trajectory most of the motion is done by joints 2 and 3,% and this can be conveniently plotted using standard MATLAB operationssubplot(2,1,1)plot(t,q(:,2))title('Theta')xlabel('Time (s)');ylabel('Joint 2 (rad)')subplot(2,1,2)plot(t,q(:,3))xlabel('Time (s)');ylabel('Joint 3 (rad)')pause % hit any key to continue%% We can also look at the velocity and acceleration profiles. We could% differentiate the angle trajectory using diff(), but more accurate results% can be obtained by requesting that jtraj() return angular velocity and% acceleration as follows[q,qd,qdd] = jtraj(qz, qr, t);%% which can then be plotted as beforesubplot(2,1,1)plot(t,qd(:,2))title('Velocity')xlabel('Time (s)');ylabel('Joint 2 vel (rad/s)')subplot(2,1,2)plot(t,qd(:,3))xlabel('Time (s)');ylabel('Joint 3 vel (rad/s)')pause(2)% and the joint acceleration profiles subplot(2,1,1) plot(t,qdd(:,2))title('Acceleration')xlabel('Time (s)');ylabel('Joint 2 accel (rad/s2)')subplot(2,1,2)plot(t,qdd(:,3))xlabel('Time (s)');ylabel('Joint 3 accel (rad/s2)')pause % any key to continueecho off四、forward kinematics 运动学正解% Forward kinematics is the problem of solving the Cartesian position and% orientation of a mechanism given knowledge of the kinematic structure and% the joint coordinates.%% Consider the Puma 560 example again, and the joint coordinates of zero,% which are defined by qzqzqz =0 0 0 0 0 0%% The forward kinematics may be computed using fkine() with an appropropriate% kinematic description, in this case, the matrix p560 which defines% kinematics for the 6-axis Puma 560.fkine(p560, qz)ans =1.0000 0 0 0.45210 1.0000 0 -0.15000 0 1.0000 0.43180 0 0 1.0000%% returns the homogeneous transform corresponding to the last link of the% manipulatorpause % any key to continue%% fkine() can also be used with a time sequence of joint coordinates, or% trajectory, which is generated by jtraj()%t = [0:.056:2]; % generate a time vectorq = jtraj(qz, qr, t); % compute the joint coordinate trajectory %% then the homogeneous transform for each set of joint coordinates is given byT = fkine(p560, q);%% where T is a 3-dimensional matrix, the first two dimensions are a 4x4% homogeneous transformation and the third dimension is time.%% For example, the first point isT(:,:,1)ans =1.0000 0 0 0.45210 1.0000 0 -0.15000 0 1.0000 0.43180 0 0 1.0000%% and the tenth point isT(:,:,10)ans =1.0000 -0.0000 0 0.4455-0.0000 1.0000 0 -0.15000 0 1.0000 0.50680 0 0 1.0000pause % any key to continue%% Elements (1:3,4) correspond to the X, Y and Z coordinates respectively, and% may be plotted against timesubplot(3,1,1)plot(t, squeeze(T(1,4,:)))xlabel('Time (s)');ylabel('X (m)')subplot(3,1,2)plot(t, squeeze(T(2,4,:)))xlabel('Time (s)');ylabel('Y (m)')subplot(3,1,3)plot(t, squeeze(T(3,4,:)))xlabel('Time (s)');ylabel('Z (m)')pause % any key to continue%% or we could plot X against Z to get some idea of the Cartesian path followed% by the manipulator.%subplot(1,1,1)plot(squeeze(T(1,4,:)), squeeze(T(3,4,:)));xlabel('X (m)')ylabel('Z (m)')gridpause % any key to continueecho off四、Animation 动画clf%% The trajectory demonstration has shown how a joint coordinate trajectory% may be generatedt = [0:.056:2]'; % generate a time vectorq = jtraj(qz, qr, t); % generate joint coordinate trajectory%% the overloaded function plot() animates a stick figure robotmoving% along a trajectory.plot(p560, q);% The drawn line segments do not necessarily correspond to robot links, but% join the origins of sequential link coordinate frames.%% A small right-angle coordinate frame is drawn on the end of the robot to show% the wrist orientation.%% A shadow appears on the ground which helps to give some better idea of the% 3D object.pause % any key to continue。
robodk仿真程序——program标准版文档
1 直接在工具栏上选择 相应的指令(不全面)
3 设置工具和工件坐标系 指令:“Set Tool/Set Ref”
4 设置速度加速度 指令:“Set speed”
6 选择“set object position(relation)”
5 设置工件初始位置,保证 每次搬运前工件都在盒子中 指令:“simulation event”
抓1件5取的添点 (加:预等[)1待1抓8语,取句97点,, 和4等5(,待-预1081.)00,放0添件,置18点加的0] 4(个预目)标抓点取,点分和别(设预置)为放红置色点工
参考系:ReferenceFrame 三、RoboDK仿真程序——program 三、RoboDK仿真程序——program 1 添加program程序 练习2:黄色工件搬运程序 二、RoboDK基础操作 三、RoboDK仿真程序——program
16 添加放置工件移动语句,方法同上
18 选择“detach object”
19 选择放置位置
17 添加释放工件动作 指令:“simulation event”
练习1:蓝色工件搬运程序 练习2:黄色工件搬运程序
蓝色工件
抓取点:[118, 97, 45, -180, 0, 180] 放置点:[132, 155, 24, -180, 0, 180] 参考系:ReferenceFrame
黄色工件
抓取点:[101, 66, 45, -180, 0, 180] 放置点:[202, 155, 24, -180, 0, 180] 参考系:ReferenceFrame
参考系:ReferenceFrame 每次搬运前工件都在盒子中 抓取点red_pick:(87, 97, 45, -180, 0, 180) 指令:“simulation event” 三、RoboDK仿真程序——program 3 指令添加——移动至home点 放置点:[202, 155, 24, -180, 0, 180] 放置点:[202, 155, 24, -180, 0, 180]
MTALAB机器人工具箱
Robotic tool 提供了一些如运动学,动力学和生成机器人轨迹的许多有用功能。
用这个工具箱进行仿真以及分析与真正的机器人得到实验结果是非常有用。
工具箱的优点是代码是一个相当成熟的算法,对于教学源代码是免费的。
该工具箱提供了机器人动力学正解和逆解,其次坐标转换所必需的三维位置和方向。
该工具箱可以计算任意结构机器人的正反运动学(用数值积分的方法,不是给出解析解)、正反动力学(反运动学采用的是递归牛顿欧拉方法,效率很高) 、路径规划等;里面还有Puma560 和Stanford 机器人的实例。
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 代表移动关节。
工业机器人机器人工具箱的使用实验报告
工业机器人机器人工具箱的使用实验报告一、引言工业机器人是现代工业生产中不可或缺的重要设备之一。
机器人工具箱是工业机器人应用中的重要组成部分,它可以提供丰富的功能和算法库,帮助开发者快速搭建自己的控制系统。
本文将介绍机器人工具箱在工业机器人应用中的使用实验。
二、实验环境本次实验使用了一台ABB IRB 1200-5/0.9工业机器人。
该机器人采用了ABB公司独有的TrueMove技术,可以实现高精度运动控制。
同时,我们使用了MATLAB Robotics System Toolbox作为开发平台来进行本次实验。
三、实验内容及步骤1. 建立机器人模型首先,我们需要建立机器人模型。
在MATLAB Robotics System Toolbox中,可以通过Robotics System Toolbox Interface for ABB Robots(简称ABB接口)来连接ABB工业机器人,并获取其运动学参数和状态信息。
在获取到这些信息后,我们就可以通过Robotics System Toolbox自带的urdf模型导入功能来建立虚拟模型。
2. 运动规划接下来,我们需要进行运动规划。
在MATLAB Robotics System Toolbox中,有多种运动规划算法可供选择,如RRT、PRM等。
我们选择了基于优化的运动规划算法OMPL来进行本次实验。
在运动规划过程中,我们需要指定机器人的起始点和目标点,并设置一些运动约束条件。
通过OMPL算法,我们可以得到一条优化后的路径。
3. 控制机器人最后,我们需要将优化后的路径转换成机器人可以执行的控制指令。
在MATLAB Robotics System Toolbox中,有多种控制方法可供选择,如PID控制、模型预测控制等。
我们选择了基于PID控制的方法来进行本次实验。
四、实验结果及分析经过以上步骤,我们成功地建立了机器人模型、进行了运动规划并控制了机器人运动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
subplot(6,1,3); plot(t,q(:,3));
title('转动关节3'); xlabel('时间/s'); ylabel('角度/rad');
subplot(6,1,4); plot(t,q(:,4));
[q,qd,qdd]=jtraj(qA,qAB,t);
Plot(r,q); subplot(6,1,1); plot(t,qd(:,1));
title('转动关节1'); xlabel('时间/s'); ylabel('rad/s');
subplot(6,1,2); plot(t,qd(:,2));
[q,qd,qdd]=jtraj(qA,qAB,t);
figure('name','up6机器人机械手各关节加速度曲线');
subplot(6,1,1); plot(t,qdd(:,1));
title('关节1'); xlabel('时间 (s)'); ylabel('加速度 (rad/s^2)');
L5=link([pi/2 0 0 0 ])
L6=link([0 0 0 95])
r=robot({L1 L2 L3 L4 L5 L6})
='motoman-up6'
t=[0:01:10];
qA=[0 0 0 0 0 0 ];
qAB=[ pi/6 pi/6 pi/6 pi/6 pi/6 pi/6];
title('转动关节4'); xlabel('时间/s'); ylabel('rad/s' );
subplot(6,1,5); plot(t,qd(:,5));
title('转动关节5'); xlabel('时间/s'); ylabel('rad/s');
subplot(6,1,6); plot(t,qd(:,6));
title('转动关节6'); xlabel('时间/s'); ylabel('角度/rad');
4)机器人各关节转动角速度仿真程序:(Rob4.m)
t=[0:0.01:10];
qA=[0 0 0 0 0 0 ];%机械手初始关节量
qAB=[ 1.5709 -0.8902 -0.0481 -0.5178 1.0645 -1.0201];
title('转动关节4'); xlabel('时间/s'); ylabel('角度/rad' );
subplot(6,1,5); plot(t,q(:,5));
title('转动关节5'); xlabel('时间/s'); ylabel('角度/rad');
subplot(6,1,6); plot(t,q(:,6));
plot(t, squeeze(T(2,4,:))); xlabel('Time (s)'); ylabel('Y (m)'); subplot(3,1,3);
plot(t, squeeze(T(3,4,:))); xlabel('Time (s)'); ylabel('Z (m)');
x=squeeze(T(1,4,:)); y=squeeze(T(2,4,:)); z=squeeze(T(3,4,:));
L6=link([0 0 0 95])
r=robot({L1 L2 L3 L4 L5 L6})
=’MOTOMAN-UP6’ % 模型的名称
>>drivebot(r)
2)正运动学仿真程序(Rob2.m)
L1=link([pi/2 150 0 0])
L2=link([0 570 0 0])
q=jtraj(qA,qAB,t);
Plot(r,q); subplot(6,1,1);
plot(t,q(:,1)); title('转动关节1');
xlabel('时间/s'); ylabel('角度/rad');
subplot(6,1,2); plot(t,q(:,2));
title('转动关节2'); xlabel('时间/s'); ylabel('rad/s');
subplot(6,1,3); plot(t,qd(:,3));
title('转动关节3'); xlabel('时间/s'); ylabel('rad/s');
subplot(6,1,4); plot(t,qd(:,4));
subplot(6,1,6); plot(t,qdd(:,6));
title('关节6'); xlabel('时间 (s)'); ylabel('加速度 (rad/s^2)')
subplot(6,1,2); plot(t,qdd(:,2));
title('关节2'); xlabel('时间 (s)'); ylabel('加速度 (rad/s^2)');
subplot(6,1,3); plot(t,qdd(:,3));
title('关节3'); xlabel('时间 (s)'); ylabel('加速度 (rad/s^2)')
t=[0:0.01:10];%产生时间向量
qA=[0 0 0 0 0 0 ]; %机械手初始关节角度
qAB=[-pi/2 -pi/3 0 pi/6 pi/3 pi/2 ];%机械手终止关节角度
figure('Name','up6机器人正运动学仿真演示');%给仿真图像命名
q=jtraj(qA,qAB,t);%生成关节运动轨迹
figure('Name','up6机器人末端轨迹图'); plot3(x,y,z);
3)机器人各关节转动角度仿真程序:(Rob3.m)
L1=link([pi/2 150 0 0 ])
L2=link([0 570 0 0])
L3=link([pi/2 130 0 0])
L4=link([-pi/2 0 0 640])
T=fkine(r,q);%正向运动学仿真函数
plot(r,q);%生成机器人的运动
figure('Name','up6机器人末端位移图')
subplot(3,1,1);
plot(t, squeeze(T(1,4,:))); xlabel('Time (s)'); ylabel('X (m)'); subplot(3,1,2);
subplot(6,1,4); plot(t,qdd(:,4));
title('关节4'); xlabel('时间 (s)'); ylabel('加速度 (rad/s^2)')
subplot(6,1,5); plot(t,qdd(:,5));
title('关节5'); xlabel('时间 (s)'); ylabel('加速度 (rad/s^2)')
title('转动关节6'); xlabel('时间/s'); ylabel('rad/s');
5)机器人各关节转动角加速度仿真程序:(Rob5.m)
t=[0:0.01:10];%产生时间向量
qA=[0 0 0 0 0 0]
qAB =[1.5709 -0.8902 -0.0481 -0.5178 1.0645 -1.0201];
附录
MATLAB
机器人工具箱仿真程序:
1)运动学仿真模型程序(Rob1.m)
L1=link([pi/2 150 0 0])
L2=link([0 570 0 0])
L3=link([pi/2 130 0 0])
L4=link([-pi/2 0 0 640])
L5=link([pi/2 0 0 0])
L3=link([pi/2 130 0 0])
L4=link([-pi/2 0 0 640])
L5=link([pi/2 0 0 0])
L6=link([0 0 0 95])
r=robot({L1 L2 L3 L4 L5 L6})
=
’MOTOMAN-UP6’