ROS学习之三:ROS节点
基本概念
计算图(Computation Graph) |
一个由ROS进程组成的点对点网络,它们能够共同处理数据 |
节点(Nodes) |
节点是一个可执行文件,它可以通过ROS来与其他节点进行通信 |
主节点(Master) |
ROS的命名服务,可帮助节点发现彼此 |
参数服务器(Parameter Sever) | 参数服务器能够存储整形、浮点、布尔、字典和列表等数据类型 |
消息(Messages) | 订阅或发布话题时所使用的ROS数据类型 |
服务(Services) | 服务是节点间通讯的另一种方式。服务允许节点发送一个请求(request)并获得一个响应(response) |
话题(Topics) | 节点可以将消息发布到话题,或通过订阅话题来接收消息 |
袋(Bags) |
节点
节点实际上是ROS软件包中的一个可执行文件,ROS节点使用ROS客户端与其他节点通通信,节点可以发布或订阅话题,也可以提供或使用服务
常用节点:
- rosout:在ROS中相当于stdout/stderr(标准输出/标准错误)
- roscore:主节点+rosout+参数服务器
基础命令
roscore |
在运行所有ROS程序前首先要运行的命令 | |
rosnode |
list | 列出当前正在运行的活动节点 |
info [node_name] | 返回某个制定节点的信息 | |
ping [node_name] | 测试节点是否正常 | |
cleanup | 清除rosnode列表 | |
rosrun | [package_name] [node_name] | 用包名直接运行软件包内的节点(无需知道包的路径) |
[package_name] [node_name] __name:=my_node_name | 使用重映射参数改变节点名称 |
注:当打开一个新的终端时,环境将会重置,~/.bashrc文件将会生效。如果在运行rosnode等命令时出现问题,那么可能需要将一些环境设置文件添加到~/.bashrc或手动source一下。