1 引言

1.1 文档背景

在之前的项目文档中,我已对 ADAS 的定义、功能需求,以及底层软件(底软)与应用层的整体关系做了概述,但均停留在概念层面,未对核心流程进行深入拆解。本篇文档的编写初衷是:

  • 聚焦四大核心流程 —— 感知、融合、规控(规划+控制)、执行;

  • 补充细节实现 —— 针对每个环节的输入、接口和输出,进行逐步剖析;

  • 厘清层次边界 —— 明确应用层与底层驱动/中间件在各流程中的职责分工;

  • 指导工程落地 —— 为算法选型、接口定义、模块集成与验证测试提供可操作的参考。

1.2 术语与缩写

以下缩写在后续章节中频繁使用,阅读前请先对照理解:

缩写

全称(英文)

定义

ADAS

Advanced Driver Assistance System

高级驾驶辅助系统,通过感知、决策、控制帮助驾驶员安全驾驶

ECU

Electronic Control Unit

电子控制单元,执行控制算法并与执行器、传感器交互

CAN

Controller Area Network

车辆控制局域网,用于 ECUs 之间的实时通信

CAN FD

CAN with Flexible Data-Rate

支持更高带宽与更长报文长度的 CAN 协议

LIDAR

Light Detection And Ranging

光学雷达,通过激光扫描获取高精度距离信息

RADAR

Radio Detection And Ranging

毫米波雷达,通过电磁波反射测距测速

ACC

Adaptive Cruise Control

自适应巡航控制,根据前车速度自动跟车

FCW

Forward Collision Warning

前向碰撞预警,在潜在碰撞前提醒驾驶员

AEB

Autonomous Emergency Braking

自动紧急制动,在危险情况下自动施加制动

LDW

Lane Departure Warning

车道偏离预警,检测车辆偏离车道并发出警告

LKA

Lane Keeping Assist

车道保持辅助,主动调整转向以保持车道中心

SLAM

Simultaneous Localization And Mapping

同时定位与地图构建,可用于高精度环境建图

FSM

Finite State Machine

有限状态机,常用于行为决策逻辑实现

MPC

Model Predictive Control

模型预测控制,通过在线优化生成轨迹与控制指令

PID

Proportional–Integral–Derivative

比例—积分—微分控制器,经典的反馈控制算法

ROS

Robot Operating System

开源机器人中间件,提供消息通信、设备抽象等功能

AUTOSAR

Automotive Open System Architecture (Adaptive)

汽车软件架构标准,定义了模块化、可配置的软件组件接口和运行时环境


2 系统架构总览

本章从宏观视角对整个 ADAS 系统的软件与硬件架构进行概览,明确各模块的功能定位和层次关系,为后续各环节的深入剖析奠定基础。

2.1 模块划分与职责

整个 ADAS 系统可划分为以下核心模块,各模块职责如下:

2.1.1 感知模块(Perception)

  • 采集并预处理各类传感器原始数据

  • 提取环境要素:目标检测、跟踪、语义分割等

  • 输出结构化的目标列表及静态场景信息

2.1.2 融合模块(Sensor Fusion)

  • 进行时序与空间对齐,消除多传感器异步与标定误差

  • 将不同传感器的目标信息关联、融合,提升检测鲁棒性与准确性

  • 构建统一环境模型(如栅格地图、融合目标列表)

2.1.3 规控模块(Behavior & Motion Planning + Control)

  • 行为决策:基于融合结果与交通规则选定宏观动作(如变道、超车)

  • 轨迹规划:生成全局路径与局部避障轨迹,确保平滑与可行性

  • 运动控制:将轨迹转换为具体纵横向控制量(速度/加速度/转向角)

2.1.4 执行模块(Actuation)

  • 将控制量封装为底层 ECU 可识别的 CAN/CAN FD 报文

  • 调用 HAL 驱动,驱动油门、制动、转向等执行器

  • 实时监测执行反馈,完成闭环控制

2.1.5 通信与中间件(Middleware & Networking)

  • 负责各 ECU 与算法模块间消息总线管理

  • 提供消息发布/订阅、服务调用等通信机制

  • 支撑 OS 级别调度与资源隔离(如 Adaptive AUTOSAR 或 ROS 2)

2.1.6 功能安全与诊断(Safety & Diagnostics)

  • 实现故障检测、截断策略与冗余切换

  • 持续监控健康状态,触发安全模式或降级服务

各模块在逻辑上形成感知 → 融合 → 规控 → 执行的闭环流转,且通过通信与安全模块贯穿始终,构建可靠、高效的自动驾驶系统。

