基于Matlab/Simulink的MIL仿真验证解决方案

文章目录

需求追溯

虚拟环境

模型检查

仿真验证

测试报告

参考文献


        针对模型开发阶段的ECU算法,可以很直接地将其与虚拟车辆模型连接起来,通过MIL对其进行验证和确认。可以在开发过程的早期检测到设计错误和不正确的需求,也有助于安全地研究边缘情形,从而节省宝贵的开发时间并提高产品质量。示例如下:

需求追溯

        从需求到整个设计过程,以及最终应用的追溯,可以使用Requirements Toolbox来完成。包括了模型、测试、需求文档之间的双向链接,生成和使用测试用例,生成所需的报告等。Requirements Toolbox也可集成到自己已有的需求管理系统,建立最小化人工干预的架构,并确保可维护性。示例如下:

虚拟环境

        对于整车控制算法,可以搭建虚拟车辆模型和道路模型。对于BMS算法,可以搭建虚拟的电池模型。对于自动驾驶应用,可以创建各种详细的传感器模型,例如相机、激光雷达、雷达和超声波传感器。示例如下:

模型检查

        通过模型在环 (MIL)对ECU算法模型进行等效性测试验证,可以用Simulink Check、 Simulink Coverage、Simulink Design Verifier三个工具来完成。使用Simulink Check可以验证特定行业应用的建模标准或安全标准的合规性,实现自定义建模检查和分析。使用 Simulink Design Verifier 生成测试框架,检测死逻辑、整数溢出、除以零等错误,可以进一步增强自己对设计的信心。在模型级别应用 Simulink Coverage 覆盖率分析,可以评估现有测试用例的质量。示例如下:

仿真验证

        使用虚拟的参数化场景,对ECU算法模型进行仿真验证,是MIL过程中至关重要的一部分。借助 MATLAB、Simulink 和多种附加产品,可以交互式创建复杂的三维路网和标记,或者通过导入高清地图数据生成路网区域,然后添加交通参与者和轨迹。为了对相机、雷达和激光雷达传感器进行仿真,可以利用在 Unreal® 环境中运行的传感器模型与 Simulink 协同仿真。示例如下:

        对于电气化动力总成系统开发或其他传统车辆应用,可使用一套预定义的驾驶操作或标准的行驶工况数据来快速评估ECU算法模型。当然上述标准驾驶操作或行驶工况,可以支持对其自定义修改。另外也可以根据实车中记录的测试数据,合成自定义行驶工况。

测试报告

        使用 Simulink Test 灵活地执行测试,并报告测试结果,可以根据您所在组织的标准自动生成仿真测试报告。测试的模式包括功能测试、单元测试、回归测试、背靠背测试等。另外也可以实现大规模自动化测试,并且也支持将其与第三方工具连接起来。示例如下:

参考文献

        《使用基于模型的设计进行早期验证和确认》


        版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!

        文中部分图片来源自网络,若有侵权,联系立删。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UML-状态机图(状态图)

UML-状态机图(状态图) 一、状态机图简介1、状态(1)简单状态(2)并发状态2、转移(1)判定决策点(2)同步(分叉与汇合) 3、事件4、动作5、活…

C++ 输入用户名和密码 防止注入攻击

1、问题解释:注入攻击 ,无密码直接登录数据库 可视化展示 1.1、当你的数据库为:其中包含三个字段id user 以及md5密码 1.2、在使用C堆数据库信息进行访问的时候,使用多条语句进行查询 string sql "select id from t_user…

Unity Shader 属性的定义

