4. 导航栈全景
移动机器人自主导航通常分解为感知、定位、建图、规划、控制、编排六个协作子系统。本章给出 Autonomy 导航栈的全景视图与各层职责。
4.1 导航子问题
子问题 |
英文 |
Autonomy 模块 |
典型频率 |
|---|---|---|---|
感知 |
Perception |
|
10–30 Hz |
定位 |
Localization |
|
10–50 Hz |
建图 |
Mapping |
|
1–10 Hz |
全局规划 |
Global Planning |
|
1–5 Hz |
局部控制 |
Local Control |
|
10–50 Hz |
任务编排 |
Orchestration |
|
事件驱动 |
4.2 导航栈流水线
4.3 坐标系约定
坐标系 |
典型名称 |
来源 |
用途 |
|---|---|---|---|
全局 |
|
定位 / SLAM |
全局规划、目标点 |
里程计 |
|
轮速计 / IMU 积分 |
局部平滑、短期参考 |
机器人 |
|
机器人本体 |
控制、传感器外参 |
TF 链:map → odom → base_link。配置在 config/common.lua 的 global_frame / robot_base_frame。
4.4 一次导航的数据路径
1. 用户下发 Goal (map 系 PoseStamped)
2. navigator: TransformAvailable 检验 TF
3. planning: GetPlan(start, goal) → Path
4. smoother: SmoothPath(可选)
5. planning: IsPathValid(path)
6. control: FollowPath(path) → cmd_vel 循环
7. GoalChecker 判定到达 → SUCCESS
直驱模式(当前 Autonomy 默认)仅执行步骤 1–3,不进入 FollowPath 循环。
4.6 模块深入阅读
主题 |
文档 |
|---|---|
定位 |
|
地图 |
|
规划 |
|
控制 |
|
编排 |
4.7 相关文档
09 Control 轨迹规划综述(局部跟踪 · 时空联合 · §6.6.4)