Robot Calibration (Laser Tracker)

Einführung

Industrieroboter arbeiten sehr gut wiederholbar, jedoch nicht genau. Daher kann die Genauigkeit eines Industrieroboters durch Kalibrierung verbessert werden. Die nominale Genauigkeit eines Roboters hängt von der Marke und dem Modell des Roboters ab und davon, wie viel verbessert werden kann. Nach der Roboterkalibrierung kann die Robotergenauigkeit um einen Faktor von 2 bis 10 oder sogar mehr verbessert werden

Optional können einBallbarTest(Kreistest) oderISO9283Weggenauigkeitstests durchgeführt werden, um die Genauigkeit eines Roboters schnell zu überprüfen.

机器人标定LaserTracker - Bild 1

Es wird ein Messsystem benötigt, um einen Roboter zu kalibrieren. RoboDK kann zum Kalibrieren der Roboter sowie zum Erstellen präziser Roboterprogramme verwendet werden (dazu gehört das Filtern der Programme und die Verwendung der RoboDK Offline Programmierung). RoboDK kann zudem verwendet werden, um die Genauigkeit des Roboters vor und nach der Kalibrierung durch Ballbartests oder Fräsanwendungen zu testen.

Die Roboterkalibrierung kann die Genauigkeit von offline programmierten Robotern, auch bekannt als Offline-Programmierung (OLP), erheblich verbessern. Ein kalibrierter Roboter hat eine höhere absolute sowie relative Positioniergenauigkeit als ein unkalibrierter Roboter.

Es将empfohlen, das folgende Video anzuschauen, um eine vollständige Kalibrierung eines Industrieroboters mit RoboDK zu sehen:

//www.sinclairbody.com/robot-calibration#tab-lt

Anforderungen

Folgende Elemente sind erforderlich, um RoboDK zu installieren und die Roboterkalibrierung ordnungsgemäß durchzuführen:

1.Ein oder mehrere Industrieroboter

2.Ein Messsystem: Jeder Lasertracker (Leica, API oder Faro) oder ein optisches KMG wie die C-Track Stereokamera von Creaform sollte funktionieren.

3.Die RoboDK-Software muss installiert sein und eine entsprechende Lizenz für die Kalibrierung von Roboterkalibrierungen ist erforderlich. Für Netzwerklizenzen ist eine Internetverbindung, zur Überprüfung der Lizenz, erforderlich. So installieren oder aktualisieren Sie RoboDK für die Roboterkalibrierung:

a.Laden Sie RoboDK aus dem Download-Bereich herunter
//www.sinclairbody.com/download

b.Richten Sie den Treiber für das Messsystem ein (für Creaform Optical CMM ist dies nicht erforderlich).

Entpacken und kopieren Sie den entsprechenden Ordner:
API Laser Tracker:
//www.sinclairbody.com/downloads/private/API.zip(OTII und Radian Tracker)
Faro Laser Tracker:
//www.sinclairbody.com/downloads/private/Faro.zip(alle Faro Tracker)
Leica Laser Tracker:
//www.sinclairbody.com/downloads/private/Leica.zip(alle Leica Tracker)
in den Ordner:C:/RoboDK/api/


2.

Offline Setup

Es将empfohlen, eine virtuelle Roboterumgebung in RoboDK (Offline-Setup) zu erstellen, bevor mit Messungen begonnen wird. In diesem Abschnitt wird erläutert, wie Sie die RoboDK-Station offline vorbereiten. Dies kann getan werden, bevor Sie den Roboter und den Tracker haben. Benötigt wird lediglich ein Computer auf dem RoboDK installiert ist.

Beispiele können aus dem folgenden Ordner heruntergeladen werden:
//www.sinclairbody.com/downloads/calibration/

Überspringen Sie diesen Abschnitt, wenn Sie bereits eine Offline Station haben. Die Bezugssysteme und Werkzeuge müssen nur grob positioniert werden. Eine Beispielstation ist im folgenden Bild gezeigt.

机器人标定LaserTracker - Bild 2

RoboDK Station

In einer RoboDK-Station werden die virtuelle Umgebungsstation und die Kalibrierungsinformationen gespeichert. Die Station wird als RDK-Datei gespeichert. Befolgen Sie die nächsten Schritte, um eine Roboterstation für die Roboterkalibrierung von Grund auf zu erstellen (Videovorschau:https://youtu.be/Nkb9uDamFb4):

1.Wählen Sie einen Roboter:

a.Wählen SieDateiOnline Bibliothek öffnen。Die Online-Bibliothek wird in RoboDK angezeigt.

b.Verwenden Sie die Filter, um Ihren Roboter nach Marke, Nutzlast, ... zu finden

c.Wählen Sie2022世界杯国家队名单和《机器人sollte automatisch der站erscheinen.

d.Alternativ laden Sie die Roboterdateien (.robot-Dateierweiterung) separat von2022世界杯南美区预选赛 und öffnen Sie diese mit RoboDK.

机器人标定LaserTracker - Bild 3

2.Modellieren Sie die virtuelle Station

a.Fügen Sie Bezugssysteme hinzuProgrammBezugssystem einfügen

i.Ein "Maßbezugssystem“ muss in Bezug auf die Roboterbasis hinzugefügt werden.

ii.Ein "Trackerbezugssystem" muss in Bezug auf das „Maßbezugssystem) hinzugefügt werden, die Sie gerade hinzugefügt haben.

iii.Ein zusätzliches “Werkzeugbezugssystem" kann in Bezug auf das "Maßbezugssystem“ hinzugefügt werden, um die Position des Tools in Bezug auf den Tracker darstellen zu können.

Tipp 1:Ziehen您Elemente在鲍姆和legen您您dort ab, um die Abhängigkeit der realen Welt abzubilden. Zum Beispiel muss das Trackerbezugssystem in Bezug auf das Maßbezugssystem platziert werden.

Tipp 2: Platzieren Sie Bezugssysteme grob, indem Sie die ALTTASTE bzw. UMSCHALTTASTE gedrückt halten. Alternativ doppelklicken Sie auf das Bezugssystem und geben Sie die korrekten Koordinaten ein.

Tipp 3: Benennen Sie ein Objekt mit der Taste F2 in der Objektbaumstruktur um.

