第1章 · SLAM导航概览与调参哲学

大家好,我是你们这门课的向导。做了快十年SLAM导航,踩过的坑比调过的参数还多。这一章我们不急着敲键盘,先聊聊「调参」到底在调什么,以及怎么调才能不把自己绕进去。

1.1 什么是SLAM导航?

SLAM导航,说白了就是让机器人在未知环境里一边建地图、一边定自己的位,然后靠这张地图走到目标点。你想想看,没有GPS的室内小车,全靠激光雷达或摄像头,要实时回答三个问题:我在哪?周围长啥样?怎么过去?

我习惯把导航拆成三块:感知-规划-控制。感知靠SLAM给位置和地图,规划靠代价地图和路径算法,控制靠底盘速度指令。这三块里任何参数拧歪了,车就会抽风。

传感器数据 SLAM建图+定位 全局/局部规划 代价地图 控制输出 激光/里程计/IMU

▲ SLAM导航核心数据流:从传感器到控制指令

1.2 为什么需要调参?

ROS导航栈给了你几十个参数——代价地图膨胀半径、规划频率、加速度限制……出厂默认值只能保证跑起来,但跑得稳不稳、安不安全,全靠调。我记得第一次用TEB规划器,默认参数让机器人在走廊里画龙,差点撞墙。

调参的本质是平衡:安全 vs 效率,平滑 vs 响应,计算开销 vs 实时性。每个场景都有自己的“甜点参数”。

核心观点: 没有万能参数组合。你在实验室调好的值,换到地毯上、斜坡上、人多的地方,可能全得重来。

1.3 调参的常见误区与正确心态

先说说我见过的翻车现场——

  • 误区一:一把梭哈 —— 一次改五六个参数,然后不知道哪个起了作用。
  • 误区二:迷信默认值 —— “官方给的肯定最优”,结果机器人原地转圈。
  • 误区三:只看现象不追根 —— 路径抖动就猛调加速度,其实根源是代价地图更新太慢。
我曾经花了一周调一个导航参数,最后发现是TF树发错了频率。所以记住:先确认传感器、坐标变换、硬件正常,再动参数。不然你调的是空气。

正确心态是什么?我总结了三条:

  1. 一次只动一个参数,记录改前改后效果。
  2. 用数据说话,别靠感觉。rviz里看轨迹、看代价网格、看规划耗时。
  3. 接受不完美。导航没有100分,85分+稳定就是生产级。

1.4 本课程的学习路径

整个课程我按“底层→上层,局部→全局”来组织。你跟着走,不会晕:

阶段章节核心内容
基础1-4章导航栈架构、代价地图参数
规划器5-7章全局/局部规划器调优(DWA、TEB)
定位与感知8-11章AMCL、传感器、TF、地图
实战工具12-16章launch文件、动态调参、仿真与部署
进阶与场景17-30章失败分析、多传感器、行为树、工业案例

每一章我都会给出一线项目里的参数模板和避坑清单。你甚至可以把它当案头手册用。

我个人建议:学完一章,就去仿真里把参数拧一遍,看看效果。光看文档记不住,手感是试出来的。

嗯,第一章就聊这么多。记住调参不是玄学,是科学加经验。