航天发射训练体系的分级建模技术
本文作者:刘党辉、刘培杰、尹云霞、苏永芝
航天仿真技术是随着系统仿真理论和航天任务的需要而发展起来的一门新型技术[1]。“不进行仿真试验就不允许进靶场”已成为航天工作必须遵循的一条管理规定[2]。世界上主要的航天大国均已以计算机技术为基本手段进行空间环境条件下系统规划、方案论证、设计研究、测控、维护救生以及航天发射指挥操作训练等方面的仿真研究。目前,我国各发射场也配有一些仿真训练系统[3-5],训练的重点是掌握复杂的火箭测试发射理论和技术,但缺乏任务综合训练功能。为此,需要开发一套包括虚拟发射场景、组织指挥流程、突发应急事件处置、导调控制、训练评估等功能的航天发射训练模拟系统,用于发射基地各级测试、发射、指挥、保障等人员任务前的综合训练。本文主要针对航天发射仿真训练系统的建模问题,分析了任务级、过程级和实体级的建模要求,给出了具体的建模方法,解决了基于模型驱动的复杂仿真训练系统的动态管理与控制,提高了系统的灵活性和扩展性。
1航天发射仿真训练系统的建模要求
根据仿真训练系统功能要求,将系统模型划分为3个层次,即任务级、过程级和实体级模型,如图1所示。每级模型能解决不同层次的问题,有着不同的建模要求。
1.1任务级建模要求
航天发射仿真训练系统是一个复杂的、可灵活配置的系统,每次训练前需要配置如下信息:训练目标、训练阶段、具体训练项目、参训人员、参训系统、参训设施、参训设备、训练环境、训练流程、评估指标、故障类型、突发事件等,并描述各信息之间的相互关系和制约因素。这些信息的描述属于任务级,应该按照一定的格式采用自然语言的方式进行描述,这样便于管理人员的理解、编辑和修改;同时,也便于系统其他软件模块读取相应的信息。任务级建模的表现形式就是1个或多个格式化的任务想定文件。
1.2过程级建模要求
航天发射的组织指挥工作贯穿于发射活动的全过程中,并直接决定了发射活动的进程,因此,针对航天发射的各级测试、发射、指挥、保障人员的全系统综合训练尤为重要。训练过程包括:以任务想定为依据,各级组织指挥结构按计划组织实施发射任务,包括从火箭、卫星、飞船的进场到卸车、各种测试及成功发射等全过程,提供各系统主要人员的岗位训练功能;通过导调控制,控制仿真进程,实现子系统、分系统、以及全系统综合训练;通过训练评估,对参训者业务能力、指挥能力、解决问题能力等给出综合评定。过程级建模要求过程模型能清楚描述各参试机构人员、任务、设备、物资、环境、事件等之间的关系,甚至火箭、卫星的复杂测试项目和测试流程以及故障排除和突发事件的处置过程等,能够清晰描述各单元之间的静态关系以及随任务进程发生变化的动态关系。
1.3实体级建模要求
航天发射仿真训练系统涉及很多实体对象,包括人员、火箭、卫星、塔架、设备、厂房、车辆、供电、仓库、雷达、电台、指挥大厅、会议厅等实体以及地形、河流、桥梁、气象、树木、火灾、爆炸、推进剂泄漏、敌特破坏等自然对象或特殊对象。不同实体对象有不同的几何形状、物理特性、运动特性和行为特性。由于在训练中对不同的实体对象关注点不一样,为了降低建模的难度,一般针对训练内容涉及的实体的特定形状,物理、运动、行为等特征采用适当的建模方法,而对仅仅用于辅助显示的对象采用简单的几何建模或直接采用纹理贴图的方法。实体的物理特征(如质量、惯性、硬度等)、运动特征(如位置、速度、碰撞等)、行为特征(如电压、电流、信号、状态、控制等)一般需要采用数学模型的方式进行描述,以便根据不同情况或输入呈现不同的运动和状态。根据不同对象特点,数学模型可简可繁,以满足训练要求为准。
2多级建模方法
根据航天发射训练系统不同层次的建模要求,通过比较目前流行的一些建模软件的不同特点和优势,采用XML实现任务级建模,采用UML实现过程级建模,采用Creator、VegaPrime、MATLAB分别实现实体对象的几何与运动、物理与行为的数学建模。
2.1基于XML的任务级建模
航天发射仿真训练系统的任务级建模就是将训练任务想定文档转化为XML格式文档,便于人和计算机的共同理解。建模的过程大致如下。
2.1.1分析任务想定要素
依据预先拟定的任务想定文档,分析任务想定的基本要素和子要素、要素之间的联系和约束、要素的不同表现形式、要素的静态或动态特性等。要素分析尽可能全面,但也要精简,逻辑、类别和层次关系清晰,能够涵盖全部任务想定。对于航天发射仿真训练系统来说,任务想定一般包括任务背景、训练目标、训练内容、组织机构、人员配置、装备物资、场地环境等要素。对于任务基本信息,应描述任务时间、地点、对象、目的等特性。对于装备物资,应描述装备物资类别、属性、功能、权限等特性。
2.1.2建立一套专用标记符
为了便于理解XML格式的任务想定,除了采用系统定义的标记符外,需要定义1套专用的标记符。在信息转化和处理的过程中,为了保证任务想定数据的规范性和正确性,需要采用XMLSchema进行定义和规范。通过XMLSchema,每1个XML文件均可携带1个有关其自身格式的描述,不同开发者可以使用约定的标准XMLSchema来交换数据。不同仿真平台也可使用某个标准的XMLSchema来验证从外部接收到的数据。
2.1.3生成XML格式的任务想定
依据任务想定和标记符直接编写XML格式的文档仍然较为复杂,为此,采用VC++开发了相应的信息编辑界面,通过友好的图像化界面提高录入效率,然后由底层程序自动生成XML格式的任务想定。MSXML4.0也提供了通过XSDSchema来校验XML文档正确性的手段,因此可进一步根据系统异常提示来修改完善文档。装备物资配置编辑界面如图2所示,不仅可以对装备物资进行增删节点、修改属性等操作,还能添加拥有调派权限的人员和组织关联。拥有权限的人员可以在训练系统中对该装备物资进行调派,对于拥有权限的组织,所有该组织的下属人员都具有调派该装备物资的权限,具体权限控制在训练系统中实现,任务想定子系统只对其进行配置。XML格式的任务想定如图3所示。
2.1.4解析XML格式的任务想定
为了和其他模型交换数据,或者直接提取任务想定中的信息,还需要解析XML文件。微软提供的组件MSXMLDOM是MicrosoftXML的解析器,提供了丰富的接口,方便在程序中操作XML文档。DOM可对结构化的XML文档进行解析,文档中的指令、元素、实体、属性等所有内容个体都用对象模型表示,整个文档被看成是一个结构信息树,而不是简单的文本流,生成的对象模型就是树的节点,对象同时包含了方法和属性。基于DOM组件对XML想定文件进行解析,需要设计一个XML类来完成针对XML的各种操作。
2.2基于UML的过程级建模
UML(UnifiedModelingLanguage,统一建模语言)是一种面向对象的、直观的、功能强大的、可视化的建模语言[6],已成为建模语言事实上的标准。运用UML语言来建立过程级模型已得到广泛应用[7-9]。建模过程大致如下。
2.2.1分析过程建模要素
航天发射训练系统的运行过程大致如下:根据训练要求,生成任务想定模型,存入服务器端任务想定数据库;导演组依据训练科目和训练内容,通过导调文书和实时干预控制仿真训练过程,相关信息保存到服务器数据库;各客户端参训人员接收导调文书,按照各自职责执行训练科目或处置突发事件,并报告情况;评判组根据参训人员完成任务情况和评分指标对训练人员进行考核;服务器对演练过程中产生的所有信息进行记录,供训练后分析使用。因此,需要采用多种适当形式的构图实现过程建模。
2.2.2选择适当建模机制
采用UML实现航天发射仿真训练过程建模,包括训练机构、训练流程、训练科目、考评、导控等环节及相互关系,需要采用不同的UML构图进行建模。对于系统运行结构模型,采用UML提供的用例图、类图(包括包图)、对象图、构件图和配置图等静态建模方法;对于系统执行时的时序状态或交互关系模型,采用状态图、活动图、序列图和合作图等动态建模方法。以航天发射中控制分系统与遥测分系统的匹配测试为例,对匹配测试组织指挥过程进行建模。控制分系统与遥测分系统匹配测试的主要内容有:箭机数字量特征码匹配检查;耗尽关机信号匹配检查;模拟量起始电平、极性及加速度表脉冲数匹配检查。与仿真训练系统测试有关的参训人员包括01指挥员、控制系统指挥、遥测系统指挥等。采用UML建立的匹配测试组织指挥过程序列图如图4所示。
2.2.3自动生成框架代码
依据建立的UML模型,运用StarUML能自动生成程序中大部分重要的框架代码(可以依据模型生成Java、C++、C代码),然后在此基础上添加一些UML模型中未描述的细节信息,这样能有效地减少代码编写的工作量。例如,在UML提供的各种图中,类图是最基本、最重要也是最常使用的一种图,它描述了各个类所具有的属性和方法、各个类之间存在的关系(泛化、关联、聚合、组合和依赖关系等)以及其上的约束。SartUML生成的C++类中,一般由成员变量集合、成员函数声明集合、可见性与类名等4部分组成。但是,UML类图对于有些细节无法说明,需要编程人员手动添加,这包括函数的具体功能实现以及部分定义。为了实现从一个类中派生出新的类,可通过向泛化类中增添新的信息或对其进行修改而得到特化类[10],UML类图中的泛化关系可以无差错地映射为代码中的继承关系。
2.3基于VC++嵌入模块的混合实体级建模
为了营造真实的航天发射过程和感受,仿真训练系统提供了丰富的可视化仿真环境,需要对大量实体进行建模,包括对象的几何、物理、运动和行为级建模。由于系统主要基于VC++平台开发,实体级建模软件最好与VC++具有方便的接口,便于系统功能的集成。通过对比分析,对于实体的几何和运动模型,采用Creator和VegaPrime软件来实现;对于物理和行为模型,采用MATLAB软件来实现。
2.3.1实体的几何与运动特性建模
目前,常用的三维建模软件很多,如3DMaxStudio、Lightwave3D、MultiGenCreator、Maya、Softimage、Houdinl等。其中,MultiGenCreator针对仿真训练系统需求,能够在满足实时性的前提下生成面向仿真的、逼真性好的实体级模型和大型场景模型,已广泛用于实时仿真系统之中。为了实现对仿真对象的渲染和运动控制,常用的软件包括OpenGVS、OpenGLperformer、VegaPrime、Vtree、WorldToolKit、WorldUP、Realimation、3DLinX、Openlnventor等。其中,VegaPrime是目前国内最常用的虚拟现实视景驱动软件之一,它是一个能满足大多数视景仿真要求的开发系统,具有丰富的VC++接口,并且容易实现大量的场景特效。因此,系统开发采用MultiGenCreator进行三维建模,运用VegaPrime进行实体对象运动控制或雨雪云雾等一些特效的制作,并使用VC++进行仿真程序的管理和集成,从而能够迅速创建实时交互式三维视景系统。图5给出了一个火灾抢救的仿真场景,图6给出了一个火箭发射起飞仿真场景。
2.3.2实体的物理和行为特性建模
MATLAB/Simulink具有简洁的编程语言、强大的计算功能、直观的可视化仿真结果和灵活的接口,非常适合对各种复杂系统进行仿真和开展相关研究。采用MATLAB/Simulink能够进行动态系统建模、仿真和综合分析,可以处理线性和非线性系统,离散、连续和混合系统,以及单任务和多任务系统,并在同一系统中支持不同的变化速率。MAT-LAB/Simulink具有FORTRAN、C/C++程序的外部接口。航天发射仿真训练系统的不同实体具有不同的物理或行为特征,如火箭的发射飞行过程的动态仿真,除了火箭的几何模型,也需要建立火箭的运动方程模型,甚至包括火箭飞行各阶段中主要控制指令与飞行状态之间的关系。采用MATLAB/Simulink对火箭的飞行特性建模,仿真结果如图7所示。图7a中,曲线1、曲线2、曲线3分别表示惯性坐标轴x、y、z方向的速度;图7b中,曲线1、曲线2、曲线3分别表示惯性坐标轴x、y、z方向的位移。
3结语
依据航天发射仿真训练系统总体功能要求,分析了系统的模型体系构成,从任务级、过程级、实体级3个层次分析了各自的建模要求,并分别采用XML、UML以及Creator、VegaPrime、MATLAB等软件解决了实际建模问题,实现了基于模型驱动的动态仿真,大大提高了仿真训练系统的灵活性、扩展性、可视性和人机交互性,为教学和训练提供了一个良好的仿真训练平台。为了进一步提高系统的智能化程度,拟进一步引入人工智能推理模型,增强某些环节人机交互的智能化程度。
本文html链接: http://www.istpei.com/qkh/24970.html