2.2 硬件平台概述(传感器、ECU、通信总线)

ADAS 系统的软、硬件协同设计是保障性能与可靠性的基础,主要硬件组件包括:

2.2.1 传感器子系统

  • 摄像头(Camera):可见光/红外双模;分辨率、帧率与动态范围决定视觉感知质量

  • 毫米波雷达(RADAR):中长距离目标检测,抗天气干扰能力强

  • 激光雷达(LIDAR):高精度三维点云,支持精细环境重建

  • 超声波传感器(Ultrasonic):近距离障碍物探测,用于泊车等低速场景

  • 定位传感器(GNSS + IMU):提供全球定位与姿态变化信息,支持高精度自匹配

2.2.2计算与控制单元(ECU / SoC)

  • 主控 ECU:集成高性能 CPU、GPU/TPU,用于深度学习推理及大规模并行计算

  • 安全 ECU:独立硬件冗余或分区隔离,用于功能安全关键算法执行

  • 传感器控制器:低功耗 MCU,用于直接与传感器接口及数据预处理

2.2.3 通信总线

  • CAN/CAN FD:实时性高、成本低,用于常规控制指令与状态监控

  • FlexRay:高可靠、高带宽,适用于时间触发控制

  • 汽车以太网(Automotive Ethernet):支持大带宽图像、点云等数据流交换

2.2.4 存储与电源管理

  • 高速闪存 / SSD:用于日志与地图数据存储

  • 电源管理 IC(PMIC):保障各传感器与 ECU 的稳定供电

2.3 软件层级:底层驱动、中间件、应用层

ADAS 软件可分为三大层次,各层次职责与典型技术栈如下:

层级

职责

典型组件/技术

底层驱动

- 与硬件直接交互,提供传感器与执行器驱动
- 实现 HAL(硬件抽象层),屏蔽硬件细节

BSP、Linux 内核模块、Device Driver、CAN 驱动

中间件

- 消息总线管理与调度
- 服务发现、序列化与通信安全
- 资源隔离与进程管理

ROS/ROS2、DDS、中间件服务、Adaptive AUTOSAR

应用层

- 感知算法、融合算法、规划与控制策略
- 功能安全与诊断逻辑
- 上层应用接口与车辆 HMI

Deep Learning 框架(TensorRT)、Eigen、Boost、安全库

2.3.1 底层驱动

  • 提供稳定的设备接口与实时通信能力

  • 保证硬件访问的低延迟与高确定性

2.3.2 中间件

  • 解耦上层算法与底层硬件

  • 提供跨平台、分布式的消息与服务机制

  • 支撑动态配置与热插拔特性

2.3.3 应用层

  • 聚焦算法研发与功能实现,最大化复用中间件能力

  • 通过插件化、组件化实现灵活部署与版本管理

  • 与 HMI、云平台或远程诊断系统对接


3 感知(Perception)

感知模块负责将车辆周围环境的原始传感器数据,转换为结构化的环境要素和动态目标信息,为后续融合与决策提供可靠输入。本章将从传感器选型、数据预处理、核心算法与可选的自定位/建图四个层面,逐步展开详尽剖析。

3.1 传感器类型与选型

3.1.1 摄像头(可见光、红外)

  • 作用:提供高分辨率的视觉信息,擅长车道线、交通标志、信号灯及行人、车辆的外观识别。

  • 关键指标

    • 分辨率(720p/1080p/4K),影响检测精度与视野覆盖;

    • 帧率(30 fps、60 fps),决定最大可识别运动目标速度;

    • 动态范围(HDR 支持),影响强光/逆光场景下的可视性;

    • 视场角(FOV):广角镜头用于全景监控,窄视角用于远距目标。

  • 接口与输出

    • MIPI CSI、GigE Vision、USB3.0 等高速接口;

    • 输出格式:RAW Bayer、YUV、RGB、H.264/H.265 编码流。

3.1.2 毫米波雷达

  • 作用:通过电磁波反射测距测速,擅长中长距离动态目标检测,抗天气干扰强。

  • 关键指标

    • 工作频段:77 GHz 常见;

    • 距离分辨率(cm 级)、角度分辨率(度级);

    • 视场:方位角 ±60°,俯仰角 ±10°;

    • 最大检测距离(100–250 m)、速度检测范围;

  • 接口与输出

    • CAN FD、Ethernet;

    • 输出点云列表:[{id, range, azimuth, radial_velocity, rcs}]。

