第三章 系统架构设计:传感器配置方案与计算平台选型
各位同学,今天我们聊一个实打实的问题——系统架构怎么搭。说白了,就是给自动驾驶车配「眼睛」和「大脑」。我在项目里见过太多方案,有的堆料堆到天价,有的省成本省到撞墙。嗯,这里头门道不少。
3.1 传感器配置方案
先说说传感器。你想想看,一辆车要看清周围环境,光靠一种传感器肯定不行。每种传感器都有自己的脾气。
3.1.1 摄像头
摄像头是感知系统里最像人眼的传感器。它能识别颜色、车道线、交通标志。我个人习惯把摄像头分成三组:
- 前视摄像头:一般装2-3个,覆盖远距离和中距离。我建议用120°视场角的,兼顾视野和畸变控制。
- 环视摄像头:4个鱼眼镜头,覆盖车身周围360°。主要用于泊车和低速场景。
- 侧视/后视摄像头:辅助变道和盲区监测。
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 实战建议
最后,给各位几个实在的建议:
- 先定功能,再选传感器:别上来就堆料。先想清楚要实现哪些功能(高速巡航、城区领航、泊车),再反推需要什么传感器。
- 算力留余量:我建议至少留30%的算力余量。算法迭代很快,今天够用,明天可能就不够了。
- 冗余要测试:冗余设计不是纸上谈兵。我曾经在测试中发现,主备切换时间超过100ms,车辆已经撞上障碍物了。一定要实测切换时间。
- 成本与性能平衡:量产车不是科研项目。一个64线激光雷达够买10个32线的。有时候,多个低线数雷达组合,效果反而更好。
好了,这一章就到这里。下一章我们聊聊感知算法——怎么让这些传感器「看懂」世界。有什么问题,欢迎随时交流。