自动驾驶 | 仿真测试-HiL测试全解析

1.HiL 的定义

HiL(Hardware-in-the-Loop)硬件在环是计算机专业术语,也即是硬件在回路。通过使用 “硬件在环”(HiL) ,可以显著降低开发时间和成本。在过去,开发电气机械元件或系统时,使用计算机仿真和实际的实验就已经彼此独立开来。然而通过使用硬件在环的方式,这两个过程可以结合并展示出效率的极大提升。

硬件在环:也即是硬件在回路 (HiL),首先看一下下面三种情况的区别(如果将实际控制器的仿真称为虚拟控制器,实际对象的仿真称为虚拟对象,可得到控制系统仿真的3种形式:

1)虚拟控制器 + 虚拟对象=动态仿真系统,是纯粹的软件系统仿真;

2)虚拟控制器 + 实际对象=快速控制原型 (RCP) 仿真系统,是系统的一种半实物仿真;

3)实际控制器 + 虚拟对象=硬件在回路 (HiL) 仿真系统,是系统的另一种半实物仿真 。

HiL 目前主要有三大硬件平台,包含 NI 平台、Dspace 平台、ETAS 平台(已宣布退出 HiL 业务),下面方案主要以 NI 平台进行介绍。下面方案主要介绍 VCU HiL 系统方案。

2.HiL 系统方案

HiL 测试系统整体架构如下图所示,主要包含三层内容,第一层次为 HiL 测试系统软硬件架构,主要包括 HiL 测试系统的硬件设备、实验管理软件、被测控制器等;第二层次为 HiL 测试系统开发,在第一层次软硬件架构的基础上进行被测对象仿真模型开发、实时 I/O 接口匹配、硬线信号匹配及实验定义等;第三层次为 HiL 测试,主要指在第一、二层次的基础上进行 HiL 测试,主要包括测试序列开发、激励生成加载、模型参数调试、故障模拟实现及测试分析与评估等。

2.1 系统架构

VCU HiL 测试系统主要包括:上位机(PC)、PXI 机箱、实时处理器、数据采集板卡、CAN 通讯板卡、DIO 板卡、电阻模拟板卡、低压可编程电源等,系统原理如下图所示:

VCU HiL 测试系统中上位机电脑安装 Veristand、Teststand 软件用于测试过程管理和测试序列编辑,通过以太网与 PXI 机箱中的实时处理器进行连接,实时处理器中运行实时系统(Real Time)并安装 Veristand 终端引擎,通过与上位机数据传输,将仿真模型部署到实时系统中并控制运行状态;PXI 机箱中配置有多种类型的板卡,为系统提供不同类型的信号模拟和采集功能,通过 PXI 总线与实时处理器进行数据传输。

2.2 主要功能

VCU HiL 测试系统主要功能包括:

➢ 模拟 VCU 所有硬线输入信号,包括 AI、DI、PWM IN、电阻等输入信号;

➢ 采集 VCU 所有硬线输出信号,包括 DO、AO、PWM OUT 等输出信号;

➢ 模拟 VCU CAN 总线接收信号和接收 CAN 总线发送信号;

➢ 通过整车实时仿真模型及 I/O 接口实现 VCU 的闭环测试验证;

➢ 通过软/硬件实现 VCU 相关电气故障模拟,包括对地短路、对电源短路、开路等;

➢ 通过可编程直流电源模拟 VCU 的供电电源;

➢ 通过编辑测试序列,实现自动化测试,自动生成测试报告;

➢ 通过上位机人机交互界面可实时监控试验数据及在线修改仿真模型参数;

➢ 支持 VCU 所有 I/O 端口测试验证;

➢ 支持 VCU CAN 通讯功能测试验证;

➢ 支持 VCU 整车控制策略全功能验证。如:钥匙、踏板、挡位信号处理逻辑验证、上下电控制逻辑验证、加减速控制逻辑验证、扭矩协调逻辑验证、能量回收逻辑验证、充电相关逻辑验证、继电器控制逻辑验证、续驶里程估算逻辑验证……

➢ 支持 VCU 故障诊断功能测试验证;

➢ 支持 VCU 极限工况下控制功能测试验证;

➢ 支持 VCU 回归测试;

➢ 支持 VCU 耐久测试;

➢ 支持 NEDC 等典型标准工况测试及自定义工况测试。

