2. 感知系统架构:传感器配置方案与冗余设计
好,咱们直接进入正题。感知系统是自动驾驶的「眼睛」,这话一点不夸张。眼睛要是瞎了,车就没法开了。所以传感器怎么配、怎么冗余,是功能安全里最核心的活儿之一。
我个人习惯,先看传感器配置方案,再看冗余怎么搭。这两件事其实是绑在一起的。
2.1 传感器配置方案:四大金刚
目前主流的感知传感器,说白了就四种:摄像头、激光雷达、毫米波雷达、超声波。每种都有自己的脾气。
2.1.1 摄像头
摄像头是感知系统里信息量最大的传感器。它能识别车道线、交通标志、行人、车辆,甚至红绿灯的颜色。但它的短板也很明显——怕暗、怕逆光、怕雨雾。
我在项目中遇到过,一辆车在隧道出口处因为逆光,摄像头直接「失明」了大概两秒钟。嗯,这两秒钟在功能安全里就是灾难。
- 优点:分辨率高、色彩信息丰富、成本低
- 缺点:受光照影响大、深度估计不准(单目)、需要大量算力做视觉算法
- 典型配置:前视、后视、环视、侧视,一般至少6-8个
2.1.2 激光雷达
激光雷达是「硬核」选手。它直接给你点云数据,距离精度能到厘米级。你想想看,在高速上120km/h,差个几厘米可能就是生与死的区别。
但激光雷达也有坑。我记得有一次,测试车在暴雨天跑,激光雷达的探测距离直接从200米掉到了30米。为什么?雨滴反射太强,噪声淹没了有效信号。
- 优点:3D感知、高精度测距、不受光照影响
- 缺点:受天气影响大(雨、雾、雪)、成本高、点云稀疏时目标识别难
- 典型配置:车顶1-2个主激光雷达,或前向+侧向组合
2.1.3 毫米波雷达
毫米波雷达是「老黄牛」。它默默无闻,但几乎全天候工作。雨雪雾天,摄像头和激光雷达都趴窝了,它还能干活。
不过它的分辨率低,没法区分「一个行人」和「一根路灯杆」。我见过一个案例,毫米波雷达把路边的金属广告牌误识别成了静止车辆,导致系统误刹车。
- 优点:全天候、测速准(多普勒效应)、成本适中
- 缺点:角分辨率低、无法识别物体类别、静止目标检测弱
- 典型配置:前向长距1个、角雷达4个
2.1.4 超声波
超声波雷达,说白了就是倒车雷达的升级版。它只负责近场感知,一般3米以内。泊车场景是它的主场。
但要注意,超声波对某些材料不敏感。我曾经遇到过,一个黑色的塑料桩子,超声波愣是没检测到,车直接怼上去了。
- 优点:成本极低、近场精度高、不受电磁干扰
- 缺点:探测距离短、受温度影响大、无法测速
- 典型配置:前后保险杠各4-6个
2.2 传感器冗余设计:别把鸡蛋放一个篮子里
功能安全的核心思想之一就是冗余。你想想看,如果只有一个传感器,它坏了怎么办?所以我们需要「多路感知,交叉验证」。
核心原则:任何单一传感器的失效,都不能导致系统丧失安全关键功能。
2.2.1 感知冗余的三种层次
我一般把冗余分成三个层次,这样设计起来比较清晰:
- 传感器级冗余:同类型传感器互相备份。比如两个前视摄像头,一个坏了另一个顶上。
- 模态级冗余:不同类型传感器互相备份。比如摄像头失效了,激光雷达和毫米波雷达还能提供目标信息。
- 算法级冗余:同一个传感器数据,用不同的算法处理。比如视觉目标检测,同时跑YOLO和Transformer,结果做投票。
我个人最看重的是模态级冗余。为什么?因为同类型传感器可能因为同一个原因同时失效。比如两个摄像头同时被太阳直射,那就一起瞎了。
2.2.2 典型的冗余配置方案
这里我给出一个L3级自动驾驶的典型配置,供你参考:
| 功能域 | 主传感器 | 冗余传感器 | 冗余方式 |
|---|---|---|---|
| 前向感知 | 长距摄像头 | 激光雷达 + 毫米波雷达 | 模态冗余 |
| 侧向感知 | 侧视摄像头 | 角雷达 | 模态冗余 |
| 后向感知 | 后视摄像头 | 后向毫米波雷达 | 模态冗余 |
| 近场感知 | 超声波 | 环视摄像头 | 模态冗余 |
| 定位 | GPS+IMU | 激光雷达SLAM | 算法冗余 |
小提示:冗余不是越多越好。每多一个传感器,就多一个失效点,也多一份成本。我建议做FMEA(失效模式与影响分析),找出最关键的失效场景,然后针对性地加冗余。
2.2.3 避坑指南:我曾经踩过的坑
我曾经在一个项目里,设计了「完美」的冗余方案——摄像头+激光雷达+毫米波雷达三重冗余。结果呢?
有一次测试,车在浓雾中行驶。摄像头失效了,激光雷达也失效了,只剩下毫米波雷达。但毫米波雷达只能检测到前方有「物体」,却不知道是车还是护栏。系统犹豫了一下,没有刹车,差点追尾。
这个教训告诉我:冗余不只是「有」就行,还要保证冗余传感器在失效场景下能提供足够的信息。后来我们加了一条规则:当摄像头和激光雷达同时失效时,毫米波雷达的检测结果直接触发保守策略——减速并靠边停车。
警告:千万不要以为冗余就是「多装几个传感器」。冗余设计必须考虑共因失效。比如两个传感器共用同一个电源、同一个通信总线,那一个短路就能干掉两个。这是功能安全里的大忌。
2.3 小结
嗯,这一章内容不少。总结一下:
- 四种传感器各有优劣,没有万能方案
- 冗余设计要分层次,模态冗余最可靠
- 冗余不是堆料,要针对失效场景做设计
- 别忘了共因失效,电源、通信、安装位置都要考虑
下一章我们会聊感知系统的故障诊断与降级策略。说白了就是「传感器坏了怎么办」。到时候我会分享一个我亲手设计的故障诊断状态机,挺实用的。