-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft Kamera-Robotersysteme. Insbesondere ist die Erfindung auf das Kalibrieren von Vision-basierten Leitsystemen gerichtet.
-
Hintergrund der Erfindung
-
Vision-basierte Leitsysteme oder Kamera-Robotersysteme werden häufig in der Industrie verwendet. Die Kamera fungiert als Sensor für den Roboter und „sieht“ die Objekte von Interesse. Allerdings sind diese vom Vision-System detektierten Objektpositionen in Kamera-Pixel-Koordinaten, die den Roboterkoordinaten zugeordnet werden müssen, sodass er Befehle wie das Bestücken ausführen kann. Dieser Prozess des Zuordnens der Kamera-Pixel-Koordinaten zu Roboterkoordinaten (in Wirklichkeit Millimeter) wird häufig als Hand-Auge Kalibration oder Kamera-Roboter Kalibration bezeichnet.
-
Darüberhinaus, wie in 1 gezeigt, gibt es für einen Roboter vom Typ SCARA (Selective Compliance Assembly Roboter Arm oder Selective Compliance Articulated Roboter Arm; „SCARA“) oder Menschenarm-Roboter 10, der ein am Roboter befestigtes Greifwerkzeug 12 aufweist, gewöhnlich einen X, Y Offset 14 (der Offset ist zu Veranschaulichungszwecken übertrieben) zwischen einem Werkzeugzentrum 16 des Werkzeugs 12 und der Mittellinie der Z-Achse 18 des Roboters. Um den Roboter präzise zu positionieren, muss dieser Werkzeugoffset auch gemessen und durch den Robotercontroller in die inverse Kinematik des Roboters aufgenommen werden. Beide dieser Prozesse (Kalibration und Werkzeugoffsetmessung) werden für gewöhnlich unter Verwendung manueller Beobachtung durchgeführt, was das Vorrücken oder Bewegen des Roboters zu bekannten Referenzpunkten und das mit den Augen so präzise wie mögliche Justieren umfasst. In Abhängigkeit von der Anzahl von Messungen, die durchgeführt werden müssen, kann dieser manuelle Prozess bei einem geschulten Bediener etwa 60 bis 100 Minuten dauern. Die manuellen Beobachtungen können Fehler in die Kalibrierung einführen und bestenfalls wird eine Lagegenauigkeit von +/- 0.2 mm erreicht, und es gibt keine Kenntnis über die Verteilung von Kalibrierungsfehlern über die Arbeitsfläche des Roboters. Andere Fehlerquellen sind unbekannte Offsets im Werkzeugmittelpunkt, d.h. dem Punkt, in Bezug auf welchen jegliche Roboter-Positionierung definiert ist, die aufgrund mechanischer Toleranzen im Design der Roboter-Greifelemente bestehen.
-
Im Stand der Technik besteht Bedarf an Verbesserungen von Kamera-Robotersystemen, welche diese Nachteile minimieren.
-
Zusammenfassung der Erfindung
-
Eine Aufgabe ist es einen automatischen Kalibrierungsprozess bereitzustellen, um die Kamerapixel den Roboterkoordinaten zuzuordnen, als auch die unbekannten Werkzeugoffsets zu berechnen.
-
Andere Merkmale und Vorteile der vorliegenden Erfindung werden von der folgenden, detaillierteren Beschreibung bevorzugter Ausgestaltungen in Verbindung mit den beigefügten Zeichnungen, die rein beispielhaft die Prinzipien der Erfindung illustrieren, ersichtlich.
-
Figurenliste
-
- 1 zeigt eine Ansicht eines Roboterarms des Standes der Technik, der ein angebrachtes Werkzeug umfasst.
- 2 zeigt eine obere perspektivische Ansicht eines beispielhaften Werkzeugs, welches sich vorbereitet ein beispielhaftes Kalibriertarget zu greifen.
- 3 zeigt einen Querschnitt des Werkzeugs/Kalibriertargets entlang der Linie 3-3 der 2.
- 4 s zeigt eine Draufsicht eines beispielhaften Werkzeugs, welches sich vorbereitet ein beispielhaftes Kalibriertarget zu greifen.
- 5 zeigt eine beispielhafte Anordnung von Kalibriertarget-Messpunkten für den Kalibrierungsvorgang.
- 6-8 zeigen sequenzielle Schritte im Vorgang der Kalibrierung eines Kamera-Robotersystems mit Werkzeugoffsets.
- 9 zeigt ein beispielhaftes mit einer Kamera aufgenommenes Bild eines Kalibrierungs-Targets.
- 10 zeigt einen sequenziellen Schritt im Vorgang der Kalibrierung eines Kamera-Robotersystems mit Werkzeugoffsets.
- 11 zeigt ein Diagramm eines beispielhaften Prozesses der Kalibrierung eines Kamera-Robotersystems mit Werkzeugoffsets.
- 12 zeigt eine grafische Darstellung von Unterschieden zwischen tatsächlichen und berechneten Roboterkoordinatenwerten. Diese Grafik zeigt X und Y Koordinaten, Einheiten sind in mm.
- 13 zeigt eine grafische Darstellung von Unterschieden zwischen tatsächlichen und berechneten Roboterkoordinatenwerten zur Bestimmung der Linearität der Werte. Diese Grafik zeigt X und Y Koordinaten, Einheiten sind in mm.
- 14 zeigt eine Abbildung eines beispielhaften Prozesses der Kalibrierung eines Kamera-Robotersystems mit Werkzeugoffsets.
-
Detaillierte Beschreibung der Erfindung
-
Die Beschreibung der veranschaulichenden Ausgestaltungen gemäß den Prinzipien der vorliegenden Erfindung ist angedacht, in Verbindung mit den beigefügten Zeichnungen, die als Teil der gesamten geschriebenen Beschreibung angesehen werden sollen, gelesen zu werden. In der Beschreibung von Ausgestaltungen der hierin offenbarten Erfindung ist jeglicher Bezug zur Richtung oder Orientierung lediglich der Zweckmäßigkeit halber vorgesehen, und ist nicht dazu vorgesehen, den Schutzumfang der vorliegenden Erfindung in irgendeiner Weise zu limitieren. Relative Begriffe wie „unterer“, „oberer“, „horizontal“, „vertikal“, „über“, „unter“, „hoch“, „runter“, „oberster“ und „unterster“, als auch davon abgeleitete Begriffe (z.B., „horizontal“, „nach unten“, „nach oben“, etc.) sollten derart ausgelegt werden, dass sich diese auf die beschriebene oder in der diskutierten Zeichnung gezeigte Orientierung bezieht. Diese relativen Begriffe sind lediglich zur Vereinfachung der Beschreibung und erfordert nicht, dass die Vorrichtung in einer bestimmten Orientierung konstruiert oder betrieben wird, es sei denn, auf dies wird explizit hingewiesen. Begriffe wie „angebracht“, „angeheftet“, „verbunden“, „gekoppelt“, „verschaltet“ und ähnliche beziehen sich auf eine Beziehung, in welcher Strukturen entweder direkt oder indirekt durch dazwischengeschaltete Strukturen aneinander gesichert oder angebracht sind, ebenso wie auf beide, bewegliche oder feste Befestigungen oder Beziehungen, sofern nicht ausdrücklich anders beschrieben. Darüber hinaus sind die Merkmale und Vorteile der Erfindung mit Bezug zu den bevorzugten Ausgestaltungen veranschaulicht. Entsprechend soll die Erfindung ausdrücklich nicht auf solche bevorzugten Ausgestaltungen beschränkt werden, die einige mögliche nicht limitierende Kombinationen von Merkmalen, die allein oder in anderen Kombination von Merkmalen existieren können, darstellen; der Schutzbereich der Erfindung ist durch die hier beigefügten Ansprüche definiert.
-
Die vorliegende Erfindung umfasst ein Verfahren, bezogen auf 5-11, zur automatischen Kalibrierung von Kamera-Robotersystemen mit Offsets der Werkzeugausstattung am Ende des Roboterarms oder Werkzeugoffsets. Zum Beispiel kalibriert der automatische Kalibrierungs-Prozess für ein Kamera-Robotersystem mit 3 Freiheitsgraden, X und Y Achse und Gieren (Englisch: yaw; Rotationskomponente in der XY Ebene; Rotation um die Z Achse), der automatische Kalibrierungs-Prozess kalibriert die Definition der Roboterwerkzeugspitze X, Y Offsets, und gleicht auch Kamerakoordinaten mit Roboterkoordinaten X, Y und Gieren ab. Für diesen automatischen Kalibrierungs-Prozess ist keine Kenntnis des Werkzeugmittelpunkts („TCP“) notwendig. D.h., dass der TCP einem gewissen X und Y Offset entspricht, und dieser Offset muss nicht bekannt sein. Während das mechanische Design das Werkzeug X, Y dimensioniert, können Offsets aufgrund mechanischer Toleranzen auftreten, diese X, Y Offsets unterscheiden sich von den „Design“-Offsets. Dieser Kalibrierungs-Prozess berechnet automatisch die aktuellen X, Y Offsets.
-
Für die gebräuchlichsten Roboter-Kamera Kalibrierungen wird ein Punkt präzise durch den Bediener angelernt, d.h., dass eine spezielle Passermarke genutzt wird, um einen Werkzeugmittelpunkt mit einer bekannten Position auszurichten, die vom Vision-System gesehen wird. Darauffolgend sind zwei zusätzliche Bedingungen für die konventionelle Kalibrierung notwendig, damit diese funktioniert: 1) der Wert der Pixel pro mm (basierend auf der Auflösung der Kamera), und 2) der Pixel pro mm Wert ist überall im interessierende Bereich konstant. In Wirklichkeit kann selbst nach Kamera-Kalibrierung Objektivverzeichnung vorhanden sein, und/oder der Roboter selbst kann keine linearen Bewegungen aufweisen. Als Ergebnis wird der Wert der Pixel pro Millimeter nicht überall im interessierenden Gebiet eine Konstante Zahl sein und können nicht korrekt funktionieren. Der automatische Kalibrierungs-Prozess der vorliegenden Erfindung muss keine dieser Bedingungen erfüllen.
-
Zusammengefasst ist der vorgeschlagene automatische Kalibrierungs-Prozess am besten für Anwendungen geeignet, die eine präzise Kalibrierung benötigen.
-
Die Ausdrücke „Werkzeugausstattung am Ende des Roboterarms,“ „Werkzeug“, „Greifer“ und ähnliche können austauschbar verwendet werden.
-
Der Ausdruck „Kalibriertarget“ bezieht sich auf ein Teil, welches vom Roboterwerkzeug aufgenommen und an verschiedenen Stellen auf einem Gitter positioniert und dann vom Vision-System detektiert wird. Das Kalibriertarget ist typischerweise kein speziell entworfenes Teil, obwohl es dies auch sein kann. Die einzige Bedingung ist, dass dieses „Kalibriertarget“ eine einzigartige und eindeutige Orientierung haben sollte, wenn es aus einem vorbestimmten Blickwinkel betrachtet wird, wie aus einer Position vertikal über dem Teil. D.h., wenn das Vision-System dieses Teil detektiert, sollte dieses eine gut definierte Orientierung haben. Ein Beispiel ist ein rechteckiges Objekt mit einer abgeschrägten Ecke. Typischerweise ist das Kalibriertarget irgendeines der Teile, für welches das Roboter-Aufnahme- und Platzierungssystem eingesetzt wird. Häufig ist die Werkzeugausstattung am Ende des Roboterarms oder das Werkzeug speziell für dieses Teil entworfen.
-
Der Ausdruck „Kalibriertarget,“ „Kalibrierungsteil,“ „Teil“ und ähnliche können austauschbar verwendet werden.
-
Der Ausdruck „Datenpunkt,“ „Messpunkt,“ „Beobachtungspunkt“ und ähnliche können austauschbar verwendet werden.
-
Der Kalibrierungs-Prozess „nimmt an“, dass das Kalibrierobjekt einwandfrei vom Werkzeug freigegeben wird. Das heißt, wenn sich der Roboter zu einem Punkt oder zu einer Position bewegt und sich der Greifer öffnet, dann, während sich der Greifer öffnet, bewegt sich das Teil nicht und wird am exakten Punkt oder der exakten Position abgelegt. In der Praxis kann dieses „einwandfreie Freigegeben“ durch herabsetzen der Werkzeugklemmkraft, wie durch ein Nachregeln des Luftdrucks (bei pneumatischen Systemen) erreicht werden. Darüber hinaus kann das „einwandfreie Freigegeben“ durch einen gut konzipierten Greifer erreicht werden, der mechanische Zentrierung während des Ergreifens des Teils ermöglicht. Beispielsweise, wie in 2 und 3 gezeigt, umfasst ein Greifer 20 Greiferabschnitte 22, 24 die speziell für Teil 26 konstruiert sind, welches Teil 26 das gleiche ist wie die anderen Teile, die vom Roboter aufgenommen und platziert werden sollen. Wenn es einen vorbestimmten relativen Offset in X, Y und beim Gieren (im Folgenden mit „u“ bezeichnet) gibt, wird das Teil, wenn sich der Greifer in eine geschlossene Position bewegt, zwischen den Spannbacken des Greifers sowohl abgeglichen, als auch zentriert. Daher wird, unabhängig von der Orientierung des Teils bevor es gegriffen wird, die Stellung des Teils immer fixiert, wenn das Teil gegriffen wird. Der Ausdruck „Stellung“ ist als die Position und Orientierung des Teils relativ zu einem Koordinatensystem definiert. In diesem Fall werden die Fixierstifte der Greiferabschnitte 24 mit entsprechenden Merkmalen 28 des Teils 26 in Berührung gebracht, wobei der gegenüberliegende Finger des Greiferabschnitts 22 mit dem ebenen Merkmal 30 des Teils 26 in Berührung gebracht wird, um Stütze bereitzustellen. 2 und 3 stellen einen Fall dar, in welchem der Greifer speziell für Teile konzipiert ist, um Zentrierung bereitzustellen. Allerdings, wenn ein generischer Greifer 32 mit parallelen Spannbacken verwendet werden soll, wie in 4 gezeigt, kann ein spezielles Kalibriertarget 34 entworfen werden. In diesem Fall wird, wenn sich der Greifer in eine geschlossene Position bewegt, das Kalibriertarget immer die gleiche Stellung aufweisen. Das Vision-System wird den Punkt, der einem Werkzeugmittelpunkt („TCP“) entspricht, identifizieren, wie TCP 36 für das entsprechende Teil 26 in 3 und Kalibriertarget 24 in 4.
-
Zur Klarstellung, wie des Weiteren in 1 gezeigt, entspricht die Mittellinien-Z-Achse 18 des Roboters einem „Werkzeug 0“ oder „Standardwerkzeug‟ D.h., dass, wenn Roboterkoordinaten im Standardwerkzeug referenziert sind, diese Koordinaten diesem Punkt entsprechen, und diese Roboterkoordinaten sind immer bekannt, um sie an jedem Raumpunkt durch die Robotersoftware zu nutzen. Dies ist, wo der Roboter denkt zu sein. Das tatsächlich nützliche Werkzeug kann mit einem Offset Tx, Ty (der als unbekannt oder nicht präzise bekannt angenommen wird) befestigt sein und wird als „Werkzeug 1“ bezeichnet. Zusätzlich zu Kalibrierungs-Parametern werden diese unbekannten Werkzeugoffsets auch von diesem Auto-Kalibrierungs-Verfahren oder -Prozess berechnet. Wenn irgendwelche Teile vom Vision-System detektiert werden, dann ist es notwendig, diese Teile unter Nutzung des Werkzeugs 1 aufzugreifen.
-
Zugrundeliegende Mathematik der Auto-Kalibrierung
-
Der Zusammenhang zwischen den Vision-Koordinaten, Roboterkoordinaten und den Werkzeugoffsets ist wie nachfolgend in Gleichung 1 beschrieben
-
Die folgenden Größen sind bekannt:
- Cx, Cy = Kamera-Pixel-Position entlang der Kamera x, und y Achsen
- Rx, Ry = Roboter X und Y Koordinaten im Werkzeug (die Mittellinien des Werkzeugflansches oder des Standardwerkzeugs)
- Ru = Gieren des Roboters (u) in Grad (Werkzeug 0)
-
Die folgenden Größen sind unbekannt:
- Tx, Ty = unbekannter Werkzeugpunkt-Offset bezogen auf die Mittellinie der Z-Achse.
- Poly = ist der polynomielle Fit gewünschter Ordnung.
- Rot(Ru) repräsentiert die Rotationsmatrix um die Z Achse für einen gegebenen Winkel Ru.
-
Der polynomielle Fit ‚Poly‘ kann abhängig von der Natur der Anwendung und den Nichtlinearitäten, die im Manipulator und Sensor vorherrschen, jeder gewünschten Ordnung sein. Typischerweise können Modellordnungen von 1 bis 5 für einen passenden Fit untersucht werden. Ein Polynom der Ordnung 1 in Cx und Cy hat die Form (mx1 * Cx + ny1 * Cy + oo), wo die Koeffizienten m, n, o die zu bestimmenden Unbekannten sind. Die Anzahl an Messungen, die notwendig sind, um die obige Gleichung unter Nutzung der kleinsten Quadrate zu lösen, kann basierend auf der Modellordnung des in Betracht gezogenen polynomiellen Fits berechnet werden. Beispielsweise gibt es für Modellordnung 1 insgesamt 8 Unbekannte, einschließlich der zwei Werkzeugoffset-Parameter. Da jede Messung zwei Gleichungen bereitstellt (eine für X und eine für Y), werden mindestens vier Messungen benötigt.
-
Die obige Gleichung ordnet die X, Y Pixel-Positionen ihren entsprechenden Positionen in den Roboterkoordinaten zu. In vergleichbarer Weise kann die Orientierung des Objektes in den Kamerakoordinaten auf die entsprechende Orientierung in den Roboterkoordinaten bezogen werden.
-
Kalibrierung: Linearer Fall (n=1)
-
Für den ersten Beobachtungs- oder Messpunkt,
-
Cx
1 und Cy
1 entsprechen einer Vision-Koordinate im Kameraraum, und Rx
1 und Ry
1 entsprechen einer Roboterkoordinate an derselben physikalischen Stelle im Werkzeug 0 oder Standardwerkzeug des Roboters, welche bekannte Werte sind. Die Anwendung der Gleichung 1 resultiert in „linearer Fit“ Gleichung 2:
in welcher die rechte Seite der Gleichung der physikalischen Position des TCP des Roboters entspricht. In Gleichung 2 gibt es acht unbekannte Größen: m
1, n
1, o
1, m
2, n
2, o
2, Tx, Ty. Daher sind für den linearen Fall mindestens vier Beobachtungspunkte nötig, da jede Beobachtung zwei Gleichungen liefert. Die linear gefittete Gleichung 2 wird jetzt als Gleichung 3 wie folgt umgestellt:
-
Die Aufnahme zusätzlicher Beobachtungspunkte und die Trennung derselben in ein Produkt von Matrizen liefert Gleichung 4
welche unter Nutzung von Standardalgorithmen der kleinsten Quadrate gelöst werden kann. Wie zuvor dargelegt ist dies lediglich ein linear gefittetes Beispiel. Fit-Gleichungen höherer Ordnung sind in ähnlicher Weise formuliert.
-
Beispielsweise gibt es für den Fit jeder Ordnung bestimmte unbekannte Koeffizienten, sowie die unbekannten Werkzeugoffsets Tx, Ty. Für einen Fit zweiter Ordnung (n = 2) gibt es 14 Unbekannte, einschließlich Tx, Ty. Für die Ordnung n = 3, gibt es 22 unbekannte Variablen. Die Anzahl unbekannter Variablen, die für jede entsprechende Gleichung der Ordnungsnummer („N“) gelöst werden müssen, ist wie folgt:
-
Wobei die Anzahl von Beobachtungs- oder Messpunkten der Anzahl von Variablen dividiert durch 2 gleicht.
-
Ein beispielhaftes Setup für den Kalibrierungs-Prozess
-
5-10 sind auf einen beispielhaften Aufbau zum Ausüben des Kalibrierungs-Prozessen der vorliegenden Erfindung gerichtet, mit 5-8 und 10, welche Ablaufschritte im Vorgang der Kalibrierung eines Kamera-Robotersystems mit Werkzeugoffsets zeigen. 11 zeigt ein Ablaufdiagramm, welches mit dem Vorgang des Kalibrierungs-Prozesses der vorliegenden Erfindung korrespondiert. Wie in 5 (und Schritt 60 der 11) gezeigt, umfasst ein Aufbau für den Kalibrierungs-Prozess das Aufstellen oder Erzeugen eines Rasters oder eines Arrays 45 von Kalibriertargets 44 an einer Vielzahl von Beobachtungs-, oder Daten-, oder Messpunkten, wie die Messpunkte 48, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76 78. Die Anzahl an zu erfassenden Messpunkten, der Abstand zwischen ihnen (gleichmäßiger Abstand oder ungleichmäßiger Abstand), und auch Bereiche, wo die Messpunkte, wie auf einer Arbeitsoberfläche 42, werden durch einen Bediener während eines „Setup“ Modus' des Roboters definiert oder initial bestimmt. Arbeitsoberfläche 42 ist in 5 als eine im Allgemeinen plane Oberfläche gezeigt, wie in zweidimensionalen, beispielsweise X, Y Koordinaten. D.h., dass Meßpositionen in derselben Ebene sein müssen (feste Z Ebene), gleichwohl sie relativ zueinander ungleichmäßig beabstandet sein können, und sie sich innerhalb des Sichtfeldes der Kamera („FOV“) befinden sollten. Kleinere Abweichungen in Z Koordinaten aufgrund von Oberflächennivellierung, Oberflächengüte, etc. sind zulässig. Wenn dieses Kalibrierung-Verfahren dahingehend erweitert wird, dass eine dreidimensionale („3D“) Kamera verwendet wird, dann können sich die Messpunkte irgendwo im 3D Raum befinden. D.h., wenn 3D Kameras verwendet werden ist die einzige Bedingung für die Messpunkte, dass sich diese innerhalb eines vorbestimmten Bereiches oder Blickfeldes der Kamera 40 (6) befinden müssen
-
Da die Positionierung der Messpunkte lediglich während des Setup Modus' durchgeführt wird, ist es nicht notwendig, dass der Anwender diese im regulären Betrieb erneut definiert, wenn diese Beobachtungs- oder Messpunkte definiert wurden. Die Daten- oder Messpunkte müssen nicht in einem rechteckigen Raster erfasst werden. Wenn ein interessantes Gebiet beispielsweise ein Kreisausschnitt (Kuchen) ist, dann werden Beobachtungen entsprechend erfasst. Die Art, wie Beobachtungen erfasst werden (wo und wie viele) hängt im Allgemeinen ab von: 1) der Form des interessierenden Bereiches, und 2) dem mittleren quadratischen Fehler („RMS“) zwischen den „echten Daten“, welche die tatsächliche Position der Messpunkte in Roboterkoordinaten darstellen, und den Daten, welche vom Fit geschätzt wurden oder durch Berechnung von Werten von der Kalibrierungs-Gleichung, wie untenstehend zusätzlich detailliert beschrieben wird.
-
Wie in 6 gezeigt, umfasst ein Aufbau für den Kalibrierungs-Prozess Roboter 10, der eine Werkzeugausstattung am Ende des Roboterarms oder Werkzeug 12, eine Lichtquelle 38, eine Kamera 40 und eine Arbeitsoberfläche 42 aufweist. 6 zeigt ferner Werkzeug 12, welches das Kalibriertarget 44 von einem Nest 46 aufnimmt. Die Position des Nests 46 ist eine definierte, dem Roboter bekannten Position und muss manuell angelernt werden, um Kalibriertarget 44 an der definierten Position (Schritt 62 der 11) zu positionieren. In einer Ausgestaltung ist das Nest eine definierte Position einer Standard-Werkzeugposition. Der Roboter wird vorgerückt oder bewegt sich zum Nest 46, während der Roboter sich in einem „Anlern“-Modus befindet und der Punkt wird durch den Bediener im Speicher des Kamera-Robotersystems gespeichert. Allerdings ist dieser manuell angelernte Punkt nur approximiert - aber präzise genug, dass, wenn sich der Roboter dahin bewegt, der Gegenstand ordnungsgemäß vom Werkzeug ergriffen wird. An diesem Punkt greift die mechanische Zentrierungseigenschaft des Greifers oder Werkzeugs, wie zuvor erörtert. Obwohl die anfängliche Greifposition des Werkzeugs am Nest approximiert ist, stellt der Greifer oder das Werkzeug sicher, dass sich das Teil beim Greifen relativ zum Werkzeug selbst zentriert. Obwohl das exakte Zentrum des Werkzeugs unbekannt ist, kann der Bediener das Werkzeug mit ausreichender Nähe oder Exaktheit sehen und Positionieren um das Objekt zu greifen, weil das Werkzeug am Roboter angebracht ist. Da der Roboter-Anlern-Modus und selbst-Zentrierung eines Kalibriertargets relativ zum Werkzeug beide denjenigen mit normalen Kenntnissen wohlbekannt sind, wird keine zusätzliche Diskussion bereitgestellt.
-
Wie in 7 (und Schritt 64 der 11) gezeigt ist, bewegt das Werkzeug 12 des Roboters 10 das Kalibriertarget 44 von der definierten Position des Nests 46 zum Messpunkt 48. Messpunkt 48 entspricht Roboterkoordinaten eines Standard-TCP in einem Roboter-Basiskoordinatensystem, welches eine bekannte Position ist.
-
Wenn, wie in 8 gezeigt, das Kalibriertarget 44 am Messpunkt 48 platziert wurde, bewegt sich der Roboter 10 weg vom Kalibriertarget 44. Genauer gesagt bewegt sich der Roboter 10 ausreichend weit weg vom Kalibriertarget 44, sodass Kamera 40, die Teil des Vision-Systems ist, mit von der Lichtquelle 38 bereitgestellter Beleuchtung, ein Bild des Kalibriertargets 44 aufnimmt (Schritt 66 der 11). 9 zeigt ein exemplarisches von der Kamera-aufgenommenes Bild 50 des Kalibriertargets 44. Darüber hinaus detektiert oder identifiziert das Vision-System eine Position des Kalibriertargets 44 in Kamerakoordinaten (auch ein Anteil von Schritt 66 der 11). Die Position identifiziert nicht nur die des Kalibriertargets, aber auch einen Orientierungs-Parameter relativ zur definierten Position, wie zum Beispiel die Winkel-Orientierung, wie Gieren (Rotation um eine Z Achse) wie zuvor erörtert. Es soll verstanden werden, dass in einem 3-D Raum zusätzliche rotatorische Orientierungen wie Rollen und/oder Nicken gemessen werden müssen, welches zusätzliche Messeinrichtung benötigen würde. In diesem Szenario kann ein Robotermanipulator mit 6 oder mehr Freiheitsgraden verwendet werden. Das Betreiben von Vision-Systemen für Roboter ist bekannt und wird hierin nicht weiter erörtert.
-
Sofern die Kamera 40 das Bild aufgenommen hat und die Position des Kalibriertargets 44 identifiziert hat, wie bei 9 erörtert (und Schritt 66 der 11), werden die Roboterkoordinaten und Kamerakoordinaten in einer bekannten Art und Weise in einen Speicher im Kamera-Robotersystem gespeichert (Schritt 68 der 11). Sofern die Koordinaten im Speicher gespeichert sind, wie in 10 gezeigt, bewegt das Werkzeug 12 des Roboters 10 das Kalibriertarget 44 vom Messpunkt 48 zu einem Messpunkt 52. Sofern das Kalibriertarget 44 am Messpunkt 52 platziert wurde, wie in 10 gezeigt, bewegt sich der Roboter 10 vom Kalibriertarget 44 hinweg, das Bild wird aufgenommen und die Position für das Kalibriertarget identifiziert, wie zuvor beschrieben. Somit ist klar, dass das Kalibriertarget 44 dann an jedem verbleibenden Messpunkt des Rasters oder des Arrays, wie in 5 gezeigt, platziert wird, wobei das Vision-System für diese Messpunkte die Bilder aufnimmt und die Position des Kalibriertargets 44 identifiziert. Anders ausgedrückt, nachdem Schritt 68 der 11 durchgeführt wurde, hat das Durchführen von Schritt 70 der 11 zur Folge, dass die Schritte 64, 66 und 68 für jeden verbleibenden Messpunkt wiederholt werden.
-
Sofern alle Roboterkoordinaten und Kamerakoordinaten in einen Speicher gespeichert wurden, wie in Schritt
72 der
11 gezeigt, werden Kalibrierungswerte des Kamera-Roboters und die Werkzeugoffsets gemäß der folgenden Gleichung berechnet:
wie für die Gleichung erster Ordnung, wie zuvor erörtert.
-
Sofern die Kalibrierungswerte des Kamera-Roboters und die Werkzeugoffsets errechnet wurden, in Schritt 74 der 11, werden die errechneten Werte für die Werkzeugoffsets eingestellt oder in den Roboter eingegeben, und in Schritt 76 der 11, werden die Kalibrierungswerte des Kamera-Roboters im Speicher gespeichert.
-
Der automatische Kalibrierungs-Prozess der vorliegenden Erfindung liefert einige nennenswerte Vorteile über manueller Kalibrierung. Beispielsweise kann ein erfahrener Bediener 180-300 Sekunden benötigen, um das Roboterwerkzeug manuell zu positionieren, verglichen mit 2-3 Sekunden mit dem automatischen Kalibrierungs-Prozess. Dies entspricht einer Verbesserung im Zeitfaktor von 100-mal. Auf ähnliche Weise ist die Präzision manueller Arbeitsschritte eines erfahrenen Bedieners auf +/-0.2 mm beschränkt, im Gegensatz zu +/-0.05 mm mit dem automatischen Kalibrierungs-Verfahren. Dies entspricht einer Verbesserung der Präzision um den Faktor von etwa 4. Der Kalibrierungsfehler von +/- 0.05mm wird erreicht, wenn die Reproduzierbarkeit des Roboters +/-0.01 mm beträgt und eine 5 Megapixel („MP“) Kamera verwendet wird. Zusätzlich werden erfahrene Bediener für manuelle Kalibrierung benötigt, während nur Tastenbedienung im automatischen Kalibrierungs-Prozess benötigt wird.
-
Um sicherzustellen, dass die verbesserte Präzision des automatischen Kalibrierungs-Prozesses erreicht wird, werden, wie in 12 gezeigt, aktuelle Daten, d.h. die Roboterkoordinaten mit berechneten Daten, d.h. berechneten Koordinaten, die, wie zuvor erörtert, aus der Kalibrierungsgleichung erhalten wurden, verglichen. Darüber hinaus ist es bevorzugt, dass die Linearität der aktuellen Daten mit den berechneten Daten verglichen wird. Tritt eine Nichtlinearität auf, so ist es notwendig, mehr Daten oder Messpunkte aufzunehmen und die Kalibrierungsgleichung zu lösen, um die zusätzlichen Messpunkte zu integrieren. Eine Fehlerverteilung zwischen berechneten Daten und aktuellen Daten ist in 13 für ein beispielhafter XY-Graph für einen nichtlinearen Fit gezeigt.
-
Linearität, Nichtlinearität oder der Bedarf an zusätzlichen Messpunkten kann wie folgt festgestellt werden:
- Für den X,Y Graphen, der Kalibrierungsfehler für einen linearen Fit aufweist (zum Beispiel, 12), kann geschlussfolgert werden, dass, wenn alle dargestellten Punkte der aktuellen Daten und der berechneten Daten im Allgemeinen gleich nah aneinander liegen, und sich auch der RMS Kalibrierungsfehler innerhalb des „akzeptablen“ Bereiches befindet, ein linearer Fit ausreichend für die Anwendung ist. „Akzeptabler“ Fehlerbereich hängt von der Anwendung ab, wie zum Beispiel, typischerweise unter 0,2 mm. Allerdings, sollte festgestellt werden, dass eine oder mehrere der Beobachtungspunkte verglichen mit dem Rest der Punkte des Graphen eine größere Abweichung zwischen aktuellen Daten und berechneten Daten aufweist, wobei auch der Kalibrierungsfehler über einem akzeptablen Bereich liegt, so deutet dies auf Nichtlinearität entweder im Roboter oder in der Kamera hin. Sofern eine Abweichung, die größer als die anderen ist, in wenigen der Punkte beobachtet wird, aber sich der Kalibrierungs-RMS- Fehler noch innerhalb des akzeptablen Bereiches befindet, so kann noch immer ein linearer Fit verwendet werden.
-
Von obigem, sollte festgestellt werden, dass ein Fit höherer Ordnung notwendig ist (Modellordnung 2 oder höher), dann können Graphen ähnlich jenem in 12 für Fits höherer Ordnungen beobachtet werden. Erneut können alle Datenpunkte dahingehend überprüft werden, ob diese relativ gleich nah beieinanderliegen, wenn aktuelle und berechtigte Daten verglichen werden. Ist dies nicht der Fall, so können sogar Fit-Gleichungen höherer Ordnungen gewählt werden, bis die aktuellen und berechneten Daten zueinander „passen“.
-
Wie in 14, die ähnlich zu 12 ist, gezeigt ist, umfasst Schritt 72A das Berechnen von Kamera-Roboter-Kalibrierungswerten in Werkzeugoffsets für zahlreiche Ordnungen N der Gleichung, wie zum Beispiel 1-5, oder bis hin zur N-ten Ordnung, für welche eine ausreichende Anzahl an Beobachtungs- oder Messpunkten aufgenommen wurde. Beispielsweise, wie oben erwähnt, werden für eine erste Ordnung der Gleichung mindestens 4 Daten- oder Messpunkte benötigt, bevorzugt mehr. In Schritt 74 der 14 werden die Unterschiede zwischen aktuellen und berechneten Werten für jede Ordnung der Gleichung verglichen, und in Schritt 76 der 14, die Lösungsgleichung der Gleichung jener Ordnung, welche die geringsten Unterschiede zwischen den aktuellen Werten und den berechneten Werten in Roboterkoordinaten aufweist, wird ausgewählt. In Schritt 78 der 14 werden die Werte der Lösungsgleichung der ausgewählten Gleichungsordnung im Speicher gespeichert. In einer Ausgestaltung werden in Schritt 74 lediglich die Unterschiede zwischen den aktuellen und berechneten Werten für die Gleichung erster Ordnung verglichen, und wenn die Unterschiede geringer sind als eine vorbestimmte Zahl, so wird die Lösungsgleichung der Gleichung erster Ordnung verwendet und im Speicher gespeichert, ohne weitere Berechnung anderer Ordnungen der Gleichung. In einer Ausgestaltung werden in Schritt 74 lediglich die Unterschiede zwischen den aktuellen und berechneten Werten für die Gleichung ersten und zweiten Grades verglichen, und in Schritt 76 die Lösungsgleichung der Gleichung erster Ordnung oder der Gleichung zweiter Ordnung, je nachdem, welche von beiden die geringeren Unterschiede aufweist, und in Schritt 78 die Werte der Lösungsgleichung der Gleichung ausgewählter Ordnung im Speicher gespeichert. In einer Ausgestaltung, wenn die Lösung von mehr als einer Ordnung der Gleichung Unterschiede zwischen den aktuellen und errechneten Werten liefern, die geringer sind als ein vorbestimmter Wert, so ist die ausgewählte Gleichungsordnung diejenige, welche die geringste Zahl aufweist
-
Obwohl die Erfindung mit Bezug zu einer bevorzugten Ausgestaltung beschrieben wurde, so ist dem Fachmann ersichtlich, dass verschiedene Änderungen durchgeführt werden können und Äquivalente können durch Elemente davon substituiert werden, ohne vom Geist und Umfang der Erfindung, wie in den beigefügten Ansprüchen definiert, abzuweichen.
-
Insbesondere wird es für den Fachmann klar sein, dass die vorliegende Erfindung in anderen spezifischen Formen, Strukturen, Anordnungen, Proportionen, Größen und mit anderen Elementen, Materialien und Komponenten ausgestaltet sein kann, ohne vom Geist oder essenziellen Eigenschaften davon abzuweichen. Ein Fachmann wird erkennen, dass die Erfindung mit vielen Modifikationen der Struktur, der Anordnung, der Proportionen, der Größen, des Materials und Komponenten und andere verwendet werden kann, die in der Praxis der Erfindung verwendet werden, die insbesondere an spezifische Umgebungen und Betriebsbedingungen angepasst sind, ohne vom Prinzip der vorliegenden Erfindung abzuweichen. Die derzeitig offenbarten Ausgestaltungen sind daher in jeder Hinsicht als illustrativ und nicht restriktiv anzusehen, der Umfang der Erfindung wird durch die beigefügten Ansprüche definiert und ist nicht auf die vorangestellte Beschreibung oder Ausgestaltungen reduziert.