基于HLA的火箭测发仿真系统时间管理研究

2011-01-10 03:37白金平
关键词:视景联邦火箭

王 皓,李 辉,白金平

(电子科技大学空天科学技术研究院,四川成都 611731)

0 引 言

高层体系结构通过运行支撑(Run-Time Infrastructure,RTI)提供通用的、相对独立的支撑服务程序,将仿真应用同底层的分布式支撑环境分开,即将具体的仿真功能实现、仿真运行管理和底层通信传输三者分离,隐蔽各自的实现细节,因而其受到仿真领域的普遍重视.目前,基于HLA的分布交互式仿真已成为仿真系统发展的主要方向.

时间管理是HLA的核心技术之一,也是RTI的重点和难点.时间管理使得事件在仿真系统中的时序管理与自然世界中的时序关系相一致,从而保证仿真系统在执行时的正确性和可重复性.由于HLA时间管理机制包括消息传递机制和时间推进机制,因而在时间策略中,时间推进必须与负责传递消息的机制相配合.

仿真时间又称逻辑时间,是对物理时间的扩展或压缩,仿真时间可以停顿或回溯.联邦时间轴是联邦运行的背景时间,仿真沿着联邦时间轴推进.每个联邦成员有各自的联邦成员时间,联邦成员时间表明联邦成员所处的逻辑时间.时间管理服务协调联邦成员时间是通过仿真成员间的交互进行的.

离散事件仿真(Parallel Discrete Event Simulation, PDES)的核心在于为所有仿真节点选择一个相同的精确时钟,确保在仿真过程中所发生时间逻辑上的正确性和有序性[1].时间管理复杂性涉及到模拟系统的运行效率.时间管理可以提高仿真系统的运行效率[2].

通过对保守策略分析和研究后可知,两个重要的变量:时间前瞻量和时戳下限是RTI在处理联邦成员的时间推进请求时的两个关键参数[1].而采用对比时戳的方法可以解决在仿真应用系统开发中联邦成员对所接收消息进行确认,从而得到所需数据的问题,进而有效保证整个联邦同步运行[3].HLA时间管理的目标是减少时间偏差(Time Warp,TW)或降低偏差带来的不良影响,其主要任务是使仿真世界中事件发生的顺序与真实世界中事件的发生的顺序一致,保证各成员能以同样的顺序观察到时间的产生.

1 火箭测发仿真系统的结构分析和各邦员时间管理策略的设计

火箭测发系统按功能可划分为,任务规划、控制系统、动力系统、测量系统与利用系统等.任务规划在测发系统中为其他各系统提供最顶层的测发流程控制及规划.火箭测试仿真系统基于HLA对现实中测发系统进行仿真,是依据靶场长期以来形成的火箭测发经验,将文档类型的测发报告开发为数字化的火箭测发仿真系统,其仿真剧情来源于火箭测发的操作规程,仿真数据来源于对象模型数据字典.

对火箭系统内部功能模块及真实测发系统的体系结构进行分析后,本文将仿真系统从系统的横向角度划分为火箭结构系统与火箭测发系统;从仿真成员内部各个功能模块间的级联的纵向角度划分为RTI接口模块、仿真剧情推动模块、数值计算模块、视景模型计算模块、NI界面操作及状态数据显示模块.火箭结构系统分为各子火箭系统数值模型模块与视景模型模块.火箭结构系统通过RTI服务可以集成为各系统具有互操作的火箭系统整体.测发仿真中,火箭结构系统为仿真提供了数学模型、视景模型的调用及交互接口,与测试系统集成后仿真才能运行.火箭的数值计算模块作为子模块与测发数据模块聚合向联邦发布测试仿真数值模型输出与模型状态信息,火箭视景模块与测试项测发视景驱动集成使用数值模型数据作输入展示火箭测发视景动作.数值模型运行后可以局部推进仿真进行,数值模型由测发过程中的交互信息调用后运行.测发流程整体由任务规划、系统导调中的测发剧情推动模块与NI控制模块依据仿真剧情层级式推进.NI数值、状态模块展示仿真中的数据和状态.

本文重点介绍对仿真系统的时间管理,并进行时间管理测试.

任务规划邦员是火箭测发系统的总指挥,靶场称之为“01”号,各个测试项的进行都是在任务规划的支配下进行的.图1为测试项协同图.

图1 动力系统第三次总检查邦员交互图

