日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【自动驾驶】12.百度Apollo对ROS的优化【详细干货】

發(fā)布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【自动驾驶】12.百度Apollo对ROS的优化【详细干货】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉載自 “Apollo智能駕駛” 公眾號 和搜狐網 “百度開發(fā)者中心” : 原文鏈接


7月22日,百度自動駕駛事業(yè)部資深架構師、數(shù)據平臺專家楊凡,百度自動駕駛資深架構師何瑋,百度智能駕駛事業(yè)部資深架構師郁浩三名講師在中關村創(chuàng)業(yè)大街車庫咖啡,向參加沙龍的三百多名開發(fā)者們深度解析了Apollo平臺與智能駕駛方案。

上期內容中,百度自動駕駛事業(yè)部資深架構師楊凡為我們詳細講解了Apollo1.0開放內容及Apollo2.0展望,點此回顧:,本期我們繼續(xù)曝光干貨,由百度自動駕駛資深架構師何瑋跟我們分享:

何瑋講師:《Apollo代碼開放框架—ROS 探索與實踐》

何瑋,百度自動駕駛資深架構師,專注于百度自動駕駛車載計算框架相關工作。

以下是主題演講內容:

一、 自動駕駛對ROS框架的三點需求

自動駕駛系統(tǒng)非常復雜,包含感知、障礙物檢測、決策、車輛控制等模塊,把這么多功能各異的模塊集成在一起,組成一個完整的系統(tǒng)并完成自動駕駛的任務,這是一個非常大挑戰(zhàn)。

1、高效的開發(fā)支持,快速的算法迭代要求ROS框架要能提供良好的開發(fā)模式,算法工程師更多聚焦在算法本身的開發(fā)和功能驗證上。通過一個框架統(tǒng)一完成諸如配置管理、環(huán)境配置、整體運行以及調試等功能,快速構建系統(tǒng)原型,驗證算法和功能。

2、模塊靈活配置,感知、定位、決策模塊,本身功能相對獨立,通過接口定義數(shù)據。工程師在整體開發(fā)中希望各個模塊獨立開發(fā)、調試,應用時能通過框架快速集合成完整的系統(tǒng)并運行。

3、豐富的調試工具,自動駕駛系統(tǒng)涉及大量圖像、點云處理算法,對于各種可視化工具有非常高需求,障礙物檢測是否精準, 規(guī)劃路徑是否合理、定位是否正確,這些環(huán)節(jié)在調試過程中都需要可視化工具的支持。

二、 為什么選用ROS框架?

1、行業(yè)認可,ROS框架很早就被機器人行業(yè)所使用,目前有3000多個基礎庫,能夠支持應用的快速開發(fā)。

2、消息機制,ROS在開發(fā)過程中,基于功能把整個自動駕駛系統(tǒng)分成多個模塊,每個模塊負責自己消息的接收、處理、發(fā)布。當模塊需要聯(lián)調時,通過框架可以把各個模塊快速的集成到一起。

3、使用廣泛,ROS是學術界使用最廣泛的框架,對于驗證最新的算法非常便利。

正是基于以上特性,在Apollo1.0版本中選擇ROS作為開發(fā)和集成的框架。

三、Apollo中ROS的改進

為適應ROS在自動駕駛汽車上的應用,做了相應改進。

1、通信性能優(yōu)化

|問題:自動駕駛大量使用傳感器引發(fā)很大的傳輸帶寬需求

自動駕駛系統(tǒng)為了能夠感知復雜的道路情況,需要多種傳感器協(xié)同工作才能覆蓋不同的場景、不同路況需求。多傳感器共同使用會對車載系統(tǒng)造成很大壓力。

|解決優(yōu)化:共享內存能減少傳輸中的數(shù)據拷貝,顯著提升傳輸效率

|問題:單路傳感器消息有多個消費者時負載成倍增長

|解決優(yōu)化:共享內存可以有效滿足一對多的傳輸場景

共享內存本身的特性能夠支持一次寫入、多次讀取功能。對于一對多傳輸場景,不同的使用者就可以同時讀取,實現(xiàn)一次寫入,多次讀取的功能,成倍提升傳輸效率。

|通信性能優(yōu)化效果

A、一對一傳輸過程中,共享內存吞吐量達到socket兩倍,一對多傳輸過程中,共享內存?zhèn)鬏攲挼膬?yōu)勢進一步擴大。

B、共享內存?zhèn)鬏斞舆t比Shared節(jié)省一半,對強實時性系統(tǒng)的自動駕駛汽車幫助很大。

C、共享內存CPU資源占用要比socket減少很多,一定程度上提升計算算法和能力。

2、去中心化的網絡拓撲

|ROS特點:ROS以Master為中心構建hybridp2p拓撲網絡

