当前位置: 首页 > news >正文

汽车HiL测试:利用TS-GNSS模拟器掌握硬件性能的仿真艺术

一、汽车HiL测试的概念

硬件在环(Hardware-in-the-Loop,简称HiL)仿真测试,是模型基于设计(Model-Based Design,简称MBD)验证流程中的一个关键环节。该步骤至关重要,因为它整合了实际操作中将使用的全部硬件与软件资源。HiL测试通常位于现场试验之前,是模型在环(Model-in-the-Loop,简称MiL)、软件在环(Software-in-the-Loop,简称SiL)或处理器在环(Processor-in-the-Loop,简称PiL)测试之后的最终阶段。HiL仿真不仅能够针对单个被测设备(Device Under Test,简称DUT)进行精确测试,而且还能对由多个被测设备构成的复杂系统进行全面的测试与验证。

在整个测试流程中:

  • MiL(Model-in-the-Loop)模型在环:在PC上基于模型的测试,它的输出是经过验证的控制算法模型,其作用是验证控制算法模型是否准确地实现了功能需求。
  • SiL(Software-in-the-Loop)软件在环:将模型生成代码或者手工编写代码,编译成PC程序,在PC上的测试。它的输出是经过验证的嵌入式代码,其作用是在PC上验证代码实现的功能是否与模型一致。
  • PiL(Processor-in-the-Loop)处理器在环:将代码编译成目标系统程序,然后在PC上虚拟目标硬件环境,并进行测试。它的输出是经过验证的目标程序,其作用是在目标处理器上验证代码实现的功能是否与模型一致 。

HiL(Hardware-in-the-Loop)硬件在环仿真测试系统是采用实时处理器运行仿真模型来模拟受控对象(比如:汽车、飞机等设备)的运行状态,以此判断电控模块的性能。虽然这一系列的测试都有在环(in the loop)的意思,但是却不是全部的被测模块都带有闭环的。比如接收到某信号要用于车辆的车灯控制,这种情况下我们就不需要闭环,但是如果在自动驾驶的HiL测试中,想使用GNSS模拟器测试汽车运行是否正常,就需要把自动驾驶仪的信息返回到GNSS模拟器中形成闭环,再进行下一个轨迹的模拟。

在HiL测试中,一般根据它在环的深度分为几个层级:

  • ECU级:也可以称之为信号级,仅仅ECU软硬件采用实物,闭环回路的其他组成部分均采用虚拟仿真系统;
  • EPP级:也可以称之为驱动级,EPP是Electrical Power Package的缩写, ECU及执行机构采用实物,闭环回路的其他组成部分采用虚拟仿真系统;
  • System级:也可以称之为机械级,系统组件采用实物,闭环回路其他组成部分采用虚拟仿真系统;

总的来说,HiL测试系统主要由三个基本部分组成,分别是实时处理器、I/O接口和可视化的操作界面,其中实时处理器是整个HiL测试系统的核心部分。实时处理器运行场景,发送信号,被测电控模块收到后对受控对象做出相应的控制,以此判断电控模块的性能。通过I/O接口与被测的设备/模块连接,对被测系统进行全方面的、系统的测试,如下图:

二、HiL测试的意义

HiL仿真测试可以使得工程师了解硬件在现实世界中的性能,而无需将其带到户外测试:

  • 提高测试效率:用更短的时间内完成现实中可能需要驾驶数万公里才能完成的测试内容
  • 提供丰富的测试功能并实现测试平台的复用性,实现可复制可复用的测试流程
  • 规避车辆上路测试的法律法规与申请流程
  • 测试天气、环境等不同需求下的边缘与极端情况
  • 极大的节省了时间和经济成本
  • 仿真场景下安全性较高

三、GNSS仿真在HiL测试中的作用

在闭环体系结构中,仿真系统的延迟是一个关键参数。理想情况下,任何轨迹修改都应立即反映在GNSS接收器的RF输入上。

GNSS是汽车HiL测试的重要组成部分,为了准确安全地实现车辆定位与导航,现在的车辆都会使用多个传感器以及复合定位导航技术,因此需要进行传感器融合测试确保结果安全可靠。