从图1中可看出,任务规划需发布并发送测试项管理交互类以管理各个系统测试项进程,各个系统需订购此交互类并发布测试项反馈信息供任务规划订购.发送/接收规则如图1中所示.

在仿真系统中,联邦成员的时间管理策略可设置为以下4种形式之一:既时间控制又时间受限;既不时间控制又不时间受限;时间受限;时间控制.

由于任务规划和系统导调需互相同步,视景现实需占用大量仿真时间,其仿真状态也需同步,故将任务规划、各系统导调、视景邦员的时间管理策略设置为,既时间控制又时间受限.数值、状态仅需展示仿真信息,不参与仿真同步,故数值、状态和其他邦员的时间管理策略设置为,时间受限.

2 火箭测发仿真系统联邦时间管理的实现

2.1 仿真系统的时间管理机制设置

通过对图1中的仿真交互进行分析,可得出仿真进程的推动过程为:任务规划邦员推动4个系统导调邦员进行子项目的仿真,采用测试项剧情推进交互类进行推进;系统导调控制系统内的数据/状态/视景邦员进行推进,采用测试项剧情推进交互类和测试项剧情推进对象类属性进行推进.推进交互图示例如图2所示.交互步骤图详细描述了仿真中各个邦员之间严格的交互关系,仿真交互设计和集成的目的便是连接各个仿真模块,实现图2中所示交互规则的前提下进行仿真推进,从而实现运载火箭测试仿真.

图2 时间推进交互步骤图

在仿真系统中,消息传递机制包括消息传输方式与消息传递顺序.消息传输方式分为,可靠和快递.消息的传递顺序分为接收顺序(RO)与时戳顺序(TSO).最终的消息的发送顺序类型有,首选顺序类型、发送成员时间管理策略,是否使用时戳和发送消息的顺序类型.最终的消息的接受顺序类型有,接收成员时间管理策略和对应的发送消息的顺序类型.

依据以上分析,可将消息分为4类,并采用表1、表2所示的方法确定消息发送和接受的顺序类型.

表1 消息发送顺序的确定方法

表2 消息接收顺序类型的确定方法

所有消息的传输方式均设计为“可靠”以提高系统的可靠性.

图3为系统导调联邦级别的运行规划图.从图3中可清晰看出时间管理和联邦运行的关系.

图3 系统导调运行图

图4以动力导调和任务规划为例介绍同一模块C++火箭测试操作类与火箭C++火箭模型类的交互.这两者是一个聚合关系,火箭测试系统数值模型类调用火箭数值模型C++类,形成特定于测试项的测试类,不同的测试类满足不同的测试项.火箭测试系统是局部推进仿真进程的模块,在仿真时钟的控制下,测试系统类构建的对象与针对于测试的火箭模型对象发布/订购相关对象类/交互类,推进仿真进程.一个测试指令结束后,任务规划下达下一个测试指令,系统导调收到测试指令后下达子测试指令,收到子测试指令的测试仿真数值仿真类进行局部仿真时间的推进.

图4 火箭系统数值模块与火箭测试系统间的时间推进

2.2 仿真系统的时间推进实现

仿真系统的时间管理原则为,联邦中不存在通用和全局的时钟,联邦中可以产生“时戳”是未来的事件,联邦成员不能产生“时戳”小于当前成员的逻辑时间的事件,不要求成员以“时戳”顺序产生事件.

HLA时间管理中保守策略的时间推进是以PDES的保守算法为基础,通过时戳消息进行时间管理交互,并且仅当每个逻辑进程按非递减的时戳顺序处理件事.

邦员的逻辑时间推进时,必须向RTI提出申请,要求RTI推进自己的逻辑时间并等待RTI的回调确认.这一过程可以用Request Time Advance或者Next Event Request函数来向RTI发出申请;Time Advance Grant相应RTI的服务要求.

时间前瞻量(Lookahead)和时戳下限(Lower Bound Time Stamp,LBTS)是影响时间推进的两个关键变量,引入这两个变量可解决死锁.

时间前瞻量为T(逻辑时钟)+L(Lookahead),则称Lookahead值L为该联邦成员逻辑时钟推进的超前量,它表明该联邦成员可以预测未来L个时间单位内的属性更新和交互.因此,RTI在长度为L个时间单位的时间窗内可以并发处理消息的发送和接受[7].LBTS的公式定义如下,

联邦的LBTS为,LBTS=Min(LBTSj),i=1,2,3……,n,在HLA模式下,联邦成员通过向RTI发送“时间推进请求”表明其希望推进的时间,并保证以后不会再产生时戳大于所请求时间的消息.

