吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

深度剖析Apollo自動駕駛平臺,看看是不是有真的“原子彈”

ml8z_IV_Technol ? 來源:未知 ? 作者:李倩 ? 2018-05-24 16:59 ? 次閱讀

陸奇去年在上海車展期間發布Apollo計劃,向所有合作伙伴免費開放無人駕駛能力,當時有文章評價這是百度扔下了原子彈,炸掉了無人駕駛企業數百億美元投入,今天讓我們深度剖析一下Apollo自動駕駛平臺,看看是不是有真的“原子彈”。

自百度宣布開放 Apollo 自動駕駛平臺以來,很多開發者非常期待可以深入了解 Apollo 平臺的開放內容,以便更充分高效的利用這個自動駕駛平臺,研究并落地自己對于自動駕駛的諸多想法。

為此,7 月 22 日,由百度開發者中心主辦、極客邦科技承辦的 73 期百度技術沙龍設置 Apollo 主題,現場百度資深架構師從 Apollo 的開放能力、Apollo 代碼開放框架以及基于深度學習的 End to End 自動駕駛方案三個技術維度做了深度分享,以期幫助開發者深度了解百度 Apollo 開放內容和平臺架構,設計并實現一套完整的駕駛方案。

Apollo 的開放能力和開放數據

百度資深數據平臺專家楊凡做了開場演講,他表示:“Apollo 開放內容實質上分為兩大部分:能力開放和資源開放,能力開放提供開發者實現車上自動駕駛的平臺,資源開放提供開發者探索算法進化的平臺,這二者相輔相成,缺一不可。”

Apollo 的開放能力

Apollo1.0 主要開放的是封閉場地循跡自動駕駛的框架,從上之下分別是服務層、軟件平臺層、參考硬件層以及參考汽車層,其中標藍部分為具體開放模塊。各層級的具體功能如下:

參考汽車層:實現電子化的控制,也就是線控汽車,這是最底層的一步;

參考硬件層:實現計算能力,包括計算單元、GPS/IMU、HMI Device 等;

軟件平臺層:最核心的層,分為 3 個部分。1、實時 RTOS 系統,要求保證實時反應;2、運行時框架;3、定位模塊和控制模塊以及 HMI 人機交互模塊。這三塊構成了本期開放的封閉場地循跡自動駕駛軟件體系;

云服務層:在云服務層開放了數據開放平臺和喚醒萬物的 DuerOS

以上四層構成了百度 Apollo 自動駕駛平臺的整個技術棧。目前開放的 Apollo1.0 具有高效易拓展架構、立即可用硬件、一鍵啟動更新和完備的開發工具四大特性。

Apollo 的開放資源

Apollo1.0 在資源上開放了三個關鍵數據集:2D 紅綠燈、3D 障礙物以及 Road Hackers。百度將這三部分數據開放至云端,以便用戶高效研究運用。下圖為 Apollo 數據開放平臺的架構邏輯介紹。

如圖,用戶通過云端 Docker Repository,下載基于本地的 VM + Docker 的開發環境,編寫訓練和預測兩部分算法,配置依賴環境。通過云端用戶空間的可視化訓練調試平臺,將用戶在本機創建的算法容器,在云端實現調度,展開訓練評估調試。這樣用戶可以在整個云中的數據開放平臺中,基于海量數據利用集群的 CPU+GPU 資源訓練調試 model,并在其中選取有效的 model 使用。

現場,楊凡親自展示了 Apollo 平臺的使用流程和使用方法,本文不再此贅述,想要動手實踐的讀者可以移步至 Apollo 官網 apollo.auto,在“開發者”/“數據開放平臺”頁面有詳細的使用介紹。

Apollo 代碼開放框架

自動駕駛系統包括障礙物檢測、紅綠燈識別、駕駛行為決策、路徑規劃等系列復雜的功能模塊,如何將這些獨立而又相互依賴的模塊集成在一起,構建成一個穩定的運行系統,是一個巨大的挑戰。百度資深架構師何瑋從百度為何選用 ROS 系統、Apollo 中 ROS 的改進實踐、Apollo 框架使用介紹三個角度分享了 ROS 在百度自動駕駛的探索和實踐。

百度為何選用 ROS 系統?

在百度為何選用 ROS 系統的問題上,何瑋給出解釋,ROS 是一個強大而靈活的機器人編程框架,同時也是學術界使用最廣泛的框架,它具有三大特性:完整的開發工具包、靈活的計算調度模型以及豐富的調試工具,能夠統一提供配置管理、部署運行、底層通信等功能,讓開發者將更多精力放在算法功能的研發上,快速構建系統原型,驗證算法和功能。

Apollo 中 ROS 的改進實踐