b.Fügen Sie ein Werkzeug hinzu (unterstützte Formate sind STL-, IGES- und STEP-Dateien) und ziehen Sie es auf den Roboter (innerhalb des Objektbaums). Dadurch wird das Objekt in ein Werkzeug umgewandelt. Weitere Informationen finden Siehier

机器人标定LaserTracker - Bild 4机器人标定LaserTracker - Bild 5

Optional: Wählen SieProgrammLeeres Werkzeughinzufügen, um alle TCPs hinzuzufügen, die Sie in der Station visualisieren möchten (z.B. um Kollisionen zu prüfen). So legen Sie einen ungefähren Wert für das TCP fest:

i.Doppelklicken Sie auf das neue Werkzeug.

ii.Legen Sie einen ungefähren TCP-Wert fest. Sie können die 6 Werte auf einmal mit den zwei Schaltflächen auf der rechten Seite kopieren/einfügen.

iii.Es将empfohlen,死皮死Kalibrierung verwendeten TCPs mit dem Namen "CalibTool id" umzubenennen, wobei id die Kalibrierungszielnummer ist.

机器人标定LaserTracker - Bild 6

c.IGES Fugen您weitere 3 d-cad-dateien (STL,一步,SLD, ...), über das MenüDateiÖffnen。.. hinzu, um die virtuelle Station zu modellieren. Alternativ können Sie Dateien per Drag & Drop in das RoboDK-Hauptfenster ziehen.

Tipp 1: Importieren Sie die 3D-Dateien des Arbeitsbereichs und benennen Sie diese so, dass die Robotermessungen im Arbeitsbereich des Trackers ausgeführt werden. Alternativ können Sie den Arbeitsbereich unsichtbar machen, wenn Sie die Messungen nicht auf den Arbeitsbereich des Trackers einschränken möchten. Weitere Informationen finden Sie im nächsten Abschnitt.

Tipp 2: Sie können STRG + ALT + Umschalt + P auswählen, um den Export vertraulicher 3D-Dateien zu blockieren, die in RoboDK importiert wurden.

3.Fügen Sie das Kalibrierungsmodul in der Station hinzu:

a.Wählen Sie das MenüDienstprogrammeRoboterkalibrierung

b.Wählen SieLaser tracker

机器人标定LaserTracker - Bild 7

Anschließend erscheint das folgende Fenster.

机器人标定LaserTracker - Bild 8

Dieses Fenster kann vorerst geschlossen werden. Wir können es jederzeit öffnen, indem Sie auf den PunktRoboter Kalibirerungdoppelklicken

机器人标定LaserTracker - Bild 9

4.Sichern Sie die Station.

a.Wählen SieDateiStation sichern

b.Geben Sie einen Ordner und einen Dateinamen an.

c.Wählen Sie speichern. Eine neue RDK Datei wird erstellt.

Sie können die Änderungen der Station jederzeit wiederherstellen, indem sie die RDK-Datei öffnen (doppelklicken Sie auf die Datei unter Windows).

Es ist wichtig, die folgenden Details zu überprüfen:

1.Die Kalibrierungswerkzeuge heißen "CalibTool id" und die IDs sind Nummern, die bei 1 beginnen (wenn es 3 Kalibrierungswerkzeuge gibt, müssen Sie "CalibTool 1", "CalibTool 2" und "CalibTool 3" heißen)

2.DasMaßbezugssystemhängt direkt von der Roboterbasis ab.

Fürs Erste können Sie eine Schätzung dieses Bezugssystems verwenden.

3.DasTrackerbezugssystemhängt direkt von der Referenz der Messungen ab. Das Trackerbezugssystem muss eine ungefähre Position des Lasertrackers in Bezug auf das Maßbezugssystem sein.

4.DasRoboterkalibrierungsprojektist in der Station vorhanden und alle Messungen, die Sie planen, sind kollisionsfrei und vom Lasertracker sichtbar (zeigen Sie jede Messgruppe an).

5.Wenn Sie automatisch auf Kollisionen prüfen wollen, müssen Sie die Bezeichnung "collision" in jedem Objekt verwenden, mit dem Sie Kollisionen überprüfen wollen. Es wird empfohlen, ein Werkzeug zu verwenden, das etwa 25% größer als das kalibrierte Werkzeug für die Kollisionsprüfung ist, um Kollisionen sicher zu vermeiden.


Erstellen von Zielen zur Kalibrierung

Es gibt vier Messreihen, die zur erfolgreichen Durchführung der Roboterkalibrierung erforderlich sind:

1.Grundeinstellung: Sechs Messungen (oder mehr) Bewegungsachse 1 und 2 sind erforderlich, um das Kalibrierungsbezugssystem in Bezug auf den Roboter zu platzieren. Wählen Sie in den KalibrierungseinstellungenZeigenund der Roboter bewegt sich entlang der Sequenz.

2.Werkzeugeinstellung: Für die Kalibrierung des Werkzeugflansches und der Werkzeugziele (Bewegungsachse 5 und 6) sind sieben oder mehr Messungen erforderlich. Wählen SieZeigenund der Roboter wird sich entlang der Sequenz bewegen.

3.Kalibrierungsmessungen: Zum Kalibrieren des Roboters sind 60 oder mehr Messungen erforderlich. Diese Messungen können zufällig in den Arbeitsbereich des Roboters platziert werden und frei von Kollisionen mit den umgebenden Objekten sein.

4.Validierungsmessungen(optional): Es können beliebig viele Messungen zur Validierung der Robotergenauigkeit verwendet werden. Diese Messungen werden nur zur Validierung der Genauigkeit des Roboters und nicht zur Kalibrierung des Roboters verwendet.

Die ersten beiden Messreihen werden automatisch von RoboDK generiert. Wählen SieZeigenund der Roboter folgt der Sequenz (wie in den folgenden Bildern gezeigt). Wenn die Sequenz geändert werden muss, wählen SieMessenund exportieren Sie die Kalibrierungsmessungen als CSV-Datei, indem SieDaten exportierenwählen. Diese Datei kann mit einer Excel-Tabelle bearbeitet und durch Klicken aufDaten importierenerneut importiert werden.

