一、总体框架
二、roscore
启动ros服务:
roscore
roscore = ros+core : master (provides name service for ROS) + rosout (stdout/stderr) + parameter server (parameter server will be introduced later)
三、rosnode
rosnode list
预期输出为:
/rosout
查看节点信息:
rosnode info /rosout
输出为:
Node [/rosout]
Publications:
* /rosout_agg [rosgraph_msgs/Log]
Subscriptions:
* /rosout [rosgraph_msgs/Log]
Services:
* /rosout/get_loggers
* /rosout/set_logger_level
可以清晰地看到此节点发布、订阅的信息以及其创建的服务。
接下来我们看一下更多节点的状况。
四、rosrun
可以使用rosrun启动包内的某节点,用法:
rosrun [package_name] [node_name]
比如我们启动一个小海龟节点:
rosrun turtlesim turtlesim_node
可以看到一个GUI窗口。
然后:
rosnode list
得到:
/rosout
/turtlesim
你还可以自定义节点名字:
rosrun turtlesim turtlesim_node __name:=my_turtle
进一步地,ping一下:
rosnode ping my_turtle
得到:
rosnode: node is [/my_turtle]
pinging /my_turtle with a timeout of 3.0s
xmlrpc reply from http://192.168.31.101:57003/ time=0.612974ms
xmlrpc reply from http://192.168.31.101:57003/ time=1.462936ms
xmlrpc reply from http://192.168.31.101:57003/ time=1.447916ms
xmlrpc reply from http://192.168.31.101:57003/ time=1.414061ms
五、总结
- roscore = ros+core : master (provides name service for ROS) + rosout (stdout/stderr) + parameter server (parameter server will be introduced later)
- rosnode = ros+node : ROS tool to get information about a node.
- rosrun = ros+run : runs a node from a given package.