如何获取Python中ROS节点的URI?
How to get the URI of a ROS node in Python?
我正在尝试查找发布特定类型消息的机器。因此,我正在检查 rosnodes rosnode.rosnode_listnodes()
列表,并希望 获取相应机器的 IP 地址 运行 特定节点 .
有一个方法rosnode.lookup_uri(...)
,但我不知道如何使用它。我还查看了 rospy
、rosgraph
、names
和 network
模块 - 到目前为止没有成功。在其他信息中,rosnode.rosnode_info(node_name)
打印 URI。但它可能是一种相当昂贵的方法,不幸的是,它 returns None
.
作为huanxiner answered on ROS answers,您可以使用rosgraph
模块中的lookupNode
,如下所示:
import rosgraph
master = rosgraph.Master("")
print master.lookupNode("node_name")
结果是这样的:
http://192.168.123.1:45678/
我正在尝试查找发布特定类型消息的机器。因此,我正在检查 rosnodes rosnode.rosnode_listnodes()
列表,并希望 获取相应机器的 IP 地址 运行 特定节点 .
有一个方法rosnode.lookup_uri(...)
,但我不知道如何使用它。我还查看了 rospy
、rosgraph
、names
和 network
模块 - 到目前为止没有成功。在其他信息中,rosnode.rosnode_info(node_name)
打印 URI。但它可能是一种相当昂贵的方法,不幸的是,它 returns None
.
作为huanxiner answered on ROS answers,您可以使用rosgraph
模块中的lookupNode
,如下所示:
import rosgraph
master = rosgraph.Master("")
print master.lookupNode("node_name")
结果是这样的:
http://192.168.123.1:45678/