《智能網(wǎng)聯(lián)汽車計(jì)算平臺(tái)部署與測(cè)試》 課件 任務(wù)7、8 中間件ROS安裝、中間件ROS配置與測(cè)試_第1頁(yè)
《智能網(wǎng)聯(lián)汽車計(jì)算平臺(tái)部署與測(cè)試》 課件 任務(wù)7、8 中間件ROS安裝、中間件ROS配置與測(cè)試_第2頁(yè)
《智能網(wǎng)聯(lián)汽車計(jì)算平臺(tái)部署與測(cè)試》 課件 任務(wù)7、8 中間件ROS安裝、中間件ROS配置與測(cè)試_第3頁(yè)
《智能網(wǎng)聯(lián)汽車計(jì)算平臺(tái)部署與測(cè)試》 課件 任務(wù)7、8 中間件ROS安裝、中間件ROS配置與測(cè)試_第4頁(yè)
《智能網(wǎng)聯(lián)汽車計(jì)算平臺(tái)部署與測(cè)試》 課件 任務(wù)7、8 中間件ROS安裝、中間件ROS配置與測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩106頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

任務(wù)七中間件ROS安裝智能網(wǎng)聯(lián)汽車計(jì)算平臺(tái)部署與測(cè)試某國(guó)產(chǎn)自主品牌汽車試制車間實(shí)習(xí)技師小張順利完成了劉師傅交給的操作系統(tǒng)安裝任務(wù),接下來(lái)劉師傅將指導(dǎo)小張完成一個(gè)對(duì)于智能網(wǎng)聯(lián)汽車非常重要的一類軟件,也就是中間件的安裝與測(cè)試。那么,為什么需要中間件,中間件?中間件又是如何安裝呢?請(qǐng)隨著小張,帶著這些疑問(wèn)開始今天的工作吧。1.什么是中間件ROS?2.ROS怎樣安裝?裝調(diào)技師劉師傅、實(shí)習(xí)技師小張能根據(jù)操作系統(tǒng)手冊(cè)與計(jì)算平臺(tái)技術(shù)手冊(cè),正確和規(guī)范講解中間件的作用與分類。能根據(jù)操作系統(tǒng)手冊(cè)與計(jì)算平臺(tái)技術(shù)手冊(cè),規(guī)范完成ROS系統(tǒng)安裝工作。中間件定義與作用中間件認(rèn)知在智能駕駛系統(tǒng)中,中間件(middleware)是介于應(yīng)用軟件和系統(tǒng)軟件之間的一大類軟件。“中間件”這一名字即來(lái)自于其在軟件結(jié)構(gòu)中,相對(duì)于應(yīng)用層(上層)和系統(tǒng)層(底層)之間的位置。中間件定義與作用中間件認(rèn)知是“軟件定義汽車”概念的典型技術(shù)體現(xiàn)連接應(yīng)用軟件的各個(gè)部分或不同的應(yīng)用軟件實(shí)現(xiàn)資源共享和功能共享為操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)等系統(tǒng)軟件提供基礎(chǔ)服務(wù)中間件功能中間件定義與作用中間件認(rèn)知核心思想統(tǒng)一標(biāo)準(zhǔn)為不同汽車企業(yè)提供一個(gè)通用的開放平臺(tái)分散實(shí)現(xiàn)分散實(shí)現(xiàn),是指軟件系統(tǒng)層次化、模塊化,并且降低應(yīng)用與平臺(tái)之間的耦合度集中配置指當(dāng)不同模塊來(lái)自不同的軟件供應(yīng)商時(shí),軟件之間存在復(fù)雜的相互聯(lián)系,為了整合完善系統(tǒng),需將所有模塊的配置信息以統(tǒng)一的格式集中管理起來(lái),集中配置后生成系統(tǒng)中間件定義與作用中間件認(rèn)知中間件在開發(fā)模式中發(fā)揮的作用:中間件定義與作用中間件認(rèn)知03負(fù)責(zé)各類應(yīng)用軟件模塊之間的通信以及對(duì)系統(tǒng)資源的調(diào)度01實(shí)現(xiàn)模塊化開發(fā),為上層的應(yīng)用軟件提供開發(fā)和運(yùn)行所需的環(huán)境,方便開發(fā)者快速、高效、靈活地開發(fā)和集成自動(dòng)駕駛軟件,降低應(yīng)用層軟件的開發(fā)難度02降低測(cè)試要求??蓪?shí)現(xiàn)單元測(cè)試量減少,單元接口固定,集成測(cè)試有據(jù)可依具體作用中間件定義與作用中間件認(rèn)知跨配置,跨車型,跨平臺(tái),跨硬件的軟件適配為軟件認(rèn)證提供標(biāo)準(zhǔn)集成已有工具鏈,支持從設(shè)計(jì)到代碼全流程方便行業(yè)軟件互換互通軟件開發(fā)聚焦差異化,提高軟件開發(fā)效率0504030201優(yōu)勢(shì)主流中間件軟件中間件認(rèn)知AUTOSARROS2CyberRT主流中間件軟件中間件認(rèn)知AUTOSAR全球范圍內(nèi)最著名的中間件方案,全稱為automotiveopensystemarchitecture,即汽車開放系統(tǒng)架構(gòu)。AUTOSAR并非特指由某一家軟件公司開發(fā)出來(lái)的某款操作系統(tǒng)或中間件產(chǎn)品,而是由全球的主要汽車生產(chǎn)廠商、零部件供應(yīng)商、軟硬件和電子工業(yè)等企業(yè)共同制定的汽車開放式系統(tǒng)架構(gòu)標(biāo)準(zhǔn)。各公司基于AUTOSAR標(biāo)準(zhǔn)開發(fā)出來(lái)各自的中間件軟件產(chǎn)品。傳統(tǒng)平臺(tái)(classicplatform)自適應(yīng)平臺(tái)(adaptiveplatform)AUTOSAR平臺(tái)類型主流中間件軟件中間件認(rèn)知AUTOSAR傳統(tǒng)平臺(tái)的AUTOSAR被稱為

