智能驾驶之 MIL、SIL、PIL、HIL、整车测试

智能驾驶测试五阶详解

我们来详细、系统地说明智能驾驶(乃至所有嵌入式系统)开发中的这五个关键验证与测试阶段。他们构成了一个从虚拟到现实、从概念到产品的完整闭环。

这五个阶段通常遵循V模型的开发流程。

1 MIL模型在环测试

核心思想:在纯粹的计算机仿真环境中,让被测试的算法模型与一个模拟真实世界的“虚拟车辆环境模型”进行连接,形成一个闭环系统,从而验证算法本身的逻辑和功能是否正确

不涉及任何代码、硬件,只关注“想法”和“设计”是否正确。

测试对象: 控制策略、算法模型(通常在MATLAB/Simulink、Python等建模环境中搭建)

运行环境:个人电脑或工作站上的仿真软件。

MIL测试五大核心步骤

步骤1: 搭建算法模型(被测对象)        
  • 内容:待测试的智能驾驶功能,例如自动紧急制动、自适应巡航、车道保持等。
  • 工具:通常使用MATLAB/Simulink、Python活其它建模工具。
  • 形式:它是一组框图、状态机脚本定义算法的逻辑。例如,一个AEB算法模型会包含:目标识别、碰撞风险判断、制动决策等模型。
  • 输入/输出:这个模型在设计时,就明确定义了他的输入(如:前车距离、相对速度、自车速度)和输出(如:制动请求扭矩)。
步骤2: 搭建虚拟车辆与环境模型(模拟现实

这是MIL测试的“舞台”,通常包括:

2.1场景与环境模型:
  • 道路:定义车道线、曲率、坡度。
  • 交通参与者:放置其他车辆、行人、障碍物,并定义他们的行为(如: cut-in).
  • 环境条件:模拟天气、光照。
2.2 传感器模型:
        2.2.1.模拟真实传感器的特性。例如:
  •  摄像头模型:生成虚拟的视频流图像
  •   雷达/激光雷达模型:生成虚拟的点云数据
       2.2.2.会加入噪声、视野盲区、检测概率等,使其更接近真实传感器。
2.3 车辆动力学模型

        一个高精度的数学模型,模拟车辆在收到油门、制动、转向指令后的真实物理响应如加速度、横摆角速度,位置变化)。

步骤3: 在仿真平台中连接,形成闭环
3.1 在Simulink这样的平台上,通过信号线将算法模型、传感器模型车辆动力学模型连接起来。
3.2 闭环形成:

        3.2.1. 算法模型接收来自传感器模型的“感知”数据。

        3.2.2. 算法模型经过计算,发出控制指令(如“制动100%)给车辆动力学模型

        3.2.3. 车辆动力学模型根据指令计算出车辆新的状态(如速度降低、位置变化)。

        3.2.4. 传感器模型根据车辆新的状态,更新”感知“到的数据,并反馈给算法模型

3.3 这个过程在仿真的每一步长中循环进行, 就像在真实世界里一样。

步骤4: 运行仿真并监控
  • 设置测试场景(例如:前车突然制动)。
  • 启动仿真。仿真平台会以固定的时间步长(如0.01秒)逐步计算整个闭环系统的状态。
  • 在仿真过程中,可以实时监控任何感兴趣的关键信号(如:车间据、风险等级、制动指令)。

步骤5:结果分析与评估

仿真结束后,工程师需要分析数据以判断算法是否达标

  • 功能正确性:车辆是否成功避免了碰撞?是否保持了安全距离
  • 性能评估制动减速度是否舒适?系统反应时间多长?
  • 调试与迭代:如果测试失败(如发生碰撞),工程师需要回溯数据分析是算法的哪个环节出了问题(是感知误判?还是决策逻辑太激进?),然后直接修改算法模型再次运行MIL测试,直到其表现满意为止。
实例: 测试自适应巡航控制ACC

