基于STAGE平台的模型扩展方法


2023年12月25日发(作者:some是什么意思)

VoI.37.No.3 Mar,2012 火力与指挥控制 Fire Control&Command Contro1 第37卷第3期 2012年3月 文章编号:1002—0640(2012)03—0165 -04 基于STAGE平台的模型扩展方法 吕迎迎,张耀中,张安 (西北工业大学电子信息学院,西安 710129) 摘 要:STAGE(Scenario Toolkit And Generation Environment)是用于开发想定战场环境和武器系统验证的仿真软件。 用户可根据需求利用自己开发的仿真模型取代STAGE的内置仿真模型,也可以将开发的仿真模型与STAGE中现有模型进 行集成。针对STAGE 6.0仿真开发平台,研究了STAGE模型扩展中的关键技术,实现了用户开发模型与STAGE仿真引擎 的集成,从而为快速构建用户自定义战场环境提供了一种新途径。 关键词:STAGE,模型扩展,仿真 中图分类号:V271.44 文献标识码:A Research on the Method of Model Extension Based on STAGE Lfi Ying—ying,ZHANG Yao—zhong,ZHANG An (Northwestern Pobtechnical Unversity,xi’an 710129,China) Abstract:STAGE iS a software that allows the user to build a tactical database and then simulate dynamic,interactive,complex and real—time tactical and operational environment.It is made up of various functional modules,which can be easily modified or even replaced to meet the customer’S demands.0n the basis of the current STAGE 6.0,we illustrate the key technology of model extension,as well as the approach of how to intergrate the self-defined model with the STAGE simulation engine thus provide a new way for fast constructing user defined battle environment. Key words:STAGE,model extension,simulation 引 言 STAGE平台是加拿大eNGENUTTY公司推 现有模型进行集成,从而可以快速构建适合特定需 要的战场仿真环境。 出的用于开发想定战场环境和武器系统验证的仿真 软件,是快速构建仿真作战环境并进行战术仿真的 高度集成化作战仿真平台。用户可通过方便的图形 用户界面(Graphical User Interface,GUI)快速生成 1 STAGE平台组件构成 STAGE平台主要由以下组件构成: 1)场景管理器(Scenario Manager,SM); 2)仿真引擎(Simulation Engine,SIM); 3)集成开发界面(Integrated Development Environment,IDE); 动态、复杂、实时的战术环境,根据战术环境的特点 进行战术控制和交互,并实时显示仿真中的动态数 据。总体而言,STAGE软件的功能为:指挥分析、战 4)地图生成器(STAGE Genmap); 5)记录器(STAGE Logger); 6)3D显示界面(STAGE VP Viewer)。 术训练、系统测试、任务规划、概念验证等。用户可以 用自己开发的模型取代STAGE的内置仿真模型, 也可以将用户开发的仿真模型与STAGE平台中的 收稿日期:2011-01—05 修回日期:2011一O2—21 1.1 STAGE场景管理器 STAGE SM是STAGE的用户主窗口,是仿真 的调度管理器。仿真期间,SM提供的用户图形界面 可用于实现仿真环境中场景实体和仿真过程可视 化。SM主要包含6个编辑器:数据库编辑器、场景 *基金项目:航天支撑技术基金资助项目(2010一HT—XGD) 作者简介:吕迎迎(1986一),女,山东泰安人,硕士研究 生,研究方向:复杂系统建模与仿真。 