3.1.3 激光雷达

  • 作用:提供高精度、稠密三维点云,用于精细障碍物检测与场景重建。

  • 关键指标

    • 点云密度(点/秒),通道数(16、32、64、128);

    • 水平视场 360°,垂直视场(±15°);

    • 测距精度(cm 级);

  • 接口与输出

    • Ethernet(UDP/TCP)、CAN;

    • 输出多维点云:[x, y, z, intensity]。

3.1.4 超声波传感器

  • 作用:低速近距障碍物检测,常用于泊车与低速避障。

  • 关键指标

    • 检测距离(0.2–5 m);

    • 角度覆盖(±45°);

  • 接口与输出:简单模拟电压或CAN报文,输出距离估计。

3.1.5 其他辅助传感器

  • GNSS + IMU:提供全局定位和姿态信息,用于后端定位与传感器时空标定。

  • 高精地图(HD‑Map):预加载的车道线、路缘、地标信息,用于辅助感知与定位。

3.2 数据预处理与标定

3.2.1 时间同步与帧对齐

  • 硬件同步:各传感器通过 PPS(Pulse Per Second)或 PTP(Precision Time Protocol)统一时钟。

  • 软件校准:基于时间戳插值,将异步采样的数据帧对齐到统一时刻。

3.2.2 空间标定与坐标变换

  • 外参标定:利用棋盘格、激光扫描或标定板,求解传感器间的旋转矩阵 R 及平移向量 t。

  • 内参标定(Camera):标定焦距、畸变系数,得到投影矩阵。

  • 坐标变换:将各传感器数据统一到车体坐标系或世界坐标系。

3.2.3 降噪滤波方法

  • 图像去噪:高斯滤波、中值滤波或双边滤波;

  • 点云滤波:体素网格(Voxel Grid)下采样、统计离群点移除;

  • 雷达噪声抑制:门限滤波、CFAR(恒虚警率)算法。

3.3 核心算法

3.3.1 目标检测(YOLO、RCNN 等)

  • 视觉方法

    • 两阶段检测:如 Faster‑RCNN,在候选区域上做精细分类与回归;

    • 单阶段检测:如 YOLO、SSD,实现端到端快速预测。

  • 雷达/激光雷达检测:基于聚类(DBSCAN、Euclidean)、深度学习(PointPillars、PointNet++)

3.3.2 多目标跟踪(MOT、卡尔曼滤波)

  • 基于卡尔曼滤波:对每帧检测框进行状态预测与更新;

  • 数据关联:匈牙利算法、蜜罐算法或基于深度特征的 ReID 匹配。

  • 轨迹管理:启动/维护/删除策略,处理遮挡与进出场景。

3.3.3 语义分割与场景理解

  • 深度学习网络:SegNet、DeepLabv3、ENet,将像素级别分为道路、行人、车辆、背景等;

  • 后处理:CRF(条件随机场)平滑边界,结合几何约束去除噪点;

  • 场景要素提取:车道线拟合(多项式、样条),路缘与标志检测。

3.4 自定位与地图构建(可选)

在部分高级 ADAS 或自动驾驶系统中,引入自定位与实时建图,以提高在无 GPS/地图或复杂环境下的感知能力。

  • 视觉 SLAM:ORB‑SLAM、LSD‑SLAM,利用图像特征点估计相机位姿并构建稀疏地图。

  • 激光 SLAM:Cartographer、LOAM,通过点云配准实时生成 2D/3D 地图。

  • 地图匹配:将实时感知结果与高精度地图(HD‑Map)对齐,提高定位精度。


4 融合(Sensor Fusion)

融合模块的核心目标是将各类传感器的观测结果,在时间与空间上对齐、匹配并结合,生成高可信度的环境模型,为后续的决策与控制提供统一、准确的输入。

4.1 时空对齐与坐标融合

4.1.1 时间同步

  • 硬件层面,所有传感器共享统一时钟信号(如 PPS 或基于网络的精准时间协议),确保采集数据带有可比对的时间标签;

  • 软件层面,根据时间戳对周期不同的传感器数据进行插值或补偿,让所有数据对应到同一参考时刻,避免因采样偏差导致的感知不一致。

4.1.2 坐标转换

  • 事先通过标定手段(棋盘格、激光扫描等)获取每个传感器在车辆坐标系中的位置和朝向;

  • 运行时,将各传感器报告的点云或检测框,从自身坐标系映射到车辆坐标系,实现多源数据的空间可叠加。

