自動控制車速的巡航控制系統負責許多復雜和相互關聯的控制功能,并且需要大量的分析和設計,以理解和解決功能間耦合和集成問題。由于提供了更多的功能以及由此增加的功能間耦合問題,卡車的巡航控制比乘用車的速度控制復雜得多。
戴姆勒工程師為梅賽德斯奔馳商用車重新設計了巡航控制系統,包括重型卡車、運輸車以及長途客車。使用 MathWorks 提供的基于模型設計的工具,他們僅在 18 個月內即完成系統的設計、測試,以及在 ECU 上的軟件實現。
梅賽德斯奔馳卡車
“MathWorks 的產品對于該項目的成功至關重要”,戴姆勒卡車產品創新中心項目經理 Mario Wünsche 說到,“MathWorks 的工具使我們能夠在整個項目開發過程中,在統一的平臺上實現快速原型、仿真和測試,無需手工編碼或者學習新的工具。”
挑戰
戴姆勒該項目團隊由系統工程師和軟件工程師組成,雖然已經開發了該應用的 C 代碼功能模塊,但是現在需要在一個新的目標 ECU 上重新設計并實現該模塊功能。從一開始項目開發周期就被控制在 18 個月內。基于以往經驗,項目團隊認為采用傳統的開發流程不可能在要求的時間內完成開發。
項目的目標是創建一個開發架構的模塊化應用,以便將來的項目能夠復用。由于多個團隊會同步進行該項目開發,因此他們還需要彼此共享成果。
復雜的巡航控制軟件能夠控制驅動和剎車扭矩,調節車間距和限速。系統控制器和道路限速器的輸入包括巡航控制操縱桿,油門,踏板,CAN 總線信號,以及車速、車距和加速度。如此多輸入多輸出的系統設計本身已經充滿挑戰,戴姆勒還需要確保所設計的系統能夠運行在一個存儲和計算資源均有限的定點微處理器上。
解決方案
戴姆勒采用了基于模型的設計流程,使用的工具包括MATLAB,Simulink和Embedded Coder等。MathWorks 咨詢工程師幫助他們開發了建模指南和模型架構,以便所設計的算法能夠生成最優化的 C 代碼。
戴姆勒項目團隊首先在Simulink和Statflow中搭建系統模型。該復雜的設計模型包括 3900 個模塊,140 個輸入信號,40 個輸出信號和 340 個參數。他們采用 Concurrent Version System(CVS)作為版本控制工具以使得各團隊能夠并行開發各子系統。
整個開發過程中,工程師們使用交互式的,自動化的測試工具,基于一個帶有預先定義測試用例和控制接口的測試數據庫,對所設計的系統不斷進行測試。將Simulink閉環仿真模型和運行在目標微控制器上的產品級代碼(由Embedded Coder從模型生成)通過 CAN 總線進行通信, 工程師們進行了處理器在環(PIL,processor-in-the-loop)測試。由此,戴姆勒(的工程師們)能夠快速地驗證Simulink的仿真結果和PIL測試結果是否一致。
完成測試后,工程師們采用Fixed-Point Designer、SimulinkCoder和Embedded Coder為巡航控制系統自動生成定點代碼。Fixed-Point Designer幫助工程師們自動確定Simulink模型中絕大部分模塊參數的定標和數據類型。Embedded Coder使得工程師們能夠生成滿足戴姆勒內部質量和編碼標準的產品級代碼。此外,自定義存儲類型功能允許工程師們能夠定義和控制不同版本產品中的數據類型。
“MathWorks的建模和代碼生成工具使我們能夠快速無縫地實現設計和測試迭代,并使我們能夠在僅僅 18 個月的時間內發布我們的產品。”
——Mario Wünsche,Daimler
代碼經過在目標 ECU 上測試后,工程師們在硬件在環(HIL,Hardware-in-the-loop)模擬器上繼續測試了目標 ECU,該模擬器由一個運行在虛擬機環境系統(VME Systems)的車輛模型和所有其他的實物車輛 ECU 組成。車輛模型運行在實時環境中,使得團隊就像在真實的車輛上采集計算所有的物理參數一樣。
結果
更緊湊、 高效的代碼。相比之前手工代碼版本的巡航控制系統,采用 Embedded Coder 和 Simulink Coder 自動生成的代碼,RAM 占用率降低了約 16%。
更高的測試效率。在桌面(開發)電腦上而不是在車輛上調試控制軟件,使得戴姆勒項目團隊減少了解決軟件問題的時間和成本。
更快的開發速度。整個項目,包括系統的分析、重構、建模和測試,僅僅用了 18 個月。如果沒有使用 MathWorks 提供的涵蓋仿真、產品級代碼生成和 PIL 測試等功能的工具,幾乎不可能在截止時間前完成項目開發。
-
控制器
+關注
關注
112文章
16444瀏覽量
179043 -
微處理器
+關注
關注
11文章
2274瀏覽量
82656
發布評論請先 登錄
相關推薦
評論