AUTOSARCP。AUTOSARCP主要運(yùn)行在8bit、16bit、32bit的MCU(微控制單元)上。一般應(yīng)用在對(duì)實(shí)時(shí)性和功能安全要求較高、對(duì)算力要求較低的場(chǎng)景中,如對(duì)發(fā)動(dòng)機(jī)、制動(dòng)系統(tǒng)等動(dòng)力和底盤系統(tǒng)智能化控制等。該類中間件無(wú)法實(shí)現(xiàn)自動(dòng)駕駛。主流中間件軟件中間件認(rèn)知AUTOSAR具有自適應(yīng)平臺(tái)的AUTOSAR被稱為

AUTOSARAPAUTOSARAP主要運(yùn)行在64bit以上的高性能MPU(微處理器單元)/SOC(嵌入式處理器)上,對(duì)應(yīng)自動(dòng)駕駛的高性能電子系統(tǒng)。AUTOSARAP應(yīng)用在對(duì)實(shí)時(shí)性和功能安全有一定要求,對(duì)算力要求更高的場(chǎng)景中,如ADAS、自動(dòng)駕駛,以及在動(dòng)態(tài)部署方面,追求較高自由度的信息娛樂(lè)場(chǎng)景。主流中間件軟件中間件認(rèn)知AUTOSAR兩類平臺(tái)對(duì)比主流中間件軟件中間件認(rèn)知ROS2ROS即機(jī)器人操作系統(tǒng)(robotoperatingsystem),原生的ROS是作為機(jī)器人操作系統(tǒng)被開發(fā)的,為了直接滿足無(wú)人駕駛的所有需求,用作自動(dòng)駕駛中間件,在原生ROS系統(tǒng)(被稱為ROS1)進(jìn)一步開發(fā)的系統(tǒng)被稱為ROS2。現(xiàn)實(shí)中ROS1較多用于學(xué)術(shù)研究領(lǐng)域。由于ROS1基于TCP/IP通信機(jī)制,這就導(dǎo)致了其具有以下缺陷:實(shí)時(shí)性差嵌入式設(shè)備不友好需要大寬帶的穩(wěn)定網(wǎng)絡(luò)連接主流中間件軟件中間件認(rèn)知ROS2與ROS1的主要區(qū)別:ROS2可以部署在多種操作系統(tǒng)中ROS2的通信機(jī)制不同ROS2穩(wěn)定性更強(qiáng),對(duì)資源的消耗更低主流中間件軟件中間件認(rèn)知ROS1主要構(gòu)建于Linux系統(tǒng)之上,主要支持Ubuntu。ROS2采用全新的架構(gòu),底層基于DDS(DataDistributionService)通信機(jī)制,支持實(shí)時(shí)性、嵌入式、分布式、多操作系統(tǒng),ROS2支持的系統(tǒng)包括Linux、Windows、Mac、RTOS,甚至是單片機(jī)等沒有操作系統(tǒng)的裸機(jī)。ROS2可以部署在多種操作系統(tǒng)中主流中間件軟件中間件認(rèn)知ROS1的通訊系統(tǒng)基于TCPROS/UDPROS,強(qiáng)依賴于master節(jié)點(diǎn)的處理,需要一個(gè)Master來(lái)處理發(fā)布-訂閱通信中間層。ROS2的通訊系統(tǒng)是基于RTSP(Real-TimePublish-Subscribe)協(xié)議的DDS作為中間層,取消了master,同時(shí)在內(nèi)部提供了DDS的抽象層實(shí)現(xiàn)。DDS(Data-DistributionService)數(shù)據(jù)分布式服務(wù)是一種用于實(shí)時(shí)和嵌入式系統(tǒng)發(fā)布-訂閱式通信的工業(yè)標(biāo)準(zhǔn),DDS不需要像ROS1借助master來(lái)完成兩個(gè)節(jié)點(diǎn)的通信,這使得系統(tǒng)容錯(cuò)性更強(qiáng)更加容錯(cuò)和更加靈活,且DDS具有極高的可靠性。ROS2的通信機(jī)制不同主流中間件軟件中間件認(rèn)知ROS1運(yùn)行時(shí)要依賴roscore,一旦roscore出現(xiàn)問(wèn)題就會(huì)造成較大的系統(tǒng)故障,另外由于安裝與運(yùn)行體積較大,對(duì)很多低資源系統(tǒng)會(huì)造成負(fù)擔(dān)ROS2基于DDS進(jìn)行數(shù)據(jù)傳輸,而DDS基于RTPS的去中心化的通信框架,因此去除了對(duì)roscore的依賴,系統(tǒng)的穩(wěn)定性強(qiáng),對(duì)資源的消耗也得到了降低。ROS2的硬件運(yùn)行環(huán)境一般為SOC,滿足高等級(jí)自動(dòng)駕駛的需求。ROS2穩(wěn)定性更強(qiáng),對(duì)資源的消耗更低主流中間件軟件中間件認(rèn)知CyberRTCyberRT又稱CyberRT框架,是我國(guó)自主品牌百度公司為其Apollo(阿波羅)自動(dòng)駕駛平臺(tái)所開發(fā)的中間件。CyberRT是一個(gè)開源、高性能的運(yùn)行時(shí)框架,專為自動(dòng)駕駛場(chǎng)景而設(shè)計(jì),針對(duì)自動(dòng)駕駛的高并發(fā)、低延遲、高吞吐量進(jìn)行了大幅優(yōu)化。為了解決ROS1系統(tǒng)中“若ROSMaster出故障了,則任何兩個(gè)節(jié)點(diǎn)之間的通信便受到影響”的問(wèn)題,CyberRT用自動(dòng)發(fā)現(xiàn)機(jī)制代替master機(jī)制,這個(gè)通信組網(wǎng)機(jī)制和汽車網(wǎng)絡(luò)CAN相似。此外,CyberRT的核心設(shè)計(jì)將調(diào)度、任務(wù)從內(nèi)核空間搬到了用戶空間。主流中間件軟件中間件認(rèn)知CyberRTCyberRT主要功能:在百度Apollo自動(dòng)駕駛系統(tǒng)中管理不同的模塊,實(shí)現(xiàn)模塊間的高效通信,是實(shí)時(shí)操作系統(tǒng)(RTOS,realtimeoperatingsystem)與自動(dòng)駕駛各個(gè)模塊的中間通信接口。主流中間件軟件中間件認(rèn)知CyberRT突出特點(diǎn)是專為無(wú)人駕駛設(shè)計(jì)的,具體有三方面優(yōu)勢(shì):目前百度公司已將CyberRT開源,國(guó)內(nèi)外很多自動(dòng)駕駛團(tuán)隊(duì)使用CyberRT作為中間件。CyberRT、AUTOSARAP、ROS2在市場(chǎng)上分別有廠商在使用。中間件認(rèn)知報(bào)數(shù)法從任意指派從一名學(xué)生開始從1-5依次報(bào)數(shù)報(bào)相同數(shù)目者結(jié)合成一組中間件認(rèn)知一名同學(xué)草稿紙繪制計(jì)算平臺(tái)系統(tǒng)架構(gòu)簡(jiǎn)圖。一名同學(xué)查詢中間件軟件參數(shù)。一名同學(xué)負(fù)責(zé)查詢計(jì)算平臺(tái)技術(shù)手冊(cè)與操作系統(tǒng)手冊(cè)。記錄員負(fù)責(zé)填寫工作記錄表。中間件認(rèn)知中間件認(rèn)知中間件認(rèn)知明確安裝任務(wù)的工作內(nèi)容。在計(jì)算平臺(tái)系統(tǒng)架構(gòu)簡(jiǎn)圖中重點(diǎn)標(biāo)記出中間件。寫出中間件的作用。中間件認(rèn)知計(jì)算平臺(tái)實(shí)訓(xùn)臺(tái)架無(wú)草稿紙、筆操作系統(tǒng)手冊(cè)、計(jì)算平臺(tái)技術(shù)手冊(cè)中間件認(rèn)知無(wú)?確認(rèn)當(dāng)前操作系統(tǒng)是否滿足要求ROS安裝方法ROS安裝與卸載方法安裝運(yùn)行安裝程序添加軟件源添加密鑰版本選擇配置Ubuntu軟件源123456ROS安裝方法ROS安裝與卸載方法ROS與Ubuntu系統(tǒng)在版本上有對(duì)應(yīng)關(guān)系,因此安裝前查閱Ubuntu版本號(hào),然后在后續(xù)安裝中選擇對(duì)應(yīng)版本的ROS。版本選擇1ROS安裝方法ROS安裝與卸載方法Ubuntu系統(tǒng)可從互聯(lián)網(wǎng)下載并安裝的軟件類別:有版權(quán)或合法性問(wèn)題的軟件(multiverse)由社區(qū)維護(hù)的免費(fèi)且開源的軟件(universe)設(shè)備的專用驅(qū)動(dòng)程序(restricted)規(guī)范支持的免費(fèi)開源的軟件(main)配置Ubuntu軟件源2ROS安裝方法ROS安裝與卸載方法對(duì)Ubuntu進(jìn)行軟件源方面配置,解除系統(tǒng)對(duì)軟件來(lái)源的限制。具體做法是通過(guò)Ubuntu搜索按鈕搜索并打開“軟件和更新”對(duì)話框,或者打開“設(shè)置”,點(diǎn)選“軟件和更新”。打開后勾選“main”“restricted”“universe”“multiverse”全部四項(xiàng)。配置Ubuntu軟件源2ROS安裝方法ROS安裝與卸載方法添加軟件源步驟又被稱為設(shè)置sources.list。Ubuntu系統(tǒng)中有一個(gè)sources.list文件,是一個(gè)普通可編輯的文本文件,保存了ubuntu軟件更新的源服務(wù)器地址。文件存放目錄是/etc/apt/sources.list。/etc/apt/sources.List.d/.list代表一個(gè)文件名。sources.List.d目錄下的*.list文件用在安裝第三方軟件時(shí)在單獨(dú)文件中寫入源的地址。此步驟需要把ROS的軟件源地址添加到該文件夾中以確保安裝的時(shí)候能找到準(zhǔn)確的軟件地址。首先打開一個(gè)終端(Ctrl+Alt+T),然后在終端中敲入如下含有安裝軟件源信息的指令,然后點(diǎn)回車。添加軟件源3ROS安裝方法ROS安裝與卸載方法一般可用的有官方默認(rèn)的安裝源、國(guó)內(nèi)清華大學(xué)的安裝源與中國(guó)科技大學(xué)的安裝源。以下命令行是中國(guó)科技大學(xué)安裝源相關(guān)的指令:

sudosh-c'./etc/lsb-release&&echo"deb/ros/ubuntu/`lsb_release-cs`main">/etc/apt/sources.list.d/ros-latest.list'

可以看到,/ros/ubuntu/網(wǎng)址連接來(lái)自中國(guó)科技大學(xué)(ustc為中國(guó)科技大學(xué)英語(yǔ)縮寫)。來(lái)自清華大學(xué)的軟件源命令行如下所示:

sudosh-c'./etc/lsb-release&&echo"deb/ros/ubuntu/`lsb_release-cs`main">/etc/apt/sources.list.d/ros-latest.list'。添加軟件源3ROS安裝方法ROS安裝與卸載方法ROS相對(duì)于Ubuntu而言屬于第三方軟件,因此需要在安裝前輸入密鑰指令。密鑰指令一般為《sudoapt-keyadv--keyserver'hkp://:80'--recv-keyC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654》。添加密鑰4ROS安裝方法ROS安裝與卸載方法更新apt首先需要更新apt,在窗口輸入指令《sudoaptupdate》。apt是用于從互聯(lián)網(wǎng)倉(cāng)庫(kù)搜索、安裝、升級(jí)、卸載軟件或操作系統(tǒng)的工具。安裝5ROS安裝方法ROS安裝與卸載方法選擇安裝方案ROS官方提供給安裝者四個(gè)選項(xiàng),分別為桌面完整版(desktop-full)、桌面版(desktop)、ROS基礎(chǔ)包(ROS-base)和單獨(dú)安裝。安裝5ROS安裝方法ROS安裝與卸載方法確定安裝方案后,在終端輸入指令。運(yùn)行安裝程序6ROS安裝方法ROS安裝與卸載方法安裝過(guò)程如果系統(tǒng)詢問(wèn)“內(nèi)容為預(yù)估安裝占用空間,是否繼續(xù)”,輸入“Y”,表示同意并繼續(xù)安裝。安裝全程需保持網(wǎng)絡(luò)狀態(tài)良好,由于網(wǎng)絡(luò)原因?qū)е逻B接超時(shí)可能會(huì)安裝失敗,出現(xiàn)如下界面。需嘗試再次重復(fù)“更新apt”和安裝命令直至成功。注意事項(xiàng)7ROS卸載ROS安裝與卸載方法如果需要卸載ROS,以ROSMelodicMorenia版本為例,在終端輸入指令sudoaptremoveros-melodic-*ROS安裝與卸載方法?一名同學(xué)負(fù)責(zé)ROS系統(tǒng)安裝。一名同學(xué)負(fù)責(zé)通過(guò)網(wǎng)絡(luò)查詢安裝過(guò)程中遇到的問(wèn)題。?記錄員負(fù)責(zé)填寫工作記錄表。ROS安裝與卸載方法ROS安裝與卸載方法ROS安裝與卸載方法選擇正確的版本進(jìn)行ROS安裝。安裝全程保持網(wǎng)絡(luò)狀態(tài)良好。ROS安裝與卸載方法計(jì)算平臺(tái)實(shí)訓(xùn)臺(tái)架無(wú)筆、計(jì)算機(jī)操作系統(tǒng)手冊(cè)、計(jì)算平臺(tái)技術(shù)手冊(cè)ROS安裝與卸載方法無(wú)?

