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