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

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

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