ROS 系統的優勢顯而易見,但其在 Apollo 平臺的應用中也并非一帆風順。百度在做研發調試到產品化的過程中,遇到的不少狀況,針對這些問題,百度從通信功能優化、去中心化網絡拓撲以及數據兼容性擴展三個方面做了定制化的改進。

1、通信性能優化:共享內存

問題:自動駕駛系統為了能夠感知復雜的道路場景并完成駕駛任務,需要多種傳感器協同工作,以覆蓋不同場景、不同路況的需求。而主流的多傳感器融合方案至少會包含一個激光雷達和多個相機,如此大的數據量對通信的性能有很大的挑戰。

解決方案:百度采用的解決方案是共享內存,減少傳輸中的數據拷貝, 提升傳輸效率。

1 對 1 的傳輸場景下,同一個機器上的 ROS 節點之間是 socket 進行進程間通信,中間存在多層協議棧以及多次用戶空間和內核空間的數據拷貝,造成了很多不必要的資源占用和性能損耗。共享內存的方式來替代 socket 作為進程間通信的方式,通過減少不必要的內存拷貝,來降低了系統的傳輸延時和資源占用。

單對多的傳輸場景下,ROS 在處理一對多的消息傳輸時,底層實現實際是多個點對點的連接,當把一份數據要發給四個節點時,相同的數據會傳輸四次,這會造成很大的資源浪費。共享內存的傳輸過程,能夠支持一次寫入,多次讀取的功能,對于一對多的傳輸場景,相同的數據包只需要寫入一次即可,成倍地提高了傳輸的效率。

2、去中心化的網絡拓撲:使用 RTPS 服務發現協議

問題:ROS 并非完全的分布式框架,每個 ROS 網絡中需要有一個中心節點 ROS Master, 各個節點在初始化時會像 Master 注冊拓撲信息并獲取其他節點的信息。這種方式有兩個缺點:1、Master 作為系統的單點,一旦崩潰整個網絡將不可用;2、Master 缺乏異常恢復機制,崩潰后無法通過監控重啟等方式自動恢復。

解決方案:為了解決這個問題,百度在 ROS 在框架加入了基于 RTPS 協議的服務發現功能。

整個網絡拓撲不再以 master 為中心構建,而是通過域的概念進行劃分。當一個新的節點加入網絡時,會通過 RTPS 協議向域內的所有其他節點發送廣播信息,各個節點也會將自己的服務信息發送給新的節點,以代替 Master 的信息交換功能。

通過這種方式,能夠使 ROS 網絡的拓撲發現不再依賴 Master 單點,提高了系統的魯棒性。同時該修改完全基于 ROS 底層的修改,對上層應用程序完全透明,開發者也不需要對此功能有任何的代碼適配工作。

3、數據兼容性擴展:用 Protobuf 替換 Message

問題:ROS 系統為了保證收發雙方的消息格式一致,會對 message 定義做 MD5 校驗,任何字段的增減或順序調整都會使 MD5 變化,以保證系統的健壯性。然而這種嚴格的限制也引起了兼容性的問題,當接口升級后,不同的模塊之間不再能夠通信,大大增加了模塊版本之間的耦合

解決方案:使用 protobuf 來替換 ROS 中的 Message 來作為消息定義的格式。protobuf 本身有良好的兼容性支持,只需要在使用中定義好 required 字段,后續新增 optional 字段并不會對消息的解析造成影響。

Apollo 框架使用介紹

隨后,何瑋簡單介紹了 Apollo 框架的使用方法:

第一步:安裝 docher 系統。用 install-dacker 腳本安裝和部署 docker 環境,包含下載、代碼等一系列工作,安裝完之后需要注銷,并且用戶重新登陸,這其中需要注意的是因為涉及用戶權限的變更,需要當前用戶注銷之后才能完全生效;

第二步:編譯 Apollo。編譯代碼:bash Apollo.sh build;

第三步,啟動 Apollo。此步驟下需要對 Apollo 系統進行編譯,編譯完成之后啟動 Apollo。百度提供了一鍵啟動版本,可以將后臺的應用和前端顯示完整啟動。第一步:安裝 docher 系統。用 install-dacker 腳本安裝和部署 docker 環境,包含下載、代碼等一系列工作,安裝完之后需要注銷,并且用戶重新登陸,這其中需要注意的是因為涉及用戶權限的變更,需要當前用戶注銷之后才能完全生效;

目前 Apollo 開源代碼已上傳至 Github 網站,具體鏈接為:github.com/apolloauto,感興趣的碼農們可前往查閱相關的工具和文檔。

基于深度學習的 End to End 自動駕駛方案

