官术网_书友最值得收藏!

1.2 基于模型的控制系統設計

基于模型的設計方法是一種基于具體數學模型解決具體問題的數學與計算機設計相結合的方法。它廣泛應用于運動控制、工業裝備、航空航天和汽車系統等領域,也是汽車電子控制中系統設計的發展趨勢。基于模型的設計方法主要包括需求分析和性能描述、控制系統設計、模型建立、控制算法設計、控制性能驗證等,其中,基于模型的思路貫穿整個系統開發進程,即控制需求、設計和驗證始終需要立足在系統模型上。基于模型的控制系統設計的主要目的是:

1)充分利用建立的模型使系統開發的風險降到最低。基于模型的控制系統開發更加透明,且各部分分工更加明確,從而改善系統開發的管理,降低風險。

2)充分利用具體的模型語言加強不同模塊的交流溝通,使系統開發并行完成。標準化的系統描述和標準的模型語言,使得不同模塊溝通沒有較大的障礙,從而提高溝通效率。

3)充分利用精確的模型減小開發返工的代價,并提高和保證系統開發質量。在系統開發過程中,基于模型的控制系統設計可以在模型的基礎上進行必要的前期返工,從而降低返工的代價,提高整個系統開發的質量。

4)充分利用模型縮短系統開發的總體周期,并降低開發費用。基于模型對系統進行完善,可以在開發前期將一些不必要的錯誤排除,同時提高每一步改善的可追溯性,從而有效縮短系統開發的總體周期和減少開發費用。

1.2.1 需求分析與控制方案

基于模型的設計在控制系統開發中要求不同的部門使用同一組模型,相應的控制問題有相同的數學語言,從而建立一個共同的交流框架。基于模型的方法為控制算法的理論研究和工程實現搭建了一個系統設計橋梁,使控制理論回到工程系統的層面,并將設計集中在系統的角度。整個設計過程以需求驅動,對于不同的控制任務,設計過程截然不同。在這個過程中,需要根據一些工程設計經驗,將用戶功能需求定義轉化為設計的性能需求定義,即根據相應的限制和約束,將具體的功能需求轉化為具體的控制性能指標(數學描述語言),為控制器設計提煉一個上層目標。整個設計過程離不開對控制需求的分析,不同的控制任務可能對應不同的系統輸入和干擾量,因此設計的控制系統也不相同。在控制系統設計過程中,需要根據控制性能指標選擇執行器和傳感器,進行控制方案的設計,此時需要盡可能多地考慮系統存在的干擾,以達到抑制更多干擾、增強系統魯棒性的目的,使得系統的控制效果更好。通常情況下,需要先將系統的控制框圖畫出,然后通過分析系統前向通道和反饋通道所受的干擾,去分析設計系統的魯棒性能。從系統設計框圖中可以明確系統的被控輸出、控制輸入、擾動以及中間重要的系統狀態,同時能夠看出干擾對控制輸出性能影響的強弱程度,為后續的建模和算法設計提供依據。

1.2.2 模型建立

對于基于模型的設計,建模是一個關鍵環節。汽車系統的模型可以有很多種形式,從建模方式上來講可分為物理機理模型和辨識模型。物理機理模型主要是依據現有的定理定律如牛頓第一定律、牛頓第二定律、能量守恒定律、基爾霍夫定律、理想氣體方程等建立的模型,可以大大減少數據量。辨識模型主要是根據從實際得到的與過程有關的數據進行數理統計分析,按誤差最小原則歸納出該過程各參數和變量之間的數學關系式。一般建模過程需要進行參數辨識,可以保證整個模型不發生大的偏差。然而在很多應用實例中,物理模型和辨識模型往往同時存在于一個“灰箱”模型(被稱為數據和機理混合模型)中。該模型在包括物理機理的同時也包含一些經驗模型,如經驗圖表。在汽車控制系統建模時,一個必須要考慮的問題就是車輛系統是一個高度非線性(比如發動機特性、行駛阻力、執行機構特性等)、高度不確定(比如車輛質量、坡度、液壓油油溫等)的動力學系統,由于各系統間的耦合,新參數的控制輸入影響著多個系統輸出。

基于模型的控制系統設計開發中存在兩個模型:一個是面向控制器設計的模型;一個是面向控制器驗證的模型。面向控制的模型主要用于控制器設計,包括通常的傳遞函數和狀態空間方程等。這個模型是仿真模型的高度簡化,體現了動態系統的基本模態,忽略了系統動態特性中過于細致的高頻部分。同一系統由于控制需求不同,建立的面向控制的模型也可能不同。汽車系統中,簡單的系統特性可以通過經驗公式進行擬合,但是一些非常復雜的系統特性很難通過具體的公式進行擬合,建立的模型不可能同實際系統完全一致,這就需要建立一個面向具體實際問題的模型,期間可以進行簡化與假設,比如,在研究傳動系的時候,將發動機動力學模型用MAP表進行表示。這種情況下,通常用機理和數據混合的方式對模型進行描述,但這種描述會引入數據MAP表,無疑給基于控制理論的算法設計帶來了新的挑戰。

