仿真&在环仿真相关资料|在环仿真快速入门

前言:本文主要通过知乎、CSDN、小红书、知网等多渠道搜索了一些仿真、在环仿真(模型仿真、软件在环、硬件在环)的相关资料,便于资料理解和快速入门在环仿真领域;

全文字数:22000字

阅读时间:约30分钟

注意:所参考的资料链接在本文最下方

01 名词解释

先从名词解释起吧,后面都会涉及到:

  • EDA: 电子设计自动化,Electronic design automation, 简称EDA 。它是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计综合验证物理设计(包括布局布线版图设计规则检查等)等流程的设计方式。EDA涵盖了电子设计、仿真、验证、制造全过程的所有技术。

  • MDB:基于模型的设计,Model-Based Design,简称MDB。是一种围绕模型来展开的项目开发方法。简单来说,MBD就是对项目的开发对象或者目标产品进行精准建模,项目的需求分析、功能设计、系统设计、代码生成、产品测试等开发环境,甚至项目流程管理、项目迭代开发、文档管理等管理环境,部分或者全部在所建模型的基础上展开的一种开放方式。在MBD开发中,模型是最终产品的高度数字化具现,而最终产品的主要组件或功能都基于搭建的模型进行设计和开发。

  • ECU:电子控制器单元,Electronic Control Unit,简称ECU,又称为汽车的“行车电脑”,它们的用途就是控制汽车的行驶状态以及实现其各种功能。主要是利用各种传感器、总线的数据采集与交换,来判断车辆状态以及司机的意图并通过执行器来操控汽车。

  • FPGA:现场可编程门阵列,Field Programmable Gate Array,简称FPGA。它是在硅片上预先设计实现的具有可编程特性的集成电路,它能够按照设计人员的需求配置为指定的电路结构,让客户不必依赖由芯片制造商设计和制造的 ASIC 芯片。广泛应用在原型验证、通信、汽车电子、工业控制、航空航天、数据中心等领域。

02 仿真定义与概念

2.1 仿真定义

仿真(Simulation)

仿真,或译作模拟(英语:Simulation),即使用项目模型将特定于某一具体层次的不确定性转化为它们对目标的影响,该影响是在项目仿真项目整体的层次上表示的。是利用模型模仿实际行为进行实验研究。

泛指基于实验训练为目的,将原本的真实或抽象的系统、事务流程,建立一个模型以表征其关键特性(key characteristics)或者行为、功能,予以系统化公式化,以便进行可对关键特征做出模拟。模型表示系统自身,而仿真表示系统的时序行为。

计算机试验常被用来研究仿真模型(simulation model)。仿真也被用于对自然系统或人造系统的科学建模以获取深入理解。仿真可以用来展示可选条件或动作过程的最终结果。仿真也可用在真实系统不能做到的情景,这是由于不可访问(accessible)、太过于危险、不可接受的后果、或者设计了但还未实现、或者压根没有被实现等。仿真的主要论题是获取相关选定的关键特性与行为的有效信息源,仿真时使用简化的近似或者假定,仿真结果的保真度(fidelity)与有效性。模型验证(verification)与有效性(validation)的过程、协议是学术学习、改进、研究、开发仿真技术的热点,特别是对计算机仿真

仿真保真度(Simulation Fidelity)

仿真保真度 用于描述仿真精度,模拟真实对应物有多近似:

  • 低保真:对系统的最小模拟,接受输入产生输出

  • 中等保真:对刺激能自动响应,有限精度

  • 高保真:接近不可辨识或者尽可能地接近真实系统

simulation 和 emulation 有什么区别?

在中国,自动控制领域把 simulation 翻译为仿真emulation 翻译为模拟

2.2 仿真软件

 仿真软件,就是用代码对现实世界中的事物进行建模,并模仿其行为的软件系统。

仿真系统的基本要素

一个仿真系统,通常由实体(Entity)、事件(Event)、活动(Activity)、进程(Process)、仿真时钟(Simulation Clock)、统计计数器(Statistic Counter)组成,这也叫做仿真系统的基本要素。

实体(Entity)

  • 一般包含“临时实体”和“永久实体”。“临时实体”只存在一段时间,由系统外部到达和进入系统。而“永久实体”则是永久驻留在系统内的实体。仿真系统的状态变化就是由实体的状态变化引起的。
  • 比如在一个通信基站的仿真中,手机等移动终端就是“临时实体”,它们只在基站信号覆盖范围内短暂的停留,而通信基站则是“永久实体”,它不可移动,永久存在于系统中的固定位置。还比如道路交通仿真,车辆和行人是“临时实体”,道路和红绿灯是“永久实体”,等等。

事件(Event)

  • 指的是引起系统状态变化的行为。“手机进入基站覆盖范围事件”会引起系统状态的变化:基站由“空闲”,变成了“使用”;“红灯变成绿灯事件”也会引起系统状态变化:车辆由“停止”,变成了“前进”,等等。
  • 一个系统中往往有许多种事件,事件的发生与某一实体相联系,并可能引起其他事件的发生。仿真模型中必须建立事件表,记录已经发生或者将要发生的事件的类型、时间、关联的实体等属性。
  • 事件又常分为“离散事件”和“连续事件”

活动(Activity)

  • 通常用于表示两个可以区分的事件之间的过程,是实体在两个事件之间保持某一状态的持续过程,它标志着系统状态之间的转移。一般两个相邻且有先后顺序和逻辑关系的事件可以看做一个活动。
  • 大部分系统靠事件即可驱动,但有时还是需要明确活动,活动并不是必须的。
  • 比如“红灯变成绿灯事件”和“绿灯变成红灯事件”可以组合成“红绿灯的变化活动”。

进程(Process)

  • 由若干个事件和活动组成,它描述了事件和活动之间的逻辑和时序关系。进程是对事件和活动的更高层次抽象,通常代表更粗粒度的现实行为。
  • 比如“车辆通过红绿灯进程”可以看成是车辆和红绿灯的事件和活动的组合。

仿真时钟(Simulation Clock)

  • 用于描述仿真时间的变化。在连续系统中,仿真时间的变化基于仿真时钟步长的确定,比如CPU按固定的步长持续推进时间。
  • 在离散事件系统中,引起系统状态变化的事件是随机发生的,因而仿真时钟的步长也是随机的,从一个事件发生时刻推进到另一个事件发生时刻具有跳跃性和随机性。

统计计数器(Statistic Counter)

  • 用来记录实体的每一次事件或活动,并对所有的记录进行分析,使得所有的仿真具有相关的统计意义,进而指导现实决策。

2.3 系统仿真

什么是系统仿真?

  • 分析对象为整个系统表现出来的宏观属性;

  • 基于宏观的物理参数(集总参数)和物理元器件的数学方程描述宏观物理属性和现象;

  • 多科学多层次的建模方法,与FEA、MBS、CFD等基于3D模型的分析方法不同;

  • 系统模型由组成该系统的物理元件模型组成,通过元件数学方程和代码的组装,可以自动形成整个系统的方程;

  • 分析类型和计算结果主要是稳态、动态时域或频域响应等。

