第1章:ADAS系统架构——感知层、决策层、执行层架构解析

各位同学,咱们今天聊聊ADAS系统架构。说实话,这个架构我研究了快十年,每次看都觉得有意思。它不像普通嵌入式系统那么简单,它是一个典型的「感知-决策-执行」闭环。我习惯把这个架构比作一个人开车:眼睛看路(感知),大脑判断(决策),手脚操作(执行)。

1.1 感知层:系统的「眼睛」

感知层说白了就是让车「看见」周围环境。我在项目中遇到过最头疼的问题,就是感知数据打架——摄像头说前面有车,毫米波雷达却说没有。嗯,这里要重点讲。

感知层主要包含这些传感器:

  • 摄像头:最像人眼,能识别车道线、交通标志、行人。但怕雨雾、怕逆光。
  • 毫米波雷达:测距测速很准,全天候工作。但分辨率低,分不清是卡车还是护栏。
  • 激光雷达:点云数据,3D建模能力强。但成本高,雨雪天性能下降。
  • 超声波雷达:近距离泊车专用,便宜但探测距离短。

关键点:没有一种传感器是完美的。我见过太多团队试图只用摄像头搞定一切,结果在隧道出口或者暴雨天直接「瞎」了。所以,传感器融合不是可选项,是必选项。

1.2 决策层:系统的「大脑」

决策层负责把感知数据变成驾驶指令。我个人习惯把决策层分成三个子模块:

  1. 环境模型构建:把传感器数据融合成统一的「世界模型」。比如,摄像头看到一辆车,雷达测出距离80米,激光雷达确认它正在左转——这些信息要合并成一个对象。
  2. 行为决策:根据当前场景决定「下一步做什么」。是跟车?变道?还是紧急制动?
  3. 路径规划:把行为决策变成具体的轨迹。比如「变道」这个行为,要规划出平滑的S型曲线,还要确保不撞到旁边的车。

我的经验:决策层最容易出问题的地方是「场景覆盖不全」。我曾经遇到过系统在高速上正常行驶,突然前方出现一个掉落的轮胎——决策层直接懵了,既不敢压过去,又来不及变道。所以,决策算法一定要有「未知场景兜底」机制。

1.3 执行层:系统的「手脚」

执行层负责把决策指令变成物理动作。说白了就是:方向盘、刹车、油门怎么动。

执行层的关键挑战是「延迟」和「精度」:

  • 转向系统:EPS(电动助力转向)要响应快,角度控制要准。我见过一个项目,决策层要求转5度,结果执行层转了7度,车直接跑偏了。
  • 制动系统:ESP/ABS介入要平滑。紧急制动时不能一脚踩死,否则乘客会飞出去。
  • 动力系统:加速和减速的平顺性。特别是跟车场景,油门忽大忽小,乘客会晕车。

注意:执行层是安全关键系统。任何执行器的故障都必须有冗余备份。我曾经在测试时遇到过刹车线控失效,幸好有机械备份,不然就出大事了。

传感器融合策略

传感器融合,说白了就是「取长补短」。我建议采用分层融合策略:

融合层级 方法 优点 缺点
数据级融合 直接融合原始传感器数据 信息损失最小 计算量大,带宽要求高
特征级融合 提取特征后再融合 计算量适中 特征提取可能丢失信息
决策级融合 各传感器独立决策,再投票 容错性好 可能错过弱信号

我个人习惯用特征级融合为主,决策级融合做兜底。举个例子:摄像头和雷达都检测到前方有障碍物,但摄像头说「可能是行人」,雷达说「是金属物体」。特征级融合会把这两个信息合并,得出「行人携带金属物品」的结论。如果特征级融合失败,决策级融合会投票决定「按最坏情况处理」。

避坑指南:我曾经在融合时犯过一个低级错误——没有做时间同步。摄像头数据是100ms前的,雷达数据是50ms前的,融合出来的结果根本对不上。所以,时间戳对齐是融合的第一步,也是最重要的一步。

域控制器与中央计算平台

说到域控制器,我得先吐槽一下。早期ADAS系统都是「分布式」的——每个传感器配一个ECU,各干各的。结果呢?线束多得像蜘蛛网,软件升级要一个个刷,数据共享更是噩梦。

后来行业转向了「域集中」架构:

  • 智能驾驶域控制器:负责感知、决策、规划。一般用高算力SoC,比如英伟达Orin、高通Snapdragon Ride。
  • 车身域控制器:负责车窗、灯光、门锁等。
  • 动力域控制器:负责发动机、电机、电池管理。

再往后,就是「中央计算平台」了。一个超级计算机,接管所有域的功能。你想想看,这就像从「每个部门一台服务器」变成「整个公司一个数据中心」。好处是算力共享、软件统一升级、数据全打通。坏处是——单点故障风险大,对芯片可靠性要求极高。

我的建议:如果你在选型域控制器,别只看算力。我见过一个项目选了200TOPS的芯片,结果散热搞不定,跑10分钟就降频。还要看:内存带宽、AI加速器效率、功能安全等级(ASIL-D)、以及生态支持。

嗯,这一章的内容差不多就这些。下一章我们会深入聊聊「传感器选型与标定」,到时候我会分享一些实际踩过的坑。记住一句话:ADAS架构没有银弹,只有权衡。


公众号:蓝海资料掘金营,微信deep3321