Feedback-Nachrichten
Derzeit stehen drei Streaming-Feedback-Nachrichten zur Verfügung:
- Streaming-Status
- Kartesische Pose
- Gelenkpose
- Jacobi-Matrix
Weitere Informationen zum Einstieg in die Feedback-Nachrichten finden Sie unter Streaming-Feedback-Nachrichten empfangen. Zusätzlich steht ein Beispiel-Empfänger bereit.
hinweis
Gleitkommazahlen werden in der Netzwerk-Byte-Reihenfolge kodiert (also "Big Endian"). Beachten Sie die Python-Dokumentation für weitere Hinweise zum Entpacken.
Die Abbildung unten zeigt das Nachrichtenformat.
Header der Streaming-Feedback-Nachricht
Alle Streaming-Feedback-Nachrichten haben denselben Header. Dieser Header enthält:
- Streaming State (uint8): Rückmeldung über den aktuellen Zustand des Streaming-Modus
- inactive (0x00): Streaming nicht aktiv
- ready (0x10): Streaming aktiviert, folgt derzeit keiner gestreamten Trajektorie
- streaming (0x20): folgt der gestreamten Trajektorie
- Message ID (uint8): Kennzeichnet den Typ der Feedback-Nachricht, also Format und Inhalt des
Payloads
- status (0x00)
- cartesian pose (0x01)
- joint pose (0x02)
Payload der Streaming-Feedback-Nachricht
Neben dem Header hängt der Payload der Nachricht von ihrem Typ ab:
- Streaming Status (0x00) → Payload-Größe: 0 Byte
- Cartesian Pose (0x01) → Payload-Größe: 52 Byte
- Translation (3 x float): x-, y- und z-Koordinate des TCP relativ zur Basis in [m]
- Orientierung (4 x float): W-, X-, Y- und Z-Komponente des Quaternions des TCP relativ zur Basis in [-]
- Lineargeschwindigkeit (3 x float): v_x, v_y und v_z im Basiskoordinatensystem des Roboters in [m/s]
- Winkelgeschwindigkeit (3 x float): omega_x, omega_y und omega_z des TCP im Basiskoordinatensystem des Roboters in [rad/s]
- Joint Pose (0x02) → Payload-Größe: 2 x n x 4 Byte
- Gelenkwinkel (n x float): Gelenkwinkel für jedes Gelenk in [rad]
- Gelenkgeschwindigkeiten (n x float): Gelenkgeschwindigkeit für jedes Gelenk in [rad/s]
- Jacobian (0x03) → Payload-Größe: n x 6 x 4 Byte
- geometrische Jacobi-Matrix: Matrixeintrag in [-] (zeilenweise indiziert, die ersten n Einträge bilden also die erste Zeile usw.)