天天看點

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生成工具。

繼續閱讀