Rotatorische Achsen mit einem Wertebereich von mehr als 360°
Roboter haben oft rotatorische Achsen mit einem Wertebereich von mehr als 360°. Zum Beispiel kann die letzte Achse (Orientierungsachse A3) eines SCARA-Roboters oft mehr als eine Umdrehung fahren, etwa von -540° bis 540°.
Dies bedeutet, dass dieselbe Position und Orientierung auf mehrere Arten angefahren werden kann. Um beim SCARA zu bleiben, ist beispielsweise die Orientierung und Position des Werkzeuges identisch, egal ob die letzte Achse bei -170° oder bei 190° (= -170° + 360°) steht. Folglich ist die Umrechnung von kartesischer Position und Orientierung zu Achswerten (die kinematische Rückwärtstransformation) nicht eindeutig, sondern hat mehrere Lösungen.
Dies kann beispielsweise bei Pick & Place-Anwendungen genutzt werden, um Zeit zu sparen, indem man von 170° nach 190° und nicht nach -170° fährt.
Hinweis: Die Bewegung der Orientierungsachse des SCARA kann bei solchen Anwendungen schnell zum begrenzenden Faktor für die Taktzeit werden.
Wenn die zu verfahrenden Punkte im Achskoordinatensystem (ACS) kommandiert werden, dann ist für jede Achse klar, welchen Wert sie im Zielpunkt annehmen wird. Dagegen gibt es bei kartesischer Kommandierung (Position in X/Y/Z und Orientierung in A/B/C) die besagte Mehrdeutigkeit für rotatorische Achsen.
Zur Auflösung dieser Mehrdeutigkeit wird die sogenannte Konfiguration der Kinematik verwendet. Beim SCARA-Roboter enthält die Konfiguration bereits die Einstellung, ob der SCARA einen Punkt mit ElbowRight oder ElbowLeft anfahren soll. Zusätzlich enthält die Konfiguration des SCARA auch die Einstellung nPeriodA3, mit der festgelegt werden kann, wie die Mehrdeutigkeit für Achse A3 aufgelöst werden soll.
Dazu wird der gesamte Wertebereich in sogenannte Perioden der Länge höchstens 360° aufgeteilt:
Periode -1 von -540° bis -180°
Periode 1 von -180° bis 180°
Periode 2 von 180° bis 540°
(Bei einem größeren Wertebereich der Achse gibt es entsprechend weitere mögliche Perioden.)
Dazu gibt es noch einen speziellen Wert. Setzt man nPeriodA3 := 0, dann ist eine automatische Auflösung der Mehrdeutigkeit aktiviert. Für PTP-Bewegungen bedeutet dies, dass die Periode so gewählt wird, dass der Abstand der Achse A3 zur Startposition der Bewegung möglichst klein ist. (Das Verhalten bei CP-Bewegungen wird weiter unten beschrieben.)
Es ist also möglich, die Auflösung der Mehrdeutigkeit einer rotatorischen Achse zu steuern, indem man die kinematische Konfiguration entsprechend setzt. (Siehe SMC_SetKinConfiguration.)
Siehe auch
Während einer CP-Bewegung (MC_MoveLinearAbsolute/MC_MoveLinearRelative, MC_MoveCircularAbsolute/MC_MoveCircularRelative) werden rotatorische Achsen immer im Automatikmodus verfahren. Es wird immer die Periode der Achse gewählt, so dass es nicht zu einem Sprung der Achse kommt.
Dabei kann es unter Umständen vorkommen, dass am Ende der CP-Bewegung nicht der kommandierte Achswert erreicht würde, sondern die Achse wegen der automatischen Auswahl der Periode in einer anderen Periode ankommt. Dies bedeutet, dass die kommandierte Position mit der gewählten Bewegungsart nicht erreichbar ist. Dieser Konflikt wird vor Erreichen der Zielposition erkannt, die Achsgruppe wird gestoppt und ein Fehler wird ausgegeben.
Beispiel: Der Anwender verwendet einen SCARA-Roboter mit drei rotatorischen Achsen A1, A2 und A3. A3 hat einen Wertebereich von -360° bis +360°. Der Anwender teacht zwei Positionen in Achskoordinaten. Position1 = (A1 = 0°, A2 = 90°, A3 = 170°), Position2 = (A1 = 10°, A2 = 90°, A3 = -170°).
Dann kommandiert der Anwender eine Linearbewegung (MC_MoveLinear/MC_MoveAbsolute) mit Orientierungsmodus GreatCircle.
Diese Kombination von Kommandierung im ACS und Großkreis-Orientierungsinterpolation ist im Konflikt. Um der Orientierungsinterpolation zu folgen, müsste die Achse A3 von 170° in positiver Richtung nach 190° fahren. Sie kann daher die geforderte Zielposition (-170°) nicht erreichen.
Anmerkung: bei CP-Bewegungen wird die Periode der rotatorischen Achse durch die gewählte Interpolationsart bestimmt. Das bedeutet auch, dass die Zielposition der Achse von der Bahn abhängt, auf der der Zielpunkt angefahren wird. Es ist daher z.B. möglich, dass durch das Blending zwischen zwei Bewegungen eine Achse in einer anderen Periode ankommt als dies bei Buffered-Bewegungen der Fall gewesen wäre.
Siehe auch