4.2 数据关联(Data Association)

  • 最近邻匹配:根据目标在空间上的接近程度,将新观测与已有轨迹一一对应,简单且高效;

  • 全局分配:通过构建“观测–轨迹”匹配成本表,采用最优分配策略,避免某些观测被重复关联或遗漏;

  • 深度特征辅助:在视觉跟踪场景下,利用目标外观特征(如深度神经网络提取的 embedding)来提升遮挡或快速运动场景下的关联准确度。

4.3 传感器级融合(Low‑Level Fusion)

4.3.1 紧耦合融合

  • 在滤波器或联合估计框架内,直接将多传感器的原始观测进行一次性融合,能更早地纠正单一传感器的误差。

4.3.2 典型做法

  • 将雷达或激光雷达的点云数据映射到图像坐标,补充视觉深度信息;

  • 将相机检测到的目标与雷达聚类结果相结合,提高目标检测的置信度与准确度;

  • 不同安装角度的多块雷达点云合并,消除单块雷达盲区。

4.4 决策级融合(High‑Level Fusion)

  • 置信度加权:对同一目标在不同传感器上的检测结果,按各自的置信度评分或历史可靠性分配权重,最后得出最优位置和属性;

  • 投票机制:当不同传感器在目标分类上存在分歧时,通过多数表决方式决定最终类别,必要时触发降级策略(例如仅保留最高置信源);

  • 不确定性管理:采用证据理论或贝叶斯思想,对冲突信息进行评估,既能处理不同传感器间的小概率冲突,也不会盲目舍弃有价值的观测。

4.5 环境模型构建(Environment Modeling)

  • 栅格地图:将车辆周围空间划分为若干格子,对每个格子的“占用”或“空闲”状态进行概率评估,适用于静态障碍物的全面建模与路径规划;

  • 融合目标列表:将所有融合后的动态目标,封装为标准化结构,包括:目标编号、类型(车辆/行人等)、位置、速度、尺寸和可信度,供规划与控制模块直接调用;

  • 场景摘要:在某些系统中,还会生成更高层的“场景要素”描述,如车道线拓扑、交通标志分布、可行驶区边界等,用于行为决策的条件判断。

5 规控(Behavior & Motion Planning + Control)

规控模块负责将融合模块输出的统一环境模型,转化为具体的行驶策略与控制指令,确保车辆既满足安全要求,又跟踪规划的轨迹平滑行驶。本章从“行为规划 → 路径与轨迹规划 → 控制执行 → 安全监控”四个层面,进行深入剖析。

5.1 行为规划(Behavior Planning)

5.2.1 目标

  • 根据融合后的动态环境模型、地图信息与交通规则,确定下一步宏观行为(如巡航、跟车、变道、超车、停车等)。

5.2.2 常见实现方式

  • 有限状态机(FSM):以“当前状态+触发条件→下一个状态”的形式组织决策逻辑,清晰直观、易于验证;

  • 规则引擎:将交通法规、优先级策略以规则库形式管理,通过条件匹配触发对应行为;

  • 强化学习(RL):通过仿真环境训练智能体,实现对复杂场景的策略优化,但对安全验证提出更高挑战;

5.2.3 输入与输出

  • 输入:融合模块的目标列表、车道线与路网拓扑、速度/加速度限制、前车距离;

  • 输出:宏观动作指令,如“保持车道并跟车”、“执行左侧超车”、“减速至停止”,供下游规划使用。

5.2 路径与轨迹规划(Motion Planning)

5.2.1 全局路径规划

  • 方法

    • 基于路网拓扑的图搜索(A*、Dijkstra),将车道中心线抽象为节点与边,计算最短或最安全路径;

    • 可加入实时交通信息或拥堵成本,对路径代价进行加权优化。

  • 特点:计算周期相对较长(秒级),保持规划稳定,不频繁更新。

5.2.2 局部轨迹规划

  • 目标:在全局路径附近,结合动态障碍物与车辆动力学特性,生成实际可行的连续轨迹。

  • 方法

    • 采样‑连接:在可行空间内生成多条候选轨迹,对其碰撞风险、平滑度、舒适度进行打分,选取最优;

    • 样条曲线(Spline):通过控制点拟合平滑曲线,天然满足连续性要求;

    • 模型预测(MPC):基于车辆动态模型,在线优化生成满足约束的控制轨迹。

  • 特点:实时更新(十几到几十毫秒级),兼顾避障与舒适性。

5.3 控制执行(Control)

