基于HLA深水水下作业虚拟现实仿真平台优化

2021-09-06 07:32陈从磊赫东海段梦兰王莹莹
中国海洋平台 2021年4期
关键词:联邦虚拟现实架构

陈从磊,赫东海 ,段梦兰,王莹莹

(1.中国石油化工股份有限公司 石油勘探开发研究院,北京 100083;2.中国石油大学(北京)海洋工程研究院,北京 102249)

0 引 言

近年来,油气勘探、开发技术的发展与陆上油田可开采性的下降使人们逐渐将目光转移至海洋石油开发,但由于海洋环境的特殊性、复杂性与不可预知性,海洋石油勘探开发的研究具有一定难度[1]。现场试验法的实施难度大、成本高、可操作性差,限制了其在海洋石油工程技术研究中的推广应用;由于人类关于海洋复杂环境的研究尚不全面,虽然水池模型试验法的可行性较好,但试验结果的准确性与可用性有待论证。因此,最常用且较为可靠的方法即为计算机仿真模拟法[2]。

作为工程作业仿真平台,系统的交互操作性是需要关注的问题,虚拟现实技术的兴起为其提供了重要技术支撑平台。与传统仿真平台或虚拟现实平台相比,虚拟现实仿真平台具有良好的交互性与互操作性、拓展性与移植性和全生命周期等。这些特点将显著增加对系统平台各方面性能的要求。现今的研究更多的是关于虚拟仿真分析或基于虚拟现实技术的工程实例演示[3],并没有对系统的多因素协作性、可拓展性进行研究。作为重用性与互操作性表现突出的先进仿真系统架构,高层体系架构(High-Level Architecture,HLA)的提出为复杂仿真系统平台搭建提供了有效的解决方案[4],但以如何应用HLA搭建多节点仿真平台框架研究为主,并没有对系统平台人机交互性进行研究。

本文根据虚拟现实仿真系统平台的特点,针对水下工程作业实例——水下跨接管连接器密封圈更换的应用,提出一种基于HAL、面向多客体的虚拟现实仿真平台构建解决方案,并对其进行优化。给出较详细的系统平台设计原则与框架构建方案,对相关优化技术的应用进行说明,分析跨接管连接器密封圈更换操作的具体工艺流程、实施步骤,并得出具体仿真结果。

1 系统的功能模块系统与设计原则

1.1 系统的功能模块系统

以水下工程作业模拟仿真系统[5-6]为基本设计出发点,应用虚拟现实技术作为系统平台表现载体,本系统平台应具备以下功能系统,如图1所示。

图1 虚拟仿真平台功能系统关系图

(1)水动力仿真系统。主要对水下结构物的几何模型及物理模型等进行碰撞检测、流体接触、连接干涉等多体动力学参数解算。

(2)水下作业工具运动仿真系统。针对水下结构物的几何模型进行运动响应分析,包括模型的几何方位、运动轨迹、运动状态等。

(3)半物理仿真操作子系统。该子系统是连接外部操控系统与内部运算系统的桥梁。训练员通过视景显示系统接收运算结果,分析并通过半物理仿真子系统进行下一步操作。

(4)视景显示系统。主要由多个图形渲染服务器、硬件显示终端构成,对操控模型、环境、地形等进行图形渲染,营造虚拟现实的沉浸式操作氛围。

(5)教练员站。负责对整个系统的全生命周期运营状况进行实时把控,包括:科目管理、环境参数设置、运行管理、场景控制、成绩考评等。

1.2 系统架构设计原则

根据虚拟现实仿真平台特点,在保证其交互性、移植性和重用性的同时,结合水下工程作业实践要求,在进行软件架构设计时,应遵循如下原则:

(1)最大化服用原则。设计时应保证各组织模块互联互通性良好,适应多点服用、交叉服用的要求,物尽其用,达到服用最大化。服用包括构件的服用和设计模式的使用等多方面。

(2)复杂问题简单化原则。对于一个庞杂的软件系统,协调各模块之间的关系尤为重要,良好的架构体系能使复杂问题显著简化。

(3)灵活扩展性原则。系统架构应具备灵活的可扩展性,以便用户可以在原架构上进行二次开发或更加具体的开发。

2 系统平台功能模块划分与架构搭建

根据第1节提到的系统功能部署与基本设计原则,提出软件模块划分方案,完成海洋工程虚拟现实仿真平台基本系统架构搭建,具体如图2所示。