建立面向控制器驗證模型的目的是高保真地再現真實的被控對象,往往比面向控制的模型更復雜。模型的仿真步長一般也比較短,通常小于1ms,但是如果考慮液壓系統等高度動態系統的特性,那么仿真步長可能會小于0.1ms。仿真模型可以用于離線環境下的控制算法測試,也可以與真實電子控制單元(Electronic Control Unit,ECU)和執行器一起構成硬件在環(Hardware-in-the-Loop,HiL)系統進行電控單元的測試。它的建立一般可借助一些商用開發軟件完成。值得強調的是,如果面向控制器驗證的模型和實際系統精度高度一致,那么在模型校驗時調整的參數就可以直接用于實際系統或者稍作調整后使用。

模型建立完成后,需要驗證模型的精度。面向控制的模型高度簡化,不可避免地存在模型誤差,可能與實際系統有一定距離,因此在對面向控制的模型進行校驗時應當重點關注系統的主要模態。面向控制器驗證的模型要與實際車輛數據進行對比:在工況一致、相同輸入的前提下,比較實車和模型的輸出,其主要目的是高保真地再現真實的被控對象。

1.2.3 控制算法設計

在汽車控制單元中,用于控制任務的計算資源還不足40%,為了降低實現成本和計算代價,汽車工程中多采用查表和計算量較小的PI/PID算法。目前,復雜的控制系統的工程實現主要采用前饋和基于MAP的PI/PID反饋控制,通常情況下還要加上特定工況下的控制量修正。隨著基于模型的設計在汽車系統中的應用,許多先進控制理論與方法開始受到汽車控制領域關注,如魯棒控制、自抗擾控制、滑模控制以及模型預測控制等。這就需要根據系統的具體需求,結合系統特點,選擇合適的控制算法,利用面向控制器設計的模型進行控制算法設計。

當然,控制算法設計不僅僅是設計一個合理的控制器,其實還應當包括基于模型的控制器參數整定規律的獲取,如基于模型的標定(Model-Based Calibration,MBC)。對于一個特定的汽車系統,即使控制算法采用傳統的PI/PID,也可以在基于模型的基礎上得到PI的參數整定規律,利用這個規律指導實踐,縮短標定周期。

1.2.4 控制性能驗證

在汽車系統控制算法開發過程中,不同領域(如動力傳動、底盤、電子系統)的研發人員需要打破控制和系統分離對待、分別研究的分工隔閡,對問題和方案擁有共同的、全面的理解,使得控制器的測試能夠得到較為全面的性能評價,只有這樣才利于獲取合理的控制器設計方案。控制器性能的評估是整個控制系統設計的重要階段,因為控制結果可以直接反映出系統設計是否滿足最初的控制需求和控制性能要求。同時,基于模型的控制系統測試(尤其是硬件在環測試)可以方便地重復提供各種工況下的測試,也可以提供臺架和實車很難實現的極限工況下的測試,降低了測試的成本和周期。

基于模型控制系統的控制性能測試分為兩個階段,如圖1-3所示,首先是離線驗證階段,在該階段可以校驗控制方案是否合理、控制器實現邏輯是否正確以及功能是否滿足要求。離線仿真是基于仿真模型驗證控制算法的一種手段,也就是通常意義上的軟件在環(Software-in-the-Loop,SiL)測試,仿真模型和控制器在PC上運行不具有實時性。這個階段是將設計的控制器和搭建的仿真模型進行聯合,進行控制器參數的調整和控制性能的初步評價。通過聯合仿真得到多組控制參數下的控制結果,對比得到較優性能的一組控制參數。需要說明的是,目前這種獲得控制參數的思路可以通過自動調用仿真模型和優化算法實現標定的自動化,以達到降低標定成本和周期的目的。

圖1-3 基于模型的系統驗證過程

離線仿真測試之后是實時驗證階段。實時驗證階段包括快速原型(Rapid Control Prototyping,RCP)、硬件在環試驗和產品集成測試。

1)快速原型就是利用快速實時工具(如dSPACE公司的Micro AutoBox)將SiL階段標定后的控制器與實物相連接,通過實物測試進行控制器參數標定。這些早期的功能測試可以提前測試控制器性能并進行高效率的控制器參數標定,此外還可以大幅降低軟件故障率。

2)硬件在環試驗需要將設定好的控制器模型轉換為實際ECU的軟件代碼。為了保證轉換代碼的質量,使得代碼占用硬件資源盡可能少,轉化代碼的過程需要考慮代碼計算次序對精度的影響,還要對模型的每個參數的范圍、精度以及分配字符類型進行定義,即根據參數范圍和精度給每個參數分配不同的硬件資源。代碼轉化完成后,將其下載到ECU中與仿真模型或半實物仿真模型連接,進行ECU測試。

3)為了進一步對所開發控制系統的可靠性和有效性進行測試,通常在完成硬件在環試驗后進行臺架或實車試驗驗證。多數情況下,在這一步,所有控制系統已經可以集成運行起來,而且這一步的測試和標定需要專用的方法和工具,整個過程稱為產品集成測試。

主站蜘蛛池模板: 道孚县| 肥东县| 南皮县| 清苑县| 定州市| 靖宇县| 五河县| 太和县| 辽宁省| 曲阳县| 望都县| 通渭县| 拉萨市| 潼关县| 额尔古纳市| 太仓市| 克东县| 井陉县| 麻城市| 成武县| 法库县| 克拉玛依市| 海南省| 乐平市| 大同县| 德保县| 犍为县| 双江| 湘阴县| 布尔津县| 古浪县| 崇阳县| 东兴市| 炎陵县| 玉龙| 柘荣县| 上思县| 隆尧县| 横峰县| 双峰县| 成武县|