ROS移动底盘开发笔记之随笔——launch文件中remappings的理解

在写launch文件的过程中出现了remappings效果和设想不一致的情况,后来发现是自己对remappings功能的理解错误。因为之前没有在网上找到相关的解释,于是在此记个随笔。

首先ROS2文档中的相关内容放在这里:launch文件介绍

然后我们举一个例子:

Node(
    package='pkg',
    executable='node',
    name='pkg_node',
    remappings=[
      ('/topic_A', '/topic_B'),
    ]
)

这里的remappings应该理解为:把我在node中所有需要写话题名的位置里面写进去的"topic_A",直接改为"topic_B"这几个字。而不能理解为:在node之前加一个“过滤器”,每当node接收到topic_A时,过滤器把topic_A屏蔽掉,并且转而把其中的内容放进topic_B话题再发布给node。这两者实质上是完全相反的映射!

举个例子说,假如node原本订阅了topic_A,那么需要向topic_B发布话题才能被node接收到;假如node原本向topic_A发布消息,那消息实际将被发布到topic_B上。

所以说不能将remappings理解为一种“消息传递方向上的映射”,而要理解为一种在节点内部“字面的映射”或者说是“符号的映射”。remappings的映射不具有方向性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值