・166・ (总第37—574) 火力与指挥控制 2012年第3期 编辑器、仿真运行环境、脚本编辑器、任务编辑器和 Arinc 424编辑器。 1.2 STAGE仿真引擎 STAGE SIM与STAGE SM之间以通信的方 式取得场景和实体动态信息,并输出仿真进程中的 数据,以完成用户设计的仿真流程。图1为SIM相 关组件之间的关系图。 添加、删除、更新 l 实体Ⅳ l塞签笪堡墨 I共享内存块 处理——触 申 请 l实体2 L [二 模型管理器1..一 I共享内存块l 丽= l实体1卜_j —l共享内存块I I初始化、控制、】同步 访l私有内存块I 羽 问—— 登堂堡l 图1 STAGE SIM组件关系图 SIM主要完成实体、实体管理器、模型管理器 和实时控制器之间的任务协调。实体是STAGE合 成环境中的仿真对象;实体管理器负责创建、删除和 更新相应的实体;模型管理器负责激活合成的仿真 环境;实时控制器(Real—Time Control,RTC)负责 确保所有仿真模型按特定顺序执行,并对模型管理 器的执行进行初始化、控制和同步协调,其执行方式 有同步、异步和从动3种方式。 1.3 STAGE集成开发环境 IDE是一个功能强大的图形化数据结构编辑 器。在开发用户仿真模型时,IDE用来支持用户模块 的数据结构,并提供所有战术数据库的架构信息。用 户可以在现有数据库中增加新数据,增加新的原型 并定义新的原型关系框架;对于用户新定义的数据 结构,IDE可以自动生成代码,并将它与新的仿真程 序全局数据结构相结合。 2 STAGE仿真引擎扩展机理 2.1模型扩展总体框架 STAGE IDE自动生成的库文件genDb、 genMsg、genSim为STAGE模型扩展的核心组件。 扩展模型通过场景管理器和仿真引擎以实现对库文 件的访问,从而实现用户模型与STAGE内置模型 的融合。STAGE 6.0所兼容的开发环境为 Microsoft Visual Studio 2005,开发过程中用户需适 当地调整扩展接口文件的环境变量以实现模型与 STAGE的匹配。 IDE中添加的数据结构通过数据库编辑器载人 genDb l l genlV[sg I I genSim 场景管理器I l 仿真引擎 用户模块接口I I用户模块接口 图2 STAGE ̄"展结构图 到实体的内存空间中。STAGE中每个实体占据两 个内存块:共享内存块和私有内存块。外部进程仅能 访问实体共享内存块中的实体信息,而扩展的用户 模型通过结构体类型SimEnt——Model向实体管 理器注册后,可以获取共享内存块和私有内存块的 访问权限。 用户模型通过如下3种方式实现用户模型与 SIM的集成:①用户模型集成到STAGE SIM中; ②用户函数集成到STAGE SIM中;⑧用户模块通 过共享内存与STAGE SIM进行交互。 2.2用户模型与SIM集成 图3给出STAGE SIM用户模型扩展流程图。 用户创建一个被STAGE SIM读取和初始化的应用 程序接口,用户模型利用这个接口集成到STAGE SIM中。通过在RTC中注册用户模型的控制信息, 用户模型实现与STAGE SIM的交互,与此同时,用 户模型可以访问场景运行期间的数据,并可以和其 他外部应用(VAPs XT、飞行模拟器等)交换数据。 1)用户模型接口 STAGE SIM的接口服务器(Plugin Server)加 载了STAGE内部应用程序接口和用户模型的应用 程序接口(DLL)。用户在模型的代码中声明函数 sqxCPluginLoad,以给出用户模块初始化人口函数 和用户模型执行的优先级。 …………………………………………………………………………………………………………、 i 用户模型 ; 图3 STAGE SlMtt"展模型流程 

吕迎迎,等:基于STAGE平台的模型扩展方法 (总第37—575) ・167・ 2)RTC表格 仿真时间控制在仿真进程中起着决定性作用, RTC负责确保所有仿真模型按照特定的时序执行, 并且对模型管理器的执行进行初始化、控制和协调 同步。RTC将仿真进程划分为初始化阶段、仿真控 制阶段、仿真运行阶段、仿真后台操作阶段,每个阶 段所执行的用户模型执行函数人口地址均以表格的 形式存储在RTC分配表中。存储方式为: static RtcDispatch——Table utbl=( utblinit, —utblctrl, —utblexec, —utbl—dmon); 3)用户模型 对应于RTC各个阶段执行的用户模型操作函 数,用户模型由初始化函数、控制函数、周期执行函 数和后台执行函数构成。 (1)初始化函数user module init() 在模型的初始化阶段,用户利用结构体sim ent model创建用户模型,方法如下: SimEntModel*mymodel=simentmodel—————— create(numoflists,globaldataptr,”mymodel—————— name”); 其中num—of lists是一个整型量,指明模型 需要的实体表数目;globaldata——ptr是一个指向 Sim Global Data structure的指针;Ⅳmy model name”为用户模型的名称。 自定义模型为了接收来自实体管理器的消息, 用户模型的初始化阶段必须利用函数sim ent model reg XXX()向STAGE实体管理器注册用 户模型回调函数,从而将实体对应的处理函数与用 户模型中的实体进行绑定。其中XXX代表实体操 作类型如增加、更新和删除等操作。例如用户模型的 增加实体函数的注册方法为: sireentmodelregadd(mymodel,8rJnyadd——————— entity); my model为用户模型名称,my add entity 为用户模型接收到来自实体管理器增加实体消息时 所要执行的操作函数。 (2)控制函数user module ctrl() 用户模型控制函数部分指定当STAGE SIM启 动、暂停、停止、复位时,用户模型响应函数的入口地 址。对于相应的操作,STAGE软件给定相应操作标 识值,将该标识值作为调用参数,即可实现SIM对 用户模型相应的执行操作。格式为: void user module ctrl(int ctrl type)( switch(ctrltype){ —case CTRLINIT: —simentmodel———init(usermodel,freqtb1); ——break; default..printf(”unknown event: d\n”ctrltype —); return;) ) (3)周期执行函数user module() 仿真运行期间,RTC按照用户设定的频率调用 用户的执行函数,这些函数将在STAGE核心部分 执行完以后再被调用,当且仅当仿真进程被停止或 暂停时,RTC才停止调用这些函数。函数形式为: void user—module(void) {(user code)) (4)后台执行函数user module dmon() 后台执行函数指定SIM暂停运行阶段用户模 型所执行的操作。 5)用户模型在RTC分配表中注册 初始化函数、控制函数和后台执行函数的入口 地址在RTC表格中的存储方法相类似。例如初始 化函数存储形式为: Func Init utbl ink[-]一{ FUNCINIT(usermoduleinit), ———ENDOF——TABLE); 对于周期执行函数,需要指定用户模型的执行 频率和执行频带。 FuncEntry utbl——exec[]={ FUNCENTRY(usermodule,divider,band),END ——OFTABLE}; ——参数divider指定模型执行的频率。divider设 为1,表示用户模型的执行频率等于STAGE SIM 的运行频率,默认为30 Hz。divider设为N,模型的 执行频率为STAGE SIM运行频率的N分之一。参 数band指明指定模型执行的频带,取值依赖于 vider的值。当有多个用户模型时,需合理设置每 个模型运行的频率和频带以减轻仿真引擎的负担。 假设有3个用户模型,就可以采用下面的方式设置: FuncEntry utbl——exec[]一{ FUNCENTRY(usermodule1,3,1), —FUNCENTRY(usermodule2,3,2), ——FUNCENTRY(usermodule3,3,3), ——ENDOFTABLE)} ——用户模型执行时序图如下页图4所示。 2.3用户函数与SIM集成 用户可以用自定义函数取代模型管理器中的模 di

