如何使用一个凉亭同时创建两张地图?
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>
如下图,现在我的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>