文档介绍:薈机械手模拟仿真实验文档羆实验简介蒃问题描述:应用仿真技术,建立一个具有四自由度的(虚拟)机械手,可完成在任意给定的两个三维空间点之间画一条直线的任务袀解决方案:首先使用VRML语言建模机械手模型,再使用Matlab中的Simulink仿真环境模拟机械手四个关节的运动状态,然后在此基础之上编写Matlab程序完成所需功能。虿重点难点:如何建立世界坐标系,并得到每个坐标点与四个关节旋转角度的对应关系?肅如何计算机械手臂沿两点直线移动过程中四个关节的运动姿态(即旋转角度)?袃一、机械手建模薁为了实现对机械手的仿真实现,我们首先建立一个模拟四个关节(四个自由度)可运动的机械手,。,四个关节以及顶端的画笔,我们重点来弄清楚四个关节的运动情况,地下的红色小立方体可以在水平面的方向左右(即顺时针或逆时针)旋转正负90度,其余的三个颜色分别标记为绿色、蓝色和灰色的三个立方体,它们可以绕着各自的底平面心前后旋转运动,其运动幅度均为正负90度。蒈建立机械手模型时,采用了MATLAB支持的虚拟现实建模语言VRML。 VRML(VirtualRealityModelingLanguage)即虚拟现实建模语言,是一种用于建立真实世界的场景模型或者人们虚构的三维世界的场景建模语言,是一种面向Web面向对象的三维造型语言,其实质为一种解释性语言,常用的编辑环境有VrmlPad,,使用浏览器浏览时需要相应插件的支持, 由于VRML在互联网和可视化的广泛应用,Matlab对于虚拟现实也进行了有力的支持,Matlab提供了Simulink接口和Matlab接口来与虚拟现实进行交互,相应的详细说明文档请查看Matlab帮助文档中的VirtualRealityToolbox内容,。。 ,也就是说该机械手有六个自由度,每个关节由一个电机来控制,每个关节在空间的运动范围为-90度到+90度,在试验模拟中为了简化系统,我们使用了四个自由度的模型系统,在MatlabSimulink仿真实验中,只需要实时给出每个关节的旋转角度就可以动态地控制机械手的运动状态。羆从上面的模型示意图中我们可以很清楚的看到,该机械手的模型分为底座,四个关节以及顶端的画笔,我们重点来弄清楚四个关节的运动情况,地下的红色小立方体可以在水平面的方向左右(即顺时针或逆时针)旋转正负90度,其余的三个颜色分别标记为绿色、蓝色和灰色的三个立方体,它们可以绕着各自的底平面中心点前后旋转运动(视线正视方向),其运动幅度均为正负90度。 机械手模型的建立需要VRML语言支持,具体的设计请参考《VRML虚拟现实应用技术》张德丰著,电子工业出版社,在这部分将简要的介绍有关VRML编程的基本知识。蒈 VRML语言其实非常简单,是一种描述性的解释语言,VRML的对象称之为节点,子节点的集合可以构成复杂的景物,节点可以通过实例得到复用,通过路由或者script脚本语言的交互可以生成更加复杂逼真的动态虚拟世界。膅 例如底盘模型是一个圆锥体和圆柱体的组合,相关的VRML代码如下所示。芃#############################################################################肈DEF HandTransform#定义一个形变蒀{蒇 children#并列的子节点螃 [蝿#Base:aconeandacylinder芇 Shape#定义一个形体薅{膂 appearanceAppearance#外观节点葿{莈 materialMaterial#材质节点螄{薂#颜色属性设置芀 }羁}羀 geometryCone#定义一个圆锥体膇{膅#圆锥体的属性设置蚄 }薇}膄蒁 Shape#定义一个形体肆{蚅 appearanceAppearance#外观节点薃{芁 materialDEFWhiteMaterial#材质节点肇{螄#颜色属性设置羂 }膆}莂 geometryCylinder#定义一个圆柱体螂{羆#圆柱体的属性设置芄 hei