运行ROS client 遇到 /gazebo/set_model_state 未连结

当前使用的时Ubuntu18, 运行的是ROS Melodic版本,gazebo 9. Node 文件用python 编写

运行的仿真机器人是 Turtlebot3-Waffle (export TURTLEBOT3_MODEL=waffle)

运行Client时,无法获取到 ModelStates的msg

def get_model_pose(model_name):
    poll_rate = rospy.Rate(1)
    for i in range(10):
        model_states = rospy.wait_for_message('/gazebo/model_states', ModelStates, 1)
        if model_name in model_states.name:
            model_pose = model_states.pose[model_states.name.index(model_name)]
            break
        poll_rate.sleep()
    else:
        raise RuntimeError('Failed to get ' + model_name + ' model state')
    return model_pose

运行roswtf显示

node subscriptions are unconnected:

  /gazebo/set_model_state

  /gazebo/set_link_state

/gazebo/set_model_state unconnected

 目前在网上没有搜到类似的情况

请问如何让我的client 获取到/gazebo/model_states

 ------------------分割线---------------------

刚才重装了gazebo9 还是没有解决

想问下是否因为 我的node 是用python 3编译,和ros的服务不兼容?

 

 

在服务器的这个环境下,是从来没有连接成功过?

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y