AFSIM 09篇 机动与航线:让平台动起来的路由配置
系列导航共 15 篇入门篇01 AFSIM 是什么 · 02 从零搭建环境 · 03 跑通第一个仿真 · 04 核心概念扫盲基础篇05 SDL 入门 · 06 Platform 详解 · 07 传感器与跟踪 · 08 武器与交战 · 09 机动与航线进阶篇10 通信与处理器 · 11 External Control · 12 TCP 客户端实战 · 13 Wizard 可视化高级篇14 C 插件开发 · 15 调试与最佳实践上一篇08 武器与交战 下一篇10 通信与处理器09 机动与航线让平台动起来的路由配置在 第 06 篇《Platform 详解》 里我们定义的平台大多站在初始位置。但真实战场里无人机要飞巡逻线、军舰要出海巡航——平台必须动起来。本篇讲清楚两件事机动剖面move_profiles 约束平台能怎么动航线route 规划平台去哪里动。二者配合一个会巡航、会转弯、会保持高度速度的平台就活了。一、move_profiles给平台定体能上限一句话类比move_profiles 像是给平台办的一张驾驶证——规定它最高能跑多快、最高飞多高、转弯时最大能承受多大加速度。超出约束的机动平台做不到。在平台定义里通过 move_profiles 块配置常见约束参数speed速度约束如 cruise_speed 200.0 m/s、maximum_speed 350.0 m/saltitude高度约束如 cruise_altitude 8000.0 m、maximum_altitude 12000.0 macceleration / turn_rate加速度与转弯率决定平台变向是否灵巧。text platform UAV_01 RECON_STRIKE_UAV category RED move_profiles cruise_speed200.0m/s maximum_speed350.0m/s cruise_altitude8000.0m maximum_altitude12000.0m maximum_acceleration15.0m/s^2maximum_turn_rate30.0deg/s end_move_profiles...end_platform注意这些参数要与平台类型匹配一架 RECON_STRIKE_UAV 的巡航速度、升限显然和一艘水面 ENEMY_DDG 完全不同——舰船几乎没有高度概念转弯也慢得多。这正是 第 06 篇 强调的平台属性要贴合实体物理。进阶一点AFSIM 允许定义多个 move_profiles例如巡航剖面与接敌高速剖面运行中按需切换。比如平时用省油巡航剖面巡逻一旦 第 07 篇 的传感器锁定 Enemy_Ship就切到高速剖面冲刺接敌——这种平时省、战时猛的节奏正是真实装备运用的写照。切换动作可由处理器规则或 第 11 篇 的外部控制触发。二、route平台去哪的航路点列表定义完体能就要告诉平台路线。route 块给出一串 waypoint航路点平台按顺序飞/航行过去text platform UAV_01 RECON_STRIKE_UAV...route waypoint008000m// 经度 纬度 高度waypoint108000m waypoint118000m waypoint018000m end_route end_platform上面四个点首尾相连正好构成一块矩形巡逻区。平台从第一个点出发依次抵达后续点。waypoint 的坐标通常是经纬高与仿真全局坐标系一致高度可逐级变化以体现爬升/下降。 安装实证真实航线还能这样写1v1.txt 里的航线不是用 waypoint 数字而是定义具名航线named route再用脚本挂到平台text route blue_route position00:00:36.035n01:47:21.156e altitude30000ft msl speed900ft/s position00:00:36.035n01:57:21.156e altitude30000ft msl speed900ft/s end_route...script_variablesROUTE.Append(blue_route);# 把具名航线挂到本平台 end_script_variables可见 AFSIM 里航线既是带 position地理坐标 高度 速度的航点序列也可以被定义成可复用的具名对象再用脚本 ROUTE.Append(…) 动态指派——比本篇示例的内联 waypoint更灵活也更贴近多机共用一条巡逻线的实战组织方式。巡逻模式Patrol当 route 设为闭合回路并启用巡逻时平台到达末点后会折返或循环飞行实现绕着这片空域持续监视——这对侦察类 UAV 尤其关键也直接服务于我们在 第 07 篇 提到的对 Enemy_Ship 的持续跟踪。航点本身还有丰富的行为选项可以设定某个 waypoint 为盘旋loiter点平台到达后原地绕圈等待一段时间再继续也可以给单个航段指定独立速度让接敌段快、“返航段慢。这些细粒度控制让航线不只是连点成线”而是能描述真实任务剖面——例如起飞后爬升、到责任区盘旋侦察、发现目标后脱离航线直扑、任务结束返航降落。三、速度 / 高度 / 转弯的控制参数除了 move_profiles 里的上限航线层面还能做精细控制航段速度可为某段航路单独设速度巡航段慢、接敌段快高度剖面不同 waypoint 设不同高度形成起伏航线规避雷达或节省燃料转弯控制maximum_turn_rate 限制转弯角速度平台不会瞬移转向而是按物理允许的曲率切弯影响过弯时暴露的侧向与耗时。这些参数不是孤立的速度越大、转弯率越高平台过弯时的离心过载就越大可能逼近 maximum_acceleration 上限而被迫减速而频繁大机动又会更快消耗燃料、拉大被探测概率。所以在 第 07 篇 提到的隐蔽侦察场景里往往要刻意压低速度与转弯率宁可多飞一会儿也要安静。AFSIM 的价值之一就是让你在 SDL 里把这些彼此牵制的约束摆出来直观看到想快和想藏之间的矛盾再去权衡任务航路。四、航线点示意图用文本把上面的矩形巡逻航线画出来方便理解 waypoint 顺序与循环text(0,1)────────(1,1)│ UAV 巡逻 │ │ 顺时针循环 │(0,0)────────(1,0)起点→ WP1 → WP2 → WP3 → 回到 WP0巡逻也可以用 Mermaid 表达同样的回路矩形巡逻航线WP0 (0,0)起点WP1 (1,0)WP2 (1,1)WP3 (0,1)五、结合 platform 的可运行 SDL 片段把前面所有要素拼起来一个会按矩形航线巡逻、且受机动约束限制的 UAV 如下text platform UAV_01 RECON_STRIKE_UAV category RED iconuav.pngmove_profiles cruise_speed200.0m/s maximum_speed350.0m/s cruise_altitude8000.0m maximum_altitude12000.0m maximum_turn_rate30.0deg/s end_move_profiles route waypoint008000m waypoint108000m waypoint118000m waypoint018000m end_route sensor radar_sensor WSF_RADAR antenna WSF_ANTENNA beamwidth2.0deg end_antenna end_sensor end_platform这段 SDL 同时体现了 第 06 篇 的平台属性category、icon、第 07 篇 的传感器挂载以及本篇的机动与航线——一个能飞、能看、按线巡逻的侦察 UAV 已经成型。等到了 第 11 篇《External Control》你还能用代码在运行中动态改它的航线让它临机应变。小结move_profiles 设定平台的体能上限速度、高度、加速度、转弯率须贴合实体物理见 第 06 篇。route 用 waypoint 列表规划路径闭合回路 巡逻模式实现持续巡航监视。航段可单独控速、控高、控转弯体现真实机动约束而非瞬移。机动与航线让平台从静止定义变成动态实体是侦察/跟踪的前提呼应 第 07 篇。与传感器、武器组合平台即具备会跑、会看、会打的完整能力。下期预告平台动起来、看得见、打得出下一步是怎么把情报传出去、怎么统一处理。下一篇 《10 通信与处理器平台间信息如何流转》 将讲解通信链路与处理器如何把分散的感知汇成共享态势。

相关新闻