具有高鲁棒性的激光SLAM算法

来自MDCS wiki2
跳到导航 跳到搜索


概述 / Overview

MDCS 中"激光 SLAM 鲁棒性"指的是在 特征贫乏动态多环境光干扰传感器噪声等不友好条件下仍能稳定输出位姿的能力。本页列出 Detour 激光 SLAM 用到的关键鲁棒性技巧(与 算法细节 是不同维度的视角)。

"Robustness" in MDCS laser SLAM means stable pose output even when the environment is featureless, dynamic-heavy, glare-prone, or sensor-noisy. This page lists the key techniques Detour uses (an orthogonal view to the algorithmic details).

关键技巧 / Key techniques

1. 多分辨率扫描匹配 / Multi-resolution scan matching

从粗到细搜索位姿:先在 10 cm 分辨率上找候选 → 再 2 cm → 再 5 mm。等效于 分支限界,避免直接在原始分辨率求全局最优时的指数代价。

Coarse-to-fine pose search (10 cm → 2 cm → 5 mm). Branch-and-bound equivalent; avoids the exponential cost of direct fine-grained search.

2. 紧耦合 IMU 预积分 / Tight-coupled IMU pre-integration

把 IMU 数据从激光帧之间积分得到 相对位姿先验,作为扫描匹配的初值。在动态环境(车辆运动 + 旋转剧烈)下,避免位姿跳变。

Integrate IMU between laser frames to give the scan matcher a relative-pose prior. Prevents pose jumps in dynamic-heavy / high-yaw conditions.

3. 动态障碍过滤 / Dynamic obstacle filtering

  • 占用一致性: 维护"长期占用率"地图,与当前帧异常突现的点视为动态点丢弃。
  • 可见性约束: 与上一帧比较 —— 一个点如果在上一帧应被现帧雷达看到却没有,视为动态。
  • 速度约束: 同一区域连续帧出现的点云速度估计 > 步行速度 → 滤除。
  • Occupancy consistency: maintain a long-term occupancy map; reject points appearing where the map says 'free'.
  • Visibility check: a point present in the previous frame but absent now (or vice versa, in expected region) is dynamic.
  • Velocity gate: estimated cloud velocity > walking speed → reject.

4. 反光板辅助 / Reflector assistance

在长直走廊 / 镜面 / 重度对称的场景下,铺 高反光板作为人工地标,几何匹配亚厘米精度。详见 激光 SLAM + 反光板建图手册

In long corridors / mirrored / heavily symmetric scenes, deploy high-reflectivity panels as artificial landmarks for sub-cm geometric matching.

5. 自适应协方差 / Adaptive covariance

扫描匹配的输出位姿同时附带 协方差矩阵(来自 Hessian 求逆)。当协方差大 → TightCoupler 自动降权,让 IMU / 里程计主导;协方差小 → 激光主导。

The scan matcher outputs not only a pose but its covariance (from Hessian inverse). When uncertainty is high, TightCoupler down-weights laser and lets IMU / odom dominate; when low, laser leads.

6. 多源融合 / Multi-source fusion

激光不是唯一定位源 —— 与 地纹天花板二维码、IMU、RTK、UWB 紧耦合(多定位源的自动综合)。

7. 局部 / 全局重定位 / Local / global re-localisation

"丢线"分两级:

  • 局部丢失 (协方差 > 阈值 持续 N 帧) → 小搜索半径重定位
  • 全局丢失 (局部重定位失败 > T 秒) → 全图分支限界搜索(建图 提供的初始地图)

"Lost" comes in two grades: local (covariance > threshold for N frames) → small search radius; global (local recovery fails > T seconds) → full-map branch-and-bound.

8. 长期地图自更新 / Long-term map self-update

环境会变(货架挪位、临时区域开通)。Detour 定期把"明显持久的占用变化"合并到地图:可选 自动(默认关)或 手动审批(推荐)。

Environments drift. Detour can fold "obviously persistent occupancy changes" back into the map — manual approval (default) or auto-merge (opt-in).

9. 弱场景预测 / Weak-scene prediction

建图后离线分析地图:每个格点 几何信息量有多大(垂直墙体的距离、特征覆盖角度)。低信息量区域在 UI 上显示为黄色,提示开发者 加反光板减少在此区段做精动作

Off-line analysis after mapping: per-cell geometric information score (perpendicular wall distance, feature angular coverage). Low-score regions show yellow in the UI — hint to add reflectors or avoid precise work there.

不属于 SLAM 的鲁棒性 / Things outside SLAM proper

有些鲁棒性是 上层组件的责任,不应混入 SLAM:

  • 传感器故障切换 / Sensor failover: Medulla 监测雷达 watchdog;超时切到备份雷达。
  • 突遇人员: Clumsy 局部 e-stop(绕障行走)。
  • 任务级回退: SimpleCore 收到位姿 totally lost事件 → 全局停车,操作工介入。
  • Sensor failover: Medulla's watchdog flips to a backup lidar.
  • Sudden people: Clumsy's local e-stop.
  • Mission-level fallback: SimpleCore halts the fleet when localisation is utterly lost; operator intervention.

调试与验证 / Validation

  • SLAM 健康指标: Detour UI 显示协方差、闭环数 / s、动态过滤丢点率、活跃 SLAM 后端。
  • 回放: 用 数据录制与回放 在离线复现疑难帧。
  • Stress test: 在仓库引入有意的扰动(多人通过、临时叉车),观察 SLAM 输出的位姿连续性。

相关页面 / See also