虚拟现实技术在法国航母设计中的应用

2013-08-26 02:47
舰船科学技术 2013年7期
关键词:应用程序代理航母

于 雷

(中国舰船研究院,北京 100192)

0 引言

除了现有的“戴高乐”号航母外,法国海军计划建造第2艘航母。为此,法国海军列出了新航母的功能需求并委托法国DCNS集团设计这艘航母。新航母设计的主要困难在于航母上航空管理设计。航空管理用于规划航母上不同飞机、车辆和人员等执行飞机弹射起飞或着舰、加油等作业时的移动过程。法国海军提出的有关新航母航空管理方面的需求限制了一定时间内飞机的出动架次及其可执行任务的数量。航母航空管理设计问题就变成了如何在考虑航母拓扑结构的前提下最优化地安排航母上任务执行流程。要最优化地安排任务执行流程,可以使用时序限制问题求解工具软件,但还需要考虑任务执行所处的物理环境的限制。将航母设计得更大固然能减少任务执行过程中的时序限制,但也加大了实际的建造成本;反过来,将航母设计得更小就能减少建造成本,却带来了更多的时序限制。航母设计就是要解决这样的空间和时序限制问题,而使用三维仿真软件和时序安排工具软件就可以更方便地解决这些问题。

为了解决以上空间时间规划问题,法国海军使用了一种名为GASPAR的虚拟现实工具[1]。该工具能够模拟虚拟航母环境中自主作业程序的执行,并随时评估设计改变对航母性能的影响。

1 GASPAR的基础库

1.1 AR'EVI库

AR'EVI库1为GASPAR提供虚拟现实应用所需的功能。这些功能的主旨就是在交互式三维环境(仿生、道路交通环境和训练工具等)中激活多个自主行动的互动实体。

AR'EVI库的特性如下:

1)实体调度:通过异步和混沌迭代管理自主行动实体活动的调度。

2)消息通信:AR'EVI库提供异步消息服务。

3)三维服务:包含一个高层次的三维库。这个三维库掩盖了绘制过程的技术细节,允许用户在一个接近于描述真实场景层面的抽象层面上表示模型。

4)分布式仿真:不论在初始开发阶段是否具有分布性设计,使用AR'EVI库的仿真应用程序可方便地分布在多台机器上执行。

5)仿人机器人:AR'EVI库的hLib库(“仿人机器人库”)提供人物的可视化和控制工具。

AR'EVI库解决了GASPAR仿真应用中的虚拟现实问题,但还不能分析实时发生的事件,因此还需要更高层次的库来实现仿真。

1.2 信息化虚拟环境

借助AR'EVI库实现了环境和飞机流的现实和交互式实时仿真,GASPAR仿真应用还需要对这些事件流进行推理和分析。推理和分析应在信息化虚拟环境[2]中完成,这需要借助环境模型VEHA和飞机流模型MASCARET。

1.2.1 环境建模

这里所说的环境,是指仿真中的对象全体。例如,航母由甲板和舱室构成。这2个层次之间的转移是通过2台升降机实现。“阵风”战斗机停在航母甲板上,而“阵风”又是由机头、机翼等部件组成。使用UML语言描述上述这些概念,等同于创建了一组类,以及类的属性和链接,而虚拟环境的对象就是这些类的实例。

环境模型VEHA模型的作用是在环境中添加必要的代理程序行为信息 (例如智能对象)[3],并推动行为分析。因此,如同智能对象一样,对象表达了如下概念:①几何形状;②活动 (在VEHA模型中称为“作业”);③用于活动的信息化点;④表示属性和链接的变量;⑤利用状态机表示的行为。

VEHA模型将类的概念具体化。1个类由属性、操作和状态机构成。VEHA模型也将类间的链接(继承和联系)具体化。1个类也有链接。首先,1个类可由1个或许多个类继承而来,这使得它也获得父类的所有特性 (属性、操作、状态机和联系)。此外,这个类可能和其他类有联系。这些联系可是组成关系,或者是简单的知识关联。例如,在GASPAR应用程序中,飞机由许多轮子、2个机翼和驾驶员座舱构成,还包括飞机所在高度 (甲板或舱室)以及区域 (如停机区)。仿真环境中被具体化的信息,可用于现象解释和操作实现。

1个类也有操作。通常,1个操作由原型、前置条件和后置条件描述。这种表现方式足够代理程序处理操作。不过,VEHA模型可以用UML活动图表示1个操作,这使得对1个操作工作方式的推理变得更为精细,即更好地理解操作的功用。

