第三章 系统架构设计:传感器配置方案与计算平台选型

各位同学,今天我们聊一个实打实的问题——系统架构怎么搭。说白了,就是给自动驾驶车配「眼睛」和「大脑」。我在项目里见过太多方案,有的堆料堆到天价,有的省成本省到撞墙。嗯,这里头门道不少。

3.1 传感器配置方案

先说说传感器。你想想看,一辆车要看清周围环境,光靠一种传感器肯定不行。每种传感器都有自己的脾气。

3.1.1 摄像头

摄像头是感知系统里最像人眼的传感器。它能识别颜色、车道线、交通标志。我个人习惯把摄像头分成三组:

  • 前视摄像头:一般装2-3个,覆盖远距离和中距离。我建议用120°视场角的,兼顾视野和畸变控制。
  • 环视摄像头:4个鱼眼镜头,覆盖车身周围360°。主要用于泊车和低速场景。
  • 侧视/后视摄像头:辅助变道和盲区监测。
我的经验:摄像头最怕逆光和夜间。我曾经在项目里遇到傍晚逆光导致车道线丢失,后来加了HDR(高动态范围)传感器才解决。选型时一定要看动态范围参数,别只看分辨率。

3.1.2 激光雷达

激光雷达是感知系统的「硬核担当」。它直接输出3D点云,精度高,不受光照影响。但贵,真的贵。

目前主流方案分三类:

类型 线数 典型应用 成本
机械式 64/128线 L4级Robotaxi
固态/半固态 16-32线 L2+量产车
FMCW 单点扫描 新兴方案 待定

我个人建议:L4级至少用64线,L2+用16-32线就够了。别盲目追求高线数,算力跟不上也是白搭。

3.1.3 毫米波雷达

毫米波雷达是「全天候选手」。雨雪雾天,摄像头和激光雷达都歇菜了,它还能正常工作。我遇到过最极端的情况——大雾天高速上,全靠毫米波雷达撑着。

选型要点:

  • 前向雷达:长距(200m+),77GHz频段,用于ACC/AEB
  • 角雷达:中距(80m),用于盲区监测和变道辅助
  • 4D成像雷达:新趋势,能输出高度信息,但点云密度不如激光雷达
注意:毫米波雷达对静态目标检测能力弱。我曾经在测试中发现,它会把路边的金属护栏误判为障碍物,导致频繁误刹车。后来加了摄像头融合才解决。

3.1.4 超声波雷达

超声波雷达是「近身保镖」。探测距离短(0.2-5m),但精度高,成本低。主要用于泊车和近距离防撞。

典型配置:车身周围装12个,前后各4个,侧面各2个。嗯,这个方案已经很成熟了,基本是行业标配。

3.2 计算平台选型

传感器采集的数据,最终要送到计算平台处理。选计算平台就像选发动机——马力要够,但也不能太费油。

3.2.1 算力需求估算

我一般用这个公式粗略估算:

总算力需求 = 摄像头数量 × 每路算力 + 激光雷达点数 × 每点算力 + 冗余系数

举例:
- 10路摄像头(每路约20 TOPS)→ 200 TOPS
- 1个64线激光雷达(约50 TOPS)→ 50 TOPS
- 冗余系数1.3 → 总需求约325 TOPS

你想想看,这只是感知部分。加上规划、控制、定位,实际需求会更高。

3.2.2 主流方案对比

平台 算力 功耗 适用场景
NVIDIA Orin 254 TOPS 45W L2+量产
NVIDIA Thor 2000 TOPS 150W L4/L5
高通Snapdragon Ride 360 TOPS 65W L2+量产
华为MDC 810 400+ TOPS 80W L4

我个人习惯:量产车选Orin或高通,功耗和成本可控。L4级测试车用Thor或MDC,算力冗余大一些,方便迭代。

3.3 冗余设计原则

冗余设计,说白了就是「别把所有鸡蛋放一个篮子里」。自动驾驶关乎生命安全,不能有任何单点故障。

3.3.1 传感器冗余

我遇到过最惊险的一次——测试车在高速上,主激光雷达突然掉线。幸好我们配了冗余的毫米波雷达和摄像头,系统自动降级到L2模式,安全靠边停车。

冗余策略:

  • 异构冗余:不同原理的传感器互相备份。比如激光雷达失效,毫米波雷达+摄像头还能撑住。
  • 同构冗余:相同传感器多装一套。比如前向摄像头装2个,一个失效另一个顶上。
  • 空间冗余:关键区域多重覆盖。比如车头前方,激光雷达、毫米波雷达、摄像头三重覆盖。

3.3.2 计算平台冗余

计算平台也要冗余。常见方案:

  • 主备模式:两个计算平台,一个主用,一个热备份。主平台故障时,备份平台无缝接管。
  • 双机热备:两个平台同时运行,结果交叉校验。不一致时触发安全机制。
  • 降级模式:主平台失效后,备份平台以较低性能运行,保证基本功能。
核心原则:冗余不是简单复制,而是要有「独立失效模式」。两个相同的传感器装在一起,一个被泥巴糊住,另一个也跑不掉。冗余设计要考虑到物理隔离、供电独立、通信独立。

3.3.3 供电与通信冗余

供电和通信是「生命线」。我见过一个案例——测试车因为一个保险丝烧了,整个感知系统断电。后来我们改了设计:

  • 双路供电:两路独立电源,一路失效另一路自动切换
  • 双路通信:以太网和CAN FD双通道,主通道故障时自动切换
  • 看门狗机制:定期心跳检测,发现异常立即复位或降级

3.4 实战建议

最后,给各位几个实在的建议:

  1. 先定功能,再选传感器:别上来就堆料。先想清楚要实现哪些功能(高速巡航、城区领航、泊车),再反推需要什么传感器。
  2. 算力留余量:我建议至少留30%的算力余量。算法迭代很快,今天够用,明天可能就不够了。
  3. 冗余要测试:冗余设计不是纸上谈兵。我曾经在测试中发现,主备切换时间超过100ms,车辆已经撞上障碍物了。一定要实测切换时间。
  4. 成本与性能平衡:量产车不是科研项目。一个64线激光雷达够买10个32线的。有时候,多个低线数雷达组合,效果反而更好。
避坑指南:我曾经在一个项目里,为了追求极致性能,选了2000 TOPS的计算平台。结果功耗太大,散热系统占了半个后备箱。后来换了Orin,性能够用,功耗也降下来了。选型时一定要考虑整车集成。

好了,这一章就到这里。下一章我们聊聊感知算法——怎么让这些传感器「看懂」世界。有什么问题,欢迎随时交流。