仔細(xì)確認(rèn)指令輸入是否正確不要選擇錯(cuò)誤ROS版本是否能夠正確找到中間件版本是否能夠說(shuō)明各安裝方案的不同內(nèi)容是否能夠準(zhǔn)確向人解釋中間件的作用ROS系統(tǒng)安裝任務(wù)是否完成是否能夠說(shuō)明各安裝方案的不同內(nèi)容是否能夠準(zhǔn)確向人解釋中間件的作用ROS系統(tǒng)安裝任務(wù)是否完成能否能夠讀取安裝源代碼中來(lái)源相關(guān)部分的含義工作頁(yè)是否填寫完整ROS系統(tǒng)四個(gè)安裝方案?ROS系統(tǒng)安裝的六個(gè)步驟?中間件是相對(duì)于(

)和(

)之間的位置?完成ROS系統(tǒng)的安裝繪制出了計(jì)算平臺(tái)系統(tǒng)架構(gòu)簡(jiǎn)圖工作頁(yè)填寫完整中間件的核心思想知識(shí)掌握不足講解過(guò)程表現(xiàn)不夠流暢精益求精愛國(guó)精神職業(yè)素養(yǎng)復(fù)習(xí)本任務(wù)工作頁(yè)。觀看隨書課程數(shù)字資源。預(yù)習(xí)下一個(gè)任務(wù)工作頁(yè)。觀看下一個(gè)工作頁(yè)隨書數(shù)字資源。任務(wù)八中間件ROS配置與測(cè)試智能網(wǎng)聯(lián)汽車計(jì)算平臺(tái)部署與測(cè)試某國(guó)產(chǎn)自主品牌汽車試制車間實(shí)習(xí)技師小張順利完成了中間件的安裝任務(wù),接下來(lái)劉師傅將帶領(lǐng)小張進(jìn)行中間件的系統(tǒng)配置與測(cè)試,劉師傅囑咐小張,不僅要掌握中間件的基本通信機(jī)制,還應(yīng)爭(zhēng)取掌握中間件在其他方面的強(qiáng)大功能。那么,請(qǐng)和小張一起開始今天的學(xué)習(xí)吧。1.如何進(jìn)行中間件ROS配置?2.中間件ROS的測(cè)試內(nèi)容有哪些?裝調(diào)技師劉師傅、實(shí)習(xí)技師小張能根據(jù)操作系統(tǒng)手冊(cè)與計(jì)算平臺(tái)技術(shù)手冊(cè),規(guī)范完成中間件ROS系統(tǒng)配置。能根據(jù)操作系統(tǒng)手冊(cè)與計(jì)算平臺(tái)技術(shù)手冊(cè),規(guī)范完成中間件ROS通信測(cè)試與仿真測(cè)試。ROS組成ROS系統(tǒng)配置ROS的基本功能是作為中間件為機(jī)器人和汽車自動(dòng)駕駛軟件提供通訊和資源管理的服務(wù)ROS的整體由通信機(jī)制、開發(fā)工具、應(yīng)用功能與生態(tài)系統(tǒng)四大部分組成。ROS組成ROS系統(tǒng)配置可以被簡(jiǎn)單的比喻為“一棟建筑物內(nèi)部的供水管道”,實(shí)現(xiàn)不同程序或者應(yīng)用之間信息和數(shù)據(jù)傳遞?;镜腞OS即ROS1,核心是點(diǎn)對(duì)點(diǎn)的分布式通信機(jī)制,基于TCP/IP的通信方式實(shí)現(xiàn)模塊間點(diǎn)對(duì)點(diǎn)的松耦合連接,可以執(zhí)行若干種類型的通信,包括基于話題(Topic)的異步數(shù)據(jù)流通信,基于服務(wù)(Service)的同步數(shù)據(jù)流通信,還有參數(shù)服務(wù)器上的數(shù)據(jù)存儲(chǔ)等。在自動(dòng)駕駛領(lǐng)域大規(guī)模應(yīng)用方面,ROS的實(shí)時(shí)性、穩(wěn)定性、兼容性因其通信機(jī)制受到限制,ROS2采用DDS(數(shù)據(jù)分布服務(wù))的通訊方式來(lái)提高通訊的實(shí)時(shí)性,百度APOLLO平臺(tái)等科技公司的產(chǎn)品也在ROS1基礎(chǔ)進(jìn)行改進(jìn)。ROS組成ROS系統(tǒng)配置ROS開發(fā)工具分為原生工具、編譯與測(cè)試工具和第三方工具三類。原生工具:ROS系統(tǒng)開發(fā)人員編寫的開發(fā)用軟件例如工程管理工具catkin、可視化工具rviz、qt工具箱、命令行工具。編譯和測(cè)試工具:基于已有工具進(jìn)一步的包裝,例如rosbag是記錄和回放數(shù)據(jù),統(tǒng)一的時(shí)間戳rostime的工具。第三方工具:其他科技公司基于其成熟工具軟件利用插件或接口與ROS進(jìn)行系統(tǒng)兼容的工具。ROS組成ROS系統(tǒng)配置ROS應(yīng)用功能ROS擁有眾多的現(xiàn)成應(yīng)用模塊,便于使用者直接采用以節(jié)省開發(fā)時(shí)間,包括:底層驅(qū)動(dòng)眾多傳感器、執(zhí)行器的驅(qū)動(dòng),常用硬件在ROS匹配的驅(qū)動(dòng)功能包由專門的網(wǎng)站可供下載2導(dǎo)航,環(huán)境感知,語(yǔ)音識(shí)別上層功能3控制器、硬件資源、控制器管理器控制模塊4TF、URDF、Message常用組件1ROS組成ROS系統(tǒng)配置ROS生態(tài)系統(tǒng)主要由社區(qū)和標(biāo)準(zhǔn)兩部分構(gòu)成:社區(qū)在全球范圍內(nèi)擁有數(shù)量龐大的技術(shù)社群,在國(guó)內(nèi)外各類技術(shù)平臺(tái)上,都可以獲取ROS相關(guān)的文件和代碼資源,相關(guān)網(wǎng)站包括/cn等2基礎(chǔ)消息是std_msgssensor_msgs是封裝的各種傳感器消息geometry_msgs是各種各樣的幾何消息nav_msgs是指SLAM消息,目前主要是室內(nèi)的SLAMdiagnostic_msgs則是診斷內(nèi)部各個(gè)硬件狀態(tài)的消息標(biāo)準(zhǔn)1系統(tǒng)配置ROS系統(tǒng)配置ROS系統(tǒng)配置內(nèi)容主要包括:01設(shè)置環(huán)境變量2安裝常用命令行工具和依賴023初始化rosdep034安裝檢驗(yàn)041系統(tǒng)配置ROS系統(tǒng)配置設(shè)置環(huán)境變量ROS默認(rèn)安裝路徑為/opt/ros,系統(tǒng)默認(rèn)的可執(zhí)行程序大多存放在usr/bin目錄,工作中需要在終端中頻繁使用ROS相關(guān)的命令,為了能方便找到ROS命令所在的位置,需要對(duì)ROS的環(huán)境變量進(jìn)行設(shè)置。以ROSMelodicMorenia版本為例,環(huán)境變量設(shè)置所用指令為echo“source/opt/ros/melodic/setup.bash”>>~/.bashrc

