Detour地面纹理SLAM算法详解

来自MDCS wiki2
Artheru讨论 | 贡献2026年5月16日 (六) 19:42的版本 (Initial bilingual draft (auto-published))
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索


概述 / Overview

地面纹理 SLAM(Ground-Texture SLAM)使用向下的高分辨率工业相机,把地面的微观纹理(划痕、混凝土颗粒、油渍、地砖缝)作为 全场景同质的视觉地标,做位姿估计与建图。在激光 SLAM 表现差的场景(特征贫乏、动态多、地面平整)下效果显著。

Ground-texture SLAM uses a downward-facing high-res industrial camera and treats the floor's micro-features (scratches, concrete grit, oil stains, tile joints) as everywhere-homogeneous visual landmarks. It excels where laser SLAM is weak: featureless walls, heavy dynamic obstacles, but smooth uniform floors.

入门见 地纹 SLAM 技术概述;本页讲算法细节。 For an intro see the ground-texture SLAM overview; this page covers the algorithmic core.

算法原理 / Algorithm overview

模块 / Module 说明 / Description
特征提取 / Feature extraction ORB / FAST + BRIEF(每帧 ~500 个点)/ ORB / FAST + BRIEF (~500 features per frame)
帧间匹配 / Frame matching Hamming 距离 KNN + 比率测试 / KNN matching with ratio test
位姿估计 / Pose estimation PnP(2D-to-2D 因深度近似常数)/ 2D-2D PnP since depth ≈ const
关键帧筛选 / Keyframe selection 平移 ≥ 30 mm 或转角 ≥ 5° / displacement ≥ 30 mm or yaw ≥ 5°
局部建图 / Local mapping 关键帧池 + Bundle Adjustment / keyframe pool + BA
全局闭环 / Global loop closure 词袋(BoVW)/ Bag of Visual Words
位姿图优化 / Pose-graph g2o / Ceres

硬件配置 / Hardware setup

部件 / Part 典型规格 / Typical
相机 / Camera 工业 USB3 全局快门,120 FPS,1 MP
安装高度 / Mount height 80–150 mm 距地 / ground-clearance
视场 / FOV 200 × 150 mm 实测覆盖区
照明 / Lighting 自带 LED 环形灯,确保不被外光影响
防护 / Protection 抗油 / 抗尘罩,定期清洁

与激光 SLAM 的差异 / vs laser SLAM

项 / Item 激光 SLAM 地纹 SLAM
主感知 / Primary sensing 2D 距离扫描 / 2D ranges 向下相机图像 / downward image
全局位姿误差 / Global error cm 量级(受墙体不规则影响) mm 量级(局部很准)
全局漂移 / Global drift 受闭环密度影响 重度依赖关键帧密度
弱场景 / Weak case 长走廊 / 反光板缺 极平整无纹理地面(如新漆面)
重定位 / Re-loc 全局粗定位足够 需要预先扫描全场地图
计算需求 / Compute CPU 中等 CPU + GPU(GPU 加速特征匹配);见 核显工控机

工作流程 / Workflow

  1. 用专用扫描车在工地上 慢速、完全覆盖采集地纹(推荐 ≤ 0.5 m/s)。
  2. 后处理生成 地纹地图(特征点数据库 + 关键帧池);典型大小 1 GB / 1000 m²。
  3. 上线时车上跑实时定位:每帧提特征 → 与本地关键帧匹配 → 估姿 → 周期性查全局 BoVW 做闭环。
  4. Detour TightCoupler 把地纹位姿与激光 / IMU 融合。
  1. Slowly traverse the entire site (≤ 0.5 m/s) to capture textures.
  2. Off-line build the texture map (feature DB + keyframe pool); typically ~1 GB per 1000 m².
  3. At runtime: extract features per frame → match to local keyframes → estimate pose → periodically query global BoVW for loop-closure.
  4. Detour's TightCoupler fuses ground-texture pose with laser + IMU.

关键参数 / Key parameters

  • `featurePerFrame`: 500 (上下限 200–1000)
  • `keyframeSpacing`: 30 mm
  • `bowVocabSize`: 5000 个视觉单词
  • `localBaWindow`: 10 关键帧
  • `loopClosureMinScore`: 0.6

适用与不适用 / Applicability

适合 / Use when:

  • 地面有微观纹理(混凝土、地砖、橡胶颗粒)
  • 工作面平整、车体俯仰/翻滚小
  • 激光 SLAM 表现差(长走廊、镜面墙)

不适合 / Avoid when:

  • 地面持续湿水、油污(特征被遮)
  • 地面定期翻新(特征漂变快)
  • 上下楼梯 / 大坡度

快速找回定位 / Re-localisation in ground texture

地纹场景下"丢失定位"恢复较难,因为没有全局粗位姿。MDCS 推荐 二维码辅助方案:在关键位置贴二维码作为 重定位锚点。具体见 使用手册 - 在地纹导航中使用二维码快速找回定位

In ground-texture mode, recovery is hard. The recommended pattern is QR-assisted re-localisation: paste QR tags at strategic points as anchors. See the dedicated guide.

相关页面 / See also