第1章 · SLAM导航概览与调参哲学
大家好,我是你们这门课的向导。做了快十年SLAM导航,踩过的坑比调过的参数还多。这一章我们不急着敲键盘,先聊聊「调参」到底在调什么,以及怎么调才能不把自己绕进去。
1.1 什么是SLAM导航?
SLAM导航,说白了就是让机器人在未知环境里一边建地图、一边定自己的位,然后靠这张地图走到目标点。你想想看,没有GPS的室内小车,全靠激光雷达或摄像头,要实时回答三个问题:我在哪?周围长啥样?怎么过去?
我习惯把导航拆成三块:感知-规划-控制。感知靠SLAM给位置和地图,规划靠代价地图和路径算法,控制靠底盘速度指令。这三块里任何参数拧歪了,车就会抽风。
▲ SLAM导航核心数据流:从传感器到控制指令
1.2 为什么需要调参?
ROS导航栈给了你几十个参数——代价地图膨胀半径、规划频率、加速度限制……出厂默认值只能保证跑起来,但跑得稳不稳、安不安全,全靠调。我记得第一次用TEB规划器,默认参数让机器人在走廊里画龙,差点撞墙。
调参的本质是平衡:安全 vs 效率,平滑 vs 响应,计算开销 vs 实时性。每个场景都有自己的“甜点参数”。
核心观点: 没有万能参数组合。你在实验室调好的值,换到地毯上、斜坡上、人多的地方,可能全得重来。
1.3 调参的常见误区与正确心态
先说说我见过的翻车现场——
- 误区一:一把梭哈 —— 一次改五六个参数,然后不知道哪个起了作用。
- 误区二:迷信默认值 —— “官方给的肯定最优”,结果机器人原地转圈。
- 误区三:只看现象不追根 —— 路径抖动就猛调加速度,其实根源是代价地图更新太慢。
我曾经花了一周调一个导航参数,最后发现是TF树发错了频率。所以记住:先确认传感器、坐标变换、硬件正常,再动参数。不然你调的是空气。
正确心态是什么?我总结了三条:
- 一次只动一个参数,记录改前改后效果。
- 用数据说话,别靠感觉。rviz里看轨迹、看代价网格、看规划耗时。
- 接受不完美。导航没有100分,85分+稳定就是生产级。
1.4 本课程的学习路径
整个课程我按“底层→上层,局部→全局”来组织。你跟着走,不会晕:
| 阶段 | 章节 | 核心内容 |
|---|---|---|
| 基础 | 1-4章 | 导航栈架构、代价地图参数 |
| 规划器 | 5-7章 | 全局/局部规划器调优(DWA、TEB) |
| 定位与感知 | 8-11章 | AMCL、传感器、TF、地图 |
| 实战工具 | 12-16章 | launch文件、动态调参、仿真与部署 |
| 进阶与场景 | 17-30章 | 失败分析、多传感器、行为树、工业案例 |
每一章我都会给出一线项目里的参数模板和避坑清单。你甚至可以把它当案头手册用。
我个人建议:学完一章,就去仿真里把参数拧一遍,看看效果。光看文档记不住,手感是试出来的。
嗯,第一章就聊这么多。记住调参不是玄学,是科学加经验。