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)发布了关于大模型应用的安全风险,这些风险不仅包括传统的沙盒逃逸、代码执行和鉴权不当等安全风险,还涉及提示注入、对话数据泄露和数据投毒等人工智能特有的安全风险。 帮助开发者和测试同学更…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
WEB3全栈开发——面试专业技能点P4数据库
一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await…...

向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...