Die letzten beiden Messreihen (Kalibrierung und Validierung) können mit dem Makroscript机器人标定LaserTracker - Bild 10Messungen erstellenerstellt werden. Dieses Makroskript wird automatisch zur Station hinzugefügt, wenn wir das Roboterkalibrierungsprojekt starten. Doppelklicken Sie auf das Makro, um es auszuführen. Dieses Makro ist ein Python-Programm, das den Benutzer zum Definieren der folgenden Einstellungen führt:

Anzahl der Messungen: Die Anzahl der zu machenden Messungen. Standardmäßig werden 80 Messungen verwendet, da für die Roboterkalibrierung mindestens 60 Messungen erforderlich sind.

Referenzposition: Die Referenzposition muss eine Position des Roboters sein, an der das Werkzeug dem Tracker mit direkt sichtbaren Zielen zugewandt ist.

Gelenkgrenzen: Die unteren und oberen Grenzen der Achswinkel müssen angegeben werden.

kartesische Grenzen: Wir können kartesische Grenzen (X-,Y-,Z-Werte) in Bezug auf das Roboter-Bezugssystem angeben.

Das Skript erstellt automatisch Messungen, bei denen das Werkzeug dem Tracker zugewandt ist, und berücksichtigt die Gelenk- und kartesischen Grenzwerte. Eine Drehung von +/- 180 Grad um das Werkzeug ist um die Richtung herum möglich, die dem Tracker an der Bezugsposition zugewandt ist. Darüber hinaus ist die ausführbare Sequenz der Bewegungen kollisionsfrei und innerhalb des Mess-Arbeitsbereichs (wenn der Arbeitsbereich sichtbar ist). Das folgende Bild zeigt die Zusammenfassung, die dem Benutzer vor dem Start der automatischen Sequenz angezeigt wird. Es kann bis zu 5 Minuten dauern, bis die Sequenz beendet ist.

机器人标定LaserTracker - Bild 11

Bei Bedarf können Sie das Skript ändern, indem Sie mit der rechten Maustaste aufMessungen erstellenklicken undSkript bearbeitenauswählen. Anschließend können Sie weitere Parameter des Algorithmus ändern. Das Skript speichert die Benutzereingaben automatisch als Stationsparameter. Wir können diese Einstellungen anzeigen, bearbeiten oder löschen, indem Sie mit der rechten Maustaste auf die Station klicken undStationsparameterauswählen, wie im nächsten Bild gezeigt.

Sobald der Algorithmus beendet ist, wird eine neue Nachricht angezeigt. Sie können "Kalibrierung" auswählen, um die 60 Messungen für die Roboterkalibrierung zu verwenden. Sie können dasselbe Skript erneut ausführen, um einen weiteren Satz von Messungen für die Validierung zu generieren. Dieser Schritt ist optional, aber für Validierungszwecke werden 80 Messungen empfohlen.

机器人标定LaserTracker - Bild 12

机器人标定LaserTracker - Bild 13

Schließlich ist es auch möglich, manuell ausgewählte Konfigurationen zu importieren, indem SieDaten importieren(im MenüMessen) auswählen. Sie können eine CSV- oder TXT-Datei als Nx6-Matrix importieren, wobei N die Anzahl der Konfigurationen ist.

机器人标定LaserTracker - Bild 14

Roboter Kalibrierungs Setup

Es ist erforderlich, den Lasertracker und den Roboter mit dem Computer zu verbinden, um die Durchführung von Messungen zu automatisieren. Es wird ebenfalls empfohlen, ein Bezugssystem über drei Punkte zu messen, falls Sie den Laser Tracker bewegen (dieser Schritt ist zwingend durchzuführen, wenn Sie die Ausgangsposition für Achse 1 wiederherstellen möchten, sieheAnhang IIfür weitere Informationen).

Es ist erforderlich, mindestens ein SMR-Ziel anzubringen (drei oder mehr werden empfohlen), wie in den folgenden Bildern gezeigt. Es ist auch praktisch, 3 Ziele als Bezugssystem zu verwenden, wenn der Lasertracker bewegt werden muss.

机器人标定LaserTracker - Bild 15机器人标定LaserTracker - Bild 16

Die folgenden Unterabschnitte müssen nacheinander ausgeführt werden. Dies ermöglicht es Messungen zu starten.

Mit dem Tracker verbinden

Die IP des Laser Tracker wird benötigt, um die Kommunikation mit RoboDK herzustellen. Befolgen Sie diese Schritte, um die Kommunikation mit dem Lasertracker zu überprüfen:

a.Wählen Sie das Menü «VerbindenLasertracker verbinden». Ein neues Fenster sollte sich öffnen.

b.Stellen Sie die IP des Laser Tracker ein.

c.Klicken Sie auf die Schaltfläche "Verbinden".

Wenn die Verbindung erfolgreich ist, sollten Sie eine grüne Nachricht sehen, die "Bereit" anzeigt. Das Fenster kann geschlossen werden und die Verbindung bleibt aktiv.

机器人标定LaserTracker - Bild 17

Verbindung mit dem Roboter

Die IP des Roboters (oder die COM-Port-Nummer für RS232-Verbindungen) wird benötigt, um die Kommunikation mit RoboDK richtig einzustellen. Befolgen Sie diese Schritte, um die Kommunikation mit dem Roboter zu überprüfen:

1.Wählen SieVerbindenRoboter verbinden。Ein neues Fenster wird erscheinen.

2.Stellen Sie die IP und den Port des Roboters ein (oder den COM-Port, wenn die Verbindung über RS232 erfolgt).

3.Klicken Sie auf die SchaltflächeVerbinden

4.Falls irgendwelche Probleme auftreten, lesen Sie den Anhang.

Wenn die Verbindung erfolgreich ist, sollten Sie eine grüne Nachricht sehen, dieBereitanzeigt. Die Position des virtuellen Roboters sollte exakt mit der Position des realen Roboters übereinstimmen, wenn Sie dieaktuellen Achswinkelauslesen. Wählen Sie alternativzur aktuellen Position bewegen, um den Roboter an die aktuelle Position im Simulator zu bewegen. Das Fenster kann geschlossen werden und die Verbindung bleibt aktiv

机器人标定LaserTracker - Bild 18

Messen der Referenzziele

