自动驾驶 | 仿真测试-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.mzph.cn/diannao/8115.shtml

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

相关文章

antd vue pro (vue 2.x) 多页签详细操作

antd vue pro 多页签配置操作,具体操作如下。 1.引入 tagviews文件 在 store/modules 中创建 tagviews.js ,复制一下代码到文件中保存 const state {visitedViews: [],cachedViews: [] }const mutations {ADD_VISITED_VIEW: (state, view) > {if …

Element-ui-vue3-前端界面开发-配置-编辑main.js-nodejs基础语法-vue3-html模板语法-vue文件编译

前端配置 1.下载nodejs 18 lts2.配置nodejs和安装vue3.vue调试技巧3.1.debugger3.2.vue devtools4.编辑main.js5.nodejs基础语法5.1.import5.1.1.导入单个模块或组件5.1.2.导入整个模块或库5.1.3.导入默认导出5.1.4.导入 css文件5.1.5.导入模块和组件5.2.export5.2.1.命名导出5…

数学建模资料|历年数维杯数学建模竞赛真题及获奖论文汇总

2024年第九届数维杯大学生数学建模挑战赛:2024年5月10日08:00-5月13日09:00举行,为了更好的帮助参赛同学了解竞赛的赛制及赛题特点,数乐君今天给大家整理了历年数维杯国赛真题及优秀论文,方便同学们赛前巩固训练,掌握解题方法,提高获奖率。 2023年数维杯国赛真题(ABC题…

如何在没有备份的情况下恢复 Mac 上丢失的数据

如果您因意外删除、错误格式化硬盘或文件损坏而丢失了重要的、感伤的文件、照片或音乐,那么这可能会令人非常痛苦。幸运的是,您有几个选择。 您的 Mac 位于数字宇宙的中心。您可能会在上面留下照片和视频形式的记忆,以及来自您不再见面的朋友…

前端如何设置div可滚动,且设置滚动条颜色

在前端中,设置 div 为可滚动并通过 CSS 自定义滚动条的颜色并不是所有浏览器都直接支持的功能,因为滚动条的样式在很大程度上取决于操作系统和浏览器的默认样式。然而,你可以使用某些 CSS 属性来尝试自定义滚动条的外观,这些属性在…

C语言 | Leetcode C语言题解之第75题颜色分类

题目&#xff1a; 题解&#xff1a; void swap(int *a, int *b) {int t *a;*a *b, *b t; }void sortColors(int *nums, int numsSize) {int p0 0, p2 numsSize - 1;for (int i 0; i < p2; i) {while (i < p2 && nums[i] 2) {swap(&nums[i], &num…

Linux系统 -- 创建systemd服务单元 Python 程序在系统启动时自动启动,并持续运行。

1. 创建一个名为 model_ai.service 的文件&#xff0c;并将其放置在 /etc/systemd/system/ 目录中。 2. 命令创建和编辑文件 sudo vim /etc/systemd/system/model_ai.service 3. 在打开的编辑器中&#xff0c;添加以下内容&#xff1a; [Unit] DescriptionModel AI Python S…

QT实现Home框架的两种方式

在触摸屏开发QT界面一般都是一个Home页面&#xff0c;然后button触发进入子页面显示&#xff0c;下面介绍这个home框架实现的两种方式&#xff1a; 1.方式一&#xff1a;用stackedWidget实现 &#xff08;1&#xff09;StackedWidget控件在Qt框架中是一个用于管理多个子窗口或…

文件夹名称大小写转换:名称首字母转大写,一种高效的文件管理方法

在日常生活和工作中&#xff0c;电脑文件夹的管理对于提高工作效率和文件检索的便捷性至关重要。文件夹名称的命名规则直接影响到文件组织的有序性和查找的速度。其中&#xff0c;将文件夹名称的首字母转换为大写是一种简单而高效的管理方法&#xff0c;下面我们就来详细探讨实…

Linux提示:mount: 未知的文件系统类型“ntfs”

mount: 未知的文件系统类型“ntfs” 在Linux系统中&#xff0c;如果遇到“mount: 未知的文件系统类型‘ntfs’”的错误&#xff0c;这通常意味着您的系统没有安装支持NTFS文件系统的软件。为了挂载NTFS文件系统&#xff0c;您需要安装ntfs-3g软件包。以下是如何在不同Linux发行…

免费ChatGPT转接地址免费ChatGPT直连地址以及使用方法

依赖环境 Python3.8以上环境 安装依赖包 pip install openai 使用方法-Python #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2024-05-08 8:56 # Author : Jack # File : chat_direct""" chat_direct """ import openai from…

Golang | Leetcode Golang题解之第76题最小覆盖子串

题目&#xff1a; 题解&#xff1a; func minWindow(s string, t string) string {ori, cnt : map[byte]int{}, map[byte]int{}for i : 0; i < len(t); i {ori[t[i]]}sLen : len(s)len : math.MaxInt32ansL, ansR : -1, -1check : func() bool {for k, v : range ori {if c…

为什么 ChatGPT 不火了?

不火了是有原因的&#xff0c;下面我来从大部分人拿到 ChatGPT 之后的两大痛点开始讲起&#xff1a; 很多朋友拿到 ChatGPT 后的第一个痛点就是&#xff1a;用的不好 你经常会感觉到 ChatGPT 回答的好空&#xff0c;没有太多参考价值。 而第二个痛点则是&#xff1a;无处去用…

Vue按照顺序实现多级弹窗(附Demo)

目录 前言1. 单个弹窗2. 多级弹窗 前言 强化各个知识点&#xff0c;以实战融合&#xff0c;以下两个Demo从实战提取 1. 单个弹窗 部署按钮框以及确定的方法即可 截图如下所示&#xff1a; 以下Demo整体逻辑如下&#xff1a; 点击“生成周月计划”按钮会触发showWeekPlanDia…

uniapp日期区间选择器

uniapp日期区间选择器 在 uniapp 中创建一个简单的自定义日期范围的日期区间选择器&#xff1a; - 限制有效日期范围开始日期为 2024-01-01&#xff0c;结束日期为当日&#xff1b; - 默认日期区间为当日向前计算的7日区间&#xff1b; - 选择开始时间后&#xff0c;判断不可大…

苹果删除的短信怎么恢复?这里有4个恢复技巧

手机短信已成为我们日常沟通中不可或缺的一部分&#xff0c;其中包含了与家人、朋友的温馨对话&#xff0c;以及与工作伙伴的重要信息。然而&#xff0c;有时我们可能会因为误操作或其他原因不小心删除了重要的短信。请别担心&#xff0c;本文将为您详细介绍删除的短信怎么恢复…

推荐5个免费的国内平替版GPT

提起AI&#xff0c;大家第一个想到的就是GPT。 虽然它确实很厉害&#xff0c;但奈何于我们水土不服&#xff0c;使用门槛有些高。 不过随着GPT的爆火&#xff0c;现在AI智能工具已经遍布到各行各业了&#xff0c;随着时间的推移&#xff0c;国内的AI工具也已经“百花盛放”了…

Python机器学习手册:从预处理到深度学习的实际解决方案

书籍&#xff1a;Machine Learning with Python Cookbook: Practical Solutions from Preprocessing to Deep Learning 作者&#xff1a;Kyle Gallatin&#xff0c;Chris Albon 出版&#xff1a;OReilly Media 书籍下载-《Python机器学习手册&#xff1a;从预处理到深度学习…

数据结构学不会?数据结构可视化网站来了

目录 前言 图码网站 算法可视化 算法编辑器 数据结构全书 数据结构课程 总结 前言 数据结构与算法在计算机的学习中应该是许多小白最头疼的东西&#xff0c;明明听的时候那么容易&#xff0c;为什么转换成代码就那么抽象呢&#xff1f; 有没有一个网站可以数据结构与算…

【OceanBase诊断调优】—— 磁盘性能问题导致卡合并和磁盘写入拒绝排查

适用版本 OceanBase 数据库 V3.x、V4.x 版本。 问题现象 OceanBase 集群合并一直未完成&#xff0c;同时 tsar 和 iostat 显示从凌晨 2:30 开始磁盘使用率一直是 100%。怀疑合并导致 IO 上升&#xff0c;IO 可能存在问题&#xff0c;observer.log 的确有大量报错 disk is hu…