產(chǎn)品劃分和產(chǎn)品架構(gòu)的重要性
自動(dòng)駕駛軟件架構(gòu)涉及太多不同領(lǐng)域的技術(shù)(算法設(shè)計(jì),算法加速,通訊,圖像處理等等),每一個(gè)領(lǐng)域都可以是一個(gè)企業(yè)的專(zhuān)屬產(chǎn)品。我們需要一種方法對(duì)涉及的紛繁復(fù)雜的相關(guān)產(chǎn)品做一個(gè)產(chǎn)品架構(gòu)上的梳理。厘清不同產(chǎn)品之間的結(jié)構(gòu)層次。不同產(chǎn)品之間的依賴(lài)關(guān)系。這樣在我們討論一個(gè)相關(guān)產(chǎn)品時(shí),能夠清楚這個(gè)產(chǎn)品的作用以及在整體產(chǎn)品架構(gòu)中的地位。
不同的產(chǎn)品涉及的專(zhuān)業(yè)領(lǐng)域差別巨大,沒(méi)有人能掌握所有領(lǐng)域的知識(shí)。區(qū)分出不同的產(chǎn)品,可以使單獨(dú)的產(chǎn)品更聚焦于特定領(lǐng)域,由合適的產(chǎn)品經(jīng)理做專(zhuān)業(yè)的定義,由具備合適技能的研發(fā)團(tuán)隊(duì)來(lái)開(kāi)發(fā)和測(cè)試。
不同產(chǎn)品之間有相互的依賴(lài)關(guān)系,如,A 產(chǎn)品會(huì)交付給客戶(hù),但是其開(kāi)發(fā)需要 B 產(chǎn)品和 C 產(chǎn)品進(jìn)行支持,B產(chǎn)品也要交付客戶(hù),而 C 產(chǎn)品不用。厘清其依賴(lài)關(guān)系可以讓我們知道哪些要先開(kāi)發(fā),哪些后開(kāi)發(fā),哪些可以由不同的團(tuán)隊(duì)并行開(kāi)發(fā)再集成。在產(chǎn)品層面的劃分也可以更明確哪些產(chǎn)品可以購(gòu)買(mǎi),哪些必須要自己開(kāi)發(fā)。
而且不同的產(chǎn)品有不同的研發(fā)周期,如果A產(chǎn)品依賴(lài)與B產(chǎn)品,而B(niǎo)產(chǎn)品的開(kāi)發(fā)周期又很長(zhǎng),我們就要想辦法來(lái)提供模擬的方案來(lái)暫時(shí)消除這種依賴(lài)。保證A產(chǎn)品按期完成。這些都需要統(tǒng)籌考慮。前提是對(duì)不同產(chǎn)品的邊界有一個(gè)清晰的劃分
產(chǎn)品劃分邏輯可以有很多種,比如:
1. 根據(jù)特定的專(zhuān)業(yè)領(lǐng)域聚類(lèi)關(guān)系進(jìn)行劃分
2. 根據(jù)從硬件到應(yīng)用層的層級(jí)關(guān)系進(jìn)行劃分
3. 根據(jù)縱向的功能切面進(jìn)行劃分
4. 根據(jù)是運(yùn)行時(shí)組件和還是開(kāi)發(fā)支持工具鏈進(jìn)行劃分
產(chǎn)品架構(gòu)與產(chǎn)品線
2.1 四級(jí)產(chǎn)品架構(gòu)
圖1 四級(jí)產(chǎn)品架構(gòu)
下圖是以劃分了4級(jí)產(chǎn)品架構(gòu)等級(jí) PA1~PA4。這個(gè)劃分實(shí)際是以“開(kāi)發(fā)智能駕駛軟件框架及基礎(chǔ)組件(L.FW) ”為出發(fā)點(diǎn)來(lái)做的。
"智能駕駛軟件框架及基礎(chǔ)組件(L.FW)" 本身為第3級(jí)(PA3)產(chǎn)品的邊界。PA3 往上的PA2 包括所有運(yùn)行在在智能駕駛域控制器中的軟件。往下的 PA4 包含各種自動(dòng)駕駛功能軟件包,這些軟件包都基于 L.FW 提供的組件接口進(jìn)行開(kāi)發(fā)。
PA1還包括在PA2 之外的所有用于 PA2 開(kāi)發(fā)的工具鏈和支持系統(tǒng)。
這里的 PA1-PA4的產(chǎn)品架構(gòu)是包含關(guān)系。
每一級(jí) PA 內(nèi)還可以包含多條產(chǎn)品線,一個(gè)產(chǎn)品線內(nèi)可以包括多個(gè)相關(guān)的產(chǎn)品。產(chǎn)品線是按照產(chǎn)品的相關(guān)性來(lái)劃分的。
比如,PA1 內(nèi)除了 PA2外的產(chǎn)品可以分為幾大產(chǎn)品線:
-
軟件測(cè)試
-
數(shù)據(jù)采集與數(shù)據(jù)管理平臺(tái)
-
真值系統(tǒng)
-
算法開(kāi)發(fā)支持
-
仿真測(cè)試
2.2 PA2 級(jí)產(chǎn)品結(jié)構(gòu)
圖2 PA2(域控制器內(nèi))的產(chǎn)品架構(gòu)
PA2 級(jí)別的產(chǎn)品在 (D.P + L.OS) 主要是要選擇嵌入式的計(jì)算機(jī)OS,常用的有 Linux、QNX或 VxWorks 等。
一般來(lái)講,智能駕駛領(lǐng)域以 Linux 為主,有開(kāi)源的實(shí)現(xiàn)。但最好選用有專(zhuān)業(yè)團(tuán)隊(duì)支持的商業(yè)版本,一方面能提供加速 Linux 在目標(biāo)板上的移植和專(zhuān)項(xiàng)優(yōu)化,包括系統(tǒng)裁剪,啟動(dòng)優(yōu)化等,一方面能夠提供長(zhǎng)期的專(zhuān)業(yè)技術(shù)支持,跟進(jìn)最新補(bǔ)丁的加入。
PA2 級(jí)別的產(chǎn)品在 (D.R + L.OS) 可以是某個(gè)RTOS系統(tǒng)。一般芯片開(kāi)發(fā)商提供微處理器抽象層(MCal) 也在這個(gè)位置。RTOS 可以基于 Mcal 來(lái)實(shí)現(xiàn)自己的芯片驅(qū)動(dòng),也可以獨(dú)立做驅(qū)動(dòng)。也可以直接使用 CP AtuoSar , 但 CP AutoSar 橫跨了 實(shí)時(shí)域的 L.OS 和 L.BSW 兩層。
PA2 基本的產(chǎn)品在 (D.P + L.BSW) 區(qū)域是支持性能域的車(chē)載控制器基礎(chǔ)軟件,典型的產(chǎn)品就是 AP AutoSar. 對(duì)等的產(chǎn)品比較接近的是 ROS2。但 ROS2 只是完成了 AP AutoSar 通訊部分并沒(méi)有與車(chē)載控制器相關(guān)的模塊。另外,在 L.BSW 層,我們還需要實(shí)時(shí)域和性能域之間的數(shù)據(jù)同步機(jī)制。如果L.BSW 層選擇的第三方產(chǎn)品沒(méi)有提供,就需要自己開(kāi)發(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í)行框架是最主要的兩個(gè)。
另外還有平臺(tái)特定的框架,如 算法加速框架,視頻處理框架,2D/3D 渲染框架,HMI引擎,這些也需要開(kāi)發(fā),不過(guò)需要基于平臺(tái)特定的SDK能力。
L.FW 層還會(huì)提供一些基礎(chǔ)的 EPX-SA 組件和部分基礎(chǔ)的感知算法,讓整個(gè)框架能夠運(yùn)轉(zhuǎn)起來(lái)。
PA4 產(chǎn)品是基于 PA3 實(shí)現(xiàn)真正的智能駕駛的功能。包含感知算法和 EPX-SA 的各種組件,這些算法和組件都被裝載到 L.FW 層的合適位置被執(zhí)行。不同的算法和組件的集合就形成某一個(gè)產(chǎn)品。
轉(zhuǎn)載汽車(chē)電子相關(guān)文章
轉(zhuǎn)自汽車(chē)電子與軟件


