基于VRML的机器人空间连续轨迹运动仿真_第1页
基于VRML的机器人空间连续轨迹运动仿真_第2页
基于VRML的机器人空间连续轨迹运动仿真_第3页
基于VRML的机器人空间连续轨迹运动仿真_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、收稿日期:2006206220基金项目:山东省自然科学基金( y2002f13 ) ;教育部留学回国基金(01345)作者简介:赵伟华(19812),女,山东德州人,硕士生,研究方向为虚拟现实和机器人.e2mail: 文章编号:167223961(2007)0220008204基于vrml的机器人空间连续轨迹运动仿真赵伟华,王 勇,王宪伦(山东大学 机械工程学院,山东 济南 250061 )摘要:以虚拟现实建模语言vrml (virtual reality modeling language )辅以3dmax作为建模工具,建立了机器人的三维模型.利用java与虚拟现实建模语言之间外部编程方式的

2、交互,实现了机器人正运动学、 逆运动学及连续轨迹运动仿真.当进行连续轨迹运动仿真时,建立工件的三维模型,提取工件棱边信息,机器人可以实现沿着工件轮廓的三维运动,模拟去除工件毛刺、 进行光整加工的过程.仿真以六自由度机器人作为仿真对象,但具有很强的适应性.关键词:机器人;虚拟现实;连续轨迹中图分类号:tp391. 9; tp242文献标识码:aspace continuous path kinematicsimulationof a robot based on vrmlzhao wei2hua, wang y ong, wang xian2lun(schoolof mechanical eng

3、ineering, shandonguniversity, jinan 250061,china)abstract : a 3d robotic model was establishedby useof vrml (virtual reality modeling language ) and3dmax. by the externalauthoringinterface(e ai)interactionbetweenjavaandvrml , the kinematics, in2versekinematicsandthe continuouspath(cp)movementof the

4、robotweresimulated. as the cp movementofthe robotwas simulated, the 3d model of workpiecewasfirst establishedto extractthe edgeinformation. therobot can realize spacecontinuouspath movementalong the workpiece contour simulatingthe deburring andfinishing process. themethodbasedon the62dof robotcan be

5、appliedin robotswith any degrees of freedom.key words: robot; virtual reality; continuouspath0 引言机器人运动仿真一直是机器人研究中的一个重要领域 .vrml 可以方便地建立机器人、 工件模型和虚拟工作环境.vrml 是基于网络的建模语言,而控制模型运动的java支持跨平台和网络编程. vrml与 java结合 ,易于实现远程控制和网络遥操作,且比现行的 vc + + 调用 openg l 或 directx 库函数仿真方法简单 . 目前针对于远程控制和遥操作的平台创建研究比较多【1】,而结合工件模型

6、进行加工操作的三维虚拟仿真研究则较少. 王攀峰等通过对s olid2works运动仿真插件的二次开发实现了机器人的在线仿真 ,并模拟了相贯线加工的实现过程【2】. 我们基于 vrml 和 java applet ,已经实现了具有冗余自由度的 7 自由度机器人的正运动学和逆运动学仿真【3】.在文献【3】 的基础上,引入工件模型,结合具体的加工操作过程,实现了机器人沿工件轮廓的连续轨迹运动仿真. 本仿真能实现直线、 圆弧以及相贯线等的连续轨迹运动. 轨迹可通过读取数控代码得到【4】,为空间复杂轨迹仿真的实现提供了条件.第37卷 第2期vol. 37no. 2山 东 大 学 学 报 (工 学 版)j

7、ournal of shandong university (engineering science )2007年4月 apr.20071 仿真模型的建立采用 6 自由度工业机器人puma为仿真对象 . 机器人有 6 个关节组成. 前 1 个关节的运动会带动后面关节一起运动,就是说从运动关系方面讲,前面的关节应该包含后面的关节. 在 vrml 里 ,用 group编组节点建立整个机器人,在 g roup 节点里逐层嵌套建立各个关节的trans form 节点 ,从而实现这种运动包含关系 .在 trans form 节点里为每个关节引入1 个圆柱传感器cylindersens or ,当鼠标拖动

8、该关节时,cylindersens or 把测得的角度值通过路由route 传递给 trans form 的 rotation域 ,实现规定关节角范围内的关节运动 ;同时对应于机器人的关节坐标系分别建立了 1 个固定坐标系和1 个随关节一起转动的转动坐标系 ,采用不同的颜色显示,另外红色的是基坐标系.vrml 中建立不规则三维实体的节点是 in2dexedfaceset ,采集实体面上的点线组成面,由面包含形成实体 .由于实体形状不规则,点的坐标计算很复杂 ,而且有时候需要的点很多,比较麻烦 . 幸运的是 ,很多大型的三维软件都提供了与vrml 的接口 ,如3dm ax. 为了解决这一问题,用

