Kanalparameter

P-CHAN-00112

Modus der Orientierungswinkelprogrammierung bei kinematischen Transformationen

Beschreibung

Bei einer vollständigen Transformation kann die Orientierung entweder über einen Orientierungsvektor mit den drei Komponenten U, V, W oder über drei Drehwinkel A, B, C um die Koordinatensystemachsen angegeben werden. Dies ist abhängig vom Transformationstyp.

Wegen des zusätzlichen Freiheitsgrades in der Handorientierung ist die Programmierung der Drehwinkel A, B, C häufig die Eigenschaft von Roboterstrukturen.

Die Reihenfolge der drei Drehungen um die zugeordneten Rotationsachsen X, Y, Z führt zur gewünschten Zielorientierung bzw. zum Zieleffektorkoordinatensystem. Die Einzeldrehungen werden dabei, sofern nicht anders vermerkt, jeweils mathematisch positiv um die sich neu einstellenden Koordinatensystemachsen durchgeführt.

Ausgangspunkt ist eine Achssequenz mit den kartesischen Achsen X, Y, Z und den Drehachsen A, B, C. Die Standardzuordnung der Drehungen um die Koordinatensystemachsen ist A -> X, B -> Y, C -> Z. Diese kann bei speziellen Winkelmodi davon abweichen.

Manche Kinematiken verwenden spezielle Drehsequenzen, die hier nicht aufgeführt sind. Eine Umschaltung über P-CHAN-00112 ist in diesem Fall nicht möglich. Bei Standard-Fünfachskinematiken ist P-CHAN-00112 ohne Bedeutung.

Für die Universelle Kinematik (KIN-ID91) können in P-CHAN-00112 spezielle Werte eingetragen werden.

Parameter

ori_rotation_angle

Datentyp

SGN16

Datenbereich

-1: Die programmierten Orientierungsachsen werden ohne Änderungen an die kinematische Transformation weitergereicht. Eine evtl. aktive kartesische Transformation mit einer aktiven Drehung hat keinen Einfluss auf diese Orientierungsachsen

Vollständige kinematische Transformationen
3 Freiheitsgrade in der Orientierung

0: YPR (Yaw Pitch Roll) Rotationsreihenfolge, 1. Drehung um Z (C), 2. Drehung negativ um Y´ (B), 3. Drehung um X´´ (A) (Standard)

1: Euler, Rotationsreihenfolge: 1. Drehung um Z (C), 2. Drehung um Y´(B), 3. Drehung um Z´´ (C)

2: CBA, ähnlich YPR mit positiver B Drehung und anderer Achszuordnung. Drehung um Z (A), 2. Drehung um Y´ (B), 3. Drehung um X´´ (C).

-> A15 B-90 C20 (CBA) ist identisch zu A20 B90 C15 (YPR).

3: CAB Rotationsreihenfolge, 1. Drehung um Z (C), 2. Drehung um X´ (A), 3. Drehung um Y´´ (B). (ab V3.1.3079.35)

4: CBA_STD, entspricht CBA mit anderer Achszuordnung. Rotationsreihenfolge: 1. Drehung um Z(C), 2. Drehung um Y‘(B), 3. Drehung um X‘‘(A)
-> A15 B90 C20 (CBA_STD) ist identisch zu A20 B90 C15 (CBA) und A15 B-90 C20 (YPR). (ab V3.1.3079.9)

5: ABC Rotationsreihenfolge, 1. Drehung um X (A), 2. Drehung um Y´ (B), 3. Drehung um Z´´ (C). (ab V3.1.3079.35)

2 Freiheitsgrade in der Orientierung (vgl. KIN-ID 91)

14: AB, Rotationsreihenfolge: 1. Drehung um X(A), 2. Drehung um Y‘(B) (ab V3.1.3079.30)

15: BA, Rotationsreihenfolge: 1. Drehung um Y(B), 2. Drehung um X‘(A) (ab V3.1.3079.30)

 

Universelle kinematische Transformationen (KIN-ID 91):

10: Punkt-Vektor-Programmierung. Die Orientierung des Werkzeuges wird über die Achsen U, V, W programmiert. Der Vektor [U, V, W] muss nicht normiert sein, darf aber nicht der Null-Vektor sein.

11: Freie Programmierung. Momentan nicht unterstützt.

12: Direkte Programmierung. Die konfigurierte kinematische Kette wird benutzt, um aus programmierten kartesischen Koordinaten und Winkeln die Position und Orientierung des Werkzeuges zu berechnen.

