Detour激光SLAM算法详解
概述 / Overview
Detour 的激光 SLAM 是 MDCS 中最常用的主定位源:在仓库 / 工厂场景下,2D 激光雷达 ≥ 270° 视场扫到墙 / 立柱 / 货架轮廓,配合 IMU + 轮编里程计做紧耦合,构建 占用栅格 + 位姿图 地图,运行时做 扫描匹配 + 全局重定位。
Detour's laser SLAM is the most-used primary localisation source in MDCS. In warehouse / factory scenes a ≥ 270° FOV 2D lidar scans walls / pillars / rack outlines; with tight-coupled IMU + wheel odometry it builds an occupancy grid + pose graph and at runtime runs scan matching + global re-localisation.
详见 具有高鲁棒性的激光 SLAM 算法 中关于鲁棒性技巧的展开。 See robust-laser-SLAM for the robustness toolbox.
算法栈 / Algorithm stack
| 阶段 / Stage | 算法 / Algorithm | 输入 / Input | 输出 / Output |
|---|---|---|---|
| 建图 / Mapping | GraphSLAM + 多分辨率 ICP 闭环 | 录制的雷达 + IMU + 里程计序列 | 占用栅格 + 位姿图 (.map) |
| 重定位 / Re-localisation | 多分辨率分支限界 | 当前一帧雷达 + 粗位姿先验 | 6-DoF 位姿(含协方差) |
| 跟踪 / Tracking | 高斯-牛顿扫描匹配 | 当前帧 + 上一帧位姿 | 增量位姿 |
| 反光板模式 / Reflector mode | 反光板高强度过滤 + 几何匹配 | 当前帧 反光板点的子集 + 反光板地图 | 高精度位姿(< 5 mm / 0.1°) |
构图流程 / Mapping pipeline
- 数据录制 / Record: 在场地中匀速、覆盖全部走廊地推 AGV / 推车,录制激光 + IMU + 里程计同步流。
- 粗轨迹 / Coarse trajectory: 用扫描匹配 + 里程计积分得粗轨迹。
- 闭环检测 / Loop closure: 多分辨率分支限界寻找回环候选;通过几何一致性筛选。
- 位姿图优化 / Pose-graph optimisation: g2o / Ceres 优化关键帧位姿。
- 栅格化 / Rasterise: 将所有关键帧的点云投影到全局栅格,生成可视化地图。
- 编辑 / Edit: 用 激光地图编辑指南 中的工具人工修正动态障碍、空洞等。
- Record laser + IMU + odom synchronously at moderate speed covering all corridors.
- Get a coarse trajectory via scan matching + odometry integration.
- Loop-closure search with multi-res branch-and-bound.
- Pose-graph optimisation (g2o / Ceres).
- Rasterise to a global occupancy grid.
- Manually edit to remove dynamic / artifacts.
运行时跟踪 / Runtime tracking
- 每帧雷达进来 → 用上一帧的位姿做先验 → 扫描匹配(高斯-牛顿)求增量位姿。
- 协方差由 Hessian 求逆给出;置信度低时 TightCoupler 自动降权。
- 当 IMU 里程计 + 激光观测出现 > 阈值偏差 → 触发"局部丢失",进入 局部重定位(小搜索半径)。
- 局部重定位失败超过 N 秒 → 全局重定位(用 地图 全局搜索)。
反光板模式 / Reflector mode
对极简洁、特征贫乏的场景(如纯白墙仓库),可以铺设 高反光板作为人工地标。Detour 自动从激光帧中按 强度阈值过滤出反光板点,做几何配对得到亚厘米级位姿。
For featureless environments (white-wall warehouses) deploy high-reflectivity panels as artificial landmarks. Detour filters them by intensity and matches geometrically for sub-cm pose.
- 反光板布局要求 ≥ 3 个 非共线 反光板可见。
- 强度阈值在 Detour 配置中调(雷达适配时 `ReflexRange` 已归一化)。
- 详见 激光 SLAM + 反光板建图手册。
关键参数 / Key parameters
| 参数 / Param | 含义 / Meaning | 默认 / Default |
|---|---|---|
| `scanMatchMaxIter` | 扫描匹配最大迭代次数 | 30 |
| `scanMatchInitRange` | 初始搜索半径 (m) | 0.5 |
| `loopClosureScore` | 闭环最低分数 | 0.7 |
| `relocBranchDepth` | 重定位分支限界深度 | 6 |
| `relocCovThresh` | 重定位接受的最大协方差 | 0.01 m² / 0.001 rad² |
| `reflexMinIntensity` | 反光板最低强度 | 0.7 (归一化后) |
已知能力边界 / Known limits
- 长直走廊(特征沿一个方向变化弱)易沿 Y 漂移;用反光板或 地纹 互补。
- 强动态环境(大量行人 / 叉车)需要 动态过滤或 SLAM 限速(建图时 ≤ 0.5 m/s)。
- 户外阳光直射会使部分点云缺失;用激光遮光罩或避免高峰时段。
- 极端反光(镜面、塑料蒙皮)导致虚假点;建图前现场预查。
详见 激光 SLAM 的能力边界。