開發者想要基于 Apollo 平臺設計一套完整的自動駕駛系統,前提需要了解百度的自動駕駛系統選擇和方案詳情,百度自動駕駛事業部資深架構師郁浩為大家分享了基于傳統 Rule Based 與 End to End 自動駕駛方案的異同與優劣,以及 Apollo 平臺在數據和模型上的實踐。

基于深度學習的方案選擇

郁浩表示,目前,業界和學術界主流還是 Rule based 系統。Rule based 從車輛、到傳感器感知、World model、然后進行決策、控制、最后到車輛,形成了比較完整的閉環系統。不過,其在實際的應用上還是有比較明顯的瓶頸:系統復雜(人工設計)、高精地圖成本高(需要廣鋪以及實時更新),計算性能(資源浪費)。而 End-to-End 方式能夠很好的解決這些問題。下圖為 Rule based 與 End-to-End 優劣對比。

通過對比,可以看到 End-to-End 方案雖然解決了 Rule based 在應用上的部分缺點,但其在基本功能實現上需要進一步的探索和實踐。郁浩認為,這兩種方案,均有各自的優劣勢,在現階段,無法完全依靠某一種深度學習方案實現自動駕駛功能,Rule based 和 End-to-End 在未來的趨勢上必將是吸收對方的優點進行融合而絕非對立。

Apollo 實踐:數據

數據產生分一般兩類,一類是真實數據,一類是模擬器數據。目前,關于中國國情的真實數據非常稀少,模擬器數據雖然能在一定的能況下起借鑒作用,但大多通過游戲渲染出來的,其渲染的紋理與真實場景的紋理千差萬別,幾乎無法用到真實的道路上。

百度在這方面投入甚高,每年都會使用大量數據車實地采集幾百萬公里的數據進行分析。郁浩表示,本次開放的數據主要摘取了前向數據,包括 Image、RTK-GPS 以及 IMU 等,每一個開源的數據文件對應一次采集任務。這里比較有意思的是,百度沒有直接開源出精準坐標,而是根據坐標參數繁衍出1/R(拐彎半徑的倒數)和縱向指令。開發者可以里利用它與車廠合作,直接上路行駛。

Apollo 實踐:模型

百度在去年的時候使用的是簡單的橫向模型 CNN 以及縱向控制模型 Convolutional-LSTM,今年,百度將這二者融合到一起,采用的橫向 + 縱向的模式:LRCN,該模型需要關注點時序處理、橫縱向關聯關系、因果 VS 軌跡預測、Attention 機制、遷移等問題,即能夠精準的預測出周圍的環境。

自動駕駛的模型構建還在探索階段。百度希望與開發者和合作伙伴一起,通過資源和能力的開放,開發出一套真正智能、完整、安全的自動駕駛解決方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 自動駕駛
    +關注

    關注

    785

    文章

    13930

    瀏覽量

    167006
  • Apollo
    +關注

    關注

    5

    文章

    343

    瀏覽量

    18509

原文標題:深度剖析Apollo自動駕駛平臺