1. 算法模型:ACC控制器,输入是”设定车速“和”前车距离”,输出是“油门/制动请求”。以“感知与目标识别”为基础,通过“行为决策(跟车/巡航模型)”计算出平滑的加速度期望,最后由“运动控制”模块精准地执行,并通过“人机交互”与驾驶员保持沟通。

[感知与目标识别模块、行为决策与路径预测模块、控制器设计(PID 或者MPC)、人机交互模块]

2. 虚拟环境:一条直路,前方有一辆慢速行驶的虚拟车辆

3. 闭环仿真: 

  •         自车以设定速度开始巡航。
  •         传感器模型“看到”前车,并将距离相对速度传给ACC算法模型。
  •         ACC算法模型计算出需要轻微制动,以保持安全跟车距离。
  •         车辆动力学模型执行制动,自车减速。
  •         传感器模型持续监测变化的两车距离,并反馈给ACC模型。
  •         ACC模型不断调整控制指令,最终稳定地跟住前车。

4. 分析:工程师检查整个过程中的车速曲线、距离曲线加速度曲线,确保其平稳、安全、舒适

MIL测试核心价值

早期验证:在投入昂贵的软件编码和硬件制造之前,就能发现和修复算法设计层面的根本性错误。

安全与高效:可以安全、快速、低成本地测试成千上万种场景,包括在现实世界中难以复现的危险工况(如极端天气、传感器故障)。

快速迭代:修改模型后可以立即重新测试,极大地加速了前期的研发进度。

2 SIL软件在环测试

SIL测试五大核心步骤

步骤1: 代码生成

输入: 已经通过MIL测试验证的、功能正确的算法模型(如Simulink模型)。

过程:使用代码生成工具(如MATLAB Coder,Simulink Coder, Embedded Coder),将图形化的模型或MATLAB算法自动转换为C或C++源代码(未编译)。

输出:生成一个包含.c、.h等文件的源代码工程。这是SIL测试的被测对象。

步骤2:创建SIL测试环境

核心任务:在PC环境下,搭建一个可以运行和测试生成的源代码的框架

具体操作: 

1 生成可执行文件

使用GCC或者visual Studio的编译器,将步骤1中生成的C/C++代码编译链接成一个可以在PC上运行的可执行文件(.exe文件)。

2 创建一个测试框架

通常由Simulink TestGoogle Test、MATLAB Unit Test  自定义的C++测试程序实现创建测试框架,这个框架负责:

  • 调用编译好的可执行文件(.exe文件);
  • 在测试框架下向可执行文件提供输入数据,该框架接收记录输出数据;
步骤3: 注入与MIL相同的测试用例

为了进行公平的比较,SIL 测试必须使用与MIL测试完全相同的输入测试向量。这些输入数据通常是从MIL测试中记录下来的,或者是直接由同一个测试用例生成的。

输入数据可以包括:

  • 传感器模拟数据(如车速信号、模拟图像/雷达数据块)。
  • 执行器反馈信号
  • 系统状态信号
步骤4:结果自动对比

这是SIL测试的灵魂步骤。

过程:

1 在同一台PC上,并行执行两个过程:

  • 运行SIL可执行文件,得到代码的输出结果。
  • 运行原始的参考模型,得到模型的输出结果

2 测试框架自动地、逐点地比较这两个输出结果

比较标准:

位一致:理想情况下,代码的输出与模型的输出在数值上应该完全一致。

允许容差:由于浮点数运算在PC和嵌入式处理器上的精度差异,有时会允许一个极小的误差范围(例如1e-10)。如果差异在容差范围内,则认为测试通过。

步骤5:测试分析与迭代

测试通过:如果所有测试用例的输出比对都一致,证明代码生成是正确无误的,可以进入下一阶段(如 PIL测试)。