source~/.bashrc系統(tǒng)配置ROS系統(tǒng)配置安裝常用命令行工具和依賴命令行工具(Command-linetools)是為可以為工作提供極大便利的軟件包。依賴(Dependencies)指的是一個(gè)ROS軟件包所依賴的其他ROS軟件包。這些依賴關(guān)系描述了ROS軟件包之間的相互關(guān)系,其中一個(gè)軟件包可能需要其他軟件包提供的一些功能或服務(wù)才能正常運(yùn)行。依賴關(guān)系是ROS軟件包的重要組成部分,它可以幫助ROS系統(tǒng)自動(dòng)處理軟件包之間的依賴關(guān)系,從而簡(jiǎn)化軟件包的安裝、編譯和運(yùn)行過(guò)程。每個(gè)ROS軟件包都需要在其CMakeLists.txt文件中指定它所依賴的其他軟件包。sudoaptinstallpython3-rosdeppython3-rosinstallpython3-rosinstall-generatorpython3-wstoolbuild-essential系統(tǒng)配置ROS系統(tǒng)配置初始化rosdep當(dāng)工作中編譯代碼或者使用ROS的某些核心組件時(shí),rosdep可以很容易地幫助操作者安裝相關(guān)的依賴,安裝步驟為依此在終端輸入指令:

sudoaptinstallpython-rosdep

sudorosdepinit

