AFSim仿真系统 --- 系统简解_10处理器 (Processors)

news2025/1/17 3:59:03

处理器 (Processors)

处理器提供了为特定平台定义行为的能力。

大多数处理器由用户使用 AFSIM 脚本语言定义。

以下是一些预定义的处理器类型:

  • WSF_DIRECTION_FINDER_PROCESSOR
  • WSF_TRACK_PROCESSOR
  • WSF_MESSAGE_PROCESSOR
  • WSF_GUIDANCE_COMPUTER
  • WSF_IMAGE_PROCESSOR
  • WSF_TASK_PROCESSOR

有多种内置处理器可用,每种处理器都具有独特的功能。本指南将演示一个常用模型的实现,WSF_TRACK_PROCESSOR。

快速入门

跟踪处理器的主要职责是为跟踪管理器实现处理器接口。它负责三个主要功能:

  1. 接收来自本地和离板来源的报告(跟踪)
  2. 将报告(跟踪)提供给跟踪管理器以进行关联和融合
  3. 将更新的跟踪信息发送给相关方

要实现一个跟踪处理器,请在场景中的平台或平台类型定义中包含以下代码片段:

 

processor track_proc WSF_TRACK_PROCESSOR
   master_track_processor
   purge_interval 10 sec
   report_interval 3 sec
end_processor
 

要接收来自传感器的跟踪信息,连接的传感器必须在所需的传感器定义中包含以下代码行:

internal_link track_proc

跟踪数据也可以通过通信和 external_link 命令传递给其他平台。此外,内部任务处理器可以执行行为并采取行动。行为和通信将在接下来的模块中讨论。在可以利用行为之前,必须先定义任务处理器。可以使用以下代码定义任务处理器(任务管理器):

processor TASK_MANAGER WSF_TASK_PROCESSOR
   update_interval 10 sec
end_processor

然后,使用以下代码将该处理器的实例添加到所需的平台或平台类型定义中:

add processor task_mgr TASK_MANAGER
end_processor

注意:如果 TASK_MANAGER 实现了行为树,拥有平台将根据此做出决策并采取行动。行为与行为树将在接下来的模块中讨论。

近距离观察

注意:以下步骤假定“simple_flight”场景存在,如“跟踪”中所讨论的。

添加跟踪处理器

为了对 AIR_RADAR 创建的传感器跟踪进行处理,必须将跟踪处理器添加到 CARGO_AIRCRAFT 的平台类型定义中:

  1. 打开 Wizard 中的 simple_flight 项目或场景。

  2. 在 simple_flight 目录中创建一个新的文本文件,并命名为 track_processor.txt。

  3. 打开 cargo_aircraft.txt 文件,并在文件的开头添加以下代码:

    include_once track_processor.txt

  4. 打开 track_processor.txt 并添加以下跟踪处理器命令块/定义:

    processor TRACK_MANAGER WSF_TRACK_PROCESSOR
       master_track_processor
       purge_interval 10 sec
       report_interval 3 sec
    end_processor

  5. 返回到 cargo_aircraft.txt,并在 CARGO_AIRCRAFT 平台类型定义中添加以下代码:

    add processor track_proc TRACK_MANAGER
       purge_interval 15 sec
       report_interval 2.5 sec
    end_processor

提示:如果在外部定义的平台部分上已经定义了一个值,如上面的示例所示,可以覆盖这些值。覆盖将仅适用于具有被覆盖实现的平台或平台类型。

    6.  最后,通过将以下代码行添加到雷达定义中,将 cargo_radar 跟踪报告链接到 track_proc:

internal_link track_proc

完成这些添加后,在 Warlock 中模拟 simple_flight 场景。

将模拟推进到飞机进入彼此传感器范围之前的时刻(约 15 分钟)。

在 Warlock 的可见性小部件中,隐藏其中一个团队,并选择可见团队的飞机。

等待隐藏的平台进入所选平台的传感器范围内。

注意到当平台保持选中状态时,会出现一个跟踪,该跟踪仅在此时可见。这是新添加的 track_manager 的结果。以下是预期的视图:

对方视图同样在选择绿色飞机时显示一个传入的蓝色跟踪。

现在,跟踪信息已可供处理,而飞机也相互察觉到对方,它们必须采取行动来解决冲突。这需要使用额外的处理器 WSF_TASK_PROCESSOR,并实现行为。行为和行为树将在即将到来的模块中讨论。

添加任务处理器

任务处理器将使“cargo-1”和“cargo-2”能够通过实现行为来做出决策,从而避免碰撞。在本模块中,处理器将被实现,以便在即将到来的模块中可供使用。

