在上周,阿波君為大家具體介紹百度Apollo開放平臺的基本情況。本期,阿波君將為大家介紹一下Apollo硬件開發(fā)平臺。
話不多說,歡迎各位開發(fā)者一起進入進階課程第五期。
事故發(fā)生在2018年3月18日晚間,一輛正在進行無人駕駛測試的Uber車在美國亞利桑那州Tempe市撞上一名行人。該行人被送醫(yī),隨后被宣告搶救無效死亡。
根據(jù)初步調(diào)查結(jié)果,Uber車輛在撞上該名行人時,正處在自動駕駛狀態(tài),這是史上首例自動駕駛車輛在公開路面撞傷行人致死的案例。此事件,對無人駕駛敲響關(guān)于安全的警鐘。
2018年6月22日美國公路委員會發(fā)布事故報告:
在事故發(fā)生的前6秒,系統(tǒng)的傳感器已經(jīng)發(fā)現(xiàn)行人;在事故發(fā)生的前1秒,原車的應(yīng)急制動AEB已經(jīng)啟動,但汽車并沒有實施制動,原因是Uber在改裝沃爾沃cx90時,對原車的剎車系統(tǒng)進行截斷,由后續(xù)改裝的電腦來發(fā)射控制指令,進行剎車。
系統(tǒng)沒有一個完全閉環(huán)的狀態(tài)(主因);
駕駛員低頭在玩手機,系統(tǒng)檢測到行人后沒有發(fā)出警告;
自動駕駛和基礎(chǔ)設(shè)施是相關(guān)的,事故發(fā)生前4秒路面的照明不足導(dǎo)致從照片上看不出行人。
Uber之前還發(fā)生過其他交通問題,比如車輛剮蹭,直接側(cè)翻等。
原因在于,Uber后來加裝的車輛傳感器(Velodyne 64線)比較重,并且SUV中心點較高,加裝傳感器后重心上移,轉(zhuǎn)急彎時容易側(cè)翻。
Uber事故原因分析
從自動駕駛研發(fā)的流程角度看,大致可以分為以下4個步驟:
軟件在環(huán)軟件在環(huán)是基于仿真和模擬的軟件仿真,類似于賽車類游戲。即是在軟件系統(tǒng)里仿真模擬出真實的道路環(huán)境如光照、天氣等自然環(huán)境,開發(fā)者可將自動駕駛代碼開發(fā)完畢后,在仿真系統(tǒng)內(nèi)運行,測試是否可以實現(xiàn)目標(biāo)。
硬件在環(huán) 硬件在環(huán)是基于必要的硬件平臺。在第一步的軟件仿真結(jié)束后,將所有的仿真結(jié)果與傳感器、計算單元集合在一起,在硬件環(huán)境里測試。
車輛在環(huán)車輛在環(huán)是基于車輛執(zhí)行。在第二步硬件環(huán)境里測試完成后實施的第三步,即在一個封閉環(huán)境中測試開發(fā)者所開發(fā)功能,封閉環(huán)境中不會有交通流的干擾。
司機在環(huán)司機在環(huán)是基于實際道路。在第三步測試成功后進入到司機在環(huán),司機在環(huán)主要是研究人——車——路——交通四者之間的相互作用,它不僅測試自動駕駛的程序代碼,還能獲得專業(yè)司機的評判。
以上四步是整個自動駕駛研發(fā)的流程,按照以上的流程研發(fā)能夠保證自動駕駛足夠的安全性。
安全是自動駕駛的第一天條
自動駕駛汽車硬件系統(tǒng)
自動駕駛分為三大系統(tǒng):感知、決策和控制,每個系統(tǒng)里有對應(yīng)的硬件系統(tǒng)。
感知系統(tǒng)分為汽車運動、環(huán)境感知和駕駛員監(jiān)測三部分。
車輛運動主要分為慣性導(dǎo)航、速度傳感器、角度傳感器和全球定位系統(tǒng)。
環(huán)境感知主要分為激光雷達、超聲波、攝像頭、毫米波雷達、V2X。
駕駛員監(jiān)測主要分為攝像頭和生物電傳感。
決策系統(tǒng)分為計算單元、T-BOX和黑匣子三部分。
計算單元里是自動駕駛感知決策控制的算法。目前自動駕駛用的是X86結(jié)構(gòu)的服務(wù)器或工控機。
T-BOX即Telematics BOX,是車聯(lián)網(wǎng)的通訊網(wǎng)關(guān),它上接互聯(lián)網(wǎng)下接CAN總線。例如手機上APP發(fā)送的開關(guān)門指令,都是通過T-BOX網(wǎng)關(guān)將操作指令發(fā)送到CAN總線來進行操控的。
黑匣子是用來記錄無人駕駛過程中所有的信息和狀態(tài)。
控制系統(tǒng)部分分為車輛控制和警告系統(tǒng)。
車輛控制主要分為制動、轉(zhuǎn)向、發(fā)動機和變速箱。警告系統(tǒng)主要分為聲音、圖像和震動。
以上是整個自動駕駛硬件系統(tǒng)的構(gòu)架。
下面介紹自動駕駛汽車感知類傳感器。
攝像頭主要是用于車道線、交通標(biāo)識牌、紅綠燈、車輛和行人的檢測。它的優(yōu)點是檢測信息全面且價格便宜,缺點是性能受天氣影響較大。
攝像頭主要由鏡頭、鏡頭的模組、濾光片、CMOS/CCD、ISP和數(shù)據(jù)傳輸這幾部分組成。攝像頭分為單目和雙目。
攝像頭的基本工作原理:光線通過攝像頭前面的鏡頭和濾光片聚焦到后面的CMOS的Sensor上.
Sensor將光信號進行曝光轉(zhuǎn)化成電信號,然后通過ISP圖像處理器轉(zhuǎn)化成標(biāo)準(zhǔn)的RGB或者YUV的數(shù)據(jù)格式,最后傳輸?shù)胶蠖说挠嬎銠C進行處理。
激光雷達的核心原理是TOF(Time of Flight),即一束光射出后碰到障礙物后,光會發(fā)生回波,并在APD上進行接收和計算光折返的距離。
根據(jù)它的掃描原理激光雷達可以分為同軸旋轉(zhuǎn)、棱鏡旋轉(zhuǎn)、MEMS、OPA相控陣以及Flash。激光雷達不光是用于感知,地圖類的測繪和定位也會使用到需要它。
毫米波雷達主要用于交通車輛的檢測。毫米波雷達主要是由射頻天線、芯片和算法組成,基本原理是發(fā)射一束電磁波,然后觀察電磁波回波的攝入差異來計算距離和速度。
它的優(yōu)點是檢測速度快且較準(zhǔn)確,不受天氣情況干擾,缺點是不能對車道線進行識別檢測。
組合導(dǎo)航是通過GNSS板卡接收所有可見的GPS衛(wèi)星信號并進行計算,從而得出被檢物體在大地坐標(biāo)系中的空間位置。
當(dāng)車輛通過隧道、有建筑物群和樹蔭遮擋等路段時,GPS信號會產(chǎn)生遮擋不能提供很好的結(jié)算和實時導(dǎo)航,所以這種情況下需要融合慣性導(dǎo)航的信息。
慣性導(dǎo)航是一個完全封閉的系統(tǒng),不受外界影響,可以直接給出車身的位置、速度和姿態(tài)。
自動駕駛汽車的傳感器安裝位置
自動駕駛汽車傳感器的安裝位置一般是:
激光雷達是360°旋轉(zhuǎn)的,所以它都是安裝在車頂;
毫米波雷達的指向性很強,所以的它一般安裝在前后保險杠上;
考慮到車身在道路上的俯仰和姿態(tài)的干擾,所以組合導(dǎo)航系統(tǒng)一般是安裝在兩個后車輪的中軸線上;
車身的360°都會安裝攝像頭。
自動駕駛汽車的傳感器
上圖總結(jié)了自動駕駛所使用到的傳感器。
自動巡航、應(yīng)急制動、行人檢測都是L1、L2級的功能。
歐洲的標(biāo)準(zhǔn)是2017年強制性具備AEB功能的車輛;美國的標(biāo)準(zhǔn)是讓到2020年讓所有的車具備輔助駕駛、車道偏離和AEB功能;
中國的標(biāo)準(zhǔn)是到2018年將自動駕駛L1級的功能AEB列為強制標(biāo)準(zhǔn),這些強制標(biāo)準(zhǔn)主要是用于商用車、卡車和客車。
下面簡單介紹L1、L2目前量產(chǎn)的方案和百度以及很多人工智能公司研發(fā)的L3+以上的方案的差異。
L1、L2級別最怕的是傳感器誤檢,例如正在開車時傳感器發(fā)生誤檢,隨后急剎車會讓駕駛感受很差。L1、L2的算法會避免一定的誤檢率。
L3以上關(guān)注的是傳感器漏檢,駕駛的主體是一個系統(tǒng),一定不能讓系統(tǒng)的傳感器段出現(xiàn)漏檢情況。
這是目前傳統(tǒng)車企和一些AI公司在自動駕駛上針對傳感器兩個重大的理念差異。
目前L4的適應(yīng)范圍是城市道路和高速路的一些自動駕駛,我國的高速路的限速是120km/h,根據(jù)道路摩擦系數(shù)可計算出不同速度下的剎車距離。加上整個系統(tǒng)反應(yīng)時間,根據(jù)數(shù)學(xué)公式計算出下表。
剎車距離公式和整體制動距離公式
目前自動駕駛的整個系統(tǒng)反應(yīng)時間會在500毫秒之內(nèi),車輛制動是液壓需要0.3~0.5秒,卡車用的氣剎需要0.8秒。
目前市面上在售車,絕大多數(shù)都是低于這個技術(shù)指標(biāo),說明在售車性能都很好。從目前來看,對于傳感器的要求,能測到150米已足夠。
自動駕駛汽車傳感器分辨率計算公式
這是一個三角函數(shù)反正切函數(shù),但是這個公式會多除以一個2,是為了避免漏檢。
當(dāng)激光雷達的兩束線的角度之間有一個物體, 正好處于檢測邊緣它會產(chǎn)生一定的漏檢,除以2是為了保證在每一個角度上都不會產(chǎn)生漏檢。
在0.4°這個分辨率之下我們在100米外其實就可以檢測到一個人、車或騎行者。
在0.1°這個分辨率之下我們在400米外其實就可以檢測到一個人、車或騎行者。
但是能檢測到并不意味著自動駕駛系統(tǒng)能識別出來,只有一條線的這種成像或者低分辨率的成像,自動駕駛還是識別不了。
目前百度Apollo平臺,我們在同一車上用激光雷達4到5根線才可以很好地對障礙物進行分類。
現(xiàn)在像Velodyne 64線的激光雷達,0.4°分辨率下他的物體感知距離是50米。
未來自動駕駛傳感器的趨勢:自動駕駛傳感器離不開多傳感器的融合。激光雷達和攝像頭都屬于光學(xué)類的傳感器,它們核心零部件和處理電路很相似,
未來有可能將激光雷達和攝像頭前端融合到一起,直接輸出RGB、 XYZ融合后的顏色加點云信息,然后傳輸?shù)胶蠖说挠嬎銇磉M行處理。
美國創(chuàng)業(yè)公司Aeye開發(fā)的iRADAR系統(tǒng),它不僅能真實的體現(xiàn)出二維世界的彩色信息,而且能將點云的信息疊加,每個像素點不僅有顏色信息還有空間坐標(biāo)信息。
自動駕駛汽車的計算單元
上圖是自動駕駛汽車的計算單元架構(gòu)。
在自動駕駛汽車的計算單元部分,需要考量整體的車規(guī)、電磁干擾和振動方面的設(shè)計以及ISO-26262標(biāo)準(zhǔn)的要求。
所有的CPU、GPU、FPGA、MCU和總線都要做冗余設(shè)計,以防止單點故障。
目前計算單元都是集中式的架構(gòu),即將所有的工作都放到一個工控機當(dāng)中。
這種架構(gòu)的缺點是體積大、功耗高,不適應(yīng)未來的量產(chǎn);優(yōu)點是方便代碼的快速迭代,工控機卡槽的設(shè)計方便硬件更新和擴展。
由于集中式的缺點,未來將會考慮嵌入式的方案。將各傳感器的原始數(shù)據(jù)先融合到一個Sensor Box中,在其中完成數(shù)據(jù)融合, 然后將融合后的數(shù)據(jù)給到后端計算平臺處理。
Sensor Box作用:目前所用傳感器給出的原始數(shù)據(jù)該如何判斷融合完成后是否是判斷同一個目標(biāo),需要有一個時間戳同步,保證這個時間戳下每個傳感器探測的都是同一個坐標(biāo)系,時間戳的同步是在Sensor Box里面完成的。
這種方案將原來集中式計算的功能拆解出來,可以降低整體系統(tǒng)的功耗,但是不足以面向更多的量產(chǎn)化。
芯片設(shè)計流程
下面介紹芯片的設(shè)計流程。
我們現(xiàn)在開發(fā)的自動駕駛算法,當(dāng)感知算法固化后可以做成專用的芯片。
ASIC的芯片是基于特定需求的特殊定制芯片,它的優(yōu)點是比普通的GPU和FPGA體積更小、功耗更低、性能穩(wěn)定和可量產(chǎn)。
現(xiàn)在的半導(dǎo)體產(chǎn)業(yè)非常成熟。自動駕駛算法公司只需做好芯片的前端設(shè)計,比如將算法固化下來,然后選擇適用的IP核,最后進行EDA (電子自動化設(shè)計), 將芯片設(shè)計完的電路圖再交由后端,像臺積電這種芯片制造企業(yè)進行流片的生產(chǎn)。
芯片設(shè)計流程整體分為芯片設(shè)計、芯片制造、芯片封裝三部分?,F(xiàn)在整個半導(dǎo)體產(chǎn)業(yè)正在從深紫外(DOV)向極紫外(EUV)發(fā)展。
半導(dǎo)體正步入7納米時代,新工藝對性能帶來很大提升。對比16納米工藝,7納米工藝可提升40%性能,節(jié)省60%能耗。
自動駕駛線控系統(tǒng)
自動駕駛線控系統(tǒng)(control by wire)指的是汽車的控制是由一些簡單命令完成的,而不是由物理操作完成的。
線控部分相當(dāng)于人的手和腳,在線控系統(tǒng)里執(zhí)行上端的命令。主要分為三大部分:減速控制、轉(zhuǎn)向控制和加速控制。
傳統(tǒng)汽車的這些控制由液壓系統(tǒng)和真空助力泵協(xié)助完成,自動駕駛汽車的線控需要用電控化的零部件來完成,如電子液壓制動系統(tǒng)(EHB)。
大陸制動解決方案
上圖是大陸制動的解決方案。它的MK C1集成液壓和制動的模塊,利用緊湊且輕重量的設(shè)計節(jié)省制動單元,通過電信號發(fā)出的制動信號也使制動距離更短。
MK100使用的ESC(車身電子穩(wěn)定系統(tǒng))可與MK C1之間進行相互備份。當(dāng)MK C1系統(tǒng)失效時由MK100來接管。
從原理圖上來看,大陸制動的所有的供電、執(zhí)行、線路和管路圖都是雙備份的,極大地提高安全性,但是該系統(tǒng)只適用于乘用車。像卡車、客車等商用車都是通過氣剎系統(tǒng)制動的。
目前很多自動駕駛車都使用EPS(電子助力轉(zhuǎn)向系統(tǒng))。EPS直接使用轉(zhuǎn)向管柱與下面的齒條相結(jié)合,沒有采用電控制。
自動駕駛汽車的線控系統(tǒng)
如英菲尼迪Q50的轉(zhuǎn)向系統(tǒng)中,由離合器進行轉(zhuǎn)向管柱的截斷,當(dāng)車輛啟動時離合器松開,所有的自動駕駛指令都通過ECU(電子控制元件)發(fā)送控制指令到下端兩個轉(zhuǎn)向電機上,進行轉(zhuǎn)向控制。
線控油門是對自動駕駛車輛加速度的控制,減速剎車踏板上有位置傳感器可檢測到剎車深淺度,該傳感器傳送指令到EMS(發(fā)動機制動系統(tǒng))后,氣門進氣量越多,加速度即越快。
自動駕駛汽車的線控系統(tǒng)
自動駕駛汽車目前大多是新能源車,新能源車通過驅(qū)動電機的扭力控制來完成對加速度的控制,從整個線控化來看,分為三個階段:
1.0 對原車的方向盤踏板進行改裝,將一些轉(zhuǎn)向管柱截斷后,加裝轉(zhuǎn)向電機,通過控制電機進行轉(zhuǎn)向,缺點是未經(jīng)過原車系統(tǒng)測試驗證,存在安全隱患。
2.0基于原車的輔助駕駛系統(tǒng),對Can總線協(xié)議進行破解,通過原車總線指令控制車的轉(zhuǎn)向和制動。
3.0從車底盤開始開發(fā)的一套系統(tǒng),轉(zhuǎn)向線控完全按照自動駕駛需求定制,與2.0的區(qū)別在于考慮到冗余和備份的需求。
2018年7月4日,Apollo硬件開發(fā)平臺正式發(fā)布,新增15家硬件廠商選型,也發(fā)布了Apollo傳感器單元。
添加底層的抽象層后(將原來的硬件參考設(shè)計升級為硬件開發(fā)平臺),硬件開發(fā)平臺內(nèi)容更加豐富了。
有開發(fā)者提出,百度提供的硬件參考設(shè)計,目前要么買不到,要么供貨周期很長。
基于這些訴求,我們豐富了硬件的選型,將通過我們測試驗證的傳感器、工控機、控制單元進行發(fā)布,以方便開發(fā)者進行選購。
Apollo硬件開發(fā)平臺
在百度目前提供的參考設(shè)計中,我們將其分為Apollo平臺認證及Apollo硬件開發(fā)平臺認證。
Apollo平臺認證是指百度目前正在使用的傳感器經(jīng)認證后公布出來。例如Velodyne 64線激光雷達就屬于Apollo平臺認證產(chǎn)品,我們會基于正在使用的傳感器提供數(shù)據(jù)集。
Apollo硬件開發(fā)平臺認證,則是在Apollo代碼層面進行驗證,如感知模塊的數(shù)據(jù)化采集標(biāo)注和模型的訓(xùn)練的額外工作,還需要開發(fā)者自己完成。
后續(xù)Apollo會繼續(xù)豐富生態(tài)圈,繼續(xù)提供芯片和傳感器的支持及選型。
傳感器單元(Sensor Box)將所有的傳感器信息融合到傳感器單元中,完成整個時間戳的對準(zhǔn),將前處理的數(shù)據(jù)傳輸?shù)胶蠖说墓た貦C計算單元上進行處理.
這是根據(jù)百度在使用傳感器開發(fā)出來的,不一定適用所有開發(fā)者。后續(xù)Apollo將推出AXU擴展單元,附帶PCI卡槽的單元將更加靈活。
AXU擴展單元
在Apollo的抽象層中,有硬件接口,比如說內(nèi)核驅(qū)動、USP Library(用戶空間庫)等。
USP Library(用戶空間庫)主要用在Can總線協(xié)議中。因為每個車廠/車型/批次其Can總線協(xié)議都不同,將控制指令信息寫在USP Library中進行操控。
Apollo開發(fā)平臺中,還有HAL硬件抽象層,這為了防止單一硬件短路而導(dǎo)致整個系統(tǒng)硬件內(nèi)核崩潰的中間開發(fā)層。不同的硬件廠家可以選擇開放所有源代碼,或?qū)⒕幾g后的代碼發(fā)布在Apollo平臺上。
Apollo完成代碼核入的工作后會發(fā)布在GitHub上,開發(fā)者不需要針對不同硬件選型去開發(fā)不同的驅(qū)動。
自動駕駛產(chǎn)業(yè)圖譜
最后,是VSI發(fā)布的自動駕駛產(chǎn)業(yè)鏈布局圖。
自動駕駛產(chǎn)業(yè)是汽車新能源、IT、交通通訊、半導(dǎo)體人工智能、移動互聯(lián)網(wǎng)等多個10萬規(guī)模產(chǎn)業(yè)億聚的大型聚合產(chǎn)業(yè)。
自動駕駛汽車是物質(zhì)流、能量流、信息流的聚合體,需要軟硬件行業(yè)的深度整合和合作才能保證自動駕駛產(chǎn)業(yè)的成功落地。
-
硬件開發(fā)
+關(guān)注
關(guān)注
3文章
175瀏覽量
24787 -
自動駕駛
+關(guān)注
關(guān)注
790文章
14321瀏覽量
170676 -
Apollo
+關(guān)注
關(guān)注
5文章
348瀏覽量
18862
原文標(biāo)題:進階課程 ⑤ | Apollo硬件開發(fā)平臺介紹
文章出處:【微信號:Apollo_Developers,微信公眾號:Apollo開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
小e開發(fā)平臺硬件介紹
【DragonBoard 410c申請】深入了解高通平臺智能硬件
3天造出自動駕駛汽車的百度Apollo,背后竟有50多個后臺
如何能深入的學(xué)習(xí)一下arduino?
介紹一下STM32開發(fā)都有什么工具
介紹一下串行通信的原理
簡單梳理一下嵌入式視覺領(lǐng)域的主流硬件平臺
簡單分享一下Arduino程序編寫
簡要介紹一下Python-UNO的使用方法

介紹一下ARCore的基本概念并剖析其工作機理
Apollo與農(nóng)業(yè)應(yīng)用場景的完美結(jié)合
Apollo開發(fā)套件加速自動駕駛研發(fā)
Apollo開放平臺8.0多維度全新升級
自動駕駛Apollo開放平臺8.0升級的內(nèi)容

評論