「自動駕駛汽車平台技術基礎」在2020年6月由大陸的清華大學出版,作者是楊世春、肖贇、夏黎明、蔣曉琳、華暘等人編著。根據作者簡介,本書的作者含括北京航空航天大學與百度公司,其中百度公司編寫者大多是參與Apollo平台的開發者。因此本書從第四章起深入的介紹Apollo的架構,包括從第一代開始的演變。扣除Apollo的部分,第1~3章介紹了許多車用電子在自動駕駛上的應用及發展,不過技術含量不少,可能需要先對這個產業有些了解才比較容易入手。所以本書經本可以粗略分成兩部分:自動駕駛的相關技術介紹,以及百度Apollo平台的介紹。
圖片取自清華大學出版社 |
下圖為本書中以總線的觀念,將自動駕駛的架構劃分為「環境感知系統」、「定位導航系統」、「路徑規劃系統」、「運動控制系統」、「輔助駕駛系統」;其中「環境感知系統」、「定位導航系統」、「路徑規劃系統」這三個是基礎於CPU(中央處理器)處理。各自系統中負責的功能讀者可以按圖索驥。
自動駕駛汽車技術架構 |
而對應的關鍵技術可以分為三大塊:「車輛/設施」、「信息交互」、「基礎支撐」;而這三塊又同時需要車載平台及基礎設施一起實作,互相支持。由於沒有一家公司有能力同時實現這麼東的技術,因此根據每間公司的核心領域,又可以分出更多的廠商來完成這個生態系。
自動駕駛汽車關鍵技術框架 |
第三章有簡略的介紹到AUTOSAR架構,雖然篇幅不多,但是OT覺得很值得細讀。AUTOSAR是Automotive Open System Architecture的縮寫,這個聯盟由主要車廠:BMW、Daimler、Ford、GM、PSA、Volkswagen,以及主要一階供應商Bosch、Continentals發起,並訂定許多車用電子的開發規範,在歐美體系的車用電子市場極具影響力;事實上現在大陸也不少車廠也開始導入AUTOSAR的架構。
AUTOSAR的Core Partner,本圖取自AUTOSAR |
本書歸納AUTOSAR的架構如下圖,分別為應用層(Application Layer)、運行時環境(Run Time Environment, RTE)、基礎軟件層(Basic Software, BSW)以及微控制器(Microcontroller)。AUTOSAR架構的好處是應用層可以完全獨立於硬件,只有基礎軟件層與硬件相關,而RTE實現這兩者的隔離。這樣供應商可以專注於開發自己專長的應用層軟件,而不必關心基礎層軟件的標準化。
AUTOSAR層面圖 |
上圖應該是作者們歸納了AUTOSAR的Classic Platform,方便讀者理解;原架構如下,提供有興趣的朋友對比。
AUTOSAR的Classic Platform(取自AUTOSAR) |
本書對於AUTOSAR的說明,除了架構層面,也對每一層中AUTOSAR模塊(台灣稱為「模組」)的構成,也做了深度的介紹。對於想了解AUTOSAR的朋友是很好入門的一個章節。
第三章的後半段開始介紹Apollo架構、自動駕駛系統會用到的軟件。這邊不多做說明。第四章開始正式介紹Apollo。Apollo的Source code可以到GitHub下載,網址是https://github.com/ApolloAuto/apollo。OT依照GitHub的說明確實可以下載,並且在Ubuntu 20.04上編譯。
本書出版時,Apollo架構為3.5,但是目前已經進版到6.0。因此本書可以讓得主對於Apollo的設計概念以及演進做概念性的介紹。實作的部分建議各位朋友直接下載GitHub。
百度Apollo 6.0,取自GitHub |