AFSIM 示例解读(05)· 六自由度 + Brawler 协同:six_dof_with_brawler 能力标签多 mover 共存 / WSF_P6DOF_MOVER × WSF_BRAWLER_MOVER / 异构机动混编 / 平台级属性这个 demo 在展示什么上两篇我们分别看了 P6DOF 和 Brawler。真实想定里你不可能只用一个 mover 类型蓝方主力战机用 Brawler 缠斗红方某型用 P6DOF 做精细气动无人机用运动学省钱——它们必须在同一个世界里共存、互相探测、互相交战。six_dof_with_brawler这个能力的价值就是证明一套想定可以同时容纳多种高保真机动模型且它们之间能通过标准的平台/跟踪接口正常交互。它本质上是个异构机动混编的样板。核心机制mover 是平台级的不是全局的在 AFSIM 里mover 是挂在单个 platform 上的不是全局设置。所以混编根本不需要特殊开关——你给每个平台配自己合适的 mover 就行蓝方战机WSF_BRAWLER_MOVER统一平台状态总线位置/速度/姿态红方轰炸机WSF_P6DOF_MOVER蓝方无人机WSF_KINEMATIC_MOVERsensor / tracker / weapon标准接口消费不关心内部怎么算三个平台三个不同的 mover跑在同一个仿真里。它们的位置、速度通过统一的平台状态总线对外暴露传感器/交战模块不关心你内部怎么算出来的只关心你此刻在哪、往哪走、多快。真实可跑的最小片段AFSIM 2.9 语法示意下面把三种 mover 同台写清楚。各类型数据FIGHTER/my_bomber_type需来自你自己的几何/气动库见文末说明# ① 类型数据示意自跑需 include 你的库 six_dof_type my_bomber_type mass 40000 kg reference_area 120 m2 thrust_max 200000 N end_six_dof_type # ② 三种平台类型各挂各的 mover platform_type BLUE_FIGHTER WSF_PLATFORM side blue mover WSF_BRAWLER_MOVER brawler_type FIGHTER # 来自你的 Brawler 几何库 update_interval 0.05 sec end_mover end_platform_type platform_type RED_BOMBER WSF_PLATFORM side red mover WSF_P6DOF_MOVER six_dof_type my_bomber_type # 来自你的气动库 update_interval 0.02 sec end_mover end_platform_type platform_type BLUE_DRONE WSF_PLATFORM side blue mover WSF_KINEMATIC_MOVER update_interval 0.5 sec no_thrust_accel_limit end_mover end_platform_type # ③ 实例化摆进同一战场 platform ftr_01 BLUE_FIGHTER position 34.0n 120.0e altitude 6000 m msl end_platform platform bom_01 RED_BOMBER position 34.5n 121.0e altitude 9000 m msl end_platform platform drn_01 BLUE_DRONE position 34.2n 120.5e altitude 3000 m msl end_platform注意没有混合 mover这种东西。six_dof_with_brawler只是个同时用了两种 mover 的普通想定。理解mover 是平台属性这类样板就不神秘了。关键参数速查异构混编视角参数所在组件类型 / 单位默认值取值说明调参影响mover类型选择platform_type类型—每个平台独立挂 mover决定该平台保真度/算力混编无需全局开关update_interval各 movermover时间 (sec)引擎默认各自解算步长整体节奏受最严步长约束P6DOF 常最小brawler_typemover (Brawler)类型名无战机几何数据影响缠斗机动真实性six_dof_typemover (P6DOF)类型名无轰炸机气动数据影响精细气动/弹道平台数量预算全局计数—各 mover 平台数P6DOF/Brawler 不宜过多否则需多分辨率混编时的几个坑时间步长要协调。P6DOF 解算贵若它用 0.02 秒、运动学用 0.5 秒整体步长由最严的那个P6DOF决定运动学被拖慢着解——这通常是好事一致性但意味着你想靠运动学省的算力被高保真单位吃掉了。规划时按最敏感单位统一评估。交互界面要一致。不同 mover 输出的平台状态格式是统一的所以交战/跟踪天然兼容但要确认你引用的track/truth字段位置、速度、姿态在各类 mover 上都存在别引用了某 mover 不产出的内部量。性能预算。一个想定里 P6DOF 平台别太多。经验值几十个运动学 个位数 P6DOF/Brawler 是平稳区再往上要考虑多分辨率见卷三。类型数据别混用。brawler_type和six_dof_type是两套不同格式的数据不能把一个塞给另一个 mover。引用前确认名字对应的是正确类型。一个判断框架给单位选 mover问自己三句话它的机动影响结论吗影响→高保真不影响→运动学需要气动边界细节吗需要→P6DOF只要飞得像战斗机→Brawler它有多少兄弟单位海量→运动学省钱少数关键→上高保真备注six_dof_with_brawler这个名字容易让人以为是个特殊混合 mover。其实不是——它就是个普通想定只是同时用了两种 mover。理解mover 是平台属性这一点这类样板就都不神秘了。小结与下一篇本篇点破一个关键认知AFSIM 的机动模型是平台级的、可异构混编的。选 mover 是性能与保真度的分配决策不是全局开关。卷一的最后一站我们看一种非大气的机动——cislunar的月球轨道把舞台从大气层拉到深空。下一篇预告06/07空间轨道机动 cislunarWSF_INTEGRATING_SPACE_MOVER 绕月轨道一种非大气的机动——cislunar的月球轨道把舞台从大气层拉到深空。下一篇预告06/07空间轨道机动 cislunarWSF_INTEGRATING_SPACE_MOVER 绕月轨道