基于模型的开发(MBD)

MODEL BASED
DEVELOPMENT
基于模型的开发,提高嵌入式软件开发的效率
基于模型的开发(MBD:Model-Based Development)是一种通过模型进行软件设计的方法。由于模型本身就像是一本工序说明书,除了可以消除自然语言中的歧义之外,在软件的实际程序或电机等实机尚未准备就绪的阶段也能进行开发,所以特别是在开发规模较大的用于汽车的嵌入式软件设计方面备受期待。 三荣高科技正致力于利用Mathworks公司的MATLAB/Simuluink和dSPACE公司的原型单元进行基于模型的开发。

基于模型的开发是什么

基于模型的开发(MBD:Model-Based Development)是一种通过模型进行软件设计的方法。因为模型本身就像是一本工序说明书,除了可以消除自然语言的歧义之外,在软件的实际程序和电机等实机尚未准备就绪的阶段也能进行开发,所以在开发规模很大的嵌入式软件设计方面备受期待。

基于模型的开发伴随着汽车开发的高度化不断发展,并可以高效地进行V字开发,因此它的采用也在不断加速。

基于模型的开发的优势

与传统软件开发相比,因为模型本身就像是一本工序说明书,所以基于模型的开发消除了自然语言的歧义。因为可以从模型中生成软件代码,所以能够防止由于手工编码而造成的人为错误。 此外,通过使用模型进行验证,还有一个优点是,在软件的实际程序或电机等实机尚未准备就绪的阶段就可以发现问题和缺陷。
在嵌入式软件设计(特别是汽车行业)中,由于软件规模的增大和交货期对的缩短等原因,对设计效率化的要求越来越高,对基于模型的开发的需求也越来越大。

基于模型的开发流程

在基于模型的开发中,以用“实机”(实际ECU或电机)实现“模型”(在计算机上以数学模型构建的控制系统)为目标。
但是,如果突然把模型设计的东西全部用实机替换的话,那么在验证没通过的时候返工会变大。
因此,首先执行MILS(Model-in-the-loop Simulation)以仅使用模型来检查控制算法。然后将控制部置换为源代码的SILS(Software-in the-loop Simulation),控制对象是将控制软件以模型的原样安装在实机上的HILS(Hardware-in the-loop Simulation)和将模型的一部分阶段性地置换为实机,通过MILS/SILS/HILS比较各自的结果的流程进行安装。

无刷直流电机的控制设计案例”右侧的照片是一个在早期阶段用实机的控制对象讨论控制算法的实例。 它被称为RCP(Rapid Control Protoyping)。 控制软件是用模型,控制对象是用实际的电机进行的仿真。

利用基于模型的开发

基于模型的开发是一种有效的设计方法,它具有各种各样的基本技术,包括建模技术、成套设备模型的识别、大量测试用例的生成、验证的自动化以及在环仿真的构建等。
此外,我们还挑战了与基于模型的开发相关的工作,例如3DCG仿真,LiDAR的点云数据和相机图像数据的处理、通过深度学习进行控制器的自动调整等话题。
3DCG仿真
Unreal Engine的行驶仿真
LiDAR /相机数据处理
使用LiDAR传感器的点云数据处理
深度学习
通过深度学习进行控制器的自动调整

开发案例

本公司正致力于利用Mathworks公司的MATLAB/Simuluink和dSPACE公司的原型单元进行基于模型的开发。

无刷直流电机控制设计案例

作为示例,我们将介绍无刷直流电动机的控制设计案例。
无刷直流电机的控制是根据目标速度和当前速度的差,控制提供给电机驱动器的PWM波的占空比。
使用优秀的控制软件,即使电机上的负载发生变化或目标速度发生变化,电机的转速也将立即跟上目标速度。