传感器基础:常见传感器的工作原理与输出特性

做机器人系统集成这些年,我有个很深的体会——传感器选型决定了系统上限,标定决定了你能摸到多高。说白了,传感器就是机器人的「五官」。你给它配个近视眼,算法再牛也白搭。

这一节,咱们把四种最常用的传感器掰开揉碎了讲。IMU、相机、激光雷达、编码器。每个我都踩过坑,有些坑现在想起来还肉疼。

一、IMU(惯性测量单元)

IMU这东西,说白了就是测加速度和角速度的。内部通常集成了三轴加速度计和三轴陀螺仪,好一点的还会加上磁力计。

工作原理

  • 加速度计:测量比力(重力+运动加速度)。内部有个检测质量块,加速度会让它产生位移,通过电容变化或压电效应读出。
  • 陀螺仪:测量角速度。MEMS陀螺仪利用科里奥利效应——振动的质量块在旋转时会受到侧向力,这个力的大小正比于角速度。

输出特性

参数典型值说明
输出频率100Hz - 1kHz越高越好,但噪声也大
零偏稳定性10°/h(工业级)静止时陀螺输出的漂移
加速度噪声100 μg/√Hz白噪声密度
量程±2g ~ ±16g(加速度)选大了分辨率下降
⚠️ 我曾经踩过的坑: 有一次做AGV导航,IMU装在振动剧烈的底盘上。陀螺输出直接炸了,角度积分几分钟就偏了30度。后来加了减震垫,又做了低通滤波,才算稳住。记住——IMU最怕振动和温度突变
💡 个人习惯: 每次拿到新IMU,第一件事不是看数据手册,而是先做静态采集。放桌上不动,录5分钟数据。看看零偏漂移曲线,心里就有底了。

二、相机

相机是机器人感知的主力。但很多人以为相机就是「拍张照片」,其实没那么简单。

工作原理

光线通过镜头,聚焦在CMOS或CCD感光元件上。每个像素把光强转换成电压,再经过ADC变成数字信号。这里有个关键——拜耳阵列。每个像素只感知一种颜色(R/G/B),需要通过插值算法恢复全彩。

输出特性

  • 分辨率:640×480 到 4K 甚至更高。分辨率越高,数据量越大,处理延迟也越高。
  • 帧率:30fps是常规,高速相机能到1000fps。帧率决定了你能捕捉多快的运动。
  • 动态范围:典型值60-80dB。高动态范围(HDR)相机能同时看清暗处和亮处。
  • 畸变:镜头带来的径向畸变和切向畸变。必须标定,否则测距全是错的。

🔑 关键参数: 曝光时间、增益、白平衡。这三个参数互相耦合。你调高了增益,噪声就上来了;曝光时间长了,运动模糊就来了。我一般先固定增益,再调曝光,最后微调白平衡。

你想想看,相机输出的其实是「像素值矩阵」。要变成有用的信息,还得做畸变校正、去噪、特征提取。这些后面章节会细讲。

三、激光雷达

激光雷达,我愿称之为「机器人最靠谱的测距传感器」。为什么?因为它直接测量距离,不像视觉那样需要复杂的几何推算。

工作原理

发射激光脉冲,打到物体上反射回来,测量飞行时间(ToF)。距离 = 光速 × 飞行时间 / 2。旋转的激光束扫描一圈,就得到一帧点云数据。

现在主流分两种:

  • 机械式:激光器旋转扫描。16线、32线、64线。优点是视场角大(360°),缺点是机械磨损,寿命有限。
  • 固态式:用光学相控阵或MEMS微镜实现扫描。没有旋转部件,寿命长,但视场角小。

输出特性

参数典型值影响
测距范围10m - 200m决定了感知距离
测距精度±2cm(典型)受反射率影响大
角分辨率0.1° - 0.4°决定了点云密度
扫描频率10Hz - 20Hz帧率,影响实时性
⚠️ 注意: 激光雷达在强光下性能会下降。我做过一个户外项目,正午太阳直射,激光雷达的有效测距直接缩水了30%。另外,黑色物体和镜面反射物体是激光雷达的噩梦——黑色吸光,镜面反射光,都会导致测距失败。

四、编码器

编码器是轮式机器人最基础的传感器。它告诉你「轮子转了多少圈」。但注意——编码器测的是轮子转速,不是机器人速度。打滑的时候,编码器还在转,但机器人没动。

工作原理

编码器分两种:

  • 增量式:输出A、B两路脉冲信号,相位差90°。通过脉冲计数和相位关系,可以知道转角和方向。断电后位置丢失。
  • 绝对式:输出二进制编码或SSI协议数据。上电就知道当前位置,不需要找零位。

输出特性

参数典型值说明
分辨率500 - 5000 PPR每转脉冲数,越高越精细
最大转速3000 - 6000 RPM超过会丢脉冲
输出接口推挽、差分、集电极开路差分抗干扰最好
💡 避坑指南: 我曾经用增量式编码器做里程计,结果机器人走直线,编码器积分出来的轨迹却弯了。查了半天,发现是轮子直径标定不准。轮子直径差1mm,走10米就能偏出半米。所以——编码器标定不只是标零位,还要标轮距和轮径

知识体系总览

下面这张图,是我自己梳理的传感器知识框架。四种传感器各有侧重,融合起来才能互补。

常见传感器知识体系 IMU 加速度 + 角速度 相机 像素 + 颜色 激光雷达 点云 + 距离 编码器 脉冲 + 角度 输出特性 • 零偏稳定性 • 噪声密度 • 量程/带宽 输出特性 • 分辨率/帧率 • 动态范围 • 畸变参数 输出特性 • 测距范围/精度 • 角分辨率 • 扫描频率 输出特性 • 分辨率(PPR) • 最大转速 • 输出接口 传感器融合 → 更鲁棒的感知 每种传感器都有短板,融合才能互补。标定是融合的前提。

嗯,四种传感器讲完了。IMU提供高频但会漂移的姿态,相机提供丰富的纹理信息,激光雷达提供精确的距离,编码器提供轮速。没有哪个是完美的,但组合起来,就能做出靠谱的机器人。

我个人习惯,做系统设计时先列一张表,把每种传感器的优缺点、输出频率、数据格式写清楚。然后问自己一个问题——如果这个传感器突然坏了,系统还能撑多久? 想清楚这个,你的融合策略就稳了。


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