3. 传感器基础:激光雷达、深度相机、超声波传感器原理与数据特点
做机器人路径规划,传感器就是我们的眼睛和耳朵。选错传感器,算法再牛也白搭。今天咱们聊聊三种最常见的传感器:激光雷达、深度相机、超声波。我这些年踩过的坑,都融在下面了。
3.1 激光雷达(LiDAR)
激光雷达,说白了就是「用激光测距」。它发射激光束,碰到障碍物反射回来,通过时间差算出距离。我最早接触它是在一个仓储AGV项目上,当时觉得这东西真贵,但用起来是真香。
3.1.1 工作原理
激光雷达的核心是TOF(Time of Flight)原理。发射器发出激光脉冲,接收器捕捉反射信号。时间差乘以光速,再除以2,就是距离。
// 伪代码:激光雷达测距
distance = (time_of_flight * speed_of_light) / 2
嗯,这里要注意:光速是3×10⁸ m/s,时间差通常以纳秒计。所以实际计算时,精度要求很高。
3.1.2 数据特点
| 特性 | 说明 |
|---|---|
| 精度 | ±2cm 以内(高端可达毫米级) |
| 扫描范围 | 通常 270°~360° |
| 数据形式 | 点云(x, y, z 坐标 + 反射强度) |
| 更新频率 | 10Hz~40Hz |
我个人习惯用2D激光雷达做室内导航。它输出的是平面点云,处理起来快。3D激光雷达数据量大,但能感知高度信息,适合户外。
关键点:激光雷达不受光照影响,但怕灰尘和雾。我在一个粉尘车间里吃过亏——激光被粉尘散射,数据全是噪点。
3.1.3 避坑指南
我曾经在调试时发现,激光雷达扫描到玻璃或镜面时,数据会丢失。因为激光直接穿透玻璃,或者被镜面反射到别处。解决方案?加超声波传感器互补。
3.2 深度相机
深度相机,就是能「看」出距离的摄像头。它不像激光雷达那样逐点扫描,而是一次拍出一张深度图。每个像素点都代表一个距离值。
3.2.1 工作原理
主流方案有两种:
- 结构光法:投射红外光斑,通过变形计算深度。Kinect v1 就是这路子。
- 双目视觉法:两个摄像头模拟人眼,通过视差算深度。Intel RealSense 用的多。
你想想看,结构光在室内效果很好,但一到室外强光下就废了。双目视觉不怕强光,但需要纹理丰富的场景。纯白墙壁?双目直接罢工。
3.2.2 数据特点
| 特性 | 说明 |
|---|---|
| 分辨率 | 640×480 到 1280×720 |
| 有效距离 | 0.3m~10m(视型号而定) |
| 数据形式 | 深度图(灰度图,每个像素代表距离) |
| 帧率 | 30fps 左右 |
我在做服务机器人时,深度相机用来检测桌腿、椅子腿。它比激光雷达便宜,但精度差一些。说白了,深度相机适合「知道那里有东西」,不适合「精确知道东西在哪」。
小技巧:深度相机和激光雷达可以融合。用激光雷达做精确测距,用深度相机做物体识别。我有个项目就是这么干的,效果不错。
3.2.3 避坑指南
我曾经遇到一个坑:深度相机在阳光下直接过曝,深度图全是黑色。后来加了遮光罩,才勉强能用。另外,深度相机对反光表面(比如瓷砖)也很敏感,数据会跳变。
3.3 超声波传感器
超声波传感器,原理和激光雷达类似,但用的是声波。它发射超声波(频率高于20kHz),碰到物体反射回来,通过时间差算距离。声速是340m/s,比光速慢多了。
3.3.1 工作原理
超声波传感器通常有一个发射头和一个接收头。发射头发出声波脉冲,接收头等待回波。如果在一定时间内没收到回波,就认为没有障碍物。
// 伪代码:超声波测距
distance = (echo_time * speed_of_sound) / 2
嗯,这里要注意:声速受温度影响。温度每升高1°C,声速增加约0.6m/s。所以高精度应用需要温度补偿。
3.3.2 数据特点
| 特性 | 说明 |
|---|---|
| 精度 | ±1cm 左右 |
| 有效距离 | 2cm~5m(常见型号) |
| 波束角 | 15°~30°(锥形) |
| 更新频率 | 10Hz~50Hz |
超声波的最大优点是便宜,而且不怕透明物体。玻璃、塑料瓶,激光雷达可能漏掉,但超声波能检测到。我做过一个扫地机器人项目,就用超声波来检测透明茶几腿。
注意:超声波有波束角,不是一条线,而是一个锥形。所以它只能告诉你「大概方向有东西」,不能精确定位。另外,多个超声波同时工作会互相干扰,需要分时触发。
3.3.3 避坑指南
我曾经在调试时发现,超声波对软性物体(比如海绵、布料)反射很弱,经常测不到。还有,超声波在空气中衰减很快,距离超过3米后,信号就很弱了。所以它只适合近距离探测。
3.4 三种传感器对比
为了让你看得更清楚,我画了一张对比图。这张图展示了三种传感器在精度、范围、成本、环境适应性上的差异。
从图上能看出来:激光雷达在精度和范围上碾压,但成本高。深度相机在精度和成本之间取了个平衡。超声波最便宜,但精度和范围都有限。怎么选?看你的应用场景。
3.5 实际选型建议
我个人的经验是:
- 室内导航:激光雷达为主,深度相机为辅。激光雷达做SLAM,深度相机做障碍物识别。
- 户外导航:激光雷达为主,超声波为辅。深度相机在强光下不好使。
- 低成本方案:超声波+深度相机。比如扫地机器人,超声波检测近处障碍,深度相机看远处。
小提示:别迷信单一传感器。多传感器融合才是王道。我做过一个项目,只用激光雷达,结果玻璃门没检测到,机器人直接撞上去了。后来加了超声波,问题解决。
好了,传感器基础就聊到这儿。记住一句话:没有最好的传感器,只有最合适的组合。下一章咱们聊聊怎么把这些传感器数据融合起来,做路径规划。
公众号:蓝海资料掘金营,微信deep3321