当前位置: 首页 > news >正文

AFSim仿真系统 --- 系统简解_08 传感器与特征

传感器与特征

传感器是平台的一部分,为拥有该平台提供了探测其他平台及其组成部分的能力。

特征是平台的一种属性,用于确定特定传感器是否能够探测到特征所拥有的平台。

以下是用于探测平台的一些特征属性列表:

  • 声学
  • 红外
  • 光学
  • 雷达

AFSIM 提供了信号传播、衰减、杂波和错误的选项,传感器支持发射器、接收器和天线的使用,以提供更高保真的建模和仿真;然而,这些是高级主题,在本指南中没有详细讨论。

以下列表包括一些预定义传感器模型:

  • WSF_RADAR_SENSOR
  • WSF_ESM_SENSOR
  • WSF_SAR_SENSOR
  • WSF_IRST_SENSOR

快速入门

在建模飞机时,雷达特征一般对于总体建模目的而言是最重要的。有了明确的雷达特征,飞机可以被雷达传感器探测到。

要定义雷达特征,请在全局范围内(不在平台、平台类型或其他命令块内)将以下特征命令块添加到场景文件中。此示例中的命名遵循本指南中早期的示例:

radar_signature CARGO_AIRCRAFT_RADAR_SIGconstant 10 m^2
end_radar_signature

然后将这个特征属性提供给相关的平台类型定义:

platform_type CARGO_AIRCRAFT WSF_PLATFORM...radar_signature CARGO_AIRCRAFT_RADAR_SIGend_platform_type

现在,所有继承这个类型的平台都可以被雷达传感器探测到。接下来,可以通过将以下传感器命令块添加到现有平台或平台类型定义中来定义一个简化的雷达传感器。或者,传感器也可以独立定义并根据需要添加到指定的平台或平台类型中。

sensor AIR_RADAR WSF_GEOMETRIC_SENSORframe_time 5 secmaximum_range 30 nmreports_locationreports_bearingon
end_sensor

注意:为简单起见,此示例中使用 WSF_GEOMETRIC_SENSOR,因为它是基于几何的跨领域传感器模型。要实现更高保真的雷达,参见 WSF_RADAR_SENSOR。

更深入的观察

传感器的功能各异,但一般来说,它们识别平台的存在。直观的传感器示例包括人眼,可以建模为 WSF_OPTICAL_SENSOR;人耳可以建模为 WSF_ACOUSTIC_SENSOR。然而,如果检测目标的可探测性未被定义,这些传感器的价值会大大降低。特征在这里发挥作用。特征定义了特定平台或平台部分在相关领域内的“可探测性”。建筑物的 WSF_OPTICAL_SIGNATURE 定义了光是如何从建筑物反射出去的,以便被 WSF_OPTICAL_SENSOR 探测(或看到)。同样,飞机的 WSF_ACOUSTIC_SIGNATURE 定义了该飞机产生的噪声的频率和能量(响度),使之能够被 WSF_ACOUSTIC_SENSOR 探测到(或听到)。不同的传感器/特征对各自落入一个领域,描述了平台的可探测性以及传感器在相应领域内探测的能力。

注意:以下步骤假设“simple_flight”场景存在,如“移动器和路线”中所讨论。

添加雷达特征

如“快速入门”中所述,可以通过在 simple_flight.txt 脚本中添加以下 radar_signature 命令块来在 simple_flight 中定义一个雷达特征:

radar_signature CARGO_AIRCRAFT_RADAR_SIGconstant 10 m^2
end_radar_signature

提示:这是一个简单的球形雷达特征,旨在展示功能。可以使用雷达特征命令块中的其他命令定义更复杂/准确的特征。

要将这个雷达特征与 CARGO_AIRCRAFT 关联,请在相关的平台类型定义中包含以下代码:

radar_signature CARGO_AIRCRAFT_RADAR_SIG 

添加雷达

雷达是一种传感器,是 AFSIM 仿真中另一个关键的平台部分。传感器定义中可以包含附加的子命令,这些子命令会影响传感器的属性,包括视场、它对已探测实体报告的信息以及其范围。这将对于防止在 simple_flight 场景中两架飞机之间的碰撞非常重要。

添加雷达后,现在重要的是将两架飞机分配到不同的团队/侧,以确保在即将到来的模块中期望的行为。

1 将以下团队颜色添加到 cargo-1 和 cargo-2 的平台定义中(如果在地图显示中选择平台,可以在向导的“平台详情”中完成):

platform cargo-1 CARGO_AIRCRAFT...side blue
end_platformplatform cargo-2 CARGO_AIRCRAFT...side green
end_platform

 2 接下来,将以下传感器定义添加到 CARGO_AIRCRAFT 平台类型定义中(如果传感器独立定义,可以从平台浏览器 > 右键单击 > 管理平台部件中完成),并保存文件:

sensor AIR_RADAR WSF_GEOMETRIC_SENSORframe_time 3 secmaximum_range 50 nmreports_locationreports_bearingreports_sidereports_velocityazimuth_field_of_view   -45.0 deg  45.0 degelevation_field_of_view -15.0 deg  15.0 degon
end_sensor

 

通过这一添加,当两架飞机的距离接近传感器指定的最大范围时,双方将探测到彼此(并为之创建跟踪)。

在仿真开始时,Warlock 的地图显示应反映以下内容(传感器体积与路线的可视性可以通过 Warlock 的平台选项小部件显示):

 

复习

完成该模块后,simple_flight 项目应包括一个单一的场景文件 simple_flight.txt,该文件反映以下内容:

simple_flight 演示

# simple_flight demosimulation_name "Simple Flight"execute at_time 0.1 sec absolutewriteln("\nSimulating simple_flight scenario...");
end_executeend_time 30 minradar_signature CARGO_AIRCRAFT_RADAR_SIGconstant 10 m^2
end_radar_signatureplatform_type CARGO_AIRCRAFT WSF_PLATFORMicon c130spatial_domain aircategory cargomover WSF_AIR_MOVERupdate_interval 3 secend_moverradar_signature CARGO_AIRCRAFT_RADAR_SIGsensor AIR_RADAR WSF_GEOMETRIC_SENSORframe_time 5 secmaximum_range 30 nmreports_locationazimuth_field_of_view   -45.0 deg  45.0 degelevation_field_of_view -15.0 deg  15.0 degignore_same_sideonend_sensorend_platform_typeplatform cargo-1 CARGO_AIRCRAFTside blueheading 90 degaltitude 8000 mrouteposition 00:30s 01:30w altitude 8000 m speed 500 km/hposition 00:30s 01:45eend_routeend_platformplatform cargo-2 CARGO_AIRCRAFTside greenheading -90 degaltitude 8000 mrouteposition 00:30s 01:30e altitude 8000 m speed 500 kmhposition 00:30s 01:45wend_routeend_platform

注意:随着 simple_flight 场景的复杂化,项目的重组变得更加重要。后续模块将包括将单个启动文件分离为多个资源文件。对于即将到来的模块,将不再直接向启动文件添加代码,而是将内容添加到新的文件或适当的现有资源文件中。

总结

传感器能够为其感知的特定领域签名生成轨迹。签名定义了给定平台在特定领域内的可探测性。轨迹是平台在决策时响应自动化的关键,当这些轨迹被传递给处理器进行解释时,处理器和轨迹将在后续模块中讨论。

http://www.lryc.cn/news/456259.html

相关文章:

  • 已经安装了qt,想添加mingw组件,包含gcc等
  • 数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎(一)(20241009)
  • 信号用wire类型还是reg类型定义
  • 与鸿蒙同行,Java Solon v3.0 正式发布(向下兼容)
  • 数据驱动投资:AI在股票市场的应用
  • Tita使用小技巧:项目类型自定义,业务管理个性化
  • 国药准字:您购药的可靠指南
  • Python类学习(2)——未完待续
  • 微前端框架 qiankun 全面解析到源码实现
  • 初始化数据的正确方式?
  • Flutter平台嵌入器
  • 微信小程序——婚礼邀请函
  • WebRTC Connection Negotiate解决
  • Redis面试篇1
  • Debezium系列之:Debezium 3.0.0.Final发布
  • 一文解决jQuery表格插件DataTable导出PDF中文乱码问题
  • 使用pytorch进行迁移学习的两个步骤
  • ChatGPT相关参数示例
  • OWASP发布大模型安全风险与应对策略(QA测试重点关注)
  • 【HarmonyOS开发笔记 2 】 -- ArkTS语法中的变量与常量
  • UI自动化测试示例:python+pytest+selenium+allure
  • C/C++ 编程小工具
  • 第四十二章 使用 WS-ReliableMessaging
  • 利士策分享,婚姻为何被称为大事?
  • malloc源码分析之 ----- 你想要啥chunk
  • 软考系统分析师知识点五:数据通信与计算机网络
  • windows客户端SSH连接ubuntu/linux服务器,三种网络连接:局域网,内网穿透(sakuraftp),虚拟局域网(zerotier)
  • Python 工具库每日推荐【openpyxl 】
  • 本地生活服务项目入局方案解析!本地生活服务商系统能实现怎样的作业效果?
  • ML 系列:【13 】— Logistic 回归(第 2 部分)