Zum Hauptinhalt springen

Trajektorien-Streaming

Diese Anleitung behandelt die Schritte, die erforderlich sind, um eine Trajektorie aus Posen (im Gelenk- oder kartesischen Raum) an den Roboter zu streamen. Details zu den einzelnen Modi finden Sie außerdem unter Streaming-API.

Roboterzustand als Anfangsbedingung erfassen

Bevor Sie mit dem Streaming beginnen, müssen Sie die aktuelle Pose des Roboters ermitteln, um sie als Anfangsbedingung für die zu streamende Trajektorie zu setzen. Eine ausführliche Anleitung finden Sie im Abschnitt Streaming-Feedback-Nachrichten empfangen.

Einen Algorithmus zur Trajektorienerzeugung implementieren

Diese Software ist das Kernstück jeder Streaming-Anwendung. Zu implementieren ist ein Programm, das eine anzufahrende Zielposition empfängt oder festlegt und eine Trajektorie berechnet, also eine zeitgestempelte Folge von Posen, um diese Position zu erreichen.

Im Bereich der Beispiele finden Sie:

Die folgenden Unterabschnitte geben allgemeine Hinweise zu den verschiedenen Streaming-Modi.

Trajektorienerzeugung für das Streaming: Gelenkraum

Für die Modi Joint Position und Joint Position and Velocity erwarten wir, dass die zugrunde liegenden Trajektorien zulässig sind, also die Grenzen für Ruck, Beschleunigung, Geschwindigkeit und Position an keinem Gelenk überschritten werden. Die jeweiligen Grenzwerte finden Sie in der Dokumentation der Modi Position und Position/Geschwindigkeit.

Auf Basis dieser Grenzwerte muss eine Trajektorie berechnet werden, die einen sanften Übergang vom aktuellen Gelenkzustand (Position, Geschwindigkeit, Beschleunigung) in den gewünschten Zustand realisiert.

In den Beispielen stellen wir einen Wrapper um die Ruckig-Bibliothek bereit, die sanfte Gelenktrajektorien berechnet.

Trajektorienerzeugung für das Streaming: Kartesischer Raum

In den kartesischen Streaming-Modi Cartesian Pose (absolute) und Cartesian Pose (relative) gibt es keine direkten Grenzen für Geschwindigkeit und Beschleunigung — der Controller versucht, den gestreamten Positionen so schnell wie möglich zu folgen.

Aus Sicherheitsgründen wird der Streaming-Modus jedoch verlassen und der Roboter gestoppt, wenn der Positions- oder Orientierungsfehler die Sicherheitsmarge überschreitet (siehe Dokumentation der Modi absolut / relativ). Ein eigener Generator für kartesische Trajektorien sollte daher die aktuelle Pose mitverfolgen und sicherstellen, dass der Roboter der gewünschten Trajektorie folgen kann und innerhalb der Fehlergrenzen bleibt.