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

处理器 (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 命令在给定平台的不同平台部件之间传递跟踪。通过实施通信,可以实现更高级的跟踪处理和决策制定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小道士写程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值