汽車導航 汽車導航
Ctrl+D收藏汽車導航
首頁 > 汽車資訊 > 正文

未動科技:支持L3+自動駕駛的軟件架構及產品架構

作者:

時間:1900/1/1 0:00:00

L2及以下級別的自動駕駛功能基本上被歸類為“駕駛輔助”。在每個功能場景中,主要的駕駛行為都是由駕駛員主導的,自動駕駛系統只在非常有限的約束條件下操作車輛。并且這些約束形成的場景基本上是獨立的,這也是為什么每個功能都可以由不同的供應商獨立開發的原因之一。作為賦能汽車駕駛行業的早期汽車智能科技企業,偉東科技自成立以來,一直專注于打造高水平的汽車駕駛視覺感知算法、高實時、高可靠性的系統軟件平臺和異構計算引擎。高級自動駕駛,也被稱為L3,已經逐漸取代了車輛的駕駛,導致了L2的根本變化。L3級別要求在良好的路況下,大多數操作將由車輛主導,車輛將自動完成自適應巡航控制、車道居中、自動變道、自動進入高速公路匝道等一系列操作。司機只需要在必要時介入汽車。當然,這對自動駕駛系統的硬件計算、傳感器配置以及各種傳感、規劃和控制算法提出了更高的要求。作為一家汽車智能技術企業,偉東科技更關注如何提高自動駕駛技術中的硬件算力,尤其是能夠支持深度學習的算法能力,以及如何開發更好的感知算法等。然而,如何使這些大大提高的專業能力協同工作,很少被具體提及。我們需要的不僅是與自動駕駛功能相關的各種技術模塊在車輛運行過程中的協同工作,而且是這些不同技術模塊在開發階段的有效分解,因為不同的技術模塊往往屬于完全不同的技術領域,需要不同的專業團隊(或供應商)來完成。如果這些技術模塊可以“拆卸”和“安裝”,這就是軟件架構需要解決的問題。正是因為從L2到L3的交叉難度太大,人們對L2的軟硬件架構進行了修補,試圖在不改變核心架構邏輯的情況下添加一些新功能,才有了所謂的L2.5。然而,L2原生架構上的補丁功能最終將結束,必須有一個新的架構來支持L3及以上版本的自動駕駛。L2自動駕駛軟件架構的瓶頸多個獨立的自動駕駛控制器+域控制器的方案主要用于L2和L2.5的開發。其在軟件架構方面的瓶頸至少如下:1多個獨立的控制器導致計算資源的調度不協調,導致計算能力的浪費和稀缺。例如,全自動泊車輔助功能和ACC/AEB功能不會同時激活。車速超過20公里后,駐車輔助功能停止,ACC/AEB可以激活。然而,停車輔助系統的計算能力不能用于ACC/AEB功能。在低速時,情況正好相反。2.自動駕駛范圍內的通信延遲。多個控制器只能通過總線進行通信,從而導致一定量的數據延遲。如果使用高速Can總線(1Mbps),毫米波雷達每個周期可以發射30個目標,實現50%的總線負載。3.每個控制器的自動駕駛功能沒有一致的架構設計,只能通過信號進行數據通信,通過域控制器進行協調。當堆疊更多的功能時,復雜性很難維持。4.基于功能(ACC、LKA、TJP等)的設計方法使得難以應對L3及以上基于場景的調度。實現的功能越多,就越難定義功能的邊界。如果沒有一致的體系結構設計,并行運行的功能可能會導致復雜性呈指數級增長。5.不可能在獨立的控制器之間有效地共享公共組件,并且每個控制器重復輪子。6.每個控制器的功能實現無法利用其他控制器計算的感知結果,導致資源浪費。在這些問題的背景下,自動駕駛的域控制器越來越集中,這意味著這些控制器需要集成在一起……

高性能域控制器。即使域中有其他控制器,它們基本上都是低智能的,通常只執行單個感知項目來獲得原始數據。然而,感知算法仍然在域控制器內完成。在如此高的集中度下,高性能域控制器需要新的軟件架構。L3+自動駕駛軟件架構鳥瞰技術創新的L3+軟件架構是為了滿足高性能域控制器的需求而提出的。自動駕駛域控制器是一個非常復雜的系統,其軟件體系結構涉及多個方面。很難從單一的維度準確地理解整體結構。下圖從3000米的鳥瞰圖中,從三個正交維度描繪了整個軟件體系結構。“正交性”是一個具有垂直概括意義的數學概念。這表明這兩個分類的維度是獨立和不相關的。

北京

圖1動視科技軟件架構鳥瞰圖2.1動視科技L3+軟件架構:“層次”維度從左到右逐漸上升,每一層都依賴于左一層來完成其工作。盡管本文是關于軟件體系結構的,但也很容易理解圖中的硬件。畢竟,軟件依賴于硬件。首先,從兩個角度理解每一層的作用:1這一層做什么?2.這個層不做什么

北京