5.3.1 纵向控制

  • 目标:跟踪轨迹上预定速度或速度曲线,输出油门/制动指令;

  • 常用算法:PID、PI、LQR、MPC,后者可同时考虑多步预测与约束;

  • 实现要点:加入前馈分量补偿路坡与风阻,加快响应,减少超调。

5.3.2 横向控制

  • 目标:跟踪局部轨迹曲线,输出转向角度指令;

  • 常用算法:纯追踪(Pure Pursuit)、Stanley、MPC;

  • 实现要点:关注侧向加速度与横摆稳定性,确保不产生打滑或侧翻风险。

5.3.3 闭环反馈

  • 实时读取车速、转向角、侧偏角等执行反馈,与期望值比较,动态调整控制量。

  • 在偏差过大时,触发控制器重置或紧急制动。

5.4 安全监控策略(Safety Monitoring)

  • 限速策略:根据道路限速、天气与载荷状态,动态调整最高速度;

  • 碰撞风险评估:持续监测前后左右目标距离与相对速度,若风险阈值超限,立即进入紧急制动或避让模式;

  • 故障降级:若规划或控制模块出现异常(计算超时、输出失真),切换至最安全状态(减速停车或手动接管提示);

  • 冗余与自检:双通道控制器交叉比对输出指令;定期执行控制器健康检查,保证功能安全。

6 执行(Actuation)

执行模块负责将规控模块下发的控制量,转化为实际的车辆运动,通过底层驱动与执行器接口完成物理动作,并实时监测反馈,实现闭环控制。本章从“执行层架构与 HAL 接口 → CAN/CAN FD 报文封装与下发 → 执行器驱动 → 反馈采集与闭环监测”四个方面展开说明。

6.1 执行层架构与 HAL 接口

6.1.1 硬件抽象层(HAL)

  • 将上层控制命令与底层硬件驱动隔离,定义统一的接口函数(如 setThrottle(percent)applyBrake(force)setSteeringAngle(angle));

  • 在 HAL 实现中,调用底层驱动库或直接操作寄存器/PWM 输出,屏蔽各厂商 ECU/执行器差异。

6.2.2 执行层软件结构

  • Command Dispatcher:接收来自控制模块的命令,进行安全校验与限幅(例如油门开度不超过 100%);

  • Signal Encoder:根据 CAN 报文定义,将物理量映射为具体的比特位与量程;

  • Driver Manager:调用 HAL 接口或驱动库,将编码后的信号送往物理总线或直接驱动执行器;

  • Watchdog & Diagnostics:监测执行流程,如驱动超时、通信中断,触发故障策略或安全降级。

6.2 CAN/CAN FD 报文封装与下发

6.2.1 报文定义

  • 每个控制量(油门、制动、转向)对应固定的 CAN ID 和信号布局,按照 OEM 或标准化规范配置(如 SAE J1939、AUTOSAR COM);

  • 报文周期通常为 10–20 ms,一旦控制指令更新即触发新的周期发送。

6.2.2 信号编码

  • 量化与偏移:将浮点物理量(如 0–1 之间的油门百分比)映射为整数范围(如 0–100 单位),并加上偏移量;

  • 字节序与对齐:根据大端/小端规则将信号写入对应字节位。

6.2.3 发送策略

  • 定时发送:周期性广播当前命令,保证执行器持续获取最新指令;

  • 事件驱动:在急刹车或方向急转等紧急场景下,可立即触发报文发送以降低延迟;

  • 冗余发送:关键报文可在同一周期内多次发送,提升可靠性。

6.3 执行器驱动(Actuator Drivers)

6.3.1 油门驱动(Throttle‑by‑Wire)

  • 接收油门开度信号,通过电机或舵机驱动节气门执行结构;

  • 带有位置或力矩反馈,用于确认开度执行情况。

6.3.2 制动驱动(Brake‑by‑Wire)

  • 电控制动系统(ECB)接收制动力需求,驱动制动执行单元产生对应液压或电机制动;

  • 内置压力传感器监测实际制动力,实现闭环控制。

6.3.3 转向驱动(Steer‑by‑Wire / EPS)

  • 接收期望转向角或转矩,通过电动助力转向系统(EPS)控制方向盘/转向柱;

  • 反馈侧偏角与转矩传感器用于精准定位和稳定性监测。

6.3.4 其他执行器

  • 如悬架高度调节、主动减震、车身姿态控制等高阶功能,可通过相同机制扩展。

6.4 反馈采集与闭环监测

