ROS中Remap标签详解

remap标签介绍

remap标签”允许你以更结构化的方式将名称重新映射参数传递给ROS节点,而不是直接设置<节点>的参数属性。

作用

重命名一个已经存在的主题。

在自己的lanuch文件中,修改自己的发布的主题名字为别人要订阅的主题的名字。

(针对自己发布的主题:改变自己发布主题的名字)

  • from=“original-name”: 你节点中原来发布的主题名字
  • to=“new-name”: 重映射的目标名字

将别人发布的主题映射到自己订阅的主题上。

在自己的lanuch文件中,修改别人发布的主题为自己要订阅的主题的名字。

(针对别人发布的主题,和自己订阅的主题是同一个类型,但主题名字不同,这时候可以将别人发布的主题映射到自己要订阅的主题:相当于自己直接订阅了别人的主题、或者说改变别人发布主题的名字为自己要订阅的主题名字)

  • from=“original-name”: 你节点中订阅的主题名字
  • to=“des-name”: 别人发布的主题名字

举栗子说明其作用

下面是两个launch启动两个节点的例子:
一个节点叫pub_node,它发布一个topic名为/pub_data
一个节点叫sub_node,它订阅一个topic名为/sub_data

重命名一个已经存在的主题:
<!--pub_node.launch-->
<launch>    
    <node pkg="pub_node" type="pub_node" name="pub_node" output="screen">
    <!--pub_node节点发布的topic为/pub_data-->
        <!--将pub_node节点发布的话题/pub_node映射到/talker的名字上去:改名字-->
        <remap from="/pub_data" to="/talker" />        
    </node> 
</launch>
将别人发布的主题映射到自己订阅的主题上:
<!--sub_node.launch-->
<launch>    
    <node pkg="sub_node" type="sub_node" name="sub_node" output="screen">
    <!--sub_node节点需要订阅话题为/sub_data-->
        <!--将别人发布的/talker主题改为sub_node节点订阅的sub_data名字:映射别人给自己用-->
        <remap from="/sub_data" to="/talker" />
    </node>
</launch>

注意:

此时如果rostopic list 会发现
只有/talker主题,不再显示/sub_data、/pub_data 主题

上一篇:puppet自动化运维工具安装配置


下一篇:ORACLE数据库如何用datapump工具导出表结构然后导入到其它Schema下面