ROS
[ROS Husky主題實作] 單元0 : 從ROS基本指令實作認識topic、node...
<source : unsplash>
一、簡介
對於ROS有基本概念後,應該更清楚ROS機器人的每個功能實現,主要是靠node與node之間的溝通,而Topic扮演重要角色。
本實作紀錄從rostopic的基本指令出發,更進一步熟悉 Topic、Publisher、Subscriber之間的運作關係。
二、實作紀錄
1.啟動ROS節點管理器 : ROS master
$ roscore
(如果在rosocore加上"&",可以讓它在背景執行,並繼續使用同一個terminal)
2.查看目前運行的 Topic
$ rostopic list
3.發布指令到 Topic
$ rostopic pub /<topic> <topic type> <data>
範例
$ rostopic pub /hello std_msgs/String “hello robot!"
4.再次查看目前運行的 Topic
$ rostopic list
5.接收 hello topic的資料
$ rostopic echo <topic>
範例
$ rostopic echo /hello
利用 "Ctrl + C" 即可停止接收hello topic的資料
如圖,正運行的node為 ros master 和我們創建的 publisher node。
$ rosnode info <node name>
同第6步,只看到有 Publisher資訊,而無Subscriber的資訊。
6.查看正在運行的node與資訊
$ rosnode list如圖,正運行的node為 ros master 和我們創建的 publisher node。
從"Publication"可以看到有發佈的資訊,但從"Subscriptions"來看,目前沒有節點訂閱topic。
7.查看 "hello" Topic的資訊
$ rostopic info <topic>
---
參考資料 :
0 留言