・168・ (总第37—576) 火力与指挥控制 2012年第3期 智能化。通过运行其脚本达到扩展STAGE嵌入式 语言功能的目的。 3.1脚本扩展接口 脚本语言扩展的接口中包含了STAGE SIM和 STAGE SM用到的函数声明和定义。该接口中指定 图4多用户模型执行时序图 型处理函数。替代的方法为将用户函数嵌入到实体 的模型数据中,而不是嵌入到模型管理器中。这种方 法使得用户可以选择哪些实体使用自定义的函数。 图5给出了模型管理器调用用户函数的方式。 用户模块 实体 l模型嘴理器 压匝 ] +lI 模{百型两 l 数 据II  棒 圈5模型臂理器函数调用路径 当用户模块收到来自实体管理器的Entity— Event Add消息时,才通过调用函数sim XXX install func将用户函数和实体进行绑定。其中 XXX表示用户函数所替代的实体操作函数。 2.4共享内存扩展 STAGE全局结构体数据包含两部分内容:私 有数据和公共数据。私有部分只能由用户模块来访 问,而共享内存的公共部分可以由任何附加的外部 进程来访问。为了实现对某些私有信息的访问,必须 设计1个把数据添加到共享内存的规程,以便用户 在运行想定场景时,该私有数据参数可以被附加到 共享信息中,从而任何附加到STAGE共享内存的 外部应用都可以访问这些新参数。 对于场景中的每个实体,都可以用1个指针初 始化指向默认共享内存块的底部,这个指针可用于 设置相关实体的新数据信息。外部进程可以通过获 取该指针进而获取添加的新数据。 3 STAGE脚本扩展 用户利用脚本编辑器中定义的函数和变量编写 程序,来实现在仿真阶段对实体的实时动态控制。在 STAGE中,脚本作为附加到实体上的一部分,使这 些实体根据环境级战术条件的变化,实现改变航线、 投放武器等行为。脚本是在一系列预先定义的常数、 函数和对象的基础上建立的,是一种简化的ASCII 文本文件。用户可以通过添加新的常数、函数和对象 来扩展STAGE原有的行为脚本语言使其满足仿真 时对实体具体实行脚本控制的要求,行为控制更加 扩展接口的执行优先级和应用程序的初始化函数入 口地址。初始化函数负责将指向用户自定义脚本表 格的指针传送给STAGE SIM。 static ScriptTable usertables一{ ——userconstinttab, ———userconstfloattab, ———userconstdoubletab, ———userconststrtab, ———userfunctab, ——user—obj—tab)’ 3.2脚本常量扩展 用户将自定义常数添加到相应的常数表格中, 即可实现脚本语言中常数的扩展。添加格式为: FloatTab userconstlfoat————tab[ ̄={ {”PIOVER4”,(M—一—PI/4)),NULL}; 表格入口包含两个量,前者是字符串类型的常 量名称,后者为常量值。 3.3脚本函数扩展 扩展的函数需添加在表格user func tab中, 扩展函数的步骤为:①构造函数原型;②将函数添加 到userrune——tab中;③在函数参数描述表格指明 每个参数类型;④指定函数参数名称。 4 仿真验证 仿真中,在STAGE原有武器类型基础上扩展 了空面对抗作战武器模型一,扩展后图形界面 见173页图6、图7所示。模型扩展遵循如下步骤: 1)基于STAGE IDE自动生成与模型相关 的库文件和头文件,实现自定义武器类型用户图形 界面显示; 2)利用Microsoft Visual Studio 2005(v8.0)建 立用户模型扩展接口,建立了弹丸运动过程中动态 信息计算模型; 3)将弹丸的动态数据与STAGE的场景管理器 实体数据进行融合,从而便于利用STAGE图形用 户界面实现对自定义武器类型实施实时地、动态的 控制; 4)利用STAGE建立1个空对面对抗作战的想 定战场环境,验证了自定义武器模型在STAGE平 台中运行的正确性。 (下转第173页) 

