[ROS](05)ROS通信 —— 节点,Nodes Master
??文章只是個(gè)人學(xué)習(xí)過程中學(xué)習(xí)筆記,主要參考ROS教程1。
目錄
- 1、概念
- 2、Nodes
- 3、Master
- 4、rosnode
- 5、 實(shí)例測(cè)試
1、概念
節(jié)點(diǎn)(Nodes):節(jié)點(diǎn)是一個(gè)可執(zhí)行文件,它可以通過ROS來與其他節(jié)點(diǎn)進(jìn)行通信。
節(jié)點(diǎn)管理器(Master):ROS的命名服務(wù),例如幫助節(jié)點(diǎn)發(fā)現(xiàn)彼此。
2、Nodes
? ? 一個(gè)節(jié)點(diǎn)(Node)實(shí)際上只不過是ROS軟件包中的一個(gè)可執(zhí)行文件(C++編譯生成的可執(zhí)行文件、python腳本),可執(zhí)行文件在運(yùn)行之后就成了一個(gè)進(jìn)程(process),這個(gè)進(jìn)程在ROS中就叫做節(jié)點(diǎn)。。ROS節(jié)點(diǎn)使用ROS客戶端庫與其他節(jié)點(diǎn)通信。節(jié)點(diǎn)可以發(fā)布或訂閱話題,也可以提供或使用服務(wù)。一個(gè)ROS控制系統(tǒng)包含許多節(jié)點(diǎn),例如無人車,一個(gè)節(jié)點(diǎn)(Node)控制無人車的車輪電機(jī)、一個(gè)節(jié)點(diǎn)(Node)通過慣導(dǎo)獲取定位信息、一個(gè)節(jié)點(diǎn)(Node)通過攝像頭獲取圖像信息、一個(gè)節(jié)點(diǎn)(Node)融合各種信息執(zhí)行路徑規(guī)劃等等。
ROS客戶端庫可以讓用不同語言編寫的節(jié)點(diǎn)進(jìn)行相互通信:
- roscpp = C++客戶端
- rospy = python客戶端
3、Master
? ?機(jī)器人是一種組件眾多、功能龐大、高度復(fù)雜的系統(tǒng)性實(shí)現(xiàn)。在實(shí)際的應(yīng)用中,機(jī)器人可能集成激光雷達(dá)、慣導(dǎo)、毫米波雷達(dá)、攝像頭、GPS等各種傳感器以及運(yùn)動(dòng)控制器件,負(fù)責(zé)感知、控制、決策和計(jì)算等功能,每一項(xiàng)功能點(diǎn)都是一個(gè)單獨(dú)的節(jié)點(diǎn)(Nodes)。那么如何去管理、分配、控制這些節(jié)點(diǎn)呢?這就用到ROS Master,它為ROS系統(tǒng)中的其余節(jié)點(diǎn)提供命名和注冊(cè)服務(wù)。Master的作用是使各個(gè)ROS節(jié)點(diǎn)(Nodes)之間能夠相互定位,然后才能進(jìn)行點(diǎn)對(duì)點(diǎn)通信。
? ?
4、rosnode
? ?rosnode是用于顯示有關(guān)ROS節(jié)點(diǎn)信息的命令行工具。命令有:
| rosnode ping | 測(cè)試與節(jié)點(diǎn)的連接 |
| rosnode list | 列出活動(dòng)的節(jié)點(diǎn) |
| rosnode info | 打印關(guān)于節(jié)點(diǎn)的信息 |
| rosnode machine | 列出指定設(shè)備上的節(jié)點(diǎn) |
| rosnode kill | 殺死一個(gè)正在運(yùn)行的節(jié)點(diǎn) |
| rosnode cleanup | 清除不可連接的節(jié)點(diǎn) |
在使用ctrl+C停止節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)并沒有徹底清除,可以使用rosnode cleanup清除節(jié)點(diǎn)。
5、 實(shí)例測(cè)試
#步驟1:(ROS首要操作)運(yùn)行roscore命令, 啟動(dòng) master, master負(fù)責(zé) ros 的節(jié)點(diǎn)注冊(cè), 參數(shù)服務(wù)器, 話題通信管理等等。
#步驟2:運(yùn)行rosnode 相關(guān)命令。
/rosout這個(gè)節(jié)點(diǎn),是用于收集和記錄節(jié)點(diǎn)的調(diào)試輸出,該節(jié)點(diǎn)總是運(yùn)行。
ROS.otg. ROS教程[EB/OL]. 2020-12-22[2022-7-5].
http://wiki.ros.org/cn/ROS/Tutorials. ??
總結(jié)
以上是生活随笔為你收集整理的[ROS](05)ROS通信 —— 节点,Nodes Master的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]SEO常用工具
- 下一篇: FN-8112MET系列RTL8188单