Es将empfohlen, ein Kalibrierungsbezugssystem zu messen, das an die Roboterbasis angebracht ist. Dies ist hilfreich, wenn Sie den Tracker während der Kalibrierung verschieben oder zwei Roboterkalibrierungen vergleichen möchten. Dieser muss durch 3 erreichbare Punkte definiert werden.

Sie können diesen Schritt überspringen, wenn Sie den Tracker nicht in Bezug auf den Roboter bewegen oder die Ausgangsposition für Achse 1 nicht wiederherstellen müssen. In diesem Fall wird das Bezugssystem des Lasertrackers verwendet.

Sie sollten diese Schritte jedes Mal befolgen, wenn der Laser Tracker bewegt wird:

1.Wählen SieVerbindenLaser Tracker verbinden

2.Stellen Sie die IP des Laser Trackers ein und wählen Sie verbinden (wenn der Laser Tracker nicht angeschlossen ist).

3.Stellen Sie das Kalibrierungsbezugssystem und das Tracker Bezugssystem wie im Bild gezeigt ein. Das Kalibrierungsbezugssystem wird auch als Maßbezugssystem bezeichnet.

4.Wählen Sie Basisziele festlegen.

机器人标定LaserTracker - Bild 19

RoboDK führt den Benutzer durch die Menüs, die im nächsten Bild gezeigt werden. Die Position des Lasertrackers wird automatisch aktualisiert, sobald der Vorgang abgeschlossen ist.

机器人标定LaserTracker - Bild 20

机器人标定LaserTracker - Bild 21机器人标定LaserTracker - Bild 22机器人标定LaserTracker - Bild 23


Roboter Kalibrierung

Die Roboterkalibrierung ist in 4 Schritte unterteilt. Jeder Schritt erfordert eine Reihe von Messungen. Diese vier Schritte müssen der Reihe nach befolgt werden:

1.Messungen des Basisbezugssystem (3 Minuten).

2.Messungen des Werkzeugbezugssystem (3 Minuten)

3.Kalibrierungsmessungen (7 Minuten, 60 Messungen)

4.Validierungsmessungen (7 Minuten, 60 Messungen).

Das folgende Video zeigt, wie Sie diese Kalibrierung in 20 Minuten durchführen können://www.sinclairbody.com/robot-calibration#tab-lt。死Validierungsmessungen (Schritt 4)信德走错zwingend notwendig, um den Roboter zu kalibrieren. Sie liefern jedoch einen objektiven Anhaltspunkt der Genauigkeit der Ergebnisse. Es ist auch möglich, die Auswirkungen der Kalibrierung des Roboters in einem Bereich und der Validierung in einem anderen Bereich zu sehen.

Wählen Sie für jeden der vier Messreihen die SchaltflächeMessen。Dies öffnet ein neues Fenster, das neue Messungen ermöglicht sowie vorhandene Messungen in einer Textdatei (CSV- oder TXT-Format) importiert und exportiert).

Measuring the base

Diese Messungen können überall im Werkzeugflansch durchgeführt werden, wenn das gleiche Ziel für alle 6 Messungen gemessen wird. Um die Messungen zu starten, wählen SieMessenim AbschnittGrundeinstellungen。Das folgende Fenster wird geöffnet. Wählen Sie dannMessung startenund der Roboter bewegt sich sequenziell durch die geplanten Messungen.

机器人标定LaserTracker - Bild 24

Schließen Sie das Fenster, wenn die Messungen abgeschlossen sind, und dasBezugssystem der Messungenwird in Bezug auf die Roboterbasis aktualisiert. Wenn Sie kein Bezugssystem ausgewählt haben, können Sie eines hinzufügen (wählen SieProgrammBezugssystem hinzufügen) und platzieren Sie dieses unter dem Roboterbasis Bezugssystem (Drag & Drop im Objektbaum).

机器人标定LaserTracker - Bild 25

Die Zusammenfassung zeigt die Position und Orientierung oder das Bezugssystem des Roboters in Bezug auf das Bezugssystem der Kalibrierung ([x,y,z,w,p,r] Format in mm und Bogenmaß)

Messen des Werkzeugs

Die Messungen 1-6 können überall am Werkzeugflansch durchgeführt werden, solange Sie das gleiche Ziel für die 6 Messungen messen. Danach wird für jeden TCP, den Sie messen wollen, eine Messung für den gleichen TCP hinzugefügt. In diesem Fall haben Sie 3 TCPs, also 6 + 3 = 9 Messungen insgesamt. Sie können auf eine Messung doppelklicken, um von dieser Position aus zu messen.

Wie im vorherigen Abschnitt beschrieben: Wählen Sie im BereichWerkzeugeinstellungendie OptionMessen。Das folgende Fenster wird geöffnet. Wählen SieMessung startenund der Roboter bewegt sich sequenziell durch die geplanten Messungen. Doppelklicken Sie auf eine Messung, um mit der Messung von dieser Position fortzufahren.

机器人标定LaserTracker - Bild 26

Die Zusammenfassung zeigt die kalibrierten TCPs, sobald der Vorgang abgeschlossen ist. Die Definition des TCP (im folgenden Bild "CalibTool 1") wird automatisch aktualisiert. Wenn Sie keinen TCP ausgewählt haben, können Sie einen neuen hinzufügen (wählen Sie Programmleeres Werkzeug hinzufügen) und wählen Sie erneut berechnen/rekalkulieren. Ein neues Fenster erscheint und Sie müssen die "ID" des Werkzeugs, abhängig von der Reihenfolge, in der Sie die Messungen durchgeführt haben, auswählen. Sie können dieselbe Prozedur wiederholen, um so viele TCPs wie nötig zu aktualisieren (in diesem Fall 3 TCPs). Die ID des Werkzeugs wird automatisch erkannt, sobald der Name des Werkzeugs mit einer Nummer endet.

机器人标定LaserTracker - Bild 27

Roboter Kalibrierung

Wählen Sie im BereichKalibrierungdie OptionMessen。Das folgende Fenster wird geöffnet. Wählen Sie dannMessung startenund der Roboter bewegt sich sequenziell durch die geplanten Messungen. Doppelklicken Sie auf eine Messung, um mit der Messung von dieser Position fortzufahren.

机器人标定LaserTracker - Bild 28