吉国明,等t某型飞机起落架收放机构性能仿真 (总第37—581) ・173・ ①②③③④⑤①表2⑧⑨ 4种工况下的仿真结果分析 ①⑥⑦ 项目 收放作动筒 下落加速器 结果分析 序号\ 截面积 截面积 \ 活塞 活塞杆腔 活塞截 面积 活塞杆腔 截面积 收起 时间 放下 收起最 放下最 收起 放下 时间 大负载 大负载 末速度 末速度 不显著 不显著 不显著 不显著 不显著 不显著 不显著 十 不显著 不显著 不显著 (上接第168页) 5 结束语 STAGE平台是专用于军事仿真模型、战场环 境生成的软件,它提供了丰富的军事系统模型和逼 目标j位置I瞄拙l —1。r塑I 真的场景演示。本文重点论述STAGE平台的运作 机理,并阐述了在STAGE原有的仿真体系上,根据 图6武器控制界面 用户自行开发仿真模型的需求进行模型扩展的方 法,重点论述了用户自定义的仿真模型与STAGE 龚塑 bc忡bj忱叫坶n ProF如 bomb SIM进行集成的方法,并进行模型扩展和仿真实 e(App) SITE 85<85:6O:10> DI5¨ 002.-000-0000-000・000-. 现。 SOurce Narne Fighter一1 目标范围 217S.嶂8I m 状态 TracIcin口 参考文献: 位置: N01:05:29.09 E009:32:03.87 [1] 张 哲.STAGE软件在潜艇作战系统仿真支撑环 名称 Tank 3 境中的应用研究[D].西安:西北工业大学,2002. 海拔 0.000m [2] 薛丽惠.基于STAGE的二次雷达系统仿真技术研 le 0.000 deg 速度 0.000m『s 究[D].成都:西南交通大学,2002. 广Tr6ckE3] 柯加山,陈 朗.STAGE软件在战术作战实验室建 —塑 设中的应用口].火力与指挥控制,2002,27(3):64-67. 图7武器动态信息显示界面 [4] 王卫东.战场环境仿真工具STAGE及应用研究 [J].现代电子工程,2002,35(1);35-41. 


本文发布于:2024-09-22 23:35:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/fanyi/32026.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   用户   函数   实体   扩展   执行   管理器   环境
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议