传感器基础:LiDAR工作原理(TOF/固态)、IMU工作原理(加速度计/陀螺仪)、坐标系定义
各位同学,欢迎来到第二讲。今天咱们聊聊传感器本身。说实话,很多做SLAM的同学,算法调得飞起,但问起激光雷达怎么测距的、IMU为什么会有零偏,反而一脸懵。我个人觉得,搞多传感器融合,不懂传感器物理原理,就像厨师不懂火候——菜谱背得再熟也白搭。
这一节,我带你从物理层拆解LiDAR和IMU。不扯虚的,全是实战中必须啃下的硬骨头。
一、LiDAR工作原理:TOF与固态
激光雷达,说白了就是“用光量距离”。目前主流分两种:机械旋转式和固态式。机械式大家见得多了,Velodyne、禾赛的经典款。固态是趋势,比如Livox、Ouster的一些型号。
1.1 TOF(飞行时间法)
TOF的原理很简单:发射一束激光脉冲,打到物体上反射回来,接收器记录时间差Δt。距离d = c * Δt / 2。c是光速,约3×10⁸ m/s。
嗯,这里要注意:光速很快,Δt非常小。比如测30米,往返60米,Δt只有200纳秒。所以硬件上对计时精度要求极高。我在项目中遇到过,有些低端雷达在强光下测距抖动很大,就是因为接收器信噪比不够,计时电路被噪声干扰了。
核心参数:
- 测距精度:通常±2cm~±5cm,取决于计时芯片分辨率
- 最大测距:受限于激光功率和大气衰减,一般100m~300m
- 视场角(FOV):机械式水平360°,固态通常水平120°~90°
1.2 固态激光雷达
固态雷达没有旋转部件,靠光学相控阵(OPA)或微振镜(MEMS)来改变光束方向。好处是体积小、寿命长、成本低。但缺点也很明显——FOV受限,而且点云密度不均匀。
我记得第一次用Livox Horizon时,发现它的扫描轨迹是“花瓣形”的,不是传统机械式的水平线扫。这就导致外参标定时,如果只用平面特征,很容易陷入局部最优。你想想看,一个花瓣形的点云,你拿它去拟合平面,边缘点的权重天然就低。
实战建议:
标定固态雷达时,我建议多采集一些不同角度的数据,尤其是让雷达对着纹理丰富的场景(比如树丛、墙面拐角)。纯平面场景对固态雷达来说,特征不够鲁棒。
二、IMU工作原理:加速度计与陀螺仪
IMU这东西,又爱又恨。爱它高频、不受光照影响;恨它漂移、零偏、温漂。咱们先搞清楚它怎么工作的。
2.1 加速度计
加速度计测量的是比力(specific force),也就是物体受到的惯性力与重力的合力。内部结构像个弹簧-质量块系统:质量块受到加速度时发生位移,通过电容或压电效应转换成电信号。
这里有个坑:加速度计测不到重力加速度本身,它测的是“支撑力”。比如你静止放在桌上,加速度计读数是(0, 0, 9.8) m/s²(假设z轴向上)。为什么?因为桌面给了它一个向上的支撑力,抵消了重力。所以,静止时加速度计的模长应该等于重力加速度——这是IMU初始化时判断静止的重要依据。
避坑指南:
我曾经在无人机上遇到过,加速度计在剧烈振动下输出严重失真。原因是振动频率接近质量块的谐振频率,导致测量值被放大。所以,IMU安装时一定要加橡胶减震垫,尤其是靠近电机或发动机的场景。
2.2 陀螺仪
陀螺仪测量角速度。MEMS陀螺仪基于科里奥利效应:一个振动的质量块,当它旋转时,会受到一个垂直于振动方向的力,这个力的大小与角速度成正比。
陀螺仪最头疼的是零偏稳定性。什么意思?就是静止时,它输出不是0,而是某个小值,而且这个值随时间缓慢变化。我见过最差的MEMS陀螺,零偏漂移能达到10°/h,这意味着积分10分钟,角度误差就超过1.5°。对于SLAM来说,这误差会直接导致地图漂移。
| 参数 | 消费级IMU(如MPU6050) | 工业级IMU(如ADIS16470) | 战术级IMU(如iMAR) |
|---|---|---|---|
| 加速度计零偏稳定性 | ±10 mg | ±0.1 mg | ±0.01 mg |
| 陀螺零偏稳定性 | ±10 °/h | ±1 °/h | ±0.1 °/h |
| 典型价格 | 几十元 | 几千元 | 几万元 |
你看这个表就明白了,为什么有些方案用MPU6050做VIO,跑几分钟就飘得找不到北。不是算法不行,是传感器物理极限摆在那里。
三、坐标系定义:别让坐标系坑了你
做外参标定,坐标系定义是第一步。我见过太多人,标定结果看起来挺好,一融合就炸,最后发现是坐标系方向搞反了。
3.1 常用坐标系
- 世界坐标系(W系):通常定义为东北天(ENU)或北东地(NED)。SLAM中常用ENU,x向东,y向北,z向上。
- IMU坐标系(I系):一般x向前,y向左,z向上(右前上)。但不同厂家定义不同,一定要查datasheet。
- LiDAR坐标系(L系):通常x向前,y向左,z向上。但有些雷达(如Livox)的坐标系是x向右,y向前,z向上。
- 相机坐标系(C系):z向前,x向右,y向下(即图像坐标系的行列方向)。
我的习惯:
拿到一个新传感器,第一件事不是跑算法,而是写一个小脚本,把传感器静止时的数据打印出来。比如IMU,静止时加速度计读数应该是(0,0,g)或(0,0,-g),看坐标系定义。如果读出来是(0,g,0),那坐标系肯定不对。
3.2 外参标定中的坐标系变换
外参标定,本质就是求两个坐标系之间的旋转矩阵R和平移向量t。比如LiDAR到IMU的外参T_IL,表示从LiDAR坐标系到IMU坐标系的变换。
公式很简单:P_I = R_IL * P_L + t_IL
但实际标定时,我们往往用“手眼标定”的思想:通过多组相对运动,解算出R和t。具体方法后面章节会细讲,这里先记住一点:旋转矩阵必须是正交矩阵,行列式为+1。如果你解出来的R行列式是-1,说明坐标系是镜像的,肯定错了。
小技巧:
我习惯在标定前,先手动测量一个粗略的外参。比如用尺子量LiDAR和IMU的安装位置,精度到厘米级。然后用这个初值去优化,能大大减少迭代次数,避免陷入局部最优。
四、本章知识体系图
下面我用一张SVG图,把这一节的核心逻辑串起来。你一看就明白,LiDAR和IMU各自测什么、怎么测,以及坐标系怎么把它们关联起来。
这张图把LiDAR、IMU和坐标系的关系画得很清楚。左边是LiDAR,右边是IMU,下面是坐标系。箭头表示它们需要融合,而融合的前提是坐标系统一。说白了,外参标定就是干这个活的。
五、小结
这一节我们聊了三个核心点:
- LiDAR怎么测距的——TOF和固态的区别,以及实战中要注意的点云特性
- IMU怎么测加速度和角速度的——加速度计测比力,陀螺仪测角速度,零偏是绕不开的坎
- 坐标系怎么定义的——世界系、IMU系、LiDAR系,以及它们之间的变换关系
嗯,内容不少,但都是硬通货。你把这些搞明白了,后面做外参标定时,遇到问题就知道往哪个方向排查。传感器原理搞不懂,标定结果就是空中楼阁。
可可精品资料库