系统仿真定义

  • 定义1:系统仿真(system simulation)就是根据系统分析的目的,在分析系统各要素性质及其相互关系的基础上,建立能描述系统结构或行为过程的、且具有一定逻辑关系或数量关系的仿真模型,据此进行试验或定量分析,以获得正确决策所需的各种信息。(百度百科)

  • 定义2:仿真是在数字计算机上进行试验的数字化技术,其包括数字与逻辑模型的某些模式,这些模型描述某一事件或系统在若干周期内的特征。( 雷诺,1966年)

  • 定义3:   系统仿真就是在计算机上或(/和)实体上建立系统的有效模型(数字的、物理效应的、或数字-物理效应混合的模型),并在模型上进行系统实验。(中国学者)

系统、模型、仿真的关系

系统建模、系统仿真是系统仿真手段的两个重要概念

  • 系统建模:指在对实际系统分析的基础上,通过必要的简化与抽象,建立能描述或模拟系统结构或行为过程且具有一定逻辑关系或数量关系的系统模型。
  • 系统模型:通过系统建模的手段得到系统模型,是物理系统所包含领域知识的载体,是对知识和经验积累的一种表现形式;
  • 系统仿真:是基于系统模型的一种应用,其基础是系统建模。

模型的主要性质

  • 等效性(普遍性):同一个模型可以从各个角度反映不同的系统;

  • 相对精确性:模型粒度过粗或过细均有局限性,合适的模型能满足系统的研究目标,具有考虑诸多因素折衷下适合的精确性;

  • 可信性:模型必须经过检验和确认,能够过真实系统进行有效的模拟,即模型应该具备良好的置信度;

  • 异构性:同一系统模型可以具备不同的结构与形式,研究中将选择最方便、合理的。

  • 系统仿真目的

  • 通过研究模型来揭示实际系统的形态特征和本质,从而达到认识实际系统、预测系统行为的目的。

系统仿真的性质

  • 基于模型:仿真是一种基于模型的活动。

  • 置信度:仿真是基于模型对真实系统的模拟,置信度是其本质、绝对的属性,且其很大程度取决于模型对真实系统描述的完备程度。

  • 预测性:仿真通过揭示系统的规律,达到对系统行为进行预测的目的。

仿真的主要作用

  • 降低成本
  • 提高效率

2.4 常见仿真

  • 流体仿真
  • 运动仿真
  • 受力分析
  • 耐热分析
  • ...

03 在环仿真

3.1 基本概念

在环仿真的定义

在环仿真(In-silico simulation)是指通过计算机模型和算法对真实系统进行模拟和分析的过程。它是一种基于计算机技术的虚拟实验方法,可以在计算机上模拟现实世界中的物理、化学、生物等系统,并对其进行研究和预测。

关键步骤

在环仿真通常包括以下步骤

  • 建立模型:首先,需要将真实系统的特性和行为抽象成数学模型。这可以涉及物理方程、化学反应、生物过程等的建模和描述。

  • 实施算法:基于建立的模型,需要选择适当的算法和数值方法,将模型转化为可计算的形式。这可以涉及差分方程、微分方程、概率模型等的求解方法。

  • 运行仿真:使用计算机程序运行模型和算法,通过模拟系统的演化和相互作用,生成仿真数据。这些数据可以代表系统的状态、行为、性能等。

  • 分析结果:对仿真数据进行分析和解释,从中提取有关系统的信息和见解。可以使用统计方法、可视化技术和其他分析工具来帮助理解和解释仿真结果。

主要层次

在环仿真通常包括以下五个层次,最主要是MIL/SIL/PIL/HIL这四个层次。这些层次从纯模型级别到实际硬件级别,涵盖了系统开发和测试的不同方面。

  • 模型层(Model Level):在此层次,系统模型被构建并用于仿真环境,进行模型验证和功能测试。系统模型可以是物理模型、数学模型、控制算法模型等等。这个层次主要用于验证系统模型的正确性和功能性。

  • MIL(Model-in-the-Loop):MIL是在环仿真的一个层次,其中系统模型嵌入到仿真环境中,与其他模型或软件组件进行交互。MIL主要用于测试和验证系统的功能和性能,以及评估不同模型之间的交互。

  • SIL(Software-in-the-Loop):SIL是在环仿真的一种层次,其中系统模型与实际软件系统进行交互。在SIL中,系统模型与实际软件组件集成,以模拟和验证软件系统的行为和功能。

  • PIL(Processor-in-the-Loop):PIL是一种在环仿真层次,主要用于测试和验证嵌入式系统中的处理器。在PIL中,处理器模型(通常是软件模型)与系统的其他模块进行集成,以模拟和评估处理器的行为和性能。

  • HIL(Hardware-in-the-Loop):HIL是在环仿真的另一个层次,其中系统模型与实际硬件设备进行交互。在HIL中,系统模型通过连接到实际的硬件设备来模拟系统的行为。通过将系统模型与实际硬件进行集成,可以进行实时的硬件测试和验证。

3.2 MBD中测试方法

基于模型的设计方法(MBD)的不同阶段和层次,分别采用 MIL/SIL/PIL/HIL 等在环仿真测试方法,有效的对嵌入式代码进行测试和验证。其中:

  • MIL,Model in the Loop:模型在环仿真测试;将控制算法模型与被控对象模型连接起来形成闭环,验证算法模型是否满足需求;

  • SIL,Software in the Loop:软件在环仿真测试;等效性,验证生成的代码是否和模型表现一致;

  • PIL,Processor in the Loop:处理器在环仿真测试;等效性,验证生成的代码跑在目标处理器上是否和模型表现一致;

  • HIL,Hardware in the Loop:硬件在环仿真测试;用于测控制器系统

3.2.1 模型在环仿真 MIL

如果在Simulink模型中,将控制算法模型和被控对象模型连起来形成闭环,就是我们经常说的MIL,顾名思义,在模型层面上实现闭环测试。

这种测试通常发生在两种场景之下,一是系统工程师为了验证算法,使用控制算法模型控制被控对象模型;另外一种是软件工程师做模型级别的集成测试。当然,MIL测试的前提是要有被控对象模型,搭建被控对象模型或者采购现成的被控对象模型都可以。

假设我们已经在支持MBD的工具(如Simulink)中,使用图形化的方法开发出了AEB(Autonomous Emergency Braking, 自动紧急刹车系统)的算法,现在想要验证该算法是否满足要求,那么我们需要开发一个(或是有现成的其他工具)被控对象模型,在这里例子里是一个车辆模型。将控制算法和车辆模型连接起来,形成闭环,并变换输入和车辆模型状态,来对控制算法的功能进行测试。如下图所示:

3.2.2 软件在环仿真 SIL

SIL测试,这里的Software是指控制策略模型转换成的C代码编译之后的软件。SIL测试的目的就是为了验证自动生成的代码和用于代码生成的模型中行为上是一致的。SIL测试是一种等效性测试,通常不是必须搭建闭环模型,而只需要验证是否和模型等效即可。

现在我们将Simulink中开发的算法自动生成为C代码,但是由于代码自动生成工具本身的原因或者代码生成工具没有正确设置或者其他未知原因,自动生成代码过程可能会引入一些错误,所以我们需要验证自动生成的代码与算法模型的一致性,这就是SIL测试。SIL测试使用与MIL相同的测试用例,查看对于相同的测试用例,查看其输出是否与MIL阶段一致。为了测试的高效性,有时甚至不接入被控对象模型,而是对算法模型和生成代码进行相同的输入,查看输出是否一致。如下图所示:

3.2.3 处理器在环仿真PIL

SIL测试是验证代码和模型的一致性,代码运行在Windows平台上,某种程度上说,这并不能保证代码到目标处理器上的运行结果也能够和模型保持一致。所以,就有了PIL测试。

将自动生成的代码编译为目标处理器需要的形式,并下载到目标处理运行,为了防止编译过程引入新的错误,此时需要进行PIL测试。PIL测试也是等效性测试,其方式与SIL类似,同样通常不是必须搭建闭环模型,而只需要验证是否和模型等效即可。

PIL和SIL的不同之处在于,SIL将生成的代码通过DLL的方式运行在Windows平台上,而PIL,是将生成的代码运行到目标处理器上,两种模式使用的编译器也是不同的,SIL使用的就是Windows下的编译器,比如Visual Studio C++或者LCC编译器,而PIL使用的是目标编译器。

因为PIL测试中代码运行在实际的控制器上,所以PIL测试除了可以验证代码和模型是否一致之外,还可以获得算法在实际控制器上的最长运行时间,而这个最长时间的价值,做嵌入式实时软件开发的工程师都懂得。

3.2.4 硬件在环仿真 HIL

HIL是用于测试控制器系统的,控制器系统包括了硬件、底层软件和应用层软件。

HIL测试通常将一个被测控制器和工控机相连,工控机上运行着被控对象的模型,并且模拟出被控对象的一些电气特性。在HIL场景下,被测试的控制器并不知道和它相连的是一台工控机,它会认为自己连接的就是真实的实物对象。

在开发出完整的控制器后,有时被控对象(整车)还未完成开发;有时使用真实被控对象进行测试太危险或成本高等等,出于种种不同的原因,采用真实控制控制器和虚拟被控对象的HIL测试常常被使用。HIL比实物测试安全、高效、成本低,而且可以测试一些实物测试中不容易实现的极端情况。如下图所示:

硬件在环仿真(Hardware-in-the-Loop,简称HIL)是一种用于测试和验证嵌入式系统或控制系统的技术。在HIL中,实际硬件设备与仿真环境中的模型相结合,以模拟系统在真实环境中的行为。以下是HIL的流程和涉及的技术:

HIL流程

  • 系统建模:首先,需要对要测试的嵌入式系统或控制系统进行建模。这包括将系统的控制算法、硬件设备、传感器和执行器等建模为数学模型或函数。

  • HIL测试平台搭建:建立HIL测试平台,该平台通常由实时计算机(Real-Time Host)和外围I/O接口组成。实时计算机负责运行仿真模型,并与外部硬件设备进行通信。

  • 接口设计:将实际硬件设备(如ECU、传感器和执行器)与HIL测试平台连接起来。这涉及到设计适当的接口硬件和信号转换电路,以便将仿真环境和实际硬件设备进行连接。

  • 仿真运行:在HIL测试平台上运行建立的系统模型,并与实际硬件设备进行交互。模型将接收来自实际硬件设备的输入信号,并将输出信号传递给硬件设备。

  • 数据记录与分析:在仿真运行过程中,记录系统的输入和输出信号。这些数据可以用于后续的分析和验证,以评估系统的性能和功能。

  • 系统验证:通过比较仿真模型的输出与实际硬件设备的响应,进行系统验证。这有助于确保仿真模型与实际硬件设备的行为相一致。

HIL涉及的技术

  • 实时计算:HIL测试平台需要具备实时计算能力,以确保仿真模型能够以实时性能运行。通常使用专门的实时计算机或FPGA(现场可编程门阵列)来实现高性能的实时计算。

  • 接口硬件:为了连接实际硬件设备与HIL测试平台,需要设计适当的接口硬件。这些硬件通常包括模拟输入输出(AI/AO)卡、数字输入输出(DI/DO)卡和通信接口等。

  • 信号转换:实际硬件设备的信号可能与仿真环境中的信号不一致,因此需要进行信号转换和匹配,以确保仿真模型和实际硬件设备之间的正确通信。

  • 模型开发:建立准确和精细的系统模型是HIL的关键。这包括对控制算法、传感器和执行器进行建模,并确保模型与实际硬件设备的行为相匹配。

  • 数据记录与分析:HIL测试期间,数据记录和分析对于评估系统性能至关重要。数据记录可以通过数据采集系统或示波器等工具来实现,并使用数据分析软件进行后续处理。

简而言之,硬件在环仿真,是将真的控制器连接假的被控对象(用实时仿真硬件来模拟),以一种高效、低成本的方式对控制器进行全面测试。

做HIL测试的前提是控制器已经开发好,需要在理想或安全的环境下,测试控制器的功能是否正常。在该应用场景中,实时仿真硬件(或者说HIL台架)充当被控对象,以实时的方式运行被控对象模型,并模拟各类故障等。实时仿真硬件(或者说HIL台架)本质上来说,就是要尽可能逼真地模拟真实被控对象,以有效地欺骗控制器,让控制器以为它正在控制一个真实的被控对象。

HIL系统是通过实时主机运行被控对象的模型,并通过IO端口连接至被测的控制器。一般而言,HIL系统的IO通道方向与控制器的方向相反。

  1. HIL测试,首先肯定需要有一个被控对象的模型去模拟被控对象的状态,那么必然需要有一个处理器去运行模型,而且得是带实时操作系统的处理器,这就是第一个东东——实时主机(Real Time Target Computer)。

  2. 实时主机中运行的模型,是一个纯虚拟的东西。而控制器的接口是真实的电气接口,没法直接跟虚拟的模型连接。这时候就需要给实时主机提供IO板卡,虚拟的模型通过这些IO板卡获得真实的电气接口,用以跟控制器连接。

  3. 然而很多时候,控制器接口的电气规格和实时主机的IO板卡的电气规格是不一致的,比如控制器接口是24V的,而IO板卡接口是5V的,这时候就需要信号调理模块去将不一致的规格调理成一致,比如说把5V转换成24V。

  4. 真实的被控对象中,会有一些执行器被控制器所控制,这些执行器被称为负载。在HIL测试中,我们需要模拟这些负载,这就是负载仿真。

  5. 有时候为了让HIL机柜更接近真实的被控对象,会把一些真实的执行器和真实的传感器接入到HIL机柜中,所这就是Real Loads/Real Sensors,有些机柜会提供一个专门的负载抽屉来放置这些设备。

  6. 对于汽车来说,车上会有一个车载电源,给车内设备和控制器供电,因此HIL机柜需要一个设备去模拟车载电源,这就是HIL机柜中的程控电源,电源电压可以通过软件来控制。

  7. 真正开车的时候,传感器、执行器等等都有可能出现故障,比如短路、断路等等,HIL测试也要模拟这些故障,这就是故障注入模块。

