天天看点

CRUISE与Isight联合仿真优化

本文转载在我的微信公众号:古德曼汽车工业。公众号文章都会知识星球、知乎进行转载,请有兴趣的朋友可以关注我的微信公众号

原文地址:

    Ds Isight为法国著名飞机制造公司达索旗下的一款多功能优化工具软件。

CRUISE与Isight联合仿真优化

    Isight软件本身集成了多种常用的优化算法(如:NLPQLP、遗传算法等等),并对算法进行了封装。封装算法的好处是非常容易上手,用户直接修改参数就可以对算法进行调整,十分方便。

CRUISE与Isight联合仿真优化

联合仿真接口

CRUISE与Isight联合仿真优化

Isight目前已经集成了非常多软件的运行接口,很遗憾暂时不支持CRUISE。但是Isight提供了一个Simcode的功能模块,允许用户通过自定义批处理文件作为联合仿真的接口。

CRUISE与Isight联合仿真优化

    批处理文件包含的信息有CRUISE解算器的位置、需要调用的CRUISE工程位置。这样就不需要启动CRUISE软件,也能对工程进行仿真计算。

Bat生成工具

如果bat文件每次都用人工创建,难免偶尔出现问题,所以【思想】开发一款可以自动生成bat的工具,免除手工创建的烦恼。

CRUISE与Isight联合仿真优化

只要关注本公众号,打赏后联系【思想】就可以获得bat生成工具。

联合仿真优化流程

首先需要了解下CRUISE工程中,相关的文件存储了哪些内容:

dbf文件:用于保存模型中各个模块的参数信息,如发动机数据、电机数据、档位信息、换挡策略等。

log文件:用于保存仿真计算的任务结果数据,其中包含Summary.log/Cruise.log/Result.log

CRUISE与Isight联合仿真优化

    Isight操作CRUISE项目中的dbf文件,读取并修改优化变量,通过bat文件以命令行的形式,调用CRUISE运行仿真任务。每当结束一次仿真任务,Isight软件通过读取log文件获取边界数据与目标数据,通过优化算法生成新的变量值再次写入dbf文件,并且使用Calculator功能对变量间的数值关系作限制,确保变量间的关系符合实际。如此循环迭代优化,直到满足优化算法设置的退出条件。

总结一下

    既然Isight可以用Bat批处理的形式调用CRUISE工程,那么我们也能够使用自己熟悉的开发语言,如:C#、Python等,开发更加先进的优化算法取代掉Isight,该部分内容请关注后续文章。

纯电动两档箱换挡策略优化

    下面用一个纯电动两档箱换挡策略优化的实例,演示Isight与CRUISE联合仿真优化。

CRUISE与Isight联合仿真优化

    虽然AVL-CRUISE自带了一个换挡策略优化工具GSP,但是这个模块完全是为内燃机开发的。模块中需要输入不少内燃机的特性参数,这不符合电机的需求。所以需要结合Isight自带的优化算法,寻找最优的换挡策略。

    可以看到这是一个两参数的换挡策略,包含了升档策略与降档策略。上图中对应的a、b、c、d分别为换挡次数、油门开度、升档车速、降档车速。

CRUISE与Isight联合仿真优化

    如上文介绍的,换挡策略存放在dbf文件当中。需要Isight读取dbf中的换挡策略,并一一设置成为优化变量。

CRUISE与Isight联合仿真优化

在输出选项卡中,读取不同的log文件,包含Cruise.log、Result.log,从中选取仿真的输出结果,分别作为目标与边界。

CRUISE与Isight联合仿真优化

    根据各自项目中制定的动力性指标,作为优化的边界。如本例中设置百公里加速时间、最大爬坡度、最高车速作为边界条件,并且赋予适当的边界上限与下限

    算法方面推荐大家使用多岛屿遗传算法,具有收敛快等特点。不同算法设置的参数项都不一样,这需要用户对调用的算法有一定的理论知识,然后再根据具体项目的需要来调整。

CRUISE与Isight联合仿真优化

最后可以在结果管理器中查看,迭代计算过程中百公里电耗的变化情况。然后打开CRUISE的GB Program模块就能看到优化后的换挡策略。

教程内容介绍

【思想】总结以往的应用经验推出【CRUISE与Isight联合仿真教程】。教程内容包含联合:仿真接口及环境的配置、两个联合优化实例、及ppt与思想自制的bat生成工具。

继续阅读