表1 ActionTech 2.2的軟件架構級別ActionTech L3+軟件架構:在“實時域”和“性能域”的分工中,越到最后,規劃和控制的實時性要求越高。硬實時性要求在一定時間內做出響應,并在一定時間完成。這需要硬件和計算機操作系統提供基本保證。通常,使用一個在MCU上運行的相對簡單的實時系統來實現這一點。MCU的計算能力有限,其計算資源對基于機器學習的視覺算法的需求要低幾個數量級。因此,需要集成高性能CPU和人工智能計算資源的SoC來滿足高性能計算的要求。通過這種方式,它被分為“實時域”和“性能域”。在性能領域,運行的計算機操作系統通常不滿足硬實時性要求,而是努力滿足軟實時性要求。例如,Linux有支持實時性能的內核補丁。但實時補丁不足以實現實時性能,基于Linux的應用程序還需要利用實時補丁提供的功能。在上面的三維圖中,“分工”和“層次”的坐標軸是正交的。也就是說,“層次”軸上的每個分段在“實時域”和“性能域”中都有相應的目標。每個主題通常對應于一個特定的軟件產品。下表列出了一些組合示例:

北京

表2中的產品劃分示例Classic AutoSar非常獨特,因為它屬于實時域,但在層次軸上跨越了兩層。2.3京東科技L3+軟件架構:“方面”是軟件架構中的一個概念。編程范式中有一個概念叫做“面向方面程序”(AOP)。其基本含義是在軟件架構中將軟件功能分為“核心業務”和“外圍業務”:核心業務是指完成實際業務邏輯的功能系統,如算法執行、場景切換等。外圍業務是指即使不實現,也不會影響核心業務執行的功能。例如,性能統計、信息安全等。并不是說這些功能不重要,而是將它們與核心業務邏輯區分開來,有助于更好地理解和實現核心業務。同時,可以從更全球化的角度設計和實現具有相同方面的外圍業務,并為相應的方面設計合適的專有架構,然后與核心業務集成。在上面的三維圖中,由D軸和L軸組成的平面中的每個交點都是一個乘積,這個交點映射在a軸上以表示函數……

產品需要在相應的部分中實現。例如,以D.R+L.HW表示的硬件MCU需要在A.FuSa平面上達到ASIL-D級別。由于D軸和L軸的每個交點都涉及軟件技術的顯著差異,因此投影在A軸上每個平面上的需求點在所使用的技術解決方案中也有很大差異。因此,在系統開發過程中(V模型左上角的系統開發階段),可以提出某個方面的總體設計要求。但是,當涉及到每個DL軸交叉點時,它應該由該交叉點的相應產品開發團隊單獨實現。一個團隊不可能實現一個完整方面的所有功能。ROS/ROS2和“中間件”由于ROS/ROS經常用于自動駕駛系統的原型開發,我們將結合上述三維圖討論ROS/ROS的位置以及它是否可以用于自動駕駛量產。首先,讓我們明確操作系統的概念。ROS是一個機器人操作系統,雖然名稱中包含字母OS,但這個OS并不是那個OS。一般來說,OS專門指計算機操作系統,如Windows、Linux、MacOS、RTOS等。為了避免歧義,本文不使用縮寫,完全寫成“計算機操作系統”或“計算機操作體系”。從廣義上講,操作系統為某個專業領域提供了一套軟件解決方案和應用程序接口。該專業領域的用戶可以基于此界面簡化與領域相關的開發。因此,該解決方案軟件系統可以稱為特定于領域的操作系統。ROS是一種用于解決機器人軟件開發的特定領域操作系統。但實際上,使用ROS或ROS2編寫的應用程序只是在計算機操作系統上運行的進程,但它們鏈接到ROS/ROS2提供的庫。ROS/ROS2還提供了促進機器人開發的軟件包,例如用于某些算法或坐標轉換的工具庫。因為自動駕駛汽車在某種意義上也是一個自動駕駛機器人,ROS/ROS2可以用于自動駕駛的原型開發,并且ROS/ROS 2的生態系統中有許多方便的工具可以為開發提供很多便利。在上面的三維圖中,ROS/ROS2的位置在交叉區域內,并在一定程度上延伸。然而,它只涵蓋了這兩個領域中的一小部分。而且在A軸上幾乎沒有實現任何功能。3.1上表詳細描述了ROS/ROS2在(D.P+L.BSW)中的位置,該表映射到通信網絡設備的概念。其中很大一部分是管理飛機的工作,然后一個重要的點是提供通信能力。通常,還將提出基于L.BSW的功能開發應用程序的框架形式的規范。ROS/ROS2實際上主要在L.BSW層提供通信支持功能,允許各種應用程序節點通過發布-訂閱模式解耦。車輛控制器所需的基本管理功能很少在ROS/ROS2中實現。有人認為,由于實時通信不足,ROS2無法用于車輛控制器的工業批量生產。這是一個誤解。ROS2最初并不是為實時域設計的。如果需要在ROS2中運行實時性要求高的車輛控制算法,這是軟件設計錯誤,而不是ROS2的問題。ROS2可以用于大規模生產的智能駕駛控制器嗎?答案是肯定的,前提是L.BSW層所需的所有功能都已完成,并且A軸截面所需的全部特性都已完成。這實際上是基于ROS2體系結構來實現一組AP AutoSar規范。這可以成為一個獨立的產品,可以花時間、人力和金錢開發,只是看看它是否必要和值得。3.2 ROS/ROS2在(D.P+L.FW)ROS/ROS2中的地位確實實現了機器人開發的應用框架,并提供了許多基本組件,極大地促進了機器人應用的開發。然而,目前的機器人應用程序只在很小的區域內移動。倉庫機器人的范圍相對較大,運動范圍只有一百米,場景相對單一。因此,ROS/ROS2對機器人開發的支持被映射到智能駕駛,這主要反映在分形遞歸EPX模型的最內層。在短距離內對單個場景的感知、規劃和控制執行。它沒有針對復雜場景的調度(S)機制……