各个模块

  • Real Time Target Computer + IO(实时主机和IO板卡):实时系统的核心部分,主要是实时处理器加外围IO。这里的IO通道一般根据被测控制器的接口信息调整。比如当被测控制器的通道为模拟输入时,此时HIL系统一般配模拟输出,以此类推。在配置系统时需注意要预留一定的IO通道。
  • Signal Conditioning(信号调理): 信号调理模块,主要是因为控制器接口的规格和实时系统的IO规格可能不一致,所以需要一些信号调理板卡,将实时系统的IO规格转换成控制器所需要的规格。比如控制器的数字输入信号的规格是12V的,而实时系统的模拟输出规格是5V的,那么就需要一个5V转12V的信号调理模块。
  • FIU(故障注入):故障注入模块,串接在控制器和实时系统IO线束上的开关矩阵,用于控制模拟控制器引出线束上的一些故障,比如短路、断路等。故障注入是HIL测试的一个重要环节,可以测试控制器在发生故障情况下的反应。
  • Load Simulation: 负载仿真。当控制器工作时,部分通道需要输出电流控制某些继电器、阀体等。如果将这些通道直接连接到实时系统IO上,由于实时系统IO的阻抗很高,不能产生足够的电流。因此需要在通道上连接一些负载,让控制器可以正常工作,不会被诊断存在问题。
  • Real Loads/Real Sensors:当有一些传感器/负载无法有效模拟时,可以连接真实的负载或传感器。但真实传感器的信号需要由实时系统控制或读取,真实负载的驱动信号也要有实时系统读取,然后参与模型运算。
  • 程控电源:由实时系统控制的供电模块,模拟车载低压电池的供电。同时该供电也是作为故障注入单元,负载仿真的参考点等。
  • 上位机:上位机用于搭建模型、编译下载、监控模型运算,同时通过标定诊断工具,读取控制器中变量。运行自动化测试软件。

HIL 模型怎么建立?

HIL机柜中需要运行被控对象模型,以模拟被控对象的状态。

用户可以使用MATLAB和Simulink相关工具箱构建被控对象模型,Speedgoat HIL机柜支持将Simulink模型一键编译下载到实时处理器中。

Simulink模型主要分为两类:数学模型(主要基于Simulink基础工具箱)和物理模型(基于SimScape)。

3.2.5 总结四种测试方法 ⭐

MIL/SIL/PIL/HIL 四种测试方法各自的特点如下表所示:

3.3 RCP和HIL的详解

控制器开发的V流程中,有两个与实时性强相关的环节:快速控制原型(RCP)硬件在环仿真(HIL)。

  • RCP = 假的控制器+真的被控对象

  • HIL = 真的控制器+假的被控对象

3.3.1 RCP 快速控制原型

快速控制原型(Rapid Control Prototype,简称RCP)

实时硬件运行Simulink控制算法(模拟控制器),控制真实被控对象(如开关、电磁阀、电机、发动机等),快速验证该Simulink算法。此时实时硬件可以看作是原型的控制器,通过这种方式我们快速地得到了一个原型控制器,对原型的控制算法进行测试,故称之为快速控制原型

当用户开发出了相关的控制算法后,他可能已经通过电脑仿真的方式对算法进行了初步的测试(此测试中,控制算法是Simulink模型,被控对象也是Simulink模型,仿真测试纯粹在电脑中运行)。在这个初步的仿真测试之后,用户希望进一步验证该算法,此时一个比较合理的方式是让该控制算法去控制真实的被控对象,在更加真实的环境中对算法加以测试。

在RCP阶段,用户主要关心他的Simulink模型的功能逻辑是否OK,而不是生成代码质量。借助于MATLAB Coder和Simulink Coder,用户无需关注定标、硬件资源等一系列事情,只需在Simulink中点击Build将应用层控制算法模型编译下载到快速控制原型设备中。

通过使用模型进行控制算法的验证,开发人员可以在仿真环境中对算法进行实时性能测试、参数调整和功能验证。模型可以提供对系统动态行为的仿真,以评估控制算法的正确性、稳定性和性能。

快速控制原型最大的意义在于,帮助用户快速地构建一个原型控制器,这个原型控制器可以跟真实被控对象相连,在实时环境下验证用户的应用层算法。

一旦控制算法在RCP阶段验证通过,并需要进行实际嵌入式系统的部署时,算法通常需要转换为实际的代码,并在实际硬件上进行验证和测试。这将涉及到算法的实现、编译、部署和硬件适配等过程。

3.3.2 HIL 硬件在环仿真

硬件在环仿真(Hardware-in-loop,简称HIL)

是一个与快速控制原型RCP反过来的过程,实时硬件运行Simulink被控对象模型(模拟被控对象),受真实控制器的控制,以此对控制器进行测试。此时,控制器是真的,被控对象是假的。在实车测试之前,先对控制器做一个全面的功能测试。因为该被控对象是假的,所以HIL比实车测试安全高效,而且可以测试一些实车测试中不容易实现的极端case。

使用HIL的原因有以下几个(以汽车控制器为例):

1、安全性。控制器如果没有经过全面的测试,直接去控制真实被控对象,可能会发生事故。而如果是做硬件在环仿真,即便控制器出问题了,也就是导致硬件在环设备中的模型跑飞而已。

2、效率。用真实的被控对象去测真实的控制器,测试必须一步一步、按部就班完成,测试效率低。而在硬件在环仿真中,可以使用自动化测试的手段大大提高测试效率,缩短控制器上市时间。比如测试汽车控制器,某次测试结束后,下一次测试要求汽车重新回到初始状态再开始测试(比如车子开回原来的位置或者达到初始的速度)。在实车测试时,就真的得把车子开到初始的状态;而在硬件在环仿真过程中,只要点击初始化按钮,车辆模型就回到了初始化的状态。又比如,测试时,需要车辆从初始状态车速=1m/s,3ms/s,5m/s分三次进行测试,对于硬件在环仿真,只需要设置循环,循环时设置好初始车速即可完成三次测试。

3、成本。一则,第二条中已经指出,自动化测试的方式大大提高了效率,这便能节省大量的时间和人力成本。二则,以汽车测试为例,PSA做过一个研究,通过包括硬件在环仿真在内的多种测试手段,可减少30%的测试车辆。一般而言,一个平台的测试车辆,最少在1000辆左右,如果省去30%的测试车辆,也就是几乎省去300辆车的成本。

4、全面性。硬件在环仿真中,因为测试场景和被控对象都是虚拟的,所以可以轻松创建一些在现实世界中较难实现的测试用例来对控制器进行测试,比如车速达到180公里/小时,电机超负荷运行等等(这些工况如果实车测试,会很危险)。硬件在环仿真可以轻松创建全面的测试用例对控制器进行全面的测试。

用真实的被控对象去测真实的控制器(暂且命名为实物测试)是必不可少的,但硬件在环仿真是对实物测试的一种有效补充。在实物测试之前,通过硬件在环仿真充分、全面地对控制器进行测试,提前暴露和解决控制器的bug,让实物测试更省时省力省钱。

3.3.3 RCP和HIL的异同点

相同:

  • 目的:RCP和HIL都是用于系统开发和验证的工具和方法。

  • 集成硬件:两者都涉及与实际硬件设备的集成。RCP和HIL都使用实际的硬件组件,例如传感器、执行器等。

  • 实时仿真:RCP和HIL都能提供实时仿真环境,以模拟系统在真实环境中的行为。

  • 验证系统功能:RCP和HIL都可用于测试和验证系统的功能和性能。

  • 建模:在RCP和HIL中,系统模型用于表示系统的行为,并与实际硬件设备进行交互。