测试失败:如果发现不一致,则意味着代码生成过程可能引入了缺陷

        调试:工程师需要定位问题根源。常见原因包括:代码生成工具配置错误数据类型转换问题代码优化选项不当等。

        修复:修复通常是调整模型代码生成配置,然后重新生成代码,再次执行SIL测试,知道所有测试通过。

实例说明:
验证一个PID控制器

1 MIL阶段:

一个Simulink PID控制器模型,给定一个输入信号,输出一个控制信号。MIL测试证明其功能正确。

2. 代码生成:

使用Embedded Coder将该PID模型生成C代码 pid_controller.c和pid_controller.h。

3 SIL环境搭建:

在Visual Studio中创建一个项目,将生成的C代码编译成一个.exe文件。

4 测试执行: 

        测试框架将一组预设的输入值(如 [1.0, 2.0, 1.5,...])同时送给

                原始simulink PID模型

                编译好的SIL可执行文件

5 结果对比

              Simulink模型输出:[10.2,15.6,12.1...]

              SIL代码输出:        [10.2,15.6,12.1...]

测试框架报告:所有数据点一致,测试通过。

SIL测试的核心价值

验证代码生成保真度:这是其主要使命确保自动生成的代码严格遵循模型的设计

早期发现代码级缺陷:在进入硬件相关测试前,就能发现诸如 数值计算错误、数据溢出、逻辑分支错误等纯软件缺陷。

平台无关的功能验证:由于在通用PC上运行,它排除了硬件特异性的干扰,专注于验证代码的逻辑功能。

高效率和自动化:可以轻松集成到CI/CD(持续集成/持续部署)流水线中,实现大规模的自动化回归测试。

3 PIL处理器在环测试Processor in the loop

PIL测试的核心思想:将编译好的嵌入式代码下载到真实的目标处理器(或一个功能完全相同的评估板)上运行,同时与主计算机上的测试环境进行通信,以验证代码在真实芯片上的功能正确性性能

简单来说,PIL是“在目标处理器上进行的SIL测试”。它的焦点从纯粹的逻辑功能验证,转移到了 代码与芯片兼容性性能评估

PIL处理器在环测试五大核心步骤

步骤1: 交叉编译

输入:已经通过SIL测试验证的C/C++源代码。

过程:不使用PC的通用编译器(如GCC/visual studio),而是使用目标处理器(如ARM Cortex-A系列,TI C2000系列)的专用交叉编译工具链

目的:将C/C++代码编译和链接成可以在目标处理器上运行的二进制文件(如.out,.hex,.bin文件)。这个二进制文件是PIL测试的被测对象

步骤2:下载至目标处理器

硬件环境

        目标处理器:通常是最终产品要使用的芯片(如TDA4, Orin),或者一个官方的开发板/评估版。

        连接方式:通JTAG、串口(UART)、以太网 USB等方式,将主计算机与目标处理器连接起来。

操作:使用调试器烧录工具,将步骤1中生成的二进制文件下载到目标处理器的内存或Flash中。

步骤3:运行测试用例 并建立通信

测试用例:PIL测试用例与MIL和SIL测试完全相同的输入测试向量,以保证测试的公平性和一致性。

通信桥梁:

  • 在主计算机上运行的测试框架(如Simulink)会通过通信接口(如串口、TCP/IP)将输入数据逐个发送给正在目标处理器上运行的代码。
  • 目标处理器收到输入数据后,调用相应的函数进行计算。
  • 计算完成后,目标处理器再将结果通过通信接口传回给主计算机
步骤4: 结果比对与性能分析

这是PIL测试的两个核心产出:

1. 功能正确性比对:

   · 主计算机将目标处理器返回的结果(B)与参考模型(在PC上运行)的输出结果(A)进行逐点比对。
   · 由于浮点数精度、编译器优化等差异允许存在一个极小的容差功能一致性是基本要求

2. 性能指标分析(PIL的独特极致):   

