LinuxCNC Documentation

SYNOPSIS

loadrt trivkins (use for most cartesian machines)

loadrt corexykins

loadrt genhexkins

loadrt genserkins

loadrt lineardeltakins (see separate manpage)

loadrt matrixkins

loadrt maxkins

loadrt pentakins

loadrt pumakins

loadrt rosekins

loadrt rotarydeltakins

loadrt rotatekins

loadrt scarakins

loadrt tripodkins

loadrt xyzab_tdr_kins

loadrt xyzac-trt-kins

loadrt xyzbc-trt-kins

loadrt 5axiskins

BESCHREIBUNG

Anstatt HAL-Pins und Funktionen zu exportieren, stellen diese Komponenten die Definitionen der Vorwärts- und Rückwärtskinematik für LinuxCNC bereit.

trivkins - Verallgemeinerte triviale Kinematik

Die Gelenknummern werden der Reihe nach entsprechend den mit dem Parameter coordinates= angegebenen Achsenbuchstaben vergeben.

Wenn der Parameter coordinates= weggelassen wird, werden jedem bekannten Achsenbuchstaben ("xyzabcuvw") Gelenknummern sequenziell zugewiesen.

Beispiel: loadrt trivkins

Weist allen Achsen-Buchstaben eine Gelenknummer zu, in der Reihenfolge: x==joint0, y==joint1, z==joint2, a==joint3, b==joint4, c==joint5, u==joint6, v==joint7, w==joint8

Beispiel: loadrt trivkins coordinates=xyz

Weist zu: x==joint0, y==joint1, z==joint2

Beispiel: loadrt trivkins coordinates=xz

Weist zu: x==joint0, z==joint1

Beispiel: loadrt trivkins coordinates=xyzy

Weist zu: x==joint0, y0==joint1, z==joint2, y1==joint3:

Der Standard-Kinematik-Typ ist KINEMATICS_IDENTITY. GUIs können für Konfigurationen, die diesen Standard-Kinematik-Typ verwenden, spezielle Funktionen bereitstellen. Zum Beispiel behandelt das AXIS-GUI automatisch Gelenk- und Weltmodus-Operationen, so dass die Unterscheidung zwischen Gelenken und Achsen für den Bediener nicht sichtbar ist. Dies ist möglich, da es eine exakte Entsprechung zwischen einer Gelenknummer und dem dazugehörigen Achsenbuchstaben gibt.

Der Kinematik-Typ kann mit dem Parameter kinstype= eingestellt werden
kinstype=1 für KINEMATICS_IDENTITY (voreingestellt, wenn kinstype= weggelassen wird)

+

kinstype=[b|B] für KINEMATICS_BOTH

+

kinstype=[f|F] für KINEMATICS_FORWARD_ONLY

+

kinstype=[i|I] für KINEMATICS_INVERSE_ONLY

+

Beispiel: loadrt trivkins coordinates=xyz kinstype=b

Verwenden Sie kinstype=B (KINEMATICS_BOTH) für Konfigurationen, die Gelenke unabhängig voneinander (joint mode) oder als koordinierte (teleop) Bewegungen in Weltkoordinaten bewegen müssen.

Bei Verwendung der AXIS GUI mit KINEMATICS_BOTH wird die Taste $ verwendet, um zwischen Gelenk- und Teleop-Modus (Welt) umzuschalten.

Ein Achsenbuchstabe kann mehrfach verwendet werden (dupliziert), um mehrere Gelenke einem einzigen Achsenkoordinatenbuchstaben zuzuordnen.

Beispiel: coordinates=xyyzw kinstype=B*

Ordnet zu: x==joint0, y==joint1 AND joint2, z==joint3, w==joint4

Das obige Beispiel zeigt eine Gantry-Konfiguration, die duplizierte Koordinatenbuchstaben verwendet, um anzuzeigen, dass zwei Gelenke (joint1 und joint2) eine einzelne Achse (y) bewegen. Durch die Verwendung von kinstype=B kann die Konfiguration zwischen den Betriebsarten Gelenk und Welt umgeschaltet werden. Es sind Optionen für die Referenzfahrtkonfiguration verfügbar, um die endgültige Referenzfahrt für ausgewählte Gelenke zu synchronisieren - siehe die Dokumentation zu Homing Configuration.

ANMERKUNGEN zu duplizierten Koordinaten

