本栏目将对《AFSim 2.9中文参考手册》进行持续更新,欢迎关注交流!
获取本书全文和AFSIM其它资料,请联系作者~
全部内容索引请看 ⬇️⬇️⬇️《AFSim 2.9中文参考手册》-CSDN博客https://blog.csdn.net/henggesim/article/details/145566384
目录
Extensions and Plug-Ins(扩展和插件)
Distributed Simulation Interfaces(分布式仿真接口)
本文档描述了AFSIM架构的终端用户视角,旨在帮助终端用户深入了解AFSIM的操作概念。
一、核心架构
AFSIM的面向对象C++架构提供了一个可扩展和模块化的架构,允许轻松集成许多附加功能。AFSIM允许在框架中插入和使用新的组件模型(例如传感器、通信、移动设备等),以及全新的组件类型。扩展和插件是扩展框架以集成新的平台组件模型、新的和扩展的平台能力以及新的和扩展的仿真服务的主要机制。插件功能是一种扩展形式,允许在不重新编译核心AFSIM代码的情况下添加功能。使用插件可以更轻松地分发扩展功能,并提供选择在特定分析中使用哪些扩展功能的能力。下图显示了AFSIM主要框架组件和提供的服务,这些组件和服务可以被扩展。
二、核心应用
基于AFSIM的可执行文件通常由一个利用AFSIM服务的AFSIM“应用程序”组成。该应用程序维护脚本类型、扩展和插件管理器以及应用程序配置数据。应用程序由一个或多个场景组成,这些场景拥有类型工厂和列表、用户输入和脚本。根据应用程序的不同,场景由一个或多个仿真组成。仿真包含类型实例、接口(例如DIS、XIO、观察者、地形)和运行时数据,包括事件管理和线程处理。
三、核心服务
AFSIM提供了处理和支持仿真执行及其他常规计算和基本功能的能力。
- Scenarios - 提供场景输入处理、类型列表和脚本。
- Simulations - 提供基于时间的事件处理并维护平台列表。
- Thread Management - 提供线程和多线程管理能力。
- Extensions and Plug-Ins - 提供添加新服务和组件的通用方法。
- Script - 提供实现和扩展AFSIM脚本语言的基础设施。
- Observer - 提供用于从仿真中提取数据的通用发布-订阅服务。
- Tasking - 允许进行跨平台任务分配和行为建模。
- Tracking - 允许从传感器测量中生成轨迹,并进行轨迹关联和融合。
- Geospatial - 提供地形和视线数据。
- Distributed Simulation Interfaces - 仿真接口应用接口标准以实现仿真互操作性(IEEE 1278和1516)。
- Utilities - 提供地球模型、坐标系、数学例程、人工智能结构等。
Scenarios(场景)
场景输入加载器提供了从输入文件加载仿真的机制。场景类型列表和脚本为AFSIM组件和脚本提供了用户输入的内部表示。一个应用程序中可能有多个场景,尽管这有些不常见。
Simulations(仿真)
每个仿真维护一个平台列表。仿真是从场景中的场景类型列表实例化的。仿真使用时间管理来推进仿真的状态,可以是实时或比实时更快的模式,即建设性(尽可能快)模式。仿真拥有一个事件管理器,负责按时间顺序处理事件。虽然AFSIM是基于事件的,但事件是抽象的,因此分析人员不必担心它们。每个场景可能有多个仿真。
Thread Management(线程管理)
仿真线程管理使仿真执行更快、更优雅,尤其是在虚拟实时环境中。线程化允许某些处理并行执行,使用独立的执行线程,例如传感器和移动更新、仿真接口和地理空间检查。
Extensions and Plug-Ins(扩展和插件)
扩展:应用程序、场景和仿真都可以“扩展”。应用程序扩展代表可以添加到应用程序的可选功能。场景扩展用于注册新组件类型并提供对输入加载器的访问。仿真扩展提供特定于仿真的可选功能,并提供对观察者服务的访问。
插件:扩展插件管理允许在不更改已交付框架代码的情况下开发扩展的AFSIM功能。
Utilities(实用工具)
AFSIM实用工具提供了多种软件工具:
- 专用数据类型
- 人工智能结构
- 数学类和算法
- 输入、输出和文件管理例程
- 时间管理
- 地球坐标参考框架和大气数据
- 观察者服务使用的发布/订阅类
- 以及许多其他功能……
Tasking(任务分配)
任务分配是一种用于发送和接收与轨迹或感知相关的任务分配的服务。任务分配允许用户使用有限状态机的概念对轨迹进行分类。用户定义一组转换规则,这些规则定义了从一个状态转换到另一个状态的条件。每个轨迹在AFSIM任务分配中维护自己的状态。
Tracking(跟踪)
提供轨迹关联、轨迹过滤和轨迹融合。AFSIM中提供了本地跟踪算法。此外,还可以集成第三方跟踪算法。AFSIM目前支持:
- 完美和不完美的轨迹关联选项。
- 多种轨迹过滤器选择。
- 协方差矩阵提供检测和轨迹概率区域。
Geospatial Data(地理空间数据)
地形(地理空间数据)管理为DTED和“浮动网格”(兼容ESRI-GIS)数据库提供优化的地形高程查询。视线管理提供目标可见性计算的服务。
Observer(观察者)
观察者允许在不更改框架的情况下提取数据。用户可以轻松创建“脚本观察者”来使用脚本类型输出提取数据,而无需软件修改。观察者可用于标准和自定义输出、重放文件和分布式接口。
Script(脚本)
脚本管理器理解脚本类型并启用脚本语言。脚本类型易于扩展,以适应新集成的模型和服务。
Distributed Simulation Interfaces(分布式仿真接口)
- DIS & HLA:AFSIM封装了行业标准接口,允许平台与其他仿真中的实体进行交互。
- XIO:AFSIM专用接口,允许仿真在多台计算机之间分布,并通过图形用户界面进行仿真控制。
四、核心组件
Platforms(平台)
平台是其组成组件的容器。平台由以下部分组成:
- 物理组件
- 智能计算组件
- 信息
- 属性
- 链路
Movers(移动器)
移动器维护其附属平台的运动状态(位置、方向、速度、加速度等)。可用的移动器选项很多,从水下到空间运动模型都有。
Communications(通信)
通信设备使用外部链接在平台之间传输和接收消息。AFSIM允许使用有线或无线设备,通过发射器、接收器和天线来捕捉通信系统的全部物理特性。
Sensors(传感器)
传感器创建测量并通过链接在轨迹消息中传输它们。在AFSIM中,传感器通常使用发射器、接收器和天线。AFSIM中有多种雷达传播、消光、杂波和误差选项。
Weapons(武器)
武器是用于阻止其他物体运行的东西(无论是永久还是暂时)。在AFSIM中,大多数武器是显式武器,其中物体被明确建模为平台(例如导弹和炸弹),而隐式武器在仿真中不作为平台表示(例如干扰器或激光)。
Processors(处理器)
处理器定义行为或计算算法,类似于人脑或计算机。大多数处理器由用户使用AFSIM脚本语言定义,afsim不过AFSIM也提供了许多专用处理器。
Terminology(术语)
- AFSIM - 高级仿真、集成和建模框架
- COMMS - 通信
- DIS - 分布式交互仿真
- HLA - 高层架构
- WSF - 世界仿真框架
- XIO - 外部输入/输出