· 代码执行时间 通过处理器的硬件定时器或性能计数器,精确测量关键函数或任务的最坏情况执行时间(WCET) 和平均执行时间。这是评估实时性的关键。

· 内存占用:分析代码在目标处理器上运行时对RAM(静态和动态) 和ROM/Flash的实际消耗。

· CPU负载:评估代码运行期间对处理器计算资源的占用率。

步骤 5:分析与迭代

· 测试通过: 如果功能一致且性能指标(如执行时间、内存占用)满足设计要求,则测试通过,可以进入下一阶段(如HIL测试)。
· 测试失败:
          · 功能错误: 如果功能不一致,可能原因包括:编译器特定优化引入的bug、内存对齐问题、字节序(Endianness)问题等。需要定位并修复代码或编译配置。
          · 性能不达标: 如果执行时间过长或内存溢出,则需要进行代码优化,例如:优化算法结构、使用编译器优化选项、利用处理器的SIMD指令或硬件加速单元。

---

一个简单的例子:验证一个矩阵运算函数

1. SIL阶段: 一个矩阵求逆的C代码在PC上编译运行,功能与模型完全一致。
2. 交叉编译: 使用ARM GCC工具链将该C代码编译成ARM处理器可执行的二进制文件。
3. 下载与连接: 将该二进制文件下载到一块ARM Cortex-A53开发板上,并建立串口通信。
4. 测试执行:
   · 主计算机通过串口向开发板发送一个测试矩阵 [4, 7; 2, 6]。
   · 开发板上的代码执行矩阵求逆计算。
   · 开发板将计算结果 [0.6, -0.7; -0.2, 0.4] 通过串口发回主计算机。
5. 结果分析:
   · 功能比对: 主计算机发现返回的结果与参考值一致,功能正确。
   · 性能分析: 通过定时器测量,发现该矩阵求逆在目标处理器上执行了 150微秒,并占用了 2KB 的栈内存。这个数据被记录下来,用于评估是否满足系统实时性要求。

PIL测试的核心价值

· 验证目标处理器的兼容性: 确保代码在最终产品的真实芯片上能够正确运行。
· 获取真实的性能数据: 提供代码执行时间、内存占用等关键指标,这是SIL测试无法提供的,对于评估系统实时性至关重要。
· 发现编译器特定问题: 暴露因特定编译器和芯片架构交互而产生的深层缺陷
· 风险前移: 在进入更复杂、更昂贵的HIL和实车测试之前,提前发现并解决处理器相关的性能和资源问题。

4 HIL硬件在环测试

硬件在环测试是一种用于测试嵌入式系统的技术,它通过模拟真实世界的行为来测试电子控制单元ECU的硬件和软件。在智能驾驶领域,HIL测试用于测试域控制器或整个车辆系统。

HIL测试的核心是使用实时的仿真器和物理接口来模拟车辆及其环境,同时连接真实的ECU(或多个ECU)形成闭环测试。

工作步骤:

1 系统搭建:

实时仿真机:运动车辆动力学模型、环境模型、传感器模型(如摄像头、雷达、激光雷达等)和执行器模型。这些模型必须运行在实时操作系统上,以确保与真实世界的时间同步。

I/O接口:连接仿真机和待测ECU。这些接口包括模拟量、数字量、CAN、LIN、FlexRay、以太网等,用于发送模拟的传感器信号接收ECU的控制指令

待测ECU: 真实的域控制器或ECU,例如自动驾驶域控制器、刹车控制器、转向控制器等。

故障注入单元:可以模拟线路故障,如短路、断路、信号失真等。

信号调理和负载模拟:将仿真机输出的信号转换为ECU可接受的电平,并为执行器接口提供模拟负载。

2 模型准备:

车辆动力学模型模拟车辆的运动,包括车身、悬挂、轮胎等,根据ECU的控制指令(如油门、刹车、转向)计算车辆的加速度、速度、位置姿态

环境模型:模拟交通场景、道路、天气等。

