本文內容來源於:http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes
- 圖(Graph)概念概覽
- ROS核心(roscore)
roscore是使用ros運行的一個命令,需要在其他節點運行之前運行roscore。
$ roscore ... logging to /home/shao/.ros/log/93b4e9f2-d146-11e9-a3fd-69f079ca327f/roslaunch-UAVlab1-13621.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://UAVlab1:40901/ ros_comm version 1.12.14 SUMMARY ======== PARAMETERS * /rosdistro: kinetic * /rosversion: 1.12.14 NODES auto-starting new master process[master]: started with pid [13631] ROS_MASTER_URI=http://UAVlab1:11311/ setting /run_id to 93b4e9f2-d146-11e9-a3fd-69f079ca327f process[rosout-1]: started with pid [13644] started core service [/rosout]
運行成功后如上所示。
- rosnode命令
使用rosnode命令可以查看ros節點相關的信息。例如:rosnode list命令可以列出運行的ros節點。
新打開一個終端,運行rosnode list,如下:
$ rosnode list /rosout
可以看出,有一個rosout節點,為roscore命令啟動的。
使用rosnode info命令可以查看ros節點的信息:$ rosnode info /rosout -------------------------------------------------------------------------------- Node [/rosout] Publications: * /rosout_agg [rosgraph_msgs/Log] Subscriptions: * /rosout [unknown type] Services: * /rosout/get_loggers * /rosout/set_logger_level contacting node http://UAVlab1:42313/ ... Pid: 13644
-
rosrun運行節點
rosrun命令可以運行ros節點,語法如下:
$ rosrun [package_name] [node_name]
官網該文檔有問題,正確的應該是:
rosrun <package> <executable>
即第二個參數為可執行程序名,不一定和節點名一致。
新打開一個終端,運行:$ rosrun turtlesim turtlesim_node
小龜龜出現嘍。
然后再用rosnode可以看到:
$ rosnode list /rosout /turtlesim
可以看出來多了個turtlesim的節點。
打開新終端,然后使用參數重映射,可以給節點名重命名。$ rosrun turtlesim turtlesim_node __name:=my_turtle
然后運行rosnode list
$ rosnode list /my_turtle /rosout /turtlesim
可以看出來多了一個節點my_turtle。
使用rosnode ping命令可以檢查和某節點之間的通信,類似於ping命令。$ rosnode ping /my_turtle rosnode: node is [/my_turtle] pinging /my_turtle with a timeout of 3.0s xmlrpc reply from http://UAVlab1:43947/ time=0.296116ms xmlrpc reply from http://UAVlab1:43947/ time=0.949144ms xmlrpc reply from http://UAVlab1:43947/ time=0.707150ms xmlrpc reply from http://UAVlab1:43947/ time=0.704050ms xmlrpc reply from http://UAVlab1:43947/ time=1.071930ms