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 场景的复杂化,项目的重组变得更加重要。后续模块将包括将单个启动文件分离为多个资源文件。对于即将到来的模块,将不再直接向启动文件添加代码,而是将内容添加到新的文件或适当的现有资源文件中。
总结
传感器能够为其感知的特定领域签名生成轨迹。签名定义了给定平台在特定领域内的可探测性。轨迹是平台在决策时响应自动化的关键,当这些轨迹被传递给处理器进行解释时,处理器和轨迹将在后续模块中讨论。
相关文章:
AFSim仿真系统 --- 系统简解_08 传感器与特征
传感器与特征 传感器是平台的一部分,为拥有该平台提供了探测其他平台及其组成部分的能力。 特征是平台的一种属性,用于确定特定传感器是否能够探测到特征所拥有的平台。 以下是用于探测平台的一些特征属性列表: 声学红外光学雷达 AFSIM …...
已经安装了qt,想添加mingw组件,包含gcc等
1、已经安装了qt,想添加mingw组件, 步骤1 双击打开MaintenanceTool.exe, 步骤2: 选择清华大学开源软件镜像网站,选择相应QT版本添加网址https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x8…...
数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎(一)(20241009)
数据库管理250期 2024-10-09 数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎(一)(20241009)1 简介2 引擎构成3 引擎架构4 文件分布5 分布式MVCC6 限制/要求总结 数据库管理-第250期 深入浅出多主多活数据库技术…...
信号用wire类型还是reg类型定义
wire类型就是一根线,线有两端,一端发生改变,经过线传递的信号当然也会发生改变,reg类型则不同,可以把reg类型理解为存储数据的寄存器,当满足一定条件时,数值才被激活发生改变。 那么࿰…...
与鸿蒙同行,Java Solon v3.0 正式发布(向下兼容)
与 HarmonyOS NEXT 10月8日公测同行。Solon (开放原子开源基金会,孵化项目) v3.0 正式发布, 且将在 2025 年启动华为编程语言 “仓颉” 版开发(届时会有 Solon-Java 和 Solon-CJ 两大版本)。本次大版本更新…...
数据驱动投资:AI在股票市场的应用
当ChatGPT首次亮相时,其卓越的语言处理能力立刻引起了许多行业的广泛关注,投资界也不例外。关于ChatGPT是否能应用于投资决策的问题,迅速成为热门讨论的焦点。 近期,加拿大多伦多大学和印度孟买理工学院的研究人员联合开展了一项…...
Tita使用小技巧:项目类型自定义,业务管理个性化
应用场景 某互联网企业,企业内部有研发部,有销售部 研发部通常需要管理各种技术研发类型项目,因此需要管理「研发型」项目,该类型项目需要明确「所属产品」、「级别管理:国家级/省市级」、「项目类别:创新…...
国药准字:您购药的可靠指南
益安宁丸为同溢堂药业有限公司所独家生产的一款中成药,在内地市场和港澳地区均有上市。 益安宁丸真品的唯一标准:无论港版还是内地版,包装盒必然有国药准字Z20063087标识,但凡没有国药准字标识的必为假药。...
Python类学习(2)——未完待续
函数和类的参数传递 实例方法 class House:# 类构造方法,也是实例方法def __init__(self, area, price):self.area areaself.price pricedef cls_func(self, arg):print(arg)my_house House(America, 330) # 实例化类对象,需要传入init中的两个参数 print(f…...
微前端框架 qiankun 全面解析到源码实现
微前端(Micro Frontends)是一种将大型前端应用拆分为多个独立模块的架构设计思想,旨在解决复杂应用开发与维护的难题。qiankun 是目前流行的微前端解决方案之一,基于 single-spa 进行封装,提供了一种简单且完整的微前端…...
初始化数据的正确方式?
关于这篇文章 https://proandroiddev.com/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62 pl的视频解读 当在viewmodel中需要进行数据的初始化的时候 viewmodel.initData() 放在哪里合适呢,大部分情况下可以放在 viewmodel的init{}模块&…...
Flutter平台嵌入器
When you build a Flutter app, it’s not just about the code you write in Dart and the Flutter framework. There’s also a crucial piece called the platform embedders that enable your Flutter app to run on different operating systems like Android, iOS, and s…...
微信小程序——婚礼邀请函
一、界面设计 首页: 精美的婚礼主题背景图,可能是新人的婚纱照或浪漫的插画。温馨的欢迎语,如 “欢迎参加我们的婚礼”。一个 “打开邀请函” 的按钮,引导用户进入邀请函详情页面。 邀请函详情页面: 顶部展示新人的照片…...
WebRTC Connection Negotiate解决
最近有个项目 ,部署之后一直显示,查了一些资料还是没有解决,无奈只有自己研究解决?经过排查,应该是内网穿透的问题 什么是内网穿透? 我们访问我们自己的官网产品页面,我们的服务器是一个单独…...
Redis面试篇1
1、为什么要用缓存? 使用缓存的目的就是提升读写性能。在实际的业务场景下,更多的是为了提升读性能,带来更好的性能和并发量。Redis的读写性能比MySQL好的多,我们就可以把MySQL中的热点数据缓存到Redis,提升读取性能&…...
Debezium系列之:Debezium 3.0.0.Final发布
Debezium系列之:Debezium 3.0.0.Final发布 Debezium 核心的变化需要 Java 17基于Kafka 3.8 构建废弃的增量信号字段的删除每个表的详细指标MariaDB连接器的更改版本 11.4.3 支持MongoDB连接器的更改MongoDB sink connectorMySQL连接器的改变MySQL 9MySQL向量数据类型Oracle连接…...
一文解决jQuery表格插件DataTable导出PDF中文乱码问题
原因是默认字体不支持中文,需要更换字体。 详情官网:pdfmake 官网的大致意思是,下载pdfmake后,自行生成可用的字体js文件 以下是详细操作: 重要前提:电脑上需要已安装nodejs 点击进入官网下载安装即可&a…...
使用pytorch进行迁移学习的两个步骤
1. 步骤及代码 迁移学习一般都会使用两个步骤进行训练: 固定预训练模型的特征提取部分,只对最后一层进行训练,使其快速收敛;使用较小的学习率,对全部模型进行训练,并对每层的权重进行细微的调节。 impor…...
ChatGPT相关参数示例
max_token 用于控制最大输出长度,若ChatGPT的回复大于max_tokens,则对输出结果进行截断。 from openai import OpenAI client OpenAI(base_url"https://api.chatanywhere.tech/v1" ) response client.chat.completions.create(model"…...
OWASP发布大模型安全风险与应对策略(QA测试重点关注)
开放式 Web 应用程序安全项目(OWASP)发布了关于大模型应用的安全风险,这些风险不仅包括传统的沙盒逃逸、代码执行和鉴权不当等安全风险,还涉及提示注入、对话数据泄露和数据投毒等人工智能特有的安全风险。 帮助开发者和测试同学更…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
