已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
虚拟现实技术在现场监控系统实现虚拟现实技术在现场监控系统实现 2009 1 16 21 04 55 1998 年美国 VPL Research 公司的创始人 Jaron Lanier 首次正式提出 Virtual Reality VR 这个名词 它的意思为 计算机产生的三维交互环境 在使用中人是 投入 在 这个环境中的 虽然虚拟现实已提出多年 但由于受软硬件等各方面条件的制约 使之只能在 实验室的一些中 小型机上才能得以部分实现 无法移植到微机的平台上来 也一直不能普及 近年来由于硬件技术的大发展 加之 Windows95 的广泛使用及 OpenGL 等出色三维开发软件的问 世 使虚拟现实在微机上实现成为可能 将虚拟现实技术融入企业现场信息监控体系中 是目前国际自动控制领域的一个研究热点 其目标是提供一种高度融洽的人机关系 利用虚拟场景来和用户进行交互 并以逼真的三维界 面使用户在监控室中的操作就像在真实的现场中进行操作一样 但该技术的实现又具有相当的 难度 需要涉及虚拟技术 计算机控制 现场总线 计算机图形学 数字图象处理 空间解析 几何等众多领域 因此该技术还处于实验和研究阶段 即使在国外也未有具体地应用实例 在 国内目前尚未有相关的论文或研究成果 我们受上海市科委发展基金资助支持 研究该项技术 目前在虚拟场景的实现和虚拟设备类库的开发中已取得了一些进展 也积累了一些经验 本文 将对这两项技术进行探讨 2 系统的基本组成 基于虚拟现实技术的现场信息监控体系由三个模块组成 即虚拟现实模块 控制模块 和现场总线模块 各模块间通过 DDE 来实现通信 各模块的功能如下 虚拟现实模块 虚拟现实模块的实现是本文讨论的重点 它利用 OpenGL 提供的强大图形功 能来绘制虚拟三维场景 用 Visual C 来建立虚拟设备图形类库 使之既有高质量的三维场景 又利于用户的二次开发 控制模块 利用组态软件 Labview 来实现具体的控制功能 现场总线模块 具体实现各控制设备间的通信 3 虚拟场景的开发 虚拟场景三维造型部分大都采用 OpenGL 开发 OpenGL 是在 SGI 等多家世界著名公司 倡导下 以 SGI 的 GL 三维图形库为基础制订的一个通用的开放式三维图形标准 它独立于任何 操作系统以外 因而以它为基础开发的应用程序可方便地在各平台间移植 利用 Visual C 面 向对象的特性编制的虚拟设备图形类库使用户能轻松自如的在虚拟场景中任意增减控制设备 使二次开发变得轻而易举 之外 在实现的过程中还用了多线程 远程调用 DDE 等技术 因 不涉及虚拟现实这里就不详细展开 3 1 虚拟现实场景的 OpenGL 实现 3 1 1 虚拟环境的数据描述 控制现场环境通常较复杂 信息量大 不但要绘制大量的背景和现场设备 还要表现出各 部件间的连动关系 以控制中的生产流水线为例 启动一个开关不仅要求通过虚拟现实的技术 较真实的表现出这一动作 还要表现出由此引发的机械及整条流水线具体的工作变化 因而对 虚拟环境的数据描述的要求非常高 必须要有一种功能强 效率高的图形工具来对其进行描述 OpenGL 的图形库除了提供基本的点 线 多边形的绘制函数外 还提供了复杂的三维物体 球 锥 多边体等 复杂的曲线和曲面 如 Bezier Nurbs 等曲面和曲线 的绘制函数 它甚至还可以方便地将一二维图片伸展成三维立体图 因而可以方便地描述虚拟场景 并且算 法效率也很高 在很大程度上提高了三维图形的显示速度 由于 OpenGL 的使用使虚拟场景的数 据描述得以很好的解决 3 1 2 虚拟场景变换的实现 虚拟场景不仅要提供接近真实的 3D 界面 还应有很好的透视效应 既近大远小 能缩放 旋转 以增强图形显示的真实感 但又不能应此而破坏虚拟场景的连贯性和高效性 这就对场 景变换提出了很高的要求 OpenGL 图形库的变换包括模视变换和投影变换 利用这二种变换足以满足虚拟场景变换的 任何需要 模视变换是通过矩阵变换来实现的 每进行一次变换 OpenGL 会根据变换参数产生变换矩 阵 再右乘当前模视变换矩阵 从而获得新的当前模视矩阵 模视变换按产生的变换矩阵的不 同可分为平移 旋转 变比 镜像四种变换 投影变换的目的是将三维场景中的物体投影到二维平面上 投影变换定义一个取景体 该 取景体决定物体是如何投影到窗口平面上的 并且它还定义了哪些物体或物体的哪些部分从最 终的图像中剪切出去 投影变换同样是使用矩阵变换来实现的 与模视变换不同的是它使用投 影矩阵 投影变换有两种 一是透视投影 这种投影得到的效果与人眼观察世界的效果相同 另一种是平行投影 它的最大特点是无论物体距离视点多远 投影后的尺寸不变 3 1 3 图形的消隐技术 消隐是增加虚拟场景真实性的重要手段 目的是找出并消除要显示的物体中不可见的部分 不进行消隐的图形在物体的位置和形状等方面的信息是不完整的 会产生歧义现象 使观察者 产生错觉 用户在使用现场监控系统时必然会在其所提供的虚拟场景中不断移动 甚至还会从 一生产部门进入另一部门从而产生大幅场景画面的消隐 可是消隐算法要对虚拟环境中所有物 体的空间位置关系做大量的计算 以确定其可见部分 一般在无图形加速卡情况下 消隐比较 费时 因而算法的效率非常重要 OpenGL 本身提供了消隐的功能 既可实现深度暗示 Depth Cue 因此大大简化了整个 虚拟现实模块的开发 降低了系统的复杂性 且足以出色完成绝大多数情况下的要求 但若监 控的环境非常复杂 那就需要提高 CPU 的主频以加快计算速度来解决 或者添加一块支持 OpenGL 的图形卡用硬件来完成图形消隐等的计算 实践表明 采用增加图形卡的方法所产生虚 拟场景的效果可达到工作站的水准 3 1 4 虚拟场景动画的显示 动画按其产生的方式不同可分为静态动画和动态动画 静态动画是事先制作生成的固定序 列的动画 一般显示速度较快 画面比较精细 但动画不能根据用户的要求交互的变化 动态 动画是一边计算一边生成的动画 一般可灵活地根据要求实时地改变 使用范围广 交互能力 强 但在无专门图形加速硬件的系统中难以同时实现虚拟场景画面精细逼真和快速平滑显示 实现起来也较困难 这也就是在微机上难以使用虚拟技术的原因之一 比较两种动画方式的优 缺点 我们在绝大部分的虚拟场景中采用动态动画 以保证虚拟场景的交互性能满足用户的要 求 同时也在少部分特定的情况下使用了静态动画 以提高虚拟场景的整体画面质量和效率 3 1 5 虚拟场景的速度 对于虚拟场景的速度问题 用 OpenGL 提供的双缓存 Double Buffering 技术可以很好的 解决 双缓存即前台缓存和后台缓存 其中后台缓存主要进行计算和动画生成 前台缓存则负 责显示后台缓存已画好的图象 双缓存技术大大提高了虚拟场景的的连续性和运动性 基本消 除了闪烁现象 3 1 6 虚拟场景的真实感 要高质量的保证虚拟的真实感 颜色是关键 OpenGL 提供了 RGBA 和颜色索引 Color Index 两种颜色模式 这足以满足大多数的要求 此外 在现实世界里 材质是用光反射来表 示的 场景中物体最终反映到人眼的颜色是光的红 绿 蓝分量与材质红 绿 蓝分量的反射 率相乘后形成的颜色 因此 为了增加颜色的效果 还应使用光合成技术 OpenGL 提供了 4 种 光照 辐射光 Emitted Light 环境光 Ambient Light 漫反射光 Diffuse Light 和 镜面光 Specular Light 如需进一步增加虚拟的真实感 还可使用 OpenGL 提供的纹理映射 Texture Mapping 来表达物体表面细节 另外 OpenGL 还提供了融合 Blending 反走样 Antialiasing 运动模糊 Motion Blur 和雾 Fog 等 很好地利用它们显著提高虚拟 的真实感 综上所述 可以看出 OpenGL 非常适合在微机上进行虚拟场景的开发 但虚拟现实及图形技 术本身对开发人员有很高的要求且程序一般都很复杂 这使虚拟现实模块开发的工作量相当大 且不利于用户的二次开发 因而需要开发前对整个工程有很好的规划 并建立一定的程序的体 系结构 3 2 Visual C 实现虚拟设备类库 虽然 OpenGL 提供了大量的函数 可高质量的完成对虚拟场景的实现 但对开发者依然有很 高的要求 要求开发者具备计算机图形学 图像处理 空间解析几何等相关的知识 同时编程 的工作量也非常大 为了便于工程开发工作的细分 为了尽量减少工作量和程序代码的冗余 为了开发后期的检错和校验 同时也为了使用户二次开发变得轻而易举 因而 利用 Visual C 面向对象的特征 建立了虚拟设备图形库 用继承的方法 将具有共性的代码写入较底层较 抽象的父类中 而将描述各设备个性的代码放入较上层较具体的子类中 通过虚拟设备图形库 可使工作量大大降低 在完成了类库的建设后 一般对面向对象有所了解的程序员都可胜任开 发工作 例如要想在某条水管中添加一流量计以观测水流量 利用虚拟设备类库 程序只需两 行就能轻松实现 Flowmeter flowmeter size Waterpipe add flowmeter place 前一句通过虚拟设备类库中的 Flowmeter 流量计 类创建一个流量计记为 flowmeter 参 数 size 用来表征该流量计的大小 后一句在已存在的水管 waterpipe 通过 waterpipe 类定义 中加入该流量计 flowmeter add 函数负责这一动作 参数 1 表示加入的是流量计 flowmeter 参数 2 指明加入的位置 为了满足用户二次开发的需要 在类库的基础上又开发了一套可视化 环境 通过它 用户要实现在水管中加入流量计 只需用鼠标从工具栏将流量计拖出并放在背 景中要放的位置 然后在拖出的流量计的属性栏中添入一些属性值 流量计就能正常工作并不 断显示具体数据 4 系统的特点 1 虚拟场景的图形质量高 由于采用了 OpenGL 的光照 深度暗示等特殊图形处理效 果 使虚拟场景有较好的三维真实感 2 虚拟场景的实时性好 虚拟场景的动画大都为动态动画 大大提高了系统的交互性和真 实感 由于双缓存技术的采用 实时运动的速度完全可以达到虚拟场景的要求 3 易于用户二次开发 由于采用了 VC 的面对对象技术 建立了较完整的虚拟设备类库 使用户无须具备任何图形学的知识就可实现二次开发 4 控制实时性好 经实践鉴定 该虚拟场景对控制操作的响应速度和无虚拟场景下对同样 控制操作的响应速度基本不相上下 5 易移植性 本系统虽在 Windows95 下开发 但几乎所有图形部分的工作均
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抗血管生成酪氨酸激酶抑制剂在肉瘤患者中临床应用专家共识总结2026
- 2026 甘肃省宁县公路水运工程安全生产管理人员考试参考题库-含答案
- 2026 福建省德化县矿山提升机操作证理论考试参考题库-含答案
- 2023年四川省攀枝花市中考数学真题【答案】
- 工业窑炉常见试题与答案解析
- 吉林美术试卷题目与答案全览
- 雪孩子能力试题及答案
- 客运索道技能考核试题及答案
- 2026江苏南京大学XZ2026-278现代生物研究院助理招聘笔试模拟试题及答案详解
- 2026年随县网格员招聘笔试备考试题及答案解析
- 食品管理管理制度
- 《老年人辅助器具应用( 第2版)》高职全套教学课件
- 债权转让书协议范本完整版
- 妇科卵巢囊肿病历
- 市政工程工程简介
- 深圳民润农产品配送连锁商业有限公司验货员手册样本
- 2021锤击振动双管复合扩底桩技术规程
- 食材配送服务方投标方案(技术标)
- 羽毛球教案18课时
- 温病常用诊法舌诊课件
- GB/T 4995-1996联运通用平托盘性能要求
评论
0/150
提交评论