RCP与HILS的区别是:1、定义不同;2、组成部分不同;3、应用场景不同。定义不同是指RCP(Rapid Control Prototyping,快速控制原型)是一种快速构建控制算法原型的技术,而HILS(Hardware-in-the-Loop Simulation,硬件在环仿真)是一种测试和评估嵌入式系统的技术。
一、RCP与HILS的区别是什么
1、定义不同
- RCP(Rapid Control Prototype,快速控制原型):实时硬件运行Simulink控制算法(模拟控制器),控制真实被控对象(如开关、电磁阀、电机、发动机等),快速验证该Simulink算法。此时实时硬件可以看作是原型的控制器,通过这种方式我们快速地得到了一个原型控制器,对原型的控制算法进行测试,故称之为快速控制原型。此时,被控对象是真的,控制器是假的(所谓控制器是假的,并不是说控制器是虚拟的,而是控制器不是客户的最终控制器)。
- HILS(Hardware-in-the-Loop Simulation,硬件在环仿真):是一个与快速控制原型RCP反过来的过程,实时硬件运行Simulink被控对象模型(模拟被控对象),受真实控制器的控制,以此对控制器进行测试。此时,控制器是真的,被控对象是假的。在实车测试之前,先对控制器做一个全面的功能测试。因为该被控对象是假的,所以HIL比实车测试安全高效,而且可以测试一些实车测试中不容易实现的极端case。
2、组成部分不同
- RCP:RCP系统通常包括几个重要部分,如硬件实时控制器、仿真软件和自定义控制算法等。测试人员使用仿真软件编写和测试控制算法。然后将控制算法上传至实时控制器,即可在实际硬件系统中测试其性能。
- HILS:HILS系统一般包括实际硬件、仿真模型、仿真软件以及实时计算机等组成。首先,仿真模型和仿真软件被用来模拟真实世界中系统的环境和行为。然后,实际硬件被测试和验证,可以实时与仿真模型和仿真软件交互,从而创建一个闭环环境。最后,数据和信息从仿真软件传输到实时计算机,实时计算机再将信息传输到实际硬件控制器中,从而实现系统的实时自动控制。
3、应用场景不同
- RCP:是一种在早期开发阶段使用的技术,用于快速构建控制算法的原型,并在面临紧迫的市场竞争时,快速进行迭代。使用RCP,开发团队可以实时更改控制算法,并在硬件上进行测试,以验证其性能。这种方法非常适合于要求实时响应和高精度的应用,如飞行控制和机器人。
- HILS:更多地用于在整个开发过程的后期进行验证。在HILS中,实际硬件被连接到仿真环境中,使得开发团队可通过仿真测试可以在实际硬件系统中执行的所有代码和功能,同时也允许实际硬件与仿真的外部环境进行交互。这种方法更适合于大型系统或涉及多种应用的开发项目,如飞机或汽车。
二、RCP(快速控制原型)
1、技术介绍
在控制系统的研发过程中,通常先进行仿真研究,目的在于研究技术的可行性,缩短产品的研发周期,降低研发费用。仿真工具(如MATLAB、SABER等)自应用以来,对控制系统的研发提供了极大的帮助。 然而,在传统的研发流程中,大部分是采用纯数学仿真,这种仿真结果的置信度有限。近年来,有部分实物参与的具有较高置信度的半实物仿真系统得到了广泛的应用与发展。如果将实际控制器的仿真称为虚拟控制器,实际对象的仿真称为虚拟对象,可得到控制系统仿真的3种形式:
- 虚拟控制器+虚拟对象=动态仿真系统,是纯粹的系统仿真;
- 虚拟控制器+实际对象=快速控制原型(RCP)仿真系统,是系统的一种半实物仿真;
- 实际控制器+虚拟对象=硬件在环(HIL)仿真系统,是系统的另一种半实物仿真。
快速控制原型仿真处于控制系统开发的第二阶段,远在产品开发之前,使设计者新的控制思路(方法)能在实时硬件上方便而快捷地进行测试。通过实时测试,可以在设计初期发现存在的问题,以便修改原型或参数,再进行实时测试,这样反复进行,最终产生一个完全面向用户需求的合理可行的控制原型。
2、快速控制原型设备的特点
RCP中的原型控制器,一般具有如下特点:
- CPU、内存等配置高,用户无需担心硬件资源够不够的问题;
- 易于将Simulink模型编译、下载到原型控制器中(一般通过网口下载);
- IO及通讯接口灵活且丰富,能够满足不同应用的需求,不同应用的接口需求也是大不相同;
- 部分应用要求快速控制原型设备便携、抗震抗冲击,比如车载快速控制原型应用。
MATLAB/Simulink有多款代码生成工具,RCP和HIL用的都是MATLAB Coder和Simulink Coder,而生成产品级代码用的是Embeded Coder。遇到一个比较常见的问题是:RCP的时候,为什么不用Embeded Coder,而用MATLAB Coder和Simulink Coder?这是因为使用Embeded Coder的时候,用户需要做定标之类的大量工作以优化生成的代码,提高代码在硬件上的运行速度。在RCP阶段,用户主要关心他的Simulink模型的功能逻辑是否OK,而不是生成代码质量。借助于MATLAB Coder和Simulink Coder,用户无需关注定标、硬件资源等一系列事情,只需在Simulink中点击Build将应用层控制算法模型编译下载到快速控制原型设备中。
所以快速控制原型最大的意义在于,帮助用户快速地构建一个原型控制器,这个原型控制器可以跟真实被控对象相连,在实时环境下验证用户的应用层算法。
三、HILS(硬件在环仿真)
1、意义
有些人可能会有疑问:为什么要进行硬件在环仿真?为什么要拿一个假的被控对象去测真实的控制器?为什么不直接用真实的被控对象去测真实的控制器,比如开发出车载控制器后,直接把该控制器放到车上去上路测试?原因有这么几个(以汽车控制器为例):
- 安全性:控制器如果没有经过全面的测试,直接去控制真实被控对象,可能会发生事故。而如果是做硬件在环仿真,即便控制器出问题了,也就是导致硬件在环设备中的模型跑飞而已。
- 效率:用真实的被控对象去测真实的控制器,测试必须一步一步、按部就班完成,测试效率低。而在硬件在环仿真中,可以使用自动化测试的手段大大提高测试效率,缩短控制器上市时间。比如测试汽车控制器,某次测试结束后,下一次测试要求汽车重新回到初始状态再开始测试(比如车子开回原来的位置或者达到初始的速度)。在实车测试时,就真的得把车子开到初始的状态;而在硬件在环仿真过程中,只要点击初始化按钮,车辆模型就回到了初始化的状态。又比如,测试时,需要车辆从初始状态车速=1m/s,3ms/s,5m/s分三次进行测试,对于硬件在环仿真,只需要设置循环,循环时设置好初始车速即可完成三次测试。
- 成本:一则,第二条中已经指出,自动化测试的方式大大提高了效率,这便能节省大量的时间和人力成本。二则,以汽车测试为例,PSA做过一个研究,通过包括硬件在环仿真在内的多种测试手段,可减少30%的测试车辆。一般而言,一个平台的测试车辆,最少在1000辆左右,如果省去30%的测试车辆,也就是几乎省去300辆车的成本。
- 全面性:硬件在环仿真中,因为测试场景和被控对象都是虚拟的,所以可以轻松创建一些在现实世界中较难实现的测试用例来对控制器进行测试,比如车速达到180公里/小时,电机超负荷运行等等(这些工况如果实车测试,会很危险)。硬件在环仿真可以轻松创建全面的测试用例对控制器进行全面的测试。
2、硬件在环仿真设备的特点
- CPU配置更高。一般而言,被控对象模型比控制算法模型复杂,所以要求硬件在环仿真设备的算力更强;
- 易于将Simulink模型编译、下载到原型控制器中(一般通过网口下载);
- IO及通讯接口灵活且丰富,能够满足不同应用的需求,不同应用的接口需求也是大不相同。
延伸阅读
Simulink控制算法是什么
Simulink控制算法是一种在Simulink环境下设计的控制系统。Simulink是一种广泛使用的建模和仿真平台,用于支持多种系统工程和控制应用。Simulink控制算法可以包括各种控制器和过滤器,如PID控制器、滤波器和其他复杂的控制算法,可以使用MATLAB或Simulink内置的函数库或自定义函数进行实现。
文章标题:RCP与HILS的区别是什么,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/48552