传感器基础:常见传感器的工作原理与输出特性
做机器人系统集成这些年,我有个很深的体会——传感器选型决定了系统上限,标定决定了你能摸到多高。说白了,传感器就是机器人的「五官」。你给它配个近视眼,算法再牛也白搭。
这一节,咱们把四种最常用的传感器掰开揉碎了讲。IMU、相机、激光雷达、编码器。每个我都踩过坑,有些坑现在想起来还肉疼。
一、IMU(惯性测量单元)
IMU这东西,说白了就是测加速度和角速度的。内部通常集成了三轴加速度计和三轴陀螺仪,好一点的还会加上磁力计。
工作原理
- 加速度计:测量比力(重力+运动加速度)。内部有个检测质量块,加速度会让它产生位移,通过电容变化或压电效应读出。
- 陀螺仪:测量角速度。MEMS陀螺仪利用科里奥利效应——振动的质量块在旋转时会受到侧向力,这个力的大小正比于角速度。
输出特性
| 参数 | 典型值 | 说明 |
|---|---|---|
| 输出频率 | 100Hz - 1kHz | 越高越好,但噪声也大 |
| 零偏稳定性 | 10°/h(工业级) | 静止时陀螺输出的漂移 |
| 加速度噪声 | 100 μg/√Hz | 白噪声密度 |
| 量程 | ±2g ~ ±16g(加速度) | 选大了分辨率下降 |
二、相机
相机是机器人感知的主力。但很多人以为相机就是「拍张照片」,其实没那么简单。
工作原理
光线通过镜头,聚焦在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 | 帧率,影响实时性 |
四、编码器
编码器是轮式机器人最基础的传感器。它告诉你「轮子转了多少圈」。但注意——编码器测的是轮子转速,不是机器人速度。打滑的时候,编码器还在转,但机器人没动。
工作原理
编码器分两种:
- 增量式:输出A、B两路脉冲信号,相位差90°。通过脉冲计数和相位关系,可以知道转角和方向。断电后位置丢失。
- 绝对式:输出二进制编码或SSI协议数据。上电就知道当前位置,不需要找零位。
输出特性
| 参数 | 典型值 | 说明 |
|---|---|---|
| 分辨率 | 500 - 5000 PPR | 每转脉冲数,越高越精细 |
| 最大转速 | 3000 - 6000 RPM | 超过会丢脉冲 |
| 输出接口 | 推挽、差分、集电极开路 | 差分抗干扰最好 |
知识体系总览
下面这张图,是我自己梳理的传感器知识框架。四种传感器各有侧重,融合起来才能互补。
嗯,四种传感器讲完了。IMU提供高频但会漂移的姿态,相机提供丰富的纹理信息,激光雷达提供精确的距离,编码器提供轮速。没有哪个是完美的,但组合起来,就能做出靠谱的机器人。
我个人习惯,做系统设计时先列一张表,把每种传感器的优缺点、输出频率、数据格式写清楚。然后问自己一个问题——如果这个传感器突然坏了,系统还能撑多久? 想清楚这个,你的融合策略就稳了。
公众号:蓝海资料掘金营,微信deep3321