1、ADAS系统概述:什么是ADAS、ADAS的发展历程、ADAS的功能分级(L0-L5)、ADAS系统的典型架构
各位同学好,我是老张。今天咱们开始第一讲,聊聊ADAS系统到底是个什么东西。说实话,我做了十几年嵌入式,从最早的ABS控制器一路做到现在的域控制器,ADAS这个词儿是越来越热。但很多人一上来就谈算法、谈传感器融合,反而把最基础的东西给忽略了。嗯,咱们今天就把地基打牢。
1.1 什么是ADAS
ADAS,全称是Advanced Driver Assistance Systems,中文叫高级驾驶辅助系统。说白了,就是帮驾驶员开车的电子系统。不是自动驾驶,是辅助。这个定位很重要,我后面会反复强调。
你想想看,开车的时候最怕什么?走神、疲劳、视野盲区。ADAS就是干这个的——用传感器感知环境,用控制器做决策,用执行器去干预。比如前车突然刹车,你还没反应过来,系统已经帮你踩了一脚。我在项目中遇到过不少客户,上来就说“我要做L3”,结果连AEB(自动紧急制动)的基本标定都没做好。所以,先把辅助搞明白,再谈自动化。
核心定义:ADAS是辅助系统,不是替代系统。驾驶员始终是责任主体。
1.2 ADAS的发展历程
ADAS不是一天建成的。我把它分成三个阶段来讲。
第一阶段:萌芽期(1990s - 2005)
最早的量产ADAS功能是ABS和ESP。那时候还没有“ADAS”这个词,大家管它叫“底盘电子”。我记得2003年刚入行时,做的是基于MCU的ABS控制器,8位单片机,4KB RAM,跑个简单的滑移率算法就满了。现在想想,真是原始社会。
第二阶段:成长期(2005 - 2015)
摄像头和毫米波雷达开始上车。ACC(自适应巡航)、LKA(车道保持)这些功能开始出现在高端车型上。这个阶段最大的变化是:系统开始“看”路了。我做过一个LKA项目,摄像头识别车道线,控制器算偏离角度,然后通过EPS(电动助力转向)微调方向盘。嗯,这里要注意,那时候的EPS响应延迟很大,标定调了三个月才勉强能用。
第三阶段:爆发期(2015 - 至今)
深度学习来了,算力上来了。从Mobileye的EyeQ系列到NVIDIA的Orin,芯片算力从几TOPS飙到几百TOPS。功能也从单一的辅助变成了NOA(导航辅助驾驶)、HWP(高速公路领航)。但说实话,算力上去了,可靠性问题反而更突出了。我后面会专门讲功能安全,这里先埋个伏笔。
1.3 ADAS的功能分级(L0-L5)
SAE J3016标准把驾驶自动化分了6级。我建议你把这个表格背下来,面试必考。
| 等级 | 名称 | 谁在开 | 谁在监控 | 典型功能 |
|---|---|---|---|---|
| L0 | 无自动化 | 驾驶员 | 驾驶员 | FCW(前向碰撞预警) |
| L1 | 驾驶辅助 | 驾驶员 | 驾驶员 | ACC、LKA |
| L2 | 部分自动化 | 系统 | 驾驶员 | ACC+LKA组合 |
| L3 | 有条件自动化 | 系统 | 系统 | 交通拥堵领航 |
| L4 | 高度自动化 | 系统 | 系统 | Robotaxi(限定区域) |
| L5 | 完全自动化 | 系统 | 系统 | 全场景无人驾驶 |
这里有个坑,我必须要说。很多公司宣传自己是L3,其实只是L2+。为什么?因为L3有一个关键门槛:系统承担全部驾驶责任,驾驶员可以玩手机。但出了事故谁负责?法律上到现在都没完全说清楚。我曾经参与过一个L3项目,最后因为法规问题砍掉了。所以,分级是技术分级,更是责任分级。
避坑指南:我曾经见过一个团队,把L2+的功能当L3卖,结果出了事故被起诉。记住:L3及以上,系统是责任主体。没有功能安全认证(ISO 26262 ASIL-D),别碰L3。
1.4 ADAS系统的典型架构
一个典型的ADAS系统,从嵌入式视角看,分三层:感知层、决策层、执行层。我画个简图给你看。
┌─────────────────────────────────────────────────┐
│ 感知层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 摄像头 │ │ 毫米波 │ │ 激光雷达 │ │
│ │ (视觉) │ │ (雷达) │ │ (LiDAR) │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ └─────────────┼─────────────┘ │
│ │ 传感器数据 │
├─────────────────────┼───────────────────────────┤
│ │ 决策层 │
│ ┌──────────────────┴──────────────────┐ │
│ │ 域控制器 / SoC │ │
│ │ ┌────────────┐ ┌──────────────┐ │ │
│ │ │ 感知融合 │ │ 规划决策 │ │ │
│ │ │ (目标检测) │ │ (路径规划) │ │ │
│ │ └────────────┘ └──────┬───────┘ │ │
│ └─────────────────────────┼───────────┘ │
│ │ 控制指令 │
├────────────────────────────┼───────────────────┤
│ │ 执行层 │
│ ┌─────────────────────────┴───────────┐ │
│ │ ┌──────────┐ ┌──────────┐ │ │
│ │ │ 制动 │ │ 转向 │ │ │
│ │ │ (ESP/iBooster)│ (EPS) │ │ │
│ │ └──────────┘ └──────────┘ │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
这个架构图,我建议你刻在脑子里。为什么?因为所有ADAS系统的可靠性问题,都出在这三层之间的接口上。
感知层
传感器负责采集环境数据。摄像头、毫米波雷达、激光雷达、超声波,各有各的脾气。摄像头怕逆光、怕雨雾;毫米波雷达对静止目标不敏感;激光雷达贵,而且怕脏污。我在项目中遇到过最头疼的问题:摄像头和雷达对同一个目标的检测结果不一致,到底信谁的?这就是传感器融合要解决的问题。
决策层
这是大脑。通常是一个高性能SoC,跑着感知算法和规划算法。从嵌入式角度看,这里最要命的是实时性。你想想看,高速上120km/h,每秒跑33米。决策延迟100毫秒,车就跑了3.3米。所以,我习惯在决策层用实时操作系统(RTOS),并且把关键任务(如AEB)放在独立的安全核上跑。
执行层
制动、转向、动力。这些执行器原本是独立的ECU,现在通过CAN FD或者以太网和域控制器通信。这里有个经典问题:通信丢包怎么办?我曾经遇到过,域控制器发了制动指令,但ESP没收到,因为CAN总线被高优先级报文堵住了。解决方案?给安全关键报文分配最高优先级,并且加心跳检测。
个人经验:我建议你在设计初期就画一张“信号流图”,把每个信号的来源、去向、周期、优先级都标清楚。这张图比任何文档都管用。我每个项目都这么干,从来没出过通信相关的重大事故。
小结
今天咱们把ADAS的底子打了一遍。什么是ADAS,怎么发展过来的,L0到L5怎么分,典型架构长什么样。这些都是后面30讲的基石。下一讲,咱们会深入嵌入式视角,聊聊ADAS系统的硬件选型——为什么有的芯片适合做感知,有的适合做控制。嗯,到时候我会拿我踩过的坑当案例,保证让你印象深刻。
今天就到这儿。记住:ADAS不是炫技,是保命。可靠性,永远是第一位的。