rosdepupdate系統(tǒng)配置ROS系統(tǒng)配置安裝檢驗(yàn)驗(yàn)證ROS安裝后是否正常運(yùn)行roscore是ROS的系統(tǒng)先決條件節(jié)點(diǎn)和程序的集合,必須運(yùn)行roscore才能使ROS節(jié)點(diǎn)進(jìn)行通信。roscore將啟動(dòng)以下三項(xiàng):rosmaster、ros參數(shù)服務(wù)器、rosout日志節(jié)點(diǎn)。在終端輸入指令roscoreROS系統(tǒng)配置學(xué)號(hào)法?學(xué)號(hào)01-05的學(xué)生為一組?學(xué)號(hào)06-10的學(xué)生為一組?以此類推ROS系統(tǒng)配置一名同學(xué)負(fù)責(zé)對(duì)ROS系統(tǒng)進(jìn)行系統(tǒng)配置。一名同學(xué)負(fù)責(zé)查詢操作系統(tǒng)手冊(cè)。記錄員負(fù)責(zé)填寫工作記錄表。ROS系統(tǒng)配置ROS系統(tǒng)配置ROS系統(tǒng)配置確認(rèn)操作系統(tǒng)版本與ROS版本。指令輸入正確。進(jìn)行安裝檢驗(yàn)。ROS系統(tǒng)配置計(jì)算平臺(tái)實(shí)訓(xùn)臺(tái)架無(wú)筆、計(jì)算機(jī)操作系統(tǒng)手冊(cè)ROS系統(tǒng)配置無(wú)?確認(rèn)操作系統(tǒng)與ROS版本信息確保指令輸入正確理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試工作機(jī)制中包含節(jié)點(diǎn)、消息、話題、服務(wù)、ROS控制器、消息記錄包等基本概念硬件抽象、設(shè)備驅(qū)動(dòng)、庫(kù)函數(shù)、可視化、進(jìn)程間消息傳遞和軟件包管理等一系列程序庫(kù)和工具的集合理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試節(jié)點(diǎn)(node)ROS是一個(gè)分布式的進(jìn)程框架,架構(gòu)中存在若干“節(jié)點(diǎn)”,進(jìn)程被封裝在不同的程序包或功能包中。ROS是以節(jié)點(diǎn)的形式進(jìn)行開發(fā),節(jié)點(diǎn)是根據(jù)任務(wù)目的可細(xì)分可執(zhí)行程序的最小單位。一些部署和裝調(diào)任務(wù)中節(jié)點(diǎn)也被稱為軟件模塊。ROS提供用于處理節(jié)點(diǎn)的工具,用于節(jié)點(diǎn)信息、狀態(tài)、可用性等的查詢操作。理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試常用節(jié)點(diǎn)處理工具:

rosnodelist:列出當(dāng)前活動(dòng)節(jié)點(diǎn)

rosnodeinfo<node_name>:輸出指定節(jié)點(diǎn)的信息

rosnodekill<node_name>:結(jié)束指定節(jié)點(diǎn)

rosnodeping<node_name>:測(cè)試節(jié)點(diǎn)的網(wǎng)絡(luò)連通性

rosnodecleanup:將無(wú)法訪問(wèn)的節(jié)點(diǎn)的信息清除

rosnodemachine<host_name>:列出指定計(jì)算機(jī)上運(yùn)行的節(jié)節(jié)點(diǎn)可視化工具rqt_graph可用于開發(fā)者查看一個(gè)程序中節(jié)點(diǎn)間的關(guān)系,指令為rosrunrqt_graphrqt_graph理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試消息(message)消息是信息數(shù)據(jù),節(jié)點(diǎn)通過(guò)消息完成溝通。消息以一種發(fā)布(Publication)/訂閱(Subscription)的方式傳遞,一個(gè)或多個(gè)節(jié)點(diǎn)可以在一個(gè)給定的話題中發(fā)布消息,多se個(gè)節(jié)點(diǎn)可以訂閱同一個(gè)話題。ROS提供的獲取消息的命令工具:

rosmsglist:列出所有消息

rosmsgshow<message_type>:顯示指定的消息

rosmsgusers<message_type>:搜索使用該消息的代碼文件

rosmsgmd5<message_type>:顯示消息的MD5求和結(jié)果

rosmsgpackage<package_name>:列出功能包的所有消息理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試話題(topic)每個(gè)消息都必須發(fā)布到相應(yīng)的話題,通過(guò)話題實(shí)現(xiàn)ROS計(jì)算圖網(wǎng)絡(luò)中的路由轉(zhuǎn)發(fā)。同一個(gè)話題可以有多個(gè)訂閱者也可以有多個(gè)發(fā)布者,且發(fā)布者和訂閱者定義的消息類型必須與話題的消息類型相匹配。通過(guò)話題進(jìn)行消息路由,不需要節(jié)點(diǎn)之間直接連接,發(fā)布節(jié)點(diǎn)和訂閱節(jié)點(diǎn)之間不需要有關(guān)聯(lián),實(shí)現(xiàn)發(fā)布節(jié)點(diǎn)與訂閱節(jié)點(diǎn)之間的解耦。理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試操作話題的命令工具:

rostopiclist:列出當(dāng)前活動(dòng)話題

rostopicinfo<topic_name>:輸出話題的信息

rostopicecho<topic_name>:顯示話題中的消息數(shù)據(jù)

rostopichz<topic_name>:顯示話題的發(fā)布頻率

rostopicbw<topic_name>:顯示話題所使用的帶寬

rostopictype<topic_name>:輸出話題發(fā)布的消息類型

