Es gibt verschiedene Lösungsansätze der Vorwärts- und Rückwärtskinematik an einem Knickarmroboter. In diesem Fall konnten die Gleichungen symbolisch gelöst werden, was auf die mechanische Konstruktion des Roboters zurückzuführen ist. Bei der Vorwärtskinematik, welche meist einfacher zu rechnen ist, wurde das Prinzip von Denavit-Hartenberg angewandt.
Hierzu wird im Ursprung (der Robotersockel) begonnen und schrittweise bis zum Ziel gerechnet. Bei den Transformationsmatrizen wurden homogene 4x4 Matrizen verwendet, welche zugleich die Translation sowie auch die Rotation um jede Achse im Raum abbilden. Um nun vom Sockel bis zur Spitze des Endeffektors (Tool Center Point) zu gelangen, werden jeweils die Ursprungskoordinaten mit der Transformationsmatrix auf die nächste Achse multipliziert. Dieser Prozess wird iteriert womit die Transformationsmatrix vom Ursprung auf den TCP entsteht.
Die Rotations- und Translations-Matrizen sind dabei:
(s und c entsprechen sin() bzw. cos(
))
Die Berechnung startet nun am Sockel im Koordinatenursprung.
In 1 wird nun vom Sockel zur Achse 2 gerechnet: Erst wird um die Z-Koordinate, welche die vertikale Roboterlage beschreibt, gedreht, danach um die erste Länge , die Turm-Höhe, verschoben. Dann wird von Achse 2 zu 3 gerechnet und iteriert. Die Parameter
beschreiben die fünf Achsenwinkel des Roboters,
sind die jeweiligen Achsenabstände.
Die resultierende 4x4-Matrix beschreibt sämtliche Translationen und Rotationen vom Ursprung bis zum Endeffektor. Unter Einrechnen der Achsenwinkel und konstanten Achsenabstände des Roboters können die Zielkoordinaten in der letzten Spalte der Matrix als x, y und z einfach abgelesen werden. Somit ist die Transformation von den Gelenkwinkeln auf den Roboter-TCP bekannt. Ebenso enthält die Transformationsmatrix die beiden Endeffektor-Lagewinkel, die mit inverser Kinematik extrahierbar sind.
Diese Rückwärtskinematik gestaltet sich etwas aufwändiger. Dabei wird eine im Raum durch x, y, z und zwei Eulerwinkel angegebene Zielpose auf die einzelnen Robotor-Achsenwinkel zurückgerechnet. Dazu existieren verschiedene numerische wie symbolische Verfahren. Bei der gewählten geometrischen Roboterkonfiguration, in der sich die letzten drei Achsen in einem Punkt schneiden, ist eine symbolische Lösung vorhanden. Hier gibt es für jede Pose 8 Lösungen, wobei die meisten entweder mechanisch oder energetisch keinen Sinn ergeben. Als Beispiel könnte man zu jedem Zielpunkt bei der Achse 1 in beide Richtungen fahren. Steht die Achse 1 auf 0° und die Zielposition der Achse 1 entspräche 20°, so gibt es die zwei Lösungen +20° oder -340°. Die implementierte Kinematik-Berechnung berücksichtigt nicht alle diese Lösungen, welche bei industriellen Knickarm-Robotern als Konfiguration mitgegeben werden könnten.
Bei der Berechnung wird mit den translatorischen Zielkoordinaten begonnen:
Nach Multiplikation der Endlage in den TCP
folgt , was bereits die Transformation vom Ursprung bis zur letzten Achse bedeutet. In der inversen Kinematik ist das Roboterziel bekannt.
Zur Extraktion der Achsenwinkel wird zunächst von der vorgegebenen TCP-Lage mit Denavit-Hartenberg zurück zum Handgelenk gerechnet:
In der letzten Spalte Matrix stehen jetzt die Koordinaten der Handgelenkposition q1, q2, q3 des Roboters. Es gilt die Roboterlagewinkel
zu finden, welche diese Position erreichen können.
Dieses Problem ist weniger komplex und geometrisch lösbar.
wobei
Mit den ersten drei bekannten Roboterwinkeln wird vom Sockel wieder bis zum Handgelenk hochgerechnet, sodass bekannt wird. Die letzten zwei Roboterwinkel liefert folgender Trick: Da
, muss
sein. Die berechnete Transformations-Matrix
enthält die letzten drei Gelenkwinkel, die nur noch von der T-Form auf Euler-Form gebracht werden müssen. Die Roboterwinkel
und
sind nicht dieselben wie
und
.
Letztere werden im globalen Koordinatensystem angegeben, die Roboterwinkel und
beziehen sich auf die Roboterposition.
wobei das erste Element (0) in der Reihe 1 bedeutet.