传感器基础:激光雷达、IMU、轮式里程计与相机

做AMR定位与建图,说白了就是让机器人回答两个问题:「我在哪?」「周围长啥样?」。要回答这两个问题,传感器就是机器人的眼睛和耳朵。今天咱们就把AMR上最常用的几类传感器掰开揉碎聊一聊。

我个人习惯把传感器分成两类:外部环境感知型(激光雷达、相机)和内部状态估计型(IMU、轮式里程计)。这两类各有各的脾气,搭配好了事半功倍,搭配不好……嗯,我在项目里吃过不少亏,后面会提到。

一、激光雷达:2D与3D

激光雷达,大家习惯叫它LiDAR。原理很简单:发射激光束,测量反射回来的时间,算出距离。你想想看,这玩意儿天生就是为建图而生的——直接给你一个点云,每个点都带着精确的距离信息。

2D激光雷达

2D LiDAR扫描的是一个平面,通常用在室内AGV、扫地机器人上。我最早接触的是Sick和Hokuyo的2D雷达,那时候一个就要一两万,现在国产的思岚、镭神已经把价格打下来了。

  • 优点:数据量小、处理快、精度高(通常±2cm以内)、成本低
  • 缺点:只能感知一个平面,遇到台阶、悬空障碍物就抓瞎
  • 典型应用:室内导航、SLAM中的2D栅格地图构建
我的经验:做2D SLAM时,雷达安装高度很关键。装高了扫不到地面障碍,装低了又容易被杂物遮挡。我一般建议装在离地15-20cm的位置,这样既能扫到地面小物体,又不会频繁触发误报。

3D激光雷达

3D LiDAR能获取三维空间信息,现在主流的有16线、32线、64线甚至128线。Velodyne、禾赛、速腾聚创是主要玩家。我记得第一次用16线雷达做室外建图时,被那个数据量吓了一跳——每秒30万个点,CPU直接拉满。

  • 优点:三维感知、不受光照影响、远距离探测(几十到上百米)
  • 缺点:贵(虽然现在便宜了,但好的还是上万)、数据量大、点云稀疏(尤其远距离)
  • 典型应用:室外AMR、自动驾驶、3D SLAM
避坑指南:我曾经在雨雪天测试3D雷达,结果点云上全是噪点——水滴和雪花会反射激光。后来加了滤波算法才勉强能用。如果你要做全天候AMR,这点一定要考虑进去。

二、IMU:惯性测量单元

IMU包含加速度计和陀螺仪,有的还带磁力计。它测量的是机器人自身的加速度和角速度。说白了,就是靠「猜」——从当前状态推算下一时刻的位置和姿态。

IMU有个致命问题:漂移。加速度积分一次得速度,再积分一次得位置,误差会随时间累积。你想想看,一个微小的测量误差,几秒钟后就能偏出几米远。

  • 优点:更新频率高(100-1000Hz)、不受外界干扰、短时间精度好
  • 缺点:长时间漂移严重、需要温补校准、低端IMU噪声大
  • 典型应用:与激光雷达/视觉融合、姿态估计、短时定位
核心要点:IMU从来不是单独用的。在SLAM里,它主要做两件事:一是提供高频的位姿预测(给激光匹配做初值),二是估计重力方向(让地图水平)。我习惯把IMU叫做「粘合剂」——把低频的传感器数据平滑地串起来。

三、轮式里程计

轮式里程计,就是通过编码器测量轮子转了多少圈,结合轮径算出移动距离。听起来很靠谱对吧?但实际用起来坑不少。

我记得第一次做AGV项目,轮式里程计给的定位精度还不错,结果一上地毯就开始打滑,定位直接飘了。后来加了打滑检测算法才稳住。

  • 优点:成本极低(编码器几十块)、更新频率高、短距离精度好
  • 缺点:打滑就完蛋、轮径磨损会累积误差、无法用于不平整路面
  • 典型应用:室内AGV、与IMU融合做航位推算
