ROS:用于Automated Driving模塊化軟件架構(gòu)
性能
實(shí)時(shí)性:在當(dāng)前的系統(tǒng)架構(gòu)下,由于缺失節(jié)點(diǎn)執(zhí)行和消息傳遞優(yōu)先級(jí)的時(shí)間保證,ROS并不具有實(shí)時(shí)特性。ROS最初設(shè)計(jì)的目標(biāo)機(jī)器人是PR2,當(dāng)時(shí)只是應(yīng)用于科研領(lǐng)域因此不需要考慮實(shí)時(shí)性方面的問題,但伴隨ROS已走過11個(gè)年頭,其得到了極大的推廣和應(yīng)用,盡管依然存在不少局限性但依然無法掩蓋它的鋒芒。已發(fā)布的ROS2已具有實(shí)時(shí)特性,并相比ROS1提高了系統(tǒng)的穩(wěn)定性、安全性及分布式處理能力,關(guān)于ROS1與ROS2的區(qū)別主要如下所示,后續(xù)樓主會(huì)專門寫一篇兩者的對(duì)比文章。
Node Pipelining:在自動(dòng)駕駛汽車中,特定的任務(wù)以預(yù)先定義的恒定速率計(jì)算是有益的,例如基于視覺的定位,其輸入圖像以15Hz記錄,那位置的更新通常也應(yīng)在15Hz速率下。如果是串行處理方式,那從圖像獲取到內(nèi)部處理再到結(jié)果輸出,其整個(gè)更新速率顯然不是15Hz。但如果將單個(gè)或多個(gè)處理步驟分解成更小的單元?jiǎng)t可滿足期望的時(shí)間限制,這就是Node Pipelining的概念。
仿真和調(diào)試
離線處理:為了仿真和分析子系統(tǒng)及調(diào)試系統(tǒng)關(guān)鍵錯(cuò)誤。對(duì)系統(tǒng)中傳遞的數(shù)據(jù)進(jìn)行有選擇的記錄是ROS的基礎(chǔ)特性。
以一個(gè)簡(jiǎn)化的視覺定位的案例具體說明下,如上圖所示,用于定位組件的輸入信息以Rosbag的形式記錄并存儲(chǔ)下來,存儲(chǔ)的數(shù)據(jù)會(huì)保留時(shí)間戳及消息內(nèi)容,以便及時(shí)準(zhǔn)確的重放所有實(shí)時(shí)數(shù)據(jù)用于離線系統(tǒng)的仿真模擬或數(shù)據(jù)分析。另外,依賴于硬件設(shè)備,尤其是網(wǎng)絡(luò)帶寬和存儲(chǔ)的吞吐量,所有主題信息都可在車輛行駛時(shí)在線記錄以分析關(guān)鍵駕駛場(chǎng)景和決策,如路徑規(guī)劃和控制等。
仿真: ROS的模塊化消息架構(gòu)允許數(shù)據(jù)輸入源的更換,因此節(jié)點(diǎn)可很容易的基于記錄的數(shù)據(jù)進(jìn)行測(cè)試。如果在仿真時(shí)還需要用戶手工輸入一些信息,那么Rviz(一個(gè)強(qiáng)大的可視化調(diào)試和仿真工具)則提供了一系列交互式標(biāo)簽以用于定位和定向障礙物等。
而對(duì)于整個(gè)系統(tǒng)的仿真及回歸測(cè)試,ROS則可與Gazebo無縫鏈接,Gazebo是一個(gè)功能強(qiáng)大的3D模擬仿真引擎,其具有完整的動(dòng)力學(xué)和運(yùn)動(dòng)學(xué)特性。通過其強(qiáng)大的可擴(kuò)展插件系統(tǒng),可支持真實(shí)傳感器的仿真并包括預(yù)定義的傳感器噪聲。定制化的傳感器模型也可通過Gazebo 的API進(jìn)行添加(說太多沒什么用,只有你親自使用過才會(huì)體會(huì)它的強(qiáng)大,反正Gazebo很牛逼)。
容錯(cuò)性和安全性
系統(tǒng)診斷和監(jiān)測(cè):在系統(tǒng)開發(fā)和運(yùn)行期間,攻城獅和用戶可立即了解系統(tǒng)的健康狀況,例如,所有傳感器都已連接并正向系統(tǒng)中發(fā)送數(shù)據(jù),且所有的組件都以預(yù)定的速率計(jì)算所需數(shù)據(jù)等。為了方便攻城獅為其組件添加診斷,ROS提供了一便于使用和集成的基礎(chǔ)框架,以用于向中央診斷管理器發(fā)送診斷信息,該中央診斷管理器以交通燈的顏色方案顯示系統(tǒng)運(yùn)行狀況以便立即查明關(guān)鍵組件或數(shù)據(jù)完整性是否存在風(fēng)險(xiǎn)。
Lock Stepping鎖步:即由兩個(gè)處理器構(gòu)成的自監(jiān)控對(duì),其不間斷的檢查功能的正確性并可診斷出故障處理器,從而建立故障抑制區(qū)防止故障蔓延。ROS并沒有特定的功能來實(shí)現(xiàn)鎖步,然而模塊化架構(gòu)及標(biāo)準(zhǔn)接口有助于鎖步系統(tǒng)的開發(fā)以提高系統(tǒng)可靠性。
應(yīng)用及支持
坐標(biāo)轉(zhuǎn)換系統(tǒng):在多傳感器系統(tǒng)中會(huì)定義多個(gè)坐標(biāo)系統(tǒng),如攝像頭、車本身或全局坐標(biāo)系統(tǒng),這就需要將數(shù)據(jù)在不同坐標(biāo)系統(tǒng)中頻繁轉(zhuǎn)換,ROS則提供了基于時(shí)間的坐標(biāo)轉(zhuǎn)換服務(wù),可實(shí)現(xiàn)某一坐標(biāo)系的數(shù)據(jù)向任意其他坐標(biāo)系的轉(zhuǎn)換(強(qiáng)大的TF庫)。
多速率系統(tǒng):在自動(dòng)駕駛汽車中,基于傳感器的信息通常以固定的速率交互。例如攝像頭的圖像信息以15Hz速率獲取并更新,而GNSS位置確定則只有在1Hz或5Hz速率下。當(dāng)將多傳感器數(shù)據(jù)進(jìn)行融合時(shí),數(shù)據(jù)同步是非常重要的一方面。為了簡(jiǎn)化多速率系統(tǒng)中的數(shù)據(jù)同步,ROS提供了基于時(shí)間戳的同步原理-消息過濾器(Message Filter),它從多個(gè)數(shù)據(jù)源采集不同類型的數(shù)據(jù),只有每個(gè)信息源的信息具有相同時(shí)間戳的時(shí)候才會(huì)將信息發(fā)布出去。
可視化:ROS提供了兩個(gè)擴(kuò)展性極強(qiáng)的工具-rqt和rviz,其可幫助我們實(shí)現(xiàn)圖像顯示,3D畫圖(點(diǎn)云)、車輛狀態(tài)數(shù)據(jù)(里程)等。
3、總結(jié)
通過上面的敘述,最后以一張圖表的形式對(duì)三種軟件架構(gòu)做個(gè)比較:
備注:上中下水平依次以++ o --代表
從上面的對(duì)比中,我們可清楚的看到ROS在自動(dòng)駕駛領(lǐng)域進(jìn)行應(yīng)用開發(fā)時(shí)所具有的優(yōu)勢(shì),尤其在原型設(shè)計(jì)方面。像百度早期的阿波羅、開源的Autoware都是基于ROS做的自動(dòng)駕駛項(xiàng)目,很多Tier1的供應(yīng)商及OEM,如BOSCH、BMW等也都會(huì)選擇ROS作為他們自動(dòng)駕駛項(xiàng)目開發(fā)的一個(gè)有力組件和工具。
- END -
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長度6~500個(gè)字
圖片新聞
技術(shù)文庫
最新活動(dòng)更多
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
-
精彩回顧立即查看>> 【在線研討會(huì)】普源精電--激光原理應(yīng)用與測(cè)試解決方案
-
精彩回顧立即查看>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
精彩回顧立即查看>> 【線上直播】新能源汽車熱管理行業(yè)應(yīng)用新進(jìn)展
-
精彩回顧立即查看>> 【線上直播】西門子電池行業(yè)研討會(huì)-P4B如何加速電池開發(fā)
-
精彩回顧立即查看>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
推薦專題
- 1 獨(dú)家 | 江鈴福特并入長安福特,從此只有“一個(gè)福特”
- 2 小鵬首款增程車曝光,大空間SUV要搶理想地盤?
- 3 想買SUV的再等等,下半年即將亮相4款全新SUV,個(gè)個(gè)都看點(diǎn)十足!
- 4 更傳統(tǒng)的新勢(shì)力SUV來了!小鵬G7上市定檔,價(jià)格會(huì)有驚喜?
- 5 "尚界"登場(chǎng):華為與上汽的這張新牌怎么打?
- 6 螞蟻集團(tuán)+寧德時(shí)代:天使輪30億進(jìn)軍Robotaxi!
- 7 下半年高端電車又有五款新選擇,其中一款等到年底都不一定能提車
- 8 北京跑出未來獨(dú)角獸:做智能駕駛,份額全國第一
- 9 新勢(shì)力6月戰(zhàn)報(bào):誰在領(lǐng)跑?
- 10 特斯拉股票還能再創(chuàng)造百萬富翁嗎?