Industrieroboter arbeiten非常好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 einBallbartestoder ISO9283Bahntreue Testdurchgeführt werden, um die Genauigkeit eines Roboters zu validieren.
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:
//www.sinclairbody.com/robot-calibration#tab-ct
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
//www.sinclairbody.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://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/
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:
//www.sinclairbody.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.
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世界杯国家队名单und der Roboter sollte automatisch in der Station erscheinen.
d.Alternativ laden Sie die Roboterdateien (.robot-Dateierweiterung) separat von//www.sinclairbody.com/libraryund öffnen Sie diese mit RoboDK.
2.Modellieren Sie die virtuelle Station
a.Fügen Sie Bezugssysteme hinzuProgramm➔Bezugssystemeinfü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 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 wird empfohlen, die für die Kalibrierung verwendeten TCPs mit dem Namen "CalibTool id" umzubenennen, wobei id die Kalibrierungszielnummer ist.
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üDienstprogramme➔Roboterkalibrierung.
b.Wählen SieStereo Kamera.
Anschließend erscheint das folgende Fenster.
Dieses Fenster kann vorerst geschlossen werden. Sie 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.Das "Maßbezugssystem“hängt direkt von der Roboterbasis ab.
Fürs Erste können Sie eine Schätzung dieses Bezugssystems verwenden).
2.DasTrackerbezugssystemhängt direkt vomMaßbezugssystemab. Das Trackerbezugssystem muss eine ungefähre Position des Lasertrackers in Bezug auf das Maßbezugssystem sein.
3.DasRoboterkalibrierungsprojektist 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.
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.
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 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.
Zudem 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.
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
死folgenden Unterabschnitte得nacheinanderausgefü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.
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 SieTracking Modellsin der linken Baumstruktur von VXelements aus und wählen SieDetect 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.
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
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.
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ü “Verbinden➔Stereokamera 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
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.
要是死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.
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ä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 dasBezugssystemder Messungenwird in Bezug auf die Roboterbasis aktualisiert. Wenn Sie kein Bezugssystem ausgewählt haben, können Sie eines hinzufügen (wählen SieProgramm➔Bezugssystemhinzufü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ß)
Sobald dieser Schritt abgeschlossen ist, können Sie den Arbeitsbereich des Trackers in Bezug auf den Roboter in RoboDK in Echtzeit genau anzeigen.
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.
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)
静脉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
# 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'
#获取程序文件:
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
# Start 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ächeMastering(im Menü "Roboterkalibrierung").
Ein neues Fenster wird erscheinen, nachdem SieMastering-Programm erstellengewä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.
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 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).
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.您死Referenzebene ungefahr。要是死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.
您得感兴趣aufpassen,您要是Maste死去ring/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 beiden Schritte 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 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.