rostopicfind<message_type>:按照消息類型查找話題理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試服務(wù)(service)一種同時(shí)使用請(qǐng)求和響應(yīng)的一對(duì)一消息交換機(jī)制。服務(wù)通常被用作請(qǐng)求智能設(shè)備執(zhí)行特定操作時(shí)使用的命令,或者用于根據(jù)特定條件需要產(chǎn)生事件的節(jié)點(diǎn)。不同于基于話題發(fā)布/訂閱的通信方法這種異步方法,服務(wù)是同步消息交換機(jī)制。一個(gè)服務(wù)被分成服務(wù)服務(wù)器和服務(wù)客戶端,其中服務(wù)器只在有請(qǐng)求(request)的時(shí)候才響應(yīng)(response),而服務(wù)客戶端會(huì)在發(fā)送請(qǐng)求后接收響應(yīng)。另外一個(gè)與話題不同的點(diǎn)是,服務(wù)是一次性消息通信。當(dāng)服務(wù)的請(qǐng)求和響應(yīng)完成時(shí),兩個(gè)連接的節(jié)點(diǎn)將被斷開。由于服務(wù)是一次性的通信方式,在網(wǎng)絡(luò)上的負(fù)載很小,所以它也被用作代替基于話題發(fā)布/訂閱的通信手段。理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試ROS管理者(ROSmaster)又稱ROS控制器,位于節(jié)點(diǎn)之上,管控所有節(jié)點(diǎn)的正常工作,具體功能包括節(jié)點(diǎn)的名稱注冊(cè)、查找、設(shè)置節(jié)點(diǎn)間的通信等。通過(guò)RPC(remoteprocedurecallprotocol,遠(yuǎn)程過(guò)程調(diào)用)的方式提供登記列表(registration)、對(duì)其他節(jié)點(diǎn)/話題的查找。節(jié)點(diǎn)管理器相關(guān)的命令行工具是roscore。roscore:?jiǎn)?dòng)節(jié)點(diǎn)管理器,加載ROS節(jié)點(diǎn)管理器和其他ROS核心組件。ROS管理者與節(jié)點(diǎn)的關(guān)系理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試消息記錄包(bag)一種用于保存和回放ROS消息數(shù)據(jù)的文件格式,消息記錄包的運(yùn)用是一種用于存儲(chǔ)數(shù)據(jù)的重要機(jī)制。消息記錄包可以幫助記錄一些難以收集的傳感器數(shù)據(jù),然后通過(guò)反復(fù)回放數(shù)據(jù)進(jìn)行算法的性能開發(fā)和測(cè)試。ROS創(chuàng)建的消息記錄包文件以*.bag為擴(kuò)展名,可以播放、停止、后退操作該文件,便于算法調(diào)試。理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試ROS提供的消息記錄包相關(guān)的命令行工具:

rosbaginfo<bag_file>:顯示數(shù)據(jù)包的信息

rosbagrecord<topic_name>:記錄指定的topic

rosbagrecord-a:記錄所有的topic

