站在車企的角度看,QNX有點(diǎn)像Mobileye——盡管“易用”,但限制了車企的自主性;而Linux則有點(diǎn)像英偉達(dá)——比較“難用”,但賦予了車企很大的自主權(quán)及面向未來的兼容性。 隨著車企對(duì)軟件技術(shù)投入的加大和能力的提升,Linux在自動(dòng)駕駛市場(chǎng)的占有率大將會(huì)逐步上升,而QNX的市占率則會(huì)逐步下降;同時(shí),對(duì)基于Linux自研OS失敗的車企而言,還有QNX這條“退路”可以依賴,這反而讓他們?cè)谧匝?/strong>OS時(shí)少了些“后顧之憂”。 值得注意的是,自研自動(dòng)駕駛OS(已取得成功)的車企或自動(dòng)駕駛公司,無論特斯拉還是Waymo、Mobileye、華為或蘋果,都有一個(gè)共同點(diǎn):有自主研發(fā)的ASIC芯片。那么,有沒有這樣一種可能:打算自研自動(dòng)駕駛OS的車企,先從英偉達(dá)或Mobileye挖個(gè)芯片大牛來擔(dān)任自動(dòng)駕駛負(fù)責(zé)人或CTO,然后,一手抓芯片,一手抓OS? OS的價(jià)值主要在于可以更好地分配、調(diào)度運(yùn)算和存儲(chǔ)資源,但在分布式EE架構(gòu)下,各ECU基本只處理某一項(xiàng)單一任務(wù),并不存在資源“分配和調(diào)度”的需求;甚至連Mobileye的EyeQ 3和EyeQ 4,也只是跑單任務(wù)的ASIC,只需要處理攝像頭的數(shù)據(jù),因此,用Tier 1的MCU就可以了,不需要高性能的OS。 MCU的代碼行數(shù)少,流程和功能簡(jiǎn)單,并且邏輯也不復(fù)雜,因此,用MCU的風(fēng)險(xiǎn)系數(shù)很低。 而到了域控制器時(shí)代,許多項(xiàng)功能都被集成到一顆性能強(qiáng)大的soc芯片上,尤其是,在自動(dòng)駕駛功能從L2向L2+、NOA演講的過程中,傳感器的種類和數(shù)量大幅增加、需要處理的數(shù)據(jù)量更是呈指數(shù)級(jí)增加,如此復(fù)雜的任務(wù),簡(jiǎn)單的MCU已經(jīng)搞不定了,必須需要有一個(gè)強(qiáng)大的實(shí)時(shí)操作系統(tǒng)才能搞定。 從L2到L4,操作系統(tǒng)對(duì)實(shí)時(shí)性、功能安全、信息安全的要求都在提高。 以往,對(duì)自動(dòng)駕駛OS關(guān)注較多的是芯片廠商、L4級(jí)自動(dòng)駕駛方案公司、特斯拉,而大部分車企對(duì)自動(dòng)駕駛OS涉獵甚少。 某美國(guó)ADAS芯片廠商市場(chǎng)部負(fù)責(zé)人告訴《九章智駕》:“我們?cè)?019年問很多車廠、Tier 1'你們對(duì)什么操作系統(tǒng)感興趣’,結(jié)果都大家都一頭霧水,沒怎么思考過。博世又很強(qiáng)勢(shì),覺得 RTOS搭配經(jīng)典AUTOSAR的方案挺好的,但往多攝像頭發(fā)展,RTOS是否可行,沒有人知道?!?/p> 但隨著L2+、NOA/NOP等高級(jí)自動(dòng)駕駛功能逐漸成為新車的標(biāo)配,無論有沒有興趣,有進(jìn)取心的車企都必須要硬著頭皮“惡補(bǔ)”關(guān)于自動(dòng)駕駛OS的課程;個(gè)別車企甚至打算自研OS。 然而,自動(dòng)駕駛OS盡管重要,但并沒有芯片和激光雷達(dá)那么“熱門”,這也導(dǎo)致很多人對(duì)它有些誤解。比如,一旦某公司要自研自動(dòng)駕駛OS,就會(huì)被不少人解讀為“自研底層操作系統(tǒng)”,甚至有媒體的報(bào)道中會(huì)出現(xiàn)“基于Linux的底層操系統(tǒng)”這樣的硬傷。 那么,目前可用的自動(dòng)駕駛OS有哪些?車企所謂的“自研OS”究竟是什么意思?基于不同的內(nèi)核自研OS有什么區(qū)別?未來,自動(dòng)駕駛OS的話語權(quán)會(huì)掌握在誰手里? 帶著這些疑團(tuán),筆者在去年11月中旬參加了焉知汽車組織的自動(dòng)駕駛操作系統(tǒng)論壇,并在會(huì)后跟黑莓QNX IOT事業(yè)部大中華區(qū)首席代表董淵文、地平線市場(chǎng)拓展與戰(zhàn)略規(guī)劃副總裁李星宇及大眾問問CEO張人杰等人做了深入交流。 一:狹義OS和廣義OS 首先需要厘清兩個(gè)概念:狹義OS和廣義OS。 車載智能計(jì)算平臺(tái)自下而上可大致劃分為硬件平臺(tái)、系統(tǒng)軟件(硬件抽象層+OS內(nèi)核+中間件)、功能軟件(庫(kù)組件+中間件)和應(yīng)用算法軟件等四個(gè)部分。狹義上的OS特指可直接搭載在硬件上的OS內(nèi)核;而廣義OS從下至上包括從BSP、操作系統(tǒng)內(nèi)核、中間件及庫(kù)組件等硬件和上層應(yīng)用之間的所有程序。 圖片摘自公眾號(hào)“筋斗云與自動(dòng)駕駛” Hypervisor——一種運(yùn)行在基礎(chǔ)物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個(gè)操作系統(tǒng)和應(yīng)用共享硬件,也可叫做VMM( virtual machine monitor ),即虛擬機(jī)監(jiān)視器。Hypervisors是一種在虛擬環(huán)境中的“元”操作系統(tǒng)。他們可以訪問服務(wù)器上包括磁盤和內(nèi)存在內(nèi)的所有物理設(shè)備。 BSP(board support package)即板級(jí)支持包,也是介于主板硬件和操作系統(tǒng)之間的一層,主要目的是支持操作系統(tǒng),使之能夠更好的運(yùn)行于硬件主板。 OS內(nèi)核又稱為“底層OS”,提供操作系統(tǒng)最基本的功能,負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動(dòng)程序、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。 中間件,作為底層操作系統(tǒng)和這些應(yīng)用程序之間的橋梁,是對(duì)軟硬件資源進(jìn)行管理、分配和調(diào)度的平臺(tái),充當(dāng)著軟件和硬件解耦的關(guān)鍵角色。 具體來說,中間件通常對(duì)傳感器、計(jì)算平臺(tái)等資源進(jìn)行抽象,對(duì)算法、子系統(tǒng)、功能采取模塊化的管理,通過提供的統(tǒng)一接口,讓開發(fā)人員能夠?qū)W⒂诟髯詷I(yè)務(wù)層面的開發(fā),而無需了解無關(guān)的細(xì)節(jié)。這為開發(fā)者快速、高效、靈活地開發(fā)和集成自動(dòng)駕駛軟件提供了極大的便利。 功能軟件,包含自動(dòng)駕駛的核心功能模塊,如相關(guān)算法的編程框架(如TensorFlow、Caffe、PaddlePaddle等)。 自動(dòng)駕駛OS內(nèi)核的格局較為穩(wěn)定,主要玩家為QNX(Blackberry)、Linux(開源基金會(huì))、VxWorks(風(fēng)河)。因打造全新OS需要花費(fèi)太大的人力、物力,目前基本沒有企業(yè)會(huì)開發(fā)全新的OS內(nèi)核。 當(dāng)前,無論是Waymo、百度、特斯拉、Mobileye,還是一眾自動(dòng)駕駛初創(chuàng)公司、車企,所謂的自研自動(dòng)駕駛OS,都是指在上述現(xiàn)成內(nèi)核的基礎(chǔ)之上自研中間件和應(yīng)用軟件。 由于基于QNX開發(fā)中間件相對(duì)簡(jiǎn)單,并且受QNX官方的約束比較大,而基于Linux開發(fā)中間件有很高的技術(shù)壁壘,開發(fā)者們也可以享有更大的自主權(quán),因此,通常,很多公司提到的“自研OS”,都特指對(duì)Linux內(nèi)核做相應(yīng)裁剪,并在此基礎(chǔ)上開發(fā)中間件和應(yīng)用軟件。 華為的AOS,究竟是基于完全自研的OS內(nèi)核還是基于Linux內(nèi)核的中間件,外界存在兩種說法:有不少人認(rèn)為是“完全自研”,但也有不少操作系統(tǒng)領(lǐng)域的從業(yè)者認(rèn)為,AOS仍是基于Linux內(nèi)核的,但對(duì)Linux的內(nèi)核做了深度裁剪、加了一些安全固件及特有的驅(qū)動(dòng)程序,并在此基礎(chǔ)上開發(fā)了中間件。 需要強(qiáng)調(diào)的是,“中間件”這個(gè)詞的含義略顯模糊——系統(tǒng)軟件和功能軟件里都包含了“中間件”,那企業(yè)自研的“中間件”,究竟是哪一塊呢?自研操作系統(tǒng)可分為定制型和ROM型,定制型即修改了OS內(nèi)核里的軟件及“系統(tǒng)軟件里的中間件”,而ROM型修改的范圍則僅限于“功能軟件里的中間件”。 圖片摘自“筋斗云與自動(dòng)駕駛”的知乎賬號(hào) 此外,大眾正在自研的自動(dòng)駕駛OS,也是一個(gè)廣義的OS。準(zhǔn)確地說,是一個(gè)將Linux、QNX和VxWorks等多個(gè)底層OS整合到一起的平臺(tái)。 二.OS內(nèi)核:QNX 、Linux、VxWorks 以是否對(duì)需要執(zhí)行的任務(wù)劃分優(yōu)先級(jí)為標(biāo)準(zhǔn),OS內(nèi)核可分為分時(shí)OS和實(shí)時(shí)OS兩種。前者對(duì)各個(gè)用戶/作業(yè)都是完全公平的,不區(qū)分任務(wù)的緊急性;而后者指在高優(yōu)先級(jí)的緊急任務(wù)需要執(zhí)行時(shí),能夠在某個(gè)嚴(yán)格的時(shí)間限制內(nèi)搶占式切換到該任務(wù)上。 由于事關(guān)安全,自動(dòng)駕駛需要的實(shí)時(shí)OS。QNX和VxWorks均屬于實(shí)時(shí)OS,但Linux是分布式OS。 前段時(shí)間,有人質(zhì)疑特斯拉“拿(Linux)分時(shí)系統(tǒng)做操作系統(tǒng),是對(duì)生命最大的不負(fù)責(zé)”,然而,這個(gè)質(zhì)疑未必成立——特斯拉的Linux系統(tǒng)是不是實(shí)時(shí)操作系統(tǒng),以及是否按照車規(guī)級(jí)功能安全規(guī)格開發(fā),還有待證實(shí)。 (圖片摘自高工智能汽車) 誠(chéng)然,Linux原本是分布式OS,但Linux對(duì)應(yīng)實(shí)時(shí)性改進(jìn)的工作從未停止過。在經(jīng)過優(yōu)化后,Linux內(nèi)核也分為搶占式內(nèi)核和非搶占式內(nèi)核,其中,搶占式內(nèi)核的實(shí)時(shí)性足以滿足自動(dòng)駕駛的需求。 安霸半導(dǎo)體上海軟件研發(fā)高級(jí)總監(jiān)孫魯毅在去年8月份發(fā)的《關(guān)于中國(guó)市場(chǎng)汽車智能駕駛主控芯片操作系統(tǒng)的思考》一文種提到,2005年,Linux2.6的發(fā)布,就開始支持內(nèi)核可搶占式調(diào)度CONFIG_PREEMPT,此選項(xiàng)使得內(nèi)核態(tài)程序只要不被spinlock保護(hù)或者在中斷處理程序里,都可被更高優(yōu)先級(jí)的內(nèi)核線程搶占。 這就使得很多任務(wù)執(zhí)行的時(shí)候,任務(wù)調(diào)度延遲大大改善。默認(rèn)配置通??梢宰龅秸{(diào)度延遲在1到幾個(gè)毫秒。實(shí)時(shí)性補(bǔ)丁CONFIG_PREEMPT_RT項(xiàng)目也已經(jīng)比較成熟,可以手動(dòng)打補(bǔ)丁添加提升內(nèi)核的實(shí)時(shí)性。這些優(yōu)化大大改善了Linux的實(shí)時(shí)性,使得Linux實(shí)際已經(jīng)成為硬實(shí)時(shí)操作系統(tǒng)。 德國(guó)不萊梅大學(xué)曾做過一項(xiàng)測(cè)試,這項(xiàng)測(cè)試表明在系統(tǒng)滿負(fù)荷長(zhǎng)時(shí)間運(yùn)轉(zhuǎn)時(shí),Linux標(biāo)準(zhǔn)內(nèi)核不加任何補(bǔ)丁也不亞于常見各種實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性。 QNX是一個(gè)半封閉系統(tǒng),而Linux和VxWorks均是開源系統(tǒng)。所謂“半封閉”,即QNX的內(nèi)核,客戶是不能改的,但客戶可自己編寫中間件和應(yīng)用軟件;所謂開源,即所有內(nèi)核源代碼都向客戶開放,客戶可根據(jù)自己的實(shí)際需求裁剪,可配置性很高。 Linux基金會(huì)在2012年啟動(dòng)了開源項(xiàng)目Automotive Grade Linux (簡(jiǎn)稱AGL),目前成員已經(jīng)超過100家。當(dāng)前,Linux在汽車市場(chǎng)的應(yīng)用主要在信息娛樂系統(tǒng),不過,AGL的最終目標(biāo),是提供滿足安全關(guān)鍵系統(tǒng)的功能安全目標(biāo),從而服務(wù)自動(dòng)駕駛應(yīng)用。 按照AGL的設(shè)想,未來成員企業(yè)可以共享70%的代碼,另外30%則是不同品牌廠商進(jìn)行差異化開發(fā),從而保障各自的商業(yè)化利益。 QNX早在2011年就通過了ISO26262 ASIL-D安全認(rèn)證,這是第一個(gè)通過這項(xiàng)認(rèn)證的實(shí)時(shí)操作系統(tǒng)。與Linux的免費(fèi)不同,QNX需要商業(yè)收費(fèi),但憑著其安全性、穩(wěn)定性和實(shí)時(shí)性,QNX仍牢牢占據(jù)汽車嵌入式操作系統(tǒng)市占率第一的位置。 QNX是微內(nèi)核,即內(nèi)核中只有最基本的調(diào)度、內(nèi)存管理,驅(qū)動(dòng)、文件系統(tǒng)等都是用戶態(tài)的守護(hù)進(jìn)程去實(shí)現(xiàn)的。其優(yōu)點(diǎn)是超級(jí)穩(wěn)定,驅(qū)動(dòng)等的錯(cuò)誤只會(huì)導(dǎo)致相應(yīng)進(jìn)程死掉,不會(huì)導(dǎo)致整個(gè)系統(tǒng)都崩潰。 據(jù)黑莓QNX IOT事業(yè)部大中華區(qū)首席代表董淵文介紹,目前,通用、沃爾沃、奧迪、上汽、吉利、蔚來、理想、小鵬等均用QNX作為自動(dòng)駕駛OS。 黑莓提供給各自動(dòng)駕駛客戶的QNX系統(tǒng)是一個(gè)無差別的標(biāo)準(zhǔn)版,但BSP驅(qū)動(dòng)是定制版。 BSP包括了Bootloader(以基礎(chǔ)支持代碼來加載操作系統(tǒng)的引導(dǎo)程序)、HAL(硬件抽象層)代碼、驅(qū)動(dòng)程序、配置文檔等,是內(nèi)核與硬件之間的接口層,目的是為操作系統(tǒng)提供虛擬硬件平臺(tái),使其具有硬件無關(guān)性,可以在多平臺(tái)上移植。 與QNX相比,Linux更大的優(yōu)勢(shì)在于開源,在各種CPU架構(gòu)上都可以運(yùn)行,可適配更多的應(yīng)用場(chǎng)景,并有更為豐富的軟件庫(kù)可供選擇,因此,具有很強(qiáng)的定制開發(fā)靈活度。 并且,Linux是宏內(nèi)核,即除了最基本的進(jìn)程、線程管理、內(nèi)存管理外,文件系統(tǒng),驅(qū)動(dòng),網(wǎng)絡(luò)協(xié)議等等都在內(nèi)核里面,其優(yōu)點(diǎn)是效率高,可以充分發(fā)揮硬件的性能。 此外,Linux的免費(fèi)也對(duì)車企有很強(qiáng)的吸引力。 李星宇在演講中提到,近幾年,Linux在自動(dòng)駕駛產(chǎn)業(yè)的使用率在攀升,“科技公司、Tier 1和車企均會(huì)基于Linux進(jìn)行投入”。 但Linux內(nèi)核的的組件要比QNX復(fù)雜得多,因而穩(wěn)定性也要差得多,開發(fā)進(jìn)程中的bug經(jīng)常會(huì)導(dǎo)致整個(gè)系統(tǒng)掛掉。因此,基于Linux做開發(fā)的門檻很高。 張人杰說:“Linux平臺(tái)有幾千萬行代碼,而這些代碼又不是你設(shè)計(jì)的,你怎么確保它的安全性?你只能是在外圍做一些加減,你對(duì)代碼的理解能力決定了你能否解決這些bug。目前,Lunix官方承認(rèn)的bug就上萬個(gè)了。在一定時(shí)間內(nèi),這些bug問題不大。但在某些條件下,就會(huì)引起很大的麻煩?!? Linux遲遲未能通過ISO 26262標(biāo)準(zhǔn)。相比之下,QNX的代碼和功能架構(gòu)都比較簡(jiǎn)單,代碼也總共只有30萬行代碼,出現(xiàn)故障的可能性遠(yuǎn)遠(yuǎn)小于Linux。 《高工智能汽車》在最近的一篇文章中還提到了基于Linux做開發(fā)的兩大挑戰(zhàn): 1.作為開源的操作系統(tǒng),Linux在被用于安全關(guān)鍵系統(tǒng)時(shí),在代碼庫(kù)不斷更新的情況下,存在安全認(rèn)證失效的問題,因此,汽車制造商需要不斷重新做安全認(rèn)證,但這可能會(huì)帶來額外的成本支出。 2.后續(xù)的補(bǔ)丁管理和版本對(duì)齊過于復(fù)雜。一家早期選擇AGL的汽車制造商工程師表示,至少有4家Tier 1為他們的特定產(chǎn)品提供了不同版本的Linux內(nèi)核,這意味著他們需要為不同的補(bǔ)丁管理4個(gè)不同的AGL內(nèi)核。為擺脫這些麻煩,他們正在為下一代產(chǎn)品從AGL轉(zhuǎn)向QNX作準(zhǔn)備。 既然如此,Waymo、特斯拉、百度和Mobileye為何還要基于Linux做開發(fā)?成本考慮是一方面,更重要的,是為了減少對(duì)軟件供應(yīng)商的依賴,“這些代碼都是開源的,而我的能力又足夠強(qiáng),可以在性能優(yōu)化上做更多的工作?!?/strong> 特斯拉就嘗到了采用Linux4.4開源操作系統(tǒng)做開發(fā)的好處。由于自己完全掌握核心技術(shù),不必受制于操作系統(tǒng)廠商,每次只要一發(fā)現(xiàn)問題便立即通過OTA進(jìn)行快速修正與升級(jí),提升用戶體驗(yàn)。 簡(jiǎn)而言之,站在車企的角度看,QNX有點(diǎn)像Mobileye——盡管“易用”,但限制了車企的自主性;而Linux則有點(diǎn)像英偉達(dá)——比較“難用”,但賦予了車企很大的自主權(quán)及面向未來的兼容性。 隨著車企對(duì)軟件技術(shù)投入的加大和能力的提升,Linux在自動(dòng)駕駛市場(chǎng)的占有率大將會(huì)逐步上升,而QNX的市占率則會(huì)逐步下降。 風(fēng)河VxWorks的實(shí)時(shí)性已經(jīng)在航空電子、醫(yī)療電子和工業(yè)安全等領(lǐng)域的幾十億臺(tái)設(shè)備上得到了充分的驗(yàn)證。風(fēng)河高級(jí)產(chǎn)品經(jīng)理王鵬在此前的一次直播中說:任何“實(shí)時(shí)”Linux 的實(shí)時(shí)性都無法跟 VxWorks 相比。 VxWorks也是開源的。VxWorks實(shí)時(shí)操作系統(tǒng)由400多個(gè)相對(duì)獨(dú)立、短小精悍的目標(biāo)模塊組成,但用戶可獲所有源代碼并根據(jù)需要對(duì)OS內(nèi)核在源代碼層面進(jìn)行裁剪和配置。 VxWorks的影響力主要在航空電子,汽車板塊在其營(yíng)收中占比的不高,因此,此前,風(fēng)河的資源重點(diǎn)并沒有放在汽車市場(chǎng)上。但近些年,風(fēng)河對(duì)汽車業(yè)務(wù)的投入力度正在加大。 風(fēng)河不光是能夠直接賣商用性的產(chǎn)品,它也會(huì)提供專業(yè)定制化服務(wù)。在奧迪A8的項(xiàng)目中,風(fēng)河除了提供VxWorks,還為TTTech汽車業(yè)務(wù)分公司提供了開發(fā)板卡支持包、中間件開發(fā)和網(wǎng)絡(luò)棧集成。 寶馬-ME-英特爾聯(lián)盟的自動(dòng)駕駛OS內(nèi)核,一度采用了VxWorks?,F(xiàn)代的自動(dòng)駕駛量產(chǎn)車上也在使用Vxworks。 2018年10月,風(fēng)河宣布其將為TTTech Auto最新版本的安全軟件平臺(tái)MotionWise提供支持,用于自動(dòng)駕駛應(yīng)用。 2019年2月,VxWorks通過了ISO 26262 ASIL-D認(rèn)證。 VxWorks雖然和Linux同為開源系統(tǒng),但兩者的區(qū)別在于:后者是免費(fèi)的,前者則要收取一筆高昂的授權(quán)費(fèi),開發(fā)定制成本也很高,這限制了其市場(chǎng)占有率的增長(zhǎng)。 當(dāng)然,各種自動(dòng)駕駛OS之間并非截然對(duì)立的關(guān)系。 如百度的Robotaxi系統(tǒng),一個(gè)比較普遍的說法是“在Linux內(nèi)核上運(yùn)行”,但賽靈思系統(tǒng)架構(gòu)師兼市場(chǎng)總監(jiān)毛廣輝的說法是:感知部分是在Linux行運(yùn)行,而非感知部分則是在QNX上運(yùn)行?!?/strong> 奧迪A8上用了至少兩套自動(dòng)駕駛OS,其中英偉達(dá)的Tegra K1芯片上用的是Linux內(nèi)核,而英特爾的FPGA Cyclone上用的是VxWorks內(nèi)核。 簡(jiǎn)單地說,車企在選擇OS內(nèi)核時(shí),主要考慮開放性、可擴(kuò)展性、易用性、安全性、可靠性及成本等因素,再結(jié)合自己的需求及能力體系來做權(quán)衡。 各OS內(nèi)核的簡(jiǎn)單比較如下: 三.中間件:廠商提供or自研 在自動(dòng)駕駛OS內(nèi)核廠商中,風(fēng)河還會(huì)為車企提供定制化的中間件。奧迪A8的FPGA Cyclone上跑的中間件,便由風(fēng)河提供。此外,寶馬—Mobileye—英特爾三方合作的項(xiàng)目中的中間件,也一度由風(fēng)河提供。 但對(duì)車企或自動(dòng)駕駛公司來說,使用OS廠商提供的中間件,只是權(quán)宜之計(jì)。到后面,每家公司都需要基于一個(gè)安全的內(nèi)核來做符合自己獨(dú)特需求的中間件。 如Mobileye在去年年底宣布,正在為下一代EyeQ?5芯片切換到基于Linux的操作系統(tǒng)做最后的量產(chǎn)準(zhǔn)備。按照Mobileye的說法,“寶馬作為量產(chǎn)搭載客戶之一,已經(jīng)對(duì)這套系統(tǒng)進(jìn)行了全方位的安全評(píng)估和嚴(yán)格測(cè)試”。 《高工智能汽車》在最近的報(bào)道中點(diǎn)評(píng)道:“對(duì)于Mobileye來說,這也是其開放戰(zhàn)略的關(guān)鍵一步。EyeQ5操作系統(tǒng)從之前專有的、定制的操作系統(tǒng)切換到Linux,將增加后續(xù)客戶定制化開發(fā)的靈活性,同時(shí)向AGL超過100多家成員企業(yè)進(jìn)行開放?!?/p> 張人杰說:“一個(gè)車企相比于另一個(gè)車企技術(shù)的差異性、先進(jìn)性,在很大程度上取決于你的整體框架,而框架又取決于OS的中間件組合,各種不同中間件最終組成了你的基礎(chǔ)框架?!?/p> 因此,對(duì)車企或自動(dòng)駕駛公司來說,自研中間件,不是你愿不愿意的事情,而是你必須去做的事。有進(jìn)取心的車企,基本都在自研自動(dòng)駕駛OS的中間件,只不過有的車企說出來了,有的沒說而已。 QNX可為客戶提供一部分中間件,但大部分中間件還是靠客戶自己/委托第三方開發(fā)。只不過,由于基于QNX開發(fā)中間件相對(duì)簡(jiǎn)單,算不上多牛逼的事情,因此,很少有公司會(huì)在PR中強(qiáng)調(diào)自己開發(fā)了基于QNX的中間件。 如果使用Linux內(nèi)核,則中間件就只能全部由自己來搞定了。這是一條更有價(jià)值、但也注定更艱辛的路。 張人杰說:“基于QNX內(nèi)核做開發(fā),車企是通過做加法的過程完成中間件的設(shè)計(jì);而基于Linux做開發(fā),則是先做減法、再做加法,難度顯然要大得多。”(做減法的過程中,稍有不慎,就可能把重要的內(nèi)容給裁剪掉。) 據(jù)前百度自動(dòng)駕駛部門骨干成員透露,百度在跟車企合作的自主泊車項(xiàng)目上應(yīng)車廠的要求而采用了QNX內(nèi)核;但在要求更高的Robotaxi上,則基于Linux內(nèi)核開發(fā)中間件。 百度開發(fā)的中間件并非是一個(gè)全新的系統(tǒng),而是基于開源系統(tǒng)ROS做裁剪、打補(bǔ)丁,但這里仍然存在很高的技術(shù)壁壘。 ROS的前身是斯坦福人工智能實(shí)驗(yàn)室機(jī)器人項(xiàng)目的STAIR,后來由Willow garage 組織維護(hù),它是免費(fèi)開源框架,軟件架構(gòu)很清晰。原生的ROS本是機(jī)器人OS,并不能直接滿足無人駕駛的所有需求,但百度針對(duì)原生ROS的弊端一一做了優(yōu)化: 1. 原生ROS各個(gè)節(jié)點(diǎn)之間互相通信,需要依賴一個(gè)統(tǒng)一的ROS Master作為中轉(zhuǎn)。如果ROS Master出問題了,則任何兩個(gè)節(jié)點(diǎn)之間的通信便受到影響。 針對(duì)這個(gè)問題,百度Apollo 采用一種叫RTPS 的服務(wù)發(fā)現(xiàn)協(xié)議,對(duì)ROS做了“去中心化”改造。即現(xiàn)在的rosnode接口不再依賴于一個(gè)獨(dú)立的master來進(jìn)行管理,而是將其全部放置與一個(gè)公共域demain中,域中的每個(gè)rosnode都有域中其他節(jié)點(diǎn)的信息,這樣就可以消除單點(diǎn)故障。 2. ROS 傳遞的消息不支持向前兼容,接口兼容性問題會(huì)對(duì)歷史數(shù)據(jù)的使用造成很大的影響。在自動(dòng)駕駛領(lǐng)域,海量的歷史數(shù)據(jù)是寶庫(kù),如果用不了,就造成極大的浪費(fèi)。 對(duì)這一問題,百度Apollo框架采用的方案是使用開源的protobuf封裝成ROS msg,來代替原生的ROS msg, protobuf 提供了良好的消息向前兼容性。 3. 如果一個(gè)ROS節(jié)點(diǎn)被挾持,黑客可以通過這個(gè)節(jié)點(diǎn)將資源耗盡,進(jìn)而將這個(gè)系統(tǒng)搞垮。ROS node和node之間的消息被截獲或者偽造,那么自動(dòng)駕駛汽車可能會(huì)被黑客控制。 針對(duì)這一問題,百度采用linux container 這種輕量級(jí)虛擬化技術(shù),把每個(gè)ROS Node 放入沙盒,限制每個(gè)ROS node 權(quán)限。節(jié)點(diǎn)與節(jié)點(diǎn)的通信消息可以進(jìn)行加密解密處理,防止中間人攻擊。 除了百度的Apollo,博世、寶馬、nuTonomy、Autoware和Udacity等公司也基于ROS開發(fā)自動(dòng)駕駛技術(shù)。 第三方軟件公司Apex公司基于ROS 2.0開發(fā)自動(dòng)駕駛軟件,該公司花大量精力對(duì)ROS 2.0進(jìn)行優(yōu)化。在2019年2月份,Apex拿到了豐田、沃爾沃、捷豹路虎、海拉等車企和Tier 1的投資,這意味著,這些公司也在考慮使用ROS 開發(fā)自動(dòng)駕駛技術(shù)。 但基于Linux內(nèi)核和ROS中間件做開發(fā)這條路走起來會(huì)特別艱辛。 去年年底,某先前一直基于ROS做開發(fā)的自動(dòng)駕駛明星初創(chuàng)公司宣布改用QNX的方案,對(duì)方的工程師給出的理由是:“QNX系統(tǒng)更安全,并且在可靠性和穩(wěn)定性上有更大的保證”。 看來,在基于Linux自研OS失敗后,車企及自動(dòng)駕駛公司還有QNX這個(gè)“退路”可以依賴,這反而使他們?cè)谧匝蠴S時(shí)少了些“后顧之憂”。 不過,中途從Linux 切換至QNX引發(fā)的工作量特別大。首先,兩個(gè)內(nèi)核的差異很大,這意味著,之前基于Linux開發(fā)的中間件現(xiàn)在都不能用了,得從頭再來;此外,功能軟件和算法遷移、優(yōu)化的工作量也很大,甚至,有一些算法是需要做大幅度修改的。 因此,最各自動(dòng)駕駛公司/車企來說,基于哪個(gè)內(nèi)核做中間件的開發(fā),最好能從一開始就對(duì)自己的需求、能力體系、風(fēng)險(xiǎn)承受能力做一個(gè)充分的評(píng)估,然后再選擇最適合自己的方案。 四.自動(dòng)駕駛OS的話語權(quán)會(huì)掌握在誰的手里? 那么,對(duì)車企來說,選擇用什么內(nèi)核做開發(fā),是否完全可以自己說了算呢?這個(gè)問題的答案,有多個(gè)不同的版本。 董淵文的說法是,QNX已跟英偉達(dá)、高通等自動(dòng)駕駛芯片廠商之間建立起深度合作,但跟英偉達(dá)是弱綁定,而跟高通是強(qiáng)綁定。即英偉達(dá)可以在Xavier、Orin中預(yù)集成QNX,但也會(huì)給車企自主選擇權(quán);而高通Snapdragon Ride的客戶則只能用QNX作為自動(dòng)駕駛OS,“沒有自主選擇權(quán)”。 一自動(dòng)駕駛初創(chuàng)公司的工程師說,他們使用的QNX是黑莓和芯片廠商針對(duì)特定芯片集成優(yōu)化后的版本,保證在該芯片上可以達(dá)到最優(yōu)的系統(tǒng)性能。 張人杰認(rèn)為,QNX跟英偉達(dá)和高通的捆綁,很容易理解。“一個(gè)OS做出來了還不夠,想要獲得成功,其核心點(diǎn)還在于建立一個(gè)強(qiáng)大的生態(tài)(軟件+硬件)。沒有強(qiáng)大的芯片,先進(jìn)OS的優(yōu)勢(shì)也發(fā)揮不出來。在行業(yè)競(jìng)爭(zhēng)的前期,OS廠商一定要跟芯片廠商形成非常強(qiáng)的戰(zhàn)略耦合?!?/p> 這種綁定,是雙贏,不僅OS廠商可以通過跟芯片廠商的綁定做大軟件的安裝量,芯片廠商通過跟安全可靠的OS捆綁,也會(huì)讓芯片更好賣。 但某自動(dòng)駕駛芯片廠商CMO認(rèn)為,這只是一種過于樂觀的假設(shè),“對(duì)QNX來說,只有全面擁抱芯片公司,芯片公司才能把你的OS推給OEM,但OEM就非得選你嗎?” 這位CMO說:“現(xiàn)階段,QNX是性價(jià)比最高的方案,但如果你不是足夠好的話,哪怕芯片廠商再怎么推,OEM也不會(huì)選你,然后,芯片廠商也會(huì)轉(zhuǎn)而扶持另一家OS廠商。Windows以后,再在任何行業(yè)出現(xiàn)下一個(gè)如Windows這種有話語權(quán)的OS的可能性非常低?!?/p> 博世AI部門一位管理人員說:“芯片不會(huì)愿意被某一個(gè)OS給綁死的,除非芯片就是這家OS廠商自己的,像蘋果的M1之于MacOS。” 安霸孫魯毅曾在文章中提到:“汽車市場(chǎng)的OS選擇主要來自于開發(fā)團(tuán)隊(duì)的經(jīng)驗(yàn)積累,或者來自于主控芯片廠的SDK的默認(rèn)支持?!彼^默認(rèn)支持,即芯片廠商的SDK基于哪個(gè)OS開發(fā)的,就決定了車企只能用什么OS。 但也有許多人并不認(rèn)同這種說法。 如某主機(jī)廠自動(dòng)駕駛負(fù)責(zé)人說:“OS通過中間件可以和芯片在軟件上解耦?!?/p> 某自動(dòng)駕駛初創(chuàng)公司工程師說:“自動(dòng)駕駛芯片廠商的SDK通常不會(huì)只適配一個(gè)OS,客戶主要還是根據(jù)自己的需求選擇最合適的OS。我們用英偉達(dá)的芯片,但QNX和Linux的OS我們都使用過,不存在被芯片供應(yīng)商綁架的問題。” 上述芯片廠商CMO說:我們推出的SDK會(huì)兼容多個(gè)不同的OS。如果客戶有某種特殊要求,我們會(huì)額外增加。 國(guó)內(nèi)操作系統(tǒng)初創(chuàng)公司國(guó)汽智控CEO尚進(jìn)在接受《甲子光年》采訪時(shí)說,國(guó)汽智控對(duì)整車廠的一大吸引力便是“不綁定芯片供應(yīng)商”“華為、地平線、黑芝麻以及英偉達(dá)都是我們的合作伙伴”。 總的來說,對(duì)使用什么樣的OS,車企和芯片公司的話語權(quán)是高于OS廠商的。一位受訪者說:“話語權(quán)來自于誰離用戶更近,OS當(dāng)然有一定的決定權(quán),但OS提供的只是基礎(chǔ)功能,應(yīng)用層都是車企一方做的,因?yàn)樗x用戶最近,知道用戶需要什么?!?/strong> 董淵文在演講中提到:“QNX沒有自己的Roadmap,主機(jī)廠的意志和錢,決定了QNX的Roadmap。”這也印證了“車企的話語權(quán)更大”一說。 不過,地平線CEO余凱認(rèn)為,如果在未來出現(xiàn)一個(gè)“智能汽車OS”,將自動(dòng)駕駛OS和智能座艙OS整合到一起,并建立起強(qiáng)大的開發(fā)者生態(tài)和應(yīng)用生態(tài),則這個(gè)OS在車企面前會(huì)有比較大的話語權(quán)。 國(guó)汽智控副總裁楊柯和地平線市場(chǎng)拓展與戰(zhàn)略規(guī)劃副總裁李星宇都提到一個(gè)觀點(diǎn):從IT時(shí)代30來年的歷史看,通常,一款OS只會(huì)基于一款硬件架構(gòu)進(jìn)行深度打磨,無論P(yáng)C時(shí)代的win-tel還是移動(dòng)互聯(lián)網(wǎng)時(shí)代的安卓—ARM都是如此。你很難在ARM上面把windows優(yōu)化得特別到位,也很難在x86架構(gòu)上面把安卓?jī)?yōu)化得非常到位。 李星宇說:“目前,自動(dòng)駕駛OS還處于百家爭(zhēng)鳴的階段,隨著競(jìng)爭(zhēng)的加劇,會(huì)跑出一個(gè)玩家來把底層OS和芯片深度打磨,實(shí)現(xiàn)最佳的體驗(yàn)。屆時(shí), 自動(dòng)駕駛OS市場(chǎng)就從百舸爭(zhēng)流變成一枝獨(dú)秀?!?/strong> 在智能手機(jī)時(shí)代,蘋果是自研OS和芯片并深度打磨的代表,而在自動(dòng)駕駛產(chǎn)業(yè),截至目前,這樣的玩家有五家:Waymo、特斯拉、蘋果、Mobileye、華為。其中,蘋果是唯一一家自研OS內(nèi)核的玩家。 只做芯片的話,應(yīng)用節(jié)奏會(huì)受制于OS廠商的進(jìn)度;而只做OS的話,性能優(yōu)化 會(huì)受制于芯片廠商的節(jié)奏。但兩個(gè)都自己做,就不存在這種顧慮了。微軟在去年年底決定自研PC芯片,在很大程度上就是這個(gè)動(dòng)機(jī)。 Waymo、特斯拉、蘋果三家的OS和芯片雖然牛逼,但都是為自有業(yè)務(wù)服務(wù)的,不外供;而Mobileye、華為卻定位為Tier 1,Mobileye的芯片算力較低,在L4市場(chǎng)上競(jìng)爭(zhēng)力不足,因此,以當(dāng)前的產(chǎn)業(yè)格局看,華為是L4市場(chǎng)上唯一同時(shí)具備自動(dòng)駕駛芯片與OS的供應(yīng)商。 華為的MDC810是已量產(chǎn)自動(dòng)駕駛計(jì)算平臺(tái)中算力最高的一款,并且,MDC平臺(tái)上使用的CPU也是自研的;其自動(dòng)駕駛OS內(nèi)核已獲得業(yè)界 Safety 領(lǐng)域最高等級(jí)功能安全認(rèn)證(ISO 26262 ASIL-D)。據(jù)了解,華為的自動(dòng)駕駛OS將在北汽極狐的阿爾法S上率先商用。 最近,有人戲稱要提供操作系統(tǒng)的華為“不僅僅是Tier 1,而且還是tier 0”——構(gòu)建以自己為中心的完整的生態(tài),最終成為智能汽車時(shí)代的“微軟”。 某OS產(chǎn)業(yè)資深人士說,接下來,華為的目標(biāo)應(yīng)是在該內(nèi)核之上搭建很多中間件和應(yīng)用框架、應(yīng)用程序,并確保這些組件也能達(dá)到功能安全要求。此外,為了吸引更多的開發(fā)者,華為還需要打造出一套穩(wěn)定高效的工具鏈。 在談到華為“芯片+OS”的格局時(shí),一位從華為跳槽到博世的工程師說:“沒芯片、沒OS,是博世跟華為最大的差距;其中,在從分布式架構(gòu)走向集中式架構(gòu)的過程中,OS比芯片更加重要,這個(gè)是真正的大腦。博世如果搞不定這些東西的話,到后面只會(huì)越來越被動(dòng)。” 再開個(gè)腦洞:蘋果一度聲稱自己不造車,而是生產(chǎn)和銷售“自動(dòng)駕駛系統(tǒng)”。假如有朝一日蘋果增加了To B業(yè)務(wù),也要做Tier 1了,那這個(gè)市場(chǎng)就更加熱鬧了。 當(dāng)然,若華為、Waymo都造車,則其Tier 1身份便可能“保不住”,這樣,則華為、Waymo都跟特斯拉和蘋果一樣,成為自研芯片+OS的汽車制造商;而Mobileye則成為唯一一家自研芯片+OS的供應(yīng)商,接下來,Mobileye的挑戰(zhàn)在于,如何盡快推出高算力的自動(dòng)駕駛芯片。 未盡之語: 自動(dòng)駕駛OS市場(chǎng)的玩家數(shù)量正在快速增加。 長(zhǎng)期以來,提起斑馬網(wǎng)絡(luò)的AliOS,業(yè)內(nèi)的第一反應(yīng)都是“智能座艙操作系統(tǒng)”,但在2020年底,斑馬網(wǎng)絡(luò)公司獲得了德國(guó)萊茵TüV Rheinland頒發(fā)了的ISO 26262汽車功能安全管理體系認(rèn)證證書,其證書的等級(jí)為“ASIL-D”等級(jí),當(dāng)時(shí),新聞通稿中說“這標(biāo)志著斑馬整體研發(fā)體系符合汽車功能安全最高等級(jí)要求,為打造更加安全的智能駕駛操作系統(tǒng)提供關(guān)鍵保障”。 看來,AliOS并不甘心只做智能座艙操作系統(tǒng),它有著更大的野心。 上個(gè)月,全球最大Linux系統(tǒng)廠商——紅帽公司宣布,計(jì)劃為汽車行業(yè)創(chuàng)建一個(gè)新的基于Linux的企業(yè)級(jí)操作系統(tǒng),并提供從“信息娛樂到輔助駕駛系統(tǒng)”的一系列ISO 26262認(rèn)證。 也是在最近,Tier 1采埃孚和TTTech Auto也被曝出正在開發(fā)操作系統(tǒng)和軟件生態(tài)系統(tǒng)。采埃孚都入局了,博世和大陸還會(huì)遠(yuǎn)嗎?也許,說不定博世已經(jīng)在開發(fā)自動(dòng)駕駛OS了? 此外,有些“出人意料”的是,曾在去年將乘用車自動(dòng)駕駛和卡車自動(dòng)駕駛技術(shù)分別交給英偉達(dá)和Waymo的戴姆勒公司,也在4月中旬宣布將建設(shè)軟件中心,自主研發(fā)操作系統(tǒng)。 不過,市場(chǎng)上是否真的需要這么多的“自研自動(dòng)駕駛OS”(特指基于Linux的自研)呢? 從構(gòu)建開發(fā)者生態(tài)及產(chǎn)品性能優(yōu)化的角度考慮,OS市場(chǎng)需要一定的集中度,這樣才能確保買家OS廠商都能“分到”足夠多的開發(fā)者,同時(shí),實(shí)現(xiàn)更大的裝機(jī)量。 由于汽車市場(chǎng)的體量足夠大,幾家頭部OS廠商們均有機(jī)會(huì)建立起龐大的開發(fā)者生態(tài),實(shí)現(xiàn)很大的裝機(jī)量,但自研OS的車企,面臨的挑戰(zhàn)則要大得多。 車企自研的OS,更多是“自產(chǎn)自銷”,并不會(huì)對(duì)外開放,哪怕車企愿意開放,友商們也未必愿意使用。某車企高級(jí)總監(jiān)在接受《甲子光年》采訪時(shí)說:“這意味著當(dāng)銷量不足以分?jǐn)傑浖到y(tǒng)的開發(fā)成本時(shí),自主軟件將無法實(shí)現(xiàn)迭代更新,甚至維護(hù)?!?/p> 此外,我們發(fā)現(xiàn),自研自動(dòng)駕駛OS(并取得成功)的車企或自動(dòng)駕駛公司,無論特斯拉還是Waymo、Mobileye、華為或蘋果,都有一個(gè)共同點(diǎn)是:有自主研發(fā)的ASIC芯片。 董淵文曾在論壇的演講中道破其中的玄機(jī):“特斯拉因?yàn)橛玫氖亲匝械腁SIC芯片,很多算法并不需要靠Linux去調(diào)度,因此,使用Linux做自動(dòng)駕駛開發(fā)相對(duì)比較容易,但對(duì)其他廠商則不然?!?/p> 所以,也許,車企能在自研自動(dòng)駕駛OS上取得成功的前提是,有自研的ASIC芯片? 正在自研自動(dòng)駕駛OS的大眾,已于近日被曝出計(jì)劃自研自動(dòng)駕駛芯片——大概率也會(huì)是ASIC。奔馳沒有芯片,但他們正在跟英偉達(dá)深度合作,那么,后續(xù)開發(fā)自動(dòng)駕駛OS會(huì)不會(huì)也跟英偉達(dá)合作? 有幾家中國(guó)車企也打算自研自動(dòng)駕駛OS,對(duì)他們來說,自研用于自動(dòng)駕駛的ASIC芯片也是勢(shì)在必行? 我的同事孫利老師有這樣一個(gè)判斷:接下來,芯片人才在自動(dòng)駕駛?cè)Φ牡匚粫?huì)越來越高,很多自動(dòng)駕駛負(fù)責(zé)人會(huì)從芯片行業(yè)產(chǎn)生。 那么,有沒有這樣一種可能:打算自研自動(dòng)駕駛OS的車企,先從英偉達(dá)或Mobileye挖個(gè)芯片大牛來擔(dān)任自動(dòng)駕駛負(fù)責(zé)人或CTO,然后,一手抓芯片,一手抓OS? 談?wù)勛詣?dòng)駕駛的中間件Mobileye Buyout Gives BlackBerry Shares Immediate 34% To 68% UpsideMobileye Leads in Embracing Linux for Safety-Related Applications華為:誰是Tier1 ?https://mp.weixin.qq.com/s/0DbXWedQ65zztijJbTngwAApollo開源軟件ROS定制版差異化分析一個(gè)九零后操作系統(tǒng)從業(yè)者的思考特斯拉“踩坑”分時(shí)Linux?豐田/Mobileye選擇“迎難而上”智能駕駛域控制器的軟件架構(gòu)及實(shí)現(xiàn)(一):軟件架構(gòu)基礎(chǔ)及問題智能駕駛域控制器的軟件架構(gòu)及實(shí)現(xiàn)(二):支持L3+的軟件架構(gòu)及產(chǎn)品架構(gòu)自動(dòng)駕駛OS,下一個(gè)智能汽車風(fēng)口|甲子光年自動(dòng)駕駛 vs 機(jī)器人技術(shù)(下)https://www./news/index/detail/id/1023.html |
|