產(chǎn)品劃分和產(chǎn)品架構(gòu)的重要性
自動駕駛軟件架構(gòu)涉及太多不同領(lǐng)域的技術(shù)(算法設(shè)計,算法加速,通訊,圖像處理等等),每一個領(lǐng)域都可以是一個企業(yè)的專屬產(chǎn)品。我們需要一種方法對涉及的紛繁復(fù)雜的相關(guān)產(chǎn)品做一個產(chǎn)品架構(gòu)上的梳理。厘清不同產(chǎn)品之間的結(jié)構(gòu)層次。不同產(chǎn)品之間的依賴關(guān)系。這樣在我們討論一個相關(guān)產(chǎn)品時,能夠清楚這個產(chǎn)品的作用以及在整體產(chǎn)品架構(gòu)中的地位。
不同的產(chǎn)品涉及的專業(yè)領(lǐng)域差別巨大,沒有人能掌握所有領(lǐng)域的知識。區(qū)分出不同的產(chǎn)品,可以使單獨(dú)的產(chǎn)品更聚焦于特定領(lǐng)域,由合適的產(chǎn)品經(jīng)理做專業(yè)的定義,由具備合適技能的研發(fā)團(tuán)隊(duì)來開發(fā)和測試。
不同產(chǎn)品之間有相互的依賴關(guān)系,如,A 產(chǎn)品會交付給客戶,但是其開發(fā)需要 B 產(chǎn)品和 C 產(chǎn)品進(jìn)行支持,B產(chǎn)品也要交付客戶,而 C 產(chǎn)品不用。厘清其依賴關(guān)系可以讓我們知道哪些要先開發(fā),哪些后開發(fā),哪些可以由不同的團(tuán)隊(duì)并行開發(fā)再集成。在產(chǎn)品層面的劃分也可以更明確哪些產(chǎn)品可以購買,哪些必須要自己開發(fā)。
而且不同的產(chǎn)品有不同的研發(fā)周期,如果A產(chǎn)品依賴與B產(chǎn)品,而B產(chǎn)品的開發(fā)周期又很長,我們就要想辦法來提供模擬的方案來暫時消除這種依賴。保證A產(chǎn)品按期完成。這些都需要統(tǒng)籌考慮。前提是對不同產(chǎn)品的邊界有一個清晰的劃分
產(chǎn)品劃分邏輯可以有很多種,比如:
1. 根據(jù)特定的專業(yè)領(lǐng)域聚類關(guān)系進(jìn)行劃分
2. 根據(jù)從硬件到應(yīng)用層的層級關(guān)系進(jìn)行劃分
3. 根據(jù)縱向的功能切面進(jìn)行劃分
4. 根據(jù)是運(yùn)行時組件和還是開發(fā)支持工具鏈進(jìn)行劃分
產(chǎn)品架構(gòu)與產(chǎn)品線
2.1 四級產(chǎn)品架構(gòu)

圖1 四級產(chǎn)品架構(gòu)
下圖是以劃分了4級產(chǎn)品架構(gòu)等級 PA1~PA4。這個劃分實(shí)際是以“開發(fā)智能駕駛軟件框架及基礎(chǔ)組件(L.FW) ”為出發(fā)點(diǎn)來做的。
"智能駕駛軟件框架及基礎(chǔ)組件(L.FW)" 本身為第3級(PA3)產(chǎn)品的邊界。PA3 往上的PA2 包括所有運(yùn)行在在智能駕駛域控制器中的軟件。往下的 PA4 包含各種自動駕駛功能軟件包,這些軟件包都基于 L.FW 提供的組件接口進(jìn)行開發(fā)。
PA1還包括在PA2 之外的所有用于 PA2 開發(fā)的工具鏈和支持系統(tǒng)。
這里的 PA1-PA4的產(chǎn)品架構(gòu)是包含關(guān)系。
每一級 PA 內(nèi)還可以包含多條產(chǎn)品線,一個產(chǎn)品線內(nèi)可以包括多個相關(guān)的產(chǎn)品。產(chǎn)品線是按照產(chǎn)品的相關(guān)性來劃分的。
比如,PA1 內(nèi)除了 PA2外的產(chǎn)品可以分為幾大產(chǎn)品線:
-
軟件測試
-
數(shù)據(jù)采集與數(shù)據(jù)管理平臺
-
真值系統(tǒng)
-
算法開發(fā)支持
-
仿真測試
2.2 PA2 級產(chǎn)品結(jié)構(gòu)

圖2 PA2(域控制器內(nèi))的產(chǎn)品架構(gòu)
PA2 級別的產(chǎn)品在 (D.P + L.OS) 主要是要選擇嵌入式的計算機(jī)OS,常用的有 Linux、QNX或 VxWorks 等。
一般來講,智能駕駛領(lǐng)域以 Linux 為主,有開源的實(shí)現(xiàn)。但最好選用有專業(yè)團(tuán)隊(duì)支持的商業(yè)版本,一方面能提供加速 Linux 在目標(biāo)板上的移植和專項(xiàng)優(yōu)化,包括系統(tǒng)裁剪,啟動優(yōu)化等,一方面能夠提供長期的專業(yè)技術(shù)支持,跟進(jìn)最新補(bǔ)丁的加入。
PA2 級別的產(chǎn)品在 (D.R + L.OS) 可以是某個RTOS系統(tǒng)。一般芯片開發(fā)商提供微處理器抽象層(MCal) 也在這個位置。RTOS 可以基于 Mcal 來實(shí)現(xiàn)自己的芯片驅(qū)動,也可以獨(dú)立做驅(qū)動。也可以直接使用 CP AtuoSar , 但 CP AutoSar 橫跨了 實(shí)時域的 L.OS 和 L.BSW 兩層。
PA2 基本的產(chǎn)品在 (D.P + L.BSW) 區(qū)域是支持性能域的車載控制器基礎(chǔ)軟件,典型的產(chǎn)品就是 AP AutoSar. 對等的產(chǎn)品比較接近的是 ROS2。但 ROS2 只是完成了 AP AutoSar 通訊部分并沒有與車載控制器相關(guān)的模塊。另外,在 L.BSW 層,我們還需要實(shí)時域和性能域之間的數(shù)據(jù)同步機(jī)制。如果L.BSW 層選擇的第三方產(chǎn)品沒有提供,就需要自己開發(fā)。
2.3 PA3、PA4 及產(chǎn)品結(jié)構(gòu)
PA3基本上等同于 L.FW 層。其內(nèi)部產(chǎn)品主要是各自運(yùn)行框架。
FW:ENV 環(huán)境模型框架和 EPX-SA 模型的執(zhí)行框架是最主要的兩個。
另外還有平臺特定的框架,如 算法加速框架,視頻處理框架,2D/3D 渲染框架,HMI引擎,這些也需要開發(fā),不過需要基于平臺特定的SDK能力。
L.FW 層還會提供一些基礎(chǔ)的 EPX-SA 組件和部分基礎(chǔ)的感知算法,讓整個框架能夠運(yùn)轉(zhuǎn)起來。
PA4 產(chǎn)品是基于 PA3 實(shí)現(xiàn)真正的智能駕駛的功能。包含感知算法和 EPX-SA 的各種組件,這些算法和組件都被裝載到 L.FW 層的合適位置被執(zhí)行。不同的算法和組件的集合就形成某一個產(chǎn)品。
轉(zhuǎn)載汽車電子相關(guān)文章
轉(zhuǎn)自汽車電子與軟件