RTI-STK中间件在GPS导航仿真系统中的设计与实现
- 格式:pdf
- 大小:202.92 KB
- 文档页数:4
2 0 0 7年8月 第2 6卷第4期 沈阳理工大学学报
TRANSACTICINS OF SHENYANG LIGONG UNIVERSITY V01.2 6 No.4
Aug.2 0 0 7
文章编号:1003—1251 I2007)o4—0042—04
RTI—STK中间件在GPS导航
仿真系统中的设计与实现
张馨,潘成胜
(沈阳理工大学通信与网络工程中心,辽宁沈阳110168)
摘要:卫星工具软件STK(Satellite T0ol Kit)是进行卫星系统分析和仿真的有效工具, 其重要模块之一STK/Connect可提供用户在客户机/服务器环境下与STK连接的功能。
高层仿真体系结构(HLA)作为新一代分布式仿真体系结构,在军用以及民用计算机仿 真中取得了越来越广泛的应用.本文在深入分析HLA联邦支撑环境RTI和STK的主要 功能模块的基础上,设计实现了连接RTI与STK的RTI—STK中间件,并将其应用于 GPs卫星导航仿真系统,取得了良好的效果.
关键词:卫星工具软件;高层体系结构;中间件
中图分类号:TP391。9 文献标识码:A
Design and Implementation of the RTI-STK Middleware
in the Navigation Simulation System of GPS
ZHANG Xin,PAN Cheng—sheng
(Shenyang Ligong University,Shenyang 1 10168,China)
Abstract:Satellite Tool Kit(STK)is an effective tool to analyze and simulate the satellite system.STK/Connect is one of the most important modules of STK,and it can provide the
function of connecting user and STK under the Client/Server environment。As a new genera. tion system structure of the distributed simulation.HLA has been more and more used in
both military and civil research.Based on studying the important function modules of the HLA/RTI and STK.the middleware linking STK and RTI has been designed and implemen・
ted,at the same time,the RTI—STK middleware has been used in the system of GPS simu・ lation。 Key words:Satellite Tool Kit;HLA(High・Level Architecture);middleware
GPS卫星定位技术以其具有定位精度高、观
测时间短、操作简便、可全天候工作以及可提供三 维坐标、速度等参数的特点,为导航带来了革命性 的变化,以GPS为代表的卫星导航技术已经在军
事和民用方面发挥着越来越重要的作用。在对
收稿日期:2006—12—13 作者简介:张馨(1979一),女,重庆人,硕士研究生 GPS仿真系统的研究中,由于仿真系统具有复杂
性、分布性的特点,采用集中式仿真存在许多缺 点,如调试困难、扩展性差等,而且串行仿真也不 能满足系统的仿真速度需求,所以应采用分布式 仿真技术¨J。为此,GPS应用仿真系统采用了建模
与仿真高层体系结构(High Level Architecture,简
称HLA),从而解决多个仿真子系统间的互操作、
维普资讯 http://www.cqvip.com 第4期 张馨等:RTI.STK中间件在GPS导航仿真系统中的设计与实现 ・43・
系统运行速度等问题.其次,由于需要模拟GPS卫 星运行状态从而对仿真系统提供数据支持,采用
了由美国Analytical Graphics公司开发的STK卫 星工具软件.该软件是航天工业领先的商品化分
析软件,可以快速方便地分析复杂的陆、海、空、天 任务,并提供易于理解的图表和文本形式的分析 结果,用于确定最佳解决方案 j.本文所要解决的
问题是在GPS仿真系统中,如何将HLA中的联邦 支撑环境RTI(Run-time Infrastructure)与STK连
接起来,以构建一个集成仿真环境.因此,设计一 个用于连接两者的中间件成为解决此问题的关 键.
1 RTI和STK功能特性分析
1.1 RTI功能分析
HLA是分布交互仿真的高层体系结构,联邦 运行支撑环境RTI是HLA接口规范的具体实现, 是按照HLA的接口规范开发的服务程序¨J.它是
HLA仿真系统进行分层管理控制、实现分布仿真
可扩充性的支撑基础,是基于HLA仿真的核心部 件,也是HLA仿真应用程序设计和运行的基础,
其功能类似于分布式操作系统. 对采用HLA体系结构的仿真系统,联邦的运 行和仿真成员时间的交互和协调都是通过RTI来
实现的.RTI的主要作用有: (1)RTI用程序设计语言将HLA接口规范中
定义的标准的服务和接口转换成了标准的RTI API函数,使得基于HIJA的仿真开发成为可能.
(2)为仿真应用提供了仿真运行管理功能. (3)提供了底层通信传输服务,屏蔽了网络通 信程序的复杂性.
(4)是仿真功能与仿真运行管理、底层通信传 输三者分离的基础,使仿真系统具有较好的扩充 性.
1.2 STK功能模块分析
卫星工具包STK是航天领域中先进的系统分 析软件.其中,STK提供的Connect模块提供给用
户在客户 服务器环境下与STK交互的一种简 单的连接方式,它为用户与STK之间进行交互提 供了基本的保障.它可使用随模块带的库建立和 使用TCP/IP端口.该库中包含函数、常数和其他
消息功能,可用于连接第三方的应用程序,它为其 他应用程序提供了一个向STK发送消息和接受数
据的通信工具 . STK在接收到第三方应用程序所发出的正确
的命令后,经过内部处理,会产生处理报告,或者 根据设置输出信息.通过连接模块控制STK而产 生的处理报告,与直接在STK中产生的报告完全
相同,而且报告类型也非常完整. STK/Connect允许打开Microsoft COM或者
TCP/IP到STK的连接,发送STK/Connect指令, 接收STK的数据,完成后关闭连接.STK/Connect 也提供一个消息功能以用户定义的方式来输出错
误和诊断信息.使用STK/Connect时,只需要提供 连接名和端口以便STK进行数据通信.STK/Con.
nect指令可以用单一函数发送并返回任何所期望 的数据.
2 RTI-STK中间成员的设计与实现
仿真系统是在Window操作平台上,采用了高 层体系结构HLA,并结合MAK/RTI2.2、STK等仿
真工具软件以及VC编程工具实现的,系统的关键 部分是采用了RTI.STK中间件的成员方式,将 STK与RTI相连,使STK集成到整个仿真系统中.
在基于HLA/RTI的分布式仿真系统的联邦中, RTI-STK中间件其本质上是一个联邦成员.
2.1功能设计
RTI.STK中间件的主要作用是连接STK与 RTI,使得STK可以通过RTI与其他HLA联邦中 的成员进行集成,从而完成一个大规模的仿真系
统.通过使用RTI.STK中间件可以将STK改造成 符合HLA分布式仿真标准的仿真软件,在系统联 邦运行时成为联邦成员,从而拓展了STK软件的 应用领域,增强其功能,满足大型分布式仿真环境
的需求. 在GPS仿真系统中,根据系统的功能需求,需
要对GPS卫星星座在STK中进行仿真,同时需要 对GPS接收机进行定位解算并在STK场景中进
行显示,因此RTI
-STK在此系统中要实现的功能 维普资讯 http://www.cqvip.com ・44・ 沈阳理工大学学报 2007年
主要有: (1)连接STK与RTI,成为一个联邦成员;
(2)通过STK/Connect模块与STK进行交互。 获取GPS卫星位置等信息以及将接收机定位解算 后的位置在STK场景中进行显示;
2.2功能实现 (3)通过RTI与HLA联邦中其他联邦成员进
行交互.
RTI—STK中间件与系统联邦的关系如图1所 示.
图1 RTI—STK中间件与系统联邦的关系
RTI-STK中间件在实现上采用代理成员模 式.仿真时,代理成员运行在一台计算机上,通过 与运行STK的计算机相连,使其成为STK与HLA 联邦中其它成员进行数据交互的接口.RTI.STK 中间件成员在HLA联邦中,与其它成员一样,在 HLA时间管理策略上即为时间受限,又为时间受 控・由于系统联邦采用了步长的时间步进机制,即 联邦中所有成员在当前步长完成后,才能推进到
F一个步长.RTI—STK中间件在联邦运行时的时 序如图2所示.
图2 RTI—STK中间件运行时序 程序启动运行时,代理成员首先初始化STK/
Connect模块,然后使用模块连接库中的Ag— ConOpenSTK()函数建立与STK服务器的连接.连 接建立后,使用AgConProces
sSTKCmd()函数向 维普资讯 http://www.cqvip.com 第4期 张馨等:RTI.STK中间件在GPS导航仿真系统中的设计与实现 45・
STK发送连接控制命令.连接控制命令存在于 Connect模块的连接库中,RTI.STK中间件通过使 用这些命令,可以向STK场景传送和获取数据,如 获取仿真时STK场景当前运行的时间、GPS卫星
的位置和速度以及设置接收机载体在场景中的位 置显示.
函数int AgConProcessSTKCmd(char con- text,Char cmdString,AgConReturnInfo retum- Info)在程序中以交互类的形式实现,其参数con.
text、cmdString的数据类型为字符串,分别表示了 接受命令的不同连接和命令的具体内容;参数re-
turnInfo为自定义的复杂数据类型,表示了异步通 讯模式、存储类型、标识符信息、返回数据包的数
目以及每一个具体数据包的信息. . RTI.STK中间件加入HLA联邦运行后,联邦
中的其它成员会向联邦发出命令交互,获取仿真 运行时所需的数据参数,RTI.STK中间件接受命 令交互并向STK发送交互命令,STK接受命令后
做出应答.应答信息包含一个枚举数据类型的参 数,有AgCNoError、AgcError和AgCNackReturned
三种值.STK接受命令后,根据这些命令生成场景 对象,或改变已有场景对象的属性、状态.RTI-STK 中间件将STK中生成的场景对象类实例的属性随