6.4.1 传感器反馈

  • 车速、加速度:从轮速传感器或 IMU 获取实际运动状态;

  • 踏板位置、转向角度:执行器自带的高精度位置传感器或编码器。

6.4.2 状态对比与补偿

  • 将实时反馈与目标值对比,计算偏差并发送给控制模块或在执行层本地启动补偿;

  • 对长期偏差或突发跳变进行滤波与异常检测。

6.4.3 故障检测与安全降级

  • 超时或无反馈:若反馈超出预期周期未到达,认为执行器失联,立即进入安全模式(如断油、触发自动停车);

  • 反馈异常:若检测到物理偏差超限或硬件故障码,切换至冗余通道或通知上层降级;

  • 监控日志:将关键执行与反馈数据打包上报,用于离线故障分析与性能评估。

7 通信与中间件

本章聚焦 ADAS 系统内部的消息传输与组件协同,介绍常见总线协议、主流中间件选型,以及服务发现与消息调度机制,为多节点、多 ECU 协同工作提供技术支撑。

7.1 总线协议

7.1.1 CAN/CAN FD

  • 特点:报文长度与带宽分别提升至 64 字节和 8 Mbps;

  • 应用场景:控制命令(油门、制动、转向)与状态回读(车速、电机温度)的高可靠传输;

  • 优势:生态成熟、成本低、故障容忍性高;

  • 限制:带宽有限,难以直接承载高带宽传感器数据。

7.1.2 FlexRay

  • 特点:支持静态时分与动态时分混合通讯,最大带宽 10 Mbps;

  • 应用场景:对确定性时延有严格要求的冗余控制或安全关键子系统,如自动紧急制动双通道冗余;

  • 优势:时间触发周期可预知,易于实现功能安全;

  • 限制:成本与复杂度高,且生态相对封闭。

7.1.3 汽车以太网(Automotive Ethernet)

  • 特点:链路速率从 100 Mbps 到 1 Gbps,支持 AVB/TSN 等实时扩展;

  • 应用场景:高清摄像头流、激光雷达点云、地图更新、大数据日志回传;

  • 优势:带宽充足、可扩展性强,与标准 IT 网络兼容;

  • 限制:需要额外的交换机和分段管理,网络拓扑和时延控制更复杂。

7.2 中间件平台

7.2.1 ROS/ROS 2

  • 架构:基于节点(Node)、话题(Topic)和服务(Service)的分布式通信框架;

  • 通信模型:默认使用 DDS,实现动态发现与点对点或广播式消息传递;

  • 优势:社区活跃、工具链丰富,便于算法快速验证;

  • 局限:对资源受限的 ECU 支持有限,功能安全方案需额外集成。

7.2.2 DDS(Data Distribution Service)

  • 架构:提供统一的发布/订阅接口和 QoS 策略,支持多播、大规模分布式部署;

  • 优势:原生支持实时性、可靠性和持久化,适合跨 ECU、跨网络域通信;

  • 典型实现:RTI Connext、eProsima Fast DDS。

7.2.3 Adaptive AUTOSAR

  • 架构:面向服务的架构(SOA),基于 SOME/IP 协议与管理服务;

  • 优势:符合 ISO 26262/ISO IT安全标准,支持应用的动态上下线与版本管理;

  • 生态:与经典 AUTOSAR 共存,可在同一 ECU 上按安全等级部署混合应用。

7.3 服务发现与消息调度

7.3.1 服务发现

  • 广播式发现:节点启动时发布自身服务元信息(如 Topic 名称、接口类型);

  • 目录服务:集中或分布式注册表维护全局服务列表,支持安全认证与策略管控;

  • 对等发现:基于 DDS/ROS2 互联自动维护节点间的点对点连接,无需额外配置。

7.3.2 消息发布/订阅

  • 发布/订阅模型:松耦合、多对多,适合高频、异步的数据流(传感器观测、控制回调);

  • 服务调用模型:一对一同步或异步请求响应,适合参数配置、状态查询等控制命令;

  • 事件驱动:支持 QoS Event(如 Deadline Miss、Liveliness)触发的自定义回调,提升健壮性。

7.3.3 调度与 QoS

  • 实时调度:结合操作系统 RT-PREEMPT 补丁或第三方 RTOS,保证高优先级消息的时延上限;

  • 带宽管理:在以太网场景下使用 AVB/TSN 划分流优先级并配置带宽预留;

  • 资源隔离:通过容器化(如 Genivi Snaps)或分区隔离(POSIX APEX),避免不同应用间相互干扰。

8 功能安全与可靠性