差异:

  • 定义:RCP主要是指使用快速原型技术和实时仿真平台来快速开发和验证控制算法和系统的过程。它主要关注控制算法的原型开发和实时性能验证。

  • 用途:RCP主要用于控制算法的开发和验证阶段,以便快速迭代和优化算法设计。它可以用于快速验证控制策略、参数调整和系统响应。

  • HIL的主要目的是测试和验证嵌入式系统或控制系统,包括软件和硬件之间的交互。它使用实际的硬件设备来模拟系统的行为,以评估系统在真实环境中的性能和交互。

  • 重点:HIL侧重于系统的整体验证和硬件集成,包括测试硬件设备的交互、传感器和执行器的功能等

3.4 在环仿真的优势

在环仿真具有许多优势

  • 成本效益:与真实实验相比,进行在环仿真所需的成本较低。不需要建立实际的实验设备,也可以节省时间和资源。

  • 安全性:对于一些危险、昂贵或难以观察的系统,进行在环仿真可以提供一个安全、可控的环境。这使得研究人员能够进行更深入的分析和实验,而无需担心风险和安全问题。

  • 灵活性和可重复性:在环仿真允许研究人员对系统进行灵活的修改和调整,以探索不同的参数设置和场景。此外,仿真实验可以重复进行,以验证结果的可靠性和一致性。

在环仿真在许多领域都得到广泛应用,包括物理学、化学、生物学、工程学、计算机科学等。它可以用于预测系统的行为、优化设计、研究复杂现象等。同时,随着计算机技术的不断进步,仿真模型和算法的精度和效率也在不断提高,使得在环仿真成为一个强大的工具,有助于推动科学和工程的发展。

3.5 模型在环仿真(Model)

模型在环是在基于模型设计领早期开发阶段对模型的仿真。MIL 是一种廉价的算法测试方式。 在算法开发期间或者算法开发完成后,可通过MIL仿真来验证算法,及时发现算法中存在的问题,以避免直接将算法部署到硬件上运行而导致的灾难性后果。

模型在环仿真是一种在仿真环境(如 Simulink)中开发和运行仿真模型的方法。 一个典型的自驾仪系统模型结构如图所示:

可以看到由于引入了被控模型Plant,从而构成了一个完整的闭环。Plant模拟真实世界中的被控对象,如无人机,无人船等,它接收控制器的控制信号,然后更新状态信息(姿态,速度,位置等)并由其内部的传感器模型生成传感器数据供导航模型进行数据融合。

Plant输出状态信息供Virtualization可视化模块进行3维显示。可视化模块可以使用Simulink自带的Simulink 3D,也可以使用外部的,如UE4,Webots,Gazebo等。

通过外接遥控输入(Pilot Cmd)或者自行构造输入指令,我们就可以像操控真机一样来对整个系统进行完整功能的仿真。仿真完成后,我们可以通过Simulink Data Inspector来查看任意的数据。

3.6 软件在环仿真(Software)

软件在环 (SIL) 仿真在主机上编译生成的源代码并将其作为单独的进程执行。通过比较普通模式仿真结果和 SIL 仿真结果,可以测试模型与生成的代码之间是否存在数值等效性。在 SIL 仿真期间,可以为生成的代码收集代码覆盖率和执行时间度量。

3.6.1 什么是SIL和PIL仿真

通过 Embedded Coder,可以运行模型的软件在环 (SIL) 和处理器在环 (PIL) 仿真。这些仿真为顶层模型或模型的一部分生成源代码。SIL 仿真在开发计算机上编译并运行生成的代码。PIL 仿真在开发计算机上交叉编译源代码,然后在目标处理器或等效的指令集仿真器上下载并运行目标代码。

通过 SIL 和 PIL 仿真:

  • 测试您的模型和生成的代码在数值上是否相等。

  • 观察代码覆盖率。

  • 运行代码执行探查。

3.6.2 为什么使用SIL和PIL

通过 SIL 和 PIL,可以尽早测试和修复缺陷。

例如,可以在普通模式下对系统组件进行建模和测试。然后,可以在运行编译的生成代码的 SIL 或 PIL 仿真中重用测试套件。要检查数值等效性,可以比较普通仿真结果和 SIL 或 PIL 仿真结果。不必离开 Simulink环境到另外一个基础架构上测试生成的代码。

3.7硬件在环仿真 (Hardware)

3.7.1 概念

硬件在环仿真是以实时处理器运行仿真模型来模拟受控对象的运行状态,通过 I/O 接口与被测对象相连接。硬件在环仿真在电 子控制单元的研发过程中占据着越来越重要 的地位,它提供了一种成本低、可重构性高、安全性高、灵活高效的仿真方法,能减少实车试验的次数,缩短开发时间。

硬件在环仿真系统是一套实时性要求较高的软硬件系统,它的发展依赖于微电子技术和计算机技术的发展。硬件在环仿真的研究和开发也是随着近几年电子技术和计算机技术的发展而发展起来的。

3.7.2 组成

HIL系统主要由三部分组成:

  • 硬件平台
  • 实验管理软件
  • 实时软件模型

3.7.3 基本原理

硬件在环仿真系统一共有以下两种形式:

① 虚拟控制器+实际对象=快速控制原型仿真。

② 实际控制器+虚拟对象=硬件在回路仿真系统。

硬件在环仿真系统主要由三部分组成:

  • 实时软件模型

  • 硬件平台

  • 实验管理系统

硬件在环仿真开发步骤

①统计被测对象的 I/O 特性;

②理解 HIL 的工作方式:供应商开发的板卡主要是数模信号的进一步处理、故障注入和电源管理。在理解供应商板卡的工作方式和跳线设置的基础上做故障注入和信号采集、发送。例如做执行器的故障注入,执行器电源由 ECU 提供,因此 ECU 执行器电源需要连接到故障注入板 卡的参考端,故障注入板卡的电源跳线设置为参考端,故障注入板卡的电源跳线设置为参考端,用电阻模拟执行器负载;

③在理解工作方式的基础上根据信号流动和 ECU 的 IO 进行匹配。由一个比较复杂的表来维护映射关系和板 卡跳线设置;

④模型开发及硬件 I/O 连接。 HIL 的应用包括以下几个方面: ①HIL 测试,测试用例的编写、管理、复用; ②基于 HIL 的控制器的开发; ③基于 HIL 的车联网应用开发

图为根据步骤建立的永磁同步电机控制系统硬件 在环仿真结构图

3.7.4 硬件在环仿真设备的分类

根据设备的形态,可以分为两类:桌面式和机柜式。

机柜式

一般汽车领域用得多。汽车领域的硬件在环仿真设备几乎已经有了一定的标准,涉及到很多部件,桌面式的设备已经难以容纳这些设备,所以会做成机柜的形式,把这些设备都集成在一个大机柜中。

桌面式

一般而言,其他领域的硬件在环仿真设备相对没那么复杂,多放在桌面。

04 国内外技术发展

仿真技术历史:物理仿真—模拟仿真—数字仿真—虚拟仿真

