天天看點

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

1 自動駕駛汽車的事故分析

原文參考王石峰 Apollo開發者社群 

首先分析一個事故案例。今年3月,北美有一個自動駕駛車肇事撞人緻死的一個事故,6月22日,美國公路交通安全委員會釋出了這個事故報告。報告中顯示,在碰撞發生前6秒傳感器已經探測到了,碰撞發生前1.5秒,原車的AEB功能已經啟動,但其執行機構并沒有自動采取相應制動措施,導緻整個系統沒有閉環。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

另外,該事故在互動設計上也有缺陷。當事故發生前,傳感器探測到這個人時,并沒有提供警報,司機正在低頭看手機視訊,當他擡頭看到這個行人的時候再處理事故已經來不及了。從事故視碰撞前四秒鐘的截圖可以看出,路面照明不足導緻司機很難看到有人過馬路。

目前,自動駕駛的車輛以法律法規來說都是改裝車,事故車輛是SUV的車型自身重心比較高,所有的傳感器都安裝在車頂導緻重心進一步上移。當産生碰撞的時候更有可能會側翻。

2 自動駕駛汽車的研發流程

百度提出了“安全是自動駕駛的第一天條”。如何避免類似事故和問題,要從整個研發流程當中去考慮。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

首先當研發一輛自動駕駛車輛時,有一個基于仿真模拟器的軟體在環我們可以将這看成一個賽車的遊戲。在仿真環節中仿真出道路的路面,以及交通的參照物和各種車輛、各種行人,還有一些天氣資訊,比如雨霧或者路面照明資訊。代碼跑通了以後,再基于必要的硬體在環平台,在傳感器、計算單元等硬體系統上檢測有沒有運作當中的BUG和相容性問題。之後基于車輛在環,将相關的軟硬體系統內建到車輛平台上在封閉場地中完成相關測試檢測代碼是否出現了問題。

最後基于司機在環,以百度為例,我們在北京智能網聯示範區,北京市政府規劃的道路上基于實際的道路情況研發測試,不僅能檢測自動駕駛系統的情況,還可以獲得司機的主觀評價和可以驗證人機互動的功能。

3 自動駕駛汽車的硬體系統

自動駕駛的硬體系統,可以粗略地分為感覺、決策、控制三部分(還有定位、地圖、預測等子產品)。自動駕駛不能僅僅考慮系統,還要考慮到人的因素。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

從車輛運動方面會考慮到車的速度、轉角以及橫滾,俯仰、航向等資訊。還有一部分是環境感覺,比如雷射雷達、超音波、攝像頭、毫米波雷達、V2X。V2X能提供超視距功能——當車上了路,很難發現超傳感器範圍的資訊,通過V2X裝置會發送和接受相關資訊,車會接收到前方交通的情況。

另外,駕駛員監測主要是通過攝像頭和生物電傳感器(放在方向盤裡),來判斷駕駛員有沒有手脫離方向盤。也可以檢測司機的精神,比如駕駛員困倦還是精神緊張。

目前L3+級自動駕駛的計算單元主要CPU+GPU+FPGA的架構。T—BOX它向上接的是網際網路,向下是接的CAN總線。比如手機有一個APP,通過T-BOX可以控制車門的開關。黑匣子負責記錄控制指令和車輛行使狀态,事故發生以後可以用黑匣子來進行事故的認定。車輛控制是一些制動、轉向、發動機、變速箱,還有警告系統,聲音、圖像、振動等。

4 自動駕駛汽車的傳感器    

自動駕駛使用的感覺類的傳感器,主要有雷射雷達、毫米波雷達、攝像頭、組合導航。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

雷射雷達安裝在車頂,目前是360度同軸旋轉,可提供周圍一圈的點雲資訊。雷射雷達不僅用于車輛感覺,也用于定位和高精度地圖的測繪。

