版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ROS星火計劃 ROS工作原理及通信機(jī)制 NXROBO&ExBotROS工作原理及通信機(jī)制通過前面的學(xué)習(xí),大家對ROS已經(jīng)有了個感性的認(rèn)識?,F(xiàn)在向大家講解ROS的工作原理和通信機(jī)制,是大家今后用ROS來開發(fā)或做研究的前提和基礎(chǔ)。在本講中你將了解:智能機(jī)器人工作流程ROS的工作原理及基本概念ROS消息通信機(jī)制ROS服務(wù)通信機(jī)制ROS動作通信機(jī)制ROS參數(shù)服務(wù)器通信機(jī)制智能機(jī)器人工作流程智能機(jī)器人就是能夠自主幫人類去做相應(yīng)的事情的機(jī)器人。智能機(jī)器人一般是按如下的流程去工作。首先通過傳感器來感知自身的狀態(tài)和周圍的環(huán)境。根據(jù)自身的狀態(tài)和周圍的環(huán)境做任務(wù)的決策,也就是決定現(xiàn)在應(yīng)該做什么。然后進(jìn)行動作的規(guī)劃,根據(jù)規(guī)劃出的動作去驅(qū)動執(zhí)行機(jī)構(gòu)去執(zhí)行動作。執(zhí)行結(jié)束后將狀態(tài)反饋回控制程序,控制程序根據(jù)反饋的狀態(tài)來進(jìn)一步調(diào)整執(zhí)行機(jī)構(gòu)。這樣周而復(fù)始來完成人類交給他的任務(wù)。智能機(jī)器人的傳統(tǒng)實現(xiàn)方式:將復(fù)雜的系統(tǒng)描畫分成一個一個相對獨立的模塊,相對獨立的模塊再細(xì)分成更小的模塊,然后用函數(shù)去實現(xiàn)。大的模塊或者函數(shù)就會調(diào)用小的模塊或者函數(shù)。這樣復(fù)雜的功能去通過模塊化的方式把它進(jìn)行分解。函數(shù)調(diào)用的一個特點就是緊耦合,讓程序的執(zhí)行效率更高。由于結(jié)構(gòu)和特性,會比較低。也會帶來一些問題:函數(shù)依賴性強(qiáng),他們相互影響相互作用,使得運行開發(fā)的這個效率會比較低,同時也不利于調(diào)試或定位錯誤。運行期間也會存在問題,某一項功能出錯或者沒實現(xiàn),那么整個系統(tǒng)都沒辦法運行出來。ROS的工作機(jī)制——ComputationalGraph(計算圖)將機(jī)器人復(fù)雜功能分割成一個個小的計算節(jié)點,小節(jié)點之間通過topic或者service來通信,這種圖稱之為計算圖。ROS通信層術(shù)語-Resource、NamespaceResource:構(gòu)成計算圖的一切東西,比如:node、topic、service、parameter等需要對資源進(jìn)行命名,且要求在系統(tǒng)中具有唯一性。Namespace:為;避免名字沖突,ROS給同一個功能模塊的資源名字加上“前綴”,這個“前綴”就叫做名字空間??梢詫Ρ菴++中的namespace概念,將不同的主機(jī),不同的功能區(qū)塊或者不同機(jī)器人內(nèi)部的數(shù)據(jù)進(jìn)行封裝隱藏,對于代碼的重用性有很好的提升。NodeRelative(default)GlobalPrivate
/node1bar->/bar/bar->/bar~bar->/node1/bar
/wg/node2bar->/wg/bar/bar->/bar~bar->/wg/node2/bar
/wg/node3foo/bar->/wg/foo/bar/foo/bar->/foo/bar~foo/bar->/wg/node3/foo/barROS通信層術(shù)語-NodeNode:是一個數(shù)據(jù)處理或執(zhí)行動作的進(jìn)程,是計算圖中的獨立個體,系統(tǒng)中的獨立功能單元。怎樣設(shè)計node?密集的通信會導(dǎo)致系統(tǒng)性能的下降而過于緊密的聚合度會增加代碼的耦合度ROS通信層術(shù)語-MasterNodeMasternode:計算圖中的管理通信節(jié)點所有信息的中心節(jié)點(超級節(jié)點)它跟蹤節(jié)點中的publisher與subscriber,service的server與client,記錄其他節(jié)點的位置(uri標(biāo)明,host與port),并將這些信息通知給需要建立鏈接的節(jié)點。ROS中無時間同步??!ROStime為當(dāng)前系統(tǒng)時間!多機(jī)需要同步系統(tǒng)時間的工具來實現(xiàn)RPS內(nèi)時鐘同步。ROS通信層術(shù)語-TopicTopic:ROS中廣為使用的是異步的publish-subscribe通信模式。這種方式將信息的產(chǎn)生和使用雙方解耦,首發(fā)雙方的信息都是由masternode進(jìn)行管理。常用于不斷更新的,含有較少邏輯處理的數(shù)據(jù)通信ROS通信層術(shù)語-ServiceService:用于處理ROS通信中的同步通信,采用server/client語義。每個servicetype擁有request與response兩部分,對于service中的Server,ROS不會檢查重名(nameconflict),只有最后注冊的server會生效,與client建立連接。常用于資料量較小,但有強(qiáng)邏輯處理的數(shù)據(jù)交換。ROS通信層術(shù)語-ParameterParameter可以看作為ROS系統(tǒng)運行時中定義的全局變量,而Masternode中有Parameterserver來維護(hù)這些變量。這些變量的命名同樣遵循namespace的命名規(guī)則。而namespace的存在使得parameter擁有了非常清晰的層次劃分,避免了重名,而且使得parameter訪問可以單獨訪問也可以樹狀訪問(層層解析namespace)ROS通信層術(shù)語-URI定位node在分布式系統(tǒng)中的位置格式為:protocol://host:portProtocol一般為http或者rosrpc,host為hostname或者IP地址,port則為埠號。比如,在多臺計算機(jī)上運行ROS的時候,通常需要指定ROSMaster的位置(整個系統(tǒng)只能有一個)ROS通信層術(shù)語-XML-RPCROS通過遠(yuǎn)程過程調(diào)用來建立節(jié)點之間的連接以及數(shù)據(jù)傳輸,ROS中的遠(yuǎn)程過程調(diào)用通過XML-RPC協(xié)議實現(xiàn)XML-RPC:ROS通信網(wǎng)路中的基礎(chǔ),一種通用遠(yuǎn)程調(diào)用協(xié)議用于masternode與其他節(jié)點之間的信息交換
傳輸文本使用XML支持(支持語言類型多)調(diào)用時無狀態(tài)(邏輯較為簡單)ROS中topic/servicep2p傳輸時的nodename信息交換與parameterserver都是由XML-RPC進(jìn)行支持Parameterserver直接使用XML-RPC的數(shù)據(jù)類型:int或者i4是32位的有符號整型,十進(jìn)制表示中,前綴-號則為負(fù)數(shù)。boolean只有兩種取值,0和1,用于表示布爾類型。double實數(shù)類型,前綴-號表示負(fù)數(shù)。dataTime.iso8601日期時間,用iso-8601格式表示。base64用base64算法編碼的二進(jìn)制字符串。arrayvalues組成的表,在data實體下一層Struct又稱為map表示關(guān)系的集合,每一個struct實體是由一個name與value的鍵值對組成。ROS消息通信機(jī)制兩個節(jié)點,一個是camera節(jié)點,一個是viewer節(jié)點。Cemera節(jié)點從攝像頭采集數(shù)據(jù),對數(shù)據(jù)進(jìn)行打包,把包發(fā)布到軟件總線上。Viewer功能是把圖像顯示出來,topic有數(shù)據(jù)的話就取下來然后顯示出來。兩個節(jié)點通過topic聯(lián)系,降低了node節(jié)點之間的耦合。ROS消息的數(shù)據(jù)類型Std_msgsSensor_msgsGeometry_msgsNav_msgs
actionglib_msgs生成自己的自定義類型ROS消息通信機(jī)制-特點異步“stream-like”通信異步的publish-subscribe通信模式可以有多個發(fā)布者,可以多個訂閱者TCP/IP或UDP傳輸協(xié)議強(qiáng)類型消息傳輸非阻塞方式,調(diào)用完馬上返回常用于不斷更新的,含有較少邏輯處理的數(shù)據(jù)通信ROS服務(wù)通信機(jī)制一個叫client_node節(jié)點,一個叫server_node節(jié)點。client_node功能是調(diào)用某一個服務(wù),也就是請求幫忙。server_node主要功能是提供服務(wù)。client_node提出請求時將參數(shù)提供給server_node,server_node收到參數(shù)后進(jìn)行計算,將結(jié)果返回給client_node。引入兩個概念,一是request請求,二是response響應(yīng)。Talker服務(wù)器,提供的服務(wù)首先在ROSMaster中注冊,通過函數(shù)告知ROSMaster提供一項服務(wù),ROSMaster收到消息后允許,如果沒有此服務(wù)就建立一條記錄登記這個服務(wù),記錄Talker的ID。Listener會向ROSMaster請求服務(wù),ROSMaster會把此服務(wù)相關(guān)信息發(fā)送給Listener。Listener會向Talker請求并提供參數(shù),Talker進(jìn)行相應(yīng)的計算并將結(jié)果返回給Listener。系統(tǒng)已有的標(biāo)準(zhǔn)服務(wù)類型SetCameraInfoGetMapGetPlanSetMap自定義服務(wù)類型two_num_addition.srv文件ROS服務(wù)通信機(jī)制-特點同步“function-call-like”通信CS-模式只有一個服務(wù)器,可以有多個客戶端TCP/IP或UDP傳輸協(xié)議強(qiáng)類型消息傳輸阻塞方式,一旦調(diào)用,客戶端得等待服務(wù)器端執(zhí)行完才返回,繼續(xù)執(zhí)行下面語句常用于工作量較小的情形,但有強(qiáng)邏輯處理的數(shù)據(jù)交換ROS動作通信機(jī)制客戶端請求服務(wù),服務(wù)器端提供服務(wù),跟service方式比較相似。ROS動作通信機(jī)制-特點形式上與service相同,屬于直接點對點通信調(diào)用形式與message方式類似,非阻塞方式,調(diào)用后立即返回,可以繼續(xù)執(zhí)行下面的語句提供了一種狀態(tài)查詢及反饋機(jī)制,讓客戶端了解服務(wù)器端的執(zhí)行情況常用于計算量較大的情形,且有強(qiáng)邏輯處理的數(shù)據(jù)交換ROSParameterService通信機(jī)制Parameterserver就設(shè)置在masternode中。DynamicReconfigure給出一種實時監(jiān)測m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人房屋抵押民間借貸借款協(xié)議文本3篇
- 2025年度平板車租賃運輸合同風(fēng)險評估與控制
- 個人租房合同標(biāo)準(zhǔn)版可打印
- 二零二五年度處理男子外遇妻子懷孕離婚撫養(yǎng)權(quán)糾紛調(diào)解合同
- 二零二五年度智慧家居項目報建代理與智能家居合同2篇
- 2025年度鐵礦石進(jìn)出口關(guān)稅及稅費繳納合同規(guī)范
- 二零二五版礦產(chǎn)資源租賃居間代理合同3篇
- 二零二五年度企事業(yè)單位廉潔從業(yè)監(jiān)督員聘任合同
- 2025阿里巴巴智能物流機(jī)器人研發(fā)及銷售合同3篇
- 重慶文化藝術(shù)職業(yè)學(xué)院《應(yīng)用文寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 《大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo)》課程標(biāo)準(zhǔn)
- 第23課《出師表》課件(共56張)
- GB/T 3953-2024電工圓銅線
- 發(fā)電機(jī)停電故障應(yīng)急預(yù)案
- 接電的施工方案
- 常用藥物作用及副作用課件
- 幼兒阿拉伯?dāng)?shù)字描紅(0-100)打印版
- 社會組織等級評估報告模板
- GB/T 12173-2008礦用一般型電氣設(shè)備
- 新媒體研究方法教學(xué)ppt課件(完整版)
- 2020新版?zhèn)€人征信報告模板
評論
0/150
提交評論