Schließen Sie das Fenster, sobald die Messungen abgeschlossen sind. Der Roboter wird automatisch kalibriert und es wird die folgende Meldung angezeigt, wenn keine Probleme auftreten.

机器人标定LaserTracker - Bild 29

Schließlich zeigt der grüne Bildschirm diverse Statistiken bezüglich der Kalibrierungsmessungen an. Zudem wird ausgegeben wie sich die Genauigkeit für diese Messungen verbessert wird.

机器人标定LaserTracker - Bild 30

Roboter Validierung

Sie sollten die Genauigkeit des Roboters nicht mit den gleichen Messungen validieren, mit denen Sie den Roboter kalibriert haben. Daher wird empfohlen, zusätzliche Messungen zu machen, um die Genauigkeit zu validieren.

Das gleiche Kalibrierungsverfahren muss verwendet werden, um die Validierungsmessungen durchzuführen. Die Zusammenfassung zeigt die Validierungsstatistiken an. Weitere Informationen finden Sie imAbschnittErgebnisse

Ergebnisse

Sobald die Kalibrierung abgeschlossen ist, können Sie die Verbesserung der Genauigkeit mit den Statistiken von RoboDK analysieren. Um diese Statistik anzuzeigen, öffnen Sie das Fenster zur Roboterkalibrierung (Doppelklick auf das SymbolRoboterkalibrierung). Das Zusammenfassungsfenster im Validierungsabschnitt zeigt die Fehler vor der Kalibrierung (Nominalkinematik) und nach der Kalibrierung (kalibrierte Kinematik) an. Zwei Tabellen werden zur Verfügung gestellt, eine zeigt Statistiken über Positionsfehler und die andere zeigt Entfernungsfehler:

Positionsfehler: Der Positionsfehler ist die Genauigkeit, mit der der Roboter einen Punkt in Bezug auf ein Bezugssystem erreichen kann.

Entfernungsfehler: Der Entfernungsfehler wird durch Messen des Abstandsfehlers von Paaren von Punkten erhalten. Der Abstand zwischen zwei vom Roboter angefahren Punkten (erhalten mit Hilfe der kalibrierten Kinematik) wird mit der Entfernung verglichen, die das Messsystem (physikalisch gemessen) ausgibt. Alle Kombinationen werden dabei berücksichtigt. Wenn Sie 315 Messungen vornehmen, haben Sie 315x315 / 2 = 49455 Werte für Entfernungsfehler.

Die bereitgestellten Statistiken sind der mittlere Fehler, die Standardabweichung (Std) und der maximale Fehler. Es wird auch der Mittelwert plus das Dreifache der Standardabweichung angegeben, was dem erwarteten Fehler für 99,98% aller Messungen entspricht (wenn Sie berücksichtigen, dass Fehler einer Normalverteilung folgen).

机器人标定LaserTracker - Bild 31

Wählen SieStatistiken Anzeigenund zwei Histogramme zeigen die Verteilung der Fehler vor und nach der Kalibrierung an, ein Histogramm für die Positionsgenauigkeit und das andere für die Entfernungsgenauigkeit. Die folgenden Bilder entsprechen den 315 Validierungsmessungen in diesem Beispiel

机器人标定LaserTracker - Bild 32

机器人标定LaserTracker - Bild 33

Schließlich können SieBericht erstellenverwenden und einen PDF-Bericht mit den in diesem Abschnitt vorgestellten Informationen erstellen.

Programm Filterung

Nachdem der Roboter kalibriert wurde, haben Sie zwei Möglichkeiten, Programme mit der absoluten Genauigkeit des kalibrierten Roboters zu erstellen:

Bestehende Programme filtern: Alle Roboterziele in einem Programm werden modifiziert, um die Genauigkeit des Roboters zu verbessern. Dies kann manuell oder mithilfe der API erfolgen.

Verwenden Sie RoboDK für die Offline-Programmierung, um genaue Programme zu generieren (generierte Programme sind bereits gefiltert, einschließlich der mit der API generierten Programme).

Auf diese Art und Weise filtern Sie ein vorhandenes Programm manuell: Ziehen Sie die Roboterprogrammdatei per Drag & Drop auf den RoboDK-Hauptbildschirm (oder wählen SieDateiÖffnen) und wählen SieNur filtern。Das Programm wird gefiltert und im selben Ordner gespeichert. In der Filterzusammenfassung wird angezeigt, ob Probleme bei der Verwendung des Filteralgorithmus aufgetreten sind. Sie haben auch die Möglichkeit, ein Programm zu importieren, wenn Sie es in RoboDK simulieren wollen. Wenn das Programm irgendwelche Abhängigkeiten hat (Bezugssystem Definitionen, Unterprogramme, ...), müssen sie sich in dem Verzeichnis befinden, in dem das erste Programm importiert wird.

机器人标定LaserTracker - Bild 34

机器人标定LaserTracker - Bild 35

Sobald Sie das Programm in RoboDK importieren, können Sie es mit oder ohne absolute Genauigkeit wiederherstellen. In den Genauigkeitseinstellungen von RoboDK (ExtrasOptionenGenauigkeit) können Sie entscheiden, ob Sie die Programme immer mit einer genauen Kinematik erzeugen wollen, ob Sie jedes Mal entscheiden wollen, oder ob Sie die aktuelle Roboterkinematik verwenden wollen. Die aktuelle Roboterkinematik kann geändert werden, indem Sie mit der rechten Maustaste auf den Roboter klicken und die Option "Genaue Kinematik verwenden" aktivieren / deaktivieren. Wenn diese Option aktiv ist, sehen Sie einen grünen Punkt, wenn sie nicht aktiv ist, sehen Sie einen roten Punkt.

机器人标定LaserTracker - Bild 36

机器人标定LaserTracker - Bild 37

Programme mit der API filtern

Es ist möglich, ein komplettes Programm mit RoboDK zu filtern, wenn ein kalibrierter Roboter und das RoboterprogrammFilterProgrammverwenden:

robotFilterProgram(file_program)

Ein Makrobeispiel namens FilterProgram ist im Abschnitt Makros der Bibliothek verfügbar. Der folgende Code ist ein Python-Beispielskript, das die RoboDK-API zum Filtern eines Programms verwendet.

fromrobolinkimport*# API to communicate with RoboDK

fromrobodkimport*# basic matrix operations

