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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

由浅到深理解ROS(3)-命名空间

發(fā)布時(shí)間:2023/12/10 编程问答 73 豆豆
生活随笔 收集整理的這篇文章主要介紹了 由浅到深理解ROS(3)-命名空间 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

全局命名空間

/rosout前面的反斜杠“/”表明該節(jié)點(diǎn)名稱屬于全局命名空間。之所以叫做全局名稱因?yàn)樗鼈冊谌魏蔚胤?#xff08;包括代碼、命令行工具、圖形界面工具等的任何地方)都可以使用。無論這些名稱用作眾多命令行工具的參數(shù)還是用在節(jié)點(diǎn)內(nèi)部,它們都有明確的含義。這些名稱從來不會產(chǎn)生二義性,也無需額外的上下文信息來決定名稱指的哪個(gè)資源。如/turtle1/cmd_vel?由斜杠分開的一系列命名空間(namespace),每個(gè)斜杠代表一級命名空間。命名空間用于將相關(guān)的計(jì)算圖源(節(jié)點(diǎn)、話題、服務(wù)和參數(shù)統(tǒng)稱為計(jì)算圖源而每個(gè)計(jì)算圖源由一個(gè)叫計(jì)算圖源名稱(graph resource name)的短字符串識)歸類在一起。

為了指明一個(gè)計(jì)算圖源,需要完整列出其所屬的命名空間,尤其是有時(shí)候命名空間層次比較多,這可能會讓你抓狂。這時(shí),一個(gè)主要替代方案是讓ROS為計(jì)算圖源提供一個(gè)默認(rèn)的命名空間,具有此特征的名稱叫做相對計(jì)算圖源名稱(ralative graph resource name),或簡稱為相對名稱(relative name)。?

?

相對名稱

相對名稱的典型特征是它缺少全局名稱帶有的前斜杠“/”。例如:cmd_vel?及?count_and_log/set_logger_level理解相對名稱的關(guān)鍵是,如果不知道ROS?解析某個(gè)計(jì)算圖源時(shí)所使用的默認(rèn)命名空間,相對名稱并不能和特定計(jì)算圖源匹配。

解析相對名稱:將相對名稱轉(zhuǎn)化為全局名稱的過程相當(dāng)簡單。ROS將當(dāng)前默認(rèn)的命名空間的名稱加在相對名稱的前面,從而將相對名解析為全局名稱。比如,如果我們在默認(rèn)命名空間為/turtle1?的地方使用相對名稱cmd_vel,那么ROS?通過組合方法得?/turtle1 + cmd_vel???/turtle1/cmd_vel? ??

?

相對名稱也可以以一系列的命名空間開始,這些命名空間被看作是默認(rèn)命名空間中的嵌套空間。舉個(gè)例子,如果我們在默認(rèn)命名空間為/a/b/c/d/e/f?的地方使用相對空間g/h/i/j/k,ROS?將會將其進(jìn)行組合為全局命名空間/a/b/c/d/e/f?/g/h/i/j/k/l?得到的全局名稱就可以用于確定一個(gè)特定的計(jì)算圖源,就像前面介紹全局名稱的使用時(shí)一樣。

當(dāng)一個(gè)節(jié)點(diǎn)內(nèi)的計(jì)算圖源全部使用相對名稱時(shí),這本質(zhì)上給用戶提供了一種非常簡單的移植手段,即用戶能方便地將此節(jié)點(diǎn)和話題移植到其他的(比如用戶自己程序的) 命名空間,而節(jié)點(diǎn)的原設(shè)計(jì)者并不一定參與這個(gè)過程。這種靈活性可以使得一個(gè)系統(tǒng)的組織結(jié)構(gòu)更清晰,更重要的是能夠防止在整合來自不同來源的節(jié)點(diǎn)發(fā)生名稱沖突。作為對比,如果所有節(jié)點(diǎn)都使用全局名稱命名自己的計(jì)算圖源, 就很難實(shí)現(xiàn)這種高效資源整合。所以,除非一些特殊情況有特殊要求,否則編寫節(jié)點(diǎn)時(shí)并不推薦使用全局名稱。

?

私有名稱

