利用MATLAB重塑汽車軟件開發(fā)體系
軟件定義汽車帶來的,不僅僅是消費(fèi)者所能接觸到汽車最終形態(tài)上的體驗(yàn)升級(jí),背后是整個(gè)汽車開發(fā)行業(yè)生態(tài)的革命。系統(tǒng)工程、數(shù)據(jù)驅(qū)動(dòng)、虛擬車輛、軟件工廠...面對(duì)如此多的全新技術(shù)趨勢(shì)和應(yīng)用升級(jí),行業(yè)需要一個(gè)統(tǒng)一的開放的平臺(tái)能夠?qū)⑺胁煌募夹g(shù)和開發(fā)人員都集合在一起,加速實(shí)現(xiàn)虛擬車輛的仿真和開發(fā),包括后期車輛運(yùn)營(yíng)過程中的數(shù)據(jù)驅(qū)動(dòng)。
在近期召開的 2022 MathWorks中國(guó)汽車年會(huì)上,MathWorks中國(guó)區(qū)汽車技術(shù)經(jīng)理董淑成和我們分享了軟件定義汽車的挑戰(zhàn),以及如何實(shí)現(xiàn)汽車軟件開發(fā)體系的重構(gòu)。
軟件定義汽車:汽車行業(yè)的第二次數(shù)字化轉(zhuǎn)型
縱觀整個(gè)汽車行業(yè)的發(fā)展歷史,大致有兩次重要的數(shù)字轉(zhuǎn)型階段。第一次是“軟件提升硬件”,最早的應(yīng)用在于發(fā)動(dòng)機(jī)控制上,實(shí)現(xiàn)更少的排放。隨后一些和安全、性能相關(guān)的零部件,也通過軟件疊加電子電器硬件的方式去提升車輛性能。
早在20年前,很多軟件開發(fā)還是基于匯編語言的,對(duì)于機(jī)械背景的汽車工程師而言,相關(guān)的軟件開發(fā)工作非常生疏,開發(fā)難度極大。此外從設(shè)計(jì)上來看,很多利益相關(guān)方?jīng)]法進(jìn)行有效的溝通和評(píng)審,到了實(shí)現(xiàn)過程中才發(fā)現(xiàn)問題,導(dǎo)致修復(fù)成本極高。
也正是面臨著第一次數(shù)字轉(zhuǎn)型中出現(xiàn)的挑戰(zhàn),在那個(gè)時(shí)間節(jié)點(diǎn),“基于模型的設(shè)計(jì)”開始被引入到了汽車開發(fā)過程中來,將整個(gè)開發(fā)體系進(jìn)行了提升。開發(fā)者可以使用模型,用圖形化的方式去構(gòu)建算法;在Simulink平臺(tái)上進(jìn)行仿真,做一些提前測(cè)試;一些圖形化的算法可以直接被轉(zhuǎn)換成代碼,大大降低軟件開發(fā)的門檻,讓汽車背景的工程師也可以從事汽車行業(yè)的軟件開發(fā)工作。
而今,我們來到了汽車行業(yè)的第二次的數(shù)字化轉(zhuǎn)型期,也就是“軟件定義汽車”。這時(shí)候的汽車,軟件的價(jià)值變得更大,甚至可能會(huì)超越汽車本身的機(jī)械價(jià)值。汽車被稱為四個(gè)輪子上的手機(jī),一些整車廠甚至公開表示已經(jīng)成為了一家軟件公司。電動(dòng)化、智能化、網(wǎng)聯(lián)化和共享化的技術(shù)變革給汽車開發(fā)體系提出了新的挑戰(zhàn)。
董淑成表示,軟件定義汽車的關(guān)鍵在于整合系統(tǒng)、軟件和數(shù)據(jù)。要實(shí)現(xiàn)系統(tǒng)工程和軟件開發(fā)的能力,將敏捷開發(fā)融入到汽車V字型開發(fā)中,推動(dòng)軟件的標(biāo)準(zhǔn)化自動(dòng)化,集成模型驅(qū)動(dòng)和數(shù)據(jù)驅(qū)動(dòng)的流程,從而應(yīng)對(duì)第二次數(shù)字化轉(zhuǎn)型帶來的挑戰(zhàn)。通過系統(tǒng)工程、軟件工廠和數(shù)據(jù)驅(qū)動(dòng),疊加在一起實(shí)現(xiàn)虛擬車輛概念的真正落地。這里提到的虛擬車輛,并不僅僅是局限于汽車部分功能的實(shí)現(xiàn),而是將模型仿真度提高,例如虛擬標(biāo)定,從參數(shù)優(yōu)化實(shí)現(xiàn)性能提升。
整合系統(tǒng)、軟件和數(shù)據(jù),重塑汽車軟件開發(fā)體系
在智能汽車、新能源汽車領(lǐng)域,中國(guó)已經(jīng)走在了世界前列。此前汽車行業(yè)中為人詬病的軟件成熟度的問題,已經(jīng)在近十年得到了很大的提升。下一步的關(guān)鍵第一在于優(yōu)化開發(fā)流程,提高開發(fā)效率,提高成本優(yōu)勢(shì);第二,通過優(yōu)化算法來提高產(chǎn)品性能。
【將系統(tǒng)工程的范圍擴(kuò)大】
系統(tǒng)工程是為了應(yīng)對(duì)復(fù)雜多學(xué)科系統(tǒng)設(shè)計(jì)而產(chǎn)生的一門學(xué)科,針對(duì)汽車的系統(tǒng)工程,我們期望系統(tǒng)功能能夠解決的不僅僅是技術(shù)問題,還要包括一些更高級(jí)別的目標(biāo)。這些更高的目標(biāo)包括例交付周期、開發(fā)費(fèi)用、后市場(chǎng)需求、盈利狀況等等。基于當(dāng)前的系統(tǒng)工程需求,MathWorks擴(kuò)大了“系統(tǒng)”的范圍,系統(tǒng)工程開發(fā)從MBD升級(jí)到了MBSE。
MBD更多側(cè)重軟件開發(fā),而MBSE則是針對(duì)整個(gè)系統(tǒng)。如上圖所示,MBD包括子系統(tǒng)設(shè)計(jì)和子系統(tǒng)實(shí)施兩個(gè)部分;而MBSE則將范圍擴(kuò)大,把系統(tǒng)需求、系統(tǒng)功能和架構(gòu)、系統(tǒng)集成和認(rèn)證、開發(fā)和維護(hù)都涵蓋了進(jìn)來。董淑成表示,系統(tǒng)工程師可以從不同的維度去看這個(gè)模型,不同的部門從不同的維度使用這個(gè)模型。
【汽車軟件:敏捷開發(fā)融合和DevOps】
具備持續(xù)快速交付高質(zhì)量軟件的能力,是汽車軟件工廠存在的關(guān)鍵。傳統(tǒng)的汽車研發(fā)周期可能有5年之久,而今業(yè)界已經(jīng)壓縮到了1~2年的時(shí)間,這對(duì)于軟件的開發(fā)和交付提出了更高的要求。在IT行業(yè)中常見的敏捷開發(fā)的方式,也開始融合進(jìn)了汽車行業(yè)的V字型開發(fā)中。
另一個(gè)汽車軟件方面的重要趨勢(shì)是開發(fā)運(yùn)營(yíng)(DevOps),也就是一邊開發(fā)一邊運(yùn)營(yíng),將運(yùn)營(yíng)中產(chǎn)生的運(yùn)行數(shù)據(jù)反饋回開發(fā)階段,實(shí)現(xiàn)軟件的不停迭代。
MathWorks在軟件工廠中提供了非常全面的開發(fā)支持,例如從算法開發(fā)層面,Simulink進(jìn)行系統(tǒng)仿真;在測(cè)試層面提供各種測(cè)試工具給開發(fā)者進(jìn)行模型和代碼測(cè)試;在后期運(yùn)營(yíng)層面提供云計(jì)算、大數(shù)據(jù)和深度學(xué)習(xí)的算法支持。
董淑成表示,很多車企已經(jīng)開始了持續(xù)集成(CI)、持續(xù)交付(CD)的過程,走的更快的已經(jīng)開始做開發(fā)運(yùn)營(yíng)(DevOps)。
MATLAB特點(diǎn)在于可以提供豐富的API接口,所有的操作幾乎都可以有API接口去調(diào)用。這意味著在CI/CD的過程中,開發(fā)者可以通過已經(jīng)寫好的一些過程描述和腳本,去調(diào)用MATLAB執(zhí)行一些操作。而通過Simulink實(shí)現(xiàn)基于模型的設(shè)計(jì),圖形化的設(shè)計(jì)可以更方便不同團(tuán)隊(duì)之間交流,實(shí)現(xiàn)早期快速驗(yàn)證和代碼生成。這都極大地推動(dòng)了CI/CD,以及DevOps的發(fā)展。
【AI算法集成賦能系統(tǒng)開發(fā)】
目前一輛智能汽車一天就可以產(chǎn)生幾個(gè)T的數(shù)據(jù),如何將這些數(shù)據(jù)進(jìn)行高效挖掘是行業(yè)關(guān)心的話題。面對(duì)大量數(shù)據(jù)時(shí),如何實(shí)現(xiàn)數(shù)據(jù)特質(zhì)提取、數(shù)據(jù)建模和人工智能算法的訓(xùn)練和部署,是能否實(shí)現(xiàn)成功的數(shù)據(jù)驅(qū)動(dòng)的關(guān)鍵。掌握數(shù)據(jù)優(yōu)化的能力,訓(xùn)練自己的AI算法模型,是車廠和汽車服務(wù)商未來的競(jìng)爭(zhēng)力的體現(xiàn)。
作為一款數(shù)學(xué)軟件,MATLAB在數(shù)據(jù)處理上有著天然優(yōu)勢(shì)。MATLAB提供了端到端的工作流程,從數(shù)據(jù)預(yù)處理到AI建模、仿真測(cè)試和算法部署一整套的流程。
其中算法部署是值得稱贊的一個(gè)特點(diǎn),它可以推動(dòng)軟硬件解耦趨勢(shì)發(fā)展。開發(fā)者只需關(guān)注算法開發(fā)的工作,MathWorks可以將算法自動(dòng)生成符合特定硬件平臺(tái)或云平臺(tái)的代碼類型。不論是MCU、CPU、GPU、FPGA或是服務(wù)器,都可以自動(dòng)生成與之相應(yīng)的代碼。
【虛擬車輛:建立仿真車輛的完整功能行為】
前文已經(jīng)提到,虛擬車輛的概念已經(jīng)不僅僅是部分功能的驗(yàn)證,更重要的是通過優(yōu)化參數(shù)實(shí)現(xiàn)汽車性能的提升。所謂虛擬車輛指的是讓功能設(shè)計(jì)者能夠在幾分鐘內(nèi),以適當(dāng)?shù)脑敿?xì)程度集成系統(tǒng)、軟件和數(shù)據(jù)創(chuàng)建出一輛虛擬車輛,用于對(duì)功能進(jìn)行仿真,從而開展原型設(shè)計(jì)、虛擬標(biāo)定和虛擬驗(yàn)證。
一個(gè)強(qiáng)大的仿真平臺(tái),是虛擬車輛的核心。MATLAB提供了豐富的即用功能、多樣的開放接口,通過仿真實(shí)現(xiàn)最大程度的流程前置。
據(jù)悉,近年來MathWorks提供了如動(dòng)力總成工具箱、車輛動(dòng)力學(xué)工具箱等,幫助開發(fā)者快速構(gòu)建車輛模型。對(duì)于一些非常專業(yè)的子系統(tǒng),如果用戶想進(jìn)行更詳細(xì)的設(shè)計(jì),也可以使用Simscape去做更詳細(xì)的設(shè)計(jì)。同時(shí)Simulink平臺(tái)還可以去集成其他的建模仿真軟件,如下圖所示,基本上汽車行業(yè)內(nèi)大部分仿真軟件都可以集成到Simulink平臺(tái)上,從而實(shí)現(xiàn)車輛仿真,構(gòu)建一個(gè)虛擬車輛出來。
總結(jié)
在當(dāng)下軟件定義汽車的發(fā)展趨勢(shì)下,芯片廠商、Tier1供應(yīng)商以及主機(jī)廠,都已經(jīng)使用MathWorks提供基于MATLAB和Simulink的平臺(tái)開發(fā)了非常多實(shí)際案例。汽車的第二次數(shù)字化轉(zhuǎn)型,要將系統(tǒng)、軟件和數(shù)據(jù)集成在一起,構(gòu)建虛擬車輛的仿真。這種汽車開發(fā)體系的革命,需要一個(gè)功能齊全的、可擴(kuò)展、能夠覆蓋完整流程的軟件平臺(tái)支持。MathWorks已經(jīng)做好了準(zhǔn)備,并且將持續(xù)提供更多的功能升級(jí)和工具箱,和汽車行業(yè)的不同參與者,共同完成汽車行業(yè)第二次數(shù)字化轉(zhuǎn)型。