9、 3dmax 作为辅助建模工具 ,在 3d里建立好连杆模型,输出到 vrml 中进行编辑 ,旋转移动调整后得到需要的模型,简单方便 .工件的 引 入 采 用 开 关 编 组 节 点s witch ,起 始whichchoice取 - 1 ,即当进行正运动学和逆运动学仿真时不显示,当作连续轨迹运动仿真时,由 java编程与外界实时交互,使工件显示在仿真环境中,进行沿工件轮廓的连续轨迹运动仿真. 为了完成运动仿真 ,还在 trans form 节点里引入了1 个时间传感器timesens or和1个方位插补器orientationinterpolator,并有路由route相连 . 在下面图形用户

10、界面和java程序一节里再作详细介绍.模型窗口见图1.图1仿真模型fig. 1simulating model2 仿真方法2. 1 vrml 与 java 的接口vrml 虚拟空间与外部世界的通信有个接口eai ,它定义了针对vrml浏览器的java类库.它的使用方法是使javaapplet和 vrml 文件集成在1 个html 页 面 中 ,由 浏 览 器 实 现 二 者 之 间 的 交 互.vrml 文件描述的虚拟现实场景需要通过vrml 浏览器进行解释,并在包含该浏览器插件的internet浏览器中显示出构建的虚拟世界;同时 vrml 文件通过 e ai 与包含仿真器的javaapple

11、t相连 ,在 applet 中不但实现了仿真的功能,并且可以驱动vrml 文件中的实体按照仿真逻辑运动. 同时 ,在 applet 中还可以进行仿真数据的显示,使得用户可以更加清晰地掌握仿真系统运行的状况. 图 2 形象地表示了整个仿真系统的结构关系.图2vrml与java接口fig. 2interface of vrml and javaapplet 访问场景的方法:首先获得浏览器的应用 ,通过 browser.getbrowser (this) 语句建立浏览器对象. 由浏览器对象访问节点browser.getnode () ,然后由节点得到eventin,eventout事件node. g

12、eteventin() ,node.geteventout ( ) ,读取eventout事件和设置eventin事件 ,从而实现和vrml 环境的动态交互.2. 2 机器人的运动模型及逆运动学算法机器人运动方程是描述机器人末端执行器位置和姿态的方程,而机器人操作机是多杆系统,两杆间的位姿矩阵是求得操作机手部位姿矩阵的基础,它取决于两杆之间的结构参数、 运动形式和运动参数,以及这些参数按不同顺序建立的几何模型. 常见的有固联坐标系前置模型和后置模型.采用 d2h 固联坐标系后置模型:ti- 1i=ci-sicisisiaicisicici-cisiaisi0sicidi0001.(1)逆运动学

13、采用文献 【5】 的推导方法求解,这种方法避免了大量的矩阵逆乘,求解简单 . 为了简化计算 ,只讨论前3 个自由度,总共得到4 组解 . 这 4 组解并非都满足在工作空间范围内或满足运动的要第2期赵伟华,等:基于vrml的机器人空间连续轨迹运动仿真9求. 因此只取在规定关节角范围内与精确目标位置误差最小的1 组关节角的解.采用的 puma机器人的连杆参数见表1.表1连杆参数table 1link parameters关节ii()immaimmdimm关节变量范围 ()190- 9000- 160160200500150- 2254539090200- 4522540- 900500- 1101

14、70509000- 10010060000- 266266在建立的puma机器人基坐标系下,机器人手臂在地面以上- 720 z,同时满足关节角限制,工作空间满足式(2) (6).za2+d4,(2)|y| a2+d4,(3)- (a2+d4)cos20 +3cos20 x,(4)xa2+d4,(5)y2+z2 (a2+d4)2+a23.(6)2. 3 轨迹的获得由 proe软件制造模式获得工件轮廓轨迹,进而得到 g代码 ,由 java编程对 g代码解析提取轨迹的离散点 ,经过机器人逆运动学算法得到各个关节角数值 ,然后传到 vrml 中各关节所包含的orientation 2interpola

15、tor节点中 key, keyvalue域值 ,实现连续轨迹的运动仿真 . 在解析g代码时 ,由于 proe铣削中的z坐标轴必须与铣削面的法线方向平行,这与 vrml 中自建的机器人坐标系不同,需要进行坐标的转换.3 图形用户界面和java程序采用eai 方 式 ,在 同 一 个 网 页 里 同 时 嵌 入vrml 场景和javaapplet,二者互相交互. 界面分正运动学和逆运动学两部分,连续轨迹运动也属于逆运动 . 正运动学显示末端位置,逆运动学显示最佳关节角 . 当点击相应按钮时,触发时间传感器,使之loop域值设为true ,在 vrml 文件里 ,时间传感器经路由连着插补器orien