完成以下步骤以实现任务处理器:

  1. 将以下处理器命令块添加到 track_processor.txt:

    processor CARGO_TASK_MANAGER WSF_TASK_PROCESSOR
       update_interval 10 sec
    end_processor

  2. 将以下处理器实现块添加到 cargo_aircraft.txt 中 CARGO_AIRCRAFT 的平台类型定义中:

    add processor task_mgr CARGO_TASK_MANAGER
    end_processor

此骨架处理器现已准备好实现行为树。

总结

完成本模块后,simple_flight 项目应包含所有先前文件和新文件 track_processor.txt。对 cargo_aircraft.txt 进行了添加/修改。更改反映如下:

track_processor.txt

# track_processor.txt
# A component of the simple_flight demo

processor TRACK_MANAGER WSF_TRACK_PROCESSOR
   master_track_processor
   purge_interval 10 sec
   report_interval 3 sec
end_processor

processor CARGO_TASK_MANAGER WSF_TASK_PROCESSOR
   update_interval 10 sec
end_processor

cargo_aircraft.txt

# cargo_aircraft.txt
# A component of the simple_flight demo

include_once track_processor.txt

radar_signature CARGO_AIRCRAFT_RADAR_SIG
   constant 10 m^2
end_radar_signature

sensor AIR_RADAR WSF_GEOMETRIC_SENSOR
   frame_time 5 sec
   maximum_range 30 nm

   reports_location
   reports_bearing
   reports_side
   reports_velocity

   azimuth_field_of_view   -45.0 deg  45.0 deg
   elevation_field_of_view -15.0 deg  15.0 deg

   ignore_same_side
   on
end_sensor

platform_type CARGO_AIRCRAFT WSF_PLATFORM
   icon c130
   spatial_domain air
   category cargo

   mover WSF_AIR_MOVER
      update_interval 3 sec
   end_mover

   radar_signature CARGO_AIRCRAFT_RADAR_SIG

   add sensor cargo_radar AIR_RADAR
     internal_link track_proc
   end_sensor

   add processor track_proc TRACK_MANAGER
   end_processor

  add processor task_mgr CARGO_TASK_MANAGER
  end_processor
end_platform_type

总结

处理器可以使用跟踪通过行为和行为树来确定决策。处理器主要对跟踪进行操作,其用途取决于处理器的性质。可以通过使用 internal_link 命令在给定平台的不同平台部件之间传递跟踪。通过实施通信,可以实现更高级的跟踪处理和决策制定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2214476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android11 USB Camera会出现预览绿屏问题

目录 一、问题描述 二、问题原因 三、解决方法 一、问题描述 DDR容量是4G及以上的机器,USB Camera会出现预览绿屏问题。 串口中会刷如下log: 二、问题原因 RGA2使用超过4G内存会异常,导致USB Camera调用rga相关操作报错,从而预览绿屏 三…

深度学习基础—神经风格迁移

1.什么是神经风格迁移 神经风格迁移就是将一张图片的风格迁移到另一张图片上,生成具有第一张图片风格的新的图片。新图片的主体还是第二张图片,但是风格是第一张图片的。 如下两组图片都是神经风格迁移的例子: 将绘画的风格迁移到真实建筑图片…

树型名称前面插入图片

需求&#xff1a; 搜索树、树型要显示连线&#xff0c;还有名称前带图片 ui组件&#xff1a;https://devui.design/components/zh-cn/overview 直接上代码 [checkable] false 表示取消复选框 <div class"p-sm"><div class"row"><d-sea…

软件开发----Java基础每日刷题(转载于牛客)

1. 对抽象类的描述正确的是() A 抽象类的方法都是抽象方法 B 一个类可以继承多个抽象类 C 抽象类不能有构造方法 D 抽象类不能被实例化 正确答案&#xff1a;D 解析&#xff1a; A.抽象类可以有非抽象的方法&#xff0c;而接口中的方…

Flythings学习(三)界面交互

文章目录 1 界面切换1.1 打开界面1.2 关闭界面 2 界面活动周期2.1 打开不存在页面的活动流程2.2 打开已存在界面&#xff08;被隐藏的界面&#xff09;2.3 关闭界面的流程 1 界面切换 界面切换的相关函数如下 1.1 打开界面 如果需要打开一个界面&#xff0c;在其他界面的控件…

WebSocket状态码及异常报错1006

文章目录 1.WebSocket协议简介2.WebSocket状态码的作用&#xff1a;3.WebSocket状态码1006详解1.问题原因2.解决方案 1.WebSocket协议简介 WebSocket协议是一种基于TCP的协议&#xff0c;它通过在浏览器和服务器之间建立一条持久的双向通信通道&#xff0c;实现了实时的数据传…

【论文阅读】SAM 2: 分割一切图像和视频