2.3 系统组成

VCU HiL 测试系统主要有硬件平台、软件平台、控制模型三部分组成。

1)硬件平台:

VCU HiL 测试系统采用分布式设计模式,上位机作为整个系统的控制核心,主要负责软硬件配置和流程管理;下位机以 PXI 机箱、实时处理器及 I/O 板卡为核心,主要负责序列执行与设备调用。系统硬件平台由 PXI 机箱、实时处理器、I/O 板卡、通讯板卡、电源管理模块、故障注入板卡、低压可编程电源、信号调理模块、机柜及上位机电脑等组成。

2)软件平台

软件平台包括实验管理软件和自动化测试软件,实现试验管理、故障注入、测试用例编辑及自动化测试等功能。

本方案试验管理软件基于 NI VeriStand 软件平台,实现系统配置管理和测试管理。试验管理软件是一款基于配置的专业实时测试与仿真软件,无需编程即可创建测试应用,快速将硬件 I/O 与多种环境下开发的仿真模型相集成,同时可以通过 NI LabVIEW 及其他软件添加自定义与其他自动化测试功能,在兼具灵活性与开放性的同时,降低系统开发难度,缩短开发时间。

本方案自动化测试软件基于 NI TestStand 软件平台,自动化测试软件是一款可立即执行的测试管理软件,它可以帮助用户更快地开发自动测试和验证系统。自动化测试软件主要功能包括:

➢ 可视化测试序列编辑环境

➢ 测试管理功能

➢ 测试执行

➢ 多线程并行测试

➢ 用户管理

➢ 测试报告管理

➢ 可自定义的操作员界面

➢ 源代码控制整合

➢ 数据库记录

3)仿真模型

仿真模型为 HiL 系统提供完整的虚拟环境,与被测 ECU 相应的 I/O 信号和 CAN 信号通过硬件板卡进行匹配,实现控制对象仿真模型与控制器输入输出信号之间的无缝连接,从而形成闭环测试环境。

VCU HiL 测试系统仿真模型为纯电动车整车仿真模型,包含车辆纵向动力学模型、驾驶员模型、电机模型、动力电池模型、主减速器模型、虚拟控制器模型、I/O 模型、道路及环境模型等,主要特点如下:

➢完全满足电动汽车整车控制策略功能测试验证要求;

➢基于 MATLAB/Simulink 软件开发,实现模型的模块化和参数化设置,模型精度高;

➢支持用户图形化界面输入数据;

➢模型中各模块所用参数可以实时在线修改,不需重新编译下载模型;

➢支持在 MATLAB 下离线仿真和在线仿真;

➢满足新能源汽车 HiL 测试系统实时性要求,整个仿真模型运行于实时系统,模型整体

➢所有模型均开源、规范、易读,每个模块均有详细的模型说明,方便用户后续进行模型的二次开发及车型变更扩展。

车辆纵向动力学模型用于模拟整车动力学的基本力学关系,同时考虑风阻、坡阻、路面对车辆的影响。依据传动轴接收到的扭矩信号,结合整车动力学特性及路面特性参数,计算并输出当前车辆加速度、车速及轮速信息。

驾驶员模型用于模拟车辆实际行驶过程中的油门踏板和制动踏板变化,通过接收运行工况目标车速、实际车速等,通过模型解算,输出加速踏板、制动踏板指令等。

驾驶员模型具有手动和自动两种驾驶模式。在手动驾驶模式下,通过监控界面设定加速踏板或制动踏板的开度。在自动驾驶模式下,可在监控界面设定目标车速或选择 NEDC 等试验工况,自动驾驶模块根据实际车速和目标车速的偏差实时调整加速踏板和制动踏板的开度。

电机模型根据电机的扭矩需求,通过电机模型解算,输出实际扭矩、转动惯量、电机电功率等,用来模拟真实的电机系统。

电池模型主要根据车辆动力学模型得到的电池电流激励来仿真电池电压的响应情况。电池模型充分考虑了电池动态特性,同时考虑到实际应用中的电池单体存在不一致性的情况。电池仿真模型支持三元、磷酸铁锂等各种类型锂电池,包括电池单体模型及串联电池组模型。

主减速器模型通过设定的减速比和主减速器传动效率,计算减速后的转速和扭矩并输出。