攝像頭光線通過鏡頭、濾光片到後段的CMOS或CCD內建電路,将光信号轉換成電信号,再經過圖像處理器(ISP)轉換成标準的RAW,RGB或YUV等格式的數字圖像信号,再通過資料傳輸接口傳輸到計算單元。

毫米波雷達和雷射雷達有點類似,基本原理是發射一束電磁波,通過觀察回波和射入波的差異來計算距離和速度,主要分24G和77G,它的安裝是在保險杠上面。

組合導航是兩部分,一部分是GNSS闆卡,通過天線接收GPS和RTK信号,解析計算出自身的空間位置。但是當車輛行駛到林蔭路,或者是有些建築物,GPS就會沒信号或者産生多徑效應,定位就會産生偏移和不準。此時需要通過INS的資訊融合來進行組合運算。GNSS+INS融合在一起就是組合導航系統。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

此表羅列出了目前一些L1、L2功能所用的傳感器,包括自動駕駛L3及以上的傳感器。L1、L2的功能傳感器也需要多傳感器融合,但是融合前的一些算法就直接傳輸到了MCU。L3+以上的是多傳感器融合後的資訊傳輸到計算單元,它從硬體架構上略有差異。從實作上來說,L1、L2會更在意一些誤檢的情況,比如我們開車突然刹車會很不舒服,而L1、L2主要責任在駕駛員上,是以它對誤檢會非常在意。但是L3+以上自動駕駛是通過系統去承擔主要的駕駛責任,就會對傳感器漏檢非常在意,這是L1、L2和自動駕駛之間的差異。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

如何得知自己到底需要什麼樣的傳感器?我們可以通過這個公式計算出來,刹車距離公式,也就是通過道路摩擦系數去計算。自動駕駛要求局限設計适用範圍。目前,我國城市封閉道路限速80,高速最高限速120。通過這個公式能計算出刹車距離,限速120的情況下最少需要150米的探測範圍,如果能到200米會更好。如果有冰雪怎麼辦,是不是我們要看到更遠距離?實際不是這樣,國家法有規定,高速公路,霧天能見度低于50米的情況下,要求限速到20公裡每小時。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

分辨率是通過反正切函數來計算的。這裡多除以一個2,為什麼呢?是為了保證我沒有漏檢的情況, L3+自動駕駛必須保證百分之百檢測到這個物體。是以從這個公式也能得出這張圖,0.4度分辨率的傳感器在一百米以外就可以探測到行人或者車輛,或者在32米能測到一個路錐。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

再分析一下傳感器未來的發展趨勢。目前多傳感器融合,相對來說是後融合。其實攝像頭和雷射雷達都是光學傳感器,它們部分核心的零部件包括一些處理電路,元器件都是非常相似的,有希望能把攝像頭和雷射雷達前融合到一起。左邊的圖是Aeye公司做的智能感覺系統的融合,可以看到融合後可以直接輸出R、G、B、X、Y、Z的資訊。右邊是Waymo的原形樣機,它用的就是這種前融合系統,可以叫LiCam(Lidar+Camera)。    

5  自動駕駛汽車的計算單元

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

自動駕駛汽車的計算單元,必須考慮到備援設計。所有的CPU、GPU、FPGA都是雙備援備份,包括總線也是雙備援備份的。當檢測系統失效的狀況下MCU還能繼續工作,這是最後的保障,它發出控制指令給刹車系統,讓車輛刹停下來保證安全性。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

像這種中央集中式的計算也有缺點——整個單元體積比較大,功耗也比較高。自動駕駛車輛後置一個伺服器顯然不容易産業化,未來産業化是逐漸拆分計算量到邊緣計算。比如說雷射雷達、毫米波、攝像頭,都接入到一個Sensor BOX,将對準融合後的資料再傳輸到計算單元進行處理。從整個自動駕駛汽車來看,也會根據不同的功能設計不同的域控制器,比如車身域控制器、車載娛樂域控制器、動力總成域控制器、自動駕駛域控制器。彼此之間隔離,彼此之間互相不幹擾。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

