硬件平臺(tái)主要是無(wú)人駕駛系統(tǒng)的計(jì)算硬件和各種傳感器硬件,包括GPS/IMU、攝像頭、激光雷達(dá)、毫米波雷達(dá)、HMI設(shè)備、黑盒子等。
開(kāi)源軟件平臺(tái)是自動(dòng)駕駛系統(tǒng)的核心部分,包括功能模塊、運(yùn)行框架和實(shí)時(shí)操作系統(tǒng)三部分。功能模塊可細(xì)分為:
地圖引擎:運(yùn)行高精地圖;
定位模塊:通過(guò)GPS、V-SLAM、L-SLAM、里程計(jì)等多種定位源融合,結(jié)合高精地圖,實(shí)現(xiàn)精準(zhǔn)定位;
感知:通過(guò)激光雷達(dá)、毫米波雷達(dá)、攝像頭,精確感知車輛周圍的環(huán)境路況,包括車輛、行人、交通標(biāo)志等等;
規(guī)劃:主要包括路徑規(guī)劃、運(yùn)動(dòng)障礙物的預(yù)測(cè)等;
控制:實(shí)現(xiàn)控制車輛的轉(zhuǎn)向、油門(mén)、剎車等操作;
End-to-End:基于深度學(xué)習(xí)的橫向和縱向駕駛模型;
HMI:人機(jī)交互模塊。
TIPS
本次沙龍課程,我們有請(qǐng)到百度Apollo資深技術(shù)布道師——胡曠來(lái)詳細(xì)講解Apollo3.5技術(shù)架構(gòu)。
胡曠,中科院軟件所計(jì)算機(jī)科學(xué)專業(yè)碩士,清華大學(xué)在讀MBA。曾在IBM負(fù)責(zé)技術(shù)研發(fā)及創(chuàng)新管理工作,擁有4項(xiàng)美國(guó)專利。2014年加入百度擔(dān)任技術(shù)管理崗位,目前是Apollo開(kāi)源社區(qū)技術(shù)布道師,負(fù)責(zé)Apollo平臺(tái)的車輛/硬件認(rèn)證,并為生態(tài)伙伴提供軟硬件解決方案咨詢、幫助其落地Apollo解決方案。
在這次的分享中,胡曠將從Apollo3.5整體框架出發(fā),為大家講解全新版本的Apollo在城市駕駛能力、Apollo Cyber RT框架、硬件平臺(tái)以及V2X車路協(xié)同這四大方面的重大升級(jí),帶領(lǐng)開(kāi)發(fā)者更好的認(rèn)識(shí)了解Apollo。
以下,ENJOY
Apollo 3.5是面向城市道路自動(dòng)駕駛解決方案,能夠處理更復(fù)雜的環(huán)境,具備更全面的能力。相對(duì)于以前的版本,Apollo 3.5 做了以下升級(jí)。
第一是首次具備處理城市道路自動(dòng)駕駛能力。
第二是 Apollo 3.5硬件平臺(tái)全新升級(jí)。
第三是實(shí)時(shí)通信框架Cyber RT。之前使用的是ROS, Apollo 3.5從ROS替換成了Apollo自研的專門(mén)應(yīng)用于自動(dòng)駕駛應(yīng)用場(chǎng)景的通信框架 Cyber RT。
最后是應(yīng)用于智慧交通的V2X。
Apollo 3.5 架構(gòu)
這是Apollo 3.5的架構(gòu)圖,還是基于經(jīng)典的四層架構(gòu)。Apollo 3.5對(duì)四大核心能力進(jìn)行了升級(jí)。
首先是底層的車輛認(rèn)證平臺(tái),主要包括兩塊,第一是符合Apollo標(biāo)準(zhǔn)的線控車輛的需求,第二是滿足Apollo線控標(biāo)準(zhǔn)的車輛。
往上是硬件開(kāi)發(fā)平臺(tái),硬件開(kāi)發(fā)平臺(tái)是做自動(dòng)駕駛相關(guān)的硬件,這些藍(lán)色的模塊中有些是新增的硬件類型,有些是更新的硬件型號(hào)。
再往上是軟件開(kāi)放平臺(tái),開(kāi)源代碼大部分是在軟件層面。Apollo3.5在定位、感知、規(guī)劃、還有Cyber RT以及V2X的適配器等模塊有變化。
最上層的云端服務(wù)在Apollo 3.5主要是仿真以及V2X的路側(cè)服務(wù)。
線控車輛是做自動(dòng)駕駛的第一道門(mén)檻。Apollo 3.5的開(kāi)放車輛認(rèn)證平臺(tái)其實(shí)就是降低大家的第一道門(mén)檻。在Apollo 3.5中,我們聯(lián)合車廠的伙伴一起做這個(gè)事情。
首先我們新增了兩款國(guó)內(nèi)車廠的車輛,第一是與廣汽合作的GE3的開(kāi)發(fā)者版本,另一個(gè)是與長(zhǎng)城合作的WEYVV6。開(kāi)發(fā)者可以買(mǎi)到這些車輛,并且比之前的要便宜,降低上車的門(mén)檻。此外,我們還升級(jí)了乘用車的線控標(biāo)準(zhǔn),新增了小型車的認(rèn)證標(biāo)準(zhǔn)。此外,我們還發(fā)布了更詳細(xì)的適配Apollo車輛線控標(biāo)準(zhǔn)的流程以及測(cè)試標(biāo)準(zhǔn)。
在Apollo 3.5中,硬件開(kāi)發(fā)平臺(tái)整體傳感器套件變化非常大。在Apollo 3.0的傳感器套件方案中,車的頂部是64線主感知雷達(dá),還有前方的一個(gè)毫米波雷達(dá)以及三個(gè)攝像頭,還有GPS、IMU慣導(dǎo)系統(tǒng)。
Apollo 3.5的變化非常之大。首先主感知激光雷達(dá)從64線升級(jí)到了128線,同時(shí)還增加了三個(gè)16線激光雷達(dá),分別布置在車輛的正前方,以及車后部?jī)蓚?cè),毫米波雷達(dá)也從之前的正前方的一個(gè)變成現(xiàn)在兩個(gè),分別是正前方一個(gè),車后部一個(gè),這也是為了支持倒車的場(chǎng)景。攝像頭現(xiàn)在也是做環(huán)式,增加到10個(gè)。
其次我們還新增了很多的適配硬件,大家可以根據(jù)自己的場(chǎng)景做更深入的適配,而且還包括一些符合車規(guī)級(jí)的感知設(shè)備,主要是為將來(lái)的量產(chǎn)做準(zhǔn)備。
第三點(diǎn)是開(kāi)源軟件平臺(tái),這一塊重點(diǎn)介紹規(guī)劃、感知模塊還和Cyber RT。
在以前的自動(dòng)駕駛場(chǎng)景中間,使用同一個(gè)配置來(lái)處理不同用戶場(chǎng)景的問(wèn)題。在Apollo 3.5中,我們要面臨復(fù)雜城市道路,有更多的用戶場(chǎng)景,我們提出了基于Scenario的規(guī)劃。
Planner是解決自動(dòng)駕駛的局部規(guī)劃,Routing是解決全局規(guī)劃。具體而言,規(guī)劃就是基于地圖、全局導(dǎo)航路徑、定位、車輛狀態(tài)(包括:位置、速度、加速度、底盤(pán))、障礙物的感知及預(yù)測(cè)信息,計(jì)算出可供控制模塊(Controller)執(zhí)行的一條安全且舒適的行駛路徑。
基于Scenario的規(guī)劃架構(gòu)
如圖所示,從頂部的輸入開(kāi)始,通過(guò)Planner的Dispatcher生成Planner。
這個(gè)規(guī)劃框架帶來(lái)了以下優(yōu)點(diǎn):
架構(gòu)可擴(kuò)展且靈活
可以訂制自己的Scenario
可以根據(jù)每一個(gè)Scenario精調(diào)性能
可以復(fù)用決策器和優(yōu)化器
下面給大家看一個(gè)例子,這是一個(gè)很常見(jiàn)的車輛行駛場(chǎng)景,這個(gè)場(chǎng)景由四個(gè)Scenarios來(lái)組成,第一個(gè)Scenario車輛會(huì)做前面的跟車,車道保持,Lane Follow,探測(cè)到的行人在一定時(shí)間內(nèi)保持靜止?fàn)顟B(tài),這個(gè)時(shí)候可能選擇側(cè)道超車,超完車之后繼續(xù)做Lane Follow,后面有一個(gè)Stop Sign來(lái)繼續(xù)行進(jìn),這是一個(gè)很常見(jiàn)的場(chǎng)景。
一個(gè)場(chǎng)景由連續(xù)多個(gè)Scenarios組成
再細(xì)看下剛才場(chǎng)景中間的某一個(gè)Scenario。Scenario是由多個(gè)Stages組成的,再來(lái)看Side Pass有哪些Stages,前面有障礙物要減速,生成減速的軌跡線,之后第二個(gè)Stages停在離前方障礙物的安全距離內(nèi),觀察情況確保安全。第三步在確保安全的前提下,生成了Side Pass的軌跡線,這就是Side Pass所經(jīng)歷的三個(gè)Stages。
一個(gè)Scenario由連續(xù)多個(gè)Stages組成
Apollo 3.5默認(rèn)支持這些道路場(chǎng)景、隔離帶道路、小巷道,減速帶、禁停區(qū)、人行道還有旁邊有車輛停的道路,以及交叉路口、全向停止標(biāo)志。還有像開(kāi)放空間對(duì)于停車、倒車、泊車這些場(chǎng)景的支持。
在Apollo 3.5 中,感知套件的變化非常大,主要表現(xiàn)在:第一新的感知系統(tǒng)能夠幫助Apollo系統(tǒng)看得更全,實(shí)現(xiàn)360度無(wú)死角,無(wú)盲區(qū)的覆蓋。第二基于128線的激光雷達(dá)能看得更遠(yuǎn)。第三是更靈活,根據(jù)場(chǎng)景以及硬件配置融合的機(jī)制。
多視角感知架構(gòu)
這個(gè)是新的感知的架構(gòu)圖,主要還是三類感知設(shè)備。從圖中看出,使用深度網(wǎng)絡(luò)解決交通信號(hào)燈檢測(cè)、車道檢測(cè)以及障礙物的問(wèn)題和點(diǎn)云的分割。之后再做后向的融合、輸出。交通信號(hào)燈是基于兩個(gè)攝像頭來(lái)做的,而其他的功能我們會(huì)基于三類感知設(shè)備。
開(kāi)源軟件的另一重點(diǎn),也是Apollo四個(gè)核心開(kāi)放能力里面的一個(gè)重點(diǎn),即Cyber RT。
Cyber RT是系統(tǒng)應(yīng)用層和操作系統(tǒng)層的一個(gè)中間件, Apollo之前是使用ROS,為什么Apollo 3.5要替換成Cyber RT呢?
大家都知道ROS是基于在機(jī)器人行業(yè)用得非常的廣泛的實(shí)時(shí)通信系統(tǒng),但是把它用在自動(dòng)駕駛場(chǎng)景里會(huì)面臨很多的挑戰(zhàn)。
1)ROS調(diào)度的不確定性。ROS的調(diào)度依賴linux的通用系統(tǒng)調(diào)度,不清楚業(yè)務(wù)邏輯。自動(dòng)駕駛是專用系統(tǒng),任務(wù)需要按照業(yè)務(wù)優(yōu)先級(jí)調(diào)度。其低延遲要求比高吞吐要求更高。
2)ROS通信的開(kāi)銷。Apollo前期曾經(jīng)使用共享內(nèi)存去降低ROS原生的通信開(kāi)銷的問(wèn)題。
3)非自動(dòng)駕駛領(lǐng)域?qū)S?,存在其他?wèn)題等。
使用Cyber RT有以下優(yōu)勢(shì):
1)非常簡(jiǎn)易的部署體驗(yàn),不用關(guān)注其調(diào)度機(jī)制與通信機(jī)制,就能提供非常好的性能,且不需要復(fù)雜的配置。
2)加速自動(dòng)駕駛開(kāi)發(fā),自研減少了很多底層的依賴,遷移到不同的計(jì)算平臺(tái)的時(shí)候就會(huì)相對(duì)容易。
3)專注自動(dòng)駕駛,為自動(dòng)駕駛解決方案賦能。它是相對(duì)獨(dú)立的開(kāi)源實(shí)時(shí)計(jì)算框架,并且專為自動(dòng)駕駛設(shè)計(jì)的組件模塊,基于Cyber,簡(jiǎn)化搭建自動(dòng)駕駛應(yīng)用的流程。
Apollo Cyber RT運(yùn)作流程
Cyber中通過(guò)Components來(lái)封裝每個(gè)算法模塊,通過(guò)有向無(wú)環(huán)圖(DAG)來(lái)描述Components之間的邏輯關(guān)系。對(duì)于每個(gè)算法模塊,也有其優(yōu)先級(jí)、運(yùn)行時(shí)間、使用資源等方面的配置。系統(tǒng)啟動(dòng)時(shí),結(jié)合DAG、調(diào)度配置等,創(chuàng)建相應(yīng)的任務(wù),從框架內(nèi)部來(lái)講,就是協(xié)程,調(diào)度器把任務(wù)放到各個(gè)Processor的隊(duì)列中。然后,由Sensor輸入的數(shù)據(jù),驅(qū)動(dòng)整個(gè)系統(tǒng)運(yùn)轉(zhuǎn)。
V2X是推動(dòng)自動(dòng)駕駛另外一條技術(shù)路線,跟自感知相比是另外一種路線。當(dāng)然它與自感知技術(shù)協(xié)作的話能更快地幫助自動(dòng)駕駛落地,Apollo 3.5提供了V2X的解決方案。
Apollo 3.5 智能車輛基礎(chǔ)設(shè)施協(xié)作系統(tǒng)(IVICS)架構(gòu)圖
這是Apollo V2X的架構(gòu)圖,其包括硬件平臺(tái)的OBU,軟件平臺(tái)的Adapter,以及云端的路側(cè)服務(wù)。
-
毫米波雷達(dá)
+關(guān)注
關(guān)注
107文章
1044瀏覽量
64366 -
Apollo
+關(guān)注
關(guān)注
5文章
342瀏覽量
18450 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121157
原文標(biāo)題:沙龍回顧 | Apollo 3.5 技術(shù)架構(gòu)詳解
文章出處:【微信號(hào):Apollo_Developers,微信公眾號(hào):Apollo開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論