importos# Path operations

#获取当前工作目录

CWD=ospathdirname(ospathrealpath(__file__))

#星t RoboDK if it is not running and link to the API

RDK = Robolink()

# optional: provide the following arguments to run behind the scenes

#RDK=Robolink(args='/NOSPLASH /NOSHOW /HIDDEN')

# Get the calibrated station (.rdk file) or robot file (.robot):

# Tip: after calibration, right click a robot and select "Save as .robot"

calibration_file=CWD+'/KUKA-KR6.rdk'

# Get the program file:

file_program=CWD+'/Prog1.src'

# Load the RDK file or the robot file:

calib_item=RDKAddFile(calibration_file)

ifnotcalib_itemValid():

raiseException("Something went wrong loading "+calibration_file)

# Retrieve the robot (no popup if there is only one robot):

robot=RDKItemUserPick('Select a robot to filter',ITEM_TYPE_ROBOT)

ifnotrobotValid():

raiseException("Robot not selected or not available")

# Activate accuracy

robotsetAccuracyActive(1)

# Filter program: this will automatically save a program copy

# with a renamed file depending on the robot brand

status,summary=robotFilterProgram(file_program)

ifstatus==0:

print("Program filtering succeeded")

print(summary)

calib_item删除()

RDKCloseRoboDK()

else:

print("Program filtering failed! Error code: %i"%status)

print(summary)

RDKShowRoboDK()

Ziele mit der API filtern

Der folgende Code ist ein Python-Beispielskript, das mithilfe der RoboDK-API ein Ziel (Pose-Ziel oder gemeinsames Ziel) mithilfe des BefehlsFilterTargetfiltert

pose_filt, joints = robot.FilterTarget(nominal_pose, estimated_joints)

Dieses Beispiel ist nützlich, wenn eine Drittanbieteranwendung (nicht RoboDK) das Roboterprogramm mithilfe von Pose-Zielen generiert.

fromrobolinkimport*# API to communicate with RoboDK

fromrobodkimport*# basic matrix operations

defXYZWPR_2_Pose(xyzwpr):

returnKUKA_2_Pose(xyzwpr)# Convert X,Y,Z,A,B,C to a pose

defPose_2_XYZWPR(pose):

returnPose_2_KUKA(pose)# Convert a pose to X,Y,Z,A,B,C

#星t the RoboDK API and retrieve the robot:

RDK=Robolink()

robot=RDKItem('',ITEM_TYPE_ROBOT)

ifnotrobotValid():

raiseException("Robot not available")

pose_tcp=XYZWPR_2_Pose([0,0,200,0,0,0])# Define the TCP

pose_ref=XYZWPR_2_Pose([400,0,0,0,0,0])# Define the Ref Frame

# Update the robot TCP and reference frame

robotsetTool(pose_tcp)

robotsetFrame(pose_ref)

# Very important for SolveFK and SolveIK (Forward/Inverse kinematics)

robotsetAccuracyActive(False)# Accuracy can be ON or OFF

# Define a nominal target in the joint space:

joints=[0,0,90,0,90,0]

# Calculate the nominal robot position for the joint target:

pose_rob=robotSolveFK(joints)# robot flange wrt the robot base

# Calculate pose_target: the TCP with respect to the reference frame

pose_target=invH(pose_ref)*pose_rob*pose_tcp

print('Target not filtered:')

print(Pose_2_XYZWPR(pose_target))

joints_approx=joints# joints_approx must be within 20 deg

pose_target_filt,real_joints=robotFilterTarget(pose_target,joints)

print('Target filtered:')

print(real_jointstolist())

print(Pose_2_XYZWPR(pose_target_filt))


Roboter Mastering

Sobald der Roboter kalibriert wurde, benötigen Sie RoboDK, um Programme zu filtern. Daher ist eine RoboDK-Lizenz erforderlich (eine Basis-OLP-Lizenz reicht aus, um nach der Kalibrierung des Roboters genaue Roboterprogramme zu generieren). Das Filtern eines Programms bedeutet, dass die Ziele in einem Programm geändert/optimiert werden, um die Genauigkeit des Roboters unter Berücksichtigung aller Kalibrierungsparameter (ungefähr 30 Parameter) zu verbessern.

Alternativ können Sie nur die Versätze der Gelenke sowie die Basis- und Werkzeugbezugssysteme kalibrieren (4 Gelenkversatzparameter plus 6 Parameter für den Grundrahmen plus 6 Parameter für das Werkzeug Bezugssystem). Die Kalibrierung ist nicht so genau wie bei der Standardkalibrierung, aber die Eingabe bestimmter Parameter in der Robotersteuerung ist möglich und es besteht keine Abhängigkeit von RoboDK zur Erstellung von Roboterprogrammen.

Um die Kalibrierung nur für die Gelenkoffsets zu erhalten, müssen Sie die SchaltflächeParam. Kalib.Auswählen und anschließend die Schaltfläche "Mastering" (im Menü "Roboterkalibrierung").

机器人标定LaserTracker - Bild 38

机器人标定LaserTracker - Bild 39

Ein neues Fenster wird erscheinen, nachdem Sie Mastering-Programm erstelleln gewählt haben. In diesem Fenster können Sie auswählen, für welche Achsen Sie die neue Ausgangsposition erstellen möchten.

机器人标定LaserTracker - Bild 40

Die SchaltflächeMastering-Programm erstellenerscheint im Robotik-Kalibrierungsfenster. Wählen Sie diese Schaltfläche, um ein Programm zu generieren, das den Roboter an die neue Ausgangsposition bringt. Übertragen Sie es zum Roboter und führen Sie es aus, dann muss die neue Ausgangsposition aufgezeichnet werden.

Wenn der Roboter und der PC verbunden sind, können Sie mit der rechten Maustaste auf das Programm klicken undProgramman Roboter sendenauswählen, um das Programm automatisch an den Roboter zu senden. Andernfalls können SieRoboterprogrammerstellenauswählen, um neue gemeinsame Werte für die Ausgangsposition zu sehen.

机器人标定LaserTracker - Bild 41

Als ein Beispiel müssen Sie die nächsten Schritte zum Aktualisieren der Ausgangsposition für Motoman-Roboter befolgen.