以及用于多場景并行的執行仲裁(A)機制。畢竟,目前還沒有需要從北京到廣州旅行的機器人。因此,作為自動駕駛的軟件開發框架,ROS/ROS2仍然有許多缺點,但作為一種快速原型開發工具,它仍然是一個非常好的選擇。3.3關于L3+自主驅動的“中間件”,顧名思義,“中間件”必須位于兩層的中間,從上層屏蔽下層的復雜性。計算機軟件體系結構中有一句名言:“計算機科學領域的任何問題都可以通過添加間接的中間層來解決”。這是軟件體系結構設計的一個主要設計理念,在無數地方得到了應用,解決了無數問題。“中間”一詞也是相對的。當有多層堆疊時,每一層都是上層和下層之間的中間層。因此,當我們說“中間件”時,我們需要指出它的上下文,否則可能會在表達和理解上存在不一致。當我們說AP AutoSar或CP AutoSar是中間件時,這個中間件具有清晰的L.BSW層語義。在計算機操作系統和車載ECU的特定功能實現之間,ECU功能實現層屏蔽了與特定處理器和計算機操作系統相關的細節,并實現了與車輛網絡、電源和其他系統交互所需的基本服務。當我們將“ROS/RS2稱為中間件”時,其含義并不等同于“AP AutoSar作為中間件”。

ROS/ROS2是一個用于機器人開發的應用程序框架,在機器人應用程序和計算機操作系統之間提供通用的中間層框架和常用的軟件模塊(ROS Package)。ROS團隊認為,這個框架做得足夠好,可以稱之為操作系統。L.FW層位于L.BSW和L.APK層之間。它為自動駕駛功能或場景的開發提供了軟件框架和基本組件。就其上層而言,它也是中間件。如果做得好,它也可以被稱為操作系統,這就是“自動駕駛操作系統”。無論如何,一切都是相對的。為了避免歧義,本文通常不使用“中間件”一詞,如果使用,它將清楚地指出哪兩層代表中間層。在大多數情況下,我們使用“車輛控制器基本軟件”來表示任何汽車電子ECU需要實現的基本軟件功能。它是計算機操作系統之上、ECU實際功能層(FW+APK)之下的中間層,代號為L.BSW。無動科技對自動駕駛中間件如何更好地支持上層應用有著準確而透徹的理解。結合多年的視覺感知研發積累,可以更好地與主機廠合作,優化汽車本身的功能,提升用戶的駕駛體驗。

標簽:北京

汽車資訊熱門資訊
政策加碼儲能產業 比亞迪助力能源轉型

2021年4月21日,國家發改委、能源局聯合發布《關于加快推動新型儲能發展的指導意見》,首次從國家層面明確和量化儲能產業發展目標。

1900/1/1 0:00:00
活久見 她們竟然在全新一代捷途X90車內玩瑜伽

過去一年中,現實重新定義了人們的生活空間。買菜不是非要去市場、辦公不是非要去公司,“社區團購”和“移動辦公”的普及改變了我們的生活空間,也為我們帶來了更高效的解決辦法。

1900/1/1 0:00:00
破局·重塑 鐵將軍“新零售”2.0來了!

近年,“新零售”風暴席卷而來,消費者的購買模式產生了翻天覆地的變化。各行各業都紛紛思考如何迅速在傳統模式的基礎上揉入“新零售”玩法,在困難重重的零售市場中脫穎而出。

1900/1/1 0:00:00
充電便利性再提升 全球首個汽車品牌私樁共享正式發布

5月12日,廣汽埃安正式發布全球首個汽車品牌私樁共享,標志著廣汽埃安能源生態布局再度提速,在致力構建可持續利用能源生態的道路上,又向前邁進了一步。

1900/1/1 0:00:00
再下一城!福州皮卡解禁 長城炮玩轉皮卡車生活

又一省會城市皮卡解禁,皮卡乘用化勢不可擋5月13日,福州正式解除皮卡限行規定,與乘用車享受同等路權,可以通行市區及城市快速路。作為省會城市,福州的解禁,必將掀起福建全省解禁浪潮。

1900/1/1 0:00:00
一区二区三区视频