1. 导航系统概述:从全局规划到轨迹调试

大家好,我是你们这门课的主讲。在自动驾驶和机器人领域摸爬滚打了十来年,今天咱们来聊聊导航系统这个老本行。

导航系统,说白了就是让机器人知道「我在哪、要去哪、怎么去」。听起来简单,但实际落地时坑特别多。我最早做AGV小车时,就遇到过导航模块跑飞,小车在仓库里原地转圈的尴尬事。嗯,从那以后我对导航系统的敬畏心就上来了。

1.1 导航系统在机器人/自动驾驶中的作用

导航系统是整个移动智能体的「大脑」和「眼睛」。它要解决三个核心问题:

  • 定位:我在哪里?——靠GPS、IMU、激光雷达、视觉里程计等传感器融合
  • 建图:周围环境长什么样?——构建栅格地图、拓扑地图或语义地图
  • 规划与控制:怎么安全到达?——生成路径并跟踪执行

你想想看,没有导航系统,自动驾驶汽车连路口都过不去。我参与过一个园区物流项目,导航系统一旦掉线,车辆直接停在路中间,调度中心电话被打爆。所以导航系统的可靠性,是底线。

核心观点:导航系统不是单一算法,而是一个「感知-定位-规划-控制」的闭环。任何一个环节出问题,整个系统都会崩。

1.2 全局路径规划 vs 局部路径规划

这是初学者最容易混淆的概念。我面试时经常问这个问题,能讲清楚的人不多。

对比维度 全局路径规划 局部路径规划
任务 从起点到终点的宏观路线 避开动态障碍物的微观轨迹
地图 使用已知的静态地图 使用传感器实时感知的局部地图
算法 A*、Dijkstra、RRT、Hybrid A* DWA、TEB、MPC、Pure Pursuit
输出 一系列路径点(waypoints) 带速度/加速度的轨迹(trajectory)
更新频率 低频(0.1~1 Hz) 高频(10~50 Hz)
典型问题 路径穿墙、无法通过狭窄通道 振荡、急转弯、陷入死胡同

全局规划,就像你开车前用高德地图规划了一条从北京到上海的高速路线。它知道哪里有收费站、哪里有服务区,但不知道路上突然窜出一只猫。

局部规划,就是你在高速上遇到前车急刹,自己打方向盘避让的那一瞬间。它只关心接下来几秒钟的事,反应要快。

我曾经在一个项目中,全局规划用A*跑出了一条完美路径,结果局部规划DWA死活跟不住——因为全局路径的曲率变化太剧烈,DWA的搜索空间根本覆盖不了。后来我调整了全局路径的平滑参数,才解决问题。这就是全局和局部需要「对齐」的典型案例。

个人经验:我建议你在调试时,先把全局路径可视化出来,看看曲率是否连续。如果全局路径本身就有「折角」,局部规划再怎么调也白搭。

1.3 课程整体框架

这门课一共30章,我把它分成四个模块。先给你一张总览图,心里有个底。

《导航调参与轨迹调试》课程框架 模块一:基础篇 第1-6章 坐标系·TF·传感器 模块二:全局规划 第7-13章 A*·Hybrid A*·RRT* 模块三:局部规划 第14-22章 DWA·TEB·MPC 模块四:实战篇 第23-30章 调参·仿真·实车 核心内容 • ROS2导航栈架构 • 坐标系与TF树 • 传感器标定与融合 • 代价地图配置 核心内容 • A*算法与启发函数 • Hybrid A*与车辆模型 • RRT*与平滑处理 • 路径后处理与优化 核心内容 • DWA速度空间搜索 • TEB轨迹优化 • MPC模型预测控制 • 避障与恢复行为 核心内容 • 参数调优方法论 • Gazebo/仿真调试 • 实车部署与标定 • 性能评估与优化 课程特色 • 每个算法都配有可运行的代码示例和参数配置文件 • 每章都有「避坑指南」,来自我踩过的真实项目坑 • 提供完整的仿真环境 + 实车部署方案 • 重点章节附带调参实验手册,手把手带你调出稳定轨迹

模块一打基础。我会带你搭好ROS2导航栈,搞清楚TF树、代价地图这些底层概念。别小看这些,我见过太多人调了半年参数,最后发现是坐标系没对齐。

模块二讲全局规划。从经典的A*开始,到适合车辆的Hybrid A*,再到采样类的RRT*。每个算法我都会给出调参建议和避坑经验。

模块三是重头戏。DWA、TEB、MPC这三个局部规划器,我会逐个拆解。它们的参数加起来上百个,怎么调?我的经验是:先调权重,再调阈值,最后调运动学约束。顺序错了,越调越乱。

模块四就是实战了。我会带你用Gazebo仿真,然后部署到真实小车。最后几章专门讲性能评估——怎么量化轨迹质量,怎么自动化调参。

注意:这门课不是纯理论课。每个章节我都会给出可运行的代码和参数文件。你最好准备一台装有ROS2的电脑,跟着我一起跑。光看不练,等于白学。