Wenn duplizierte Koordinatenbuchstaben verwendet werden, ermöglicht die Angabe von KINEMATICS_BOTH (kinstype=B), dass eine Steuerung das Joggen jedes einzelnen Gelenks im Gelenkmodus unterstützt. Vorsicht ist für Maschinen erforderlich, bei denen die Bewegung eines einzelnen Gelenks (in einem Satz, der durch einen duplizierten Koordinatenbuchstaben spezifiziert ist) zu einem Verklemmen des Portals oder anderen unerwünschten Ergebnissen führen kann. Wenn der Parameter kinstype= weggelassen wird, ist der Betrieb standardmäßig auf KINEMATICS_IDENTITY (kinstype=1) eingestellt, und die Steuerung kann eine Bewegung auf der Grundlage eines ausgewählten Achsenkoordinatenbuchstabens (oder durch eine Tastaturtaste) zulassen, bevor die Referenzfahrt abgeschlossen ist und sich die Maschine noch im Gelenkmodus befindet. Welches Gelenk ausgewählt wird, hängt von der GUI-Implementierung ab, aber in der Regel wird nur eines der mehreren Gelenke im Satz verfahren. Daher wird die Angabe von KINEMATICS_BOTH empfohlen, da dies die Unterstützung für eindeutiges, unabhängiges Schütteln jedes einzelnen Gelenks ermöglicht. Maschinen, die eine Referenzfahrt für alle Gelenke implementieren (einschließlich der Vorkehrungen für die Synchronisierung der endgültigen Referenzfahrt für mehrere Gelenke), können beim Start der Maschine referenziert werden und automatisch in den world-Modus wechseln, in dem das Jogging pro Koordinate verfügbar ist.

corexykins - CoreXY Kinematik

X = 0.5*(JOINT_0 + JOINT_1)

Y = 0.5*(JOINT_0 - JOINT_1)

Z = JOINT_2

[KINS]JOINTS= muss 3 oder mehr Gelenke (maximal 9) angeben. Wenn die Anzahl [KINS]JOINTS= angegeben aktiviert ist, entsprechen JOINT_3,4,5,6,7,8 den Koordinaten A,B,C,U,V,W.

genhexkins - Hexapod-Kinematik

Ermöglicht sechs Freiheitsgrade in Position und Orientierung (XYZABC). Die Position der Basis- und Plattformgelenke wird durch HAL-Parameter definiert. Die Iteration der Vorwärtskinematik wird durch HAL-Pins gesteuert. (Siehe switchkins-Dokumentation für weitere Informationen)

genhexkins.base.N.x

+

genhexkins.base.N.y

+

genhexkins.base.N.z

+

genhexkins.platform.N.x

+

genhexkins.platform.N.y

+

genhexkins.platform.N.z

Parameter, welche die Koordinaten des N-ten Gelenks beschreiben.

genhexkins.spindle-offset

Hinzufügen von Z-Koordinaten zu allen Gelenken, um den Maschinenursprung zu ändern. Erleichtert die Einstellung der Spindelposition.

genhexkins.base-n.N.x

+

genhexkins.base-n.N.y

+

genhexkins.base-n.N.z

+

genhexkins.platform-n.N.x

+

genhexkins.platform-n.N.y

+

genhexkins.platform-n.N.z

Parameter zur Beschreibung der Einheitsvektoren der N-ten Achse des Gelenks. Dient zur Berechnung der Strebenlängenkorrektur für kardanische Gelenke und nicht-kaptive Aktoren.

genhexkins.screw-lead

Steigung der Strebenstellschraube, positiv für das Rechtsgewinde. Standardwert ist 0 (Strebenlängenkorrektur deaktiviert).

genhexkins.correction.N

Aktuelle Werte der Strebenlängenkorrektur (engl. strut length correction) für nicht-geführte (engl. non-captive) Aktuatoren mit kardanischen Gelenken.

genhexkins.convergence-criterion

Minimaler Fehlerwert, der die Iterationen mit einer konvergenten Lösung beendet.

genhexkins.limit-iterations

Grenze der Iterationen, bei deren Überschreitung bricht die Iterationen ohne Konvergenz ab.

genhexkins.max-error

Maximaler Fehlerwert, bei dessen Überschreitung die Iterationen ohne Konvergenz abbrechen.

genhexkins.last-iterations

Anzahl der für die letzte Vorwärtskinematiklösung durchgeführten Iterationen.

genhexkins.max-iterations

Maximale Anzahl der Iterationen für eine konvergente Lösung während der aktuellen Sitzung.

genhexkins.tool-offset

TCP-Offset vom Plattform-Ursprung entlang Z zur Implementierung der RTCP-Funktion. Um Gelenke zu vermeiden, wechseln Sie den Werkzeugversatz nur, wenn die Plattform nicht geneigt ist.