传感器模型:根据车辆动力学模型和环境模型生成模拟的传感器数据。

        对于摄像头:生成视频流(通常通过视频注入接口,如HDMI 或SDI

        对于雷达:生成雷达目标列表模拟射频信号(通过射频信号注入)

        对于激光雷达:生成点云数据

执行器模型:模拟执行器(如刹车机构、转向电机)对ECU指令的响应。

3 测试用例设计:

设计各种测试场景,包括正常工况、边界工况故障工况。例如:高速跟车、紧急制动、传感器故障等。

4 运行测试:
  • 将待测ECU连接到HIL系统。
  • 启动实时仿真机,运行车辆模型、环境模型和传感器模型。
  • 模型计算出车辆状态和环境信息通过I/O接口发送给ECU。例如,车辆速度通过CAN信号发送,摄像头视频流通过视频接口注入雷达目标通过以太网专用接口发送。
  • ECU处理接收到的信号,发出控制指令(如刹车、转向),这些指令通过I/O接口仿真机读取,并输入到车辆动力学模型中,从而改变车辆状态,形成闭环。
5 监控与数据记录

在测试过程中, 监控所有的信号ECU的内部态(如果支持)。

记录测试数据,包括输入输出信号、ECU的通信报文、故障码等。

6 结果分析与评估:

根据测试数据评估ECU的表现,检查其行为是否符合预期。

如果测试失败,分析原因,可能是ECU软件缺陷、模型问题或HIL系统配置问题。

7 迭代测试

根据分析结果,修复ECU软件缺陷,更新性能测试用例或模型,重新测试,直到满足要求。

HIL测试的优势

可重复性:可以重复进行危险的测试场景。

自动化:可以24小时不间断运行测试。

安全:避免实车测试的风险。

覆盖率高:可以模拟各种极端条件和故障。

HIL测试的挑战:

模型精度:模型的逼真度直接影响测试结果

实时性:必须保证模型运算和I/O通信的实时性。

成本:HIL系统设备昂贵。

在智能驾驶开发中,HIL测试是连接虚拟测试和实车测试的关键环节,它极大地提高了测试效率,降低了开发风险和成本。

HIL测试的核心思想是: 将真实的智能驾驶控制器(硬件)接入一个由实时仿真机和软件模型构成虚拟世界中,让控制器以为自己正在真实车辆上运行,从而在实验室里进行高可靠性的系统集成测试。

它是连接虚拟仿真和实车测试的关键桥梁,能够在不涉及真实车辆和道路的情况下,对硬件和软件集成后的系统进行极为全面和严苛的验证。

HIL测试五大核心步骤

步骤1:构建高保真的“虚拟世界”

这是在HIL实时仿真机中运行的数学模型,是整个测试的“舞台”。

车辆动力学模型:模拟车辆对油门、制动、转向的物理响应(加速度、姿态、位置变化)。

传感器模型:

        摄像头模型:根据虚拟场景,生成符合真实摄像头协议的视频流,停通过Video Injection接口注入给控制器的摄像头模块。

        雷达模型:生成虚拟物体的雷达回波信号或直接生成目标列表,通过以太网或专用接口注入给控制器。

        激光雷达、超声波等模型:同理,模拟其数据输出。

环境与场景模型:定义道路、交通标志、其他车辆、行人、天气条件等、构成一个完整的测试场景(如:高速跟车、行人横穿马路)。

步骤2:连接真实的硬件

核心:待测控制器:将真实的智能驾驶域控制器或ECU从“虚拟世界”中接管,准备进行测试。

接口与线束:使用真实的车辆线束将控制器与HIL台架连接起来。包括:

        电源线:模拟车辆蓄电池供电。

        CAN/CAN-FD/LIN/以太网总线:用于传输车辆状态、控制指令和诊断信息。

        传感器接口:如用于注入视频的FPD-Link、用于雷达的以太网等。

        执行器接口:连接模拟的负载(如模拟转向电机负载的负载箱)

故障注入单元:可以受控地模拟各种硬件故障,如传感器短路/断路、电源电压波动、总线通信错误等。

步骤3:运行实时闭环仿真

   这是HIL测试动态运行的核心过程,形成一个与真实世界无异的闭环:

场景开始:仿真机运行一个场景(例如:前车突然制动)

传感器模拟:传感器模型根据场景计算出“虚拟的”感知数据(如:前车距离迅速变小),并通过相应的接口将模拟信号发给真实的控制器。

控制器决策:真实的控制器的软件完全不知道这些信号是模拟的。它像在真车上一样,处理这些传感器数据,运行其算法,并计算出控制指令(如:100%紧急制动)。

指令执行与反馈:控制器的指令通过总线(如CAN)发送回实时仿真机。

世界更新:仿真机中的车辆动力学模型接收到制动指令,计算出车辆的减速度和新的位置。

闭环形成:传感器模型根据车辆新的状态,更新下一时刻发送给控制器的数据。(如:距离减小速度变慢)

这个过程以极高的频率(通常为1KHz或更高)在实时系统上循环运行,确保仿真的时效性与真实世界一致。

步骤4:全面监控与数据记录

在整个测试过程中,HIL系统会全程监控并记录:

        所有的总线通信报文

        控制器发出的控制指令

        控制器内部的关键状态变量(通过诊断协议)

        电源状态故障注入情况

这些数据用于后续的深入分析和问题定位。

步骤5: 结果分析与测试迭代

自动化测试:测试通常是自动化的,系统会根据预定义的通过/失败标准(如:碰撞事件TTC是否大于0)来判断测试结果。

发现问题:如果测试失败(例如,控制器没有发出制动指令或反应太慢),工程师需要分析数据,定位问题是出在控制器软件、硬件还是系统集成层面。

快速迭代:在修复问题后,可以在HIL台架上立即、重复地进行完全相同的测试,验证修复效果,而不需要等待实车资源。

HIL测试的核心价值与优势

前移风险与降低成本:在实验室里发现哪些是实车上难以复现、成本高昂或极其危险的Bug(如极端工况、ECU死机、总线负载问题)

极高的测试覆盖率和可重复性:可以7X24小时不间断地进行成千上万次测试,包括海量的边缘场景和故障场景,且每次测试条件完全一致。

支持并行开发:可以在没有真实车辆或真实传感器的情况下,对控制器软件进行集成和验证,大大缩短开发周期。

安全的故障测试:可以安全地模拟各种硬件和传感器故障,而不会对任何人员或设备造成危险。

HDMI、SDI和FPD-Link的区别主要体现在传输方式、应用场景和技术特性上:

HDMI(高清多媒体接口)

  • 传输方式‌:采用并行信号传输,支持音频和视频同步传输,通过TMDS技术实现全数字化无损传输。 ‌
  • 应用场景‌:主要用于消费电子领域,如家庭娱乐、电脑显示器、游戏机等,支持4K/8K视频及HDR内容传输。 ‌
  • 技术特性‌:最新版本(如HDMI 2.1)带宽可达48Gbps,兼容多种分辨率和色彩空间,内置HDCP加密保障内容安全。 

SDI(串行数字接口)

  • 传输方式‌:采用串行传输,使用BNC接口,主要传输视频信号(部分版本支持音频)。 ‌
  • 应用场景‌:广泛应用于广播影视、专业视频制作等领域,支持长距离传输(理论可达100米)和高稳定性需求场景。 ‌
  • 技术特性‌:支持SD至UHD不同分辨率,通过同轴电缆实现抗干扰强的信号传输,需专业设备进行信号处理。 ‌

FPD-Link(FPD低电压差分信号)

  • 传输方式‌:属于LVDS技术的一种,采用低压差分信号传输,主要用于汽车视频传输领域。
  • 应用场景‌:连接摄像头与处理器,支持15米传输距离,适用于工业控制和嵌入式系统的低功耗、抗干扰场景。)