16、tationinterpolator ,根据运动轨迹给插补器的key,keyvalue域赋值从而产生仿真动画 ,图形用户界面见图3.java程序提供了vrml 场景与外部环境交互的能力 . 通过 java的控件动态地影响、 改变 vrml 中的事件和域,使仿真成为可能. 以下是部分java程序 ,实现机器人的正运动、 逆运动及沿工件轮廓的连续轨迹运动 .图3 图形用户界面fig. 3figure user interface 获得浏览器brows= browser.getbrowser(this); 访问节点arm1 = browser.getnode ( “arm1” ) ;arm6 = b

17、rowser.getnode ( “arm6” ) ;arm1-path= browser.getnode ( “arm1-path” ) ;arm6-path= browser.getnode ( “arm6-path” ) ;ts1= browser.getnode( “ts1 ” ) ;ts6= browser.getnode( “ts6 ” ) ;workpiece= browser.getnode ( “workpiece” ) ; 得到 eventin事件set-key1= (eventinmffloat )arm1-path.geteventin ( “key” ) ;set-k

18、ey6= (eventinmffloat )arm6-path.geteventin ( “key” ) ;set-keyvalue1= ( eventinmfr otation)arm1-path.geteventin ( “keyvalue ” ) ;set-keyvalue6= ( eventinmfr otation)arm6-path.geteventin( “keyvalue” );set-loop1= ( eventinsf bool) ts1.geteventin( “loop” ) ;set-loop6= ( eventinsf bool) ts6.geteventin( “

19、loop” ) ;set-enabled1= (eventinsf bool) ts1.geteventin( “enabled ” ) ;set-enabled6= (eventinsf bool) ts6.geteventin( “enabled ” ) ; 发送 eventout事件get-rotation1= (eventoutsfr otation)arm1. geteventout ( “rotation ” ) ;get-rotation6= (eventoutsfr otation)arm6. geteventout ( “rotation ” ) ;10山 东 大 学 学 报

20、 (工 学 版)第37卷 控制工件的显示与隐藏which =(eventinsfint32)w orkpiece.geteventin( “whichchoice ” ) ; 调用函数set-loop1. setvalue (true) ;set-loop6. setvalue (true) ;this. set-keyv1(f1) ;this. set-keyv6(f6) ;set-loop1. setvalue (false) ;set-loop6. setvalue (false) ;jm.joint-move(q1 , q2 , q3 , q4 , q5 , q6) ;4 运动仿真实现

21、了正运动学、 逆运动学和空间连续轨迹运动的仿真 . 在正运动仿真中输入关节角范围内的关节角数值,机器人正运动并显示手腕参考点位置;在逆运动仿真中,输入末端手腕的目标点,机器人逆运动并显示最佳关节角数值,若超出机器人的空间工作范围会报警提示;在实现空间连续轨迹运动仿真时 ,建立工件的三维模型并提取工件棱边信息,进行工件轮廓的连续轨迹仿真. 图 4 是沿工件轮廓的连续轨迹仿真结果,轨迹为一直线链和半圆弧.图4连续轨迹运动fig. 4continuous path movement机器人在运动过程中与工件轮廓可能会产生碰撞干涉 ,要检测是否产生碰撞,可利用vrml 中的collision节点.把c

22、ollide域值设为true,产生碰撞时 ,虚拟空间浏览器得到通知,停止仿真的继续进行.机器人沿着工件轮廓的三维运动,可以模拟去除工件毛刺 、 进行光整加工的过程.虚拟仿真环境的建立 ,一方面可以对运动过程有一个直观的感受,另一方面也利于随时修改仿真参数,对仿真过程进行监控 ,节省成本 .5结论采用 vrml 和 java,辅以 3d 开发工具进行仿真 ,比现行的 vc + 调用 openg l 或 directx 库函数仿真 ,方法简单 .实现了机器人的正运动、 逆运动和空间连续轨迹运动仿真.连续轨迹的获得由功能强大的 proe软件直接获得g代码进行编程处理得到,这样为实现空间复杂轨迹的仿真

23、提供了方便条件.虽然只分析了3 个自由度,但可以进一步分析姿态,而且由于采用了一般puma机器人即当时的逆运动模型 ,比较具有一般性.参考文献:1 马力波,黄席樾,陈东义,等.基于网络远程机器人学的人-机接口界面分析研究j .计 算 机 应 用 研 究,2002 , 19(10) :46250.ma li2bo , huang xi2yue , chen dong2yi , et al.researchof human2computer interface on the internet telerobotics j .application researchof computer , 2002 , 19(10) :46250.2 王攀峰,梅江平,黄田.机器人在线运动仿真系统及其应用j .机械设计, 2004 , 21 (z1) :992100 , 77.wang pan2feng , mei jang2ping , huang tian. online robotsimulation systemand itsapplicationj .journal of machinedesign

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论