genserkins - verallgemeinerte serielle Kinematik

Kinematik, die einen allgemeinen Manipulator mit seriellen Gliedern und bis zu 6 Winkelgelenken modellieren kann. Siehe switchkins-Dokumentation für weitere Informationen.

Die Kinematik verwendet die Denavit-Hartenberg-Definition für das Gelenk und die Verbindungen. Die DH-Definitionen sind diejenigen, die von John J. Craig in "Einführung in die Robotik: Mechanik und Steuerung" verwendet werden. Die Parameter für den Manipulator werden durch HAL-Pins definiert. Beachten Sie, dass dies eine Konvention verwendet, die manchmal als "Modifizierte DH-Parameter" bezeichnet wird und dies bei der Einrichtung des Systems berücksichtigt werden muss. https://w.wiki/NcY

genserkins.A-N

+

genserkins.ALPHA-N

+

genserkins.D-N

Parameter zur Beschreibung der Geometrie des N-ten Gelenks.

matrixkins - Kalibrierte Kinematik für kartesische 3-Achsen-Maschinen

Ähnlich wie trivkins, ermöglicht aber die Kalibrierung von kleinen Unregelmäßigkeiten in der Achsenausrichtung. Ausführliche Anweisungen finden Sie in der Man Page matrixkins(9).

maxkins - Beispiel einer 5-Achs-Kinematik

Kinematik für Chris Radeks 5-Achsen-Tischfräse namens max mit schwenkbarem Kopf (B-Achse) und horizontaler Drehung auf dem Tisch (C-Achse). Bietet UVW-Bewegung im gedrehten Koordinatensystem. Die Quelldatei, maxkins.c, kann ein nützlicher Ausgangspunkt für andere 5-Achsen-Systeme sein.

pentakins - Pentapod-Kinematik

Ermöglicht fünf Freiheitsgrade in Position und Orientierung (XYZAB). Die Position der Basis- und Effektorgelenke wird durch HAL-Parameter definiert. Die Iteration der Vorwärtskinematik wird durch HAL-Pins gesteuert.

pentakins.base.N.x

+

pentakins.base.N.y

+

pentakins.base.N.z

+

pentakins.effector.N.r

+

pentakins.effector.N.z

Parameter, die den Radius und die axiale Position des N-ten Effektorgelenks beschreiben.

pentakins.convergence-criterion

Minimaler Fehlerwert, der die Iterationen mit einer konvergenten Lösung beendet.

pentakins.limit-iterations

Grenze der Iterationen, bei deren Überschreitung bricht die Iterationen ohne Konvergenz ab.

pentakins.max-error

Maximaler Fehlerwert, bei dessen Überschreitung die Iterationen ohne Konvergenz abbrechen.

pentakins.last-iterations

Anzahl der für die letzte Vorwärtskinematiklösung durchgeführten Iterationen.

pentakins.max-iterations

Maximale Anzahl der Iterationen für eine konvergente Lösung während der aktuellen Sitzung.

pentakins.tool-offset

TCP-Offset vom Effektor-Ursprung entlang Z zur Implementierung der RTCP-Funktion. Um einen Sprung der Gelenke zu vermeiden, ändern Sie den Werkzeugversatz nur, wenn die Plattform nicht gekippt ist.

pumakins - Kinematik für pumaähnliche Roboter

Kinematik für einen puma-ähnlichen Roboter mit 6 Gelenken:

pumakins.A2

+

pumakins.A3

+

pumakins.D3

+

pumakins.D4

Beschreiben Sie die Geometrie des Roboters

rosekins - Kinematik für einen Rosenmotor mit

ein Quer-, Längs- und Drehgelenk (3 Gelenke)

rotarydeltakins - Kinematik für eine rotierende Deltamaschine

Rotations-Delta-Roboter (3 Gelenke)

Rotatekins - Gedrehte Kinematik

Die X- und Y-Achsen sind um 45 Grad gegenüber den Gelenken 0 und 1 gedreht.

scarakins - Kinematik für SCARA-Roboter

(Weitere Informationen finden Sie in der switchkins-Dokumentation)

scarakins.D1

Vertikaler Abstand von der Grundplatte zur Mitte des inneren Arms.

scarakins.D2

Horizontaler Abstand zwischen Gelenk[0]-Achse und Gelenk[1]-Achse, d. h. die Länge des inneren Arms.

scarakins.D3