第一阶段

20-30年代。在此期间,仿真技术是实物仿真和物理效应仿真方法。仿真技术在航天领域中得到了很好的应用。在此迹,一般是以航天飞行器运行情况为研究对象的、面向浮渣系统的而仿真并取得了一定的效益,如1930年左右,美国陆、海军航空队采用了林克仪表飞行模拟训练器。据说当时其经济效益相当于每年节约1.3亿美元而且少牺牲了524名飞行员。以后,固定基座及三自由度飞行模拟座舱陆续投入使用。

第二阶段

40-50年代。 在这期间,仿真技术采用模拟计算机仿真技术:到50年代末期采用模拟/数字混合仿真方法。模拟计算机仿真是根据仿真对象的数字模型将一系列运算器(如放大器、加法器、乘法器、积分器和函数发生器等等)以及无源器件,如电阻器件、电容器、电位器等等相互连接而形成仿真电路。通过调节输入端的信号来观察输出端的响应结果,进行分析和把握仿真对象的性能。模拟计算机仿真对分析和研究飞行器制导系统及星上设备的性能起着重要的作用。

在1950-1953年美国首先利用计算机来模拟战争,防空兵力或地空作战被认为是具有最大训练潜力的应用范畴。

第三阶段

60年代-80年代。在这二十年间,仿真技术大踏步地向前进了一步。进了60年代,数字计算机的迅速发展和广泛应用使仿真技术由模拟计算机仿真转向数字计算机仿真。数字计算机仿真首先在航天航空中得到了应用。

第四阶段

自20世纪70年代以来,随着信息技术、计算机技术、计算机网络技术、图形图象处理技术等的飞速发展,人们开始在计算机中描述和建立客观世界中的客观事物以及它们之间的关系。80年代初正式提出了“ virtual reality” (虚拟现实)一词。虚拟现实是一种由计算机全部或部分生成的多维感觉环境,给参与者产生视觉、听觉、触觉等各种感官信息,使参与者有身临其境的感觉,同时参与者从定性和定量综合集成的虚拟环境中可以获得对客观世界中客观事物的感性和理性的认识。

沉浸-交互-构思( Immersion, Interaction, Imagination)是虚拟现实具备的三个基本特征。虚拟技术的应用很广泛,典型的应用有虚拟样机、飞行模拟器、虚拟战场等。以虚拟样机为例,最有代表性的是美国波音777飞机,它的研制生产几乎到了“无图纸”的地步。SGI计算机不仅提供了一个集成制造系统,而且给出了虚拟样机, 软件CATIA可以调出300万个零件中的任何一个进行修改,光纤链路把地理位置分布很远的协作厂连接在一起。波音777飞机的研制、整机设计、部件测试、整机装配以及各种试飞都是在计算机上完成的。产品不仅质量好,而且开发周期由原来的8年降为5年,节约经费数百万元。

虚拟技术的出现并没有意味着仿真技术趋向淘汰,而恰恰有力的说明仿真和虚拟技术都随着计算机图形技术而迅速发展,在系统仿真、方法论和计算机仿真软件设计技术在交互性、生动性、直观性等方面取得了比较大的进步。先后出现了动画仿真、可视交互仿真、多媒体仿真和虚拟环境仿真、虚拟现实仿真等一系列新的仿真思想、仿真理论及仿真技术和虚拟技术。

05 典型行业领域应用

5.1 在环仿真应用概要

广义领域

一般来说,在环仿真领域很广,囊括了物理学、化学、生物学、工程学、计算机科学等

  • 物理仿真:物理仿真是在环仿真的一个重要方面,涉及模拟和分析物体的力学、动力学、流体力学等物理行为。物理仿真可以用于模拟物体的运动、碰撞、变形等情况,如机械系统、车辆碰撞、物体的结构分析等。
  • 化学仿真:化学仿真是在环仿真中研究和模拟化学反应、分子结构和物质性质的过程。通过计算化学方法,可以预测和分析分子间相互作用、化学反应动力学、催化剂设计等方面的问题。
  • 生物仿真:生物仿真涉及生物系统、生物分子和生物过程的建模和模拟。这包括细胞模型、生物网络、蛋白质折叠、药物与受体的相互作用等。生物仿真在生命科学研究、药物发现和生物工程领域具有重要应用。
  • 计算机仿真:计算机仿真是模拟计算机系统、算法和软件行为的过程。这包括计算机网络仿真、软件性能仿真、虚拟现实等方面。计算机仿真可以用于系统优化、性能评估、虚拟测试等。
  • 社会系统仿真:社会系统仿真涉及模拟人类社会、人口、经济、交通等方面的行为和互动。社会系统仿真可以用于政策制定、城市规划、社会模式分析等领域。
  • 工程仿真:工程仿真涵盖多个工程领域,如建筑、航空航天、汽车、电子等。工程仿真可以用于设计验证、性能评估、优化参数等方面,帮助工程师优化产品和系统设计。
  • ......

知网上的“在环仿真”都有哪些应用方面?

知网搜索“在环仿真”关键词的前50篇文章(截止于2023-07-01),总结有以下方向

  • 车辆:新能源汽车、电动汽车、无人驾驶车、货车
  • 发电机:潮流能发电机
  • 系统:巡航系统、控制系统、电网系统、船舶储能系统、自动紧急制动系统、自动驾驶虚拟测试平台
  • 控制器:发动机控制器、机器人控制器
  • 硬件:BMS硬件、整车硬件、公交优先硬件、交通拥堵辅助系统、过程控制硬件、柴油机喷油系统、船舶辅锅炉硬件、磁悬浮列车测速定位系统硬件、片上硬件、电力系统硬件
  • ......

使用在环仿真的例子

  • 汽车领域:使用最广泛,以前汽车企业开发一个新底盘的时间周期还是蛮长的,要好几个月的时间,使用仿真技术之后,开发周期缩短约1/3。汽车企业一般的开发规律是先仿真计算,然后再用样品去验证,样品测试中发现的问题,再回到仿真技术中去修正模型。应用仿真技术以后需要的样品大约2~3个就够了。如果没有运用仿真技术,按照传统的做法,大约需要8~10个样品。运用仿真汽车可以节省企业的成本。
  • 航空工业:根据数据显示,在航空工业方面,在采用仿真技术后大型客机的设计和研发周期缩短了20%,而飞行员通过飞行仿真器进行训练仅为空中飞行训练的十分之一,并且不会受到气候和环境条件的影响。
  • 电力/核电工业:使用仿真系统对于核电站进行调试、维护以及排查,一年即可收回仿真系统的成本。

5.2 汽车领域

