(navigator-architecture)= # 1. Navigator 模块架构 > 上手与配置见 [§0](00_guide.md);BT 算法见 [§2–§5](02_bt_algorithms.md)。本文只写 **边界、分层、数据流、插件加载、状态与扩展**。 --- ## 1.1 在导航栈中的位置 ``` Autonomy / Bridge ──Goal──► BtNavigator ──BT tick──► Planner / Control / Map │ ▼ navigate_to_pose.xml ``` | 边界 | 说明 | |------|------| | 上游 | `system::Autonomy`、Bridge、autolink Action Client | | 下游 | `planning`、`control`、`map`、`transform` | | 入口 | `NavigatorOptions`(`navigator.lua`)· `NavigateToPose()` | | 不负责 | 路径搜索、局部控制律、定位算法 | 设计约束:**nav2 对齐** · **编排不实现算法** · **`common.lua` 三模块共享帧/容差** · **52 BT 插件 `.so`** · **局部生存增强**(TF 丢失时不立即失败)。 --- ## 1.2 实现状态 | 组件 | 状态 | 说明 | |------|------|------| | `NavigatorOptions` / `options.cpp` | ✅ | Lua → Protobuf 完整 | | `NavigatorInterface` | ✅ | 生命周期接口 | | `BehaviorTreeNavigator` 模板 | ✅ | 头文件完整,依赖 BtEngine | | `NavigatorMuxer` | ✅ | 互斥调度 | | BT XML(单点/多点) | ✅ | 含局部生存模式 | | `navigator.lua`(52 插件清单) | ✅ | 与 CMake 目标对齐 | | `BtEngine` / `BtActionServer` / `BtContext` | ⏳ | 头文件引用存在,实现待恢复 | | BT 插件 `.so`(52 个) | ⏳ | 源码待从历史 `tasks` 迁回 | | `BtNavigator` 顶层编排 | ⏳ | 设计完成 | | `NavigateToPoseNavigator` / `NavigateThroughPosesNavigator` | ⏳ | 设计完成 | | `Autonomy` BT 接线 | ⏳ | 当前 `use_bt_navigation_ = false` | | 直驱规划路径 | ✅ | `NavigateDirectToPose` → `GetPlan` | > **当前阶段**:6 个源文件 + 配置/BT XML 已就绪;完整 BT 栈尚待迁回。`system::Autonomy` 以直驱模式验证规划链路。 ## 1.3 分层架构 `navigator` 模块分为 **应用 → BtNavigator → BtEngine → BT 插件 → 子系统** 五层。
navigator 节点