自動(dòng)駕駛是一個(gè)龐大而且復(fù)雜的工程,涉及的技術(shù)很多,大部分答主僅從軟件方面進(jìn)行了介紹,而且太過(guò)細(xì)致。我從硬件和軟件兩方面談一談自動(dòng)駕駛汽車(chē)所涉及的技術(shù)。
Google從2009年開(kāi)始做自動(dòng)駕駛,到現(xiàn)在已有8個(gè)年頭。8個(gè)年頭的技術(shù)積累還無(wú)法將自動(dòng)駕駛技術(shù)量產(chǎn)落地,可見(jiàn)自動(dòng)駕駛技術(shù)并不簡(jiǎn)單。
自動(dòng)駕駛是一個(gè)龐大而且復(fù)雜的工程,涉及的技術(shù)很多,大部分答主僅從軟件方面進(jìn)行了介紹,而且太過(guò)細(xì)致。本文從硬件和軟件兩方面談一談自動(dòng)駕駛汽車(chē)所涉及的技術(shù)。
一. 硬件
離開(kāi)硬件談自動(dòng)駕駛都是耍流氓。
先看個(gè)圖,下圖基本包含了自動(dòng)駕駛研究所需要的各種硬件。
然而…
這么多傳感器并不一定會(huì)同時(shí)出現(xiàn)在一輛車(chē)上。某種傳感器存在與否,取決于這輛車(chē)需要完成什么樣的任務(wù)。如果只需要完成高速公路的自動(dòng)駕駛,類(lèi)似Tesla 的 AutoPilot 功能,那根本不需要使用到激光傳感器;如果你需要完成城區(qū)路段的自動(dòng)駕駛,沒(méi)有激光傳感器,僅靠視覺(jué)是很困難的。
自動(dòng)駕駛系統(tǒng)工程師要以任務(wù)為導(dǎo)向,進(jìn)行硬件的選擇和成本控制。
1.汽車(chē)
既然要做自動(dòng)駕駛,汽車(chē)當(dāng)然是必不可少的東西。
從我司做自動(dòng)駕駛的經(jīng)驗(yàn)來(lái)看,做開(kāi)發(fā)時(shí),能不選純汽油車(chē)就別選。
一方面是整個(gè)自動(dòng)駕駛系統(tǒng)所消耗的電量巨大,混動(dòng)和純電動(dòng)在這方面具有明顯優(yōu)勢(shì)。另一方面是是發(fā)動(dòng)機(jī)的底層控制算法相比于電機(jī)復(fù)雜太多,與其花大量時(shí)間在標(biāo)定和調(diào)試底層上,不如直接選用電動(dòng)車(chē)研究更高層的算法。
國(guó)內(nèi)也有媒體專門(mén)就測(cè)試車(chē)輛的選擇做過(guò)調(diào)研。
2.控制器
在前期算法預(yù)研階段,推薦使用工控機(jī)(Industrial PC,IPC)作為最直接的控制器解決方案。因?yàn)楣た貦C(jī)相比于嵌入式設(shè)備更穩(wěn)定、可靠,社區(qū)支持及配套的軟件也更豐富。
百度開(kāi)源的Apollo推薦了一款包含GPU的工控機(jī),型號(hào)為Nuvo-5095GC,如下圖。
當(dāng)算法研究得較為成熟時(shí),就可以將嵌入式系統(tǒng)作為控制器,比如Audi和TTTech共同研發(fā)的zFAS,目前已經(jīng)應(yīng)用在最新款A(yù)udi A8上量產(chǎn)車(chē)上了。
3.CAN卡
工控機(jī)與汽車(chē)底盤(pán)的交互必須通過(guò)專門(mén)的語(yǔ)言——CAN。從底盤(pán)獲取當(dāng)前車(chē)速及方向盤(pán)轉(zhuǎn)角等信息,需要解析底盤(pán)發(fā)到CAN總線上的數(shù)據(jù);工控機(jī)通過(guò)傳感器的信息計(jì)算得到方向盤(pán)轉(zhuǎn)角以及期望車(chē)速后,也要通過(guò) CAN卡 將消息轉(zhuǎn)碼成底盤(pán)可以識(shí)別的信號(hào),底盤(pán)進(jìn)而做出響應(yīng)。
CAN卡可以直接安裝在工控機(jī)中,然后通過(guò)外部接口與CAN總線相連。
Apollo使用的CAN卡,型號(hào)為ESD CAN-PCIe/402,如下圖。
4.全球定位系統(tǒng)(GPS)+慣性測(cè)量單元(IMU)
人類(lèi)開(kāi)車(chē),從A點(diǎn)到B點(diǎn),需要知道A點(diǎn)到B點(diǎn)的地圖,以及自己當(dāng)前所處的位置,這樣才能知道行駛到下一個(gè)路口是右轉(zhuǎn)還是直行。
無(wú)人駕駛系統(tǒng)也一樣,依靠GPS+IMU就可以知道自己在哪(經(jīng)緯度),在朝哪個(gè)方向開(kāi)(航向),當(dāng)然IMU還能提供諸如橫擺角速度、角加速度等更豐富的信息,這些信息有助于自動(dòng)駕駛汽車(chē)的定位和決策控制。
Apollo的GPS型號(hào)為NovAtel GPS-703-GGG-HV,IMU型號(hào)為NovAtel SPAN-IGM-A1。
5.感知傳感器
相信大家對(duì)車(chē)載傳感器都耳熟能詳了。
感知傳感器分為很多種,包括視覺(jué)傳感器、激光傳感器、雷達(dá)傳感器等。
視覺(jué)傳感器就是攝像頭,攝像頭分為單目視覺(jué),雙目(立體)視覺(jué)。比較知名的視覺(jué)傳感器提供商有以色列的Mobileye,加拿大的PointGrey,德國(guó)的Pike等。
激光傳感器分為單線,多線一直到64線。每多一線,成本上漲1萬(wàn)RMB,當(dāng)然相應(yīng)的檢測(cè)效果也更好。比較知名的激光傳感器提供商有美國(guó)的Velodyne和Quanergy,德國(guó)的Ibeo等。國(guó)內(nèi)有速騰聚創(chuàng)和禾賽科技。
雷達(dá)傳感器是車(chē)廠Tier1的強(qiáng)項(xiàng),因?yàn)槔走_(dá)傳感器已經(jīng)在汽車(chē)上得到了廣泛使用。知名的供應(yīng)商當(dāng)然是博世、德?tīng)柛!㈦娧b等。
6.硬件部分總結(jié)
組裝一套可以完成某項(xiàng)功能的自動(dòng)駕駛系統(tǒng)需要及其豐富的經(jīng)驗(yàn),并且要對(duì)各傳感器的性能邊界及控制器計(jì)算能力了如指掌。優(yōu)秀的系統(tǒng)工程師能在滿足功能的要求下將成本控制在最低,使其量產(chǎn)、落地的可能性更大。
二. 軟件
大部分答主已對(duì)軟件進(jìn)行了闡述,我也從我的角度介紹以下軟件的開(kāi)發(fā)。
軟件部分的內(nèi)容已在我的回答:無(wú)人駕駛,個(gè)人如何研究?中進(jìn)行了介紹。
以下內(nèi)容前半段為搬運(yùn)。
軟件包含四層:感知、融合、決策、控制。
各個(gè)層級(jí)之間都需要編寫(xiě)代碼,去實(shí)現(xiàn)信息的轉(zhuǎn)化,更細(xì)化的分類(lèi)如下。
1.采集
傳感器跟我們的PC或者嵌入式模塊通信時(shí),會(huì)有不同的傳輸方式。
比如我們采集來(lái)自攝像機(jī)的圖像信息,有的是通過(guò)千兆網(wǎng)卡實(shí)現(xiàn)的通信,也有的是直接通過(guò)視頻線進(jìn)行通信的。再比如某些毫米波雷達(dá)是通過(guò)CAN總線給下游發(fā)送信息的,因此我們必須編寫(xiě)解析CAN信息的代碼。
不同的傳輸介質(zhì),需要使用不同的協(xié)議去解析這些信息,這就是上文提到的“驅(qū)動(dòng)層”。
通俗地講就是把傳感器采集到的信息全部拿到,并且編碼成團(tuán)隊(duì)可以使用的數(shù)據(jù)。
2.預(yù)處理
傳感器的信息拿到后會(huì)發(fā)現(xiàn)不是所有信息都是有用的。
傳感器層將數(shù)據(jù)以一幀一幀、固定頻率發(fā)送給下游,但下游是無(wú)法拿每一幀的數(shù)據(jù)去進(jìn)行決策或者融合的。為什么?
因?yàn)閭鞲衅鞯臓顟B(tài)不是100%有效的,如果僅根據(jù)某一幀的信號(hào)去判定前方是否有障礙物(有可能是傳感器誤檢了),對(duì)下游決策來(lái)說(shuō)是極不負(fù)責(zé)任的。因此上游需要對(duì)信息做預(yù)處理,以保證車(chē)輛前方的障礙物在時(shí)間維度上是一直存在的,而不是一閃而過(guò)。
這里就會(huì)使用到智能駕駛領(lǐng)域經(jīng)常使用到的一個(gè)算法——卡爾曼濾波。
3.坐標(biāo)轉(zhuǎn)換
坐標(biāo)轉(zhuǎn)換在智能駕駛領(lǐng)域十分重要。
傳感器是安裝在不同地方的,比如超聲波雷達(dá)(上圖中橘黃色小區(qū)域)是布置在車(chē)輛周?chē)模划?dāng)車(chē)輛右方有一個(gè)障礙物,距離這個(gè)超聲波雷達(dá)有3米,那么我們就認(rèn)為這個(gè)障礙物距離車(chē)有3米嗎?
并不一定!因?yàn)闆Q策控制層做車(chē)輛運(yùn)動(dòng)規(guī)劃時(shí),是在車(chē)體坐標(biāo)系下做的(車(chē)體坐標(biāo)系一般以后軸中心為O點(diǎn)),所以最終所有傳感器的信息,都是需要轉(zhuǎn)移到自車(chē)坐標(biāo)系下的。
因此感知層拿到3m的障礙物位置信息后,必須將該障礙物的位置信息轉(zhuǎn)移到自車(chē)坐標(biāo)系下,才能供規(guī)劃決策使用。
同理,攝像機(jī)一般安裝在擋風(fēng)玻璃下面,拿到的數(shù)據(jù)也是基于攝像機(jī)坐標(biāo)系的,給下游的數(shù)據(jù),同樣需要轉(zhuǎn)換到自車(chē)坐標(biāo)系下。
什么是自車(chē)坐標(biāo)系?
請(qǐng)拿出你的右手,以大拇指 → 食指 → 中指 的順序開(kāi)始念 X、Y、Z。
然后把手握成如下形狀:
把三個(gè)軸的交點(diǎn)(食指根部)放在自車(chē)坐標(biāo)系后軸中心,Z軸指向車(chē)頂,X軸指向車(chē)輛前進(jìn)方向。
各個(gè)團(tuán)隊(duì)可能定義的坐標(biāo)系方向不一致,只要開(kāi)發(fā)團(tuán)隊(duì)內(nèi)部統(tǒng)一即可。
4.信息融合
信息融合是指把相同屬性的信息進(jìn)行多合一操作。
比如攝像機(jī)檢測(cè)到了車(chē)輛正前方有一個(gè)障礙物,毫米波也檢測(cè)到車(chē)輛前方有一個(gè)障礙物,激光雷達(dá)也檢測(cè)到前方有一個(gè)障礙物,而實(shí)際上前方只有一個(gè)障礙物,所以我們要做的是把多傳感器下這輛車(chē)的信息進(jìn)行一次融合,以此告訴下游,前面有一輛車(chē),而不是三輛車(chē)。
5.決策規(guī)劃
這一層次主要設(shè)計(jì)的是拿到融合數(shù)據(jù)后,如何正確做規(guī)劃。規(guī)劃包含縱向控制和橫向控制。
縱向控制即速度控制,表現(xiàn)為 什么時(shí)候加速,什么時(shí)候制動(dòng)。
橫向控制即行為控制,表現(xiàn)為 什么時(shí)候換道,什么時(shí)候超車(chē)等
6.軟件長(zhǎng)什么樣子?
自動(dòng)駕駛系統(tǒng)中的部分軟件看起來(lái)和下面類(lèi)似。
軟件的名字反映了該軟件的實(shí)際作用——
app_driver_camera 攝像機(jī)驅(qū)動(dòng)
app_driver_hdmap 高精度地圖驅(qū)動(dòng)
app_driver_ins 慣導(dǎo)驅(qū)動(dòng)
app_driver_lidar 激光傳感器驅(qū)動(dòng)
app_driver_mwr 毫米波傳感器驅(qū)動(dòng)
app_fusion_freespace 自由行駛區(qū)域融合
app_fusion_lane 車(chē)道線融合
app_fusion_obstacle 障礙物融合
app_planning&decision 規(guī)劃決策
然而實(shí)際上攻城獅們會(huì)編寫(xiě)一些其他軟件用于自己的調(diào)試工作,比如記錄數(shù)據(jù)和回放數(shù)據(jù)的工具。
還有用于傳感器信息顯示的可視化程序,類(lèi)似下圖的效果。
-
傳感器
+關(guān)注
關(guān)注
2550文章
51035瀏覽量
753077 -
Google
+關(guān)注
關(guān)注
5文章
1762瀏覽量
57505 -
自動(dòng)駕駛
+關(guān)注
關(guān)注
784文章
13784瀏覽量
166389
原文標(biāo)題:自動(dòng)駕駛汽車(chē)涉及哪些技術(shù)?
文章出處:【微信號(hào):IV_Technology,微信公眾號(hào):智車(chē)科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論