GNSS 系统在传感器融合中发挥着至关重要的作用,GNSS 是一辆车上唯一可以提供绝对位置与绝对时间的传感器,且不受光照、地理位置、天气状况的影响。

GNSS接收机不是作为一个独立的设备进行测试,而是与其他模拟器、设备和传感器集成,存在两种类型的HiL架构。

  • 开环结构:在这种结构中,GNSS接收器(和一般的传感器)的输出不用于控制车辆的轨迹。因此,它是由用户强加的,不一定是确定性的,因为它可以实时更新。这可能是飞行模拟器的情况,其中轨迹是由用户现场驾驶并发送给GNSS模拟器的。
  • 闭环结构:在这种结构中,GNSS接收器(和一般的传感器)的输出被用于导航算法,该算法更新控制车辆的执行器。执行器的输出被用来更新发送到GNSS模拟器的车辆位置。在这种情况下,GNSS接收器计算出的位置对模拟轨迹有直接影响,因此对广播给GNSS接收器的射频信号也有影响。

在闭环体系结构中,仿真系统的延迟是一个关键参数。理想情况下,任何轨迹修改都应立即反映在GNSS接收器的RF输入上。


 

四、软件定义的GNSS模拟器

高性能GNSS模拟器具有灵活的软件定义平台和API,且支持所有的GNSS星座与波形,具有超高的精度,分辨率,以及动态性能,模拟迭代率可达1000 Hz,强大的软件定义实现通道数无限制。广泛应用于汽车HIL测试,导航芯片、消费电子、终端测试,航空航天模拟,以及干扰抵抗测试等领域。

相关文章:

汽车HiL测试:利用TS-GNSS模拟器掌握硬件性能的仿真艺术

一、汽车HiL测试的概念 硬件在环(Hardware-in-the-Loop,简称HiL)仿真测试,是模型基于设计(Model-Based Design,简称MBD)验证流程中的一个关键环节。该步骤至关重要,因为它整合了实际…...

【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段

文章目录 一、MyBatis-Plus简介二、快速入门1、环境准备2、将mybatis项目改造成mybatis-plus项目(1)引入MybatisPlus依赖,代替MyBatis依赖(2)配置Mapper包扫描路径(3)定义Mapper接口并继承BaseM…...

前端知识点---rest(javascript)

文章目录 前端知识点---rest(javascript)rest的用法基本语法特点使用场景与扩展运算符(spread)区别小练习 前端知识点—rest(javascript) rest出现于ES2015 function doSum(a,b, ...args) //示例中的args就是一个rest参数 //它会将后续的所有参数存储…...

13. 猜最大公约数最小公倍数小游戏

文章目录 概要整体架构流程技术名词解释技术细节小结 1. 概要 ~ Jack Qiao对米粒说:“今天咱们玩个小游戏,这个游戏的玩家需要猜出,两个随机生成的整数的最大公约数(GCD)和最小公倍数(LCM)。如…...

Git 多仓库提交用户信息动态设置

Git 多仓库提交用户信息动态设置 原文地址:dddhl.cn 前言 在日常开发中,我们可能需要同时管理多个远程仓库(如 GitHub、Gitee、GitLab),而每个仓库使用不同的邮箱和用户名。比如,GitHub 和 Gitee 使用相…...

2024.6使用 UMLS 集成的基于 CNN 的文本索引增强医学图像检索

Enhancing Medical Image Retrieval with UMLS-Integrated CNN-Based Text Indexing 问题 医疗图像检索中,图像与相关文本的一致性问题,如患者有病症但影像可能无明显异常,影响图像检索系统准确性。传统的基于文本的医学图像检索&#xff0…...

了解Redis(第一篇)