图2 系统平台功能模块

2.1 设备模型管理模块

设备模型管理模块主要分为设备模型库和设备运行库两部分:设备模型库用来存放绘图软件生成的三维模型;设备行为库用来存放相关模型的基本动作,如一些不需要变化的粒子效果、物体的固定行为运动等。如果采用分布式场景视图,需确定可分享的节点和静态的节点。

2.2 仿真控制系统模块

仿真控制系统模块主要充当教练员站的角色,主要进行场景编辑、场景动画控制等。场景编辑根据知识描述模块传递的知识选择加载模型、删除模型等功能(屏幕显示的场景区域的选择)。场景的动画控制根据知识描述设置场景中模型的更新回调以实现符合要求的动画效果。

2.3 虚拟现实模块

虚拟现实模块为训练者提供一种全方位的立体沉浸式感觉,从听觉、视觉到触觉,再到场景漫游,给训练者全程全面的体验感。视觉效果通过使用VP等软件渲染三维场景,将其主动立体投影在180°环幕上显示沉浸式三维场景来实现。听觉效果使用VR软件中自带的三维立体音效插件在立体音响上的播放来实现。场景漫游基于硬件设备,与软件成像效果融合,实现对整个场景的漫游。

2.4 数据接收模块

数据接收模块主要完成数据接收、数据协同和数据发送等操作。首先,系统从实时数据库获得数据;然后,通过数据协同保证相近时刻产生的数据在接收时间上不会产生太大的误差;最后,把协同后的数据发送到知识描述模块。

2.5 知识描述模块

知识描述模块主要对过程知识和控制知识进行描述。虚拟仿真工程作业中的操作流程可以分解为若干个操作步骤,每个操作步骤又可分为若干个动作元素,这种自定向下的方法是常用的过程知识描述方法。控制知识描述采用基于产生式规则的控制型知识描述方法,产生式是当前专家系统中重要的知识表达方法,用于表达具有因果关系的知识。其基本形式是前提—结论。相应的规则包括:逻辑关系规则(操作—动画)、操作环节规则(判断操作属于哪一个训练过程)、操作有效性判别规则。

2.6 教练员输入模块

教练员可通过自然语言的形式确定水下作业过程的每个环节的操作,并制订评分标准,将这些信息存入数据库中。教练员站提供的功能模块有系统运行管理、科目设置、场景控制、环境参数设置等。

2.7 考评模块

考评模块的主要任务是对训练员的操作数据进行处理、分析并给出考评结果。主要组成部分是考评知识库与推理机:考评知识库存放标准的操作规则知识;推理机判断操作数据的准确程度。

2.8 培训、考核人员输入模块

培训、考核人员输入模块主要包括无人潜水器(Remote Operated Vehicle,ROV),单常压潜水系统(Atmospheric Diving System,ADS)输入接口,以及起重机和绞机输入接口。

2.9 实时计算模块 Vortex

实时计算模块用于水下动力学数据的实时计算,并把计算结果传递至视景仿真模块,主要基于Vortex等软件。水下作业虚拟现实仿真系统需要充分模拟海洋动力学特性,以获取尽可能接近真实的水下操作过程的动态响应特性和三维视景。在仿真过程中,需要海洋水动力、设备动态响应和受力分析数值计算程序。

此基本架构能够完全满足系统的基本功能需求,但实时性与互操作性问题还有待解决,层级结构仍有一定细分空间。下面就以上问题进行系统架构优化。

3 系统平台架构关键技术优化

3.1 基于主控层与多层技术的优化

软件系统平台功能性的增加必然导致功能模块的数量与关系复杂程度加大,最终导致系统架构繁复凌乱,无法满足性能要求。在此情况下,运用分层技术能够良好地解决此类问题。

基于主控层与多层技术,针对水下工程作业虚拟现实仿真平台进行优化,如图3所示[7-8]。将系统平台分为3层:数据层、逻辑层和应用层。数据层主要借助核心图形引擎,对来自外设的输入数据与来自应用层和逻辑层的运算结果输出数据进行成像处理,将数据以图像形式展现。逻辑层主要是对虚拟现实沉浸式场景的搭建,对场景的控制也是对各研究对象(包括环境与结构物)间逻辑关系的控制。应用层是对水下工程作业仿真任务全生命周期体系的功能性组块集成,从三维建模、OPC(OLE for Process Control)开发,到应急决策、评分系统,但各组块的时间与物理逻辑关系由逻辑层控制。