文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    谷歌的自動駕駛汽車是醬紫實現的嗎?

    控制技術,不是可以實現自動駕駛么?呵呵,是不是想得太簡單了,不知道谷歌這種自動駕駛汽車這背后是不是基于類似的技術?感興趣的可以出來聊聊
    發表于 06-14 16:15

    自動駕駛真的會來嗎?

    所需要的圖像識別、計算機視覺、深度學習等關鍵技術的投資熱度在明顯增強。另外,也已經公司在開發不同于普通地圖的3D地圖,能詳細到道路旁邊的電線桿的位置,以及與下一個油桶、燈柱距離。對于自動駕駛的發展
    發表于 07-21 09:00

    自動駕駛的到來

    的攻擊方式幾種,一是攻擊自動駕駛的外部傳感器,科恩實驗室對于特斯拉的模擬攻擊實驗是一個很好的例子。在這方面,使用多傳感器融合,綜合決策,而不是只依賴某個傳感器,是較好的解決辦法。另外,在傳感器中加入抗
    發表于 06-08 15:25

    3天造出自動駕駛汽車的百度Apollo,背后竟有50多個后臺

    的參考硬件;在車輛層次,Apollo提供了參考車輛平臺。  Apollo 1.0還為全球開發者提供了向自動駕駛領域進發的全套“裝備”:高效易擴展的架構,完備易操作的參考車輛和硬件、一鍵
    發表于 07-07 18:28

    AI/自動駕駛領域的巔峰會議—國際AI自動駕駛高峰論壇

    正與新的移動商業模式一起蓬勃發展。本次以人工智能作為自動駕駛核心的國際AI自動駕駛高峰論壇將匯聚全球汽車行業和半導體行業的核心參與者,深度剖析人工智能在汽車領域的突出發展,預測人工智能
    發表于 09-13 13:59

    百度Apollo自動駕駛分析報告

    百度自動駕駛行業報告,值得一看
    發表于 09-02 18:10

    自動駕駛集體爆發?看看2018CES那些大佬怎么說

    2018CES大展依舊熱鬧,這中間除了傳統科技廠商,近些年汽車廠商以及與汽車相關的技術和產品也成了展會重頭戲。特別是當先火熱的自動駕駛技術。 下面我們就來看看,今年CES大展上自動駕駛
    的頭像 發表于 01-11 17:52 ?5146次閱讀

    自動駕駛平臺Apollo,是否帶動了行業變革?

    讓很多外國人意外的是,中國科技巨頭百度推出的自動駕駛平臺Apollo,在過去短短的一年多時間里,居然在自動駕駛的游戲中一路通關成為頭號玩家。
    的頭像 發表于 06-12 09:20 ?3404次閱讀

    Apollo開發套件加速自動駕駛研發

    百度Apollo自動駕駛開發套件是全球首款自動駕駛開發套件,也是國內首個適配Apollo整套硬件傳感器的自動駕駛硬件集成
    的頭像 發表于 05-15 15:59 ?8331次閱讀

    百度Apollo 5.5自動駕駛平臺發布,新增了什么功能呢

    Apollo 生態大會上,百度發布 Apollo 5.5 自動駕駛平臺,新增語義地圖深度學習方法,基于語義地圖的預測模型 3 秒內軌跡點
    的頭像 發表于 12-18 15:39 ?4178次閱讀

    百度Apollo發布消息 自動駕駛開放平臺將迎來新的合作伙伴

    百度Apollo是國內比較大的自動駕駛開放平臺自動駕駛不是單打獨斗就能搞定的游戲,百度“搭臺”自然需要小伙伴們來“唱戲捧場”。日前,百度
    發表于 03-04 15:04 ?960次閱讀

    研制光刻機難度,比研制原子彈難多了

    總有人說光刻機什么難的?就算被封鎖,憑我們自己的能力還造不出嗎?在這里要特地說一下,研制光刻機,可比研制原子彈難多了。
    的頭像 發表于 07-02 09:49 ?5829次閱讀

    百度通過Apollo平臺和Weltmeister EV展示了全自動駕駛

    中國科技公司百度通過其Apollo平臺和Weltmeister EV展示了所謂的“全自動駕駛”。
    發表于 10-22 11:20 ?1050次閱讀

    百度Apollo自動駕駛平臺自動駕駛等級

    阿波羅(Apollo)是百度發布的面向汽車行業及自動駕駛領域的合作伙伴提供的軟件平臺。發布時間是2017年4月19日,旨在向汽車行業及自動駕駛領域的合作伙伴提供一個開放、完整、安全的軟
    發表于 06-02 16:18 ?3次下載
    百度<b class='flag-5'>Apollo</b><b class='flag-5'>自動駕駛</b><b class='flag-5'>平臺</b>及<b class='flag-5'>自動駕駛</b>等級

    Apollo自動駕駛開放平臺10.0版即將全球發布

    ,更為自動駕駛行業的未來發展注入了新的活力。 Apollo ADFM大模型在設計上充分考慮了技術的安全性和泛化性,通過先進的算法和模型訓練,實現了安全性高于人類駕駛員10倍以上的卓越表現。這一技術的成功應用,無疑為
    的頭像 發表于 11-07 11:24 ?900次閱讀
    娱乐城百家乐官网规则| 十六浦娱乐城信誉| 百家乐心术| 网上玩百家乐有钱| 15人百家乐官网桌| 克拉克百家乐官网的玩法技巧和规则 | 明升娱乐| 大发888娱乐真钱游戏下载| 百家乐龙虎台布| 凤凰百家乐娱乐城| 澳门百家乐官网论坛及玩法| 百家乐官网娱乐送白菜| 在线百家乐官网纸牌游戏| 百家乐官网游戏平台架设| 福清市| 百家乐官网娱乐开户| 百家乐官网输一压二| 百家乐官网赚钱项目| 澳门百家乐官网怎样下注| 百家乐官网高手和勒威| 百家乐官网美女视频聊天| 百家乐官网线上真人游戏| 百家乐官网大小是什么| 澳门百家乐官网的公式| 娱乐城百家乐官网可以代理吗| 澳门百家乐官网现场视频| 乐天堂百家乐官网娱乐平台| 机器百家乐官网作弊| 做生意挂什么画招财| 百家乐平注胜进与负追| 百家乐专业术语| 威尼斯人娱乐城官网lm0| 大发888娱乐游戏平台| 寒江博彩堂| 百家乐官网分析下载| 加查县| 百家乐官网八卦投注法| 去澳门百家乐官网的玩法技巧和规则| 24山可以正针吗| 百家乐打法介绍| 大发888大发体育|