傳統整車(chē)開(kāi)發流程,思路(lα&ù),方法論要(yào)研發一(yī)輛(l×βφiàng)不(bù)含有(yǒu)輔助駕駛或者低(dī)階輔助駕駛(AEB,ESP等)的(de•δ)汽車(chē)并沒有(yǒu)想象中那(nà)麽低(dī₽→♣)效,原因是(shì)因為(wèi)這(zhè)個(g§φα è)級别的(de)開(kāi)發往往并沒有(yǒu)本質上(shàng)影(y☆αǐng)響到(dào)汽車(chē)的(de)傳統構成。傳感器(qì)比重很( ™¶®hěn)低(dī),執行(xíng)器(qì)并不(bù)需要(y $ào)特殊改造,控制(zhì)器(qì)沒λ♦≠有(yǒu)OTA強需求,應用(yòng)邏輯功↓₩↑能(néng)簡單,軟件(jiàn)比重并不(bù)高(gāo)。一(yī)切看(kàn)起來(l★≈∞•ái)都(dōu)能(néng)應對(duì)。
無論是(shì)軟件(jiàn)上(shàng)的(de)ASPICE流程還(hái)是(¥¥shì)硬件(jiàn)上(shàng)™&的(de)整車(chē)開(kāi)發流程 β或者零部件(jiàn)開(kāi)發流程,基本都(dōu)采↓♣用(yòng)了(le)V模型的(de)開(kāi)發思路(lù),有(yǒu)嚴格的(d>αβe)質量管理(lǐ)體(tǐ)系支撐。硬要(yào)說(shuō)缺$<點,就(jiù)是(shì)整車(chē)開(kāi)發周期往往很(hěn)長(chán ↓∞g)。
這(zhè)裡(lǐ)特别要(yào)提的♣♣♠(de)就(jiù)是(shì)MBD(M↔♦±odel Based Design)軟件(jiàn)開(kāi)發模式,₹↔這(zhè)種模式如(rú)果不(bù)是(shì)汽車<♣↓♣(chē)航天領域的(de)很(hěn)少(sh§λ↕'ǎo)接觸到(dào),和(hé)大(dà)家(jiā)知(zhī)道(dào)€≠的(de)C++,C,python代碼開(kāi)發有(yǒu)很(hěn)多(duō)區↓&→☆(qū)别。基于模型設計(jì)是(shì)一&π£(yī)種方法,較之傳統軟件(jiàn)開(kāi)發而言,使開(kāi)發者能(☆₽néng)夠更快(kuài)捷、以更少(shǎo)的(de)成本花(huā)費(fèi)進行γ✘≈(xíng)開(kāi)發。這(zhè)種開(kāi)←™發方式有(yǒu)很(hěn)多(duō)優勢
明(míng)确、清晰、唯一(yī),便于交流、便于維Ω護。
代碼自(zì)動生(shēng)成,編寫效率≈∏↑高(gāo),質量高(gāo),BUG引入少(shǎo)
文(wén)檔自(zì)動化(huà)生(shēng)産£π,無需額外(wài)撰寫,版本一(yī)緻性好(hǎo) φαε•
工(gōng)具都(dōu)有(yǒu)完整的(de)功能(néng)安全認證,滿足 "車(chē)規質量要(yào)求
有(yǒu)配套流程的(de)完整工(gōng)具鏈可(kě∏☆>✔)供使用(yòng),效率質量都(dōu)有(yǒu)保障 ♠₽§
總的(de)來(lái)看(kàn),這 α(zhè)是(shì)一(yī)套成熟有(yǒu)效的(≤←£'de)研發體(tǐ)系,然而随著(zhe)技(j•★ì)術(shù)發展,這(zhè)種模式開(kāi)始逐漸行₽$(xíng)不(bù)通(tōng)了(le)。這(zhè)些(xiē)變化(huà)表現(xiàε★≈n)在硬件(jiàn),軟件(jiàn)∞≈→α和(hé)算(suàn)法三個(gè)層面上(shàng),核心的(de)動因都(dōu)π₹↑δ是(shì)用(yòng)戶需求變化(huà)頻(pín)率的(de)快(kuài)速提高(gāo∑≠)。
造車(chē)流程和(hé)思路(lù)在大(dà)體(tǐ£φ)上(shàng)沒有(yǒu)變化(huà),其周期的§≤₽ (de)縮短(duǎn),主要(yào)得(de)益于電(diàn)動車(c÷¶hē)零部件(jiàn)數(shù)量的(deα∏ &)降低(dī),當然考慮特斯拉車(chē)身(shēn)和(hé)電(diàn)池的(de)一(y ≈ī)體(tǐ)化(huà)設計(jì)。按照(zhào)傳統車(chē)企的(de)組←>織架構和(hé)一(yī)般邏輯是(shì)永遠(yuǎ≤&φβn)造不(bù)出來(lái)的(de)。因此造車(chē)邏輯同樣有(γ♣₽♦yǒu)很(hěn)多(duō)變革的(de)方向, ≤€隻是(shì)速度很(hěn)慢(màn),且在當下↓±(xià)競争格局上(shàng)還(hái)沒有(yǒu)這(zhè)麽急迫。
電(diàn)子(zǐ)電(diàn)氣架構,≠₽§域控制(zhì)等的(de)研發流程同樣沒有(yǒu)什(shén)麽變化(♣✘☆₹huà),隻是(shì)産品級别上(shàng)的(de)開(kāi)發思路(lù)變化(huà★÷$∑)比較劇(jù)烈。域控制(zhì),OTA升級帶來(lái)了(le)♥↑集中化(huà)的(de)設計(jì)方向。
軟件(jiàn)是(shì)整個(•♥β•gè)研發流程變化(huà)最劇(jù)烈的(de)部分(fēn),從(c♣εφεóng)流程,工(gōng)具鏈到(dào)應用(yòn£$₩g)上(shàng)都(dōu)産生(sh♦≥'σēng)了(le)巨大(dà)變化(huà)。核心的(de)動因還(h←Ω✘ái)是(shì)由于代碼量的(de)指數(shù)級增加。另外(wài),代碼的(d ÷e)複雜(zá)度也(yě)提升了(le)好(hǎo)幾個(↓α gè)維度,這(zhè)導緻原有(yǒu)體(t←₹♥♣ǐ)系流程和(hé)工(gōng)具鏈的(de)失效。
MBD的(de)開(kāi)發邏輯首當其沖。→§作(zuò)為(wèi)一(yī)個(gè)夾在MBD和(hé)代碼開(kāi)發之間(jiān¶♥)的(de)工(gōng)程師(shī)$♠♣,必須承認兩者開(kāi)發模式在自(zì)動駕駛的(de)研發上(shàng)®$↔各有(yǒu)優勢,MBD開(kāi)發的(d≥₹±✘e)比重會(huì)降低(dī),但(dàn)遠(yuǎn)沒有(yǒu)到(d© ¶ào)消失的(de)地(dì)步。
針對(duì)面向标量的(de)複雜(zá)邏輯計(jì)算(suàn)® ₩MBD仍然具有(yǒu)舉足輕重的(de)作(zuòβ♠≥♠)用(yòng),因此汽車(chē)底層邏輯算(suà↕'αn)法在安全芯片的(de)開(kāi)發模式選擇仍然優先推薦MBD。但(dàn)是(≥λshì)考慮更複雜(zá)的(de)自(zì)動駕駛規則算(suàn)法的(de)©'γ↕開(kāi)發以及深度學習(xí)算(suàn)法的(de)開(kāi)發,MBD¶★方式就(jiù)表現(xiàn)出了(le)很(hěn)多(duō)軟肋,其靈活性無法滿"δφ足上(shàng)述兩種算(suàn)法的(de)開(kāi)發要(yào)求。
因此這(zhè)些(xiē)應用(yòng)開(kāi™∏γ)始使用(yòng)傳統互聯網公司都(dōu)使用(yòng)的(de)“☆δπ代碼編寫”的(de)開(kāi)發方式。由此也(yě)引入了(le)互聯網思維下(xià)的(de≥⣩)工(gōng)具鏈。其中基于Devops的(de)開(kāi)發流程框架被引入自(zì)動&§↓≥駕駛的(de)研發。針對(duì)更加複雜(zá)的(↑£de)基于深度學習(xí)的(de)算(σ↑€suàn)法開(kāi)發,還(hái)引入了(le)更深層次的(de)自(zì)動化(h™uà)數(shù)據處理(lǐ)閉環平台,作(zuò)為(wèi)Devops♥¶λ架構的(de)深入。如(rú)果devops是(shì)為(wèi)了(le)讓工(gō☆×₹↑ng)程師(shī)更好(hǎo)的(de)控制(∞¶>zhì)代碼質量并提升效率。那(nà)自(zì)動化(huà)數(shù)據處理(lǐ)→Ω✔閉環平台進一(yī)步希望通(tōng)過自(zì)動化( ★huà)的(de)優化(huà)流程,降低(dī)工(gōng)程師(shī)的(de)參®≠與,進一(yī)步提高(gāo)性能(néng←α₩)和(hé)效率。
工(gōng)業(yè)領域V模型的(de)開(kāi)發思路(£Ω←€lù)也(yě)在被挑戰,混合V模型流程以及敏捷開(kāi)發流程的(de)自(zì)動γσ駕駛軟件(jiàn)開(kāi)發流程正在被更多(duō)討(tǎo)論。我們不(bù)僅希望我們÷的(de)流程可(kě)以保障軟件(ji↓πàn)的(de)發布質量,還(hái)希望這(zhè)個(gè> ♣↕)流程可(kě)以讓軟件(jiàn)發布的(de)速度更快(kuài),簡單來(lái)€÷₹說(shuō)就(jiù)是(shì)”在籠子(zǐ)裡(lǐ)跳(tiào¶∏♥)舞(wǔ)”。
從(cóng)更加宏觀的(de)層面上(shàng),整車(chē)開(kāi)發≥≈各個(gè)層面上(shàng)的(de)生(shēng)命周期也(yě)在發生(shēn©φΩg)著(zhe)劇(jù)烈變化(huà),原來(lái)軟件(jiàn)開(®≤kāi)發往往在整車(chē)生(shēng)産環節就(jiù)完成了(l★<<e)鎖定,SOP後更不(bù)可(kě)能(néng)再發生(s₽¶λhēng)變化(huà)。這(zhè)種開(kāi)發邏輯給自(zì)動駕駛帶來(lái)了(π¥ le)不(bù)少(shǎo)負面影(yǐng)響。本 β質原因是(shì)整車(chē)開(kāi✘♦)發流程給軟件(jiàn)預留的(de)時(shí)間(>∞¶®jiān)往往隻夠一(yī)些(xiē)簡單邏輯的(de)開(kāi)發。過去(qù)這( zhè)不(bù)是(shì)問(wèn)題。但(dàn)面對(duì)更加複雜(zá)的(deφ§ )自(zì)動駕駛軟件(jiàn),這(zhè)σ←≠個(gè)周期往往是(shì)不(bù)足的(de),不(bù)僅對(duì<™)于開(kāi)發本身(shēn),測試的(de)時(shí)間(jiān)也(yě)同樣δ×÷無法滿足。如(rú)果按照(zhào)傳統α¥↑流程處理(lǐ),自(zì)動駕駛永遠(yuǎn✔±€)無法交付。
但(dàn)OTA升級改變了(le)這(zhè)個(gè)現(xiàn)狀,Ω∑軟件(jiàn)的(de)生(shēng)命周期得(de)到(dào)延續,可(kě)以在整車(♣♥∞chē)發布之後,繼續對(duì)軟件(jiàn)功能(néng)進行(xín≤↑g)必要(yào)的(de)升級。這(zhè)是(shì)一(yī)個(gè)區(qū)别于±傳統的(de)汽車(chē)的(de)典型特征。也(yě)給自(zì)βε動駕駛車(chē)留出了(le)必要(yào)的'☆ (de)時(shí)間(jiān)。
另外(wài)通(tōng)過對(duì)用(yòn♠≥g)戶數(shù)據的(de)搜集,自(zì)動駕駛的♥β•∑(de)算(suàn)法改進獲得(de)了(le)持續不(bù)斷的(de)燃料,為(wèi)π÷後續算(suàn)法的(de)開(kāi)發提供了(le)寶貴的(de)素材。過去(qù)這(♦₩σzhè)些(xiē)數(shù)據都(d♥±ōu)必須通(tōng)過大(dà)規模的(de ✘✔™)內(nèi)部路(lù)測來(lái)獲得(de),> ♣且質量和(hé)規模遠(yuǎn)不(bù)及客戶帶來(lái)的(de)。用(yβσòng)戶營運和(hé)用(yòng)戶畫↔§φ(huà)像分(fēn)析同樣從(cóng)這(zhè)種機(jī)制(zhì)中獲得(d¥e)收益。這(zhè)些(xiē)數(shù)據應用(yòng)使軟件(jiàn)開(kā→↕© i)發平台和(hé)數(shù)據閉環平台的(de)生(shēng)命周期普遍延長Ωπ(cháng)到(dào)了(le)整個(gè)車(chē)輛(liàng)的(de♥©)使用(yòng)周期,甚至很(hěn)多(duō)跨越了(le)多(duō'Ω♣φ)個(gè)平台的(de)使用(yòng)周期。
汽車(chē)行(xíng)業(yè)出生(shēng)的(de)軟件(ji•£•¥àn)工(gōng)程師(shī)看(kàn)∑δ到(dào)這(zhè)些(xiē)估計(jì)得(de)流淚,但↑&£→(dàn)時(shí)代發展确實快(kuài)過我們的(de)想象,一(yī)起努力吧< ×₩(ba)。
轉載汽車(chē)電(diàn)子(zǐ)↔∑相(xiàng)關文(wén)章(zhāng)
轉自(zì)汽車(chē)電(diàn)子(zǐ)與設計(jì)
上(shàng)海(hǎi)創程