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

    控制代码无法控制gazebo里的小车

    已定时 已固定 已锁定 已移动 已解决
    综合问题
    gazebo ros节点间通讯
    2
    3
    677
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 16870285121
      -
      最后由 1687028512 编辑

      分别用roslaunch启动gazebo环境,用python运行控制代码,小车不动
      查看rqt_graph,三个结点gazebo、gazebo_gui、RUN互相没有连接。分别查看结点和话题信息如下:

      (base) xxx@xxx-virtual-machine:~$ rosnode list
      /RUN
      /gazebo
      /gazebo_gui
      /rosout
      
      (base) xxx@xxx-virtual-machine:~$ rosnode info RUN
      --------------------------------------------------------------------------------
      Node [/RUN]
      Publications: 
       * /cmd_vel [geometry_msgs/Twist]
       * /rosout [rosgraph_msgs/Log]
      
      Subscriptions: 
       * /camera/rgb/image_raw [unknown type]
       * /clock [rosgraph_msgs/Clock]
      
      Services: 
       * /RUN/get_loggers
       * /RUN/set_logger_level
      
      
      contacting node http://xxx-virtual-machine:39375/ ...
      Pid: 116647
      Connections:
       * topic: /clock
          * to: /gazebo (http://xxx-virtual-machine:42671/)
          * direction: inbound
          * transport: TCPROS
      
      
      (base) xxx@xxx-virtual-machine:~$ rosnode info gazebo
      --------------------------------------------------------------------------------
      Node [/gazebo]
      Publications: 
       * /clock [rosgraph_msgs/Clock]
       * /gazebo/link_states [gazebo_msgs/LinkStates]
       * /gazebo/model_states [gazebo_msgs/ModelStates]
       * /gazebo/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
       * /gazebo/parameter_updates [dynamic_reconfigure/Config]
       * /rosout [rosgraph_msgs/Log]
      
      Subscriptions: 
       * /clock [rosgraph_msgs/Clock]
       * /gazebo/set_link_state [unknown type]
       * /gazebo/set_model_state [unknown type]
      
      Services: 
       * /gazebo/apply_body_wrench
       * /gazebo/apply_joint_effort
       * /gazebo/clear_body_wrenches
       * /gazebo/clear_joint_forces
       * /gazebo/delete_light
       * /gazebo/delete_model
       * /gazebo/get_joint_properties
       * /gazebo/get_light_properties
       * /gazebo/get_link_properties
       * /gazebo/get_link_state
       * /gazebo/get_loggers
       * /gazebo/get_model_properties
       * /gazebo/get_model_state
       * /gazebo/get_physics_properties
       * /gazebo/get_world_properties
       * /gazebo/pause_physics
       * /gazebo/reset_simulation
       * /gazebo/reset_world
       * /gazebo/set_joint_properties
       * /gazebo/set_light_properties
       * /gazebo/set_link_properties
       * /gazebo/set_link_state
       * /gazebo/set_logger_level
       * /gazebo/set_model_configuration
       * /gazebo/set_model_state
       * /gazebo/set_parameters
       * /gazebo/set_physics_properties
       * /gazebo/spawn_sdf_model
       * /gazebo/spawn_urdf_model
       * /gazebo/unpause_physics
      
      
      contacting node http://xxx-virtual-machine:42671/ ...
      Pid: 114613
      Connections:
       * topic: /rosout
          * to: /rosout
          * direction: outbound (43625 - 127.0.0.1:46868) [22]
          * transport: TCPROS
       * topic: /clock
          * to: /gazebo
          * direction: outbound
          * transport: INTRAPROCESS
       * topic: /clock
          * to: /rosout
          * direction: outbound (43625 - 127.0.0.1:47148) [44]
          * transport: TCPROS
       * topic: /clock
          * to: /RUN
          * direction: outbound (43625 - 127.0.0.1:50992) [77]
          * transport: TCPROS
       * topic: /clock
          * to: /gazebo (http://xxx-virtual-machine:42671/)
          * direction: inbound
          * transport: INTRAPROCESS
      
      
      (base) xxx@xxx-virtual-machine:~$ rostopic info cmd_vel
      Type: geometry_msgs/Twist
      
      Publishers: 
       * /RUN (http://xxx-virtual-machine:39375/)
      
      Subscribers: None
      
      
      

      可以看到两个结点并没有互相找到
      试图通过在两个终端分别使用如下命令让两个结点访问11311端口,但并没有起效

      export ROS_HOSTNAME=localhost
      export ROS_MASTER_URI=http://localhost:11311
      

      请问应该如何操作使得控制结点与gazebo结点连接起来呢?

      (不知道为什么第一个代码块不显示包裹后的效果🤕 )

      1 条回复 最后回复 回复 引用 0
      • 16870285121
        -
        最后由 编辑

        通过以下命令安装ros-gazebo接口,实现ros-gazebo通信

        sudo apt install ros-melodic-gazebo-ros-pkgs  ros-melodic-gazebo-msgs  ros-melodic-gazebo-plugins  ros-melodic-gazebo-ros-control
        

        参考资料

        https://www.freesion.com/article/8223995772/
        

        问题解决

        小鱼小 1 条回复 最后回复 回复 引用 0
        • 16870285121 1687028512 将这个主题标记为已解决,在
        • 小鱼小
          小鱼 技术大佬 @1687028512
          最后由 编辑

          @1687028512 👍

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

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