鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    地图加载后,虽然/map话题发布了,但是内容异常,全部是0

    已定时 已固定 已锁定 已移动
    动手学ROS2
    mapserver, cartographer建图 nav2mapserver
    3
    12
    583
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 2
      2996724802 年度VIP
      最后由 编辑

      ros2 run nav2_map_server map_server --ros-args --param yaml_filename:=fishbot_map.yaml
      执行这个后
      (ros2) chen@chen-virtual-machine:~$ ros2 lifecycle set /map_server configure
      Transitioning successful
      (ros2) chen@chen-virtual-machine:~$ ros2 lifecycle set /map_server activate
      Transitioning successful
      都正常
      但是rviz2那里地图显示警告“No map received”
      我看数据的结果是
      ros2 topic echo /map header: stamp: sec: 1726811973 nanosec: 508291669 frame_id: map info: map_load_time: sec: 1726811973 nanosec: 508272569 resolution: 0.05000000074505806 width: 156 height: 132 origin: position: x: -4.98 y: -3.79 z: 0.0 orientation: x: 0.0 y: 0.0 z: 0.0 w: 1.0 data: - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0- 0 - 0 - 0 - 0 - '...' ---
      这样
      检查了pgm图片路径没有问题,权限全是可以读写
      yaml文件正常
      image: fishbot_map.pgm
      mode: trinary
      resolution: 0.05
      origin: [-5.39, -3.68, 0]
      negate: 0
      occupied_thresh: 0.65
      free_thresh: 0.25
      请问这个是为什么求解答,弄了一整天了

      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        从您提供的信息来看,问题可能出在地图数据的加载或传输上,尽管nav2_map_server已经成功启动并配置了,但是/map话题发布的数据似乎并不包含有效的地图数据(所有数据都是0或者未显示完整)。以下是一些可能的解决步骤和检查点:

        1. 检查PGM文件:

          • 确保fishbot_map.pgm文件没有损坏,并且确实包含了有效的地图数据。您可以尝试用图像查看器打开它,看看是否能正确显示地图。
          • 检查PGM文件的格式是否与nav2_map_server的期望一致。通常,PGM文件应该是灰度图,其中不同的灰度值表示地图的不同状态(如占用、空闲等)。
        2. 检查YAML配置文件:

          • 您提供的YAML文件中的resolution和origin与topic echo中的输出略有不同(YAML中为0.05和[-5.39, -3.68, 0],而输出为0.05000000074505806和[-4.98, -3.79, 0])。这通常是由于浮点数的精度问题,但确认这些值是否适合您的环境仍然很重要。
          • 确保yaml_filename的路径正确,并且nav2_map_server有权限读取该文件。
        3. 检查ROS 2节点和话题:

          • 使用ros2 node list查看map_server节点是否正在运行。
          • 使用ros2 topic info /map查看话题的发布者、订阅者等信息。
          • 确保没有其他节点或问题阻止/map话题的数据传输。
        4. 查看日志:

          • 查看nav2_map_server的日志输出,可能包含有关为什么无法加载或发布地图的更多信息。您可以使用ros2 log show /map_server来查看。
        5. 环境变量和路径:

          • 确保所有相关的环境变量(如ROS_PACKAGE_PATH)都已正确设置,以便nav2_map_server能够找到其依赖项和配置文件。
        6. 尝试重新加载或重启:

          • 尝试重新加载地图文件(可能需要重启nav2_map_server),看是否可以解决问题。
          • 重启整个ROS 2系统,有时这可以解决由于状态不一致或缓存问题导致的问题。
        7. 检查RVIZ2配置:

          • 确保在RVIZ2中正确配置了地图显示。检查Map面板是否已正确设置为接收/map话题,并且没有其他配置错误。

        如果上述步骤都无法解决问题,您可能需要更深入地检查nav2_map_server的源代码或查找是否有其他用户遇到并解决了类似的问题。此外,考虑在ROS 2社区或相关论坛中寻求帮助。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • 小鱼小
          小鱼 技术大佬 @2996724802
          最后由 编辑

          @2996724802

          @2996724802 在 地图加载后,虽然/map话题发布了,但是内容异常,全部是0 中说:

          ros2 topic echo /map header: stamp: se

          这个命令本身会截断数据,只是为了更好显示,真实数据是完整的,无法显示大概率是qos问题

          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

          2 小鱼小 2 条回复 最后回复 回复 引用 0
          • 2
            2996724802 年度VIP @小鱼
            最后由 编辑

            @小鱼 意思是我的虚拟机问题吗,我的虚拟机性能不行,要换双系统吗?可是正常用Gazebo发布的地图都没有问题啊

            小鱼小 1 条回复 最后回复 回复 引用 0
            • 小鱼小
              小鱼 技术大佬 @2996724802
              最后由 编辑

              @2996724802 意思是没有问题

              新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

              2 1 条回复 最后回复 回复 引用 0
              • 2
                2996724802 年度VIP @小鱼
                最后由 编辑

                @小鱼 那我rviz里面Map标签显示“No map received”,不显示地图,怎么办

                小鱼小 1 条回复 最后回复 回复 引用 0
                • 小鱼小
                  小鱼 技术大佬 @小鱼
                  最后由 编辑

                  @小鱼 在 地图加载后,虽然/map话题发布了,但是内容异常,全部是0 中说:

                  无法显示大概率是qos问题

                  新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                  2 2 条回复 最后回复 回复 引用 0
                  • 小鱼小
                    小鱼 技术大佬 @2996724802
                    最后由 编辑

                    @2996724802 看看最新的教程吧

                    小鱼 ROS 2 新书上线!书籍购买链接: https://m.tb.cn/h.gKdXUhi
                    新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                    新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                    1 条回复 最后回复 回复 引用 0
                    • 2
                      2996724802 年度VIP @小鱼
                      最后由 编辑

                      @小鱼
                      (ros2) chen@chen-virtual-machine:~$ ros2 topic info /map --verbose
                      Type: nav_msgs/msg/OccupancyGrid

                      Publisher count: 1

                      Node name: map_server
                      Node namespace: /
                      Topic type: nav_msgs/msg/OccupancyGrid
                      Endpoint type: PUBLISHER
                      GID: 01.0f.4e.5b.56.10.8b.b4.00.00.00.00.00.00.1f.03.00.00.00.00.00.00.00.00
                      QoS profile:
                      Reliability: RELIABLE
                      History (Depth): UNKNOWN
                      Durability: TRANSIENT_LOCAL
                      Lifespan: Infinite
                      Deadline: Infinite
                      Liveliness: AUTOMATIC
                      Liveliness lease duration: Infinite

                      Subscription count: 1

                      Node name: rviz
                      Node namespace: /
                      Topic type: nav_msgs/msg/OccupancyGrid
                      Endpoint type: SUBSCRIPTION
                      GID: 01.0f.4e.5b.bb.10.1a.f9.00.00.00.00.00.00.21.04.00.00.00.00.00.00.00.00
                      QoS profile:
                      Reliability: RELIABLE
                      History (Depth): UNKNOWN
                      Durability: VOLATILE
                      Lifespan: Infinite
                      Deadline: Infinite
                      Liveliness: AUTOMATIC
                      Liveliness lease duration: Infinite

                      这个是显示出来的qos,我上网查了一下,这个配置好像没有什么问题

                      小鱼小 1 条回复 最后回复 回复 引用 0
                      • 2
                        2996724802 年度VIP @小鱼
                        最后由 编辑

                        @小鱼 鱼哥看到了记得解答一下,谢谢

                        1 条回复 最后回复 回复 引用 0
                        • 小鱼小
                          小鱼 技术大佬 @2996724802
                          最后由 编辑

                          @2996724802 你先保持一致试试,至于是否兼容可以看书籍最后一章,另外如果实在显示不出来就跳过这个好了,你是看的动手学ROS2教程吗,如果是就看看最新的书籍,之前的会有很多对新手不友好的坑,另外看你启用了conda,这个可能也会有影响

                          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                          2 1 条回复 最后回复 回复 引用 0
                          • 2
                            2996724802 年度VIP @小鱼
                            最后由 编辑

                            @小鱼 那我先跳过吧,大不了直接用gazebo发布地图

                            1 条回复 最后回复 回复 引用 0
                            • 第一个帖子
                              最后一个帖子
                            皖ICP备16016415号-7
                            Powered by NodeBB | 鱼香ROS