导言 继SAM模型发布以来&#xff0c;Meta公司于2024年8月发布第二个图像分割大模型SAM2。相较于第一代SAM模型&#xff0c;论文提出了第二代“分割任意物体模型” (SAM 2)&#xff0c;旨在解决视频中的可提示视觉分割任务&#xff08;Promptable Visual Segmentation, PVS&…

TVS常规过压保护

一、前言 上一篇文章 TVS选型-CSDN博客https://blog.csdn.net/qq_39543984/article/details/142825929?spm=1001.2014.3001.5501我们介绍了如何通过理论计算选择合适的TVS,TVS主要是防止瞬间过压,因为他的名字就叫瞬态二极管(Transient Voltage Suppressor)。本文就通过理…

自动化检查网页的TDK,python+selenium自动化测试web的网页源代码中的title,Description,Keywords

首先&#xff0c;TDK是什么&#xff1f;对于新手小白来说&#xff0c;可能是懵逼的&#xff0c;所以这里给出一个官方的解说‌网页的TDK是指标题&#xff08;Title&#xff09;、描述&#xff08;Description&#xff09;和关键词&#xff08;Keywords&#xff09;的集合‌。这…

智慧船舶物联网实训室建设方案

第一章 建设背景 随着全球海洋经济的蓬勃发展与智能化技术的日新月异&#xff0c;数字船舶物联网&#xff08;Internet of Things for Maritime, IoT-Maritime&#xff09;与人工智能&#xff08;Artificial Intelligence, AI&#xff09;的结合已成为推动航运业转型升级的关键…

企业资源枯竭时,数字化转型能否带来新资源?

​在商业竞争激烈的当下&#xff0c;企业发展依赖各类资源。然而&#xff0c;资源可能面临枯竭&#xff0c;如原材料短缺、市场份额下降、人才流失等。此时&#xff0c;数字化转型成为企业突破困境的重要途径&#xff0c;那么它能否带来新资源呢&#xff1f; 先看企业资源分类。…

C++,STL 031(24.10.14)

内容 stack容器&#xff08;栈&#xff09;的常用接口。 代码 #include <iostream> #include <stack> // 注意包含stack容器&#xff08;栈&#xff09;的头文件using namespace std;void test01() {stack<int> s1; // here01&#xff0c;默认构造stack<…

5g工业路由器最新案例:高原气象站网络升级项目

背景&#xff1a; 某省气象局决定在高原地区升级其气象观测网络&#xff0c;以提高天气预报的准确性和及时性&#xff0c;同时为气候变化研究提供更可靠的数据支持。该项目面临以下挑战&#xff1a; 需要在高原广袤且地形复杂的区域部署大量自动气象站&#xff0c;要求网络覆…

pytorh学习笔记——手写数字识别mnist

pytorh学习第二站&#xff1a;手写数字识别 一、训练程序 1、创建脚本框架mnist_demo.py&#xff1a; import torch import torchvision.datasets as dataset# data # 定义数据# net # 定义网络# loss # 损失# optimizer # 优化# training # 训练# test # 测试# save# 保…

uniapp onPageScroll

子组件有onPageScroll, 首页也要引入onPageScroll, eg: 主页面 sell/detail/index 《子组件》 <script setup> 引入onPageScroll </script> 组件&#xff1a; 引入onPageScroll 别人的比较

智能健康顾问:基于SpringBoot的系统

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

Pytorch——pip下载安装pytorch慢的解决办法

一、找到需要下载的pytorch链接 运行&#xff1a;pip install torch1.11.0cu113 torchvision0.12.0cu113 torchaudio0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113。然后得到&#xff1a; 我这里为&#xff1a;https://download.pytorch.org/whl/cu113/t…

Odin插件基本使用

介绍 Odin Inspector是Unity的一个插件&#xff0c;让您可以享受拥有强大&#xff0c;自定义和用户友好编辑器的所有工作流程优势&#xff0c;而无需编写任何自定义编辑器代码。 安装 需要有对应的unity包或者去官网或者资源商店下载 官方网址 Odin Inspector and Seriali…

DAY47WEB 攻防-PHP 应用文件上传函数缺陷条件竞争二次渲染黑白名单JS 绕过

1、PHP-原生态-文件上传-检测后缀&黑白名单2、PHP-原生态-文件上传-检测信息&类型内容3、PHP-原生态-文件上传-函数缺陷&逻辑缺陷4、PHP-原生态-文件上传-版本缺陷&配置缺陷 文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题…

接口中的静态常量在项目中的使用,以及固长列表和变长列表

先来看一段代码 public interface WrapIgnoreList {List<String> KNIFE4J Arrays.asList("/doc.html","/swagger-resources","/swagger-resources/configuration","/v3/api-docs","/v2/api-docs","/webjars/**…