VEHA模型不仅能够表示系统的静态结构,还能分析环境的动力学。每1类由1个或多个状态机构成。这意味着以某种方式描述1个实体 (对象)的全部状态以及这些状态之间的转换条件是可能的。状态机在仿真中将被自动解释。在VEHA模型中,1个状态机由状态和转换构成。1个状态指的是当状态变为激活或不活跃时应当执行的操作。1次状态转换拥有1个警戒条件,可对1个事件作出反应。警戒条件是1个将在仿真期间受到检测的布尔表达式。VEHA模型,提出用1个对象约束语言 (OCL)约束解释器描述警戒条件。具体地说,这意味着计算机专家和领域专家使用UML语言的状态机描述实体行为,而不需要代码实现这个行为。实体一旦被解释,将在事件触发的同时自动改变自身状态。状态和转换在仿真中得到明确地表示,这使得代理程序可能对处理对象的方式进行推理。代理程序可能理解改变对象状态的条件以实现操作。代理程序要改变环境以使得条件变为TRUE。

1.2.2 作业过程组织建模

VEHA模型使用UML元模型[4]表示作业过程执行的环境,而MASCARET模型通过解释UML元模型语义描述表示组织和作业过程的概念。组织被看作有组织的结构。按照自动代理程序在组织中扮演的角色,这种结构确定了自动代理程序活动的实现框架。MASCARET组织性模型指定并执行了类似于Ferber提出的AGR4模型[5]的模式。该模型有4个重要概念:代理程序、组织、角色和活动。代理程序是具备通信能力和行为整体的一个环境实体 (和对象一样)。为了令代理程序对结构进行推理,需要对组织进行表达。代理程序扮演的角色是所要执行的活动整体。最后,活动是一个虚拟环境的框架内部对于代理程序自身或者对于环境对象的操作实现,它可以是一个动画和声音实现,或者是声音的实现,也可以仅仅是时间的消耗。

组 (即继承自组织的类)由它的组织性结构(构成组的不同角色)和它可实现的过程 (例如为“阵风”战斗机加油)整体描述。使用活动图可以对一个过程进行描述和解释。MASCARET模型[6]提出了一种基于UML活动图的过程模型。这种图表的表现力足够描述调度实例整体,也能足够清楚地用于计算机专家和领域专家之间的对话。一个过程按角色(对应组织中的角色)排列,每个角色可由一个特定类型的代理程序扮演。外部资源被引入到过程中 (待加油的飞机、待使用的阻拦设备等)。人们用环境对象表示这些资源,也从对活动图的解释中推断它们。一个过程组织了一个角色的活动,即它描述了活动的逻辑和时间顺序。通过这种方式,几种运算符被用于活动图,如平行运算符、同步运算符和条件运算符。所有这些运算符都由MASCARET模型操作。

一旦过程得到描述,代理程序必须按特定行为执行被选中的过程。在过程的开始,每个代理程序复制这个过程。接下来,代理程序执行过程并实现应当进行的活动。通过在每个活动执行的开头和结尾发送消息,代理程序使得彼此能同步执行。过程行为算法使得用户能动态控制一个代理程序。代理程序仍将继续推动过程发展,但会令用户执行应进行的活动。这样,当用户停止控制时,代理程序将在用户停止处继续执行这个过程。

2 GASPAR应用程序

2.1 程序的结构

GASPAR应用程序用于仿真航母上的活动。该应用程序使用类属模型,即应用程序中环境的结构、对象或组织及过程都由一个UML模型描述。GASPAR应用程序的UML模型被划分为3个包:组织包 (organizations package)、环境包 (environment package)和代理程序包 (agent package)。其中,环境包描述构成环境的所有种类的对象 (类)。环境包由VEHA模型解释。代理程序包表示一个代理程序将扮演的不同类型的角色。这些角色对应于诸如弹射起飞或着舰这样的真实过程中定义的角色。一个角色由几种表示代理程序可执行操作的方法构成。代理程序不能执行另一个代理程序应执行的活动(能力概念)。组织包描述航母上不同的组、构成组的角色和这些组可执行的过程。参与这些过程的角色对应于代理程序包定义的代理程序类型。

2.2 程序的用法

GASPAR应用程序最初的开发目的是仿真航母上作业过程以验证飞机事件流。该仿真必须证明一定数量的“阵风”战斗机能在一定时间内 (该时间由法国海军确定)在航母上完成弹射起飞。

1)建立应用程序的模型即环境组成要素、人员角色和过程中活动的安排等;

2)仿真每个过程,以判断航母的几何外形是否容许每个实体移动。仿真的过程如下:①飞机着舰;②飞机弹射起飞 (见图1);③后方的飞机调运 (见图2);

仿真也能控制人员是否遵守安全区域限制规定(见图3);

