2016-11-04 11 views
1

Я пытаюсь найти машины, которые публикуют определенный тип сообщений. Поэтому я просматриваю список rosnodes rosnode.rosnode_listnodes() и хотел бы, чтобы получил IP-адрес соответствующих машин, работающих на определенном узле.Как получить URI узла ROS в Python?

Существует способ rosnode.lookup_uri(...), но я понятия не имею, как его использовать. Я также изучил модули rospy, rosgraph, names и network - пока что безуспешно. Среди другой информации, rosnode.rosnode_info(node_name) печатает URI. Но это может быть довольно дорогостоящий метод и, к сожалению, он возвращает None.

ответ

1

Как ответил на ROS answershuanxiner, вы можете использовать lookupNode из rosgraph модуля следующим образом:

import rosgraph 
master = rosgraph.Master("") 
print master.lookupNode("node_name") 

В результате получается нечто вроде этого:

http://192.168.123.1:45678/