本章聚焦 ADAS 系统在设计、开发和运行过程中对功能安全和可靠性的保障,详述 ISO 26262 要求、冗余与故障切换设计,以及健康监测与诊断机制,为系统在各种故障场景下依然能安全运行提供保障。

8.1 ISO 26262 要求概述

8.1.1 功能安全生命周期

  • 从概念阶段(概念定义、危险分析与风险评估)到产品退役(拆解、回收),全流程按照 A–H 分级管理,确保每个阶段均有安全目标、策略和验证活动;

8.1.2 安全目标与安全需求

  • 根据危险和风险评估结果(HARA),为每项功能定义可接受失效概率(ASIL‑A 至 ASIL‑D);

  • 将高层安全目标分解为硬件安全需求、软件安全需求和系统集成安全需求;

8.1.3 软件开发与验证

  • 按照 ISO 26262‑6,软件开发遵循 V‑模型,包含需求分析、架构设计、详细设计、实现、单元测试、集成测试和验证;

  • 对每个 ASIL 等级的软件单元,执行相应的编码规范(MISRA C/C++)、静态检查、覆盖率分析和故障注入测试;

8.1.4 硬件安全与失效模式

  • 按照 ISO 26262‑5,定义安全相关硬件架构,评估单点故障率与多点故障共存概率;

  • 设计故障检测机制(如看门狗、自检内建测试)并根据ASIL等级执行冗余或安全停机;

8.1.5 系统集成与确认

  • 在集成阶段,对 ECU 之间、软件与硬件之间的接口进行安全验证;

  • 通过系统验证测试(台架、HIL、实车)和安全评估报告,确认安全目标已满足。

8.2 冗余与故障切换设计

8.2.1 传感器冗余

  • 多模冗余:同一环境要素由不同类型传感器(激光雷达+摄像头+毫米波雷达)并行感知,确保单一传感器失效时仍能获得关键信息;

  • 同质冗余:同类型传感器双通道或多通道部署,检测通道间一致性,发现漂移或断连;

8.2.2 算法冗余

  • 多路径算法:在关键功能(如车道检测、障碍物识别)采用两套独立算法并行计算,结果交叉对比,若差异超阈限则进入安全模式或切换至可信算法;

  • 降级策略:在次要传感器失效或临界场景下,自动降级至基本功能集(如仅保留前向碰撞预警),并通知驾驶员;

8.2.3 控制冗余

  • 双通道控制器:纵向/横向控制各自或交叉备份,主通道和安全通道并行工作,自检后切换;

  • 独立执行链路:执行器接口(油门、制动、转向)具备备用驱动路径,主驱动失联时备用链路接管;

8.2.4 故障检测与切换流程

  • 故障监测:通过内建看门狗、CRC 校验、心跳包等机制持续监测软件与硬件运行状态;

  • 故障确认:多次检测或多通道比对,排除偶发误报;

  • 模式切换:根据失效等级执行无缝切换或安全降级,确保车辆及时进入可控或停车状态;

  • 驾驶员提醒:通过仪表、语音或 HUD 提示当前安全状态与需驾驶员介入的操作。

8.3 健康监测与诊断

8.3.1 实时健康监测

  • ECU 状态监控:CPU 使用率、内存占用、总线负载、温度、电压等运行指标;

  • 网络健康监测:CAN / Ethernet 报文丢失率、延迟、错误帧统计;

  • 算法性能监测:关键算法帧率、延迟抖动、输出稳定性;

8.3.2 故障日志与事件记录

  • 本地日志:将异常事件、故障码、切换记录按时间序列存储于环形缓冲区,防止存储满溢出;

  • 远程上报:通过车载网络或蜂窝通信,将汇总日志上传到云端,以便离线分析;

8.3.3 自诊断测试(Built‑in Test)

  • 功率与信号完整性:定期或启动时对传感器信号链路进行环路测试,确认信号可达;

  • 内存与存储检查:校验闪存/RAM 的 CRC 校验码,检测潜在的存储损坏;

  • 算法正确性:在安全区域内执行标准化场景输入,验证算法输出是否在合理范围;

8.3.4 维修与升级支持

  • 故障定位:结合日志和实时监测,快速定位软硬件故障点;

  • 在线固件升级(FOTA):通过安全多阶段升级流程,支持 ECU 软件与中间件的远程更新,确保版本一致性与漏洞修复;

  • 诊断接口:兼容 OBD-II 或 UDS,方便维修人员接入诊断工具读取 DTC(诊断故障码)并执行测试。

