一、总体框架
二、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.