ROS是以Master為中心構建Hybrid p2p拓撲網絡,帶來了比較強的容錯性,當某個算法出現(xiàn)異常導致崩潰的時候,不會引起整個的異常,為局部異常處理提供便利。

|問題:Master作為拓撲網絡的中心,一旦異常將影響整個網絡

整個系統(tǒng)非常依賴Master這個單點,一旦Master異常,所有節(jié)點都不能發(fā)現(xiàn)其他節(jié)點,這樣整個系統(tǒng)就不能正常工作。

|解決優(yōu)化:使用RTPS服務發(fā)現(xiàn)協(xié)議實現(xiàn)完全的P2P網絡拓撲

在ROS中添加基于RTPS服務協(xié)議功能,網絡構建不會以Master作為中心,而是通過域概念作為劃分,所有節(jié)點加入域中,會通過RTPS協(xié)議相互廣播通知其他節(jié)點,然后節(jié)點間會建立點對點連接,來發(fā)布訂閱消息,以替代Master作為中央信息交換的功能。

|使用RTPS服務發(fā)現(xiàn)過程

A. Sub節(jié)點啟動,通過組播向網絡注冊

B、通過節(jié)點發(fā)現(xiàn),兩兩建立unicast

C、向新加入的節(jié)點發(fā)送歷史拓撲消息

D、收發(fā)雙發(fā)建立連接,開始通信

3、數(shù)據兼容性擴展

|Message是ROS中描述軟件組件接口的語言

Message是ROS中描述接口的一種語言,當兩個節(jié)點之間需要建立連接的時候,通常需要滿足兩個條件。一是接收和發(fā)送的Topic屬于同一個話題,二是兩個模塊定義的模式要完全一致。

|ROS使用msg描述文件定義模塊間的消息接口

ROS怎么定義message?ROS使用msg文件對數(shù)據接口進行抽象化的描述,并可以生成不同語言的接口實現(xiàn),以滿足不同語言的通信交流需求。

|問題:接口升級后,不同版本的模塊難以兼容

兼容性的問題,當項目規(guī)模比較小時,影響不大;但是對于無人自動駕駛比較龐大的項目時,影響就很大。當某一個模塊接口升級了,需要把所有相關模塊升級到最新版本之后,才能在一起進行基礎功能的連調。同時對于線下仿真調試的時候,有時需要把某一個模塊回到歷史版本驗證或定位某一個問題,這時候若接口之間出現(xiàn)升級,就會出現(xiàn)不兼容問題,導致系統(tǒng)運行障礙。

|問題:接口升級后,歷史數(shù)據也面臨無法使用的問題

接口兼容性問題會對歷史數(shù)據使用造成更大影響,自動駕駛汽車系統(tǒng)中歷史數(shù)據是非常寶貴和重要資源,對于這種問題有一些解決方式,一是通過離線數(shù)據批量轉換和在線方式,二是轉換成新數(shù)據。

|解決優(yōu)化:protobuf能夠很好支持向后兼容

使用protobuf來替代ROSmessage,最大好處是可以完全覆蓋message中本身包含的類型,有利于把既有的ROSmessage遷移到protobuf格式下。此外protobuf有非常好的版本兼容性。

|解決優(yōu)化:protobuf消息格式與ROS深度集成

在Apollo ROS中,做了一整套對protobuf的支持, 在工程中可以不需要做protobuf和ROS message的轉換,直接publish protobuf格式的消息,調試工具也能夠非常正確的解析出來正確的protobuf消息。這樣既能夠很好解決兼容性問題,也不會產生額外的學習成本和使用成本。

四、Apollo框架使用

|如何獲取Apollo?

|Apollo代碼怎么用?

|進入HMI頁面Apollo

HMI界面可以自動映射到主機的系統(tǒng)中,在啟動系統(tǒng)中只需打開瀏覽器,就能看到整個HMI截面,Apollo的HMI界面可直接看到。

|Dreamview實時顯示

把Dreamview打開,出現(xiàn)工程師看的最多的界面,界面會顯示主車路徑、剎車油門狀態(tài)、方向盤狀態(tài)等信息。

|回放數(shù)據重現(xiàn)場景

離線使用時,回到HMI界面,看到車沿著既定的路面運行及規(guī)劃軌跡,右上角剎車油門和車的速度,以及方向盤的控制轉角。至此Apollo離線demo就可以跑起來。

|如何改造自動駕駛系統(tǒng)?

quickstart文件中有中英文各種文檔。如果想對Apollo做定制化修改,可增加全新的驅動,或者調試參數(shù),howto這里有一系列教程,告訴大家如何改造自己的自動駕駛系統(tǒng)。


總結

以上是生活随笔為你收集整理的【自动驾驶】12.百度Apollo对ROS的优化【详细干货】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。