驾驶机器人的三维运动仿真

2009-9-24 作者: 王丽丽 牛志刚 来源: 万方数据

关键字: AutoCAD OpenGL 实时仿真 驾驶机器人 

为逼真地模拟驾驶机器人的运动过程.采用AutoCAD强大的建模工具建立了机器人的逼真模型.通过格式转换导入到OpenGL中,利用其优秀的场景和实时处理能力对模型进行渲染和着色.在VC++开发平台上成功地实现对驾驶机器人的可视化运动仿真。

  引言

  OpenGL是一个优秀的专业化三维应用程序接口。具有完全开放的图形开发环境,又具有跨平台、移植性好等特点,因此被广泛应用在计算机仿真以及虚拟现实系统中。由于OpenGL只是通过基本的几何图元点、线及多边形来建立三维立体模型,并没有提供三维模型的高级命令,从而使得在OpenGL中建立复杂模型相对困难。鉴于OpenGL不要求将三维模型写成固定的数据格式,并且还可以利用其他格式的数据源,如借用AutoCAD和3DSMAX等。因此,本研究将AutoCAD中建好的驾驶机器人模型以各个构件为单元拆分成几个部件,并将其转化成3DS文件导人到OpenGL中。利用VC++与OpenGL相结合,成功开发了驾驶机器人的运动学仿真系统,为解决驾驶机器人机械结构的干涉问题、了解机器人工作空间的形态及大小提供了一种很好的实验手段。

  1、驾驶机器人几何模型的建立及OpenGL的导入

  1.1几何模型的建立

  利用AutoCAD制作出驾驶机器人的精确模型,然后以各个运动构件为单元将其分成油门机械腿、制动机械腿、离合器机械腿、换档机械手及汽车方向盘、机器人机身和安装座6个部件,并以DXF格式保存在相应的文件夹中。打开3DS MAX里的文件,选择导人,将文件类型选为AutoCAD(*.DXF),找到保存好的AutoCAD文件并选中,此时DXF文件便转换成3DS文件,名为Robot.3ds,同时也可以在3DS MAX中渲染和着色。

  1.2  3DS文件导入到OpenGL

  3DS文件导入到OpenGL,可以参考以下方法:转入.max文件.写插件导出自己熟悉的格式;还可以使用3D文件转换工具3d exploration或deep exploration软件转换成为其他自己熟悉的格式。

  本研究中,我们把3ds模型作为OpenGL的物理模型,可以使用适当的软件将3ds文件转换成C语言或其他语言支持的文件,从而获得物理模型的相关数据。在这里用的是一个叫View3DS的软件。利View3DS.exe进行模型格式转换的方法是:在命令行中输入模型文件的名称,如View3DS.exe Robot.3ds,或者直接将3ds文件拖到View3DS上;在弹出的窗口中显示出需要转换的3ds模型;在对话框中单击鼠标左键,选择[E] Export OpenGL C Code菜单项,将在当前目录中生成OpenGL程序,包括与模型名同名的.h和.gl两个文件。即Robot.h和Robot.gl。

  在3DS文件中,我们最关心的是如何得到模型上各个点的坐标,并且用这些点连成三角形构成面,进而绘制成整个模型。3DS文件结构的定点列表块定义了定点的数目和每个定点的三维坐标,采用调用显示清单的方法显示机器人。定义显示列表的代码如下:

  在调用上述定义好的显示列表时,只需glCallList(nList)即可绘制nList所有指代模块。




<<首页 <上一页  1  2  3  下一页>  末页>>  
责任编辑:熊东旭