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

一种汽车域跨平台的仿真架构设计方法与流程

2021-10-29 23:13:00 来源:中国专利 TAG:仿真 汽车 平台 架构 方法


1.本发明属于汽车域跨平台仿真开发技术领域,尤其是涉及一种汽车域跨平台的仿真架构设计方法。


背景技术:

2.目前,在汽车开发、测试过程中,计算机仿真技术的快速发展使得在试验室模拟汽车性能成为现实。运用仿真技术降低新产品开发的成本,缩短来发周期,提高工作效率。作为一种重要的手段,在汽车开发初期,通过仿真可以实现车辆的动力系统匹配、性能分析等功能。因此,怎样在一些具有强大算力的专业仿真软件上,开发可跨平台、跨程序应用的功能强大、性能优良的可以通用的仿真平台,需要一种规范的设计方案,可以实现软件的可视化和后台的算力的融合。


技术实现要素:

3.有鉴于此,本发明旨在提出一种汽车域跨平台的仿真架构设计方法,以解决当前仿真中建模效率低,多车型难以融合的问题,结合前台键合图设计原理和后台灵活的计算方法,建立一套不同仿真环境下,前、后跨平台的建模设计规则, 为汽车仿真平台设计开发方面提供高效技术支撑。
4.为达到上述目的,本发明的技术方案是这样实现的:一种汽车域跨平台的仿真架构设计方法,包括以下步骤:s1、收集车辆模型所组成的部件及其部件的连接方式;s2、通过部件连接规则对部件进行连接,完成模型摆放和建立;s3、模型摆放和建立完毕后,后台对前台配置任务进行仿真操作。
5.进一步的,在步骤s1中的部件的组成从前台的拖拽部件属性得到,部件的连接方式从部件之间的连接线得到。
6.进一步的,在步骤s2中的所述部件连接规则包括以下并列规则:模块之间的连接规则、模块本身的连接规则、引入辅助部件实现接口同时连接多个其他接口规则、辅助部件的处理规则、各部件在后台摆放位置的摆放规则以及各部件在后台布局位置的计算方式。
7.进一步的,所述模块之间的连接规则为每个接口需求输入的每个信号必须与另一个待连接接口的每个输出信号依次匹配。
8.进一步的,所述模块本身的连接规则为模块本身所具备的接口之间不能互相连接。
9.进一步的,所述各部件在后台摆放位置的摆放规则包括以下步骤:a1、在后台确定每个车辆部件模块的位置;a2、将模块分为绝对位置、相对位置、排布位置;a3、分别计算出模块的绝对位置、相对位置、排布位置。
10.进一步的,所述各部件在后台布局位置的计算方式包括以下步骤:
b1、收集部件位置;b2、统计部件连接关系;b3、计算部件频次;b4、规划网格总行数;b5、纵向位置聚类;b6、横向位置排序;b7、模块网格位置计算。
11.进一步的,在步骤s3中的所述仿真操作包括以下步骤:s31、设置任务起始标志设置;s32、调用前处理函数流程;s33、过程嵌套处理流程;s34、进行模型仿真流程;s35、调用后处理函数流程;s36、设置任务结束标志设置。
12.进一步的,在步骤s32中的前处理函数流程包括以下步骤:s321、获得当前结构体;s322、暂停指令判断;s323、终止指令判断;s324、过程步骤参数传入;s325、执行步骤参数;s326、清除参数消息。
13.相对于现有技术,本发明所述的一种汽车域跨平台的仿真架构设计方法具有以下优势:(1)本发明所述的一种汽车域跨平台的仿真架构设计方法,通过建立域跨平台基于前台的模型拖拽搭建和连接,后台基于前台的模型连接信息,完成模型的搭建与连接。同时,后台根据所执行的仿真任务,按照通用的运行步骤,可以应对不同的运算任务。
14.(2)本发明所述的一种汽车域跨平台的仿真架构设计方法,提供了一种前后台模型布局方法,能够通过前台部件不同的拖拽位置和连接情况下,实现后台网格化布局,达到后台模型拼接简洁整齐。
15.(3)本发明所述的一种汽车域跨平台的仿真架构设计方法,提供基于共享内存的方式,使得前台控制后台仿真器,仿真程序的运行方式。
16.(4)本发明所述的一种汽车域跨平台的仿真架构设计方法,提出了车辆模型即插即用的构建设计和多样化的仿真过程。
附图说明
17.构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本发明实施例所述的一种汽车域跨平台的仿真架构设计方法叠加模块连接示意图;
图2为本发明实施例所述的一种汽车域跨平台的仿真架构设计方法多分模块连接示意图;图3为本发明实施例所述的一种汽车域跨平台的仿真架构设计方法其模块网格化位置布局示意图;图4为本发明实施例所述的一种汽车域跨平台的仿真架构设计方法其模块网格位置计算流程图;图5为本发明实施例所述的一种汽车域跨平台的仿真架构设计方法任务运行流程图;图6为本发明实施例所述的一种汽车域跨平台的仿真架构设计方法前处理运行流程图;图7为本发明实施例所述的一种汽车域跨平台的仿真架构设计方法模型运行过程控制示意图。
具体实施方式
18.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
19.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
20.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
21.下面将参考附图并结合实施例来详细说明本发明。
22.名词解释:域跨平台:同时使用不同的仿真软件或者开发硬件平台,将这些开发域之间通过在一定规则之下的通信机制联合起来实现汽车仿真平台的构建。
23.键合图:键合图(power bond graph method)是一种系统动力学建模方法,它以图形方法来表示、描述系统动态结构,是对系统进行动态数字仿真时有效的建模工具。
24.如图1至图7所示,一种汽车域跨平台的仿真架构设计方法,包括以下步骤:s1、收集车辆模型所组成的部件及其部件的连接方式;s2、通过部件连接规则对部件进行连接,完成模型摆放和建立;s3、模型摆放和建立完毕后,后台对前台配置任务进行仿真操作。模型摆放和建立
完毕,后台对前台配置的各种任务仿真。本汽车域跨平台的仿真架构设计方法通过建立域跨平台基于前台的模型拖拽搭建和连接,后台基于前台的模型连接信息,完成模型的搭建与连接。同时,后台根据所执行的仿真任务,按照通用的运行步骤,可以应对不同的运算任务。
25.在步骤s1中的部件的组成从前台的拖拽部件属性得到,部件的连接方式从部件之间的连接线得到。前台通过拖拽和连接的方式将不同的部件相互连接,将每个车辆部件作为画板上的模块,例如车轮部件、整车部件等。
26.在步骤s2中的所述部件连接规则包括以下并列规则:模块之间的连接规则、模块本身的连接规则、引入辅助部件实现接口同时连接多个其他接口规则、辅助部件的处理规则、各部件在后台摆放位置的摆放规则以及各部件在后台布局位置的计算方式。每个部件均存在不同类型的接口,所具有的连接出入口,每个模块具有固定的接口数目和接口位置,例如车轮模块具有两个接口。每个接口可以输入并输出不同的信号,例如车辆模块具有左右两个接口,每个接口具有两个信号,分别为输入信号和输出信号。
27.所述模块之间的连接规则为每个接口需求输入的每个信号必须与另一个待连接接口的每个输出信号依次匹配;在具体实施例中,若a接口连接b接口,a接口的输出信号个数允许大于b接口的需求输入信号个数,b接口的输出信号个数允许大于a接口的需求信号个数;但是a接口的需求输入信号全部能由b接口的输出信号提供,且b接口的需求输入信号同样能由a接口的输出信号提供。
28.所述模块本身的连接规则为模块本身所具备的接口之间不能互相连接;即使满足上述的连接条件,即模块接口之间连接的唯一性,所述模块接口之间连接的唯一性为一个接口只能连接另外一个接口,不能同时接收两个及以上的接口;也不能将接口连接本身。
29.所述引入辅助部件实现接口同时连接多个其他接口规则为了方便模块之间相互连接,遵守连线规则,引入辅助部件。一进两出的模块,一进三出的模块,两进一出的模块、三进一出模块。这些辅助模块不仅可以和部件相连,而且这些辅助模块在满足连接规则的情况下相互连接,形成多进一出或者一进多出的情况,即模块级联的情况。
30.所述辅助部件的处理规则:在后台处理这些辅助部件时,需要对每条连接线进行处理,尤其对涉及到辅助部件的连接线处理。当存在辅助模块连接辅助模块时,消除辅助模块需要按照特定的顺序进行。
31.附图1为叠加模块连接示意;由于模块接口之间连接的唯一性,因此模块与模块之间的一个接口只能连接另外一个接口,不能同时接收两个及以上的接口;为了考虑接口同时连接多个其他接口的情况;同时遵守一个接口只能连接其他另外一个接口的连线规则,引入辅助部件。包括一进两出的模块,一进三出的模块,两进一出的模块、三进一出模块。这些辅助模块不仅可以和部件相连,而且这些辅助模块在满足连接规则的情况下相互连接,形成多进一出或者一进多出的情况,即模块级联的情况。图1即为通过辅助连接模块叠加模块实现了部件1和部件2同时连接部件3的情况。由于上述接口连接规则的唯一性,因此在部件1、部件2与部件3之间插入辅助连接部件二进一出模块,间接的实现部件1和部件2同时连接部件3的情况。
32.与附图1类似的情况,附图2为多分模块连接示意,部件1的输出接口同时连接部件2的输入接口和部件3的输入接口的情况,由于上述接口连接规则的唯一性,因此在部件1与
部件2、部件3之间插入辅助连接部件一进两出模块,间接的实现部件1同时连接部件2和部件3。
33.如图3所示,附图3为模块网格化位置布局,所述各部件在后台摆放位置的摆放规则包括以下步骤:a1、在后台确定每个车辆部件模块的位置,在后台确定每个车辆部件模块的位置,用于搭建车辆模型时各个部件的摆放,在摆放规则中需要设置每个部件在后台的摆放位置;当后台对前台不同部件的连接方式解析完成后,后台根据部件的连接方式对部件模型位置摆放;a2、将模块分为绝对位置、相对位置、排布位置;绝对位置即在画板上的像素位置,可直接通过该位置参数设置模块的位置,其位置包括模块的四个上下左右边在画板上的距离,相对位置为模块a相对于模块b的位置,因此若想得到模块a的位置,必须先求出模块b的位置,然后根据相对位置的大小计算出模块a的位置。
34.a3、分别计算出模块的绝对位置、相对位置、排布位置。排布位置为程序中设置模块的网格布局。该网格布局完全由后台程序设置计算,画板中并无网格的概念。在布局文件中可以得到每个定义的网格名称,网格的起始位置,网格线之间的横向间距,网格线之间的纵向间距。根据网格的定义,可以从每个子系统模块在网格中的横向网格坐标和纵向网格坐标,计算出子系统模块的绝对位置。在构建系统建模时,每个部件子系统需要给出在画板中的位置,由于排布位置中的绝对位置根据定义的网格参数计算出来,因此利用排布位置多个子系统之间的位置设置具有整齐,易于设置。
35.所述各部件在后台布局位置的计算方式包括以下步骤:b1、收集部件位置;b2、统计部件连接关系;b3、计算部件频次;b4、规划网格总行数;b5、纵向位置聚类;b6、横向位置排序;b7、模块网格位置计算。
36.附图4为模块网格位置计算流程,模块网格位置的计算是为了通过前台界面上的用户拖拽部件的位置以及部件之间的连接关系,从而获得后台仿真建模模型拼接时的网格位置。按照以下流程计算每个模块的网格位置:(1)收集部件位置;统计并收集用户在前台通过拖拽到部件拼接画板上的的具体位置,例如部件1位置(x1,y1),部件2位置(x2,y2)。其中x1,y1,x2,y2分别为部件1所在前台画板中的横坐标和纵坐标位置,以及部件2在前台画板中的横坐标和纵坐标位置。
37.(2)统计部件连接关系;根据用户在前台画板将拖拽的部件之间的相互连接,统计用户对部件之间相互的连接关系,例如部件1的接口1连接部件2的接口1,部件2的接口2连接部件3的接口1等。然后统计该连接关系并得到每条连接中连接线出发的部件统计,以及每条连接中连接线接收的部件统计。
38.(3)计算部件频次;从步骤一的部件中计算出发连接的部件中最大频次出现的次数m以及接收连接的部件中最大频次出现的次数n。出现频次计算方法如下:
根据步骤2中部件的连接关系,得到例如部件1连接部件2,部件1连接部件3,部件2连接部件4等这些连接情况,从部件的连接出发的部件中,统计每个部件出现的频次,例如上述的出现的部件中出发连接的部件为部件1、部件2,而且各自部件的频次为2、1,因此出现的最大频次为2。接收连接的部件为部件2、部件3、部件4,而且各自部件的频次为1、1、1,因此出现的最大频次为1。
39.(4)规划网格总行数;得到步骤3中得到的最大出现的次数频次m和n,然后根据m和n计算出需要规划的总行数为 m n

