ros NodeHandle與命名空間的那些事兒

2021-09-26 06:08:12 字數 1072 閱讀 5689

首先,它提供簡單的啟動和關閉roscpp程式內部節點。

其次,它提供了額外的命名空間解析層,可以使編寫子元件更容易。

ros :: nodehandle管理內部引用計數,以便啟動和關閉節點,如下所示:

ros :: nodehandle nh;
在建立時,如果內部節點尚未啟動,則ros​​ :: nodehandle將啟動該節點。一旦所有ros :: nodehandle例項都被銷毀,該節點將自動關閉。

nodehandles允許您為其建構函式指定命名空間:

ros :: nodehandle nh(「my_namespace」);
這使得與該nodehandle相關的命名空間為/ my_namespace,而不僅僅是。

您還可以指定父nodehandle和要追加的命名空間:

ros :: nodehandle nh1(「ns1」);

ros :: nodehandle nh2(nh1,「ns2」);

這會將nh2放入/ ns1 / ns2命名空間。

如果您真的想要,可以指定全域性名稱:

ros :: nodehandle nh(「/ my_global_namespace」);
通常不鼓勵這樣做,因為它阻止節點被推入命名空間(例如通過roslaunch)。但是有時候在**中使用全域性名稱會很有用。

使用私有名稱比直接使用私有名稱(「~name」)呼叫nodehandle方法有點瑣碎。相反,您必須在私有命名空間內建立乙個新的nodehandle:

ros :: nodehandle nh(「~my_private_namespace」);

ros :: subscriber sub = nh.subscribe(「my_private_topic」,...);

上面的示例將訂閱/ my_private_namespace / my_private_topic

ROS Nodehandle控制代碼

1 控制代碼可以讓你通過建構函式指定命名空間 ros nodehandle nh my namespace 這使得使用該控制代碼的任何相對名字都是相對 node namespace my namespace,而不是只相對 你也可以指定乙個父控制代碼和追加的命名空間 ros nodehandle nh...

丁火生於未月命理分析 命理與命運 年底命理注意事項

dunk festival 在國外如火如荼地進行著,中國其實也早就有了自己的後搖 節了。誰做了中國第乙個後搖 節?中國有過多少個後搖 節?有人居然打著後搖 節的幌子騙錢?進入到亥子醜三個月了,在干支曆中,亥子醜為冬季。今年是庚子年,太歲為子,陽曆12月7號到陽曆1月7號為 子水 太歲月。從概率學來說...

Linux shutdown關機與重開機命令詳解

名稱 shutdown 使用許可權 系統管理者 使用方式 shutdown t seconds rkhncff time message 說明 shutdown 可以用來進行關機程式,並且在關機以前傳送訊息給所有使用者正在執行的程式,shutdown 也可以用來重開機。引數 t seconds 設定...