5.2.1 汽车仿真步骤

  • 需求分析和规划:在这个阶段,确定汽车仿真的目标、需求和范围。了解需要仿真的具体系统、组件或功能,并制定仿真计划。

  • 系统设计:在系统设计阶段,定义汽车仿真系统的整体结构和组成。确定系统的模型、控制策略、仿真环境和接口。

  • 模型开发和验证:根据系统设计,开发相应的模型来描述汽车系统的行为和特性。这包括物理模型、控制算法模型、传感器模型等。通过模型验证,确保模型能够准确地表示实际系统的行为。

  • 数据采集和处理:收集和处理与汽车仿真相关的数据,包括传感器数据、车辆参数、路况信息等。这些数据可用于输入模型和验证仿真结果。

  • 仿真运行和分析:在仿真环境中运行模型,模拟汽车系统的行为和性能。对仿真结果进行分析和评估,包括动力学性能、能耗、安全性等方面的指标。

  • 优化和改进:根据仿真结果,进行优化和改进,以改善汽车系统的性能和功能。这可能涉及调整控制策略、参数优化或设计改进。

  • 系统集成和验证:将模型和仿真结果与实际硬件设备集成,进行系统级别的验证。这可能包括硬件接口的测试、整车系统的集成和功能验证。

  • 验证和验证报告:对仿真结果和系统性能进行验证,并撰写验证报告。验证报告记录了仿真过程、结果和评估,以供参与者和利益相关方参考。

  • 迭代和改进:根据验证结果和需求反馈,进行迭代和改进。可能需要对模型、控制策略或系统设计进行调整和优化。

目前许多汽车公司已经从传统的开发模式转移到 V形开发模型,以减少重复的代码编制和实车试验。很多在研究高级驾驶员辅助系统ADAS设计环节中引入在环仿真测试,主要有模型在环(Model in the loop, MIL)、软件在环(Software in the loop,SIL)、硬件在环(Hardware in the loop,HIL)等。

以下为典型V模型开发流程示意图:

5.2.2自动驾驶仿真测试流程

根据不同层级测试对象的特点,可选择不同的自动驾驶仿真测试环境,通常来说:对自动驾驶系统的模型算法、计算平台、域控制器等一次开展模型在环MIL、软件在环SIL、硬件在环HIL、之后对整车开展驾驶员在环DIL和车辆在环测试VIL。

1)软件在环仿真SIL

软件在环仿真(SIL)主要是测试感知、决策等算法对多变复杂的环境的适应性。目前主机厂和第三方机构中使用的SIL主要是基于Carmaker、Prescan、Carsim、PanoSim等软件进行,Carsim作为动力学软件可以提供整车模型,Prescan能够搭建细腻逼真的仿真场景,上述软件可以进行联合仿真,用于验证在matlab中建立的控制模型或者用其它语言编写的算法模型。

2)硬件在环仿真HIL

硬件在环仿真(HIL)是在软件在环的基础上将控制算法导入ECU中,通过硬件系统运行模型从而对ECU进行全面测试。HIL系统主要由三部分组成:硬件平台、实验管理软件和实时软件模型,目前在自动驾驶的开发测试中应用很广。该系统可以对自动驾驶的系统或者硬件进行测试。

3)驾驶员在环仿真DIL

驾驶员在环仿真(DIL)是用于研究、测试、分析和重现“人-车-路-交通”在实际车辆驾驶中的相互作用。DIL系统相比HIL系统可以使驾驶员和模拟出虚拟环境进行实时交互,可以反映出人力驾驶员在该场景下的驾驶状态。

4)车辆在环仿真VIL

车辆在环仿真(VIL)是指将ADAS系统集成到真实车辆中,并通过实时仿真机及仿真软件模拟道路、交通场景以及传感器信号,从而构成完整测试环境的方法,可实现ADAS功能验证、各场景仿真测试、与整车相关电控系统的匹配及集成测试。与传统的硬件在环(HIL)测试相比车辆在环仿真(VIL)由于用真实车辆替代了车辆模型,从而很大程度上提高了被测控制器性能测试结果的精确度。

5.2.3汽车行业使用的仿真软件

  • Adams:主要用于车辆动力学仿真,可以模拟车辆的运动、悬挂系统刹车系统
  • CarSim:主要用于车辆动力学仿真和控制系统设计,可以模拟车辆的运动、悬挂系统、刹车系统、转向系统等。
  • Simulink:主要用于车辆控制系统设计和仿真,可以模拟车辆的控制系统、电驱动系统、发动机控制系统等。
  • AMESim:主要用于车辆系统仿真,可以模拟车辆的发动机、变速器、悬挂系统、制动系统等。
  • ANSYS:主要用于车辆结构仿真,可以模拟车身、底盘、发动机等部件的受力情况。
  • PreScan:虚拟感知仿真软件,用于模拟车辆的传感器和感知系统。它可以用于评估车辆的感知算法和自动驾驶功能
  • IPG CarMaker:一款用于整车动力学仿真和驾驶场景模拟的软件。它可以用于评估车辆的性能、安全性和驾驶辅助系统的功能。

5.2.4 汽车HIL测试

(1)实时处理器

实时处理器是HIL 测试系统的核心。它提供大多数 HIL 测试系统的确定执行,例如硬件 I/O 通信、数据记录、激励生成和模型执行。要精确地仿真测试系统中物理上并不存在的部分,一个实时系统是非常必要的。

(2)I/O 接口

I/O 接口是与被测部件交互的模拟,数字和总线信号。您可以用它们来产生激励信号,获取用于记录和分析的数据,并提供被测的电子控制单元 (ECU)与模型仿真的虚拟环境之间的传感器/执行器交互。

(3)操作界面

操作界面与实时处理器通信,提供测试命令和可视化。在大多数情况下,这个部件也提供配置管理、测试自动化、分析和报告任务。

06 相关产品

搜集了有关仿真和在环仿真的产品:

MATLAB、SIMULINK、COMSOL Multiphysics

Modelsim: FPGA/CPLD设计领域应用广泛

Plant Simulation、Flexsim、DELMIA QUEST、Arena

Solidworks,CATIA,ANSYS

汽车领域:CarSim、PreScan、Carla、AirSim

常用:MATLAB/Simulink/RTW

6.1 CarSim

CarSim是一款专门用于汽车动力学仿真的软件,用于模拟和评估车辆的动力学性能、操纵性能和稳定性。

CarSim软件是针对车辆动力学的仿真软件,能够仿真车辆对驾驶员、路面及空气动力学输入的响应,可以用来预测和仿真汽车整车的操纵稳定性、动力性、制动性、平顺性和燃油经济性等,也可以应用于现代汽车控制系统的开发。CarSim可以方便灵活地定义试验环境和试验过程,详细地定义整车各系统的特性参数和特性文件。

CarSim主要功能

CarSim软件的主要功能如下:

  1. 提供多种车型的建模数据库和友好的图形用户界面,可快速方便实现建模仿真,能够实现用户自定义变量的仿真结果输出。

  2. 适用于轿车、轻型货车、轻型多用途运输车及SUV等车型的建模仿真。

  3. 包括图形化数据管理界面、车辆模型求解器、绘图工具、三位动画回放工具、功率谱分析模块,可以图形曲线及三维动画形式观察仿真结果。

  4. 软件可以实时的速度运行,并可以通过CarSim RT进行硬件在环(HIL)仿真。

  5. 可以通过软件如Matlab、Excel等进行绘图和分析。

  6. 先进的事件处理技术,具备多种仿真工具的批运行功能。

CarSim三大模块

CarSim软件包含三大功能模块:

  • 车辆参数及仿真工况设置

  • 数学模型求解

  • 运算结果于后处理

6.2 PreScan

