一、总体框架
二、roscore
启动ros服务:1
roscore
roscore = ros+core : master (provides name service for ROS) + rosout (stdout/stderr) + parameter server (parameter server will be introduced later)
三、rosnode
| 1 | rosnode list | 
预期输出为:
| 1 | /rosout | 
查看节点信息:
| 1 | rosnode info /rosout | 
输出为:1
2
3
4
5
6
7
8
9
10Node [/rosout]
Publications: 
 * /rosout_agg [rosgraph_msgs/Log]
Subscriptions: 
 * /rosout [rosgraph_msgs/Log]
Services: 
 * get_loggers
 * set_logger_level
可以清晰地看到此节点发布、订阅的信息以及其创建的服务。
接下来我们看一下更多节点的状况。
四、rosrun
可以使用rosrun启动包内的某节点,用法:
| 1 | rosrun [package_name] [node_name] | 
比如我们启动一个小海龟节点:
| 1 | rosrun turtlesim turtlesim_node | 
可以看到一个GUI窗口。
然后:
| 1 | rosnode list | 
得到:
| 1 | /rosout | 
你还可以自定义节点名字:1
rosrun turtlesim turtlesim_node __name:=my_turtle
进一步地,ping一下:
| 1 | rosnode ping my_turtle | 
得到:
| 1 | rosnode: node is [/my_turtle] | 
五、总结
- 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.