充电模型包括快充模型和慢充模型,充电模型主要是实现充电枪、充电参数控制逻辑及故障模式设置等,模拟正常及故障状态下的预充功能。在充电模式下,根据插枪动作识别快慢充模式,自动发出握手参数,并输出相应充电电压、电流等参数,根据国标要求可以设置相应的故障类型完成故障模拟测试。

虚拟控制器模型主要模拟除了被测控制器外其它所需控制器的必要通讯信号和 IO 信号,以便和真实控制器无缝连接、从而完成待测功能的验证。

道路及环境模型模拟不同的道路路面、海拔高度、环境温度、风速及空气密度等,以满足不同道路不同环境下的虚拟仿真需要,为 HiL 测试提供虚拟的环境仿真。

I/O 模型实现车辆仿真模型与被测控制器的信号连接。I/O 模型包括传感器信号输出接口、执行器信号采集接口、通信接口等。

3.HiL 测试流程

HiL 测试流程包含测试准备、测试用例开发、测试工程搭建、测试调试、测试总结。

3.1 测试准备

测试准备包含:被测控制器接口分析、HiL 设备硬件资源分配、控制器线束设计、被测件功能分析、测试计划安排。

3.2 测试用例开发

测试用例开发方法研究是测试的关键点之一。采用合理的测试方法开发出合理有效的测试用例,不仅可以增加测试的覆盖度而减少冗余重复的测试,也可以大大减小测试的时间而提高测试的效率。

测试用例开发包含:测试用例定义、测试用例开发方法(黑盒测试、白盒测试、基于经验测试)、自动化测试用例开发。

3.3 测试工程搭建

测试工程搭建主要是测试工程师是基于实验管理软件和自动化测试软件进行测试工程的搭建,包含:软硬件工程配置、测试界面搭建、模型配置、通讯配置等等。

3.4 测试调试

1)冒烟测试:测试工程搭建完成后,连接被测控制器,需要对被测控制器和 HiL 测试设备做冒烟测试,验证设备连接与原件是否有基本的问题。冒烟测试有测试人员和开发人员共同完成,在测试过程中发现问题,测试人员找到了一个 Bug,然后开发人员会来修复这个 Bug,冒烟测试是否通过决定了下一轮系统测试是否可以执行。

2)接口测试:接口测试是只有被测控制器,没有和整车仿真模型形成闭环的测试,属于开环测试。接口测试通过人为赋值模拟 BMS、MCU 等外部控制器与被测控制器之间的数据交互,验证被测控制器数据交互是否正常,侧重信号交互验证。一般接口测试如果有测试程序,可以自动测试,如果没有测试程序,可手动测试。

3)自动化测试:被测控制器和整车仿真模型形成闭环的测试,属于闭环测试。闭环测试通过模拟操作驾驶室变量,使整车模型与被测控制器自动数据交互,验证被测控制器软件策略,侧重功能和性能验证。

4)测试报告:通过 HiL 测试管理软件加载测试序列,执行测试,输出测试报告。

3.5 测试总结

测试完成,在被测功能达到测试通过标准后,需要对 HiL 测试工作进行总结和整理,并生成及编制 HiL 测试总结。HiL 测试总结主要包括以下内容:HiL 测试环境、测试周期、测试人员及测试内容等、测试过程中的问题统计与分析,并对测试遗留问题进行记录、测试结束后检查所做的测试工作及完成情况,提交工作成果,包括:测试用例说明文档,测试矩阵文档,可执行文件及生成的测试报告等。

4.总结

硬件在环仿真测试系统是以实时处理器运行仿真模型来模拟受控对象的运行状态,通过 I/O 接口与被测的控制器连接,对被测控制器进行全方面的、系统的测试。从安全性、可行性和合理的成本上考虑,HiL 硬件在环仿真测试已经成为控制器开发流程中非常重要的一环,减少了实车路试的次数,缩短开发时间和降低成本的同时提高控制器的软件质量,降低汽车厂的风险。在新能源汽车领域中,HiL 硬件在环仿真测试对于核心电控系统:整车控制系统、BMS 电池管理系统、MCU 电机控制器、车身系统、底盘悬架、ADAS 辅助驾驶等都极为重要。

