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.
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
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.
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.
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 SieDatei➔Online 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.
2.Modellieren Sie die virtuelle Station
a.Fügen Sie Bezugssysteme hinzuProgramm➔Bezugssystem 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。
➔
Optional: Wählen SieProgramm➔Leeres 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.
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üDienstprogramme➔Roboterkalibrierung。
b.Wählen SieLaser tracker。
。
Anschließend erscheint das folgende Fenster.
Dieses Fenster kann vorerst geschlossen werden. Wir können es jederzeit öffnen, indem Sie auf den PunktRoboter Kalibirerungdoppelklicken。
4.Sichern Sie die Station.
a.Wählen SieDatei➔Station 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.
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 MakroscriptMessungen 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.
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.
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.
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.
Die folgenden Unterabschnitte müssen nacheinander ausgeführt werden. Dies ermöglicht es Messungen zu starten.
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ü «Verbinden➔Lasertracker 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.
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 SieVerbinden➔Roboter 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
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 SieVerbinden➔Laser 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.
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.
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).
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.
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 SieProgramm➔Bezugssystem hinzufügen) und platzieren Sie dieses unter dem Roboterbasis Bezugssystem (Drag & Drop im Objektbaum).
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ß)
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.
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 Programm➔leeres 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.
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.
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.
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.
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。
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).
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
Schließlich können SieBericht erstellenverwenden und einen PDF-Bericht mit den in diesem Abschnitt vorgestellten Informationen erstellen.
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.
Sobald Sie das Programm in RoboDK importieren, können Sie es mit oder ohne absolute Genauigkeit wiederherstellen. In den Genauigkeitseinstellungen von RoboDK (Extras➔Optionen➔Genauigkeit) 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.
Es ist möglich, ein komplettes Programm mit RoboDK zu filtern, wenn ein kalibrierter Roboter und das RoboterprogrammFilterProgrammverwenden:
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.
fromrobolinkimport*# API to communicate with RoboDK
fromrobodkimport*# basic matrix operations
importos# Path operations
#获取当前工作目录
CWD=os。path。dirname(os。path。realpath(__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=RDK。AddFile(calibration_file)
ifnotcalib_item。Valid():
raiseException("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)
ifnotrobot。Valid():
raiseException("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)
ifstatus==0:
print("Program filtering succeeded")
print(summary)
calib_item。删除()
RDK。CloseRoboDK()
else:
print("Program filtering failed! Error code: %i"%status)
print(summary)
RDK。ShowRoboDK()
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=RDK。Item('',ITEM_TYPE_ROBOT)
ifnotrobot。Valid():
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
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))
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").
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.
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.
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.
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.
RoboDK bietet einige Dienstprogramme zum Kalibrieren von Bezugssystemen und Werkzeugbezussystemen. Auf diese Werkzeuge kannDienstprogramme➔Bezugssysteme KalibrierenundDienstprogramme➔Werkzeug Bezugssysteme kalibrierenzugegriffen werden.
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).
Wählen SieDienstprogramme➔Werkzeug 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).
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 Kalibrierungsmethode➔XYZ 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.
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).
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。
Wählen SieDienstprogramme➔Bezugssystemkalibrieren, 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.
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ü.
Die nächsten zwei Prozeduren müssen befolgt werden, um die Mastering-Parameter für diese beiden Achsen richtig einzustellen.
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.
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
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.
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.
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.