一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种虚拟ECU模型的自动化开发方法及系统与流程

2022-12-02 23:32:32 来源:中国专利 TAG:

一种虚拟ecu模型的自动化开发方法及系统
技术领域
1.本发明涉及自动驾驶测试技术领域,更具体地,涉及一种虚拟ecu模型的自动化开发方法、系统、电子设备及存储介质。


背景技术:

2.在汽车的仿真测试中,需要构建与被测控制器关联节点的虚拟ecu模型,用以实现被测硬件的信号闭环。特别在自动驾驶、电动化测试模块,涉及大量simulink模型的构建,来实现ni实时机中的模型构建与配置。
3.对于虚拟ecu模型的开发,当前通常使用simulink根据数据库文件(dbc)进行模块的搭建与配置。
4.而控制器的开发周期中,报文的节点通常有上百个,采用手动构建的方法,开发周期长、效率低、准确性也难以保证;同时,开发周期中也会存在数据库的变更,造成节点信号的变换,手动构建的方式,难以保证测试节点,费时费力。


技术实现要素:

5.本发明针对现有技术中存在的技术问题,提供一种虚拟ecu模型的自动化开发方法、系统、电子设备及存储介质,其基于自动驾驶硬件数据库进行格式解析,分析软ecu开发流程,使用仿真软件进行模块自动化创建,优化了虚拟ecu模型的开发过程,提升了开发效率。
6.根据本发明的第一方面,提供了一种虚拟ecu模型的自动化开发方法,包括:
7.s1、解析数据库文件,得到数据库中定义的所有的网络节点信息、报文帧信息、信号信息及信号的默认值;
8.s2、根据所述网络节点信息、报文帧信息、信号信息及信号的默认值定义虚拟ecu模型的模型构建函数;
9.s3、调用所述模型构建函数,根据单个网络节点信息及该网络节点对应的报文帧信息、信号信息及信号的默认值构建该网络节点模型;
10.s4、循环步骤s3,遍历全部网络节点信息,直到构建虚拟ecu模型的全部网络节点模型。
11.在上述技术方案的基础上,本发明还可以作出如下改进。
12.可选的,步骤s1中,通过正则表达式对数据库文件进行解析。
13.可选的,步骤s1中,解析得到的所有的网络节点信息、报文帧信息、信号信息及信号的默认值,包括:
14.所有的网络节点信息、每个网络节点下对应的报文帧信息、每个报文帧信息下对应的信号信息以及每个信号的默认值。
15.可选的,步骤s2,包括:
16.确认开发环境语言提供的内置函数中是否存在模型构建函数;
17.若存在,则可直接使用此内置的模型构建函数;
18.若不存在,则根据解析得到的所述网络节点信息、报文帧信息、信号信息及信号的默认值自定义模型构建函数;
19.所述模型构建函数至少能实现模型的创建、属性编辑、信号线的创建功能。
20.可选的,步骤s3,包括:
21.调用所述模型构建函数,根据所述网络节点信息构建单个的网络节点子系统模型;
22.在所述网络节点子系统模型下根据报文帧信息构建对应的报文帧子系统;
23.在每个报文帧子系统下,根据所述信号信息构建该报文帧信息对应的所有信号模型;
24.采用信号的默认值为各对应的信号模型赋值。
25.可选的,步骤s4,包括:
26.每构建完一个网络节点模型,重新调用所述模型构建函数,根据下一个网络节点信息继续构建对应的网络节点模型,直到遍历虚拟ecu模型的全部网络节点信息,完成全部网络节点模型的构建。
27.根据本发明的第二方面,提供一种虚拟ecu模型的自动化开发系统,包括:
28.数据库解析模块,用于解析数据库文件,得到数据库中定义的所有的网络节点信息、报文帧信息、信号信息及信号的默认值;
29.函数定义模块,用于根据所述网络节点信息、报文帧信息、信号信息及信号的默认值定义虚拟ecu模型的模型构建函数;
30.单个模型构建模块,用于调用所述模型构建函数,根据单个网络节点信息及该网络节点对应的报文帧信息、信号信息及信号的默认值构建该网络节点模型;
31.全局模型构建模块,用于循环构建单个网络节点模型,遍历全部网络节点信息,直到构建虚拟ecu模型的全部网络节点模型。
32.根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现上述虚拟ecu模型的自动化开发方法的步骤。
33.根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现上述虚拟ecu模型的自动化开发方法的步骤。
34.有益效果:
35.由于传统的自动驾驶仿真测试中,通过手动的形式,结合硬件的数据库(dbc)对虚拟ecu的模型进行逐步构建,由于控制器关联的节点多,开发周期长、对于数据库的变更,难以响应,无法保证测试节点,因此本发明提供的一种上述虚拟ecu模型的自动化开发方法、系统、电子设备及存储介质,其基于自动驾驶硬件数据库进行格式解析,分析软ecu开发流程,使用仿真软件进行模型自动化构建的形式,优化了虚拟ecu模型的开发过程,大大缩短开发周期,提升开发准确性以及开发效率,并能快速响应硬件数据库的变更,满足各测试节点需求。
附图说明
36.图1为本发明提供的一种虚拟ecu模型的自动化开发方法流程图;
37.图2为本发明提供的一种虚拟ecu模型的自动化开发系统框图;
38.图3为本发明提供的一种可能的电子设备的硬件结构示意图;
39.图4为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
40.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
41.图1为本发明提供的一种虚拟ecu模型的自动化开发方法流程图,如图1所示,方法包括:
42.s1、解析数据库文件,得到数据库中定义的所有的网络节点信息、报文帧信息、信号信息及信号的默认值;
43.s2、根据所述网络节点信息、报文帧信息、信号信息及信号的默认值定义虚拟ecu模型的模型构建函数;
44.s3、调用所述模型构建函数,根据单个网络节点信息及该网络节点对应的报文帧信息、信号信息及信号的默认值构建该网络节点模型;
45.s4、循环步骤s3,遍历全部网络节点信息,直到构建虚拟ecu模型的全部网络节点模型。
46.可以理解的是,基于背景技术中的缺陷,本发明实施例提出了一种虚拟ecu模型的自动化开发方法。步骤s1中对硬件数据库文件进行解析,可以理解为根据数据库的标准格式,确定文件中如何定义报文的网络节点、报文帧、信号、信号的默认值。如数据库对于某个网络节点的定义格式为:bu_:nodename1 nodename2 nodename3。步骤s2中的模型构建函数,是后续进行每个网络节点模型构建时可进行公用的函数,用于根据输入的解析得到的各项信息来创建网络节点模型。步骤s3中,每构建完成一个网络节点模型后,重新调用s2中的模型构建函数,输入下一个网络节点信息以及对应的报文帧信息、信号信息及信号的默认值,继续进行下一个网络节点模型的构建,直到遍历全部网络节点信息,完成虚拟ecu模型的全部网络节点模型的构建,从而完成虚拟ecu模型的自动化开发。
47.由于传统的自动驾驶仿真测试中,通过手动的形式,结合硬件的数据库(dbc)对虚拟ecu的模型进行逐步构建,由于控制器关联的节点多,开发周期长、对于数据库的变更,难以响应,无法保证测试节点,因此本发明提供的一种上述虚拟ecu模型的自动化开发方法,基于自动驾驶硬件数据库进行格式解析、以得到各个网络节点信息以及每个网络节点对应的报文帧信息、信号信息及信号的默认值,根据解析得到的这些信息分析软ecu开发流程,例如确认需要构建的网络节点模型的数量,使用例如matlab/simulink等仿真软件进行模型自动化构建的形式,逐一构建虚拟ecu模型全部网络节点模型,优化了虚拟ecu模型的开发过程,大大缩短开发周期,提升开发准确性以及开发效率,并能快速响应硬件数据库的变更,满足各测试节点需求。
48.在一种可能的实施例方式中,步骤s1中,通过正则表达式对硬件数据库文件进行解析,从而得到每个网络节点的信息,以及每个网络节点对应的报文帧信息、信号信息及信
号的默认值。
49.可以理解的是,这些解析得到的信息是后续网络节点模型构建的输入项,其包含了各个网络节点模型构建过程的必需信息。每个网络节点对应的信息具有差异,例如命名、赋值等。
50.在一种可能的实施例方式中,步骤s1中,解析得到的所有的网络节点信息、报文帧信息、信号信息及信号的默认值,包括:
51.所有的网络节点信息、每个网络节点下对应的报文帧信息、每个报文帧信息下对应的信号信息以及每个信号的默认值。
52.可以理解的是,网络节点信息、报文帧信息、信号信息以及每个信号的默认值呈从上而下的层级关系,使得后续每个网络节点模型构建后,得到的虚拟ecu模型整体呈树状结构,可通过总线模块进行每部分内容的输出。
53.在一种可能的实施例方式中,步骤s2,包括:
54.确认开发环境语言提供的内置函数中是否存在模型构建函数;
55.若存在,则可直接使用此内置的模型构建函数;
56.若不存在,则根据解析得到的所述网络节点信息、报文帧信息、信号信息及信号的默认值自定义模型构建函数;
57.所述模型构建函数至少能实现模型的创建、属性编辑、信号线的创建功能。
58.可以理解的是,模型开发包含网络节点的构建、报文帧的构建、信号的构建、以及信号的赋值等步骤,根据步骤s1中解析数据库得到的各项信息,可以分析得到虚拟ecu模型的组成框架以及各网络节点的各项参数信息,从而确定虚拟ecu模型开发流程。根据确定的虚拟ecu模型开发流程来确认需要的模型构建函数类型。
59.首先确认开发环境语言中提供的内置函数是否存在编程式模型编译接口(即构建本发明中模型所需的模型构建函数),如有,可直接使用;如无,则根据上一步解析得到的网络节点信息、报文帧信息、信号信息及信号的默认值自定义模型构建函数来实现。本实施例以matlab/simulink平台下构建虚拟ecu模型为例,基于matlab开发的环境下,可以通过m语言的内置函数进行编码,实现模型的创建、属性编辑、信号线的创建等功能,比如说主要由add_block、add_line等内置函数实现模型的构建。
60.在一种可能的实施例方式中,步骤s3,包括:
61.调用所述模型构建函数,根据所述网络节点信息构建单个的网络节点子系统模型;
62.在所述网络节点子系统模型下根据报文帧信息构建对应的报文帧子系统;
63.在每个报文帧子系统下,根据所述信号信息构建该报文帧信息对应的所有信号模型;
64.采用信号的默认值为各对应的信号模型赋值。
65.可以理解的是,在确定已经具有模型构建函数后,就可以基于解析得到的网络节点信息、报文帧信息、信号信息及信号的默认值开始逐一进行网络节点模型的构建。模型构建的过程包含逐一对每个网络节点的构建、网络节点下报文帧的构建、报文帧下信号的构建、以及信号的赋值等步骤,调用步骤s2得到的模型构建函数,将步骤s1中解析数据库得到的各项信息作为模型构建函数的输入项,从而通过模型构建函数的输出得到单个网络节点
模型。
66.在一种可能的实施例方式中,步骤s4,包括:
67.每构建完一个网络节点模型,重新调用所述模型构建函数,根据下一个网络节点信息继续构建对应的网络节点模型,直到遍历虚拟ecu模型的全部网络节点信息,完成全部网络节点模型的构建。
68.可以理解的是,一个完整的虚拟ecu模型包括了若干个网络节点,循环逐一构建完成全部的网络节点模型,即完成了虚拟ecu模型的构建。
69.在步骤s3中构建好单个的网络节点子系统模型后,在每个网络节点子系统下,构建该网络节点的所有报文帧子系统模型;在每个报文帧子系统下,构建该报文帧下的所有信号的模型,再对采用解析得到的信号的默认值对信号模型进行赋值。在步骤s4中构建完成全部的网络节点模型后,虚拟ecu模型整体呈树状结构,通过总线模块进行每部分内容的输出。完成模型的构建后,进行编译,即可导入实时系统的上位机软件进行i/o配置,通过硬件板卡实现与被测硬件的通讯交互。完成上述步骤,即实现了硬件数据库到虚拟ecu模型的自动化转换工具开发。
70.图2为本发明实施例提供的一种虚拟ecu模型的自动化开发系统结构图,如图2所示,一种虚拟ecu模型的自动化开发系统,包括数据库解析模块、函数定义模块、单个模型构建模块和全局模型构建模块,其中:
71.数据库解析模块201,用于解析数据库文件,得到数据库中定义的所有的网络节点信息、报文帧信息、信号信息及信号的默认值;
72.函数定义模块202,用于根据所述网络节点信息、报文帧信息、信号信息及信号的默认值定义虚拟ecu模型的模型构建函数;
73.单个模型构建模块203,用于调用所述模型构建函数,根据单个网络节点信息及该网络节点对应的报文帧信息、信号信息及信号的默认值构建该网络节点模型;
74.全局模型构建模块204,用于循环构建单个网络节点模型,遍历全部网络节点信息,直到构建虚拟ecu模型的全部网络节点模型。
75.可以理解的是,本发明提供的一种虚拟ecu模型的自动化开发系统与前述各实施例提供的虚拟ecu模型的自动化开发方法相对应,虚拟ecu模型的自动化开发系统的相关技术特征可参考虚拟ecu模型的自动化开发方法的相关技术特征,在此不再赘述。
76.请参阅图3,图3为本发明实施例提供的电子设备的实施例示意图。如图3所示,本发明实施例提了一种电子设备,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:
77.s1、解析数据库文件,得到数据库中定义的所有的网络节点信息、报文帧信息、信号信息及信号的默认值;
78.s2、根据所述网络节点信息、报文帧信息、信号信息及信号的默认值定义虚拟ecu模型的模型构建函数;
79.s3、调用所述模型构建函数,根据单个网络节点信息及该网络节点对应的报文帧信息、信号信息及信号的默认值构建该网络节点模型;
80.s4、循环步骤s3,遍历全部网络节点信息,直到构建虚拟ecu模型的全部网络节点模型。
81.请参阅图4,图4为本发明提供的一种计算机可读存储介质的实施例示意图。如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现如下步骤:
82.s1、解析数据库文件,得到数据库中定义的所有的网络节点信息、报文帧信息、信号信息及信号的默认值;
83.s2、根据所述网络节点信息、报文帧信息、信号信息及信号的默认值定义虚拟ecu模型的模型构建函数;
84.s3、调用所述模型构建函数,根据单个网络节点信息及该网络节点对应的报文帧信息、信号信息及信号的默认值构建该网络节点模型;
85.s4、循环步骤s3,遍历全部网络节点信息,直到构建虚拟ecu模型的全部网络节点模型。
86.本发明实施例提供的一种虚拟ecu模型的自动化开发方法、系统及存储介质,其基于自动驾驶硬件数据库进行格式解析,分析软ecu开发流程,使用仿真软件进行模型自动化构建的形式,优化了虚拟ecu模型的开发过程,大大缩短开发周期,提升开发准确性以及开发效率,并能快速响应硬件数据库的变更,满足各测试节点需求。
87.需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
88.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
89.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
90.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
91.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
92.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
93.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献