Zunächst muss das Programm "MASTERING" ausgeführt, um den Roboter in die neue Ausgangsposition zu bringen.

Sobald das Programm in der Steuerung ist, müssen Sie sich als "Management-Modus" anmelden (das Passwort für Motoman-Roboter ist normalerweise 99999999). Hierzu muss der Teach-Modus verwendet werden. Die folgenden Bilder zeigen die Schritte, die befolgt werden müssen.

机器人标定LaserTracker - Bild 42机器人标定LaserTracker - Bild 43

机器人标定LaserTracker - Bild 44机器人标定LaserTracker - Bild 45

机器人标定LaserTracker - Bild 46机器人标定LaserTracker - Bild 47

Stellen Sie sicher, dass die Ausgangsposition für alle Roboter Achswinkel aktualisiert wird.

Sobald die Ausgangsposition eingestellt ist, müssen Sie das Roboterprogramm löschen, das den Roboter an die neue Ausgangsposition gebracht hat.

(Werkzeug) Bezugssystem

RoboDK bietet einige Dienstprogramme zum Kalibrieren von Bezugssystemen und Werkzeugbezussystemen. Auf diese Werkzeuge kannDienstprogrammeBezugssysteme KalibrierenundDienstprogrammeWerkzeug Bezugssysteme kalibrierenzugegriffen werden.

机器人标定LaserTracker - Bild 48

Um ein (Werkzeug)Bezugssystem zu kalibrieren, benötigen Sie einige Roboterkonfigurationen, die 3 oder mehr Punkte berühren. Diese Roboterkonfigurationen können entweder achsspezifische oder kartesische Koordinaten (mit Orientierungsdaten in einigen Fällen) sein. Es wird empfohlen, die achsspezifischen anstelle der kartesischen Koordinaten zu verwenden, da es einfacher ist, die tatsächliche Roboterkonfiguration in RoboDK zu überprüfen (dies geschieht durch Kopieren der Achswinkel in den RoboDK-Hauptbildschirm).

Werkzeug Kalibrierung

Wählen SieDienstprogrammeWerkzeug kalibrieren, um den TCP mit RoboDK zu kalibrieren. Sie können so viele Punkte wie gewünscht verwenden und unterschiedliche Orientierungen verwenden. Mehrere Punkte und größere Orientierungsänderungen sind besser, da Sie eine bessere Schätzung des TCP sowie eine gute Schätzung des TCP-Fehlers erhalten.

Die folgenden zwei Optionen sind zum Kalibrieren eines TCP verfügbar:

Durch Berühren eines stationären Punktes mit dem TCP mit unterschiedlichen Orientierungen.

Durch Berühren einer Ebene mit dem TCP (wie ein Touch-Probe).

Es将empfohlen, die Kalibrierung durch Berühren einer Ebene durchzuführen, wenn ein Messtaster oder eine Spindel kalibriert werden soll. Diese Methode ist nicht so anfällig gegen Benutzerfehler.

Wenn der TCP sphärisch ist, wird der Mittelpunkt der Kugel als der neue TCP berechnet (es ist nicht notwendig, den Kugeldurchmesser bereitzustellen).

机器人标定LaserTracker——《图片报》49

Die folgenden Schritte müssen befolgt werden, um den TCP mit einer Ebene (wie im Bild zu sehen) zu kalibrieren):

1.Wählen Sie das Werkzeug aus, das kalibriert werden soll.

2.Wählen Sie die KalibrierungsmethodeXYZ mit Ebene kalibrieren.

3.Wählen Sie mit Achswinkeln kalibrieren.

4.Wählen Sie den Roboter aus, der verwendet.

5.Wählen Sie die Anzahl der Konfigurationen, die Sie für die TCP-Kalibrierung verwenden möchten (es wird empfohlen, 8 Konfigurationen oder mehr zu verwenden).

6.Geben Sie die Referenzebene ungefähr an. Wenn die Referenzebene nicht parallel zur Roboter-XY-Ebene (des Roboter Bezugssystem) ist, müssen Sie eine Schätzung dieser Referenzebene innerhalb von ± 20 Grad hinzufügen. Die Position dieser Ebene ist nicht wichtig, lediglich die Ausrichtung spielt eine Rolle.

机器人标定LaserTracker - Bild 50

7.Sie können damit beginnen, die Tabelle mit den Achswinkeln zu füllen. Dies kann manuell oder durch Kopieren / Einfügen mit den Schaltflächen (wie im Bild gezeigt) geschehen. Sie können auch den Knopf "Get Jx" benutzen, um die aktuellen Achswinkel vom Roboter im Simulator zu erhalten. Wenn Sie die Achswinkel von einem realen Roboter erhalten, der mit dem Roboter verbunden ist, müssen Sie zuerst "Aktuelle Verbindungen" aus dem Roboterverbindungsmenü auswählen (siehe Bild oder Anhang für weitere Informationen über das Verbinden eines Roboters mit RoboDK). Es wird dringend empfohlen, eine separate Kopie der für die Kalibrierung verwendeten Verbindungen zu speichern (z. B. eine Textdatei).

机器人标定LaserTracker - Bild 51

8.Sobald die Tabelle gefüllt ist, sehen Sie die neuen TCP-Werte (X, Y, Z) als "kalibrierten TCP" am Ende des Fensters. Sie können "aktualisieren" auswählen und der neue TCP wird in der RoboDK-Station aktualisiert. Die Ausrichtung der Sonde kann mit dieser Methode nicht gefunden werden

9.Sie können "Fehler anzeigen" auswählen und es werden die Fehler jeder Konfiguration in Bezug auf den berechneten TCP ausgegeben. Zudem können Konfigurationen gelöscht werden, wenn sie einen größeren Fehler aufweisen als die anderen

10.Sie müssen die Werte in der realen Robotersteuerung manuell aktualisieren (nur X, Y, Z). Wenn der TCP in einem von RoboDK generierten Programm verwendet wird, müssen die Werte in der Robotersteuerung nicht aktualisiert werden


Bezugssystem Kalibrierung

Wählen SieDienstprogrammeBezugssystemkalibrieren, um ein Bezugssystem zu kalibrieren. Es ist möglich. In dem Beispiel ist ein Bezugssystem durch drei Punkte definiert: Punkt 1 und 2 definieren die X-Achsenrichtung und Punkt 3 definiert die positive Y-Achse.