Sensor+SOC。舉個例子,Dibotics是一個做雷射雷達SlAM算法的公司,它将算法寫到Renesas的R-car晶片上,寫完之後将晶片植入到傳感器,在傳感器端完成相關算法的運算。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

介紹一下整個晶片的流程,晶片設計、晶片制造、晶片封測三個流程。選擇晶片設計的IP,再經過EDA進行電子電路布局,做成光罩,經過光刻等多種工藝,生産出一個晶片,再進行晶片的封裝。自動駕駛算法晶片主要恒量名額是功耗、算力和面積。目前整個晶片制造是從16納米向7納米發展,同等面積7納米對比16納米整個運算力會提升40%,功耗會降低60%。

 6 自動駕駛汽車的線控系統

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

自動駕駛車輛的線控系統,分減速、轉向和加速三大部分。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

上圖是大陸的線控制動解決方案。MK C1将制動助力以及制動壓力控制子產品(ABS、ESC)內建一個制動單元當這個失效的時候還有一個MK 100保證備援。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

自動駕駛車輛的線控轉向系統,自動駕駛線控和傳統車輛的EPS非常類似,唯一的差異就是在于備援。右圖是英菲尼迪Q50線控轉向系統,基本上還是延續了傳統轉向系統的結構。隻是增加了一套離合、三組ECU、備援轉向電機和力度回饋器。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

自動駕駛車輛的加速線控系統,以往的車輛都有一個油門拉線,油門踏闆通過拉線控制氣門開合。目前都是直接通過發動機管理系統來控制電子油門。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

自動駕駛汽車的線控系統可分為三個版本,1.0版對原車的踏闆及方向盤進行了實體截斷的改裝,也是俗稱的暴力改裝,由于是後改的并不符合安全性,有時候會漏油和燒電機的情況。2.0版是通過借用原車的ADAS系統來實作線控。3.0版則完全是定制化的,百度阿波龍目前是3.0版,所有的線控都是基于自動駕駛的需求,特别定制化的。

7 Apollo硬體開發平台

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

7月4号,百度開發者大會也推出了硬體開發平台,新增了15種硬體傳感器,釋出了Apollo傳感器單元,添加了底層硬體抽象層。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

硬體開發平台的傳感器單元,就是前面介紹的Sensor Box,将所有的傳感器資料都統一到傳感器單元中,完成時間戳的同步将獲得的資料傳輸到後端的計算單元來進行處理。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

後續會釋出AXU可以提供更多的擴充性,支援更多的硬體裝置,滿足不同開發者的需求。Apollo硬體開發平台會完成相關硬體廠家裝置的準入工作,涉及到的核心驅動也會在Github上完成合入。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

使用者空間庫是給使用者進行一些自定義的。比如每一款車的CAN總線協定是不同的,可以将相關CAN協定指令寫在這裡。硬體抽象層主要提供資料格式轉換和API的功能。另外,添加了硬體抽象層可以保證當某一硬體出現故障時不會導緻整個系統崩潰。

【Baidu Apollo】硬體開發平台介紹1 自動駕駛汽車的事故分析2 自動駕駛汽車的研發流程3 自動駕駛汽車的硬體系統4 自動駕駛汽車的傳感器    5  自動駕駛汽車的計算單元 6 自動駕駛汽車的線控系統7 Apollo硬體開發平台

從VSI釋出自動駕駛産業布局圖中可以看出自動駕駛産業,是汽車、新能源、IT通訊、交通運輸、半導體、人工智能、網際網路等多個10萬億巨無霸産業的跨界融合體。自動駕駛汽車是物質流、能量流、資訊流的聚合體,需要行業各方深度合作。隻有軟硬體深度整合,打通藩籬跨界的企業才能摘得皇冠上的明珠。

繼續閱讀