1. 程式人生 > >無人駕駛入門1:無人駕駛概覽

無人駕駛入門1:無人駕駛概覽

融合 起點 分別是 tail load 機器人 intro rap 發送

最近給大家分享了《百度Apollo無人駕駛入門課程下載》,我也學習了一些,把我做的筆記分享給大家。

第一課:無人駕駛概覽

課程主要介紹了無人駕駛車的關鍵部分以及Apollo的架構,帶大家入門無人駕駛技術。

1.歡迎學習Apollo課程

2.你將學到什麽?

課程概述,略。

3.什麽是無人駕駛?

我們為什麽需要無人駕駛?

主要是三個方面:

1、安全:人們駕車時分心走神是車禍的主要原因,但自動駕駛車不會分心走神,不會疲倦。(今天兒子說無人駕駛車也會累,它累的時候就是充電,好吧,你比爸爸更懂無人駕駛車:)

2、不再需要駕車培訓和考試:人們駕車需要經過駕校培訓,所有人都需要從0開始學習,駕車經驗無法傳承,但無人駕駛車可以自學和復制,不僅僅在駕駛過程中不斷得到學習,而且還可以將學習積累的成果復制給其他車輛。

3、方便:即便駕車有愉悅感,但找停車位很痛苦,相信大家都有這樣的感觸,而無人駕駛車,將會和坐出租或滴滴一樣,在你需要到達的地方停車,你下車後它再自己去尋找停車位。在你需要用車時,只要召喚它,它就會來到你的身邊,超級方便。(感覺像不像勇士在召喚神龍?下次介紹特斯拉的召喚功能。)

技術分享圖片無人駕駛同人類駕駛的優勢對比

自動駕駛的等級劃分

SAE標準將自動駕駛技術分為0~5共六個級別。

L0是完全由駕駛員控制,可能連ABS防抱死功能都沒有,現在已經很少見L0級的車輛了。

L1是駕駛員輔助,車輛提供轉向或加速等支持,如定速巡航功能。本級別需要駕駛員全神貫註開車。

L2是部分自動化,如ACC自適應巡航控制、LKAS車道保持輔助系統等。駕駛員需要實時監控並做好接管的準備。

L3是有條件的自動化,據說奧迪A8L就屬於此級別。駕駛員此時可以基本不幹預駕駛,但仍然需要隨時接管車輛駕駛。

L4是高度自動化,是無人駕駛的真正開始,此時不需要人類介入,可以沒有方向盤或油門、剎車等控制裝置,原則上只要有地圖的地方就能實現自動駕駛。百度Apollo已經開始量產此方案,在限定園區環境下的L4無人駕駛,阿波龍應該就是。

L5是完全自動化,車輛可以完全自動駕駛,只要人類能到的地方,無人駕駛車一樣可以到達,甚至比人類更高效更安全。

技術分享圖片自動駕駛技術的6個級別

關於自動駕駛的等級劃分,後續我再專門寫一篇文章。

4.Sebastian歡迎辭

略。

5.無人駕駛車的運作方式

這篇是David silver在TED的演講,但看完這9分鐘的視頻,基本可以了解無人駕駛的運作方式,是最基礎的入門課,強烈建議0基礎人員學習。

無人駕駛總共有五個重要的單元,分別是:計算機視覺、傳感器融合、定位、路徑規劃、控制。

技術分享圖片無人駕駛的5個重要單元

計算機視覺用來尋找車道、車輛、行人、紅綠燈等對象,並能有效的區分車道線、車輛數量、紅綠燈信號等信息,計算機視覺類似於人類的眼睛,看懂周圍的世界。

技術分享圖片計算機視覺分析

傳感器融合是用來加深對視覺的理解,獲得車輛距離、其他物體的移動速度等信息,了解自身同周圍世界的關系。

技術分享圖片傳感器融合分析

定位,不是簡單的GPS定位,無人駕駛需要厘米級的定位,米級誤差的GPS無法滿足要求,所以還需要自定位技術,需要借助地標,使用粒子濾波、三角測量等方式進行定位。

技術分享圖片模擬定位

路徑規劃也不是簡單的導航軟件中的航線計算,導航地圖的路徑規劃是全局概要規劃,指引無人車前往哪裏,而自車本身還需要通過對周圍車輛和事物的判斷,形成自己位姿的路徑規劃,通過車輛位姿的調整,避免同其他車輛或事物的碰撞,同時也影響駕乘的舒適度(比如對剎車的影響)。

技術分享圖片路徑規劃

控制是無人駕駛的最後一步,簡單的來說就是控制方向盤、剎車、油門、車燈等設備,但通過控制獲得的行車路徑,和路徑規劃中的理想路徑,如何完全吻合,也同樣充滿了考驗,只是對於電腦來說相對簡單,它們可以做到兩者非常的接近,而人類操作實際上比較難(側面說明現在車道寬度較寬:)。

技術分享圖片控制模擬