13: Konforme Programmierung. Wie Direkte Programmierung, aber ohne Achsversätze, Verschiebungen und Richtungsflags. Ermöglicht z.B. die Programmierung von 45°-Achsstellungen.

14: AB-Programmierung mit Werkzeug in X-Richtung

15: BA-Programmierung mit Werkzeug in Y-Richtung

16: AC-Programmierung mit Werkzeug in X-Richtung

17: CA-Programmierung mit Werkzeug in Z-Richtung

18: BC-Programmierung mit Werkzeug in Y-Richtung

19: CB-Programmierung mit Werkzeug in Z-Richtung

20: AB-Programmierung mit Werkzeug in Z-Richtung

21: BA-Programmierung mit Werkzeug in Z-Richtung

Dimension

----

Standardwert

0

Anmerkungen

 

P-CHAN-00262

Definition der Kinematik-ID für Transformationen

Beschreibung

Die Kinematik-ID identifiziert als Element des Datensatzes der Kinematikparameter die zugehörige Transformation.

Die Definition kann sowohl für ein- als auch für mehrstufige Transformationen sowie für PCS-Transformationen erfolgen.

Parameter

trafo[j].id

kin_step[i].trafo[j].id (mehrstufige Transformationen)

trafo_pcs[i].id (PCS-Transformation *)

Datentyp

UNS16

Datenbereich

1 ... MAX(UNS16)

Dimension

----

Standardwert

0

Anmerkungen

Parametersyntax ab V300

*Funktionalität PCS-Transformation ist verfügbar ab V3.1.3110.

P-CHAN-00285

Null-Orientierung des Werkzeuges (Universelle Kinematik)

Beschreibung

Parameter dient zur Angabe der Orientierung des Werkzeuges in der Nullstellung (Vektor X, Y, Z, Werkzeugrichtung).

Parameter

trafo[j].zero_orientation[k] mit k = 0, 1, 2

kin_step[i].trafo[j].zero_orientation[k] (mehrstufige Transformationen)

kinematik[91].zero_orientation[k] (bis Version V2.11.28xx)

Datentyp

REAL64

Datenbereich

----

Dimension

----

Standardwert

0

Anmerkungen

 

P-CHAN-00446

Definition der kartesischen Basisversätze für gestapelte Kinematiken.

Beschreibung

Die Basisversätze sind für gestapelte Kinematiken aktiv und beschreiben die kartesischen Versätze zwischen dem MCS einer Kinematik und dem TCP der im Stapel darunterliegenden Kinematik.

Ein Roboter sitzt auf dem Schlitten einer Linearachse. Durch den Schlitten ergibt sich ein Versatz in z-Richtung zwischen Linearachse und Roboterfuß von 10cm. Dieser Versatz für den Roboter ist hier einzutragen:

trafo[0].id 45
trafo[0].base[2] -1000000

Parameter

trafo[j].base[k] mit k=0 … 5

kin_step[i].trafo[j].base[k] (mehrstufige Transformationen)

Datentyp

REAL64

Datenbereich

MIN(REAL64) … MAX(REAL64)

Dimension

0.1µm für Linearversätze, 0.0001° für Winkel

Standardwert

0.0

Anmerkungen

Die Basisversätze werden nur bei aktiver Koppelkinematik berücksichtigt.

P-CHAN-00447

Definition einer Gruppen-ID einer Koppelkinematik

Beschreibung

Eine Gruppe einer Koppelkinematik vereint eine Anzahl an gestapelten Teilkinematiken und ist durch die ID eindeutig identifizierbar.

Parameter

trafo[j].group[k].id

kin_step[i].trafo[j].group[k].id (mehrstufige Transformationen)

Datentyp

UNS16

Datenbereich

0 … MAX(UNS16)

Dimension

----

Standardwert

0

Anmerkungen

Ab V3.1.3080.09

Eine Gruppen-ID darf innerhalb einer Koppelkinematik nicht mehrfach vergeben werden.

P-CHAN-00448

Definition eines Werkstück-CS für eine Gruppe einer Koppelkinematik.

Beschreibung

Falls ein Werkstück-CS angegeben wird (Gruppen-ID einer anderen Gruppe der Koppelkinematik), werden alle TCP Koordinaten dieser Gruppe im TCP-System der als Werkstück-CS angegebenen Gruppe interpretiert.

Diese Gruppe folgt also den Bewegungen der Werkstück-CS Gruppe.

Parameter

trafo[j].group[k].workpiece_cs

kin_step[i].trafo[j].group[k].workpiece_cs (mehrstufige Transformationen)