9 仿真与测试

本章介绍 ADAS 系统的仿真与测试流程,涵盖从软件级到实车级的全链路验证方法,确保各模块在各种场景下的功能正确性与性能稳定性。

9.1 SIL/HIL 测试流程

9.1.1 SIL(Software‑in‑Loop)测试

  • 将感知、融合、规控、执行各算法组件以软件模型形式集成在仿真平台中,脱离真实 ECU 和执行器硬件;

  • 使用虚拟传感器数据或录制数据流输入,验证算法正确性、接口兼容性和端到端逻辑;

  • 在持续集成(CI)流水线上自动触发,对每次代码提交进行回归、覆盖率和性能基准测试;

  • 加入故障注入(如丢帧、数据畸变)和边界值测试,评估系统在极端或异常条件下的鲁棒性。

9.1.2 HIL(Hardware‑in‑Loop)测试

  • 将真实 ECU、执行器或传感器控制器接入硬件测试台架,仿真平台输出电信号或总线报文,与硬件进行实时交互;

  • 在闭环实时操作系统中驱动程序,测试硬件接口、通信协议和时序延迟是否满足设计要求;

  • 支持电气故障注入(如总线断连、信号短路)和执行器失效模拟,验证故障检测与安全降级策略;

  • 输出 HIL 测试报告,包含硬件响应延迟、各环节抖动统计和故障恢复时间。

9.2 数据回放与回归测试

9.2.1 数据采集与管理

  • 在实际道路或封闭场地运行时,用车载记录系统(BLF、MF4 等格式)采集多传感器原始数据;

  • Convert 工具链将录制文件转换为统一的仿真输入格式(CSV、ROS bag、OpenSCENARIO),并按版本归档。

9.2.2 回放平台与场景重现

  • 在仿真环境中精准回放录制数据,确保各传感器时序与标定一致;

  • 利用场景脚本自动化运行测试用例,覆盖典型场景(隧道、交叉路口、夜间、恶劣天气)与边缘场景(突发行人、急转弯)。

9.2.3 回归测试

  • 每次算法升级后,自动执行全量回放测试,对比输出与基线版本,检测功能回退或性能退化;

  • 生成回归报告,列出关键指标变化(如检测率、跟踪稳定性、规划平滑度)并标记超阈值项。

9.3 实车路测与场景验证

9.3.1 测试策划与场景设计

  • 根据功能清单与风险评估(HARA),制定测试矩阵,覆盖 L0–L2 各级别用例;

  • 引入标准化场景库(如 OpenSCENARIO、NCAP 测试规范)与自定义高危场景,明确测试目标与评估指标。

9.3.2 封闭场地测试

  • 在测试赛道或模拟社区环境下,搭建交通信号、行人假人和移动障碍物,实现可控场景复现;

  • 测量车辆加速度、侧偏、制动距离与转向响应,评估算法与控制器协同性能。

9.3.3 公路实测

  • 选取城市道路、高速公路与乡村道路等多样路段,验证系统在真实交通流中的适应性;

  • 配备安全员与冗余制动控制,确保极端情况下的人工接管能力;

  • 采集全量日志并与仿真结果对比,分析误差来源与模型不匹配问题。

9.3.4 结果评估与持续改进

  • 汇总实车测试数据,统计各场景下的功能成功率、告警频次与安全事件;

  • 将问题反馈至算法、融合或控制模块,形成闭环优化流程;

  • 定期更新测试用例库,加入新场景与法规变化,保持验证覆盖的前沿性。

10 结论

  • 闭环设计:“感知 → 融合 → 规控 → 执行”四大模块形成高效端到端闭环,确保环境信息及时准确地转化为车辆动作。

  • 分层解耦:底层驱动、中间件与应用层各司其职,通过清晰接口与消息机制,实现高内聚、低耦合的模块化架构。

  • 安全优先:从传感器冗余、算法冗余到控制冗余,配合功能安全流程与故障降级策略,多重防护确保系统在异常情况下仍能安全运行。

  • 验证齐全:覆盖 SIL、HIL、数据回放与实车路测的多层次测试体系,全面评估功能正确性、实时性与鲁棒性,为产品量产保驾护航。

综上所述,本篇文档通过系统化地剖析 ADAS 的感知、融合、规控与执行四大核心流程,结合架构分层、功能安全与全面测试,构建了一个既具备工程可落地性,又满足安全可靠性要求的端到端解决方案,为后续开发和优化提供了清晰的技术路径和实践指导。