ROS是一个分布式系统,其架构主要如下:
主机 →\rightarrow→ workspace →\rightarrow→ package →\rightarrow→ Node →\rightarrow→ topic
在ROS的网络拓扑中,是不可以出现重名的节点的,因为假设可以重名存在,那么调用时会产生混淆,这也就意味着,不可以启动重名节点或者同一个节点启动多次。
在 ROS 中节点终端,不同的节点之间通信都依赖于话题,话题名称也可能出现重复的情况,这种情况下,系统虽然不会抛出异常,但是可能导致订阅的消息非预期的,从而导致节点运行异常。
ROS中当参数名称重名时,那么就会产生覆盖。
ROS中话题/参数存储与命名准则
前缀类型 | 空间位置 | 代码标准 | 格式 |
---|---|---|---|
全局(绝对) | 节点命名空间平级 | 以“/”开头 | /话题(参数)名称 |
相对 | 节点名称平级 | 非“/”开头 | /命名空间/话题(参数)名称 |
私有 | 节点名称的子集 | 以“~”开头 | /命名空间/节点名称/话题(参数)名称 |