图3 基于主控层与多层技术的优化架构

经过基于主控层与多层技术的优化,控制流与数据流自上而下,整体性佳,层次分明,不但简化设计与开发,更使系统的重用性、移植性、拓展性及二次开发性得到有效的改善。

3.2 基于HLA技术的优化

HLA[9-12]是美国提出的支持软件与模型可重用的分布式交互仿真开发标,HLA主要由3部分组成:规则、对象模型模板(Object Model Template,OMT)和接口规范。规则描述了联邦和联邦成员的职责,是仿真实现正确交互的基础;OMT定义描述HLA对象模型的通用方法,提供标准的格式记录HLA对象模型信息,以提升仿真应用的互操作性和重用性;接口规范以服务的方式定义联邦成员间进行信息交互的方式,包括可调用的服务和应提供的回调服务。

HLA 定义一种软件体系结构,而非软件实现程序。运行支撑系统(Run Time Infrastructure,RTI)作为HLA 仿真应用的基础软件层,是HLA 的具体实现系统。RTI 使仿真应用与底层通信相分离,在仿真执行过程中负责联邦成员间的信息交换。图4为HLA联邦系统结构示例。

图4 HLA联邦系统结构示例

水下工程作业虚拟现实仿真系统是基于水体动力学的实时仿真系统,需要模拟复杂的海洋水下动力学环境。借助物理仿真引擎,可实现动力学仿真效果,需要将动力学仿真与视景仿真相结合。如果直接将两者融合,耦合度太大,难以满足分布式仿真系统对重用性、互操作性与扩展性的需求,因此提出基于HLA仿真技术的仿真系统相结合、动力学仿真与视景仿真相融合的分布式仿真方案。

3.2.1 总体架构设计

根据水下工程作业虚拟现实仿真系统的需求,对仿真系统的总体架构进行设计,如图5所示。水下工程作业实例通常包含多个场景操作的结合。根据作业场景的不同,将系统架构划分为水面生产系统子场景、水下生产系统子场景、设备下放与回收子场景、水下维修作业子场景等部分。通过中央控制节点对各部分的协调管理,实现各仿真子场景的协同推进。整个系统基于HLA1516标准,通过RTI软件使分布于网络的各子系统协同仿真。

图5 海洋工程虚拟现实仿真平台架构总图

在各作业子场景中,将动力学计算节点设计为局部协调者节点,通过Vortex RTI中间件,实现物理仿真引擎与视景仿真引擎之间的交互,实时驱动视景仿真推进。其中,CRC是中央RTI组件,LRC是本地RTI组件。

在各作业场景中还设有相关的物理操控设备和仿真操作监控节点。通过物理设备管理单元实现物理操控设备与虚拟仿真系统的互连。操作员可通过物理操控设备实时操控维修工具仿真模型,并依据监控节点的提示信息对维修操作进行实时更正,从而提高培训质量。

3.2.2 联邦成员划分及功能定义

水下工程作业虚拟现实仿真系统是由多个联邦成员构成的开放的分布式仿真系统,可实现多个作业仿真,整个系统具有可扩充性,其联邦成员总体划分为7个联邦成员,分别为教练员站中央控制成员、作业场景仿真成员、起重机仿真子系统成员、绞车仿真子系统成员、ROV仿真子系统接口成员和2个扩展成员。图6为系统联邦成员划分。

图6 联邦成员划分框架

水下工程作业虚拟现实仿真系统的7个联邦成员根据系统的仿真需求,具体功能如下:

(1)教练员站中央控制成员。该联邦成员的主要功能是对仿真联邦进行管理和对仿真流程进行控制,其中,联邦管理包括联邦执行的创建、撤销,联邦成员的加入、退出、同步等,仿真流程控制包括对作业初始化参数的配置,对操作员站的监控和管理以及对整个仿真流程的控制如仿真的暂定、重演和回放。

(2)作业场景仿真成员。该联邦成员的主要功能是实现整个水下维修作业场景的演示,包含所有的生产系统、作业工机具仿真模型、环境模型。在每个仿真步长里完成动力学结算,并且将动力学结算结果通过HLA传输至订阅该参数的联邦成员。

