【问题标题】:How to create two map simultaneously using one gazebo?如何使用一个凉亭同时创建两张地图?
【发布时间】:2021-11-17 00:42:59
【问题描述】:

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

【问题讨论】:

  • 您使用的是启动文件吗?它看起来像什么?

标签: ros gazebo-simu


【解决方案1】:

在@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>

【讨论】:

    【解决方案2】:

    假设您使用的启动文件类似于我在您之前的一个问题中建议的文件,您需要为节点添加一个 remap 标记,告诉它要重新映射哪些主题。对于上面的节点,它应该是这样的:&lt;remap from="/map" to="/map2" /&gt;

    【讨论】:

    • 我使用了“rosrun gmapping slam_gmapping scan:=scan_new3”但是当我尝试“rosrun gmapping slam_gmapping scan:=scan_new map:=map2”时不起作用。好的,我将首先尝试使用启动文件。非常感谢@BTables。你帮了我很多
    • 嗨@BTables 你能帮我回答下一个与ROS相关的问题吗stackoverflow.com/q/69389307/16594158
    猜你喜欢
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多