Prescan原作为ADAS测试仿真专用软件,近几年来由于无人驾驶技术的兴起,越来越多的无人驾驶团队迫切的需要一款软件来实现对无人驾驶车辆进行软件在环,硬件在环的检测。

这软件提供ADAS仿真,环境仿真,Model in the loop,Software in the loop和Hardware in the loop 仿真。

PreScan运行过程

  1. 通过prescan提供的各种模型建立环境模型。比如车道啊,车辆啊,行人轨迹及位置啊等等
  2. 把传感器放在车上。既然是无人车和adas仿真,那么各种传感器是必不可少的。prescan提供很多不一样的传感器,可以根据需求放到车上。不过可调整的参数很有限。但是相对于其他两个来说还是很好了。比如precan提供laser scanner的同时还可以设置laser的个数,扫描方式等等。
  3. 通过Matlab/SIMULINK 建立控制模型,也就是我们在开头说的各种计算就发生在这个阶段。感知,决策,执行都是在这个阶段通过simulink 平台完成的。
  4. 最后通过prescan和matlab/SIMULINK的耦合仿真来完成数据可视化,仿真数据可视化,驾驶环境可视化等等操作。实际上最后一步就是可视化的阶段。

总的来说,prescan的作用是快捷搭建的无人车测试平台。

这个平台搭建好之后,我们就可以通过matlab进行控制模块的构建及仿真。我认为prescan的优点在于,他很方便,GUI简单明了,提供了很多种传感器供选择,提供很多可视化的行人模型和车辆模型,可控制天气环境可视化。而且因为主要控制模块都是基于matlab/SIMULINK的,所以可以直接利用很多matlab/SIMULINK的功能,比如可以直接调用matlab/SIMULINK的计算机视觉功能,机器人功能等等。同时matlab/SIMULINK的model based design还是ISO26262里规定的设计方法,所以设计的算法可以相对容易的转移到别的平台上或支持MBD的应用里面。

6.3 其他仿真平台

dSPACE实时仿真系统

dSPACE 实时仿真系统是由德国 dSPACE 公司开发的 一套基于 MATLAB/Simulink 的控制系统开发及半实物仿真软硬件工作平台,实现了和 MATLAB/Simulink/RTW 的 完全无缝连接

dSPACE 中的处理器运算性能强大,并且 I/O 接口十 分丰富,用户可根据需要自行组合;软件环境功能强大而又灵活,提供自动生成代码及调试和下载等 一系列的功能,在快速控制原型控制仿真方面,dSPACE 允许反复修改模型设计,进行离 线及实时仿真,可在设计之初就将错误修 正,节省设计费用。使用 RCP 技术,可以在费 用和性能之间进行折衷。通过将快速原型硬 件系统和所要控制的实际设备相连接,可以反复研究使用不同传感器及驱动机构时系统的性能特征。而且,还可以利用旁路技术将原型控制单元或控制器集成于开发过程中,从而逐步完成从原型控制器到产品型控制器的顺利转换。在硬件在回路仿真方面,dSPACE 平台 可以实现对控制器的极限测试,失效测试。

RT-LAB实时仿真系统

RT-LAB 是加拿大名为 Opal-RT 公司 推出的一款工业级的系统实时仿真平台软 件包。 该平台能在短时间内以较低的成本建 立实时系统动态模型,简化工程系统的设计过程,具有灵活、高效、可测量等优势。

RT -LAB 完 全 集 成 MATLAB/Simulink 和 MATRIXx/ SystemBuild,已有的动态系 RT-LAB 所用;采用分布式处 理的专业化块设计;且该平台使用户能方便地将目标模型 分割为几个子系统,便于并行处理,集成丰富的第三方代码库;提供丰富的应用程序编程接口,便于用户开发自定义应用;使用 LabVIEW 等工具可以创建定制的功能和测 试界面;支持 1000 余种 I/O 设备,提供高度优化的硬件实 时调度程序。

NI 硬件在环仿真平台

NI 开发的硬件在环仿真平台帮助用户节省了在汽车研发到生产各个阶段耗费的时间和成本。凭借业内领先的 I/O、灵活现成的硬件、强大高效的 LabVIEW 开发环境,用 户可以创建各种应用的解决方案。 NI 开发了基于 PXI 实时控制器的硬件在环仿真方 案。PXI 全称为面向仪器系统的 PCI 扩展,结合了 PCI 的 电气总线特性和通用计算机强大的功能和高性价比,提供 了一种高性能、低成本的虚拟仪器测试方案。 仿真模型建立在 PXI 实时控制器之中,NI 提供 FPGA 模块以适应更高动态性能和更高精度的模型应用需求。NI 硬件在环仿真平台具有开放的软硬件技术架构,可以减少 工程师的开发时间、成本和风险。在支持第三方硬件和软 件建模工具的同时,NI 还提供一系列高性能模拟和数字 I/O 设备,CAN、LIN 和 FlexRay 总线接口,故障注入硬件等,便于用户高效实现应用。基于开放的工业标准,用户总能将最新的 PC 技术用在自己的 HIL 测试系统中。同时, HIL 测试系统的可扩展性满足了多种快速变化的需求,以适应新技术发展所带来的测试挑战。


参考资料

仿真_百度百科 (baidu.com)

(87条消息) 第三讲 系统建模与仿真_同元软控的博客-CSDN博客

系统仿真(专业术语)_百度百科 (baidu.com)

FMT仿真——模型在环仿真 - 知乎 (zhihu.com)

虚拟仿真测试介绍:MIL、SIL、PIL和HIL是个啥_汽车测试技术__汽车测试网 (auto-testing.net)

模型开发中的常用概念:MIL、SIL、PIL和HIL (3cst.cn)

虚拟仿真测试介绍(7):MIL、SIL、PIL和HIL是个啥 - 知乎 (zhihu.com)

硬件在环仿真(HIL)小白入门篇 | 手把手介绍硬件在环仿真系统 - 知乎 (zhihu.com)

实时仿真之 快速控制原型(RCP)与硬件在环仿真(HIL) - 知乎 (zhihu.com)

软件在环仿真 - MATLAB & Simulink - MathWorks 中国

【什么是硬件在环仿真呢?】_硬件_全球新能源网 (xny365.com)

实时仿真之 快速控制原型(RCP)与硬件在环仿真(HIL) - 知乎 (zhihu.com)

仿真技术和虚拟技术的发展历史_模拟 (sohu.com)

漫话仿真发展简史 - 知乎 (zhihu.com)

仿真技术在汽车领域大显身手 (baidu.com)

技术|商用车自动驾驶测试现状研究_搜狐汽车_搜狐网 (sohu.com)

(86条消息) 自动驾驶仿真(六)—— SIL软件在环仿真测试_doju08的博客-CSDN博客

自动驾驶虚拟仿真技术(四):仿真测试流程及要求 - 百度文库 (baidu.com)

汽车行业的仿真软件? - 知乎 (zhihu.com)

HIL | 什么是汽车HIL测试? - 知乎 (zhihu.com)

Simulink/CarSim联合仿真平台 - 知乎 (zhihu.com)

自动驾驶CarSim和Simulink联合仿真的完美攻略! - 知乎 (zhihu.com)

无人车系统仿真相关软件介绍-prescan - 知乎 (zhihu.com)

  • 20
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值