机器人标定LaserTracker - Bild 52


Anhang I – Mastering der Achsen 1 und 6

Sie müssen besonders aufpassen, wenn Sie die Mastering/Home-Werte für die Achsen 1 und 6 wiederherstellen wollen. Diese Werte beziehen sich direkt auf die Roboterbasis für die Achse 1 und eine TCP-Referenz für die Achse 6. Daher müssen externe Messungen durchgeführt werden um diese Werte richtig einzustellen. Dieses Fenster erscheint nach Auswahl von "Mastering-Programm erstellen" im Kalibrierungsmenü.

机器人标定LaserTracker - Bild 53

Die nächsten zwei Prozeduren müssen befolgt werden, um die Mastering-Parameter für diese beiden Achsen richtig einzustellen.

Bezugssystem Achse 6

Sie müssen ein Referenzziel verwenden, um die "Home" -Position von Achse 6 richtig einzustellen. Der Winkelversatz ist die Drehung um die Z-Achse des Werkzeugflansches. Dieser wird benötigt, um den gemessenen TCP (X, Y, Z) mit der bekannten TCP-Referenz. Der gemessene TCP (siehe folgendes Bild) ist einer der TCPs, der im zweiten Schritt des Kalibrierungsverfahrens gemessen wurden. Der Referenz-TCP ist eine bekannte Referenz, die einem der TCP für das verwendete Kalibrierungswerkzeug entspricht.

Idealerweise muss der Referenz-TCP vom CMM in Bezug auf den Werkzeugflansch gemessen werden (eine Kopie des Roboterwerkzeugflansches wäre am besten). Alternativ können Sie einen neuen Roboter verwenden, um den TCP erstmalig zu messen (Schritt zwei des Kalibrierungsverfahrens) und einen gemessenen TCP als Referenz zu verwenden. Es ist wichtig, einen Passstift und/oder eine entsprechende Werkzeugflanschreferenzierung zu verwenden, um sicherzustellen, dass sich der Endeffektor immer an der gleichen Position befindet.

机器人标定LaserTracker - Bild 54

Referenz Achse 1

Bevor您一张Roboterkalibrierung starten,得Sie drei Basisziele richtig messen, wenn Sie die Achse 1 mit dem realen Robotergrundrahmen ausrichten wollen. Diese Basisziele müssen so gewählt werden, dass das Bezugssystem in Bezug auf den Roboter gefunden werden kann.

Die "Home" -Position von Achse 1 hängt direkt von den drei Basiszielen sowie der Robotergrundeinstellung ab. Das Einrichten der Roboterbasis ist der erste Kalibrierungsschritt. Bei diesem wird das Basis Bezugssystem des Messsystems durch Bewegen und Messen der Achsen 1 und 2 in Bezug auf das Bezuggsystem der Roboterbasis platziert.

Die Basisziele des Messsystems können durch Verwenden von "Basisziele setzen" eingestellt werden (siehe folgendes Bild). Dies sind 3 Messungen, die das gewünschte Roboter Bezugssystem definieren (die ersten 2 Messungen definieren die X-Achse und der dritte Punkt die positive Y-Achse). Sie sollten geeignete Referenzpunkte für die Roboterbasis verwenden, damit diese Prozedur wiederholbar ist.

Der Korrekturwinkel für Gelenk 1 ist der Winkel zwischen der X-Achse der Basisreferenz, die durch 3 Punkte gemessen wird, und der Basisreferenz, die durch Bewegen der Roboterachsen 1 und 2 gemessen wird. Natürlich werden beide Vektoren vorher auf die XY-Ebene der Basisreferenz projiziert, die durch Berühren der Baumpunkte erhalten wird

机器人标定LaserTracker - Bild 55

Anhang II – Testen des Faro Laser Trackers

Die Roboterkalibrierung erfordert Messungen vom Roboter mit einem Messsystem. Um diese Messungen durchzuführen, ist ein Faro-Lasertracker erforderlich, der mit einem Computer kommuniziert. Die Kommunikation erfolgt über einen Treiber (exe Datei), die im Konsolenmodus ausgeführt werden kann.

Faro bietet beispielsweise eine kostenlose Anwendung namens "Tracker Utilities" an. Diese Anwendung kann den Lasertracker initialisieren und unter anderem einige Checks durchführen.

嗯窝追踪祖initialisieren sollten您死Anwendung "Tracker Utilities" starten, eine Verbindung mit der Tracker-IP herstellen und anschließend "Startup Checks" auswählen. Wenn der Tracker initialisiert wird, sollten Sie vor der Initialisierung ein 1,5 '' SMR-Ziel in der "Home" -Position platzieren. Andernfalls blinkt das grüne Licht nach der Initialisierung und die Messungen sind nicht gültig.

Sobald die Initialisierung abgeschlossen ist, sollten Sie die Meldung "Startup complete" lesen. Dies wird in der folgenden Abbildung gezeigt.

机器人标定LaserTracker - Bild 56机器人标定LaserTracker - Bild 57

Sollten Sie Probleme mit dem Tracker haben, können Sie einige Gesundheitschecks durch Drücken von "Health Checks ..." ausführen. Die nächsten zwei Bilder zeigen jeweils eine erfolgreiche und eine fehlgeschlagene Prüfung. Manchmal werden Probleme nach dem erneuten Anschließen der Kabel und dem Neustart des Lasertrackers behoben.

机器人标定LaserTracker - Bild 58机器人标定LaserTracker - Bild 59

机器人标定LaserTracker - Bild 60

Schließlich können Sie mit dem "Messtaster" einige Messungen vornehmen. Der Lasertracker kann einem Ziel folgen und die XYZ-Position mit einer Frequenz von 1000 Hz messen. Wenn Sie 1 Messwert pro Punkt und einen kontinuierlichen Trigger verwenden, zeichnet der Tracker 1000 Messungen pro Sekunde in einer CSV-Datei auf.

Sie können diese Funktion verwenden, um einen Roboterweg zu messen und die Pfadgenauigkeitsprüfung von RoboDK zu verwenden. Dabei werden die Genauigkeit, Geschwindigkeit und Beschleunigung entlang des Pfades überprüft.

机器人标定LaserTracker - Bild 61