2. 自动驾驶系统基础
自动驾驶系统是一个典型的信息物理融合系统,其核心架构可抽象为“感知—决策—执行”三大模块。感知层负责将物理世界的环境信息转化为数字信号,决策层基于这些信号进行态势判断与路径规划,执行层则将控制指令转化为车辆的机械动作。对于HIL(硬件在环)测试工程师而言,理解这三大模块的功能边界与数据流方向,是构建测试用例、设计故障注入点、分析测试结果的前提。本章将系统拆解三大模块的输入输出特性,并重点说明HIL测试中“被测对象(DUT)”与“模拟环境(Plant Model)”之间的接口关系。
上图展示了三大模块之间的数据流关系以及HIL测试的典型对象边界。在HIL系统中,感知模块通常通过传感器模拟器(如CAN信号注入、视频注入、雷达回波模拟)来替代真实物理环境;决策模块(即域控制器或ADAS ECU)是HIL测试的核心DUT;执行模块则通过负载模拟器或真实执行器(如EPS、ESP)进行响应验证。理解这条数据链,是后续设计测试用例的基础。
2.1 感知模块:从物理世界到数字信号的转换
核心原理
感知模块是自动驾驶系统的“眼睛”和“耳朵”,其核心任务是将物理世界的连续信号(光、声波、电磁波)转换为离散的数字特征。以摄像头为例,其内部流程为:光学镜头聚焦→CMOS传感器光电转换→ISP图像信号处理→输出YUV或RAW格式图像→AI加速器进行目标检测→输出目标边界框与类别。毫米波雷达则通过发射77GHz调频连续波,利用多普勒效应测量目标距离、相对速度与方位角。激光雷达通过TOF(飞行时间)原理生成三维点云。
在HIL测试中,感知模块的模拟需要区分信号级模拟与对象级模拟。信号级模拟直接生成摄像头视频流或雷达目标列表,注入到DUT的输入接口;对象级模拟则通过场景软件(如CarSim、VTD)生成目标物位置、速度、尺寸等抽象属性,再通过总线注入。两种方式各有优劣,信号级更接近物理层,但实时性要求高;对象级更灵活,适合算法验证。
| 传感器类型 | 输出数据格式 | HIL模拟方式 | 典型接口 |
|---|---|---|---|
| 摄像头 | YUV422 / RAW12 | 视频注入卡(如Video Interface Box) | MIPI CSI-2 / GMSL2 |
| 毫米波雷达 | 目标列表(距离/速度/角度) | CAN/以太网报文注入 | CAN FD / Automotive Ethernet |
| 激光雷达 | 点云数据(x,y,z,intensity) | UDP点云注入 | 1000BASE-T1 |
| 超声波 | 回波时间/距离 | 硬线电平模拟 | IO接口 |
| GNSS/IMU | 经纬度/速度/姿态 | RTK模拟器 | CAN / SPI |
判断方法与操作流程
在搭建感知模块HIL测试环境时,需按以下步骤操作:
- 确定传感器配置:根据被测车型的传感器拓扑(如1V5R3L),列出所有传感器类型与数量。
- 选择模拟方式:对于摄像头,优先选择视频注入卡以覆盖ISP与AI算法全链路;对于雷达,若测试目标是融合算法,可采用对象级注入。
- 配置同步机制:所有传感器模拟必须与实时仿真机时钟同步,否则会导致时间戳错乱。
- 标定与对齐:在HIL环境中,需将虚拟传感器的安装位置、视场角、噪声模型与实际车辆标定参数对齐。
实战场景:某项目需验证AEB(自动紧急制动)功能在雨天场景下的性能。测试团队使用视频注入卡播放雨滴噪声叠加的摄像头画面,同时通过雷达模拟器注入一个静止车辆目标。关键参数包括:目标距离50m、相对速度60km/h、路面附着系数0.4。通过调整雨滴密度参数(0-100%),观察DUT的感知置信度变化。测试发现,当雨滴密度超过70%时,摄像头目标丢失,但雷达仍能稳定输出,融合算法正确降级为雷达单传感器模式。
常见误区
- 误区一:认为传感器模拟越真实越好。实际上,过度复杂的噪声模型可能导致测试结果难以复现,建议采用“标称+典型扰动”的分级策略。
- 误区二:忽略传感器延迟。摄像头处理延迟约30-50ms,雷达约10-20ms,在HIL中必须注入相应延迟,否则决策模块的时序逻辑无法验证。
- 误区三:将感知模块作为黑盒测试。建议在HIL中增加感知结果的可视化监控(如叠加显示目标框),便于快速定位是感知算法问题还是模拟环境问题。
2.2 决策模块:从环境理解到行为决策
核心原理
决策模块是自动驾驶的“大脑”,其输入是感知模块输出的目标列表、自车状态(车速、横摆角速度)以及高精地图信息,输出是具体的控制指令(目标加速度、目标横摆角速度、转向角)。决策模块通常分为三层:全局规划(路径规划,频率1-10Hz)、行为决策(如跟车、变道、超车,频率10-30Hz)、运动规划(轨迹生成与优化,频率50-100Hz)。在HIL测试中,决策模块是DUT的核心部分,其输入输出均通过CAN或以太网与仿真环境交互。
决策模块的HIL测试重点在于场景覆盖度与实时性。由于决策算法涉及大量条件分支(如交通规则、碰撞风险判断),测试用例需覆盖典型场景、边缘场景与危险场景。实时性方面,决策周期必须严格满足设计指标(如AEB触发时间小于300ms),HIL测试需通过时间戳监控验证。
判断方法与操作流程
决策模块HIL测试的典型流程如下:
- 场景定义:使用OpenSCENARIO或自定义脚本描述场景(如“前车切入+本车加速”)。
- 参数化扫描:对关键参数(相对速度、距离、加速度)进行网格化扫描,生成测试矩阵。
- 实时运行:在实时仿真机中运行车辆动力学模型,通过CAN注入感知数据到DUT。
- 结果评估:记录DUT输出的控制指令,与参考轨迹对比,计算横向/纵向误差。
经验提醒:在决策模块测试中,务必记录DUT的“内部状态”(如当前驾驶模式、目标选择逻辑)。建议通过DUT的调试接口(如UART或XCP)输出内部变量,否则当测试失败时,难以判断是感知输入错误还是决策逻辑缺陷。
案例拆解:ACC自适应巡航控制策略验证
某OEM在开发ACC系统时,需验证“前车静止”场景下的安全停车功能。HIL测试环境配置如下:
- DUT:ACC域控制器(包含融合与决策算法)
- 仿真环境:CarSim车辆动力学模型 + 虚拟雷达目标注入
- 关键参数:本车初始速度80km/h,前车静止,距离120m,路面附着系数0.8
测试过程中,通过实时仿真机控制前车目标从120m处逐步靠近,观察DUT的减速指令。初始测试发现,当距离小于40m时,DUT输出最大制动压力(-8m/s²),但车辆仍以15km/h的速度接近前车,存在碰撞风险。分析日志发现,决策模块的“目标选择”逻辑错误地将左侧车道车辆作为主目标,导致未对静止前车进行充分制动。修复算法后,重新测试,车辆在距离前车2.5m处完全停止,满足安全要求。此案例说明,HIL测试不仅能验证功能,还能暴露算法逻辑缺陷。
常见误区
- 误区一:只关注最终控制指令,不关注决策模块的中间状态(如目标ID、置信度)。
- 误区二:忽略决策模块的降级策略。例如,当感知数据缺失时,DUT应进入安全状态(如减速停车),HIL测试必须覆盖此类故障注入场景。
- 误区三:将决策模块与执行模块分开测试。实际上,决策指令的执行效果(如转向响应延迟)会反向影响决策,建议进行“决策+执行”联合测试。
2.3 执行模块:从控制指令到物理动作
核心原理
执行模块是自动驾驶的“手脚”,包括转向系统(EPS)、制动系统(ESP/One-Box)、驱动系统(VCU/MCU)以及悬架等。其核心功能是将决策模块输出的目标值(如目标转向角、目标减速度)转换为实际的物理量(前轮转角、制动压力、驱动扭矩)。执行模块通常包含底层控制器(如EPS的扭矩控制环)与执行机构(电机、液压泵)。在HIL测试中,执行模块有两种接入方式:真实执行器(通过负载模拟器加载)或虚拟执行器(通过模型模拟)。
执行模块的HIL测试重点在于响应时间、稳态精度与故障容错。例如,EPS系统从接收到转向指令到达到目标转角,通常要求响应时间小于100ms,稳态误差小于0.5°。制动系统则需验证ABS/ESC介入时的压力波动特性。
判断方法与操作流程
执行模块HIL测试的典型配置如下:
- 选择执行器接入方式:对于EPS,建议使用真实EPS+负载模拟器(模拟轮胎回正力矩);对于制动系统,可使用液压负载台架。
- 标定接口参数:确保HIL仿真机输出的转向阻力矩、制动主缸压力与实车一致。
- 故障注入:通过继电器或电子开关模拟传感器断线、电机短路、CAN通信丢失等故障。
- 性能评估:记录阶跃响应、正弦跟踪、频率响应等指标。
风险提示:执行模块HIL测试存在机械安全风险。例如,EPS负载模拟器可能产生巨大扭矩,必须设置机械限位与紧急停止按钮。制动系统测试时,液压油温可能升高,需配置冷却回路。所有测试应在防护罩内进行,并制定安全操作规程。
案例拆解:EPS转向系统HIL测试
某Tier1供应商需验证EPS在“高速变道”工况下的助力特性。测试台架包括:真实EPS总成、负载电机(模拟0-300Nm回正力矩)、角度传感器、扭矩传感器。测试输入为决策模块发出的目标转角序列(正弦扫频,频率0.1-5Hz)。测试结果如下:
| 频率(Hz) | 目标转角(°) | 实际转角(°) | 相位延迟(ms) | 助力电流(A) |
|---|---|---|---|---|
| 0.5 | 30 | 29.8 | 15 | 12.5 |
| 1.0 | 30 | 29.2 | 28 | 14.2 |
| 2.0 | 30 | 27.5 | 55 | 18.0 |
| 3.0 | 30 | 24.1 | 90 | 22.5 |
从数据可见,当频率超过2Hz时,转向响应明显滞后,助力电流饱和。进一步分析发现,EPS的电机电流环带宽不足,导致高频跟踪性能下降。通过调整电流环PI参数,将带宽从15Hz提升至25Hz,重新测试后,3Hz处的相位延迟降至45ms,满足整车要求。此案例展示了HIL测试在底层控制器调优中的价值。
常见误区
- 误区一:使用虚拟执行器模型时,模型精度不足。建议在项目初期进行执行器模型标定(对比实车数据)。
- 误区二:忽略执行器的非线性特性(如摩擦、间隙、饱和)。在HIL中应加入这些非线性因素,否则测试结果过于乐观。
- 误区三:未考虑执行器故障对系统级的影响。例如,EPS失效时,决策模块应降级为“仅制动”模式,HIL测试需覆盖此类级联故障。
2.4 三大模块数据流与HIL测试的接口映射
核心原理
在HIL测试中,数据流的方向决定了信号注入与采集的位置。感知数据流从仿真环境流向DUT(输入),决策数据流在DUT内部处理,执行数据流从DUT流向仿真环境(输出)。此外,还有一条反馈数据流:仿真环境根据执行结果更新车辆状态,再反馈给感知模块。因此,HIL系统必须支持双向数据交互,且延迟要尽可能低(通常要求小于1ms)。
接口映射表
| 数据流方向 | 信号类型 | 物理接口 | HIL设备 | 典型延迟要求 |
|---|---|---|---|---|
| 感知输入 | 摄像头视频 | GMSL2 / FPD-Link | 视频注入卡 | < 5ms |
| 感知输入 | 雷达目标 | CAN FD | CAN接口卡 | < 2ms |
| 决策输出 | 转向指令 | CAN / FlexRay | CAN接口卡 | < 1ms |
| 执行反馈 | 轮速脉冲 | 硬线 | IO板卡 | < 0.5ms |
| 车辆状态 | 横摆角速度 | CAN | CAN接口卡 | < 1ms |
操作流程
在搭建HIL数据链路时,建议按以下顺序进行:
- 绘制数据流图:明确每个信号的源、宿、类型、周期。
- 配置实时仿真模型:将车辆动力学模型、传感器模型、执行器模型部署到实时机。
- 映射IO通道:将模型输出映射到物理IO通道,并设置信号缩放比例。
- 验证延迟:使用示波器或时间戳工具测量从模型计算到IO输出的总延迟。
- 闭环联调:运行典型场景,检查数据流是否完整、时序是否正确。
实战场景:某项目在HIL联调时发现,当车辆速度超过120km/h时,轮速信号出现周期性丢失。排查过程:首先检查IO板卡采样率(设置为1kHz),确认无溢出;其次检查CAN报文周期(设置为10ms),发现与模型计算步长(1ms)不匹配,导致数据覆盖。解决方案:将轮速信号改为硬线脉冲输出,并增加FIFO缓冲。修复后,信号丢失问题消失。此案例说明,数据流映射时需关注不同信号的时间尺度差异。
常见误区
- 误区一:忽视信号缩放与偏移。例如,转向角信号在CAN中以0.1°/bit编码,若HIL中未正确配置缩放,会导致控制精度下降。
- 误区二:未区分“数据流”与“能量流”。执行模块涉及功率信号(如电机电流),HIL中需使用功率级负载模拟器,而非普通信号级IO。
- 误区三:缺乏数据流监控手段。建议在HIL系统中配置总线记录仪(如CANalyzer),实时记录所有总线数据,便于事后分析。
2.5 总结与HIL测试设计要点
本章从感知、决策、执行三大模块的功能与数据流出发,明确了HIL测试的对象边界。核心要点归纳如下:
- 感知模块:HIL测试重点是传感器模拟的保真度与同步性,需区分信号级与对象级模拟。
- 决策模块:HIL测试重点是场景覆盖度与实时性,需关注内部状态的可观测性。
- 执行模块:HIL测试重点是响应时间与故障容错,需考虑非线性特性与安全风险。
- 数据流:HIL测试必须支持双向数据交互,并严格控制延迟与信号映射精度。
经验总结:在HIL测试项目启动前,建议先完成“数据流清单”文档,列出所有信号的名称、方向、类型、周期、缩放因子、接口设备。该文档是后续测试用例设计、故障注入、结果分析的基础。同时,建议建立“信号映射检查表”,在每次测试前进行核对,避免因配置错误导致测试无效。
理解三大模块的数据流,是HIL测试工程师的基本功。只有清晰掌握每个信号的来源与去向,才能设计出有效的测试用例,快速定位问题,最终保障自动驾驶系统的安全性与可靠性。