测试类型缩写被测试对象运行环境测试焦点
模型在环MIL

算法模型

(如Simulink)

PC上的仿真环境算法逻辑、功能正确性
软件在环SIL

生成的源代码

(C/C++)

PC(通用编译器)代码生成是否正确,功能是否与模型一致
处理器在环PIL编译后的目标代码真实的目标处理器代码在目标芯片上的功能、性能和资源使用
硬件在环HIL完整的软件系统 + ECU硬件真实的ECU+模拟的车辆/环境系统集成、与硬件的交互、实时性、极端工况

5 整车测试

整车测试是智能驾驶系统开发流程中的最后一步,是在真实的车辆和真实的道路环境中进行的综合测试。


整车测试如何工作


整车测试的核心思想:将经过前面所有阶段( MIL 、 SIL 、 PIL 、 HIL )验证的智能驾驶系统(包括所有传感器、控制器、执行器)安装到真实车辆上,在真实道路和交通环境中进行测试,以验证系统在真实世界中的综合表现
整车测试是智能驾驶系统上市前的最终验证环节,目的是发现那些在仿真和实验室环境中无法复现的问题。

步骤 1:测试准备

1·1 车辆改装: 选用代表量产状态的原型车,确保车辆平台与最终产品一致,然后进行必要的改装。
        · 传感器安装:将传感器 - 摄像头、雷达、激光雷达、超声波雷达,定位系统等按照设计位置精确安装到车身上。
        · 计算平台安装: 将域控制器、电源管理模块、线束等安装到车辆指定位置。
        · 加装数据记录设备: 安装记录测试数据的记录仪(通常通常为TB级别存储),用于记录传感器数据(摄像头视频、雷达点云等)车辆总线数据(CAN/CAN-FD)、系统内部状态和决策数据。

