一、地图基础概念:地图类型、坐标系与精度

大家好,我是你们的SLAM讲师。今天咱们聊聊地图基础概念。说实话,很多新手一上来就急着跑算法,结果地图建出来歪歪扭扭,定位也飘得厉害。根本原因是什么?就是地图基础没打牢。

我个人习惯,做任何项目前,先把地图类型、坐标系、分辨率这三件事搞清楚。磨刀不误砍柴工嘛。

1.1 地图类型:三种主流地图

SLAM里常用的地图,说白了就三种:栅格地图、拓扑地图、特征地图。每种地图都有自己的脾气,选错了,后面全是坑。

1.1.1 栅格地图(Occupancy Grid Map)

栅格地图是最直观的。把空间切成一个个小格子,每个格子存一个概率值——0表示空闲,1表示占据,0.5表示未知。

我遇到过一个项目,在仓库里做AGV导航。一开始用的栅格分辨率是5cm,结果小车老是撞到货架腿。后来改成2cm,问题就解决了。但代价是什么?内存暴涨了6倍多。

核心要点:

  • 适合导航、避障、路径规划
  • 存储量大,分辨率越高内存越大
  • 更新简单,直接改格子概率值就行

1.1.2 拓扑地图(Topological Map)

拓扑地图不关心具体几何形状,只关心「节点」和「边」。节点代表关键位置,边代表连通关系。你想想看,地铁线路图就是典型的拓扑地图。

我曾经在一个大型商场做机器人导航,栅格地图建出来几百兆,根本跑不动。后来改用拓扑地图,只记录电梯口、店铺门口这些关键节点,内存直接降到几KB。但缺点也很明显——没法做精细避障。

我的建议:大场景用拓扑地图做全局规划,小场景用栅格地图做局部规划。两者结合,效果最好。

1.1.3 特征地图(Feature Map)

特征地图只存「特征点」,比如墙角、二维码、路标。每个特征点有坐标和描述子。这种地图最轻量,但依赖特征提取的质量。

嗯,这里要注意:特征地图对光照变化很敏感。我在一个地下车库做过测试,白天和晚上的特征点匹配率不到30%。后来加了反光条,才稳定下来。

地图类型 存储量 适用场景 典型分辨率
栅格地图 大(MB~GB) 室内导航、避障 2cm~10cm
拓扑地图 小(KB~MB) 大场景、路径规划 节点间距1m~10m
特征地图 极小(KB) 视觉SLAM、AR 特征点密度

1.2 坐标系与坐标变换

坐标系搞不清楚,地图建出来就是歪的。我见过太多人把机器人坐标系和世界坐标系搞混,结果定位数据全错了。

1.2.1 常用坐标系

SLAM里常用的坐标系有四个:

  • 世界坐标系(World Frame):固定不动,所有地图数据都基于它
  • 机器人坐标系(Robot Frame):跟着机器人走,原点在机器人中心
  • 传感器坐标系(Sensor Frame):激光雷达或相机自己的坐标系
  • 图像坐标系(Image Frame):像素坐标,只在视觉SLAM里用

我建议:所有传感器数据,第一步就转换到机器人坐标系。这样后面处理起来统一,不容易出错。

1.2.2 坐标变换矩阵

坐标变换说白了就是乘一个4x4的矩阵。平移加旋转,搞定。

// 一个典型的坐标变换矩阵
T = [R  t]
    [0  1]

// 其中R是3x3旋转矩阵,t是3x1平移向量
// 把点p从传感器坐标系转到机器人坐标系:
p_robot = T_sensor_to_robot * p_sensor

避坑指南:我曾经在项目里直接用欧拉角做变换,结果遇到万向锁,机器人原地打转。后来老老实实用四元数,再也没出过问题。

1.3 地图分辨率与精度

分辨率不是越高越好。你想想看,分辨率提高一倍,内存占用变成四倍。但精度不一定能提高四倍。

1.3.1 分辨率的选择

我一般按这个经验来选:

  • 室内走廊:5cm分辨率就够了
  • 仓库货架:2cm分辨率,不然货架腿识别不出来
  • 室外大场景:10cm~20cm,再高内存扛不住

1.3.2 精度的影响因素

地图精度不只看分辨率,还看这些:

  • 传感器噪声:激光雷达的精度直接决定地图质量
  • 里程计漂移:跑久了地图会变形
  • 回环检测:没有回环,地图就是散的

我记得有一次做工厂项目,激光雷达精度是±3cm,地图分辨率设了1cm。结果呢?每个格子都在抖动,根本没法用。后来把分辨率降到3cm,反而稳定了。

经验公式:地图分辨率 ≈ 传感器精度 × 2。这样既不会浪费内存,也不会丢失细节。

知识体系结构图

下面这张图,是我自己总结的地图基础概念框架。你看一遍,心里就有谱了。

地图基础概念知识体系 地图类型 坐标系与变换 分辨率与精度 栅格地图(Occupancy Grid) 拓扑地图(Topological) 特征地图(Feature Map) 世界坐标系 机器人坐标系 传感器坐标系 坐标变换矩阵(4x4) 分辨率选择(2cm~20cm) 传感器噪声影响 里程计漂移 回环检测 核心原则 地图类型选对 → 坐标系统一 → 分辨率匹配传感器精度 三者缺一不可,否则地图质量大打折扣

好了,地图基础概念就讲到这里。记住一句话:地图类型决定你怎么存,坐标系决定你怎么算,分辨率决定你存多细。这三样搞明白了,后面建图定位就顺了。

本章小结:

  • 三种地图各有优劣,根据场景选型
  • 坐标系必须统一,推荐先转到机器人坐标系
  • 分辨率不是越高越好,匹配传感器精度才是关键

可可精品资料库