我的建议:轮式里程计一定要做标定。轮径差1mm,走10米就能偏出十几厘米。我一般用直线往返和原地旋转两种方式标定,简单有效。

四、相机:RGB-D与双目

相机是AMR上最便宜的「眼睛」,但也是最难伺候的。光照一变、纹理一少,视觉SLAM就容易崩。

RGB-D相机

RGB-D相机(如Kinect、Intel RealSense、奥比中光)能同时输出彩色图和深度图。深度图是通过结构光或ToF原理得到的。

  • 优点:直接获取深度、成本低(几百到几千)、适合室内
  • 缺点:室外强光下失效、有效距离短(通常3-5米)、深度图有空洞
  • 典型应用:室内3D重建、视觉SLAM、物体识别

双目相机

双目相机通过两个摄像头视差计算深度,原理和人眼类似。不需要主动光源,所以室内外都能用。

  • 优点:室内外通用、无距离限制(理论上)、成本适中
  • 缺点:计算量大(需要立体匹配)、弱纹理区域失效、基线长度影响精度
  • 典型应用:室外AMR、视觉里程计、深度估计
避坑指南:我曾经在仓库里用双目做定位,结果货架全是白色铁皮,纹理几乎为零,立体匹配直接炸了。后来加了激光雷达做辅助才搞定。记住:视觉传感器最怕「白墙」和「强光」。

五、各传感器优缺点对比

下面这张表是我自己总结的,每次选型都会拿出来对照一下。

传感器 精度 更新频率 成本 环境适应性 主要局限
2D激光雷达 高(±2cm) 10-40Hz 中(千元级) 室内好,室外一般 只能扫一个平面
3D激光雷达 高(±3cm) 5-20Hz 高(万元级) 全天候 数据量大、稀疏
IMU 短期高,长期漂移 100-1000Hz 低(百元级) 完全不受外界影响 漂移严重
轮式里程计 短距离高 50-200Hz 极低(几十元) 室内平整路面 打滑、磨损
RGB-D相机 中(深度±2cm) 30-60Hz 低(千元级) 室内好,室外差 强光失效、距离短
双目相机 中(随距离变差) 30-60Hz 低(千元级) 室内外均可 弱纹理失效、计算量大

六、传感器融合:1+1>2

看到这里你应该明白了:没有完美的传感器。2D雷达扫不到台阶,IMU会漂,轮式里程计会打滑,相机怕光照变化。那怎么办?融合呗。

我常用的组合方式:

  • 室内AGV:2D激光雷达 + IMU + 轮式里程计。低成本、高可靠,打滑时靠IMU撑一下
  • 室外AMR:3D激光雷达 + IMU + 双目相机。激光提供精确深度,视觉提供纹理信息,IMU做高频插值
  • 轻量级方案:RGB-D + IMU。适合室内服务机器人,成本控制在千元以内
核心思路:融合的本质是用一个传感器的优点去补另一个传感器的缺点。激光雷达精度高但稀疏,就用IMU做插值;IMU漂移快,就用激光雷达定期修正。说白了,就是让传感器们互相「监督」。

七、知识体系总览

下面这张图是我自己画的,把本章的核心逻辑串起来了。你可以把它当作选型时的参考框架。

AMR传感器体系与融合逻辑 传感器融合 激光雷达 2D/3D点云 IMU 加速度/角速度 轮式里程计 编码器数据 相机 RGB-D/双目 精度高 / 稀疏 高频 / 漂移 低成本 / 打滑 纹理丰富 / 怕光照 输出:位姿估计 + 地图构建 高频、低漂移、鲁棒

这张图的核心逻辑是:四个传感器各有长短,融合后取长补短。激光雷达提供精确的距离信息,IMU提供高频的姿态变化,轮式里程计给出地面位移,相机补充纹理和深度。最终输出的是一个稳定、低漂移的位姿估计。

好了,传感器基础就聊到这儿。记住一句话:选传感器不是选最好的,而是选最合适的。你的AMR在什么场景跑、预算多少、精度要求多高,这些才是决定因素。


公众号:蓝海资料掘金营,微信deep3321