当前位置: 首页 > 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 场景的复杂化,项目的重组变得更加重要。后续模块将包括将单个启动文件分离为多个资源文件。对于即将到来的模块,将不再直接向启动文件添加代码,而是将内容添加到新的文件或适当的现有资源文件中。

总结

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

相关文章:

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类型理解为存储数据的寄存器,当满足一定条件时,数值才被激活发生改变。 那么&#xff0…...

与鸿蒙同行,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)发布了关于大模型应用的安全风险,这些风险不仅包括传统的沙盒逃逸、代码执行和鉴权不当等安全风险,还涉及提示注入、对话数据泄露和数据投毒等人工智能特有的安全风险。 帮助开发者和测试同学更…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

线程同步:确保多线程程序的安全与高效!

全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

反射获取方法和属性

Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...