Apollo进阶课程㊶丨Apollo实战——本机演示实战
原文鏈接:進(jìn)階課程?丨Apollo實(shí)戰(zhàn)——本機(jī)演示實(shí)戰(zhàn)?
Apollo是一個(gè)開(kāi)放的、完整的、安全的平臺(tái),將幫助汽車行業(yè)及自動(dòng)駕駛領(lǐng)域的合作伙伴結(jié)合車輛和硬件系統(tǒng),快速搭建一套屬于自己的自動(dòng)駕駛系統(tǒng)。
上周阿波君為大家詳細(xì)介紹了「進(jìn)階課程?丨Azure仿真平臺(tái)使用」。
此課程主要介紹了基于微軟的一個(gè)仿真平臺(tái)Azure,在該仿真平臺(tái)運(yùn)行自己的代碼是不需要進(jìn)行本地編譯的,其使用流程有:首先是克隆Apollo在Github上的代碼;然后在本地對(duì)相應(yīng)的模塊進(jìn)行修改;最后在微軟的Azure仿真平臺(tái)選擇目標(biāo)場(chǎng)景對(duì)更新后的代碼進(jìn)行驗(yàn)證。
本周阿波君將繼續(xù)與大家分享Apollo實(shí)戰(zhàn)——本機(jī)演示實(shí)戰(zhàn)的相關(guān)課程(本節(jié)課程基于Apollo 3.0版本)。下面,我們一起進(jìn)入進(jìn)階課程第41期。
要使用Apollo進(jìn)行實(shí)戰(zhàn),首先要對(duì)Apollo的代碼結(jié)構(gòu)有一個(gè)基本的認(rèn)識(shí)。圖1是Apollo項(xiàng)目的基本代碼結(jié)構(gòu)。包括Docker和Docs(主要放置一些文檔)、Modules(核心模塊算法都在該文件夾下)以及Scripts和Tools等。
???????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ????????????????圖1 Apollo項(xiàng)目的代碼結(jié)構(gòu)
Modules下的文件目錄結(jié)構(gòu)如圖2所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖2 Module文件夾目錄結(jié)構(gòu)
包括之前理論學(xué)習(xí)的Perception、Localization、Prediction 、高精地圖等。Apollo是一個(gè)采用抽象類、工廠方法設(shè)計(jì)的高效易擴(kuò)展的架構(gòu)。小伙伴們可以根據(jù)自己的實(shí)際情況定制,快速搭建適應(yīng)自己場(chǎng)景的自動(dòng)駕駛能力。
圖3是Apollo軟件的架構(gòu)圖,也是核心的關(guān)系圖。它的整個(gè)數(shù)據(jù)流轉(zhuǎn)過(guò)程是:首先是通過(guò)高精地圖和定位獲得車輛周邊的場(chǎng)景信息。然后通過(guò)感知模塊偵測(cè)道路上的障礙物,即一些動(dòng)態(tài)信息,比如旁邊的車、行人、自行車等等。這些工作完成后將感知的信息傳遞給Prediction,預(yù)測(cè)感知障礙物的運(yùn)行軌跡。最后將預(yù)測(cè)結(jié)果包裝再傳給Planning模塊。Planning根據(jù)障礙物和周邊靜態(tài)的情況,比如有哪些車道可選,去規(guī)劃路線。路線規(guī)劃完成后,將生成的軌跡傳到Control模塊。Control模塊通過(guò)Can總線協(xié)議跟車輛交互,例如應(yīng)該打多大角度的方向盤,車輛現(xiàn)在的加速度是多少,當(dāng)前是應(yīng)該踩剎車還是繼續(xù)跟車等。同時(shí)也會(huì)從Can總線協(xié)議層面了解到車輛本身的信息。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖3 Apollo各個(gè)模塊之間的關(guān)系
從2.5版開(kāi)始,我們引入了一些小的變更,其中一個(gè)是Relative Map邏輯單元。它的引入可以使得我們?cè)谝恍┛赡懿⒉恍枰呔貓D的場(chǎng)景進(jìn)行自動(dòng)駕駛,包括早期車輛的Demo搭建等,使整個(gè)適配過(guò)程更加方便。
在3.0版本,?我們升級(jí)了系統(tǒng)里一些安全相關(guān)的模塊,如圖4所示,當(dāng)發(fā)生緊急情況的時(shí)候可以直接利用熔斷機(jī)制跳開(kāi)PNC,直接對(duì)車輛下發(fā)剎車指令等。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖4 Apollo變更關(guān)系圖
在介紹完整體的邏輯以及代碼邏輯模塊之后,接下來(lái)就是一步步的實(shí)戰(zhàn),圖5是軟件的安裝流程。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖5 Apollo軟件安裝流程
自動(dòng)駕駛的門檻比較高,要真正形成一個(gè)比較完備的閉環(huán),還需要一輛車。要從事自動(dòng)駕駛行業(yè),就必須上手,要有實(shí)際的車輛,可以是小型實(shí)驗(yàn)用車或者真車。實(shí)車必須滿足線控標(biāo)準(zhǔn)。圖6列出了滿足Apollo線控標(biāo)準(zhǔn)的車輛指標(biāo)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖6 滿足Apollo要求的線控車輛指標(biāo)
總結(jié)
以上是生活随笔為你收集整理的Apollo进阶课程㊶丨Apollo实战——本机演示实战的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全球首款独显Winodws掌机!AYAN
- 下一篇: 浦发信用卡积分查询方法 积分累积疯狂兑礼