1。
40.(5)纵向位置聚类;按照总行数为聚类的中心个数,对部件在前台的所有纵向位置进行聚类。得到每个部件在网格中所属的类。
41.(6)横向位置排序;收集每类部件,对每类部件在前台的横向位置进行排序,按照排序大小,依次递增该类中每个部件的横向网格布局,获得横纵索引,并设置该类中每个部件的纵向网格布局为该类的类型索引大小(xi,yi)。其中(xi,yi)中的i代表第i个子模块。
42.(7)模块网格位置计算;根据附图3即为模块网格化位置布局,可以得到网格的起始位置横纵坐标(x,y),网格线之间的横向间距(x_gap),网格线之间的纵向间距(y_gap)。根据网格的定义,可以从每个子系统模块在网格中的横向网格坐标和纵向网格坐标,计算出子系统模块的绝对位置如下公式所示:子模块的绝对横向位置:x xi*x_gap;子模块的绝对纵向位置:y yi*y_gap;至此,得到了每个模块在后台模型中的网格位置和绝对位置,后台将根据每个模块的绝对位置对每个模块放置和布局。
43.在步骤s3中的所述仿真操作包括以下步骤:s31、设置任务起始标志设置;s32、调用前处理函数流程;s33、过程嵌套处理流程;s34、进行模型仿真流程;s35、调用后处理函数流程;s36、设置任务结束标志设置。如图5所示:附图5为任务运行流程,后台通过前台的仿真配置,并按照如下流程图运行得到仿真结果,对于后台计算任务的构建;建立一个主函数来调用该任务,为了调用每个任务的前处理,后处理,以及该任务的模型仿真等,在每个任务主函数中,采用如下的统一结构,包括六种基本属性,如下所示:1、后台通知前台的任务启动标志;任务的起始标志设置,设置共享内存标志位,用于告知前台,后台正在运行任务且处于起始状态。
44.2、后台通知前台的任务结束标志;任务的结束标志设置,设置共享内存标志位,用于告知前台,后台正在结束任务且处理完成状态,便于前台统计当前的任务和所执行的任务个数。
45.3、前处理函数调用,通过前台所配置的仿真任务类型执行不同的前处理过程,不同的前处理过程按照构造该任务时的任务步骤顺序依次调用前处理步骤函数。
46.4、过程嵌套处理,主要用于过程与过程之间存在嵌套的情况时,主任务会利用该函数调用子任务。该步骤判断是否存在过程嵌套的情况,由于前台配置仿真任务可能存在不同的仿真过程联合嵌套构成新的仿真任务,因此需要判断是否存在过程嵌套,若存在,则
运行过程嵌套中的过程任务。
47.5、模型仿真,利用共享内存的标志位,与前台交互并控制后台模型启动,终止,继续等控制。在具体实施例中,启动模型仿真器开始仿真的命令,例如simulink仿真器;然后得到仿真器输出的结果,供后处理程序进一步处理6、后处理函数调用,通过前台所配置的仿真任务类型执行不同的后处理过程,不同的前处理过程按照构造该任务时的任务步骤顺序依次调用后处理步骤函数。
48.如图6所示,在步骤s32中的前处理函数流程包括以下步骤:s321、获得当前结构体;该过程结构体中包含了处理过程的每个步骤需要要运行的函数和函数的输入参数。
49.s322、暂停指令判断;由于前台可以直接控制后台的运行过程,该步骤即为了实现前台能够暂停后台的程序运行,判断前台暂停用于检测是否控制仿真暂停,通过检测共享内存标志位确定前台是否设置了暂停命令。因此在每个过程步骤运行时,判断是否前台发送给后台了暂停指令,当后台接收到暂停指令,则程序暂停运行。当后台接收到了继续运行指令,则程序恢复运行。
50.s323、终止指令判断;由于前台可以直接控制后台的运行过程,该步骤即为了实现前台能够终止后台的程序运行,判断前台终止仿真命令,用于检测是否控制仿真终止。通过检测共享内存标志位确定前台是否设置了仿真终止命令。因此在每个过程步骤运行时,判断是否前台发送给后台了终止指令,当后台接收到终止指令,则程序终止运行。
51.s324、过程步骤参数传入;依次执行过程中的前处理函数,每个步骤函数可以传递参数,实现函数的灵活性。
52.s325、执行步骤参数;后台运行步骤函数。
53.s326、清除参数消息。将传入给函数的全局变量等消息清理,防止多次运行步骤函数导致消息冲突等情况。
54.每个任务需要利用前处理函数调用和后处理函数调用前处理任务步骤和后处理任务步骤。在具体实施时,前处理或后处理步骤按照如下流程运行其内部的过程步骤,该两种函数运行顺序如下:1、获得当前的过程结构体,由于存在过程嵌套的情况,因此需要获取该过程的过程结构体。
55.2、依次执行过程中的前处理函数,每个步骤函数可以传递参数,实现函数的灵活性。判断前台暂停和终止仿真命令,用于检测是否控制仿真暂停是否控制仿真终止。均通过检测共享内存标志位确定前台是否设置了仿真终止或者暂停命令。每个步骤函数依次运行过程如下所示:a、步骤函数的参数输入过程,即将该过程步骤中参数传入给过程步骤函数;b、设定执行步长,用于控制执行步骤的消息设定;c、执行步骤函数;d、清理消息连接;e、清理消息的执行步骤;f、清理消息。
56.如图7所示,为模型运行控制流程图,前后任务步骤调用过程均处于模型运行控制
中,在前后任务步骤调用中,每执行一个过程步骤,均要检测是否前台设置了暂停或者终止命令,由此可知,当后台在运行其中一个步骤函数文件时用户在前台设置了暂停或者终止命令,需要等待该次步骤函数文件运行完成后命令才能生效。在模型运行阶段,需要通过不同的机制控制后台暂停或者终止。可设置的命令包括暂停,继续,停止,步进等,根据共享内存标志位不同的设定值调用不同的模型控制。仿真器为已有的仿真软件,例如simulink等。可通过脚本或者命令api的仿真对仿真器进行不同的控制。
57.附图7为模型运行过程控制,具体步骤如下所示:1、模型运行后台自动化程序,模型运行过程的控制首先是在模型运行状态下生效的,因此首先需要将模型运行起来,可通过设置仿真器启动命令手动调试模型运行。
58.2、判断模型是否运行完成,当模型运行完时,需要调出模型运行过程控制,当模型未运行完时,则通过仿真器手动调试继续控制模型运行,仿真器控制模型运行过程具体如下:a、接收前台控制指令,后台自动化程序一直不断的检测前台的控制命令,通过仿真器调试,涵盖启动、继续、步进、暂停、终止指令;b、当模型接收到了仿真器发送命令时,执行相应的设置仿真器命令,例如启动、继续、步进、暂停、终止;c、命令完成后,程序停止使用仿真器,并回到步骤2,继续判断模型是否运行完成,由于后台自动化程序和仿真器手动调试只能同时运行一个,因此需要暂停后台自动化程序一段时间(具体时间可由模型云心结果而定),保证能够在后台自动化程序暂停过程中仿真器运行;3、当模型运行完时,继续调出模型运行过程控制。
59.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