(3)起重机仿真子系统成员。该联邦成员的功能主要是在起重机模拟操作台实现绞车操作场景的演示,包括跨接管、法兰等多种设备与维修工具,并接收作业场景仿真成员的动力学结算结果显示设备的位姿。

(4)绞车仿真子系统成员。该联邦成员的功能主要是在绞车模拟操作台实现绞车操作场景的演示,其操作流程与起重机仿真子系统成员类似。

(5)ROV仿真子系统接口成员。该联邦成员的功能主要是与ROV仿真子系统的交互和ROV操作场景的演示,通过桥接技术实现多联邦互连。作业场景仿真成员根据获得的位置和姿态数据实现对ROV维修过程的仿真,根据各仿真成员的需求,发送ROV操控命令。

(6)扩展成员。该联邦成员主要作为预留的联邦成员来提高系统的扩展性。

3.2.3 FOM/SOM的设计

联邦对象模型(Federation Object Model,FOM),用于联邦执行创建,其目的在于确定和统一各成员之间信息交互格式和通信协议,以确保信息的准确性、一致性,各成员能够正确地实现互操作。FOM建立了成员间实现互操作所必需的信息模型协议。

仿真对象模型(Simulation Object Model,SOM),用于联邦成员创建,其目的在于描述联邦成员对外界信息的需求及其向外界提供信息的能力。其描述系统在包含确定的对象类及交互类的情况下,与外界进行信息交换的公共接口。SOM是单个仿真成员在联邦运行过程中可提供给联邦的信息及其需要从其他仿真成员接收的信息的规范化描述。

FOM、SOM中的数据主要包括对象类、交互类和描述这些类的属性或参数的说明:(1)对象类结构表记录成员或联邦的所有对象类名称并描述该类的继承关系;(2)交互类结构表记录成员或联邦的所有交互类名称并描述该类的继承关系;(3)属性表详细说明成员或联邦中对象属性的特性;(4)参数表详细说明成员或联邦中交互参数的特性。

4 系统平台具体实例

某水下管汇跨接管连接器泄漏,对连接器密封圈更换的工程作业进行虚拟现实仿真实例实操演示与分析[13]。

在假定工况下,ROV下放入水至事故发生地点,检查跨接管原油泄漏是跨接管连接器密封圈损坏所致。经过知识描述模块调用相关工程实例工艺储备知识,解算出针对本工程实例所处假设条件下的具体工艺操作流程。密封圈更换作业操作工艺流程分为7个部分:下放ROV及工具篮,下放连接器安装工具,打开跨接管连接器,用密封圈更换工具更换密封圈,密封圈更换完毕,锁紧连接器(包括二次锁紧),密封圈外压测试,回收ROV与工具篮及连接器安装工具。

本实例模拟仿真贯穿作业始终,包括事故检测、应急报警、事故原因确定、停止生产、维修操作、维修后试压、生产运营等。其中,相关参数的设置如图7所示,演示场景如图8所示。

图7 水下跨接管安装相关参数设置

图8 操作场景演示多维图

软件系统平台的测试与评估是验证水下工程作业虚拟现实平台性能的唯一途径。在本实例中,主要对图形控制单元、音频控制单元和网络通信单元进行测试与评估。其中,网络通信单元是验证软件系统平台稳定性、可靠性的关键。表1为测试结果,吞吐量单位为字节,表1中200 MB表示吞吐字节数。测试结果表明,系统平台网络的流通性、实时性、稳定性良好,能够达到良好的互操作性、最大服用性等设计目标。

表1 网络通信单元测试结果

5 结 论

随着虚拟现实技术的发展,其工程应用价值日益凸显。作为一个庞大的技术系统,虚拟现实技术与仿真系统的完美结合是一个难题。结合水下工程作业实例——水下跨接管连接器密封圈更换,给出一种基于HLA的虚拟现实仿真平台搭建解决方案。经过系统模拟实践,能够验证其合理性与可靠性,对此类系统平台的搭建具有一定的指导意义。

猜你喜欢
联邦虚拟现实架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
一“炮”而红 音联邦SVSound 2000 Pro品鉴会完满举行
303A深圳市音联邦电气有限公司
WebGIS架构下的地理信息系统构建研究
REALITY BITES
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
一种基于FPGA+ARM架构的μPMU实现
20年后捷克与斯洛伐克各界对联邦解体的反思