1·2 系统检查与标定:
        . 传感器标定:对摄像头、雷达等传感器进行内外参标定,确保感知数据准确。

       系统功能检查: 确保所有硬件连接正确,软件版本正确,系统能够正常启动和运行

1· 3测试计划:指定详细的测试计划,包括测试场景、测试路线、测试条件(天气、时间等)和测试用例。

步骤 2:测试执行

2.1 测试团队 由经过专业培训的测试驾驶员操作车辆,确保测试安全。

· 测试团队配置:
  · 安全驾驶员: 经过专业培训的驾驶员,负责监控系统状态并在必要时接管车辆。
  · 测试工程师: 负责操作测试设备、记录测试现象、监控系统运行。

2.2 测试场景:

        · 封闭场地测试:
          · 在专用的汽车试验场进行,可以构建重复的、标准的、甚至危险的场景(如行人横穿、车辆切入)。
          · 法规测试场景: 如ENCAP、CNCAP标准的AEB、LKA测试场景。
          · 性能极限测试: 测试系统在极限工况下的表现。
        · 公共道路测试:
          · 在真实的高速公路、城市道路、乡村道路等进行测试,暴露给系统不可预测的交通参与者、复杂的路况和多样的环境条件。
          · 路线规划: 选择包含多种交通要素的典型路线 - 交通信号灯、环岛、施工区域、隧道等。
          · 环境多样性: 覆盖不同的天气条件(雨、雪、雾)、光照条件(日间、夜间、逆光)、交通密度等。

2.3 测试操作:

  · 在预定路线上激活智能驾驶系统(如 自适应巡航、车道保持、自动变道等),让系统控制车辆的加速、制动、转向等。
  · 系统控制车辆(或辅助控制)执行驾驶任务。安全驾驶员全程监控,评估系统行为的舒适性、安全性、拟人化程度。
  · 测试工程师记录系统表现、异常行为 以及 任何需要接管的情况