Vertikaler Abstand von der Mitte des inneren Arms zur Mitte des äußeren Arms. Kann je nach Aufbau des Roboters positiv oder negativ sein.

scarakins.D4

Horizontaler Abstand zwischen der Achse des Gelenks[1] und der Achse des Gelenks[2], d. h. die Länge des äußeren Arms.

scarakins.D5

Vertikaler Abstand vom Endeffektor zum Tooltip. Positiv bedeutet, dass der Tooltip niedriger ist als der Endeffektor, was der Normalfall ist.

scarakins.D6

Horizontaler Abstand zwischen der Mittellinie des Endeffektors (und der Achse der Gelenke 2 und 3) und dem Tooltip. Null bedeutet, dass die Werkzeugspitze auf der Mittellinie liegt. Nicht-Null-Werte sollten positiv sein, wenn sie negativ sind, führen sie zu einem 180-Grad-Versatz zum Wert des Gelenks [3].

tripodkins - Dreibein (lat./engl. tripod)-Kinematik

Die Gelenke stellen den Abstand des kontrollierten Punktes von drei vordefinierten Orten (den Motoren) dar, was drei Freiheitsgrade in der Position (XYZ) ergibt

tripodkins.Bx

+

tripodkins.Cx

+

tripodkins.Cy

Die Position der drei Motoren ist (0,0), (Bx,0) und (Cx,Cy)

xyzac-trt-kins - 5-Achsen-Fräsmaschine (Tisch Dreh-/Schwenkbewegung)

Kipptisch (A) und horizontaler Drehtisch (C-Achse) (5 Gelenke 0:x,1:y,2:z,3:a,4:c) mit der Möglichkeit, zwischen xyzac- und trivkins-Kinematiktypen zu wechseln. Die Gelenkzuordnung kann mit dem Koordinaten-Parameter in der gleichen Weise geändert werden, wie sie von trivkins unterstützt wird. (Siehe switchkins-Dokumentation für weitere Informationen)

xyzbc-trt-kins - 5-Achsen-Fräsmaschine (Tisch Dreh-/Schwenkbewegung)

(5 Gelenke 0:x,1:y,2:z,3:b,4:c) mit der Möglichkeit, zwischen den kinematischen Typen xyzbc und trivkins zu wechseln. Die Gelenkzuordnung kann mit dem Koordinaten-Parameter in der gleichen Weise geändert werden, wie sie von trivkins unterstützt wird. (Siehe switchkins-Dokumentation für weitere Informationen)

5axiskins - 5-Achsen-Brückenfräse

XYZBCW - die W-Koordinatenwerte (typischerweise für Werkzeugbewegungen verwendet) werden in die XYZ-Positionierung einbezogen. (Das Kinematikmodul benötigt nur 5 Gelenke, aber ein zusätzliches Gelenk wird benötigt, um die W-Werte anzuzeigen). (Siehe switchkins-Dokumentation für weitere Informationen)

Standardmäßig verwendet 5axiskins die Koordinaten XYZBCW, die nacheinander den Gelenken 0..5 zugeordnet sind. Der Parameter Modulkoordinaten kann verwendet werden, um mehrere Gelenke einem Achsbuchstaben zuzuordnen und/oder um Gelenke zusätzlichen Koordinaten A,U,V mit einer Eins-zu-eins-Entsprechung zu den zugeordneten Gelenken zuzuordnen. Beispiel: XYZBCWYV (insgesamt 8 Gelenke mit den Nummern 0..7) verwendet zwei Gelenke für Y (Gelenke 1,6) und fügt eine zusätzliche Koordinate V hinzu, die eine Eins-zu-Eins-Beziehung zu Gelenk 7 hat.

Hinweis: Diese Kinematik kann mit dem vismach 5axisgui verwendet werden, vorausgesetzt, die Zuordnung der Gelenkbuchstaben stimmt mit der von ihm erwarteten Standardreihenfolge überein (XYZBCW -> joints 0..5)

SIEHE AUCH

Für weitere Informationen schauen Sie in den nachfolgenden Abschnitten des Kapitels zu "Themen für Fortgeschrittene" (advanced topics) der LinuxCNC Dokumentation:

  • Kinematics

  • 5-Axis Kinematics

  • Switchable Kinematics

Die HAL-Komponente userkins.comp ist eine Vorlage für die Erstellung von kinematischen Modulen mit dem Werkzeug halcompile. Die unveränderte Vorlage unterstützt eine identische xyz-Konfiguration, die 3 Gelenke verwendet. Siehe userkins(9) für weitere Informationen.