本发明涉及一种基于Matlab的汽车整车性能仿真与计算方法,属于自动控制技术领域。
背景技术:
目前,随着新能源汽车技术的不断发展,对于新能源汽车性能仿真计算的需求越来越高,而以往应用于传统汽车的传统的仿真软件已经不能适合现在的新能源汽车使用,传统的仿真软件不仅计算出来的数据不准确详细,而且仿真速度较慢,自定义配置程序繁琐,完全不能满足对于仿真计算需求的高效化、精确化、多样化的要求。
由于现在不同的汽车车型越来越多,每一种汽车车型上的参数或者零部件都略有不同,不可能为每一辆汽车精确地进行建模仿真,因为,这样不但工作量非常巨大,而且人为操作也非常容易出现错误,使仿真出的结果和实际差别很大,完全没有参考和利用价值。
目前,传统现有的仿真计算软件,例如,Advisor、Cruise。Advisor使用Simulink进行建模,仿真速度较慢,而且对汽车整车参数进行配置时需要修改大量参数,另外软件版本比较旧,在新平台上运行时会有许多问题,其稳定性差、计算速度非常慢,完全不能应用于大量数据的仿真与计算。Cruise能够模块化的配置汽车整车的每个零部件参数,但是配置必须要在Cruise制定好的规则之内,只能选择已有的选项进行更改,计算方式全部被封装在软件之中,无法查看、修改计算的方法,灵活性较差,不便于对多种车型参数、计算数据的自定义。
为了解决上述问题,有必要提供一种配置简单快捷、数据计算速度快、功能自定义方便、自动化程度高的汽车整车性能仿真计算方法及相应的软件。
技术实现要素:
本发明的目的在于提供一种能够克服上述技术问题的基于Matlab的汽车整车性能仿真与计算方法,
本发明的基于Matlab的汽车整车性能仿真与计算方法通过配置文件定义汽车整车上各个零部件的参数,并且同时存储多种型号的参数,参数能够实时进行更改,根据自己的需求编写计算程序,快速的根据选择的参数进行计算并且以曲线或者图表的形式显示出来,直接选择不同的计算程序进行计算,数据保存为多种格式,自动根据自定义模板生成报告。
本发明的基于Matlab的汽车整车性能仿真与计算方法包括以下步骤:
步骤1、计算程序;
所述步骤1计算程序用于计算汽车整车的基本性能数据,为对汽车整车性能分析和仿真提供基本的理论依据。所述步骤1计算程序根据汽车整车动力学公式和模型,对汽车整车系统进行仿真和计算,计算出汽车整车的基本性能,包括加速时间、加速度、效率、能耗、爬坡度。
所述步骤1计算程序能够使用Excel文件、Word文件、M文件或文本文件的格式进行保存,所述步骤1计算程序按照Matlab语言进行书写,然后对文件的格式进行判断,根据不同的格式对所述保存步骤1计算程序的文件进行不同的读取和解析方式,由Matlab动态执行所述步骤1计算程序中的语句并自动处理注释和循环的语句。
所述的步骤1计算程序具体包括五个步骤:
1.1计算程序的变量调用;
1.2计算程序的函数计算;
1.3计算程序的曲线显示;
1.4计算程序的数据显示;
1.5计算程序的报告生成。
所述步骤1.1计算程序的变量的调用根据计算程序中声明的变量名称、类型、格式,从工作空间中查找相应的变量,并且根据需求对变量进行插值或者截取处理,只取出需要使用的部分,然后存储入临时工作空间,供计算函数调用。即,所述步骤1.1计算程序的变量调用用于读取所选择的零部件配置文件中的参数,并且存入临时工作空间之中。所述计算程序的函数计算根据定义好的语句对参数进行运算,得出一系列计算结果。所述的计算程序存储在所述配置文件夹中,所述计算程序的存储格式格式可以为TXT、Word、Excel,所述计算程序会能够自动对格式进行判断和解析,根据不同的文件类型使用不同的解析方式,然后使用Matlab运行时引擎对语句进行解析和动态运行并能够自动对文件中的循环、判断、函数、注释语句进行处理。
所述步骤1.2计算程序的函数计算是读取文件中的函数定义并解析然后调用相关的函数进行计算,所述函数分为内置函数、临时函数和公共函数这三部分,内置函数为Matlab自带,公共函数存储在函数文件夹中,运行程序前统一调用,临时函数只声明在计算程序中并在程序计算时被调用,函数调用相关的变量进行计算然后将结果存储入临时工作空间。
所述步骤1.3计算程序的曲线显示是调用绘图函数对所述步骤1.1和所述步骤1.2的计算结果进行绘图,绘制的图形包括折线图、柱状图、散点图、饼状图、等高线图、三维图形,根据不同的图像类型对图形上的点进行标注,并且将生成的图形句柄保存到工作空间,然后将图形显示在坐标轴上。
所述步骤1.4计算程序的数据显示是根据文件中定义的需求,对所述步骤1.1和所述步骤1.2的计算结果进行分析和处理,例如,计算最大值、最小值、平均值、峰值的数据,或者直接将所述计算结果显示在列表中。
所述步骤1.5计算程序的报告生成是调用所述计算程序中指定的报告模板并对报告模板的内容进行解析,根据报告模板中定义的数据名称和类型对数据进行相应的处理,比如将所述计算结果或者图形放入相应的单元格中,生成的报告自动保存在指定路径下。
步骤2、配置文件;
所述步骤2配置文件是存储各种汽车整车的零部件的参数并在计算时对所述汽车整车的零部件的参数进行调用,所述的配置文件包括软件配置文件和参数配置文件。
所述软件配置文件中存储了软件的基本设置,比如窗口的大小、位置、配置文件夹的存储位置、图标;所述软件配置文件中包括了软件各个功能文件所在的路径,比如计算程序、配置文件的存储目录以及软件的一些基本配置信息。
所述参数配置文件包括汽车整车参数、电池参数、电机参数、变速箱参数、环境参数、控制策略参数、路况的配置信息。所述配置文件能够使用Mat文件、Excel、文本文件的格式进行存储,能够进行显示和修改。
每一类的软件配置文件和参数配置文件都单独存储在一个文件之中,所述存储文件的类型为TxT文本文件、M文件、Mat文件、Excel文件,程序会根据不同的存储文件类型进行读取,也会对存储文件中数据的格式、内容进行判断,如果数据错误则发出警告,提示用户数据输入出错。所述对文件中数据的格式、内容进行判断是由编写程序为每一类配置文件写一个检测器,检测常用的一些数据内容和格式,比如数据的大小、逻辑是否正确,数据的长度是否一致,这样在加载数据时就会检测出数据的问题,而不是等到计算时才判断数据是否正确。
步骤3、曲线显示;
所述步骤3曲线显示是将所述的步骤1计算程序所计算出的数据通过折线图、饼状图、柱状图、概率分布图、散点图的形式绘制出来并注明坐标轴名称、范围、图例然后以图形的方式将所述的步骤1计算程序所计算出的数据直观的展示出来,即以更加直观的方式展示数据的变化趋势及分布,同时,通过不同的颜色标记不同的数据,另外,所述步骤3曲线显示能够计算出图形的范围,适当调整坐标轴范围,支持对曲线进行缩放和移动,标记单个点的范围的功能。例如,增加在图例或者直接用点标记在曲线上,显示点的坐标,曲线能够自定义缩放,支持数据点的定位、选择与保存;这样便于观察曲线的趋势同时也能从所述的折线图、饼状图、柱状图上获得每个点的位置。
所述步骤3曲线显示能够存储图形的句柄,当显示下一个曲线显示或者清除图像时能够删除所有的图形句柄,让程序在其他地方对图形进行修改和调用,如果参数未改变的情况下则会调用之前的图形句柄,避免曲线重复绘制,也能够在生成报告时提供图形。
步骤4、数据显示;
所述步骤4数据显示是将所述步骤1计算程序计算出的数据显示在表格中以供使用者查看和分析。所述步骤4数据显示包括计算结果显示、参数显示,用数值或字符串显示,所述步骤4数据显示是将读取的配置文件以表格形式显示出来并能对参数进行修改且支持参数的实时计算和非实时计算。所述实时计算即当参数修改时立刻对数据进行重新计算和对曲线重新绘制,所述非实时计算即当参数修改完后通过按钮控制数据和曲线的重新计算和绘制。所述步骤4数据显示也能够对计算结果进行显示、将所述数据复制或保存及定义所述数据显示的间隔和范围。
步骤5、数据保存;
所述步骤5数据保存是将所述的步骤1计算程序计算出的数据进行存储以便于之后对数据的整理和分析,所述步骤5能够手动选择存储格式并支持Word、Excel、Mat、TxT的格式。例如,所述步骤5数据保存能够通过Excel或者Mat的格式将计算出的数据进行存储以便于查看及使用。
步骤6、报告生成。
所述步骤6报告生成定义了报告中数据和曲线的格式,生成报告时会根据定义中曲线、数据的格式进行生成;所述步骤6报告生成是将所述步骤1计算程序所计算出的数据、步骤3所绘制的图形和步骤4所显示的数据表格自动生成Excel或者Word格式的报告即并保存在Word、Excel的类型的文件中,报告的格式由模板进行定义,保存时选择的是模板,称为报告模板,程序会解析模板的内容并且根据模板中的定义将所述步骤1计算的数据和步骤3绘制的曲线保存在报告之中并能够选择报告保存的名称和位置。
在所述步骤6中,安装设置好的报告模板生成所需要的报告,选择报告的内容及格式及选择报告保存的名字和位置。所述报告模板定义了文件的类型、格式、字体,生成报告时程序会调用所述步骤1计算程序中负责报告生成这一部分的内容,比如变量名称、图形句柄,所述报告模板中对文本、数据、曲线进行区分,程序会查找相同名称的变量或句柄并将其放置在报告相应的位置上。报告生成时会自动查找错误,当遇到警告或者错误时,程序会继续执行并提示出现问题的位置以便于用户进行查找和修正。
本发明用于计算汽车整车的基本性能数据,为对汽车整车性能分析和仿真提供基本的理论依据。对于新能源汽车,应用本发明能够通过Matlab对汽车整车的参数进行计算,将汽车整车各个零部件的参数输入到软件之中,由程序对汽车整车性能进行仿真和计算且不需要汽车整车实物,只需要通过计算机即能够对汽车整车的性能进行计算,而且不需要掌握具体的专业知识,根据自己的需求更改相应的参数即可,程序会自动进行绘图和生成数据,节省了大量时间,便于前期根据已有的数据对汽车整车的性能进行估算、各个零部件的选型以及后期对汽车整车性能进行验证,查看其是否能够满足设计的要求。本发明的具体的优点和有益效果如下:
(1)能够自定义计算程序,能够根据自己的需求调用程序中的参数和变量进行计算,定义灵活,更改方便,能够适用于多种车型、多种计算方式,对于不同的需求只需要使用不同的计算程序即可,内置了包括加速度、爬坡度、加速时间、能耗计算的多种计算程序,因此,相比传统现有的仿真计算方法和软件,本发明的功能十分强大。
(2)计算程序能够任意调用Matlab中的函数,利用Matlab强大的矩阵运算能力,内置的计算函数使用优化过的语句直接进行计算,避免出现循环和递归,按照处理矩阵的方式对数据进行批量计算和处理,节省了大量的时间,极大地提高了速度,当需要计算的数据量非常大的情况下,本发明的计算速度优势非常明显。
所有零部件的参数全部写在配置文件之中,能够手动选择或更改所需要的参数,能够将所有的参数平台化,便于对比不同参数对计算结果的影响,也能够看出不同车型、参数之间的对比,能更好地对参数做出匹配和优化。程序能够将配置文件打包成一种车型,对于不同的车型只需要选择统一的配置文件,程序会自动更改电机、变速箱的参数,不需要再手动选择,提高了工作效率。
(3)程序在加载数据时能够使用检测器自动对数据的大小、格式、类型进行判断,如果数据不正确会提示出错误,并且不会把加载的数据从临时空间存储到工作空间中,避免错误的数据会对计算造成影响,产生错误的结果。计算后的数据和曲线全部被保存在临时空间之中,如果参数没有更改,数据就不会重新进行计算,即使参数发生了变化,也只会重新计算发生改变的那一部分。程序会通过矩阵和逻辑运算检测所有数据是否一致,当数据出现不一致的情况时会检测出出现不一致的情况的位置,然后对不一致的数据进行替换,避免了重复对数据进行计算。
(4)参数更改时支持实时计算和非实时计算,如果需要反复更改某个参数,那么能够选择实时计算,当参数改变时自动进行计算和显示,如果有大量参数需要修改,则使用非实时计算,当所有参数改变后统一进行计算,避免了频繁的调用计算程序并使程序出现卡顿或者等待较长时间的情况。
(5)报告生成支持自定义模板,能够根据自己的需要将报告修改为其他格式,程序使用特殊符号标记出图片、文本、变量,运行模板时会解析模板中的内容,将数据或者曲线放置在相应的位置。模板中支持自定义语句,能够对变量进行简单的计算,便于报告内容拓展并对报告进行排版、整理的操作。
附图说明
图1是本发明所述基于Matlab的汽车整车性能仿真与计算方法的实施例的程序界面示意图;
图2是本发明所述基于Matlab的汽车整车性能仿真与计算方法的一个程序的流程示意图;
图3是本发明所述基于Matlab的汽车整车性能仿真与计算方法的程序计算部分的流程示意图;
图4是本发明所述基于Matlab的汽车整车性能仿真与计算方法的错误检测器的流程示意图;
图5是本发明所述基于Matlab的汽车整车性能仿真与计算方法的报告生成的流程示意图。
具体实施方式
下面结合附图对本发明的实施方式进行详细描述。
如图1所示,计算程序加载后显示在左上角的组合框中,能够手动进行选择和更改。图形绘制在窗体中间的坐标轴中,能够同时显示多条曲线,并且能够自动调整坐标轴范围。配置文件在窗体的右上角,使用组合框进行选择,总共分为车辆、电机、变速箱、电池、环境、控制策略这几个部分,点击旁边的编辑按钮能够打开配置文件并对其编辑。右下角为数据显示部分,当选择某个配置文件时,配置文件中的参数会自动加载到表格中,能够在表格中直接对参数进行更改,并且能够保存在配置文件中。最右下方有报告生成和数据保存两个按钮,点击后选弹出文件保存对话框,能够选择保存的位置及名称。另外窗体左上角还设置有一行工具栏,用于曲线的缩放、移动、旋转以及标记数据点。
如图2所示,程序启动时先根据软件配置文件设置窗体的大小、位置,然后扫描配置文件目录,将各个配置文件的名称加载入对应的组合框之中。初始时默认选择第一个配置文件,程序退出后会保存最后选择的配置文件,如果文件不存在则会选择默认值。点击绘制按钮后程序会加载数据并判断数据有效性,然后对数据进行计算,并将曲线和数值显示在相应位置,当点击生成报告时能够选择模板并保存。
如图3所示,运行计算程序时,能够根据组合框中所选择的文件进行解析,加载程序中所需要的变量,然后动态执行文本中的语句,解析时自动忽略注释语句。如果语句执行过程中出现异常,则会定位报错的位置,打印在窗口之中,如果是严重的错误,影响程序的结果,则停止解析,报错并回滚原来的数据。如果错误不影响最终结果,只会影响显示部分,程序则只报出警告并继续运行。
如图4所示,当导入参数时,程序会根据不同的参数类型调用不同检测程序,一般程序只会对重要的参数进行检测,并且在参数不变的情况下不重复对数据进行检测。检测的类型分为大小、数据格式、数据长度、多个数据间的逻辑关系,只有当所有检测全部通过时说明数据正常,否则会报出错误,根据数据异常的类型将错误分为严重或一般,决定程序能够继续运行。
如图5所示,当生成报告时,程序会调用报告模板,然后对模板的内容进行解析,根据模板中定义的类型能够将报告内容分为数据、文本、图形,每种类型有不同的处理方式。对于数据类型,需要对单元格的内容进行解析,然后将计算出的数据放入单元格位置,对于文本数据则不需要进行改动,只需要修改文本的格式,对于图片需要解析单元格内容或者调用数据进行绘图,然后放置在指定区域。为了提高效率,对于已经计算过的数据,程序不会再次计算,直接查找调用工作空间中的变量进行赋值。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的范围内,能够轻易想到的变化或替换,都应涵盖在本发明权利要求的保护范围内。