目录 Redis基础 什么事Redis Redis为什么这么快 除了 Redis,你还知道其他分布式缓存方案吗? 说-下 Redis 和 Memcached 的区别和共同点 为什么要用Redis? 什么是 Redis Module?有什么用? Redis基础 什么事Redis Redis (REmote DIctionary S…...

UE5 第一人称射击项目学习(二)

在上一章节中。 得到了一个根据视角的位置创建actor的项目。 现在要更近一步,对发射的子弹进行旋转。 不过,现在的子弹是圆球形态的,所以无法分清到底怎么旋转,所以需要把子弹变成不规则图形。 现在点开蓝图。 这里修改一下&…...

npm/cnpm的使用

npm 1、安装npm 前往nodejs官网下载安装node 验证是否安装成功node node -v node安装npm也会安装 npm -v 2、使用npm 1. 初始化项目 在一个项目文件夹中运行: npm init 根据提示输入项目信息(如项目名称、版本号等)。 如果你希望快速初…...

go-zero(六) JWT鉴权

go-zero JWT鉴权 还记得我们之前登录功能,返回的信息是token吗? 这个token其实就是JSON Web Token简称JWT,它是一种开放标准(RFC 7519),用于在网络应用环境间安全地传递声明信息。 它是一种基于 JSON 的令牌&#xf…...

做一个FabricJS.cc的中文文档网站——面向markdown编程

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,用爱发电&#…...

开发 + 安全:网络安全的协作方法

开发团队和安全团队之间由来已久的紧张关系一直是组织内部摩擦的根源。开发人员优先考虑速度和效率,旨在通过快节奏、迭代的开发周期快速交付功能和产品并高效前进。另一方面,安全团队努力平衡风险和创新,但必须专注于使用护栏保护敏感数据和…...

Next.js- App Router 概览

#题引:我认为跟着官方文档学习不会走歪路 一:App Router与Page Router 在 v13 版本中,Next.js 引入了一个基于 React 服务器组件 构建的新的 App Router,而在这之前,Next.js 使用的是Page Router。 目录结构 pages …...

python oa服务器巡检报告脚本的重构和修改(适应数盾OTP)有空再去改

Two-Step Vertification required: Please enter the mobile app OTPverification code: 01.因为巡检的服务器要双因子认证登录,也就是登录堡垒机时还要输入验证码。这对我的巡检查服务器的工作带来了不便。它的机制是每一次登录,算一次会话…...

【工控】线扫相机小结 第四篇

背景 这一片主要是对第三篇继续补充。话说上一篇讲到了两种模式的切换&#xff0c;上一篇还遗留了一个Bug&#xff0c;在这一篇里进行订正&#xff01; 代码回顾 /// <summary>/// 其实就是打开触发/// </summary>void SetLineSacanWorkMode(){-----首先设置为帧…...

亲测解决Unpack operator in subscript requires Python 3.11 or newer

这个问题是在小虎想提前定义一个list,然后作为index list来调用另一个list里面的变量出现的问题。 环境 Ubuntu 22.04 + python 3.10 故障代码示例 NoneList = [None] * opt.spatial_dims TargetMask = Target[i] == torch.arange(1...

数据结构 ——— 堆排序算法的实现

目录 前言 向下调整算法&#xff08;默认建大堆&#xff09; 堆排序算法的实现&#xff08;默认升序&#xff09; 前言 在之前几章学习了如何用向上调整算法和向下调整算法对数组进行建大/小堆数据结构 ——— 向上/向下调整算法将数组调整为升/降序_对数组进行降序排序代码…...

On-Chip-Network之Topology

片上网络拓扑决定了网络中节点和通道之间的物理布局和连接。拓扑对整体网络性价比的影响是巨大的。拓扑决定了消息 必须经过的跳数&#xff08;或路由器&#xff09;以及跳数之间的互连长度&#xff0c;从而显著影响网络延迟。由于经过路由器和链路会产生功耗&#xff0c;因此 …...

2024年11月21日Github流行趋势

项目名称&#xff1a;twenty 项目维护者&#xff1a;charlesBochet, lucasbordeau, Weiko, FelixMalfait, bosiraphael项目介绍&#xff1a;正在构建一个由社区支持的现代化Salesforce替代品。项目star数&#xff1a;21,798项目fork数&#xff1a;2,347 项目名称&#xff1a;p…...

第三十八章 IOT 通信协议MQTT协议实现的中间件EMQXDocker安装与验证指南

EMQX概述以及Docker安装与验证指南 一、EMQX概述 EMQX(原名EMQ X),是一款完全开源、高度可伸缩、高可用的分布式MQTT消息服务器。它不仅支持MQTT协议,还兼容CoAP/LwM2M等多种物联网协议,是5G时代万物互联的重要消息引擎。这款软件由杭州映云科技有限公司开发,基于Erlan…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...