第一章 传感器基础:搞懂你的眼睛和耳朵
大家好,我是你们的老朋友。
做自动驾驶或机器人,说白了就是让机器看懂世界。那它靠什么看?靠的就是传感器。激光雷达和相机,就是它的两只眼睛。一个负责测距,一个负责认路。但这两只眼睛长在不同位置,看东西的角度也不一样。所以,我们得先搞清楚它们各自的工作原理,才能谈怎么把它们「对齐」。
这一章,我们就来聊聊传感器的基础知识。我个人习惯把这一章叫做「地基」——地基打不牢,后面盖什么楼都得塌。
1.1 激光雷达工作原理
激光雷达,英文叫 LiDAR。它怎么工作的?其实很简单:发射一束激光,打到物体上,反射回来,接收器收到。然后根据发射和接收的时间差,算出距离。这就是最核心的原理——飞行时间法(TOF)。
核心公式:距离 = 光速 × 时间差 / 2
光速是 3×10⁸ m/s,时间差是激光往返的时间。除以2是因为激光走了个来回。
我在项目中遇到过一个问题:有人觉得TOF测距很简单,不就是算个时间吗?但实际工程中,时间差非常小,比如测10米远的物体,时间差只有约67纳秒。这么短的时间,对硬件计时精度要求极高。嗯,这里要注意,不是所有激光雷达都用TOF,还有相位法和三角法,但TOF是主流。
1.1.1 机械式激光雷达
机械式激光雷达,你想想看,就是让激光发射器转起来。像老式雷达那样,一圈一圈地扫。它内部有一个旋转机构,带动激光器旋转,从而覆盖360°的水平视野。
- 优点:视野广,360°无死角。技术成熟,成本相对可控。
- 缺点:有机械旋转部件,容易坏。我记得有一次在测试车上,机械雷达的电机坏了,整个点云都乱了。另外,它体积大,不好看。
避坑指南:我曾经在项目里遇到过机械雷达的「盲区」问题。因为旋转机构需要时间,靠近雷达的物体可能被漏掉。所以安装时,一定要考虑雷达的最近探测距离。
1.1.2 固态激光雷达
固态激光雷达,说白了就是没有机械旋转部件。它用电子方式控制激光束的方向,比如用光学相控阵(OPA)或微机电系统(MEMS)振镜。
- 优点:体积小,寿命长,可靠性高。适合量产车。
- 缺点:视野通常比较窄,比如120°×30°。而且成本目前还比较高。
我个人觉得,固态是未来的趋势。但现阶段,机械式还是主流,因为便宜、好用。
1.2 相机成像模型
相机呢,就是模仿人眼。它把三维世界投影到二维图像上。这个投影过程,就是成像模型。最经典的就是针孔模型。
1.2.1 针孔模型
针孔模型,想象一个暗箱,前面戳一个小孔。光线从小孔穿过,在后面的感光元件上成像。这个模型很简单,但很实用。
数学上,它用内参矩阵来描述。内参矩阵包含焦距(fx, fy)和光心(cx, cy)。
// 内参矩阵 K
K = [fx, 0, cx;
0, fy, cy;
0, 0, 1]
这个矩阵,就是把三维点 (X, Y, Z) 投影到像素坐标 (u, v) 的桥梁。公式是:
u = fx * X / Z + cx
v = fy * Y / Z + cy
你想想看,Z 在分母上。所以物体越远,它在图像上就越小。这就是透视效应。
1.2.2 畸变模型
现实中的镜头不是完美的针孔。它会有畸变。最常见的两种:径向畸变和切向畸变。
- 径向畸变:图像边缘的直线会变弯。像鱼眼镜头那样。用 k1, k2, k3 三个参数来描述。
- 切向畸变:镜头和感光元件不平行导致的。用 p1, p2 两个参数来描述。
注意:畸变参数必须标定。不标定的话,你拿相机去测距,误差会很大。我曾经见过一个项目,因为没做畸变校正,导致激光雷达和相机的投影差了十几个像素,怎么都对齐不了。
畸变校正的公式比较复杂,但 OpenCV 里已经封装好了。你只需要提供棋盘格图片,它就能自动算出畸变参数。
1.3 坐标系定义
搞传感器融合,最头疼的就是坐标系。每个传感器都有自己的坐标系,你得把它们统一起来。
常见的坐标系有四个:
| 坐标系 | 原点 | X轴 | Y轴 | Z轴 |
|---|---|---|---|---|
| 世界坐标系 | 自定义(如GPS原点) | 东 | 北 | 天 |
| 车体坐标系 | 车辆后轴中心 | 前进方向 | 左侧 | 上方 |
| 激光雷达坐标系 | 雷达中心 | 雷达前方 | 左侧 | 上方 |
| 相机坐标系 | 相机光心 | 相机右方 | 下方 | 前方 |
我建议你记住一个原则:所有传感器数据,最终都要转换到车体坐标系下。这样,你才能统一处理。
举个例子:激光雷达检测到前方5米有个障碍物。这个「前方5米」是在激光雷达坐标系下的。但激光雷达装在车顶,离车体中心有1米。所以,你得把它转换到车体坐标系下,才能知道它相对于车体的位置。
这个转换,就是外参标定要解决的问题。说白了,就是求两个坐标系之间的旋转矩阵 R 和平移向量 t。
核心公式:P_car = R * P_lidar + t
其中,P_car 是车体坐标系下的点,P_lidar 是激光雷达坐标系下的点。
1.4 知识体系总览
为了让你更直观地理解这一章的知识结构,我画了一张图。它把激光雷达、相机和坐标系的关系串起来了。
这张图很清楚地展示了:激光雷达和相机各自独立工作,输出不同格式的数据。而坐标系,就是连接它们的桥梁。外参标定,就是找到这座桥的「位置」和「方向」。
好了,这一章的内容就到这里。记住,基础不牢,地动山摇。搞懂了传感器原理和坐标系,你才能在后面对齐它们。
可可精品资料库