rosbagplay--clock*.bag:回放包的內(nèi)容。理論概念及相關(guān)命令行工具ROS系統(tǒng)測(cè)試示例ROS中最小的進(jìn)程單元是節(jié)點(diǎn)(node),節(jié)點(diǎn)之間通過(guò)話題(topic)傳遞消息信息(message)。相機(jī)節(jié)點(diǎn)(cameranode)從攝像頭獲取數(shù)據(jù),圖像處理節(jié)點(diǎn)(imageprocessingnode)像相機(jī)節(jié)點(diǎn)請(qǐng)求數(shù)據(jù),相機(jī)節(jié)點(diǎn)作為回饋向圖像處理節(jié)點(diǎn)發(fā)送圖像數(shù)據(jù)的“消息”。ROS管理者(ROSmaster)控制和監(jiān)控兩個(gè)節(jié)點(diǎn)的狀態(tài)。智能網(wǎng)聯(lián)汽車攝像頭圖像信息處理的ROS計(jì)算圖網(wǎng)絡(luò)簡(jiǎn)化圖ROS通信機(jī)制ROS系統(tǒng)測(cè)試01話題通信2服務(wù)通信023利用參數(shù)服務(wù)器進(jìn)行數(shù)據(jù)共享031ROS通信機(jī)制ROS系統(tǒng)測(cè)試話題(topic)通信一種基于發(fā)布訂閱模式,即一個(gè)節(jié)點(diǎn)發(fā)布消息,另一個(gè)節(jié)點(diǎn)訂閱該消息。話題通信是ROS中使用頻率最高的一種通信模式。適用于不斷更新的數(shù)據(jù)傳輸相關(guān)的應(yīng)用場(chǎng)景。例如智能網(wǎng)聯(lián)汽車在執(zhí)行導(dǎo)航功能時(shí)使用的傳感器是激光雷達(dá),自動(dòng)駕駛系統(tǒng)會(huì)采集激光雷達(dá)感知到的信息,計(jì)算后生成運(yùn)動(dòng)控制信息驅(qū)動(dòng)底盤運(yùn)動(dòng)。在該場(chǎng)景立,ROS中有一個(gè)節(jié)點(diǎn)需要時(shí)刻發(fā)布當(dāng)前雷達(dá)采集到的數(shù)據(jù),導(dǎo)航模塊中也有節(jié)點(diǎn)會(huì)訂閱并解析雷達(dá)數(shù)據(jù)。再以運(yùn)動(dòng)消息的發(fā)布為例,導(dǎo)航模塊會(huì)根據(jù)傳感器采集的數(shù)據(jù)時(shí)時(shí)的計(jì)算出運(yùn)動(dòng)控制信息并發(fā)布給底盤,底盤也有一個(gè)節(jié)點(diǎn)訂閱運(yùn)動(dòng)信息并最終轉(zhuǎn)換成控制電機(jī)的脈沖信號(hào)。話題通信實(shí)現(xiàn)模型中,在ROSMaster(管理者)的管理下,Talker的角色是發(fā)布者,Listener的角色是訂閱者。ROS通信機(jī)制ROS系統(tǒng)測(cè)試話題(topic)通信機(jī)制是ROSMaster負(fù)責(zé)保管Talker和Listener注冊(cè)的信息,并匹配話題相同的Talker與Listener,幫助Talker與Listener建立連接,連接建立后,Talker發(fā)布消息,且發(fā)布的消息會(huì)被Listener訂閱。ROS通信機(jī)制ROS系統(tǒng)測(cè)試服務(wù)通信話題通信的信息流只能是由發(fā)布者流向接收者,而且節(jié)點(diǎn)之間的通信是有延遲的,并不同步。服務(wù)通信則滿足了雙向同步的通信,這種通信只允許有一個(gè)服務(wù)器,客戶端可以有多個(gè),服務(wù)器和客戶端之間雙向同步通信,采取請(qǐng)求和應(yīng)答的模式進(jìn)行通信?;谡?qǐng)求響應(yīng)模式的通信模式。服務(wù)通信是一種應(yīng)答機(jī)制,即一個(gè)節(jié)點(diǎn)A向另一個(gè)節(jié)點(diǎn)B發(fā)送請(qǐng)求,B接收處理請(qǐng)求并產(chǎn)生響應(yīng)結(jié)果返回給A。服務(wù)通信更適用于對(duì)實(shí)時(shí)性有要求、具有一定邏輯處理的應(yīng)用場(chǎng)景。例如智能網(wǎng)聯(lián)汽車盲區(qū)檢測(cè)時(shí),控制系統(tǒng)分析傳感器數(shù)據(jù)發(fā)現(xiàn)車輛周邊出現(xiàn)可能發(fā)生碰撞的物體或人員時(shí),此時(shí)需要線控底盤進(jìn)行緊急制動(dòng)。上述場(chǎng)景使用服務(wù)通信機(jī)制,過(guò)程為一個(gè)節(jié)點(diǎn)需要向底盤節(jié)點(diǎn)發(fā)送制動(dòng)請(qǐng)求,底盤節(jié)點(diǎn)處理制動(dòng)請(qǐng)求并返回處理結(jié)果閱。ROS通信機(jī)制ROS系統(tǒng)測(cè)試服務(wù)通信服務(wù)通信實(shí)現(xiàn)模型中,在ROSMaster(管理者)的管理下,Talker的角色是服務(wù)端(server),Listener的角色是客戶端(client)。ROSMaster負(fù)責(zé)保管Talker和Listener注冊(cè)的信息,并匹配話題相同的Talker和Listener,幫助兩者建立連接,連接建立后,Listener發(fā)送請(qǐng)求信息,Talker返回響應(yīng)信息。ROS通信機(jī)制ROS系統(tǒng)測(cè)試話題通信與服務(wù)通信對(duì)比ROS通信機(jī)制ROS系統(tǒng)測(cè)試參數(shù)服務(wù)器(parameterserver)在ROS中用于實(shí)現(xiàn)不同節(jié)點(diǎn)之間的數(shù)據(jù)共享。作用是獨(dú)立于所有節(jié)點(diǎn)的一個(gè)公共容器,系統(tǒng)將數(shù)據(jù)存儲(chǔ)在該容器中,被不同的節(jié)點(diǎn)調(diào)用,同時(shí)不同節(jié)點(diǎn)也可以往其中存儲(chǔ)數(shù)據(jù)。一般適用于存在數(shù)據(jù)共享的一些應(yīng)用場(chǎng)景。舉例說(shuō)明如智能網(wǎng)聯(lián)汽車進(jìn)行自動(dòng)駕駛導(dǎo)航時(shí)系統(tǒng)開始路徑規(guī)劃,首先進(jìn)行全局路徑規(guī)劃,計(jì)算出一個(gè)從出發(fā)點(diǎn)到目標(biāo)點(diǎn)的最優(yōu)路徑。接下來(lái)進(jìn)行本地路徑規(guī)劃,根據(jù)當(dāng)前路況生成實(shí)時(shí)的行進(jìn)路徑。上述場(chǎng)景中,全局路徑規(guī)劃和本地路徑規(guī)劃時(shí)都會(huì)使用例如車輛尺寸等參數(shù),系統(tǒng)將這些參數(shù)都放置在參數(shù)服務(wù)器中,便于不同階段的路徑規(guī)劃進(jìn)行調(diào)用。ROS通信機(jī)制ROS系統(tǒng)測(cè)試參數(shù)服務(wù)器(parameterserver)參數(shù)通信實(shí)現(xiàn)模型中,在ROSMaster(管理者)的管理下,Talker的角色是參數(shù)設(shè)置者,Listener的角色是參數(shù)調(diào)用者。機(jī)制是ROSMaster作為一個(gè)公共容器保存參數(shù),Talker可以向容器中設(shè)置參數(shù),Listener可以獲取參數(shù)。ROS文件系統(tǒng)及相關(guān)指令ROS系統(tǒng)測(cè)試ROS文件系統(tǒng)指的是在硬盤上ROS源代碼的組織形式。ROS的文件系統(tǒng)可以使用Linux命令來(lái)操作文件。在ROS中為了更好的用戶體驗(yàn),ROS專門提供了一些類似于Linux的命令,這些命令較之于Linux原生命令更為簡(jiǎn)潔高效。常用ROS文件系統(tǒng)操作指令ROS集成開發(fā)環(huán)境ROS系統(tǒng)測(cè)試集成開發(fā)環(huán)境(integrateddevelopmentenvironment,IDE)是為程序開發(fā)提供便利的應(yīng)用程序。工具主要包括VScode等。VSCode全稱VisualStudioCode,是一款輕量級(jí)代碼編輯器,免費(fèi)、開源而且功能強(qiáng)大。它支持幾乎所有主流的程序語(yǔ)言的語(yǔ)法高亮、智能代碼補(bǔ)全、自定義熱鍵、括號(hào)匹配、代碼片段、代碼對(duì)比Diff、GIT等特性,支持插件擴(kuò)展,并針對(duì)網(wǎng)頁(yè)開發(fā)和云端應(yīng)用開發(fā)做了優(yōu)化。軟件跨平臺(tái)支持Win、Mac以及Linux。01代碼編輯器、編譯器、調(diào)試器和圖形用戶界面等工具2集成了代碼編寫、分析、編譯、調(diào)試等功能023提供一體化的開發(fā)軟件服務(wù)套件031ROS工作空間及功能包創(chuàng)建ROS系統(tǒng)測(cè)試ROS中所使用的編程語(yǔ)言主要是C++和Python。C++運(yùn)行效率高但是編碼效率低,而Python則反之,基于二者互補(bǔ)的特點(diǎn),ROS設(shè)計(jì)者分別設(shè)計(jì)了rosc

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論