Datentyp

UNS16

Datenbereich

0 … MAX(UNS16)

Dimension

----

Standardwert

0

Anmerkungen

Konfigurationsbeispiel:

trafo[0].id              210
trafo[0].group[0].id     100
trafo[0].group[1].id     200
trafo[0].group[1].workpiece_cs  100

Nach Anwahl der Kinematik (ID 210) folgt die Gruppe 200 den Bewegungen der Gruppe 100, da diese als Werkstückkoordinatensystem von 200 konfiguriert ist.

Ab V3.1.3080.09

P-CHAN-00449

Definition der kinematischen Kette für eine Gruppe einer Koppelkinematik

Beschreibung

Beschreibung der Reihenfolge, in der die Teilkinematiken einer Koppelkinematikgruppe aufeinander gestapelt sind. Index l = 0 zeigt auf die unterste Kinematik.

Parameter

trafo[j].group[k].chain[l]

kin_step[i].trafo[j].group[k].chain[l] (mehrstufige Transformationen)

Datentyp

UNS16

Datenbereich

0 … MAX(UNS16)

Dimension

----

Standardwert

0

Anmerkungen

Jede hier verwendete Kinematik muss als eigenständige Kinematik mit entsprechender ID konfiguriert sein.

Konfigurationsbeispiel: Roboter auf einer Linearachse

trafo[0].id 1

trafo[0].type 210

trafo[0].group[0].id 100

trafo[0].group[0].chain[0] 3

trafo[0].group[0].chain[1] 2

trafo[1].id 2

trafo[1].type 45

trafo[2].id 3

trafo[2].type 91

 

Ab V3.1.3080.09

P-CHAN-00450

Priorität, nach der die Koppelkinematik die TCP Bewegung auf die Teilkinematiken aufteilt.

Beschreibung

Der Algorithmus, der die programmierten TCP Koordinaten auf die Teilkinematiken aufteilt, geht nach der hier definierten Priorität vor: Beginnend beim Index m = 0 soll der größtmögliche Teil der Bewegung von dieser Kinematik gefahren werden. Die resultierende Differenz zum programmierten TCP wird an die nächste Kinematik in der Liste weitergegeben. Dieser Schritt wird solange wiederholt, bis die TCP Koordinaten erreicht sind, oder der letzte Eintrag der hier definierten Reihenfolge erreicht ist.

Parameter

trafo[j].group[k].move_prio[m] mit m = 0 … Länge der kinematischen Kette

kin_step[i].trafo[j].group[k].move_prio[m] (mehrstufige Transformationen)

Datentyp

UNS16

Datenbereich

0 ... MAX(UNS16)

Dimension

----

Standardwert

0

Anmerkungen

Jeder hier verwendete Name muss in der kinematischen Kette vorhanden sein.

Konfigurationsbeispiel: Roboter auf einer Linearachse

trafo[0].id 1

trafo[0].type 210

trafo[0].group[0].id 100

trafo[0].group[0].chain[0] 3

trafo[0].group[0].chain[1] 2

trafo[0].group[0].move_prio[0] 2

trafo[0].group[0].move_prio[1] 3

trafo[1].id 2

trafo[1].type 45

trafo[2].id 3

trafo[2].type 91

In diesem Beispiel wird zunächst die gesamte TCP Bewegung an den Roboter übergeben. Was dieser nicht ausfahren kann, wird dann von der Linearachse übernommen.

 

Ab V3.1.3080.09

P-CHAN-00458

Sperren von kartesischen Freiheitsgraden für die Koppelkinematik

Beschreibung

Dieser Parameter beeinflusst das Verhalten der Koppelkinematik bei programmiertem TCP.

Bei der Aufteilung der TCP Bewegung auf die einzelnen Teilkinematiken werden die gesperrten Achsen nicht bewegt.

Der Index k beschreibt den zu sperrenden Achsindex. Ein Parameterwert > 0 markiert die Achse mit dem Achsindex k als gesperrt.

Parameter

trafo[i].lock_dof[k]

kin_step[i].trafo[j].lock_dof[k] (mehrstufige Transformationen)

Datentyp

BOOLEAN

Datenbereich

0 / 1

Dimension

----

Standardwert

0

Anmerkungen

Eine gesperrte Achse kann weiterhin direkt per Achsbezeichner programmiert werden.

Konfigurationsbeispiel:

trafo[0].id 210
trafo[0].lock_dof[7] 1    (Die Achse mit dem Index 7 wird bei der Aufteilung der
                                      (TCP Bewegung nicht bewegt