专利名称:面向动态实体的分布式虚拟环境描述语言及其解释方法
技术领域:
本发明属于计算机虚拟现实和计算机图形学技术领域,特别是涉及一种基于动态对象的分布式虚拟现实计算机系统描述语言及其解释方法。
从完成虚拟演练的角度出发,在构建虚拟演练过程时需要具有以下的一些模型和软件演练的需求、地形模型库、各种动态实体的几何模型及其各级毁伤模型、人在回路的动态实体仿真程序、各种计算机生成角色程序、分布式环境下的网络通讯软件、虚拟环境的实时观察和监控工具和演练后的分析工具等。
在以上的这些内容中,演练的需求较为基础,其他资源的开发都是围绕它来进行的,而且这些资源相对于不同的虚拟的演练而言可以看作不变量,是较为通用的构件,可以根据需求的不同,将完成某次演练的各种环境因素如时间、地点、涉及的实体的任务进行描述,并赋予动态实体不同的任务和角色,从而完成不同的演练。通过这样一种方法,我们可以充分利用各种已有的资源,快速的构建分布式虚拟环境。
构造虚拟现实系统的一个重要步骤就是构建环境中的各种实体的几何模型、定义环境中一致的时间空间信息及对动态实体在环境中的各种行为进行预先的设定。虚拟现实开发系统是完成这一步骤的有效工具。一个典型的虚拟现实开发系统通常采用一个三层的概念模型。这一概念模型中,最底层是各种开发工具软件包,它们为构建一个虚拟现实系统提供了基本的支持。这些工具通常包括图形建模工具与绘制软件包、网络通讯软件、通用的应用程序框架和基本几何图元库等,利用它们可以完成各种实体的几何建模及应用程序的编制工作;对象建模语言处于概念模型的中间层,为虚拟环境中的动态实体提供了一个一致性的描述模板,它说明了环境中动态实体的几何属性、物理属性及行为属性;虚拟环境管理器和环境描述语言处于这一概念模型的最高层,环境描述语言说明了虚拟环境的特征,虚拟环境解释方法根据环境描述语言中对整个虚拟环境特征的描述生成各种配置文件。
在目前的虚拟现实系统的研究及开发中有多种描述性语言,这些语言大多处于对象建模语言这一层次或介于环境描述语言与对象建模语言之间。在对象建模语言中较有代表性的是基于几何模型的描述语言,如VRML(虚拟现实建模语言)。由于构造虚拟环境需要利用计算机图形学的方法将现实世界中的物体在计算机中加以建模并绘制,所以基于几何模型的对象描述语言在早期成为一种较为主流的语言。随着研究的深入,对虚拟环境及其中的各类实体的真实性要求日益提高,逐渐在几何模型的基础上加上了真实物体的各种物理属性,称之为基于物理属性的对象描述语言。从实体在虚拟环境中的行为的角度还产生了基于行为模型的对象建模语言。这一类语言从本质上看,都是从动态实体的角度出发进行构建,对系统的其他方面如时空特性等则未加以描述。IEEE 1278标准即分布交互仿真中定义了27类分布交互仿真系统中各个网络节点交换的数据格式——协议数据单元,其中包括了各个节点的状态、碰撞以及与演练管理相关的各种协议数据单元,但未定义环境及其他层次的描述语言;在最新的IEEE 1516标准高层体系结构中定义了对象模型模板,其中的联邦对象模型和仿真对象模型很类似于虚拟环境描述语言及对象建模语言,但联邦对象模型仅是描述了网络中各个盟员的交互内容,未考虑环境中的其他因素,而仿真对象模型则仅定义了盟员的一些属性。从上面可以看到,在目前的一些系统和标准中,关于面向动态实体的分布式虚拟环境描述语言及解释方法尚是一个新的思想。
为完成发明目的,本发明采用的技术方案是面向动态实体的分布式虚拟环境描述语言对参与系统的各种资源进行描述,以形成格式化的脚本,解释方法对描述语言根据系统需求转化形成的描述脚本进行解释,形成各种配置文件并分发配置文件到各个节点。
描述语言采用扩充BNF(巴柯斯范式)定义;描述语言描述包括虚拟环境的空间信息、时间信息和参与到环境中的动态实体任务的描述;描述语言的扩充BNF范式包括对脚本的文件头、脚本的地域、环境的时间信息、环境中动态实体的编号类型及任务的描述;该描述语言的扩充BNF范式的地域描述部分通过两个二维平面的位置点坐标说明虚拟环境在二维平面投影的包围盒范围,根据这一范围,从静态的地形模型库中挑选出适当的地形的三维模型并分发到分布式环境中的各个节点;扩充BNF范式的时间信息可以包括多个时间段的完整的动作信息;扩充BNF范式的动态实体信息进一步包括动态实体的编号、动态实体的类型、动态实体在虚拟环境中的组织信息及动态实体在虚拟环境中的任务列表;解释方法对脚本的解释包括解释关于系统的脚本描述,生成动态实体对象描述脚本和对脚本的格式进行词法和语法检查的步骤。
利用分布式虚拟环境进行模拟两个重要的特点一是可以在虚拟环境中动态调整各种演练和操作的规模和变化,使操作人员反复进行不同情况下的判断和决策研究,丰富演习的内容并减少构建实际操作的费用;二是能够基于同一虚拟环境构造不同层次的练习内容,从而对不同层次的人员进行训练。这些特点要求在构建分布式虚拟环境时能够有效地利用已有的各种资源,快速地构建虚拟环境。
通过利用面向动态实体的分布式虚拟环境描述语言及其解释方法,可以便利地对各种演练内容、参演实体的配置进行快速的描述和修改而不需要重新开发各种构件。
图1是本发明的面向动态实体的分布式虚拟环境构建过程图;图2是本发明解释方法功能框图;图3是本发明解释脚本流程图。
实施例军事应用。本发明的实施例是一个军事想定,整个想定包括海战、登陆和陆战三个阶段,采用计算机生成角色模拟了坦克分队登陆的过程,将计算机生成角色的登陆过程进一步分解为三个任务下登陆艇、岸上集结排列队形、向指定地域前进。这个演习涉及的资源包括地形范围、动态实体的初始位置、动态实体在演练各个阶段的任务等。
参阅图1,本发明包括面向动态实体的分布式虚拟环境描述语言及其解释方法两个相关的部分。其中面向动态实体的分布式虚拟环境描述语言是一种规范化的描述语言,它对整个系统的初始需求进行描述,形成具体演练的演练脚本,在本发明中采用扩充的BNF范式对该语言进行了描述;解释方法是一个具体的计算机程序化方法,对由面向动态实体的分布式虚拟环境描述语言生成的演练脚本进行解释,生成参演的动态实体和计算机生成角色的配置文件,供其在演练中使用,从而实现根据需求的动态配置过程。其应用步骤是1、确定系统需求;2、由系统开发人员利用虚拟环境描述语言对需求进行描述,形成格式化的演练脚本;3、解释方法对脚本进行解释,生成动态实体在演练中的任务、地形配置、时间安排等各项内容;4、将上述内容分发到分布式环境中的各个节点。
本发明的虚拟环境描述语言作用如下1、说明虚拟环境的空间信息。重点在于指出虚拟环境所处的地理坐标范围,根据这一信息在已经构建好的静态实体库中,挑选出所需要的静态实体模型。2、说明虚拟环境的时间信息。确定在每一时间段内参与到虚拟环境中的各个动态实体信息,根据这一信息,由环境管理器提供全局的时钟给某时间段内的相关实体,以提供时间参照。在系统运行时还可由环境管理器这一信息动态对其中的各个动态实体进行监控,达到系统同步的目的。3、描述参与到环境中的动态实体的任务。从动态实体在虚拟环境中的行为角度对其进行描述。如前所述,除一些漫游系统外,动态实体有着预先确定的行为,如任务、路径等,这些行为对实物/虚拟动态实体而言,对操作人员起着提示的作用,对构造性实体而言,是其在虚拟环境中作各种任务规划和路径规划的基础。
在本发明的扩充的BNF范式中,定义的脚本的文件头部分,用来说明编制脚本的日期、编写人、该脚本的目标等信息,用于脚本的维护。脚本的地域描述部分,用来说明虚拟环境所处的地理位置范围,通过两个二维平面的位置点坐标,说明了虚拟环境在二维平面投影的包围盒范围,可用绝对坐标或相对坐标,根据这一范围,从静态的地形模型库中挑选出适当的地形的三维模型并分发到分布式环境中的各个节点,其中的位置量是一个二维坐标,它的每个分量都是7位的数值。时间节用来对环境中的时间信息加以说明,文中设计的格式支持分阶段时间的描述方式,即可以包括多个时间段的完整的演练信息,每个阶段的内容包括起始时间、终止时间内该时间段内参与到虚拟环境中进行演练的动态实体编号,该编号是一个6位的无符号整数值,为了简便,时间也采用整数方式描述。实体节对环境中的动态实体加以说明,其中包括了全部的参与到虚拟环境中的动态实体,对于每一个动态实体,又包括如下的一些信息与时间节相同的编号,需要说明的是,这个编号是动态实体在虚拟环境中的唯一标识,不同的动态实体具有不同的编号以便于区分,保证动态实体信息在虚拟环境中的唯一性;类型号这是动态实体的武器类型值,例如在虚拟战场环境中可能有陆、海、空不同兵种的武器加入到环境中,对于各个兵种,可能又有不同的类型,例如,对陆地而言,可能有坦克、跑车、装甲车等,每种兵力又隶属于一定的组织,承担一定的角色,采用类型号对这些信息进行一致的描述;各方号这个标识用来表示动态实体在虚拟环境中的红蓝方信息,用0,1,2分别表示红方、蓝方和中立方三者的信息;任务这是某个动态实体在虚拟环境中的任务列表,描述该动态实体在虚拟战场各个时间段内需要完成的任务,包括了该时间段的初始时间,结束时间,任务的代码,初始位置,终止位置等信息。
采用描述语言描述需求过程的步骤是1、使用普通的文本编辑器如Word,Notepad(记事本)等编写脚本,文件名称任意,扩展名为“VEDL”;2、在该文件中按照上述的格式,分别填写头件头、为直节、时间节和实体节各节的内容;3、在编辑该文件时,采用扩充BNF范式中的各保留字,值按照规定的位数填写。
参阅图2、3,使用环境描述语言,可以将具体系统的需求被转化为一个描述脚本。在这个脚本中提供了整个环境一致的时间空间信息和动态实体的任务信息,需要进一步通过解释方法对这一脚本进行解释,生成系统所需的各种实体配置文件及构造性实体的行为供其进行各种规划。具体而言,解释方法主要包括两个部分脚本解释和配置文件分发。
脚本解释方法是虚拟环境管理方法的基本部分,它对由需求形成的描述脚本进行解释,生成各种配置文件。这一部分的主要完成功能包括1、解释关于系统的脚本描述,生成动态实体对象描述脚本,其中包括了动态实体需要在虚拟环境中完成的各种任务,以利于动态实体的配置;2、对脚本的格式进行词法和语法检查。
配置文件分发部分生成的配置文件归档管理,并可以人工或自动分发到演练中的各个节点上。
当系统需求的内容发生变化时如时间、地点、实体任务等,仅需要利用虚拟环境描述语言对需求进行重新描述并动态生成各种配置即可,无需对动态实体如人在回路和CGA等程序进行修改,从而提高了效率,能够快速构建各种应用系统。
权利要求
1.面向动态实体的分布式虚拟环境描述语言及其解释方法,其特征在于包括以下步骤(1)描述参与系统的各种资源,以形成格式化的脚本;(2)根据系统需求转化形成的描述脚本对描述语言进行解释,形成各种配置文件并分发到各个节点。
2.根据权利要求1所述的面向动态实体的分布式虚拟环境描述语言及其解释方法,其特征在于所述的描述语言对参与系统的各种资源的描述是扩充的BNF范式。
3.根据权利要求1所述的面向动态实体的分布式虚拟环境描述语言及其解释方法,其特征在于该描述语言包括虚拟环境的空间信息、时间信息和参与到环境中的动态实体任务的描述。
4.根据权利要求2所述的面向动态实体的分布式虚拟环境描述语言及其解释方法,其特征在于该描述语言的扩充BNF范式包括脚本的文件头、脚本的地域、环境的时间信息、环境中动态实体的编号类型及任务。
5.根据权利要求2所述的面向动态实体的分布式虚拟环境描述语及其解释方法,其特征在于所述的该描述语言的扩充BNF范式的地域描述部分通过两个二维平面的位置点坐标说明虚拟环境在二维平面投影的包围盒范围,根据这一范围,从静态的地形模型库中挑选出适当的地形的三维模型并分发到分布式环境中的各个节点。
6.根据权利要求1所述的面向动态实体的分布式虚拟环境描述语言及其解释方法,其特征在于所述的该描述语言的扩充BNF范式的时间信息可以包括多个时间段的完整的动作信息。
7.根据权利要求4所述的面向动态实体的分布式虚拟环境描述语言,其特征在于所述的该描述语言的扩充BNF范式的动态实体信息进一步包括动态实体的编号、动态实体的类型、动态实体在虚拟环境中的组织信息、及动态实体在虚拟环境中的任务列表。
8.根据权利要求1所述的面向动态实体的分布式虚拟环境描述语言的解释方法,其特征在于步骤(2)进一步包括(1)解释关于系统的脚本描述,生成动态实体对象描述脚本,其中包括动态实体需要在虚拟环境中完成的各种任务,以利于动态实体的配置;(2)对脚本的格式进行词法和语法检查。
全文摘要
本发明属于计算机虚拟现实和计算机图形学技术领域,特别是涉及一种基于动态对象的分布式虚拟现实环境描述语言及其解释方法。包括面向动态实体的分布式虚拟环境描述语言及其解释方法两个相关的部分,描述语言对参与系统的各种资源进行扩充BNF范式描述以形成格式化的脚本,解释方法对描述语言根据系统需求转化形成的描述脚本进行解释,形成各种配置文件并分发配置文件到各个节点。本发明具有可在虚拟环境中动态调整各种演练和操作规模和变化以及能够基于同一虚拟环境构造不同层次练习内容从而快速构建虚拟环境的特点,适于对各种演练内容、参演实体配置进行快速描述和修改而不需要重新开发各种构件的军事、远程教育、训练、娱乐等领域中应用。
文档编号G06F9/45GK1409215SQ0213073
公开日2003年4月9日 申请日期2002年9月18日 优先权日2002年9月18日
发明者梁晓辉, 赵沁平 申请人:北京航空航天大学