技术领域
[0001] 本
发明涉及网络仿真技术领域,更具体地说,涉及基于OMNeT++与STK仿真平台的多飞行器联合仿真系统。
背景技术
[0002] 飞行器是在大气层内或大气层外空间飞行的器械。飞行器包括航空器和
航天器等。在大气层内飞行的称为航空器,如气球、
飞艇、飞机等。在太空飞行的称为航天器,如人造地球卫星、载人飞船、空间探测器、航天飞机等。飞行器的各子系统之间,以及飞行器与外部环境之间呈现出耦合性较强,如何对多飞行器联合仿真是目前亟需解决的技术问题。
[0003] 在实现本发明过程中,
发明人发现
现有技术中至少存在如下技术问题:网络仿真
软件只能模拟多飞行器联合仿真中的数据链网络的信息传输流程,无法仿真射频运行环境。
发明内容
[0004] 有鉴于此,本发明提出基于OMNeT++与STK仿真平台的多飞行器联合仿真系统,欲实现在实验室环境下对多飞行器之间的协同进行联合仿真的目的。
[0005] 为了实现上述目的,现提出的方案如下:
[0006] 一种多飞行器联合仿真系统,包括:
[0007] 基于OMNeT++的数据链网络子系统,用于对多飞行器协同网络的
载荷进行仿真;
[0008] 基于STK的场景与态势监控子系统,用于对多飞行器协同飞行进行
可视化场景仿真和态势展示;以及,
[0009] 联合仿真
接口,用于所述场景与态势监控子系统,与所述数据链网络子系统之间的数据交互。
[0010] 可选的,所述联合仿真接口,具体用于:
[0011] 接收所述数据链网络子系统发送的第一数据包,从所述第一数据包中提取出整型数据和浮点型数据;
[0012] 将从所述第一数据包中提取的数据转换为字符型数据后打包传输至所述场景与态势监控子系统;
[0013] 接收所述场景与态势监控子系统发送的第二数据包,从所述第二数据包中提取出字符型数据;
[0014] 将从所述第二数据包提取的数据转换为整型数据或浮点型数据后打包传输至所述数据链网络子系统。
[0015] 可选的,所述场景与态势监控子系统,包括:
[0016] 基于STK生成的多个飞行器模型;
[0017]
通信接口,用于与所述联合仿真接口连接;
[0018] 数据解析与驱动模
块,用于对所述数据链网络子系统传输的数据进行解析得到各个所述飞行器模型的飞行参数,并生成各个所述飞行器模型的控制指令;
[0019] 多
节点实时模块,用于根据各个所述飞行器模型的控制指令,同步驱动各个所述飞行器模型的飞行状态;以及
[0020] 视景演示模块,用于显示各个所述飞行器模型的飞行过程。
[0021] 可选的,所述场景与态势监控子系统,还包括:三维模型库;
[0022] 所述三维模型库包括大气、星空和飞行器的三维模型;
[0023] 所述视景演示模块,还用于利用所述三维模型库中的三维模型显示各个所述飞行器模型的飞行过程。
[0024] 可选的,所述场景与态势监控子系统,还包括:
[0025] 回放模块,用于各个所述飞行器模型的飞行过程的回放、
加速展示、减速展示和跳转。
[0026] 可选的,所述数据链网络子系统,包括:
[0027] 包含应用层协议模型、传输层协议模型、网络层协议模型和链路层协议模型的协议模型库;
[0028] 包含物理层通道模型的链路模型库;
[0029] 包含随机移动模型和轨迹移动模型的移动模型库;以及,
[0030] 包含网络场景的场景模型库。
[0031] 与现有技术相比,本发明的技术方案具有以下优点:
[0032] 上述技术方案提供的一种多飞行器联合仿真系统,利用基于OMNeT++的数据链网络子系统,对多飞行器协同网络的载荷进行仿真;利用基于STK的场景与态势监控子系统,对多飞行器协同飞行进行可视化场景仿真和态势展示;以及,通过联合仿真接口实现场景与态势监控子系统,与数据链网络子系统之间的数据交互。OMNeT++可以用来仿真任何离散事件的系统,基于OMNeT++的数据链网络子系统实现多飞行器的网络模型之间的互联。利用STK中的通信模块包括多种发射机模型和接收机模型,可以射频运行环境。本发明提供的一种多飞行器联合仿真系统,利用联合仿真接口实现了基于基于OMNeT++的数据链网络子系统,与基于STK的场景与态势监控子系统的结合,不但可以模拟多飞行器联合仿真中的数据链网络的信息传输流程,还可以仿真射频运行环境,实现了实验室环境下对多飞行器之间的协同进行联合仿真。
附图说明
[0033] 为了更清楚地说明本发明
实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0034] 图1为本发明实施例提供的一种多飞行器联合仿真系统的结构示意图;
[0035] 图2为本发明实施例提供的一种多飞行器联合仿真系统的详细结构示意图。
具体实施方式
[0036] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037] 现对本发明设计的名词进行解释,以便于对本发明方案的理解:
[0038] OMNeT++(Objective Modular Network Testbed in C++,基于组件的模块化的开放的网络仿真平台),可以用来仿真任何离散事件的系统,包括仿真通信网的业务流、通信协议的模型、并行系统、多处理器系统和分布式系统,能够实现网络对象的基本模型之间的互联,并使复杂的网络通信和拓扑结构得到简单正确的仿真。
[0039] STK(Systems Tool Kits,卫星仿真工具包),利用STK进行可视化仿真,能够直观的反映飞行器任意时刻的速度、
位置、
姿态以及轨迹曲线,真实的模拟飞行器的飞行过程,并可以方便、快速地进行图表/曲线分析,为研究人员迅速进行试验结果评估和进行决策提供依据。
[0040] 参见图1,为本实施例提供的一种多飞行器联合仿真系统,包括:基于OMNeT++的数据链网络子系统、基于STK的场景与态势监控子系统和联合仿真接口。其中,[0041] 基于OMNeT++的数据链网络子系统,用于对多飞行器协同网络的载荷进行仿真;多飞行器协同网络的载荷包括但不限于无线通信、数据链和组网。
[0042] 基于STK的场景与态势监控子系统,用于对多飞行器协同飞行进行可视化场景仿真和态势展示。STK中的通信模块组件提供了分析通信系统性能的工具,此通信模块可以生成通信链路报表、二维或三维图形,计算空间损耗、雨衰、大气损耗等系统干扰。该通信模块还包括多种的发射机模型和接收机模型,这些模型可以配置给飞行器模型。此外该通信模块还包括多种天线类型的模型,可以根据轨道的设置和轨道的位置条件实现对通信链路特性的详细分析。
[0043] 联合仿真接口,用于基于OMNeT++的数据链网络子系统,与基于STK的场景与态势监控子系统之间的数据交互。联合仿真接口在两个系统进行数据交互时,进行数据包格式的转换。
[0044] 联合仿真接口,进行数据包格式转换的具体过程为:联合仿真接口接收到基于OMNeT++的数据链网络子系统发送的第一数据包时,也就是接收到数据包为AirFrame包时,从AirFrame包的结构体数据中提取出整型数据和浮点型数据,然后将从第一数据包中提取的数据转换为字符型数据后打包传输至基于STK的场景与态势监控子系统。传输至基于STK的场景与态势监控子系统的数据包包含频点、调制方式和信道模型等状态数据,以及节点ID和字节数等业务数据。
[0045] 状态数据用于控制发射机和接收机的当前采用的频点、调制方式和信道模型等。业务数据主要用于接收机解调出接收到的数据包,对于正确解析数据包起到辅助作用;业务数据包中还包含节点ID和字节数,以及一些统计或计算结果,例如丢
帧、错帧和误码率等信息。业务数据还用于标识飞行器的当前所处的位置和姿态。
[0046] 联合仿真接口接收基于SKT的场景与态势监控子系统发送的第二数据包,从第二数据包中提取出字符型数据;将从第二数据包提取的字符型数据转换为整型数据或浮点型数据后,打包传输至基于OMNeT++的数据链网络子系统。传输至基于OMNeT++的数据链网络子系统的数据包包含位置、姿态、误码率等业务数据。
[0047] 预先定义字符型数据转换为整型数据,或者预先定义字符型数据转换为浮点型数据。在实际仿真过程按照预先定义的规则,将从第二数据包提取的字符型数据转换为整型数据或浮点型数据。
[0048] 基于OMNeT++的数据链网络子系统,与基于STK的场景与态势监控子系统的结合,具备数字仿真能
力,可从物理层、链路层、网络层、传输层与应用层的各层协议进行仿真验证;系统具备动画显示能力,可以实现多飞行器协同飞行中的场景可视化仿真和态势监控。OMNeT++的数据链网络子系统具有仿真协议层,基于STK的场景与态势监控子系统仿真具有调制方式的物理层,还具有姿态、位置监视等功能。
[0049] 参见图2,基于STK的场景与态势监控子系统,包括:通信接口、数据解析与驱动模块、多节点实时模块、视景演示模块和多个飞行器模型。其中,
[0050] 飞行器模型包括通过STK中的通信组件配置的发射机模型和接收机模型。
[0051] 通信接口,用于与联合仿真接口连接。接收数据链网络子系统传输的数据。
[0052] 数据解析与驱动模块,用于对数据链网络子系统传输的数据进行解析得到各个飞行器模型的飞行参数,并生成各个飞行器模型的控制指令。
[0053] 多节点实时模块,用于根据各个飞行器模型的控制指令,同步驱动各个飞行器模型的飞行状态。多节点实时模块通过调用STK的RT3(Real-Time Tracking Technology)扩展包,同步驱动各个飞行器模型的飞行状态。
[0054] 视景演示模块,用于显示各个飞行器模型的飞行过程。
[0055] 场景与态势监控子系统,还可以包括:三维模型库和回放模块。三维模型库包括大气、星空和飞行器的三维模型。视景演示模块,还用于利用三维模型库中的三维模型显示各个飞行器模型的飞行过程。回放模块,用于各个飞行器模型的飞行过程的回放、加速展示、减速展示和跳转。
[0056] 参见图2,基于OMNeT++的数据链网络子系统,包括:协议模型库、链路模型库、移动模型库以及场景模型库。OMNeT++仿真核心是实现数据链网络子系统的仿真开发、仿真驱动的软件,OMNeT++仿真核心包含OMNeT++仿真
内核、OMNeT++指令集与API函数库、OMNeT++的展示与接口工具集以及网络协议开发工具集。OMNeT++具备代码编译、仿真驱动和展示界面调用等功能,数据链网络子系统包括的协议模型库、链路模型库、移动模型库以及场景模型库,均通过OMNeT++进行编译与集成。
[0057] 场景模型库包含网络场景。场景模型库的层次最高,协议模型、链路模型和移动模型在场景模型库中整合,并在编译过程中由OMNeT++的内核实例化。协议模型库包含预定义或用户自定义的应用层协议模型、传输层协议模型、网络层协议模型和链路层协议模型。链路模型库包含物理层通道模型;移动模型库包含随机移动模型和轨迹移动模型的。
[0058] 本实施例提供的联合仿真接口,实现了基于OMNeT++的数据链网络子系统,与基于STK的场景与态势监控子系统的结合,具备数字仿真能力,可从物理层、链路层、网络层、传输层与应用层的各层协议进行仿真验证;系统具备动画显示能力,可以实现多飞行器协同飞行中的场景可视化仿真和态势监控。
[0059] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0060] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0061] 对本发明所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种
修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。