電動汽車基於模型設計的實現思路是怎樣的?
我從事電動汽車控制器相關設計工作,正在著手建立一套電動汽車整車模型,前期利用MATLAB/SIMULINK進行建模,然後希望能建立一套HIL系統,對控制器進行驗證和整車動力性能的診斷系統,但是目前本人能力和知識儲配尚淺,做了好長時間的SIMULINK模型,可是思路還是不是很清晰,希望有相關經驗的同仁指一條明路,謝謝諸位!
正在著手準備建立電動汽車再生制動的控制系統。初步的需求是將制動系統的參數根據車型進行優化,兼顧制動穩定性和再生制動能量回收,得到可增加續駛里程的優化的模型。目前正在學習中...
應評論區的要求,已經把EMR建模的reference加上了,真的是乾貨哦,當時收集了好幾個月呢。其中[10][11][12][13]很好,適合開始的時候慢慢看,會有很多收穫。=================================正文=================================正好今天開會,自己準備了一些相關資料,算是總結一下我博士第一年的研究成果吧。
我的項目跟題主的很相似,是開發一款混合動力汽車的控制器Hybrid Control Unit(HCU)。
Model based design基於模型設計的流程都需要遵循V-Cycle設計流程,如下圖所示:Step1. Functional-Design第一步往往都是用Matlab進行模型設計,我們也稱為Functional-Design,用Matlab/Simulink這種軟體建模的優點就是基於模塊設計,易於修改和建模。 Functional-Design需要遵循如下步驟:- 定義需求 (比如,節油性,動力性,續航能力等 )
- 被控制的plant模型建立,比如對於我的項目來說就是混合動力汽車的建模
- 控制器的模型建立(核心模塊為控制器的控制策略,大致為rule based,fuzzy logic,瞬時控制,全局控制)
- 模型驗證 verification
- Model in the loop simulation(基於模型的模擬)
1. 定義需求
需求不僅包括如何正確理解軟體需求,而且要考慮如何通過模型實現,真正的畫模型的時間,相 比之下並不多,如果Simulink/Stateflow用的熟的話,真正打開MATLAB畫模型的時間占建模階段 總時間的1/3都不到。
2. Plant (車體)建模對於車體的建模方式,普遍用EMR(Energetic Macroscopic Representation)的方式,簡單實 用,可複製性強,易於修改。但是國內的相關資料不多,英語資料還是很充分的,我用一個簡單 的串聯混合動力的示意圖簡單介紹一下EMR的建模方法,如下圖所示:其中紅色部分代表正向模型,包括發動機,shaft,三相永磁電機/發電機,etc。淺藍色是 inversion based control (local controller),深藍色的代表glaobal controller,是我的核心控制策 略存放的地方。評論區有人問EMR的建模方式,那我就多介紹點吧。=========================EMR建模方式介紹。開始========================EMR建模方式首先是由法國里爾的L2EP實驗室提出的,大概時間是14年前後,開始是用於描述Electromechanical-System的能量流轉換, 但是現在EMR已經可以用於其他領域的多物理系統(multi-physics systems),EMR可以實現多於兩個source of nature(電能,熱能,電化學能,etc)的能量管理。
EMR的原理是基於內部elements的action和reaction,用圖形的方式來表達能量的傳輸,轉換。能量源元素:綠色橢圓形代表著能量源,它可以是能量的接收者,也可以是能量的發出者。舉個栗子:上圖分別為發動機,電池和環境作為能量源時候的action和reaction。能量轉換元素:粉紅色正方形或圓形代表著能量轉換元素(不包含能量的積累),例如power converter或gear box都可以用能量轉換元素表示。紅色的向上箭頭是tuning inputs,在input(action)和output(reaction)之間調整轉換率。其中正方形代表單一能量轉換,例如,電能轉電能。
圓形代表多能量轉換,例如,化學能轉機械能。舉個栗子:能量耦合元素:改元素由粉紅色多圓或多正方形組成,代表著能量的分配,沒有tuning inputs。舉個栗子:能量積累元素:改元素由粉紅色中間帶對角線的長方形所表示,代表了能量的積累和釋放過程,需要滿足causity principle,例如可以表示一個shaft的力學過程,input的action是力矩,output的reaction是角速度。舉個栗子吧:
在EMR建模的時候,首先需要確定Tuning path和control path,比如之前的串聯HEV的模型圖,它的tuning path為:它的control path為:後續加reference
=======================EMR建模方式介紹。結束=======================
3. 控制器的模型建立控制器是存放核心控制策略的載體,所以控制策略才是最重要的。因為我做的是HEV的控制策略,所以控制的核心圍繞著充放電策略,剎車能量回收策略,和發動機和電機的功率分配策略。對於題主的電動車來說,應該主要是前兩個控制策略為主。在literature work階段,我從一定量的相關領域的文獻中總結出來當前的HEV控制策略的分類,如下:13種控制策略分為大概4大類:基於規則的控制策略,模糊控制策略,瞬時控制策略,全局控制策略。不同的控制策略有不同的優勢,這些也主要是我的研究方向。-基於規則的控制策略 rule based control strategy該策略是目前最常見的也是最簡單的控制策略,最大的優點就是簡單實用,運算速度快,對硬體的配置要求比較低,控制也很穩定。
舉個栗子:串聯式HEV的基於確定規則的電池充放電控制策略當串聯的HEV的電池電量SOC低於預先設定的最低闕值時,發動機啟動,驅動electric generator來給電池充電,當電池SOC達到預先設定的最高闕值時,發動機off,generator也off。並聯式HEV的基於確定規則的(ICE和EM)功率分配控制策略我們可以假定發動機的最優工作功率區間為:,電池SOC的最優工作區間為:。
- Rule1(A): 發動機off;
- Rule2(B): 發動機維持之前的狀態;
- Rule3(C): 發動機on;
- Rule4(D): 發動機維持on如果之前的狀態是on,發動機維持off如果之前的狀態是off(除非在predefined的需求功率特別大的period);
-模糊控制策略 fuzzy logic control strategy
模糊控制是以模糊集合論,模糊語言變數及模糊邏輯推理為基礎的計算機智能控制。
上面是引用維基百科對於模糊控制的解釋。
通俗的解釋可以把模糊控制器看作一個黑箱。黑箱內部是一個智囊團,通過模糊的輸入值,智囊團根據經驗到一個模糊的輸出值。這個黑箱的入口和出口分別有模糊化和去模糊化的機制。整個流程隨下圖所示:- 精確的輸入值 r首先被模糊化(通過隸屬函數membership funciton),得到了模糊的輸入值 E。
- 智囊團的經驗實際上是一條條預先制定好的規則rules,根據不同的規則,得出判斷Inference,也就是模糊的輸出值 U。
- 最後,根據去模糊化機制,系統最後輸出了精確的輸出值 u=y。
舉個栗子:
如下圖,一個模糊策略控制器根據汽車需求扭矩和電池SOC來判斷點擊輸出的扭矩。[1] P. Barrade and A. Bouscayrol, 「Energetic Macroscopic Representation - An Energy-Flow Based Methodology dedicated for the control of multiphysics systems,」 2011.
[2] E. Polytechnique, 「Simulation of a Series Hybrid Electric Vehicle based on Energetic Macroscopic Representation,」 pp. 1525–1530.[3] E. Formalisms, F. Grossi, W. Lhomme, R. Zanasi, and A. Bouscayrol, 「Modelling and Control of a Vehicle with Tire-Road Interaction Using Power-Oriented-Graph and,」 no. July, pp. 1–3, 2009. [4] R. Zanasi and F. Grossi, 「Modeling and control of Power-split hybrid electric vehicles,」 2010 IEEE Veh. Power Propuls. Conf., pp. 1–6, Sep. 2010.[5] R. Zanasi and F. Grossi, 「Differences and common aspects of POG and EMR energy-based graphical techniques,」 2011 IEEE Veh. Power Propuls. Conf., pp. 1–6, Sep. 2011. [6] D. Chrenko, M. Péra, D. Hissel, and S. M. Ieee, 「Fuel Cell System Modeling and Control with Energetic Macroscopic Representation,」 vol. 2, no. 1, pp. 169–174, 2007.[7] D. Chrenko, M.-C. Pera, and D. Hissel, 「Inversion based control of a diesel fed low temperature fuel cell system,」 2008 13th Int. Power Electron. Motion Control Conf., pp. 2156–2163, Sep. 2008. [8] A.-L. Allègre, R. Trigui, and A. Bouscayrol, 「Flexible real-time control of a hybrid energy storage system for electric vehicles,」 IET Electr. Syst. Transp., vol. 3, no. 3, pp. 79–85, Sep. 2013.[9] J. Solano Martínez, R. I. John, D. Hissel, and M.-C. Péra, 「A survey-based type-2 fuzzy logic system for energy management in hybrid electrical vehicles,」 Inf. Sci. (Ny)., vol. 190, pp. 192–207, May 2012.
[10] Y. Cheng, K. Chen, C. C. Chan, A. Bouscayrol, and S. Cui, 「Global Modeling And Control Strategy Simulation,」 no. June, pp. 73–79, 2009.[11] K. Chen, A. Bouscayrol, A. Berthon, P. Delarue, D. Hissel, and R. Trigui, 「Global modeling of different vehicles,」 no. June, pp. 80–89, 2009. [12] K. Chen, A. Bouscayrol, P. Delarue, A. Berthon, A. Architectures, and V. Drivetrains, 「Simulation of an Unified Control Scheme for Different Hybrid Electric Vehicles,」 pp. 3842–3847, 2009.[13] W. Lhomme, R. Trigui, P. Delarue, B. Jeanneret, a. Bouscayrol, and F. Badin, 「Switched Causal Modeling of Transmission With Clutch in Hybrid Electric Vehicles,」 IEEE Trans. Veh. Technol., vol. 57, no. 4, pp. 2081–2088, Jul. 2008. [14] M. Liukkonen and J. Suomela, 「Design of an energy management scheme for a series-hybrid powertrain,」 2012 IEEE Transp. Electrif. Conf. Expo, pp. 1–6, Jun. 2012.[15] L. I. Silva, a. Bouscayrol, and C. H. De Angelo, 「Modeling and control of an electric vehicle combining bond graph and Energetic Macroscopic Representation,」 2012 IEEE Veh. Power Propuls. Conf., no. 4, pp. 973–977, Oct. 2012. [16] F. Locment and M. Sechilariu, 「Energetic Macroscopic Representation and Maximum Control Structure of electric vehicles charging photovoltaic system,」 2010 IEEE Veh. Power Propuls. Conf., pp. 1–6, Sep. 2010.
==========================更新與2015年10月04日==========================
.
贊同 @李鐵皮 ,我們不方便直接回答。好在網上有現成的答案,我可以說說答案在哪兒。將問題分解為
(1)整車控制策略(2)基於模型的設計1、關於整車控制策略
知乎上的提問,有的百度一下就能知道,有的應該上CNKI。關於整車控制,應該上CNKI。整車控制早被研究透了,借鑒前人公開發表的成果,解決從無到有的問題簡直輕鬆愉快。(從有到佳就麻煩了。經濟性、駕駛性、電量平衡、NVH是永恆的課題;吐魯番、黑河、格爾木、襄樊、通州,隨便哪個出了幺蛾子都夠你喝一壺的)2、關於基於模型的設計
你可能需要掌握如下內容的一項或多項
(1)開發流程:需求定義、模型構建、功能測試(MILS)、代碼生成、一致性測試(SILS)、HILS、標定。(2)工具:Simulink、Stateflow、Targetlink等最好的方法:花錢把Mathworks的工程師請過來培訓,手把手地教你建模,教你走一邊上述開發流程。這麼干學習效率最高。
如果你想自學,Mathworks官網也有很多資源。
比如,MATLAB 和 Simulink 會議(汽車年會等會議資料)比如,Recorded Webinars(錄製的在線教學視頻)這些都無需license,註冊個ID就能免費下載。只是內容比較多比較雜,你需要根據實際情況做個篩選,那樣學習效率會高一點。收藏請點贊。為什麼我很多回答收藏比贊多~笑cry。。."正在著手建立一套電動汽車整車模型,前期利用MATLAB/SIMULINK進行建模,然後希望能建立一套HIL系統,對控制器進行驗證和整車動力性能的診斷系統"
看得出來樓主所圖甚大:
1. 樓主想自己做vcu的系統需求, 2. 樓主想自己搭建功能策略模型, 3. 樓主還想自己想做動力系統的診斷, 4. 樓主還想自己搭hil台架測試樓主你一個人就頂得上一個開發團隊了
你問的問題實在太大,知乎解決不了
這個問題任誰給你仔細回答了都涉及技術泄密,
找個諮詢公司吧,花個幾百萬就能解決。嚴重不同意匿名用戶的說法。
MBD(model based design)是趨勢,手寫代碼才是個坑,一個萬個人一萬個風格,如果寫程序風格好,還會給些comments,但是大部分人根本不會加註釋,時間長了,他自己都看不懂,更何況別人。代碼重構,模塊更新,手寫的代碼你去維護試試。利益相關:MBD既得利益者樓上不了解不要亂講啊,simulink可是工程上開發的主要工具,稍複雜的控制器用手寫c代碼光調試就能把人玩死。
題主的想法很好,但是我覺得你可能嚴重低估了你想做的工作的難度。
看你的描述,你可能想開發一個整車控制器的hil系統,但是在建模的過程中遇到了麻煩。我給題主提供一個思路,搞清楚你要做什麼,然後分模塊來實現。
整車的模型可以分成電機系統、傳動系統、縱向動力學模型三大塊,你需要根據整車控制策略來決定建模的精細程度,也就是說,搞清楚整車控制器控制什麼,然後對被空對象詳細建模,不重要的模型可以簡化。
具體的因為不知道你遇到什麼問題,所以幫不了。
推薦一個知乎汽車行業交流群 歡迎加入討論 487731827關鍵是模型!建立真實可靠,並且能夠實時運行的模型是開始時最困難的。想要hil,要有實時模擬設備,原配實時模擬設備很關鍵,要小心的根據模型複雜性選擇計算能力,然後選擇適當的io數量。
我會的不多,只能說一下我現在用到的一些軟體。我的活兒是2WD的電動車Torque Vectoring。
Matlab/Simulink (Model in then loop)Matlab/Simulink+IPG Carmaker (Software in then loop)Hardware in then loop最後就是整車測試。IPG Carmaker這個軟體也是對被控制對象建模的,只是他的針對性更強一些,就是車。我同學在馬牌做空氣彈簧也是用的這個,德國廠家用這個軟體的多一些。當然對於電機也需要單獨的試驗台,我用的軟體是dSPACE。
這整個過程就是上面寫的V Model研發過程思想,或者叫Rapid Control Prototype剛好前兩天回答了一個關於基於模型設計的問題,希望對樓主有幫助。汽車開發中的快速原型和基於模型設計的區別 dspace 有什麼作用? - 大腦一片德語的回答整車構型定了嗎?功能分配方案定了嗎?你就是一個做vcu的,需求不明確就直接開干?比如你說的制動能量回收功能,制動系統方案定了嗎?是解耦的還是非解耦的?制動能量回收扭矩是vcu計算還是esp計算?
我猜 樓主是個研究生 這些要求 都是導師提的 而且 三個月內要做出成果
個人觀點:對於車來說,更重要的是需求的協調與統一,功能厲害不厲害可能還是其次,因為功能之間的衝突很可能導致車在使用中出現安全隱患。
如果不是想開發工業級VCU控制系統的話,那可以找幾個功能練練軟體工具就好了,這一點別人已經回答的很好了,比如能量回收、充電、巡航等。
基於模型設計要求了開發過程的層次化與模塊化,即在建立VCU需求的前提下,將需求層層分解並用Simulink或c函數表示(可能只定義了一個大概,內部要素均為深化),每一層可能包括很多子功能模塊,開發完全基於需求,所有的評價也完全基於需求。印象中與V流程開發相輔相成。
從最初的策略開發,到軟體設計,軟體實現,軟體測試,再到最後的策略驗證。如果題主是想知道一個過程是如何完成的,建議題主去一家比較大的整車整機廠,或者博世大陸等零部件商。
推薦閱讀:
※matlab中,一個m文件為什麼設計成只能定義一個函數?
※有哪些 Matlab 代碼分享網站?
※如何看待有人在知乎上問具體如何編程的問題?
※有正整數1~10,出現的概率分布給定,如何利用MATLAB按照各數字出現的概率輸出一個數字?
※Matlab計算逆序數出現問題?