3)仿真还能验证过程的时序是否正确。若每个车辆或飞行器的速度真实,活动的实现时间也真实,就能精确知道一个过程的持续时间;

4)该应用程序使得用户能分享一个代理程序的观察点。以这种方式,用户能够确保每个代理程序能“看到”用户应当观察到的东西 (见图4,没有观察盲点);

图1 舰载机弹射起飞Fig.1 Catapult-launching

图2 航母上后方飞机调运Fig.2 Rear spotting

图3 “阵风”战斗机的安全区域Fig.3 Security areas of the Rafale

图4 代理程序在航母控制塔中的观察点Fig.7 Point of view of an agent in the control tower

5)在仿真期间,每个代理程序的各个活动均记录在一个文件中。这使得对人员活动的事后分析成为可能。GASPAR应用程序有一个分析工具。该工具可以用条状图和饼图表示代理程序的活动或资源的活动。凭借这个工具,用户能验证是否存在代理程序或资源可用性方面的“瓶颈”。

6)为了测试不同的配置,仿真是交互式的。例如,改变一个对象的状态或触发一个代理程序的活动是可能的。这使得不使用过程而对活动进行测试成为可能。当引入异常时,也能对突发过程的触发进行测试。例如,若仿真中偏流板不能在弹射起飞过程中打开,飞机停止弹射。如果在这种情况下有一个突发过程发生,用户可动态地对它进行测试。

3 仿真结果和验证

使用GASPAR应用程序,用户能验证几个要点。首先,虚拟环境中过程的仿真使得航母设计几何方面的验证成为可能,分为以下2点:

1)航母的整体尺寸。该尺寸可通过飞机和甲板上设备位置及其移动的不同配置给出。

2)甲板上建筑形状和舰岛 (控制塔)位置。例如,若航母需要双舰岛,且原设计中导航舰桥和飞机控制舰桥均在前部舰岛上,在仿真中进行了相应设置后,代理程序观察点仿真结果显示飞机进近期间后部舰岛对前部舰岛上的舰桥有干扰,此时就需要改变原设计,将飞机控制舰桥移到后部舰岛上。

GASPAR应用程序也可以用于验证如下过程:

1)每个过程的有效持续时间。

2)人员移动。例如,在一个过程中确保无人闯入安全区域。

3)甲板上人员、航母上的舱室和舰桥的可见性。

4 结语

本文介绍了GASPAR应用程序。该应用程序基于AR'E VI库和MASCARET库。AR'E VI库使得自主代理程序在交互式虚拟环境中成为一体。而MASCARET库可对复杂代理程序组进行分配和管理。使用MASCARET库的优点是应用程序执行时无需使用代码以在环境中添加对象、新的过程和新的场景等。

法国新航母的设计单位DCNS集团无需计算机专家,就能用GASPAR应用程序设计航母。由于GASPAR应用程序已经被测试并验证了几个关键点,DCNS集团能使用GASPAR验证航母的最终外形及航母上发生的所有过程。此外,GASPAR应用程序还被用于设计法国“西北风”级两栖攻击舰。

[1]BUCHE C,BOSSARD C,QUERREC R,CHEVAILLIER P.GASPAR:Aviation management on aircraft carrier using virtual reality[Z].Actes de la conférence Cyberworlds 2007.

[2]BUCHE C,QUERREC R,DE LOOR P,CHEVAILLIER P.MASCARET:A pedagogical multi-agent system for virtual environment for training[J].International Journal of Distance Education Technologies(JDET),2004,2(4):41-61.

[3]KALLMANN M.Interaction with 3-d objects.In N.Magnenat-Thalmann and D[M].Thalmann,editors,Handbook of Virtual Humans,JohnWiley & Sons,first edition,2004.

[4]BOOCH G,RRMBAUGH J,JACOBSON I.The unified modelinglanguage userguide[M].Addison-Wesley Reading Mass,1999.

[5]FERBER J,GUTKNECHT O.A meta-model for the analysis and design of organizations in multi-agent systems[M].In ICMAS’98.IEEE Press,1998.

[6]QUERREC R,BUCHE C,MAFFRE E,CHEVAILLIER P.Multiagents systems for virtual environment for training.application to fire-fighting[J].International Journal of Computers and Applications(IJCA),2004,1(1):25 -34.

猜你喜欢
应用程序代理航母
航母召唤,舰载机返航
删除Win10中自带的应用程序
航母的“带刀侍卫”
谷歌禁止加密货币应用程序
复仇代理乌龟君
108名特困生有了“代理妈妈”
胜似妈妈的代理家长
一个村有二十六位代理家长
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序