個人的總結:攝像頭讓車輛看清周圍的事物,雷達等傳感器讓車了解自身同周圍物體的關系,通過地標(高精度地圖中的特征)定位獲得車輛厘米級定位,結合GPS定位(絕對定位),可以獲得車輛在高精度地圖中的絕對位置。路徑規劃既需要turn by turn的道路級路徑規劃,也需要通過自車同周圍事物的距離速度等信息判斷,做出自車位姿的路徑規劃,前者是大方向,後者是細節操作,而控制就是為了實現同規劃路徑的吻合。至此,車輛就可以完成一次從起點到終點的完整行程。

6.Apollo團隊與架構

略。

7.參考車輛與硬件平臺

做無人駕駛開發,就需要一輛可以通過電子控制的車輛,原來駕駛員對方向盤、油門剎車等的物理控制,變成了電子信號控制,這樣的車輛就叫做線控駕駛車輛。(歡迎瀏覽“聊聊用機器人做無人駕駛”一文)

這樣的車輛可以通過控制器區域網絡(CAN總線)向車輛發送加速、制動和轉向信號等信息,通過GPS可以獲得絕對位置信息,通過慣性測量裝置(IMU)可以獲得車輛運動速度、加速度和位置等信息,通過激光雷達可以獲得位置點雲信息,通過攝像頭捕獲圖像信息,通過雷達了解障礙物信息。當然,還有不可或缺的電腦,他是無人駕駛的大腦。

攝像頭、GPS、IMU、激光雷達、雷達以及PC等,這些是無人駕駛所需要的硬件平臺。

技術分享圖片無人駕駛硬件平臺

8.開源軟件架構

開放軟件架構共分為三層:實時操作系統、運行時的框架和應用程序模塊層。

實時操作系統(RTOS)可以確保在給定時間內完成特定任務,實時指的是能夠進行及時分析操作。Apollo RTOS是由Ubuntu Linux加Apollo內核組成。

技術分享圖片RTOS

運行時的框架是Apollo的操作環境,它是ROS(機器人操作系統)的定制版,即Apollo將ROS作為在RTOS上運行的軟件框架。

技術分享圖片ROS

Apollo團隊對ROS進行了改進,如:共享內存的功能和性能、去中心化、數據兼容性等。

共享內存:原來各模塊之間同一內容的使用可能需要復制內存,共享內存支持“一次寫入 多次讀取”模式,支持多個模塊的使用。

技術分享圖片共享內存

去中心化解決了單點故障問題,原來ROS的各個模塊都需要由ROS的主節點來控制,一旦主節點出現問題,那麽整個系統也就無法運行了,Apollo改為將所有節點放在一個公共域中,域中每個節點都有關於其他節點的信息,公共域取代原有ROS的主節點,消除了單節點故障的風險。

技術分享圖片去中心化去中心化

數據兼容性方面,原來ROS不同模塊之間的通訊是通過名為ROS消息的接口語言進行相互通信的,一旦這個消息格式有所變化,則兩個節點間的通訊就會失敗, Apollo團隊將ROS消息改成了名為protobuf的接口語言,protobuf是一種結構化數據序列化方法,通信過程中即便消息格式升級了,也能在解析過程中接受舊的消息格式,此舉有效解決了兼容性問題。

技術分享圖片數據兼容性改進

應用程序模塊包括地圖引擎、定位、感知、規劃、控制、端到端的駕駛以及人機接口(HMI)等。

技術分享圖片應用程序模塊

9.雲服務

Apollo提供了雲端服務功能,只要你能聯網並擁有許可賬戶,即可同雲端進行通信,不僅僅可以完成數據的存取訪問,也可以獲得軟件服務,包括高精度地圖、仿真環境、數據平臺、安全、空中升級軟件以及DuerOS等。

技術分享圖片雲服務內容

仿真平臺聚合了大量駕駛數據,可以是開發人員能夠檢測和驗證無人駕駛軟件系統,仿真平臺不僅僅可以提供大量的數據模擬,更可以通過等碰撞檢測、交通燈識別、速度限制、障礙物檢測、路線邏輯等指標對實現結果進行評估。

數據平臺為仿真平臺提供了大量的數據,這部分數據可以是從真實駕駛環境記錄獲得,也可以是虛擬生成的數據,前者可以通過已獲得的結果進行算法等驗證,後者可以快速搭建驗證某一算法的環境。在驗證算法過程中,可能需要帶有標簽註釋的數據,即已獲得已知結果的數據,比如交通信號燈、帶邊界的障礙物、語義分割數據等。

技術分享圖片帶有標簽註釋的數據

10.無人駕駛車納米學位

學完本次免費課程覺得不過癮,可以付費去優達學院學習專業課程,不僅僅獲得的技能更強,同時也可以作為履歷的一部分。(此處應該由優達學院支付廣告費:)

11.開啟專題學習之旅

略。

好了,至此,你是否對無人駕駛有了更清晰的了解呢?歡迎大家關註我的公眾號羅孚傳說(RoverTang_com),輸入“百度Apollo無人駕駛課程”下載課程視頻,也可以訪問原文了解更多信息。

無人駕駛入門1:無人駕駛概覽