2016-11-04 6 views
1

Ich versuche, Maschinen zu finden, die eine bestimmte Art von Nachricht veröffentlichen. Daher prüfe ich die Liste der Rosnoden rosnode.rosnode_listnodes() und möchte erhalten die IP-Adresse der entsprechenden Maschinen, die einen bestimmten Knoten laufen.Wie erhält man den URI eines ROS-Knotens in Python?

Es gibt eine Methode rosnode.lookup_uri(...), aber ich habe keine Ahnung, wie man es benutzt. Ich schaute auch in die rospy, rosgraph, names und network Module - bisher ohne Erfolg. Unter anderen Informationen druckt rosnode.rosnode_info(node_name) den URI. Aber es könnte eine ziemlich teure Methode sein, und leider gibt es None zurück.

Antwort

1

Wie huanxiner auf ROS answers beantwortet, können Sie lookupNode vom rosgraph Modul wie folgt verwenden:

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

Das Ergebnis etwa wie folgt lautet:

http://192.168.123.1:45678/ 
Verwandte Themen