步骤 3:数据采集

在测试过程中,车辆上的数据记录设备会全程同步记录海量数据,通常包括:

  • 原始传感器数据:摄像头视频流、雷达点云、激光雷达点云、GPS/IMU数据等。
  • 车辆总线数据:CAN/CAN-FD/LIN/以太网等总线上的所有信号,如车速、转向角、油门开度、制动压力等。
  • 系统内部数据: 域控制器内部的关键状态变量、决策逻辑结果、控制指令、诊断信息等。
  • 视频与音频:驾驶舱内外的监控视频,记录驾驶员的状态以及测试员的语音注释和接管行为。

步骤 4:数据分析与问题复现

· 数据处理: 测试结束后,将采集的TB级数据上传到数据中心进行处理和分析。
· 问题识别分析:
  · 自动分析: 使用数据分析工具自动识别系统异常、驾驶员接管事件、性能不达标的情况。
  · 人工分析: 测试工程师回放关键场景的数据,特别是系统表现不佳或需要接管的场景。通过分析感知、决策、控制各模块的数据,定位问题根源。例如:是传感器误检测?还是决策算法判断错误?还是控制执行不精确?
· 边缘案例发现: 这是整车测试的核心价值 - 发现那些在仿真中极难建模的真实世界复杂情况,例如:
  · 奇怪的交通参与者行为(不规范驾驶、特殊车辆)
  · 复杂的道路几何结构
  · 特殊的天气和光照效应(如路面反光、喷雾)
  · 传感器在真实环境中的性能衰减

· 问题复现:

.对于发现的问题,工程师会尝试在仿真环境中复现,以验证修复方案

.如果无法在仿真中复现,可能需要再次安排实车测试,专门针对该问题进行复现和验证。

步骤 5:问题跟踪与迭代修复

· 问题报告: 详细记录每个问题的触发条件、系统表现、严重等级,并反馈给开发团队。
· 根本原因分析: 开发团队结合整车测试数据和系统内部数据,分析问题根源 - 是感知错误?决策逻辑缺陷?还是控制执行问题?
· 修复与验证:
  · 在MIL/SIL环境中重现问题(如果可能)并验证修复方案。
  · 通过PIL/HIL测试确保修复有效且不引入新问题。
  · 将修复后的软件重新部署到测试车辆上进行回归测试,确保问题确实得到解决。
· 迭代循环: 这个"测试-发现问题-修复-验证"的循环会持续进行,直到系统达到预定的性能和安全标准。

整车测试的核心价值与挑战

核心价值:

· 最终验证: 是智能驾驶系统功能、性能和可靠性的最终检验,是量产前的最后一关。
· 发现仿真无法覆盖的边缘案例: 真实世界的复杂度和不确定性远超任何仿真系统,整车测试是发现这些长尾问题的唯一途径。
· 验证系统集成效果: 测试完整的系统在真实物理环境中的综合表现,包括机械、电气、软件的协同工作。
· 验证用户体验: 评估系统的舒适性、平滑度、拟人化程度等主观体验指标。
· 满足法规要求: 获得监管机构认证的必要步骤。

主要挑战:

· 成本极高: 车辆改装、测试团队、测试场地、保险等费用昂贵。
· 周期长: 需要积累大量的测试里程(通常需要数百万甚至上亿公里)来验证系统的可靠性。
· 安全风险: 测试过程中存在发生交通事故的风险,需要严格的安全 protocols。
· 可重复性差: 真实道路环境不可控,难以完全重复相同的测试条件。
· 测试效率低: 与HIL测试相比,在整车测试中遇到特定场景的概率很低,测试效率不高。

PS:

SIL 测试是将生成的代码在通用计算机上编译运行,再次进行仿真测试,以确保代码生成过程没有引入错误。

PIL测试则是将代码编译后下载到目标处理器(或等效的仿真器)上运行,测试代码与芯片的兼容性。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值