Unity Shader 属性的定义 什么是材质球 人的衣服 什么是shader 决定材质跟灯光的作用 Property 若是把shader看作class,那么Property就可以看成成员变量 属性定义的通用格式 Properites{ Property[Property…] } ep:定义一个int: name("dis…

YOLOv5模型转ONNX,ONNX转TensorRT Engine

系列文章目录 第一章 YOLOv5模型训练集标注、训练流程 第二章 YOLOv5模型转ONNX,ONNX转TensorRT Engine 第三章 TensorRT量化 文章目录 系列文章目录前言一、yolov5模型导出ONNX1.1 工作机制1.2 修改yolov5代码,输出ONNX 二、TensorRT部署2.1 模型部署2.2 模型推理…

【深度学习每日小知识】Computer Vision 计算机视觉

计算机视觉是人工智能的一个领域,涉及算法和系统的开发,使计算机能够解释、理解和分析来自周围世界的视觉数据。这包括从静态图像到视频流甚至 3D 环境的一切。 使用对象检测和特征提取等方法,计算机视觉本质上需要从视觉输入中提取有用信息…

TensorRT(C++)基础代码解析

TensorRT(C)基础代码解析 文章目录 TensorRT(C)基础代码解析前言一、TensorRT工作流程二、C API2.1 构建阶段2.1.1 创建builder2.1.2 创建网络定义2.1.3 定义网络结构2.1.4 定义网络输入输出2.1.5 配置参数2.1.6 生成Engine2.1.7 保存为模型文件2.1.8 释放资源 2.2 运行期2.2.1…

STM32的USB设备库

适用范围:“on the STM32F10xxx,STM32F37xxx, STM32F30xxx and STM32L15xxx devices.” STM32_USB-FS-Device_Lib_V4.0.0.rar(访问密码:1666)https://url48.ctfile.com/f/33868548-1000799917-a5409d?p1666 适用范围&#xff1…

服务器配置SSL证书到nginx基于Fdfs存储服务器或者直接阿里云绑定SSL

1.如果用FDFS存储服务器内置nginx设置SSL证书 1.验证当前nginx是否存在 http_ssl_modulehttp_ssl_module模块 如果存在直接配置就行 server {listen 80 default backlog2048;listen 443 ssl; server_name 域名; ssl_certificate /usr/local/nginx_fdfs/ssl/xxxx.top.crt; ssl…

【C++】内联函数

前言 在C语言中,我们学习过宏的用法。宏通常被用于进行简单的文本替换来执行一系列的操作,比如一些简单的运算。使用宏可以避免函数调用时建立栈帧的开销,提高程序的性能。我们首先来写一个实现加法功能的宏: #define ADD(x, y)…

5、C语言:结构

结构 结构的基本知识结构与函数传递结构 结构数组、指向结构的指针自引用结构(二叉树)表查找类型定义(typedef)联合位字段 结构也是一种数据类型。类似于int、char、double、float等。 结构是一个或多个变量的集合,这些…

Linux系统——远程访问及控制

目录 一、OpenSSH服务器 1.SSH(Secure Shell)协议 2.OpenSSH 2.SSH原理 2.1公钥传输原理 2.2加密原理 (1)对称加密 (2)非对称加密 2.3远程登录 2.3.1延伸 2.3.2登录用户 3.SSH格式及选项 3.1延…

node(express.js创建项目)+连接mysql数据库

1.node npm的安装 2.express的安装 全局安装:npm install express -gnpm install -g express-generator// ps: 4.0版本把generator分离出来了,需要单独安装3.创建express项目 express 项目名称 cd 项目名称 npm install npm start4.项目中安装数据库 npm install…

Python读取log文件报错“UnicodeDecodeError”

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 问题描述: 写了一个读取log文件的Python脚本: # -*- coding:utf-8 -*- import os import numpy as np …

第01章_Java语言概述拓展练习(为什么要设置path?)

文章目录 第01章_Java语言概述拓展练习1、System.out.println()和System.out.print()有什么区别?2、一个".java"源文件中是否可以包括多个类?有什么限制?3、Something类的文件名叫OtherThing.java是否可以?4、为什么要设…

【Maven】009-Maven 简单父子工程搭建

【Maven】009-Maven 简单父子工程搭建 文章目录 【Maven】009-Maven 简单父子工程搭建一、需求说明1、结构2、第三方库 二、工程搭建1、父工程第一步:创建父工程第二步:引入公共依赖 lombok 和管理 hutool 依赖版本 2、公共子模块第一步:创建…

服务器出现500、502、503错误的原因以及解决方法

服务器我们经常会遇到访问不了的情况有的时候是因为我们服务器被入侵了所以访问不了,有的时候是因为出现了服务器配置问题,或者软硬件出现问题导致的无法访问的问题,这时候会出现500、502、503等错误代码。基于以上问题我们第一步可以先重启服…

MySQL核心SQL

一.结构化查询语言 SQL是结构化查询语言(Structure Query Language),它是关系型数据库的通用语言。 SQL 主要可以划分为以下 3 个类别: DDL(Data Definition Languages)语句 数据定义语言,这…

vue2配置教程

5.12.3 Vue Cli 文档地址: https://cli.vuejs.org/zh/ IDEA 打开项目,运行项目

【年终总结】回首2023的精彩,迈向2024的未来

文章目录 一、历历在目,回首成长之路🏃‍1、坚持输出,分享所学2、积土成山,突破万粉3、不断精进,向外涉足 二、雅俗共赏,阅历百般美好🎻1、音乐之声,声声入耳2、书海遨游&#xff0c…

select...for update锁详解

select…for update锁详解 select…for update的作用就是:如果A事务中执行了select…for update,那么在其提交或回滚事务之前,B,C,D…事务是无法操作(写)A事务select…for update所命中的数据的…