私有名稱,以一個(gè)波浪字符(~)開始,是第三類也是最后一類計(jì)算圖源名稱。和相對名稱一樣,私有名稱并不能完全確定它們自身所在的命名空間,而是需要ROS?客戶端庫將這個(gè)名稱解析為一個(gè)全局名稱。與相對名稱的主要差別在于,私有名稱不是用當(dāng)前默認(rèn)命名空間,而是用的它們節(jié)點(diǎn)名稱作為命名空間。例如,有一個(gè)節(jié)點(diǎn),它的全局名稱是?/sim1/pubvel,ROS?將其私有名稱~max_vel?轉(zhuǎn)換至如下全局名稱:/sim1/pubvel + ~max_vel??/sim1/pubvel/max_vel?這種命名方式適用的地方是每個(gè)節(jié)點(diǎn)內(nèi)部都有這樣一些資源,這些資源只與本節(jié)點(diǎn)有關(guān),而不會與其他節(jié)點(diǎn)打交道,這些資源就可以使用私有名稱,與松耦合性相對的。私有名稱的關(guān)鍵字“private”僅僅表示其他節(jié)點(diǎn)不會使用它們所在的命名空間,也就是僅在命名空間層面上有意義。對于其他節(jié)點(diǎn)來講,只要知道私有名稱解析后的全局名稱,都可以通過其全局名稱訪問這些計(jì)算圖源。這和C++等其他類似編程語言中的關(guān)鍵字“private”是不同的,在這些編程語言中,系統(tǒng)中的其他部分是不能訪問某個(gè)類的私有成員變量的。

總結(jié)

以上是生活随笔為你收集整理的由浅到深理解ROS(3)-命名空间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 最新地址av | 国产香蕉在线 | 国产高清网站 | 成人在线视频免费播放 | 天天色宗合 | 国产精品入口久久 | 亚洲一区二区三区高清 | 恶虐女帝安卓汉化版最新版本 | 天天高潮夜夜爽 | 国产传媒视频在线观看 | 国产精品一区二区不卡 | 美攻壮受大胸奶汁(高h) | 日韩在线不卡av | 18精品爽国产白嫩精品 | 少妇搡bbbb搡bbb搡小说 | 久久午夜精品 | 黄色在线观看视频网站 | 亚洲午夜精品一区二区三区他趣 | 久久亚洲一区 | 91精品国产91久久久 | 欧洲免费毛片 | 上原亚衣在线观看 | 久久精品一二区 | 狠狠躁日日躁夜夜躁2022麻豆 | 久久久久99人妻一区二区三区 | 亚洲a在线观看 | 69中国xxxxxxxxx69 国产又爽又色 | 国产一区二区三区视频免费在线观看 | 青青草视频观看 | 91精品啪在线观看国产 | 亚洲成人日韩在线 | 国产白袜脚足j棉袜在线观看 | 国产精品免费一区 | 综合在线一区 | 在线黄色免费 | 国产三级伦理片 | 九月婷婷综合 | 91综合在线| 久久久久久久美女 | av秋霞| 亚洲天堂无吗 | 公车激情云雨小说 | 国产精品自拍网 | 少妇高潮一区二区三区99欧美 | 亚洲午夜精品久久久久久浪潮 | 2018狠狠干 | 欧美精品三区 | 亚洲日本精品一区 | 国产欧美一区二区精品久久久 | 欧美成人免费观看视频 | 91国产精品 | 污视频网站入口 | 国产人妖在线观看 | 久久五 | 色婷婷在线影院 | 国产精品一区二区三区久久久 | 91精品免费在线观看 | 国产福利久久久 | 爆操巨乳 | 日本丰满熟妇hd | 精品99在线观看 | 亚洲黄色a| 欧美成人图区 | 日本老太婆做爰视频 | 日日射天天射 | 日韩一区免费 | 一区二区三区国产在线观看 | 日韩精品导航 | 天天操网 | 精品国产96亚洲一区二区三区 | 国产精品中文无码 | 日本午夜三级 | 免费成人福利视频 | 久久调教 | 噼里啪啦动漫高清在线观看 | 亚洲最新偷拍 | 久久b| 欧美色综合色 | 91视频免费观看 | 久久国产99| 国产精品久久久久久久免费大片 | 国产成人无码精品 | 国产又黄又大又粗的视频 | 99热精品国产 | 国产人免费人成免费视频 | 久久久久久久久久久久久久国产 | 操日本女人| 嫩草综合 | 久热国产在线 | 人妻少妇偷人精品无码 | 久久91亚洲 | 亚洲免费黄色 | 国产在线欧美 | 手机看片福利久久 | 草久免费视频 | 射婷婷 | 黄网在线免费看 | 秋霞影院午夜 | 国产91区 |