ROS关键概念解析
1. 名称(Name)
ROS的基本概念中包含一种抽象数据类型——“图(graph)”,它用箭头展示了各个节点之间的连接关系以及消息(数据)的收发关系。在ROS里,节点、话题、服务中使用的消息和参数都有唯一的名称。下面详细介绍话题名称,其命名方式分为相对、全局和私有三种,具体规则如下表所示:
| 节点 | 相对(默认) | 全局 | 私有 |
| ---- | ---- | ---- | ---- |
| /node1 | bar → /bar | /bar → /bar | ~bar → /node1/bar |
| /wg/node2 | bar → /wg/bar | /bar → /bar | ~bar → /wg/node2/bar |
| /wg/node3 | foo/bar → /wg/foo/bar | /foo/bar → /foo/bar | ~foo/bar → /wg/node3/foo/bar |
话题通常按如下代码声明:
int main(int argc, char **argv)
// Node Main Function
{
ros::init(argc, argv, "node1");
// Node Name Initialization
ros::NodeHandle nh;
// Node Handle Declaration
// Publisher Declaration, Topic Name = bar
ros::Publisher node1_pub = nh.