Node(节点)
图表概念 & roscore
这节我们介绍ROS图表概念(Graph Conceptes)并讨论roscore,rosnode和rosrun命令的用法,会用到一个轻量级的模拟器,让我们先来安装他:
$ sudo apt-get install ros-<distro>-ros-tutorials
<distro>换成indigo,jade,kinetic,etc...
ok,接下来我们来快速的浏览下图表概念:
- Nodes(节点):一个节点就是一个文件/进程,通过ROS的机制可以和别的节点通信
- Message(消息):用于主题订阅或发布的ROS数据类型(int,double,float,etc,甚至数组和类似C语言中struct的嵌套结构都可以)
- Topics(主题):节点能够向主题订阅或发布消息
- Service(服务):上面三个概念明显形成了一种消息传递机制,但是节点之间不能够直接通信吗?设计者为节点之间的直接通信创建了服务的概念,来帮助节点们互相通信,而能够找到对方则是归功于Master,一个控制器,所有节点都必须在Master上注册,这样才能够找到对方进行通信。
- rosout:ROS控制台报告日志机制,会订阅标准的/rosout topic,记录他们的消息作为一个日志文本文件,然后在/rosout_agg上广播消息。
roscore:Master+rosout+parameter server,上面我们说有节点到节点的通信,也有节点到主题再广播到节点的通信,所以加起来我理解就是ROS整个通信机制。(parameter server后面再说)
接下来,让我们run ros吧
$ roscore
返回如下:
... logging