Orientierungsinterpolation bei CP-Bewegungen

 

Bei CP-Bewegungen wie MC_MoveLinearAbsolute, MC_MoveLinearRelative, MC_MoveCircularAbsolute oder MC_MoveCircularRelative kann über die Zielposition der Bewe­gung eine beliebige Zielorientierung des Werkzeugs angegeben werden. Dies hat zur Folge, dass die Orientierung des Werkzeugs während der Bahnbewegung in die Zielorientierung überführt wird, wobei die Werkzeugspitze auf der Bahn verfährt. Es spielt übrigens für die Orientierungsinterpolation keine Rolle, in welchem Koordinaten­system die Zielorientierung angegeben wurde, also beispielsweise in Achskoordinaten (ACS) oder Maschinenkoordinaten (MCS).

Die nachfolgende Abbildung zeigt eine lineare Interpolation mit gleich­zeitiger Orientierungsinterpolation. Die roten Pfeile zeigen die Richtung des Werkzeugs am Start- und Endpunkt. Die gestrichelten roten Pfeile zeigen, wie das Werkzeug an einigen Stellen während der Interpolation steht.

_sm_img_orientation_interpolation.png

Die oben erwähnten Fuktionsbausteine für Bahnbewegungen besitzen den Eingang OrientationMode. Dieser Eingang definiert, auf welche Art die Startorientierung in die Zielorientierung überführt wird.

Beispiel 1: Großkreisinterpolation

Wir betrachten ein Portal mit einer C-Achse, mit Wertebereich von -360° bis 360°. Die Startorientierung ist bei C=179°, die Zielorientierung bei C=-175°. Die Großkreisinterpolation bewegt die C-Achse der ZYZ-Eule­rwinkel (A,B,C) proportional zum zurückgelegten Weg auf der Bahn von 179° in positiver Richtung über 180° bis 185°, was -175° entspricht. Dabei legt sie also einen Gesamtwinkel von 6° zurück.

Beispiel 2: Achsorientierungsinterpolation

Wir betrachten wieder das Portal mit einer C-Achse, dieses Mal mit Wertebereich von -180° bis 180°. Die Startorientierung ist bei C=179°, die Zielorientierung bei C=-175°. Die Achsinterpolation bewegt die C-Achse des Portals proportional zum zurückgelegten Weg auf der Bahn von 179° in negativer Richtung über 0° bis -175°, legt also einen Gesamtwinkel von 354° zurück. (Hätte man in diesem Beispiel die Großkreisinterpolation verwendet, dann wäre es zum Fehler gekommen, da der Arbeitsraum der C-Achse überschritten worden wäre.)

Die beiden Arten der Interpolation unterscheiden sich in einigen wich­tigen Eigenschaften

Siehe auch

Singularitäten bei Achsorientierungsinterpolation

Mit der Achsorientierungsinterpolation kann eine Bahnbewegung durch die Singularitäten der Werkzeugkinematik erfolgen, was die Program­mierung deutlich einfacher machen kann. Dafür ändern sich aber die Singularitäten der Positionierkinematik

Bei der Großkreisinterpolation hat der Scara3_Z eine Singularität, wenn der Flansch-Punkt (A3) auf der durch den ersten Armteil definierten Geraden liegt, also wenn der zweite Gelenkwinkel 0° beträgt.

Bei der Achsorientierungsinterpolation ändern sich die Singularitäten der Positionierkinematik so, dass der TCP die Rolle einnimmt, die sonst der Flanschpunkt (A3) hat. Sie tritt jetzt auf, wenn der TCP (nicht der Flansch-Punkt) auf der durch den ersten Armteil definierten Geraden liegt. Bei der Kommandierung einer Bewegung mit Achsorientierungsin­terpolation wird geprüft, ob zwischen der Start- und der Zielposition der Bewegung diese geänderte Singularität liegt. Falls ja, wird die Bewe­gung nicht akzeptiert und ein Fehler wird zurückgegeben.

_sm_img_singularity_3axis.png

Beim 6-Achs-Knickarmroboter ist die Situation vergleichbar mit dem Scara3_Z, es sind jedoch zwei Singularitäten möglich: Die erste tritt auf, wenn der TCP auf der Geraden durch A2 und A3 liegt, die zweite wenn der TCP auf der Geraden durch A1 liegt. Auch hier wird bei Kommand­ierung geprüft, dass keine Singularität durchfahren wird.

_sm_img_singularity_6axis.png

Info

Es kann vorkommen, dass sich die Konfiguration des Scara3 (oder des 6-Achs-Knickarmroboters) während einer Fahrt mit Achsorientierungsinterpolation ändert. Am Ende der Bewegung wird aber immer dieselbe Konfiguration ange­nommen, die der Roboter am Startpunkt der Bewegung hatte.