上期的強強對話中來自同濟大學 DIAN Racing 車隊的周曉同學給我們分享了如何繞過車輛電氣系統開發中的一些坑。如果您對如何利用 Simulink 進行車輛建模,仿真和開發還意猶未盡的話,千萬不要錯過這期的分享。這一期,我們邀請了大學生方程式 2020 賽季中脫穎而出,獲得 MATLAB/Simulink 車輛動力學仿真一等獎和控制策略開發及軟件實現二等獎的華南農業大學電車隊技術負責人黃華騰同學,來給我們分享他們車隊在開發車輛動力學模型的過程中所積累的一些經驗。
黃華騰同學來自華南農業大學 2017 級車輛工程專業,自 2019 賽季起參與到車隊動力總成組的MATLAB/ Simulink 方向的設計任務;在 2020 賽季中擔任車隊技術負責人,管理整車設計開發進度,同時主導基于Simulink的車輛模型/控制策略方向的設計。
大家好,我是來自華南農業大學電車隊的黃華騰。我們在為 FSAE 賽事開發車輛動力學模型的過程中,曾遇到過以下幾個比較常見的問題:
1.未能充分開發車輛動力學模型的價值,搭建完模型之后不清楚如何應用2.自行定制車輛動力學模型時效率較低3.對于模型整體的架構設計和各子系統間如何連接等問題無從下手經過幾個賽季的摸索,我們在解決這些問題的過程中積累了一些經驗。
1. 車輛動力學模型在FSAE整車開發中的應用
就我們車隊的經驗來說,車輛動力學模型在 FSAE 賽事中最重要的價值是提供了一個以很低的成本來快速地進行迭代優化的工具。具體而言,其可以應用在整車開發中的兩個場景:控制策略的迭代優化以及賽車關鍵設計參數的設計。1.1 加速控制策略的迭代優化通常我們都需要通過一些實車測試的反饋數據來優化控制策略的效果。
但是很多時候,到了實車下地的時間點,緊張的時間、人力、場地資源往往很難充分滿足我們的這一需求。另外,為 FSAE 定制的各種控制策略,都或多或少存在一些需要根據本車隊賽車設計參數、設計目標,來進行優化的參數。特別是算法中一些參數需要提前設定好處于合理范圍內的初始值,并對算法做一些驗證工作,避免在實車上測試時發生意外。
而使用車輛動力學模型這樣一輛存在于電腦中的賽車,就可以通過仿真快速完成初期的迭代優化和參數設定,大大減少在實車下地測試時所需要占用的資源。我們的具體做法是,將控制策略模型放在控制器子系統中,如下圖,和車輛模型一起參與仿真,然后對仿真結果進行分析,以此對控制策略進行迭代優化。
1.2 輔助確定車輛動力學模型為關鍵設計在賽季初,在根據經驗和理論計算確定了一些待定設計參數,如減速器的傳動比、輪距、空氣動力學參數等的取值范圍后,可以使用車輛動力學模型進行多種工況的仿真來從整車的層面考察這些設計參數在相互作用時,對動力性、操縱穩定性等性能的影響,以及進行圈速仿真,為確定一些設計參數的取值提供重要參考。
一種比較常見的做法是直接使用一些車輛動力學仿真軟件去做仿真,而這里我們提供另外一種思路,即基于 Simulink 定制車輛模型。這樣做好處主要是可以進行做出一個高度定制化的車輛模型,而且作為學生在建模的過程可以學以致用,應用學到的理論知識。
這種做法在建模和仿真方面給予我們很大的施展空間。例如我們在模型當中加入了電機模型和電池模型,其中電池模型是基于放電實驗數據,通過參數辨識的方法得到的。下圖中展示了我們所使用的的等效電路電池模型。那么這樣一來我們的車輛模型就具有了對經濟性進行仿真的能力,同時也能夠對能量回收策略進行進一步的仿真和驗證。
2. 善用 Simulink 相關的工具箱自行定制車輛動力學模型時最重要的問題就是效率問題。如果自己根據理論知識利用基礎模塊,或者說寫自定義模塊,來從無到有搭建起整個模型,需要非常大的工作量。況且以我們車隊的經驗來講,這種做法往往還會花費大量時間在模型的 Debug 上。這樣的話,定制化所帶來的優勢就被效率問題所掩蓋了。
所以,我們都優先使用相關工具箱中已有的模塊,這些模塊更加可靠。我們只需要在使用前通過幫助文檔對模塊原理以及輸入輸出等進行了解,判斷是否符合我們需求就行了。對于我們這個賽事而言,比較重要的兩個工具箱就是 Vehicle Dynamics Blockset 和 Powertrain Blockset。
這兩個工具箱中提供的模塊基本足以支持我們完成一個車輛動力學模型的核心部分,包括發動機/電動機、行駛系、傳動系、轉向系和制動系等。上面介紹的等效電路電池模型,就是 Powertrain Blockset 中的模塊。學會利用相關的工具箱,可以大大加速我們定制車輛模型的速度。
3. 在 Simulink 案例模型的基礎上進行定制化在搭建模型的過程中,我們應該只選取整車中的一些重要對象來建模,同時也要考慮各個系統之間的連接方式和層次設計。這容易使剛剛上手的同學覺得無從下手。Simulink 自帶的很多案例模型,以及線上競賽提供的車輛模型就是學習的最佳材料。
我們也推介借鑒這些模型來開發和定制的車輛動力學模型。這里我們以案例模型其中的一個來作為例子。打開名為 Constant Radius Reference Application 的案例,可以看到這個模型的架構非常清晰。
我們就是在這些案例模型的基礎上進行定制的。例如刪去變速箱、差速器等相關的部分,增加上述的等效電路電池模型等。另外保留其整體架構,參考案例模型中大部分子系統之間的相對位置和連接方式。在原有的架構下去進行各種修改。
這個案例模型中簧上質量、簧下質量以及懸架模型之間是如何相互連接的,這種連接方式也被我們的作品所采用。通過參考案例模型的方式可以在保證效率和可靠性的前提下快速地完成一個定制化的車輛動力學模型。當然,這種方式是必須要建立在理解和吸收原案例模型的基礎上的。
4. 其他經驗下面關于車輛動力學模型,我們還有以下幾點經驗想分享一下。使用實車數據來對整車模型進行驗證和校正我們基于車輛動力學模型做的應用的實際效果,是受模型對實車的擬真程度的影響的。那么將賽車的數采系統記錄到的數據,與車輛模型在相同工況下的輸出進行比較,可以讓我們對模型與實車表現的相似度進行考察,并且通過分析確定需要改進的地方。
我們將 8 字繞環項目中采集到的車手操作輸入整車模型,然后將實車數據跟整車模型的仿真結果進行對比,發現二者非常接近。雖然只進行了定性的分析,但這也大大增強了我們基于整車模型所做的工作的信心。
使用虛幻引擎定制仿真場景我們自己定制的 Simulink 車輛動力學模型也是可以實現3D可視化的。我們去年就根據 Help 文檔中的描述,使用虛幻 4 引擎實現了這一功能。將車輛動力學模型進行 3D 可視化,其實是將大量的仿真結果,包括車速、姿態角、車輛軌跡等,進行了高度的集成并進行了具象化,使得我們驗證車輛動力學模型的時候多了一種高效的手段。下圖是虛幻引擎編輯器的操作界面。
下圖是我們使用虛幻引擎編輯器搭建的場景,圖中的圓形賽道樁桶是按照 8 字繞環的規則擺放的(只擺了左圓)。在仿真過程中我們可以切換不同視角來觀察賽車的姿態、方向盤/前輪轉角和軌跡。
定制自己車隊的 GUI當我們在對車輛設計參數或者控制策略進行迭代優化時會使用不同參數、在不同工況間切換進行大量的仿真,這其中的一些操作可能會重復上幾十遍。這時,基于APP Designer開發的GUI就可以簡化操作,提高效率,對已有的代碼進行集成,增強人機交互性,降低負責其他方向的同學使用這個車輛動力學模型的門檻。下圖是我們的一個GUI,我們可以直接在紅框中填入數值來設置減速器的的傳動比。
此外可以通過旋轉旋鈕來在各種預設工況間進行切換,并通過右側按鈕直接設置各種控制策略的開/關,如下圖。
事實上使用 APP Designer 開發這樣的 GUI 是一件學習成本遠低于收益的事。主要是這一工具不僅提供了圖形化的操作界面,還為代碼編寫提供了不少的輔助功能。所以通過這一工具自帶的參考示例自行摸索就能快速上手制作出實用的 GUI。致謝感謝在過去兩個賽季里所有跟我一起工作過的車隊成員以及指導老師們。特別是我們車隊MATLAB/Simulink 團隊里幾位低調的成員,盡管時間和人力資源非常有限,但還是默契合作,出色完成了很多的工作。
另外也要特別感謝來自MathWorks的老師們,特別是董淑成老師(小編注:董淑成,MathWorks 公司高級工程師、技術專家,大學生方程式賽事資深裁判,MATLAB 中文論壇超級版主“老胡”,“基于模型的設計”微信公眾號創始人)和楚駿楠學姐(小編注:楚駿楠,MathWorks中國高級應用工程師),他們在去年襄陽賽場的答辯現場,以及三電分享的現場給予我們的指導和關切讓我印象深刻。
編輯:jq
-
matlab
+關注
關注
182文章
2963瀏覽量
230160 -
仿真
+關注
關注
50文章
4043瀏覽量
133416 -
動力學
+關注
關注
0文章
105瀏覽量
16962
原文標題:強強對話 | 如何高效地定制和完善車輛動力學模型
文章出處:【微信號:Mentor明導,微信公眾號:西門子EDA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論