Thesis - RWTH Aachen University
Thesis - RWTH Aachen University
Thesis - RWTH Aachen University
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
194 C.1 Theoretische Grundlagen der Manipulatorkinematik<br />
Pfadkorrektur<br />
Die Pfadkorrektur bezieht sich auf die Anpassung der Stützstellen des Pfades, so dass die Roboterbewegung<br />
während der Berechnung eines Verhaltens kompensiert wird. Dabei nimmt der neue<br />
Anfangspunkt des Pfades die aktuelle Position des Roboters an und die beiden letzten Stützstellen<br />
bleiben erhalten, um das ursprüngliche Ziel und die Bewegungsrichtung an der Zielposition nicht<br />
zu verfälschen. Alle anderen Stützstellen müssen so geändert werden, dass sich der neue Pfad dem<br />
ursprünglichen Pfad anpasst, je mehr er sich dem Ziel nähert.<br />
Sei Psol = { � P1,sol, . . . , � Pk,sol} der gegebene Pfad, � P1,tat die aktuelle Anfangsposition des Manipulators<br />
und k die Anzahl der Stützstellen des Pfades. Zur Korrektur des Pfades wird der Fehler in der<br />
Anfangsposition mit der Anzahl der noch bevorstehenden Stützstellen k − l − 2 im Verhältnis zu<br />
k − 2, also zu der Anzahl der Stützstellen bis der vorletzten Stützstelle, gewichtet und zur anzupassende<br />
Stützstelle hinzuaddiert. Demnach wird die angepasste Stütztelle � Pl,kor wie folgt bestimmt:<br />
�Pl,kor = � Pl,sol + ( � P1,tat − � k − l − 2<br />
P1,sol)<br />
k − 2<br />
(C.37)<br />
Dadurch wird die Abweichung vom gewünschten Pfad geringer, je mehr Stützstellen der Manipulator<br />
durchläuft. Gleichung C.37 ergibt einen glatten Pfad, der die ursprüngliche Form der Bewegung<br />
erhält.<br />
Trajektorieregler<br />
Aus dem Ausgabepfad eines Verhaltens muss eine entsprechende Trajektorie bestimmt werden, die<br />
mit einem Trajektorieregler abgefahren wird. Da der Manipulator mit Gelenkgeschwindigkeiten angesteuert<br />
wird, müssen zuerst die Stützstellen, falls sie im kartesischen Raum definiert sind, anhand<br />
der inversen Kinematik in Gelenkstellungen umgewandelt werden (siehe Abschnitt C.1.2) 6 . Danach<br />
wird für jedes Gelenk eine kontinuierliche Funktion der Winkelstellung in Abhängigkeit von der<br />
Zeit definiert, die das Gelenk von der aktuellen Stellung in die Winkelstellung der nächsten Stützstelle<br />
überführt. Dabei müssen alle Gelenke die Winkelstellungen der Stützstellen zu derselben Zeit<br />
erreichen, um die angegebene Position im Raum anzunehmen. Der gesamte Programmablauf des<br />
Trajektoriereglers ist in Abbildung C.9 dargestellt.<br />
Als Funktionen für die Winkelstellungen werden in dieser Arbeit kubische Polynome verwendet<br />
(Gleichung C.38), da sie stetig differenzierbar sind und eine kontinuierliche erste und zweite Ableitungen<br />
haben. Dies erzeugt eine glatte Bewegung der Gelenke und hält dadurch die mechanische<br />
Anspannung der Gelenkmotoren gering [Cra89]. Sei θi(t) der Winkelwert von Gelenk i zu Zeitpunkt<br />
t, dann ist die Funktion für die Winkelstellungen:<br />
θi(t) = a0i + a1it + a2it 2 + a3it 3<br />
Aus der Gleichung C.38 ergibt sich ein parabolisches Geschwindigkeitsprofil:<br />
und ein lineare Beschleunigung:<br />
˙θi(t) = a1i + 2a2it + 3a3it 2<br />
(C.38)<br />
(C.39)<br />
¨θi(t) = 2a2i + 6a3it (C.40)<br />
6 Die Ausführung der Trajektorie wird im Gelenkraum geregelt, um somit Singularitäten der Roboter Jacobi Matrix<br />
(Gleichung C.32, die bei einer Regelung im kartesischen Raum vorkommen können, zu umgehen.