第一章 传感器基础:搞懂你的眼睛和耳朵

大家好,我是你们的老朋友。

做自动驾驶或机器人,说白了就是让机器看懂世界。那它靠什么看?靠的就是传感器。激光雷达和相机,就是它的两只眼睛。一个负责测距,一个负责认路。但这两只眼睛长在不同位置,看东西的角度也不一样。所以,我们得先搞清楚它们各自的工作原理,才能谈怎么把它们「对齐」。

这一章,我们就来聊聊传感器的基础知识。我个人习惯把这一章叫做「地基」——地基打不牢,后面盖什么楼都得塌。

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 知识体系总览

为了让你更直观地理解这一章的知识结构,我画了一张图。它把激光雷达、相机和坐标系的关系串起来了。

传感器基础:知识体系总览 激光雷达 工作原理:TOF 机械式 vs 固态 输出:3D点云 相机 成像模型:针孔模型 畸变模型:径向+切向 输出:2D图像 坐标系 世界坐标系 车体坐标系 激光雷达/相机坐标系 外参 外参 传感器融合 目标:将激光雷达点云投影到相机图像上 注:外参标定就是求激光雷达/相机到车体坐标系的旋转和平移

这张图很清楚地展示了:激光雷达和相机各自独立工作,输出不同格式的数据。而坐标系,就是连接它们的桥梁。外参标定,就是找到这座桥的「位置」和「方向」。

好了,这一章的内容就到这里。记住,基础不牢,地动山摇。搞懂了传感器原理和坐标系,你才能在后面对齐它们。

可可精品资料库