本人目前在车联网、车路协同相关领域测试、也接触一些无人驾驶相关的技术,最近也想系统学习一下相关知识,有想了解这方便知识的,可以一起学习探讨。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/660040.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金蝶云星空与阿里宜搭对接集成其他往来单位连通新增表单实例(basic-KY其他往来单位)

金蝶云星空与阿里宜搭对接集成其他往来单位连通新增表单实例(basic-KY其他往来单位) 来源系统:金蝶云星空 金蝶K/3Cloud(金蝶云星空)是移动互联网时代的新型ERP,是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人…

Multi-Head Multi-Loss Model Calibration论文速读

文章目录 Multi-Head Multi-Loss Model Calibration摘要方法Multi-Head Ensemble Diversity 实验结果 Multi-Head Multi-Loss Model Calibration 摘要 当然,我会按照你的要求逐步列出: 背景: 提供有意义的不确定性估计对于机器学习模型在…

ORACLE 11G RAC 访问SQLSERVER

平时都是单机,RAC有点不一样,其实也一样。 目录 1.操作环境信息 2.安装GATEWAY 3.配置实例信息 4.配置监听 5.配置网络别名 6.创建到SQLSERVER的DBLINK 7.测试DBLINK有效性 1.操作环境信息 HIS PACS 数据库版本 ORACLE 11.2.0.4 RAC MS SQLSE…

Spring AOP详解,简单Demo

目录 一、Spring AOP 是什么? 二、学习AOP 有什么作用? 三、AOP 的组成 四、 Spring AOP 简单demo 一、Spring AOP 是什么? Spring AOP(Aspect-Oriented Programming in Spring)是Spring框架中的一个重要组件&…

Go 学习笔记

Go 学习相关笔记 Go 官方的教学文档顺序不怎么友好,这里根据我自己的学习曲线来记录文档的查看顺序 基础知识 文档预备 新手先要看 Go 的模块管理介绍,这样才知道基础 Go 怎么导入外部包和进行本地的包管理 https://go.dev/doc/modules/managing-dep…

C语言贪吃蛇项目

今天给大家带来一款简单的贪吃蛇游戏,一起随我来看看吧 游戏效果: 实现基本的功能: • 贪吃蛇地图绘制 • 蛇吃⻝物的功能:(上、下、左、右⽅向键控制蛇的动作) • 蛇撞墙死亡 • 蛇撞⾃⾝死亡 • 计算得分…

Linux-进程间通信(进程间通信介绍、匿名管道原理及代码使用、命名管道原理及代码使用)

一、进程通信介绍 1.1进程间通信的目的 数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某…

【Android】SharedPreferences阻塞问题深度分析

前言 Android中SharedPreferences已经广为诟病,它虽然是Android SDK中自带的数据存储API,但是因为存在设计上的缺陷,在处理大量数据时很容易导致UI线程阻塞或者ANR,Android官方最终在Jetpack库中提供了DataStore解决方案&#xf…

spring的高阶使用技巧1——ApplicationListener注册监听器的使用

Spring中的监听器,高阶开发工作者应该都耳熟能详。在 Spring 框架中,这个接口允许开发者注册监听器来监听应用程序中发布的事件。Spring的事件处理机制提供了一种观察者模式的实现,允许应用程序组件之间进行松耦合的通信。 更详细的介绍和使…

Kubernetes 声明式语言 YAML

什么是 YAML YAML(YAML Ain’t Markup Language)是一种可读的数据序列化语言,通常用于配置文件、数据序列化和交换格式。YAML 的设计目标是易读易写,并且能够映射到动态语言中的数据结构 YA加粗样式ML 是 JSON 的超集&#xff0…

HFSS19 官方案例教程W03 - SMA接头与微带分支

SMA接头与微带分支 1►射频接头简介 连接器是电子测量中必不可少的重要部件,无论测试仪表还是DUT,无论线缆还是附件,处处都有形形色色的不同连接器的身影。对于射频工程师而言,经常用到的连接器有N型、BNC型、SMA型、3.5 mm、2.92 mm、2.4 mm、1.85 mm、1 mm这几种 (上…

CSS学习(选择器、盒子模型)

1、CSS了解 CSS:层叠样式表,一种标记语言,用于给HTML结构设置样式。 样式:文字大小、背景颜色等 p标签内不能嵌套标题标签。 px是相对于分辨率而言的, em是相对于浏览器的默认字体, rem是相对于HTML根元…