作者:程立辉,刘大成,金小伟,郑力
设备的远程监控是制造系统远程监控中的重要组成部分,包括对设备的运行进行监视和控制,对设备可能出现的故障进行预测,对设备已经出现的故障进行诊断等内容。
图形图像信息是人类认识世界、掌握知识的重要方法。资料表明人类从外界所获得知识,其中80%以上来自图形图像以及声音信息。因而在远程监控系统设计中,特别是面向设备监控中,较多地包含图形图像信息以及声音信息,包括现场的视频信息以及将各种传感器信息转换成比较容易识别的图形信息。
然而,由于图形图像等视频信息和音频信息的数据量非常大,严重阻碍了具有海量数据的信息在远程监控系统中的使用,特别是在基于Intranet/Internet的远程监控系统中的应用。因此,如何在只有较少信息量传输的情况下实现以视频和音频等多媒体信息为主要呈现方式的远程监控系统成为远程监控系统实现的主要原因之一。
本研究采用了传感器驱动的虚拟现实辅助监控的方法。虚拟现实技术是指综合利用计算机图形系统和各种现实及控制等接口设备,在计算机上生成的、可交互的三维环境技术,具有沉浸(Immersion)、交互(Interaction)和构想(Imagination)等三个基本特征。但由于这样的系统造价高昂,操作复杂,尚无法在普通的工作环境中得到应用。目前虚拟现实的含义有所拓宽,即使用半沉浸和非沉浸技术,通过显示器对三维物体进行浏览的系统同样可以被称为虚拟现实系统,从而在更大的范围中普及和应用虚拟现实技术。
JAVA 3D是Java语言在三维图形领域的扩展,是一组API(Application Programming Interface),可以创建基于Web的、与互联网结合的三维交互环境的场景。用户通过使用带有插件的普通浏览器,便可以观赏到由Java 3D创建的三维虚拟现实。由于Java 3D易于实现、适合网络传输,交互性好等特点,因此,对建立基于Web的三维可视化交互式应用提供了一种很好的解决方案。
1、基于虚拟现实的设备远程监控系统
如图1所示,虚拟现实辅助实现的设备远程监控系统可采用服务器/浏览器的模式。系统采用Java技术和Java 3D API虚拟现实技术实现。这主要是考虑到Java程序运行与操作系统无关的特性。远程监控系统主要分为客户端、服务器以及现场设备等3个层次。
图1 基于虚拟现时的设备远程监控系统
1.1 客户端设计
客户端采用增加插件的通用网页浏览器,它是监控系统用户的工作界面。页面主要包括设备的三维模型、设备运行参数显示、设备控制、共享讨论区等模块。
当用户经过身份验证进入监控系统后,用户选择所要监控的设备。这时,页面将显示用户所选设备的三维虚拟图像以及设备运行的相关信息。本文中,我们实现了抓取机器人的浏览器监控画面。
1.2 服务器设计
服务器主要包括网络服务器、应用程序服务器以及数据库服务器等。网络服务器主要负责相关的发布,网络通讯的安全等方面的内容。应用程序服务器主要负责以下工作:①采集现场设备的多种传感器信息,并将信息一方面存储在数据库中,另一方面通过网络服务器发布;②获取从网络服务器得到的相关设备的控制信息,经过分析确认后对现场设备进行控制;③从数据库服务器中查询设备的历史信息,实现设备历史运行的再现。数据库服务器主要存储设备监控的历史信息、设备的三维模型数据等内容。
1.3 现场设备
现场设备是指那些现场存在的、需要实现远程监控的设备以及其他相关设备。现场设备与服务器之间的通讯主要取决于设备本身的通讯能力。对于具有网络通讯能力的设备,主要采用网络通讯手段,应用TCP/UDP等技术;对于没有网络通讯能力,但具有计算机串并口通讯能力的设备采用计算机串并口通讯技术实现通讯;对于不具备以上两种通讯能力的设备,可以考虑采用开发单片机等方法实现通讯。
2、JAVA 3D模型
JAVA 3D是Java语言在三维图形领域的扩展,是一组API,即应用编程接口。本文利用Java 3D提供的API,构造了传感器数据实时驱动的机器人运动的三维模拟软件。
Java 3D的场景图是DAG图(Directed-acyclic Graph),类似于一种树形结构,上面的分枝并不对称,其中每一个节点均为对象,称为节点(Node)。不管什么节点,都是Java 3D类的实例,节点之间的连线则代表对象之间的父子或引用关系。见图2。
图2 机器人的三维场景图结构
Java 3D的场景图中,最底层(根部)的节点是Virtual Universe,每一个场景图只能有一个Virtual Universe,就像一棵大树的根。Virtual Universe的上面是Locale节点,每个程序可以有一个或多个Locale,但只能有一个Locale处于显示状态。绝大部分程序都只有一个Locale。每一个Locale上面拥有一个到多个BranchGroup节点。一般说来,要想建立三维应用环境,必须定义所需要的形体(Shape),给出形体的外观(Appearance)及几何信息(Geometry),再把它们摆放在合适的位置。这些形体及其摆放位置都是由相应的节点给出的,他们必须摆放在BranchGroup节点上面,摆放的具体位置由节点TransformGroup设定。另外,摆放好三维形体之后,还需要设定具体的观察位置及观察参数如视角。完成了这些工作,就算完成了三维场景图的建立。
在虚拟现实辅助的设备远程监控系统的设备监控画面中,Reset、Move Up、Move Down、Move Right、Move Left、Zoom In、Zoom Out等功能键的作用分别表示控制虚拟三维物体恢复到系统默认视角、俯视、仰视、左视、右视、虚拟物体放大、虚拟物体缩小等功能。功能按钮旁边的绿色显示标志表示设备目前运行正常,如果设备的运行出现异常甚至发生故障时,显示标志将分别显示橙色和红色。在虚拟视窗下面的SelectMode下拉列表中可以选择设备的运行方式,包括实时的设备监视、设备运行状态的历史回顾以及设备的远程控制方式。Robot Procedure File的功能是当机器人的工作方式选择为控制方式时,通过发送控制命令文件实现设备的远程控制。监控页面的右上部分的Select Sensor和Sensor Data组合起来,为用户查询各种传感器信息提供了方便。页面右下角的Chat Room为设备监控的共享讨论区,为系统用户提供了方便的交互手段。
3、结 语
采用虚拟现实辅助的设备远程监控系统为用户提供了非常方便的设备监控平台。综合采用Java技术和Java 3D虚拟现实技术,首先可以实现监控系统的跨平台运行;其次,通过采用设备传感器驱动的Java 3D虚拟现实模型的方法,一方面实现了设备运行状态和运行信息的图形图像化描述,另一方面由于通讯网络中传输的只是设备相关的各种传感器信息,与图形图像信息相比较,所需传输的信息量大大减少。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !