Robot Calibration (Optical CMM)

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. Nach der Roboterkalibrierung kann die Robotergenauigkeit um einen Faktor von 2 bis 10 oder mehr verbessert werden.

Optional können ein Ballbartest oder ISO9283 Bahntreue Testdurchgeführt werden, um die Genauigkeit eines Roboters zu validieren.

Robot Calibration Creaform - Bild 1

Es wird ein Messsystem benötigt, um einen Roboter zu kalibrieren. RoboDK kann zum Kalibrieren der Roboter sowie zum Erzeugen präziser Roboterprogramme verwendet werden (dazu gehört auch das Filtern der Programme und die Verwendung der RoboDK Offline Programmierung). RoboDK kann auch verwendet werden, um die Genauigkeit des Roboters vor und nach der Kalibrierung durch Ballbartests oder Roboterfrä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 wird empfohlen, das folgende Videoanzuschauen, um eine vollständige Kalibrierung eines Industrieroboters mit RoboDK zu sehen:
https://www.robodk.com/robot-calibration#tab-ct


Anforderungen

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

1.Ein oder mehrere Industrieroboter

2.Ein Messsystem: Jeder Lasertracker wie Leica, API oder Faro und ein optisches KMG wie die C-Track Stereokamera von Creaform sollten 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 erforderlich.. So installieren oder aktualisieren Sie RoboDK für eine Roboterkalibrierung:

a.Laden Sie RoboDK aus dem Download-Bereich herunter   
https://robodk.com/download

b.Richten Sie den Treiber für das Messsystem ein (nicht für Creaform Optical CMM erforderlich).
Entpacken und kopieren Sie den entsprechenden Ordner:

API Laser tracker:       https://robodk.com/downloads/private/API.zip (OTII und Radian Tracker)     
Faro Laser Tracker:   
https://robodk.com/downloads/private/Faro.zip (alle Faro Tracker)     
Leica Laser Tracker:  
https://robodk.com/downloads/private/Leica.zip (alle Leica Tracker)    
in den Ordner: C:/RoboDK/api/


Offline Setup

Es wird empfohlen, eine virtuelle Umgebung des Roboter-Setups 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. Es wird ein Computer mit RoboDK benötigt

RoboDK-Kalibrierungs-Setup-Beispiele können aus dem folgenden Ordner heruntergeladen werden:
https://www.robodk.com/downloads/calibration/

Überspringen Sie diesen Abschnitt, wenn Sie bereits eine Offline Station aufgebaut haben. Die Referenzrahmen und Werkzeugrahmen können ungefähr geschätzt werden. Eine Beispielstation ist im folgenden Bild gezeigt.

Robot Calibration Creaform - 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 Sie DateiOnline 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 Sie Download und der Roboter sollte automatisch in der Station erscheinen.

d.Alternativ laden Sie die Roboterdateien (.robot-Dateierweiterung) separat von http://www.robodk.com/library und öffnen Sie diese mit RoboDK.

Robot Calibration Creaform - Bild 3

2.Modellieren Sie die virtuelle Station

a.Fügen Sie Bezugssysteme hinzu ProgrammBezugssystem 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 Sie Elemente in den Baum und legen Sie sie 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 Sie hier.

Robot Calibration Creaform - Bild 4Robot Calibration Creaform - Bild 5

Optional: Wählen Sie ProgrammLeeres Werkzeug hinzufü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 wird empfohlen, die für die Kalibrierung verwendeten TCPs mit dem Namen "CalibTool id" umzubenennen, wobei id die Kalibrierungszielnummer ist.

Robot Calibration Creaform - Bild 6

c.Fügen Sie weitere 3D-CAD-Dateien (STL, IGES, STEP, 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 Sie Stereo Kamera.

Robot Calibration Creaform - Bild 7

Anschließend erscheint das folgende Fenster.

Robot Calibration Creaform - Bild 8

Dieses Fenster kann vorerst geschlossen werden. Sie können es jederzeit öffnen, indem Sie auf den Punkt Roboter Kalibirerung doppelklicken.

Robot Calibration Creaform - Bild 9

4.Sichern Sie die Station.

a.Wählen Sie DateiStation 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.Das "Maßbezugssystem hängt direkt von der Roboterbasis ab.

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

2.Das Trackerbezugssystem hängt direkt vom Maßbezugssystem ab. Das Trackerbezugssystem muss eine ungefähre Position des Lasertrackers in Bezug auf das Maßbezugssystem sein.

3.Das Roboterkalibrierungsprojekt ist in der Station vorhanden und alle Messungen, die Sie planen, sind kollisionsfrei und vom Lasertracker sichtbar (zeigen Sie jede Messgruppe an).

4.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 Kalibrierungseinstellungen Zeigen und 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 Sie Zeigen und 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 Sie Zeigen und der Roboter folgt der Sequenz (wie in den folgenden Bildern gezeigt). Wenn die Sequenz geändert werden muss, wählen Sie Messen und exportieren Sie die Kalibrierungsmessungen als CSV-Datei, indem Sie Daten exportieren wählen. Diese Datei kann mit einer Excel-Tabelle bearbeitet und durch Klicken auf Daten importieren erneut importiert werden.

Die letzten beiden Messreihen (Kalibrierung und Validierung) können mit dem Makroscript Robot Calibration Creaform - Bild 10Messungen erstellen erstellt 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.

Robot Calibration Creaform - Bild 11

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.

Bei Bedarf können Sie das Skript ändern, indem Sie mit der rechten Maustaste auf Messungen erstellen klicken und Skript bearbeiten auswä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 und Stationsparameter auswählen, wie im nächsten Bild gezeigt.

Robot Calibration Creaform - Bild 12

Robot Calibration Creaform - Bild 13

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

Robot Calibration Creaform - Bild 14

Roboter Kalibrierungs Setup

Zwei Objekte werden benötigt: ein Werkzeug  (vom Roboter gehalten) und ein Basisreferenzobjekt (statisch in der Zelle). Der Tracker muss das Werkzeug und das Basisreferenzobjekt für jede Messung sehen können. Diese Objekte werden auch als "Modelle" (in VXelements) bezeichnet und sie werden durch eine Reihe von Zielen definiert, die an das Werkzeug und die Referenzrahmenobjekte angehängt sind. Der Tracker verfolgt die Position dieser Ziele. RoboDK nimmt jede Messung als die Position des Werkzeugs in Bezug auf den Basisreferenzrahmen, so dass der Tracker bewegt werden kann, ohne die Messungen zu ändern.

Es ist erforderlich, eine Gruppe von Zielen an das Werkzeug bzw. das Basisreferenzobjekt anzuhängen, um diese Objekte richtig verfolgen zu können. Die folgenden Bilder zeigen einige Beispiele für geeignete Setups

Robot Calibration Creaform - Bild 15Robot Calibration Creaform - Bild 16

Robot Calibration Creaform - Bild 17Robot Calibration Creaform - Bild 18

Die folgenden Unterabschnitte müssen nacheinander ausgeführt werden. Dies ermöglicht es Messungen zu starten. Schließlich wird es erforderlich sein, den Tracker und den Roboter mit dem Computer zu verbinden, um den Vorgang der Messung zu automatisieren.

Probing reference frames

Es werden zwei Modelle benötigt: ein Modell des Werkzeugs und ein Modell des Basis Bezugssystem. Ein Modell ist ein Objekt, das als eine Liste von Punkten (X-, Y-, Z-Koordinaten) definiert ist. Diese entsprechen den Zielen in Bezug auf die Modellreferenz (Werkzeug- oder Basis Bezugssystem). Sie können optional die HandyProbe verwenden, um das Bezugssystem wie gewünscht zu platzieren.

Sie müssen diese Schritte zweimal ausführen, um das Werkzeug und die Basismodelle zu definieren:

1.Starten Sie VXelements und verbinden Sie den Tracker. Kalibrieren Sie den Tracker sowie die HandyProbe bei Bedarf.

2.Wählen Sie Tracking Modells in der linken Baumstruktur von VXelements aus und wählen Sie Detect Model. Wählen Sie die Ziele aus, die einem Modell (Werkzeug oder Objekt) entsprechen, und wählen Sie "Accpet”.     
Tip: Halten Sie STRG gedrückt, um eine Gruppe von Zielen auszuwählen.

Robot Calibration Creaform - Bild 19

3.Das Bezugssystem des Objekts kann in Bezug auf bestimmte Merkmale des Objekts an einer bestimmten Position platziert werden. Dieser Schritt ist optional, wird jedoch dringend empfohlen, wenn der TCP in Bezug auf den Roboterflansch genau platziert werden müssen. Zum Beispiel könnten Sie die Z-Achse des Werkzeugs genau entlang eines Zylinders platzieren, der als Spindelachse verwendet wird.

Um das Bezugssystem des Objekts richtig zu verschieben, müssen Sie die HandyProbe verwenden und diese „Features“ in die virtuelle VXelements-Sitzung bringen. Das verwendete Modell muss als Positionierungsmodell definiert werden, damit die Features in Bezug auf dieses Modell geprüft werden. Es ist möglich, Punkte, Linien, Ebenen, Zylinder, Kegel zu untersuchen und Bezugssystem in Bezug auf diese Merkmale zu definieren

Robot Calibration Creaform - Bild 20

Wenn Sie fertig sind, können Sie das Modell als TXT-Datei exportieren. Sie sollten die Ziele in der Textdatei als eine Liste von XYZ-Punkten sehen.

Mit dem Tracker verbinden

Die IP des Laser Tracker wird benötigt, um die Kommunikation mit RoboDK herzustellen. Stellen Sie sicher, dass VXelements nicht ausgeführt wird und folgen Sie diesen Schritten um eine Verbindung mit dem Tracker herzustellen:

a.Wählen Sie das Menü “VerbindenStereokamera verbinden”. Ein neues Fenster sollte sich öffnen.

b.Geben Sie das Basismodell und das Werkzeugmodell als Textdatei an (in dem vorherigen Abschnitt erstellt). These are the position of the targets that define the reference frame and the tool frame respectively.

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

d.Wenn das Verbinden erfolgrich ist, müssen Sie die Basis- und Werkzeugmodelle als Textdatei (.txt) zur Verfügung stellen.

Sie werden sehen, dass eine integrierte Version von VXelements startet. Nach ein paar Sekunden sollten Sie bei erfolgreicher Verbindung eine grüne Nachricht sehen, die "Ready" anzeigt. Die VXelements Fenster können geschlossen werden und die Verbindung bleibt aktiv. Wenn die Verbindung nicht erfolgreich ist, müssen Sie sicherstellen, dass keine VXelements-Prozesse hinter den Kulissen in der Windows-Taskleiste oder dem Task-Manager ausgeführt werden (wählen Sie STRG + ALT + ENTF, um den Prozess "VXelementsApiImplementation" zu erzwingen), und wählen Sie dann Connect in RoboDK, um es noch einmal zu versuchen

Robot Calibration Creaform - Bild 21

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 Sie VerbindenRoboter 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äche Verbinden.

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

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

Robot Calibration Creaform - Bild 22

Robot calibration

Robot calibration is divided in 4 steps. Each step requires taking a set of measurements. These four steps must be followed in order:

1.Base reference measurements (3 minutes).

2.Tool reference measurements (3 minutes)

3.Calibration measurements (7 minutes, 60 measurements)

4.Validation measurements (7 minutes, 60 measurements).

Das folgende Video zeigt, wie Sie diese Kalibrierung in 20 Minuten durchführen können: https://youtu.be/Htpx-p7tmYs. Die Validierungsmessungen (Schritt 4) sind nicht 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äche Messen. Dies öffnet ein neues Fenster, das neue Messungen ermöglicht sowie vorhandene Messungen in einer Textdatei (CSV- oder TXT-Format) importiert und exportiert).

Messen der Basis

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 Sie Messen im Abschnitt Grundeinstellungen. Das folgende Fenster wird geöffnet. Wählen Sie dann Messung starten und der Roboter bewegt sich sequenziell durch die geplanten Messungen.

Robot Calibration Creaform - Bild 23

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

Robot Calibration Creaform - Bild 24

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ß)

Sobald dieser Schritt abgeschlossen ist, können Sie den Arbeitsbereich des Trackers in Bezug auf den Roboter in RoboDK in Echtzeit genau anzeigen.

Messen des Werkzeugs

Wie im vorherigen Abschnitt beschrieben: Wählen Sie im Bereich Werkzeugeinstellungen die Option Messen. Das folgende Fenster wird geöffnet. Wählen Sie Messung starten und der Roboter bewegt sich sequenziell durch die geplanten Messungen. Doppelklicken Sie auf eine Messung, um mit der Messung von dieser Position fortzufahren.

Robot Calibration Creaform - Bild 25

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.

Robot Calibration Creaform - Bild 26

Roboter Kalibrierung

Wählen Sie im Bereich Kalibrierung die Option Messen. Das folgende Fenster wird geöffnet. Wählen Sie dann Messung starten und der Roboter bewegt sich sequenziell durch die geplanten Messungen. Doppelklicken Sie auf eine Messung, um mit der Messung von dieser Position fortzufahren.

Robot Calibration Creaform - Bild 27

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.

Robot Calibration Creaform - Bild 28

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.

Robot Calibration Creaform - Bild 29

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 im Abschnitt Ergebnisse.

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 Symbol Roboterkalibrierung). 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).

Robot Calibration Creaform - Bild 30

Wählen Sie Statistiken Anzeigen und 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.

Robot Calibration Creaform - Bild 31Robot Calibration Creaform - Bild 32

Schließlich können Sie Bericht erstellen verwenden 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 Sie DateiÖffnen) und wählen Sie Nur 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.

Robot Calibration Creaform - Bild 33

Robot Calibration Creaform - Bild 34

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.

Robot Calibration Creaform - Bild 35

Robot Calibration Creaform - Bild 36


Programme mit der API filtern

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

robot.FilterProgram(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.

from robolink import*# API to communicate with RoboDK

from robodk import*# basic matrix operations

import os                 # Path operations

# Get the current working directory

CWD = os.path.dirname(os.path.realpath(__file__))

# Start 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 = RDK.AddFile(calibration_file)

ifnot calib_item.Valid():

raise Exception("Something went wrong loading "+ calibration_file)

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

robot = RDK.ItemUserPick('Select a robot to filter', ITEM_TYPE_ROBOT)

ifnot robot.Valid():

raise Exception("Robot not selected or not available")

# Activate accuracy

robot.setAccuracyActive(1)

# Filter program: this will automatically save a program copy

# with a renamed file depending on the robot brand

status, summary = robot.FilterProgram(file_program)

if status ==0:

print("Program filtering succeeded")

print(summary)

calib_item.Delete()

RDK.CloseRoboDK()

else:

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

print(summary)

RDK.ShowRoboDK()

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 Befehls FilterTarget filtert:

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.

from robolink import*# API to communicate with RoboDK

from robodk import*# basic matrix operations

defXYZWPR_2_Pose(xyzwpr):

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

defPose_2_XYZWPR(pose):

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

# Start the RoboDK API and retrieve the robot:

RDK = Robolink()

robot = RDK.Item('', ITEM_TYPE_ROBOT)

ifnot robot.Valid():

raise Exception("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

robot.setTool(pose_tcp)

robot.setFrame(pose_ref)

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

robot.setAccuracyActive(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 = robot.SolveFK(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 = robot.FilterTarget(pose_target, joints)

print('Target filtered:')

print(real_joints.tolist())

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äche Param. Kalib. Auswählen und anschließend die Schaltfläche Mastering (im Menü "Roboterkalibrierung").

Robot Calibration Creaform - Bild 37

Robot Calibration Creaform - Bild 38

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

Robot Calibration Creaform - Bild 39

Die Schaltfläche Mastering-Programm erstellen erscheint 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 und Programm an Roboter senden auswählen, um das Programm automatisch an den Roboter zu senden. Andernfalls können Sie Roboterprogramm erstellen auswählen, um neue gemeinsame Werte für die Ausgangsposition zu sehen.

Robot Calibration Creaform - Bild 40


(Werkzeug) Bezugssystem

RoboDK bietet einige Dienstprogramme zum Kalibrieren von Bezugssystemen und Werkzeugbezussystemen. Auf diese Werkzeuge kann DienstprogrammeBezugssysteme Kalibrieren und DienstprogrammeWerkzeug Bezugssysteme kalibrieren zugegriffen werden.

Robot Calibration Creaform - Bild 41

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 Sie DienstprogrammeWerkzeug 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 wird 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).

Robot Calibration Creaform - Bild 42

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.

Robot Calibration Creaform - Bild 43

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).

Robot Calibration Creaform - Bild 44

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 Sie DienstprogrammeBezugssystem kalibrieren, 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.

Robot Calibration Creaform - Bild 45

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ü..

Robot Calibration Creaform - Bild 46

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

Referenz 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.

Robot Calibration Creaform - Bild 47

Referenz Achse 1

Bevor Sie eine Roboterkalibrierung starten, müssen 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.

Robot Calibration Creaform - Bild 48