如何使用一个凉亭同时创建两张地图?

How to create two map simultaneously using one gazebo?

如下图,现在我的gazebo是运行2slam_gmapping包。首先是 /turtlebot_slam_gmapping 发布到 /map 主题。第二个是 /slam_gmapping 发布到与第一个相同的 /map 主题。我想创建一个新的 /map 主题,它是 /map2(红色)从 /slam_gmapping(第二个)发布,而不是发布到 /map 主题(我删除的蓝色主题) .我该怎么做?

假设您正在使用启动文件,就像我在您之前的一个问题中建议的那样,您需要为节点包含一个 remap 标记,告诉它要重新映射哪些主题。对于上面的节点,它应该是这样的:<remap from="/map" to="/map2" />

在@BTables 的帮助下,可以像这样编辑 gmapping 的启动文件。您可以在 cd catkin_ws/src/turtlebot3/turtlebot3_slam/launch 中创建一个新的启动文件

  <!-- Gmapping -->
  <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
    <param name="base_frame" value="$(arg set_base_frame)"/>
    <param name="odom_frame" value="$(arg set_odom_frame)"/>
    <param name="map_frame"  value="$(arg set_map_frame)"/>
    <rosparam command="load" file="$(find turtlebot3_slam)/config/gmapping_params.yaml" />
    <remap from="/scan" to="/scan_new2"/>
    <remap from="/map" to="/map2" />
  </node>
</launch>