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

    RViz中Map Status:Warn Message No map received

    已定时 已固定 已锁定 已移动 未解决
    综合问题
    rviz2不显示地图 odom map
    1
    2
    66
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • A
      ALSKDJFHGG
      最后由 编辑

      rviz中Map no map received,没有接受到地图信息

      目前发现是时间不一致导致的,问如何解决

      20463530-d3c1-4bc8-b699-776cafed8f9d-image.png

      rviz显示如下

      8f421ede-a828-4232-a3b4-0ae7983716fe-image.png

      rqt显示如下

      3dcb6256-528d-483f-8a24-980a0329e5b0-image.png

      查看 map 无数据输出 odom无相关话题

      62e41c4b-f894-4f64-b0a6-5683e2b3e1bc-image.png

      f468274a-ce94-4134-b849-ba15812a7b10-image.png

      scan有输出

      8aedd05c-c5b2-43da-91db-7c65337983a7-image.png
      851cdefd-0755-4a22-beeb-0a5c4212a9fe-image.png

      gazebo_sim.launch.py 代码

      import launch
      import launch_ros
      from ament_index_python.packages import get_package_share_directory
      from launch.launch_description_sources import PythonLaunchDescriptionSource
      
      def generate_launch_description():
          # 获取默认路径
          robot_name_in_model = "fishbot"
          urdf_tutorial_path = get_package_share_directory('fishbot_description')
          default_model_path = urdf_tutorial_path + '/urdf/fishbot/firstbot.urdf.xacro'
          default_world_path = urdf_tutorial_path + '/world/custom_room.world'
          # 为 Launch 声明参数
          action_declare_arg_mode_path = launch.actions.DeclareLaunchArgument(
              name='model', default_value=str(default_model_path),
              description='URDF 的绝对路径')
          # 获取文件内容生成新的参数
          robot_description = launch_ros.parameter_descriptions.ParameterValue(
              launch.substitutions.Command(
                  ['xacro ', launch.substitutions.LaunchConfiguration('model')]),
              value_type=str)
        	
          robot_state_publisher_node = launch_ros.actions.Node(
              package='robot_state_publisher',
              executable='robot_state_publisher',
              parameters=[{'robot_description': robot_description}]
          )
      
          # 通过 IncludeLaunchDescription 包含另外一个 launch 文件
          launch_gazebo = launch.actions.IncludeLaunchDescription(
              PythonLaunchDescriptionSource([get_package_share_directory(
                  'gazebo_ros'), '/launch', '/gazebo.launch.py']),
            	# 传递参数
              launch_arguments=[('world', default_world_path),('verbose','true')]
          )
          # 请求 Gazebo 加载机器人
          spawn_entity_node = launch_ros.actions.Node(
              package='gazebo_ros',
              executable='spawn_entity.py',
              arguments=['-topic', '/robot_description',
                         '-entity', robot_name_in_model, ])
          
          # 加载并激活 fishbot_joint_state_broadcaster 控制器
          load_joint_state_controller = launch.actions.ExecuteProcess(
              cmd=['ros2', 'control', 'load_controller', '--set-state', 'active',
                  'fishbot_joint_state_broadcaster'],
              output='screen'
          )
      
          # 加载并激活 fishbot_effort_controller 控制器
          load_fishbot_effort_controller = launch.actions.ExecuteProcess(
              cmd=['ros2', 'control', 'load_controller', '--set-state', 'active','fishbot_effort_controller'], 
              output='screen')
          
          load_fishbot_diff_drive_controller = launch.actions.ExecuteProcess(
              cmd=['ros2', 'control', 'load_controller', '--set-state', 'active','fishbot_diff_drive_controller'], 
              output='screen')
          
          return launch.LaunchDescription([
              action_declare_arg_mode_path,
              robot_state_publisher_node,
              launch_gazebo,
              spawn_entity_node,
              # 事件动作,当加载机器人结束后执行    
              launch.actions.RegisterEventHandler(
                  event_handler=launch.event_handlers.OnProcessExit(
                      target_action=spawn_entity_node,
                      on_exit=[load_joint_state_controller],)
                  ),
              # 事件动作,load_fishbot_diff_drive_controller
              launch.actions.RegisterEventHandler(
              event_handler=launch.event_handlers.OnProcessExit(
                  target_action=load_joint_state_controller,
                  on_exit=[load_fishbot_diff_drive_controller],)
                  ),
          ])
      
      
      1 条回复 最后回复 回复 引用 0
      • A
        ALSKDJFHGG
        最后由 ALSKDJFHGG 编辑

        之前的问题已解决原因为/odom话题名称没有对上

        71009e77-3e51-4d44-812e-bd30d563e7c8-image.png

        目前最新问题,无法接受信息因为队列已满求教如何解决

        3f641c46-64c7-4168-9810-37c73da40f7a-image.png

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