Beispiel: Feedback-Empfänger
Diese Seite enthält eine Schritt-für-Schritt-Anleitung, um das Beispiel für den Streaming-Empfänger auszuführen. Das Beispiel wird:
- die gewünschten Frequenzen und den Endpunkt der Feedback-Nachrichten über eine RobFlow-API-Nachricht konfigurieren
- einen UDP-Empfänger am angegebenen Endpunkt einrichten
- auf Nachrichten warten und sie beim Empfang interpretieren und ausgeben
Das Beispiel finden Sie im GitLab von RobCo: Streaming Receiver Example.
1. Vorbereitung
Der erste Schritt ist die Verbindung zur Control Unit, wie im Abschnitt Erste Schritte beschrieben.
Öffnen Sie anschließend einen Browser und rufen RobFlow über die im vorherigen Schritt ermittelte IP-Adresse auf. Handelt es sich um die erste Verbindung zum Roboter, legen Sie bitte ein Passwort fest. Andernfalls melden Sie sich mit den bestehenden Zugangsdaten an.
Nach diesen beiden Schritten haben Sie festgelegt:
- username: der Benutzername für die Anmeldung an RobFlow
- password: das Passwort für die Anmeldung an RobFlow
- robot-ip-robflow: die IP, unter der der Roboter (genauer: RobFlow) erreichbar ist
2. Empfangenden Endpunkt festlegen
Im nächsten Schritt legen Sie fest, wohin der Controller die Feedback-Nachrichten senden soll. Je nach dem in 1. gewählten Verbindungsmodus hat Ihr Host für den jeweiligen Netzwerkadapter eine statische oder eine dynamische IP.
Der Port, an dem die Feedback-Nachrichten empfangen werden, ist frei wählbar. Am gewählten Port sollte kein anderer Datenverkehr zu erwarten sein.
Nach diesem Schritt haben Sie festgelegt:
- host-ip-feedback: die IP des Hosts, der die Feedback-Nachrichten empfangen soll
- host-port-feedback: der Port, an dem der Host die Feedback-Nachrichten empfangen soll
3. Nachrichtentypen und Feedback-Frequenz festlegen
Zuletzt ist festzulegen, welche Nachrichten mit welcher Frequenz gesendet werden sollen.
Grundsätzlich können Sie für jede Nachricht eine beliebige Frequenz wählen. Kann der Transceiver nicht mit der gewünschten Rate senden, reduziert er die konfigurierte Frequenz auf einen umsetzbaren Wert. Um Jitter zu reduzieren und die Robustheit zu verbessern, empfehlen wir, die Gesamtzahl der Feedback-Nachrichten auf 500 pro Sekunde zu begrenzen.
Informationen zu den verfügbaren Nachrichten finden Sie unter Feedback-Nachrichten.
Nach diesem Schritt haben Sie festgelegt:
- f-feedback-status: die Frequenz, mit der Streaming-Status-Feedback-Nachrichten gesendet werden
- f-feedback-cartesian: die Frequenz, mit der Feedback-Nachrichten zu kartesischer Pose und Geschwindigkeit gesendet werden
- f-feedback-joint: die Frequenz, mit der Feedback-Nachrichten zu Gelenkwinkeln und -geschwindigkeiten gesendet werden
- f-feedback-jacobian: die Frequenz, mit der Feedback-Nachrichten zur (geometrischen) Jacobi-Matrix gesendet werden
4. Das Beispiel ausführen
Nach Abschluss aller Schritte oben ist alles für die Ausführung des Beispiels vorbereitet.
Laden Sie das RobFlow SDK herunter und installieren es gemäß der Readme.
Nun kann das Beispiel ausgeführt werden (setzen Sie die in den Schritten oben ermittelten Argumente ein):
python3 -m streaming.examples.receiver \
--username my_user \
--password my_password \
--robot-ip-robflow 192.168.1.1 \
--robot-port-robflow 80 \
--host-ip-feedback 192.168.1.99 \
--host-port-feedback 28001 \
--f-feedback-status 10 \
--f-feedback-cartesian 10 \
--f-feedback-joint 10 \
--f-feedback-jacobian 10