一、感知模块概述
大家好,我是老张。做嵌入式系统这行十几年了,今天咱们聊聊感知模块。
说实话,很多刚入行的朋友一上来就盯着算法调参,结果联调时各种翻车。我见过太多这样的案例了。所以这一章,我们先打好基础。
1.1 什么是感知模块
感知模块,说白了就是机器的「眼睛」和「耳朵」。
它负责把物理世界的信号——光、声音、电磁波——变成机器能理解的数据。你想想看,自动驾驶汽车要判断前面有没有行人,机器人要识别桌上的杯子,靠的就是这个模块。
我个人习惯把感知模块拆成三层:
- 传感器层:物理信号采集
- 信号处理层:去噪、滤波、特征提取
- 数据输出层:结构化数据(比如目标坐标、速度)
嗯,这里要注意:很多项目翻车,就是因为只关注了传感器层,忽略了中间的处理环节。
1.2 感知模块在系统中的位置
我画了一张图,帮你理解感知模块在整个系统里的角色:
从图上你能看到,感知模块是系统的「入口」。传感器采集数据,经过处理层变成结构化信息,然后交给决策层。决策层做出判断后,执行层去干活。
我曾经在一个项目中,感知模块输出延迟了50毫秒,结果决策层直接崩溃。你想想看,高速行驶的汽车,50毫秒意味着什么?
核心要点:感知模块的实时性和准确性,直接决定了整个系统的上限。
1.3 常见传感器简介
做感知模块,你绕不开这三种传感器。我一个个说。
1.3.1 摄像头
摄像头是最像人眼的传感器。它采集的是二维图像,包含丰富的纹理和颜色信息。
优点很明显:
- 成本低,一个工业摄像头几十到几百块
- 信息量大,能识别车道线、交通标志、行人
- 技术成熟,算法生态好
缺点也很致命:
- 受光照影响大——晚上、逆光、隧道里基本抓瞎
- 没有深度信息——单目摄像头无法直接测距
- 对运动模糊敏感——高速场景容易丢帧
我的经验:做摄像头选型时,别只看分辨率。帧率和动态范围更重要。我踩过坑——选了高分辨率但低帧率的摄像头,结果车辆高速行驶时图像全是拖影。
1.3.2 激光雷达
激光雷达(LiDAR)是很多自动驾驶方案的「心头好」。它通过发射激光束,测量反射时间来计算距离。
说白了,它直接给你一个三维点云图。每个点都带着XYZ坐标。
| 参数 | 机械式激光雷达 | 固态激光雷达 |
|---|---|---|
| 线数 | 16线 / 32线 / 64线 / 128线 | 等效几十到上百线 |
| 探测距离 | 100m - 300m | 50m - 200m |
| 成本 | 高(几万到几十万) | 中(几千到几万) |
| 可靠性 | 有旋转部件,易磨损 | 无运动部件,寿命长 |
激光雷达最大的优势是精度高、不受光照影响。但缺点也明显:
- 成本高——好的激光雷达比车还贵
- 受天气影响——雨雪雾天性能下降严重
- 数据量大——64线雷达每秒产生上百万个点
避坑指南:我曾经在一个项目中,激光雷达和摄像头的时间戳没有对齐。结果点云和图像差了100毫秒,融合出来的目标位置全是错的。记住:多传感器融合,时间同步是第一优先级。
1.3.3 毫米波雷达
毫米波雷达发射的是毫米波段的电磁波。它不像激光雷达那样精细,但有自己的独门绝技。
它的核心能力是测速——利用多普勒效应,直接输出目标的速度信息。
我总结一下它的特点:
- 全天候:雨、雪、雾、烟都不怕
- 测速准:直接输出速度,不需要计算
- 探测远:长距雷达能到200米以上
- 成本低:一个毫米波雷达几百到几千块
但它的缺点也很要命:
- 角度分辨率低——分不清旁边车道还是本车道
- 没有高度信息——无法区分立交桥和地面
- 对静止目标不敏感——容易把静止车辆当成路边的金属牌
1.4 三种传感器的对比
我整理了一张对比表,方便你快速参考:
| 特性 | 摄像头 | 激光雷达 | 毫米波雷达 |
|---|---|---|---|
| 感知维度 | 2D(图像) | 3D(点云) | 2D(距离+速度) |
| 测距精度 | 差(需算法估算) | 高(厘米级) | 中(分米级) |
| 测速能力 | 无(需帧间计算) | 中(帧间差分) | 强(直接多普勒) |
| 光照影响 | 大 | 小 | 无 |
| 天气影响 | 大 | 中 | 小 |
| 成本 | 低 | 高 | 中 |
| 典型应用 | 车道线检测、交通标志识别 | 障碍物检测、高精地图 | 自适应巡航、碰撞预警 |
我的建议:别指望一种传感器搞定所有场景。真正靠谱的方案,都是多传感器融合。摄像头负责「看清是什么」,激光雷达负责「知道在哪」,毫米波雷达负责「判断多快」。各司其职,互相补位。
嗯,这一章的内容就到这里。记住:感知模块是整个系统的「眼睛」,眼睛不好使,后面再牛的算法也白搭。