在数字化火箭系统中,可采用保守的时间推进机制,此时系统为协同运行,时间推进方式采用步进推进方式.故仿真系统是对测试过程的仿真,其仿真实时性要求较高,拟采用0.2 s为仿真计时基数.依据各邦员的消息收发最小间隔,将任务规划时间瞻量设置为1 s,其他邦员的时间瞻量设置为0.2 s.可以计算的任务规划的LBTS=0.2 s,其他邦员的LBTS=1 s.下面验证这样的推进策略的正确性.

仿真系统任务规划与系统导调的推进关系如图5所示.图5中,圆点表示联邦成员的当前逻辑时间,轴上的粗线表示时间控制成员的时间前瞻量(Lookahead).假设联邦成员的当前逻辑时间是T,该联邦成员时间前瞻量是L,那么该联邦成员可向RTI保证在从T到T+L的时间窗内不会产生新事件.轴下方的虚线表示时间受限成员的时戳下限值(LBTS).

图5 任务规划与系统导调的推进关系图

图5中,任务规划在0时刻,其Lookahead为1, LBTS为0.2;系统导调在 0时刻,其Lookahead为0.2,LBTS为1;故当且仅当系统导调顺利进行推进步骤1、推进步骤2推进步骤3,推进到1秒的时候,任务规划可以推进到1秒,当且仅当任务规划推进到1秒的时候,系统导调才可以向前推进.

由于数值、视景邦员是非时间控制,而非时间控制的联邦成员不可以影响其他邦员的推进.所以,数值、视景邦员对其他邦员推进无影响.同时,其他联邦成员都是双控的,因此,它们的时间推进都不能超过各自的时戳下限值(LBTS).这充分体现了基于数值模型驱动的思想.

2.3 仿真系统的时间管理运行

仿真系统任务规划与规划端时间管理运行图如图6所示.

从图6可看出,各个系统的事件发生均按照仿真中的时间管理需求发生,不同消息传递顺序与传递方式组合的成员之间按正常时序互操作.

图6 任务规划与规划端时间管理运行图

3 结 论

时间管理是基于HLA程序设计的一个关键点.本文介绍了一种保守时间管理的程序设计方法,有效解决了运载火箭测试仿真系统中时间管理需求,并通过对任务规划邦员和系统导调模块间的推进实现时间管理并验证方案的可行性.

[1]周炎,戴剑伟.HLA仿真程序设计[M].北京:电子工业出版社,2002.

[2]王学慧.并行与分布式仿真系统中的时间管理技术研究[D].成都:电子科技大学,2006.

[3]梁彦刚,唐国金.基于HlA的仿真应用系统开发中的时间同步研究[J].计算机仿真,2005,22(5):131-133.

[4]严海蓉,孙国基,张亚崇,等.基于HLA的乐观时间同步的实现研究[J].系统仿真学报,2004,20(2):281-283.

[5]高霞.分层式HLA/RTI仿真平台保守机制时间管理的设计与实现[D].成都:电子科技大学,2006.

[6]曹裕华,江敬灼,马利辉.一种分布式交互式作战模拟的保守时间同步算法[J].计算机仿真,2004,21(4):19-21.

[7]欧阳伶俐,宋星,卿杜政,等.HLA时间管理与PDES仿真算法研究[J].系统仿真学报,2000,12(3):237-240.

[8]刘步权.分布式仿真运行支撑平台中时间管理服务的研究[D].长沙:国防科技大学,2004.

[9]罗正伟.基于复杂系统仿真系统的体系结构设计与实现[D].成都:电子科技大学,2009.

[10]李辉,毛万标,敬锦.HLA架构下数值仿真与视景仿真集成方法的研究[J].系统仿真学报,2008,20(7):1749-1753.

[11]敬锦.基于HLA运载火箭飞行仿真系统体系结构设计与实现[D].成都:电子科技大学,2007.

猜你喜欢
视景联邦火箭
虚拟现实技术在游戏设计中的应用及研究
一“炮”而红 音联邦SVSound 2000 Pro品鉴会完满举行
303A深圳市音联邦电气有限公司
透视奇妙的火箭
超酷的火箭
全回转拖轮运动建模与视景仿真
基于Vortex与Vega Prime的车辆模拟器动力学与视景仿真
20年后捷克与斯洛伐克各界对联邦解体的反思
联邦宪法法院60年——一个来自德国的成功故事?
基于STK的卫星实时视景仿真系统设计