You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gazebo中让两个slam_gmapping节点发布不同的map话题

操作方法共有3种,按推荐优先级排序如下:

  • 启动节点时直接用ROS话题重映射(最便捷,无需修改任何文件)
    启动第二个slam_gmapping节点时,在命令后增加重映射参数即可:

    rosrun gmapping slam_gmapping map:=/map2
    

    该命令会将节点原本默认发布的map话题直接重定向为/map2,不会再向原/map话题推送数据。

  • 在launch文件中配置重映射(适合固定启动场景)
    如果你是通过launch文件启动第二个slam_gmapping节点,直接在节点标签内插入重映射规则即可,示例配置如下:

    <node name="slam_gmapping" pkg="gmapping" type="slam_gmapping" output="screen">
      <!-- 保留你原本配置的其他参数,比如odom_frame、base_frame等 -->
      <remap from="map" to="/map2" />
    </node>
    
  • 修改源码默认配置(仅适合需要长期固定修改话题名的场景)
    找到gmapping功能包源码中发布map话题的代码行,将话题名修改为/map2后重新编译工作空间即可,该方法灵活性低,非必要不推荐使用。

修改完成后可执行rostopic info /map2,确认话题的发布者为第二个slam_gmapping节点,即为配置成功。


内容的提问来源于stack exchange,提问作者AmirulJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:09:05