AMR / Robotik
Übungsaufgaben zum Vertiefen des Vorlesungsinhalts
Koordinatentransformationen
- Definieren Sie sich unter Matlab/Octave zunächst einige Ortsvektoren (Spaltenvektoren) für Punkte im 3D-Raum. Stellen Sie diese Punkte im 3D-Plot dar. Ordnen Sie die Punkte sinnvollerweise so an, dass diese eine charakteristische Struktur bilden.
- Erzeugen Sie Variablen für 3 Rotationswinkel und 3 lineare Verschiebungen. Erzeugen Sie mit Hilfe der Variablen 3 homogene Matritzen für jeweils eine Rotation um X-, Y- und Z-Achse und eine homogene Matrix für eine lineare Verschiebung.
- Wenden Sie nun jede der Transformationen einzeln auf die Punktwolke an. Beobachten Sie, was passiert, wenn Sie die Werte der Variablen variieren. Stellen Sie die Punkte jeweils vor und nach der Transformation dar.
- Erzeugen Sie mit den Rotationsmatritzen komplexe Transformationen, indem Sie diese multiplizieren. Untersuchen Sie verschiedene Reihenfolgen und setzen Sie diese mit den Konzepten Roll-Pitch-Yaw und Euler-Winkel in Beziehung.
- Erweitern Sie Ihre Transformation um eine lineare Verschiebung. Probieren Sie verschiedene Parameter aus.
Hinweise: Sie können die Punkte auch durch Linien verbnden lassen, so dass eine Koordinatenecke, ein Würfel oder ein Pfeil entsteht. Die Spaltenvektoren für die Punkte lassen sich als Matrix anordnen, so dass Siedie Transformation auf die gesamte Matrix (Punktwolke) anwenden können. Auch für die Parameter lassen sich Vektoren erzeugen, deren Elemente per laufindex verwendet werden. Auf diesen Weg können Sie Bewegungsfolgen erzeugen. Wenn Sie die einzelnen Darstellungen als Einzelbilder speichern, können Sie daraus eine Animation als Video erzeugen.
Denavit-Hartenberg-Parameter
- Definieren Sie sich eine Struktur für einen Roboter aus Denavit-Hartenberg-Parametern (z.B. Katana-Arm, humanoider Roboter).
- Erzeugen Sie Transformationsmatritzen für jedes der Segmente (Hinweis: Matrixmultiplikation).
- Gehen Sie von Koordinaten im Ursprung Ihres Roboterkoordinatensystems aus und erzeugen Sie durch Anwendung der Transformationsmatritzen die Koordinaten für die nachfolgenden Segmente, bis Sie am Ende der kinematischen Kette angelangt sind. Stellen Sie die Kinematische Kette(n) im 3D-Plot mit Hilfe von Linien dar.
- Variieren Sie die freien Parameter Ihrer kinematischen Kette(n), erzeugen Sie auch hier ggf. wieder Animationen.
Direkte und Inverse Kinematik
- Erzeugen Sie sich eine kinematische Kette (DH-Parameter!) basierend auf dem Beispiel aus der Vorlesung für ein Roboterbein und Stellen Sie es als Linienzug dar.
- Wenden Sie nun das Beispiel zur Direkten Kinematik an. Verändern Sie die Parameter für die Gelenke. Lassen Sie wieder den Linienzug im 3D-Plot und die durch die Direkte Kinematik ermittelten Koordinaten als Punkt einzeichnen.
- Definieren Sie eine Trajektorie im kartesischen Raum. Stellen Sie diese zur Kontrolle im 3D-Plot dar. Wenden Sie nun die Inverse Kinematik an. Stellen Sie die Positionen des Roboterbeins basierend auf den ermittelten Gelenkwinkeln als Linienzug dar. Erzeugen Sie sich ggf. wieder eine Animation zum Abfahren der Trajektorie.
- Experimentieren Sie mit verschiedenen Trajektorien. Verlassen Sie dabei auch bewusst den Arbeitsraum. Beobachten Sie, was bei extremen Gelenkwinkeln bzw. in der Nähe von Singularitäten passiert.
OpenRAVE und das virtuelle Szenarium
- Machen Sie sich mit dem Planungs- und Visualisierungstool OpenRAVE vertraut
- Testen Sie verschiedene mitgelieferte Beispiele. Das Beispiel Türme von Hanoi können Sie mit
openrave.py --example hanoi
in einer Kommandozeile starten.
- Analysieren Sie die Beispiele und versuchen Sie, diese zu modifizieren. Verändern Sie beispielsweise die Position von Objekten. Testen Sie Beispiele aus dem Tutorial zu OpenRAVE.
- Testen Sie das Beispiel zur Constraintplanung mit dem Katana-Arm.
- Aktualisieren Sie die Konfiguration des Roboters, indem Sie Kameras ergänzen. Bestimmen Sie die notwendigen Koordinatentransformationen, um die 3D-Koordinaten von der 3D-Bildverarbeitung in 3D-Koordinaten im Roboterkoordinatensystem zu überführen.
- Bilden Sie den kleinen Tisch aus dem Versuchszenarium nach.
- Bauen Sie das Szenarium mit den Spielkarten.
- Lassen Sie Pick- und Place-Operationen mit angegebenen Spielkarten-Koordinaten planen und ausführen.
ROS und das reale Szenarium
- Machen Sie sich mit dem Robot Operating System vertraut.
- Analysieren Se das Beispiel zur Planung und Ausführung von Bewegungen mit dem Katana-Arm
- Machen Sie sich mit der aktuellen Realisierung im Projektlabor vertraut.
- Passen Sie Ihre Lösung mit OpenRAVE auf die Software im Projektlabor an
- Demonstrieren Sie fiktive Pick- und Place-Operationen mittels Visualisierung unter OpenRAVE
- Demonstrieren Sie fiktive Pick- und Place-Operationen am realen Roboter
- Demonstrieren Sie reale Pick- und Place-Operationen im Szenarium
Integration in das Gesamtszenarium
- Machen Sie sich mit einer geeigneten Lösung zur Bildverarbeitung aus dem Projektlabor vertraut (sofern Sie nicht an einer eigenen Lösung gearbeitet haben)
- Definieren Sie geeignete Schnittstellen (Koordinaten Kamerakopf bzw. Roboterkoordinaten)
- Definieren Sie geeignete Objekt-Koordinatensysteme zur einheitlichen Beschreibung der Koordinaten aus Bildverarbeitung und für Greifoperationen
- Lassen Sie Pick- und Place-Operationen basierend auf Basis des vereinbarten Spielszenariums ausführen
Datenschutzerklärung