-
Die Erfindung bezieht sich auf ein Verfahren zum Kalibrieren eines Roboters und einer Kamera und auf ein System zum Durchführen des Verfahrens.
-
Systeme mit einem Roboter mit einem Roboterarm insbesondere zum Handhaben von Gegenständen sind allgemein bekannt. Bei solchen Systemen sind Kameras zum Erfassen von Ausrichtung und Positionen solcher Gegenstände in einem Arbeitsbereich relativ zu dem Roboterarm bekannt. Um eine insbesondere automatisierte Steuerung des Roboterarms und gegebenenfalls weiterer steuerbare Systemkomponenten zu ermöglichen, werden vor Betriebsbeginn der Roboter, insbesondere dessen Roboterarm, und ein Bildbereich der Kamera relativ zueinander kalibriert. Dabei handelt es sich um einen aufwändigen Prozess, welcher unter anderem eine Vielzahl von Handhabungsschritten seitens einer Bedienperson erforderlich macht.
-
Aus der
DE 10 2010 032 840 A1 ist eine Messvorrichtung zum Bestimmen einer Position eines Werkzeugmittelpunktes eines Werkzeuges vorbekannt, das an einer Werkzeuganbaufläche eines Roboters angebracht ist. Diesbezüglich ist eine Kamera am vorderen Abschnitt des Roboters angebracht und es liegt ein, in einem Arbeitsraum des Roboters angeordneter Abtastpunkt mit definiertem Ursprung vor. Gemäß dem bekannten Verfahren soll die Position des Werkzeugmittelpunktes bezüglich der Werkzeuganbaufläche mit hoher Genauigkeit und geringer Zeit bestimmt werden, ohne dass eine Speziallehre verwendet werden muss.
-
Die
EP 2 783 814 A2 offenbart ein Robotersystem, welches einen Roboterarm mit Kamera aufweist, wobei die Kamera so positioniert ist, dass ein Werkstück aufgenommen werden kann. Zur Kalibrierung kommen verschiedene Marker zum Einsatz, um eine Koordination zwischen den Kameradaten und den jeweiligen Positionen des Roboterarms herbeizuführen und einen Kalibriervorgang in die Wege zu leiten.
-
Bei der
US 7,899,577 B2 wird ebenfalls ein Kalibrierverfahren mit automatischer Fehlerkalkulation offenbart, wobei ein Messsystem kamerabasiert ist.
-
Die
US 6,321,137 B1 nutzt zum Kalibrieren eines Roboters, umfassend einen Roboterarm, eine mathematische Modellierung, wobei am Roboterarm ein Laser als Entfernungsmesseinrichtung sowie eine CCD-Kamera angeordnet ist, so dass letztendlich eine dreidimensionale Lagebestimmung des Werkstückes als Zielobjekt möglich wird.
-
Die
US 5 608 847 A bezieht sich auf programmierbare Roboter, umfassend einen oder mehrere Roboterarme, um automatisierte Montagevorgänge auf der Basis eines CAD-Systems ausführen zu können.
-
Zur Lagestimmung und zur Erarbeitung von Führungsdaten für den Roboter kommt ein Kamerasystem zum Einsatz.
-
Ein vergleichbares Kamerasystem findet sich auf bei der
US 4 753 569 A . Zum Kalibrieren kommt bei dieser Lösung eine Fläche mit punktförmigen Markierungen zum Einsatz, um einen Reset-Vorgang des Roboters vornehmen zu können.
-
Die Aufgabe der Erfindung besteht darin, ein Verfahren zum Kalibrieren eines Roboters und einer Kamera mittels eines Positionierbereichs relativ zueinander bereitzustellen, welches einfach realisierbar ist und eine zuverlässige Kalibrierung ermöglicht. Insbesondere sollen geeignete Transformationsdaten für Koordinaten verschiedener Koordinatensysteme mit möglichst wenigen Verfahrensschritten bereitgestellt werden.
-
Diese Aufgabe wird durch das Verfahren mit den Merkmalen des Patentanspruchs 1 bzw. ein System mit den Merkmalen des Patentanspruchs 9 gelöst. Vorteilhafte Ausgestaltungen sind Gegenstand von abhängigen Ansprüchen.
-
Bevorzugt wird gemäß einer bevorzugten Ausgestaltung ein Verfahren zum Kalibrieren eines Roboters und einer Kamera mittels eines Positionierbereichs relativ zueinander, wobei die Kamera Bilddaten eines Bildbereichs des Positionierbereichs bereitstellt, und in einem ersten Schritt ein Kalibrier-Gegenkörper im Bildbereich in dem Positionierbereich angeordnet, insbesondere aufgelegt wird, in einem zweiten Schritt ein am Roboter angeordneter Kalibrierkörper am Kalibrier-Gegenkörper angelegt wird und Roboter-Positionsdaten bestimmt werden, wobei der Kalibrier-Gegenkörper hinsichtlich zumindest einer Kontur an zumindest eine Gegenkontur des Kalibrierkörpers angepasst ist, in einem dritten Schritt Bilddaten des Kalibrier-Gegenkörpers aufgenommen und damit Kamera-Positionsdaten des Kalibrier-Gegenkörpers bestimmt werden und mittels der Roboter-Positionsdaten und der Kamera-Positionsdaten Transformationsdaten zum Kalibrieren des Roboters und der Kamera relativ zueinander bestimmt werden.
-
Der Positionierbereich dient zum Positionieren des Kalibrierkörpers. Der Positionierbereich ist insbesondere ein Auflagebereich und ist gemäß bevorzugter Weiterbildung eine Ebene bzw. Fläche, auch Freiformfläche, auf der der Kalibriergegenkörper abgelegt werden kann. Nachdem das Verfahren bzw. die Kalibrierung durchgeführt wurde, ist der Positionier- bzw. Auflagebereich für weitere Schritte, die mit dem Roboter ausgeführt werden, nicht mehr erforderlich, so dass der Auflagebereich optional entfernt und/oder durch eine andere Auflagebasis ersetzt werden kann. Auch der Kalibrierkörper 17 ist am Roboter 14 bzw. dessen Arm wieder abnehmbar angeordnet, so dass der Kalibrierkörper 17 nach dem Kalibrieren vom Roboter 14 vorzugsweise abnehmbar ist, um z.B. einen Manipulator an dessen Stelle am Roboter 14 anzuordnen bzw. zu befestigen.
-
Dadurch, dass mittels der Roboter-Positionsdaten und der Kamera-Positionsdaten Transformationsdaten zum Kalibrieren des Roboters und der Kamera relativ zueinander bestimmt werden, wozu der Kalibrierkörper und der Kalibrier-Gegenkörper verwendet werden, werden gemäß bevorzugter Weiterbildung zugleich auch Transformationsdaten zum Kalibrieren des Roboters und der Kamera relativ zu dem Positionierbereich und/oder sonstigen später im Bildbereich befindlichen Gegenständen bestimmt. Die Transformationsdaten sind insbesondere Transformationsmatrizen, mit denen Positionsdaten zwischen den verschiedenen Koordinatensystemen umrechenbar sind.
-
Die Kamera ist insbesondere ein optischer Sensor, welcher ein Bild aufnehmen und Bilddaten zur Weiterverarbeitung bereitstellen kann. Kamera-Positionsdaten sind insbesondere Positionsdaten der momentanen Position des Gegen-Kalibrierkörpers in den Bilddaten eines mit der Kamera aufgenommenen Bildes. Die Kamera-Positionsdaten sind insbesondere einem Kamera-Koordinatensystem zugeordnet. Die Kamera kann auch aus einzelnen Komponenten bestehen, welche räumlich getrennt angeordnet sind. So kann ein optischer Sensor mit gegebenenfalls einer Linse in einer relativ zum Positionierbereich definierten Aufnahmeposition angeordnet sein, während ein zur Kamera gehörende Bilder verarbeitende Elektronik davon getrennt an einem anderen Ort oder sogar in einem das gesamte System zentral steuernden Prozessor eingerichtet ist.
-
Der Roboter ist insbesondere ein Industrieroboter, der bevorzugt vier oder mehr Achsen und vier oder mehr Freiheitsgrade hat. Insbesondere kann ein solcher Roboter der Funktionalität eines menschlichen Arms nachempfunden sein. Roboter-Positionsdaten sind insbesondere Positionsdaten der momentanen Position eines vorderseitigen Roboterabschnitts des Roboters und/oder des Kalibrierkörpers, während dieser in Eingriff mit dem Gegen-Kalibrierkörper steht. Dabei steht der Kalibrierkörper insbesondere in einer räumlich eindeutig definierten oder definierbaren Position zu mindestens einer Komponente des Roboters, insbesondere zu einem vorderseitigen Arm oder Handhabungsabschnitt des Roboters, so dass die Positionsdaten des Kalibrierkörpers in einem eindeutigen Verhältnis zu den Roboter-Positionsdaten stehen. Die Roboter-Positionsdaten sind insbesondere einem Roboter-Koordinatensystem zugeordnet.
-
Unter der angepassten Kontur wird insbesondere verstanden, dass beim Aneinandersetzen des Kalibrier-Gegenkörpers und des Kalibrierkörpers zwischen deren Kontur bzw. Gegenkontur ein insbesondere formschlüssiger Eingriff ineinander erfolgt. Gemäß einer bevorzugten Weiterbildung zentriert sich dadurch der Kalibrier-Gegenkörper unter dem Kalibrierkörper.
-
Insbesondere wird beim Entfernen des Kalibrierkörpers darauf geachtet, dass dabei die Position des Kalibrier-Gegenkörpers im Positionier- bzw. Auflagebereich nicht verändert wird.
-
Das Einsetzen bzw. Auflegen des Kalibrier-Gegenkörpers im Bildbereich im Positionier- bzw. Auflagebereich erfolgt so, dass zumindest ein für die Verfahrensdurchführung ausreichend großer oder eindeutig erfassbarer Abschnitt des Kalibrier-Gegenkörpers im Bildbereich angeordnet ist.
-
Insbesondere sind somit die Bilddaten der Kamera einem Kamera-Koordinatensystem zugeordnet. Eine Ausrichtung des Roboterarms und gegebenenfalls weiterer Roboterkomponenten werden mittels des Roboter-Koordinatensystems beschrieben.
-
Optional ist auch dem Positionierbereich ein Koordinatensystem zugeordnet. In dem Positionierbereich, insbesondere einem Auflagebereich angeordnete handzuhabende Gegenstände sind somit optional dem Koordinatensystem des Positionierbereichs zu anordbar.
-
Gemäß einer Weiterbildung kann vor dem Durchführen des dritten Schritts der Kalibrierkörper von dem Kalibrier-Gegenkörper entfernt werden, um den Kalibrier-Gegenkörper ganz unverdeckt oder zumindest weniger verdeckt vom Kalibrierkörper in dem Bildbereich der Kamera zu lassen. Dadurch kann ein größerer Abschnitt des Kalibrier-Gegenkörpers durch die Kamera erfasst werden und damit eine Positionsbestimmung des Kalibrier-Gegenkörpers bzw. der Kamera-Positionsdaten verbessert werden.
-
Eine Ausgestaltung besteht in einem Verfahren, bei dem vor dem Bestimmen der Transformationsdaten zumindest einmal in weiteren Schritten der Kalibrierkörper mit einer anderen Pose an den Kalibrier-Gegenkörper angelegt wird und zusätzliche Roboter-Positionsdaten bestimmt werden und nachfolgend zu dieser Pose zusätzliche Kamera-Positionsdaten bestimmt werden, welche zum Bestimmen der Transformationsdaten mit verwendet werden.
-
Insbesondere beschreibt eine Pose die Position und Orientierung des Roboters in insbesondere dessen Koordinatensystem vollständig. Insbesondere beschreibt die Pose die Position und Ausrichtung aller Komponenten des Roboters zwischen dessen Basis und seinem vorderseitigen Arm oder Handhabungsabschnitt, insbesondere auch von daran angesetzten Zusatzkomponenten und Werkzeugen im dreidimensional aufgespannten Raum. Neben reinen statischen Koordinaten eines oder mehrere Punkte insbesondere des Roboters und/oder des Kalibrierkörpers werden zu solchen Punkten somit insbesondere auch Ausrichtungs- bzw. Winkelangaben bereitgestellt. Im Fall des Versteilens des Arms bzw. des Kalibrierkörpers durch den Raum beschreibt die Pose insbesondere auch den zeitlichen und/oder räumlichen Verlauf der Ausrichtung und Orientierung der einzelnen Komponenten des Roboters und des daran angeordneten Kalibrierkörpers.
-
Gemäß einer Weiterbildung sind die Daten aus den verschiedenen Posen gleichberechtigt und es gibt keine Pose die besonders behandelt wird. Es bleibt aber eine eindeutige Zuordnung der jeweiligen Pose bzw. Roboterposition bzw. Roboterorientierung zum jeweiligen Kamerabild mit den Bilddaten herstellbar, welche bei der Berechnung bzw. Bestimmung der Transformationsdaten zum Kalibrieren des Roboters und der Kamera verwendet wird.
-
Eine andere Ausgestaltung besteht in einem Verfahren, bei dem vor dem Bestimmen der Transformationsdaten zumindest einmal in einem weiteren Schritt die Position des Kalibrier-Gegenkörpers im Bildbereich im Positionierbereich verändert wird und zumindest ein Teil der Schritte bei dieser veränderten Position wiederholt wird zum Bestimmen zusätzlicher Roboter-Positionsdaten und zusätzlicher Kamera-Positionsdaten, welche zum Bestimmen der Transformationsdaten mit verwendet werden.
-
Das Einsetzen oder Auflegen des Kalibrier-Gegenkörpers kann vorteilhaft an einer beliebigen, insbesondere nicht zwingend vordefinierten Position innerhalb des Bildbereichs erfolgen.
-
Dies erleichtert die Verfahrensweise gegenüber Verfahren mit fest vordefinierten Posen und Positionen, welche zur Kalibrierung angefahren bzw. eingestellt werden müssen.
-
Auch ist eine Ausgestaltung ein Verfahren, bei dem zum Bestimmen der Transformationsdaten drei oder mehr Paare aus derart bestimmten Roboter-Positionsdaten und Kamera-Positionsdaten verwendet werden.
-
Gemäß einer besonders bevorzugten Weiterbildung wird die Position des Kalibrier-Gegenkörpers mindestens drei Mal im Bildbereich verändert, insbesondere verschoben und dabei zusätzlich zugleich jedes Mal auch die Pose so geändert, dass der vorderseitige Arm des Roboters, der Handhabungsabschnitt und/oder der insbesondere daran angeordnete Kalibrierkörper aus möglichst verschiedenen Winkeln zu dem Kalibrier-Gegenkörper führt, so dass für die Berechnung mehr unterschiedlich gewonnene Daten verwendbar sind.
-
Eine weitere Ausgestaltung ist ein Verfahren, bei dem der Kalibrier-Gegenkörper als die Kontur oder Teil der Kontur eine Ausnehmung aufweist und der Kalibrierkörper eine in die Ausnehmung einsetzbare Gegenkontur aufweist.
-
Auch eine Ausgestaltung ist ein Verfahren, bei dem der Kalibrier-Gegenkörper als die Kontur oder Teil der Kontur eine Durchtrittsöffnung aufweist.
-
Eine Durchtrittsöffnung bietet der Kamera zusätzlich zu einer Außenkontur des Kalibrier-Gegenkörpers auch eine definierte Innenkontur von diesem, die besonders einfach erfassbar und für die Lagebestimmung auswertbar ist.
-
Ebenso eine Ausgestaltung ist ein Verfahren, bei dem der Kalibrier-Gegenkörper als die Kontur oder Teil der Kontur insbesondere eine zumindest abschnittsweise ringförmige Ausnehmung aufweist und der Kalibrierkörper eine in die Ausnehmung einsetzbare zumindest abschnittsweise ringfömige, zumindest abschnittsweise kegelförmige, kugelförmige oder zumindest abschnittsweise kugelförmige Gegenkontur aufweist.
-
Insbesondere runde und kugelförmige Konturen von Kalibrierkörper und Kalibrier-Gegenkörper passen sich besonders gut und eindeutig aneinander an, wenn der Kalibrierkörper unter einer anderen Pose, insbesondere unter einem anderen Winkel an den Kalibrier-Gegenkörper angesetzt wird.
-
Neben diesen besonders bevorzugten Konturen sind gemäß anderen Weiterbildungen auch kantige Konturen einsetzbar, da die Kontur lediglich für eine genaue Positionierung dient und die Kamera-Positionsdaten im Kamera-Koordinatensystem erst bestimmt werden, nachdem die Roboter-Positionsdaten im Roboter-Koordinatensystem bestimmt wurden. Dadurch ist ein eventuelles Verschieben des Kalibrier-Gegenkörpers während des Ansetzens des Kalibrierkörpers vorteilhaft ohne Bedeutung für die Auswertung der gewonnenen Roboter- und Kamera-Positionsdaten.
-
Auch ist eine Ausgestaltung ein Verfahren, bei dem eine Mittenposition des Kalibrier-Gegenkörpers bestimmt wird.
-
Dies ist vorteilhaft für die Bestimmung der Kamera Positionsdaten bei einer Bildverarbeitung der von der Kamera aufgenommenen Bilddaten. Jedoch sind auch andere Konturen, z.B. eckige Konturen dafür geeignet erfassbar und verarbeitbar, wenn diese eine exakte Lage des Kalibrier-Gegenkörpers im Koordinatensystem des Positionierbereichs und/oder im Kamera-Koordinatensystem ermöglichen.
-
Beispielsweise kann eine der aneinander anlegbaren Konturen einen insbesondere abschnittsweisen innen- oder außenseitigen Zahnring bilden, an den eine Gegenkontur mit einer gerundeten glatten Fläche anlegbar ist, welche an dessen Zahnschneiden anliegt. Auch in einem solchen beispielhaften Fall wäre der Kalibrier-Gegenkörper hinsichtlich zumindest einer Kontur an zumindest eine Gegenkontur des Kalibrierkörpers angepasst. Prinzipiell wird somit darunter, dass der Kalibrier-Gegenkörper hinsichtlich einer Kontur an eine Gegenkontur des Kalibrierkörpers angepasst ist, verstanden, dass die Kontur und die Gegenkontur auch nur einen kleinen Anlageabschnitt oder ein paar Anlagepunkte umfassen, welche eine möglichst eindeutige Ausrichtung von Kalibrierkörper und Kalibrier-Gegenkörper zueinander ermöglichen.
-
Bevorzugt wird als Ausgestaltung auch ein System mit einem Positionierbereich, einem Roboter, einer Kamera und einer Steuereinrichtung, wobei die Steuereinrichtung zum Durchführen eines solchen Verfahrens programmiert und/oder ausgelegt ist.
-
Insbesondere ist die Steuereinrichtung nicht nur zur Verarbeitung der so gewonnenen Roboter- und Kamera-Positionsdaten eingerichtet, sondern auch zum Bestimmen der Roboter- und Kamera-Positionsdaten einschließlich insbesondere einer Ansteuerung der Kamera und von Bewegungen des Roboters.
-
Eine Ausgestaltung ist ein System, bei dem die Gegenkontur des Kalibrier-Gegenkörpers und die Kontur des Kalibrierkörpers derart ausgebildet sind, dass sich der Kalibrier-Gegenkörper beim Ansetzen des Kalibrierkörpers unter diesem in eine eindeutige Position bringt oder zentriert.
-
Durch eine nachfolgende Bildaufnahme werden dann die momentanen und gegebenenfalls veränderten Bild-Positionsdaten des Kalibrier-Gegenkörpers bestimmt, so dass die Veränderung von dessen Position bei der Bestimmung der Transformationsdaten berücksichtigt werden kann.
-
Wenn der Roboter mit Kalibrierkörper und Kalibrier-Gegenkörper dazu gemäß einer bevorzugten Weiterbildung relativ zueinander verstellbar sind, insbesondere der Kalibrier-Gegenkörper verstellbar oder verschiebbar ist, kann der Kalibriergegenkörper richtig an dem Kalibrier-Gegenkörper angesetzt werden, insbesondere in dessen Kontur „eintauchen“.
-
Das ist vorteilhaft, um ein Bild mit möglichst vielen Details aufnehmen zu können. Wenn der Kalibrier-Gegenkörper hingegen fest montiert ist, dann wird der Roboter gemäß einer anderen Ausgestaltung nachgiebig ausgeführt, um ein Ansetzen, insbesondere ein Eintauchen zu ermöglichen.
-
Bereitgestellt werden so ein System und ein Verfahren zum Kalibrieren eines Roboters, insbesondere Industrieroboters bezüglich einer Kamera und ggfs. eines Positionierbereichs. Der Positionier- bzw. Auflagebereich ist beispielsweise eine Ebene, kann aber auch eine funktionale Komponente sein, wie ein Förderband oder eine sonstige Zuführung. Nach dem Kalibrieren soll der Roboter beispielsweise Gegenstände wie Produkte greifen, die beliebig im Positionierbereich angeordnet sind. Die Kamera erkennt einen solchen Gegenstand und bestimmt dessen Lagekoordinaten.
-
Ein Ausführungsbeispiel wird nachfolgend anhand der Zeichnung näher erläutert. Dabei werden in den verschiedenen Figuren für gleiche oder gleichwertige Komponenten und Verfahrensschritte gleiche Bezugszeichen verwendet, so dass diesbezüglich anstelle einer erneuten Beschreibung auf die Beschreibung der anderen Figuren verwiesen wird. Es zeigen:
- 1 ein System mit Positionierbereich, Roboter und Kamera bei einem ersten Schritt eines Verfahrens zum Kalibrieren eines Roboters und einer Kamera mittels eines Positionierbereichs relativ zueinander,
- 2 das System bei einem zweiten Schritt des Verfahrens,
- 3 das System bei einem dritten Schritt des Verfahrens,
- 4 das System bei einem vierten Schritt des Verfahrens,
- 5 das System bei einem fünften und sechsten Schritt des Verfahrens und
- 6 das System bei einem siebten und einem achten Schritt des Verfahrens.
-
Die Figuren zeigen ein System 10 mit einem Positionierbereich 11, einem Roboter 14 und einer Kamera 18. Der Positionierbereich 11 ist beispielsweise ein Auflagebereich, zu welchem eine Transporteinrichtung 12 führt. Mittels der Transporteinrichtung 12 können Gegenstände 13 zu dem Positionierbereich 11 hin und/oder von dem Positionierbereich 11 weg geführt werden. Bei den Gegenständen 13 kann es sich beispielsweise um Gegenstände handeln, welche durch den Roboter 14 handzuhaben oder zu manipulieren sind.
-
Der Roboter 14 umfasst einen Arm 15, welcher insbesondere in sich gelenkig verstellbar ist. Der Arm 15 weist einen vorderseitigen Arm bzw. Armabschnitt 16 auf, welcher insbesondere als ein Handhabungsabschnitt ausgebildet sein kann. Am Arm, insbesondere an dessen vorderseitigem Armabschnitt 16 sind insbesondere Vorrichtungen zum Handhaben oder Manipulieren derartiger Gegenstände 13 anordbar. Für den Zweck der Kalibrierung und Durchführung des Verfahrens zum Kalibrierung des Roboters und der Kamera relativ zueinander und insbesondere relativ zu dem Positionierbereich ist an dem Arm 15, insbesondere an dem vorderseitigen Armabschnitt 16 ein Kalibrierungskörper 17 angeordnet. Der Kalibrierungskörper 17 befindet sich dabei in einer definierten Position und Ausrichtung relativ zu dem Arm 15 bzw. zu dessen vorderseitigem Armabschnitt 16 und weiteren Komponenten des Roboters 14.
-
Die Kamera 18 weist bevorzugt einen optischen Sensor 19 auf. Der optische Sensor 19 ist so im Raum angeordnet, dass eine Handhabung von derartigen Gegenständen 13 in dem Positionierbereich 11 nicht behindert wird, zugleich aber der Positionierbereich 11 möglichst umfassend durch einen Bildbereich 20 des optischen Sensors 19 bzw. der Kamera 18 überdeckt wird.
-
Der Positionierbereich 11 ist beispielhaft eine ebene Auflagefläche, auf welcher solche Gegenstände 13 und zum Kalibrieren ein Kalibrier-Gegenkörper 21 anordbar, insbesondere auflegbar sind.
-
Der Kalibrier-Gegenkörper 21 weist eine Kontur 22 auf, welche bevorzugt an eine Kontur bzw. Gegenkontur 28 des Kalibrierungskörpers 17 angepasst ist, insbesondere formschlüssig angepasst ist. Beispielsweise handelt es sich bei dem Kalibrier-Gegenkörper 21 um einen ringförmigen Körper. Bei dem Kalibrierungskörper 17 handelt es sich insbesondere in einem solchen Fall beispielsweise um einen kugelförmigen Körper mit einem Durchmesser größer oder insbesondere etwas größer als einem Innenrand der Kontur 22 des ringförmigen Kalibrier-Gegenkörpers 21. Dadurch ist der Kalibrierungskörper 17 unabhängig von einer konkreten Pose des Roboters 14 und seines Arms 15 mit dem Kalibrierungskörper 17 auf dem Kalibrier-Gegenkörper 21 eindeutig aufsetzbar. Der Kalibrier-Gegenkörper 21 verschiebt sich beim Aufsetzen des Kalibrierungskörpers 17 gegebenenfalls an diesen anpassend auf der Auflagefläche bzw. im Positionierbereich 11.
-
Zur Verarbeitung der vom optischen Sensor 19 aufgenommenen Bilddaten und zur Steuerung des Roboters 14 und zur Lage- und Ausrichtungsbestimmung von dessen Komponenten einschließlich des Arms 15 und des Kalibrierungskörpers 17 dient bevorzugt eine gemeinsame Steuereinrichtung 23. Jedoch können die Kamera und der Roboter auch eigenständige Steuereinrichtungen bzw. Prozessoren aufweisen, wobei dann eine dieser eigenständigen Steuereinrichtungen oder eine weitere Steuereinrichtung eine Datenverarbeitung zur Bestimmung von Transformationsdaten zur Kalibrierung des Roboters 14 und der Kamera 18 und gegebenenfalls des Positionierbereichs 11 durchführt.
-
Zur Datenverarbeitung mittels insbesondere der Steuereinrichtung 23 dienen insbesondere verschiedene Arten von Daten und Koordinaten. Insbesondere ist dem Positionierbereich 11 ein Positionierbereich-Koordinatensystem KO mit Positionierbereich-Koordinaten x,y,z zugeordnet. Der Kamera 18 bzw. dem optischen Sensor 19 ist ein Kamera-Koordinatensystem KOO mit Kamera-Koordinaten xo,yo,zo zugeordnet. Dem Roboter 14 bzw. dessen Arm 15 und dem Kalibrierkörper 17 ist ein Roboter-Koordinatensystem KOR mit Roboter-Koordinaten xr,yr,zr zugeordnet.
-
Eine aus den Bilddaten der Kamera 18 bestimmbare Position des Kalibrier-Gegenkörpers 21 wird ermittelt und in Kamera-Positionsdaten K001(21), K002(21), KOOx(21) des Kalibrier-Gegenkörpers 21 im Kamera-Koordinatensystem KOO beschrieben.
-
Positionsdaten zur Beschreibung der Position und Ausrichtung des Roboters 14 und/oder der daran angeordneten Komponenten, wie dessen Arm 15 und dem Kalibrierkörper 17 werden mittels Roboter-Positionsdaten KOR1(21), KOR2(21), K0Rx(21) im Roboter-Koordinatensystem KOR beschrieben. Dabei werden jeweils mehrere Sätze an Koordinaten bestimmt, was beispielhaft mittels eines Laufindex n mit 1, 2, 3, ..., x, ..., n beschrieben wird.
-
Zum Durchführen des Verfahrens zur Kalibrierung des Roboters 14 und der Kamera 18 mittels des Positionierbereichs 11 relativ zueinander werden gegenüber einem danach üblichen Roboterbetrieb somit insbesondere zwei Hilfseinrichtungen verwendet. Die erste Hilfseinrichtung ist der Kalibrierungskörper 17, der insbesondere als eine Kugel ausgebildet ist und insbesondere temporär für den Kalibrierungsvorgang am Roboter 14 bzw. dessen Robotergreifer befestigt wird. Als weitere Hilfseinrichtung dient der Kalibrier-Gegenkörper 21, der im Positionierbereich 11 angeordnet wird. Der Kalibrier-Gegenkörper 21 weist eine insbesondere innenseitige Kontur auf, welche bevorzugt als kegelförmige Durchgangsbohrung ausgebildet ist. Diese Kegelform dient zur Aufnahme des kugelförmigen Körpers oder Körperabschnitts des Kalibrierungskörpers 17. Die Kamera 18 dient insbesondere zum Ermitteln der Position des Kalibrier-Gegenkörpers 21 in dem Positionierbereich 11. Damit der Roboter 14 später beispielsweise einen Gegenstand 13 richtig greifen kann und dazu von der Kamera 18 bezüglich eines solchen Gegenstands 13 bereitgestellte Koordinaten richtig interpretiert, werden die Komponenten Roboter 14, Kamera 18 und insbesondere Positionierbereich 11 zueinander kalibriert.
-
Insbesondere werden zum Kalibrieren geometrische Transformationsdaten, insbesondere Transformationsmatrizen zwischen den Koordinatensystemen des Roboters 14, der Kamera 18 und des Positionierbereichs 14 bestimmt. Mit Hilfe der Transformationsdaten bzw. Transformationsmatrizen werden Positionsdaten zwischen den verschiedenen Koordinatensystemen umgerechnet.
-
1 zeigt einen ersten Schritt S1 des Verfahrens, bei dem der Kalibrier-Gegenkörper 21 in dem Positionierbereich 11 eingesetzt wird, insbesondere auf dessen beispielhaft ebener Auflagefläche aufgelegt wird. Das Einsetzen erfolgt dabei innerhalb des Bildbereichs 20 der Kamera 18. Außerdem erfolgt die Anordnung bzw. das Einsetzen des Kalibrier-Gegenkörpers 21 so, dass dieser sich im Arbeitsbereich bzw. Arbeitsraum des Roboters 14 befindet, so dass der Roboter 14 den Kalibrierungskörper 17 zum Kalibrier-Gegenkörper 21 bewegen kann.
-
2 zeigt einen zweiten Schritt S2 des Verfahrens, bei dem der Kalibrierungskörper 17 in einer ersten Pose 24 zum Kalibrier-Gegenkörper 21 geführt und daran angelegt wird.
-
Insbesondere wird dabei an der Kontur 22 des Kalibrier-Gegenkörpers 21 die Kontur bzw. Gegenkontur 28 des Kalibrierungskörpers 17 insbesondere formschlüssig angelegt. Bei der bevorzugten Ausgestaltung mit einer Kugel oder einem kugelförmigen Abschnitt des Kalibrierungskörpers 17 und einem ringförmigen Kalibrier-Gegenkörper 21 erfolgt das passende aneinander Anlegen gegebenenfalls auch dadurch, dass der Kalibrier-Gegenkörper 21 durch die Kugelform gegebenenfalls in dem Positionierbereich 11 verschoben wird. In dieser Stellung wird eine Bestimmung der Roboter-Positionsdaten KOR1(21) vorgenommen. Diese werden insbesondere mit Informationen über die konkrete Pose 24 des Roboters 14 bereitgestellt bzw. gespeichert. Insbesondere wird dazu die entsprechende Roboterposition des Robotercontrollers gespeichert.
-
Bei der bevorzugten Ausgestaltung dient insbesondere die Durchgangsbohrung im Kalibrier-Gegenkörper 21 zur Ermittlung der Position des Kalibrier-Gegenkörpers 21 auf der Ebene durch die Bildverarbeitung der Bilddaten der Kamera 18. Dazu wird mit dem Roboter 14 der Kalibrierkörper 17 zum Kalibrier-Gegenkörper 21 bewegt. Die am Roboter 14 als Kalibrierkörper 17 montierte Kugel wird in die Kegelbohrung geführt, so dass sich der Kalibrier-Gegenkörper 21 direkt unter der Kugel über die bzw. mittels der Kegelbohrung zentriert.
-
3 zeigt einen dritten Schritt S3 des Verfahrens, bei dem mit der Kamera 18 die am Ende des zweiten Schritts S2 vorliegenden Positionsdaten des Kalibrier-Gegenkörpers 21 bestimmt werden. Aus dem Abbild, welches mit der Kamera 18 erstellt wird bzw. aus dessen Bilddaten werden die entsprechenden Kamera-Positionsdaten K001(21) des Kalibrier-Gegenkörpers 21 im Kamera-Koordinatensystem KO bestimmt. Insbesondere wird mit einem Bildverarbeitungsalgorithmus die Mittenposition des Kalibriergegenstücks auf der Ebene bestimmt und diese Position speichert. Diese Kamera-Positionsdaten K001(21) werden insbesondere den zuvor bestimmten Roboter-Positionsdaten KOR1(21) paarweise zugeordnet. Bevorzugt wird vor der Aufnahme mit der Kamera 18 der Kalibrierungskörper 17 mit dem Roboterarm 15 aus dem direkten Bildbereich 20 so weit herausgeführt, dass die Kamera 18 den Kalibrier-Gegenkörper 21 vollständig oder möglichst vollständig erfassen kann.
-
4 zeigt einen vierten Schritt S4 des Verfahrens, bei dem der Roboter 14 mit dem Kalibrierungskörper 17 erneut zu dem Kalibrier-Gegenkörper 21 geführt wird und mit diesem bevorzugt wieder in formschlüssigen, insbesondere zumindest teilweise formschlüssigen Eingriff gebracht wird. Im Gegensatz zum zweiten Verfahrensschritt S2 wird der Kalibrierungskörper 17 dabei jedoch mittels einer gegenüber der ersten Pose 24 verschiedenen zweiten Pose 25 zum Kalibrier-Gegenkörper 21 bewegt und gehalten. In dieser Stellung werden erneut weitere Roboter-Positionsdaten KOR2(21) im Roboter-Koordinatensystem KOR ermittelt und bereitgestellt bzw. gespeichert.
-
5 zeigt einen fünften und einen sechsten Schritt S5, S6 des Verfahrens. Beim fünften Schritt S5 des Verfahrens werden weitere Kamera-Positionsdaten K002(21) des Kalibrier-Gegenkörpers 21 bestimmt. Eine Verschiebung des Kalibrier-Gegenkörpers 21 während des sechsten Verfahrensschritts S6 stellt daher kein Problem dar. Optional, aber bevorzugt wird dazu zuvor wieder der Kalibrierungskörper 17 aus dem Bildbereich 20 zwischen der Kamera 18 bzw. deren optischem Sensor 19 und dem Kalibrier-Gegenkörper 21 heraus bewegt.
-
Nachfolgend wird in dem sechsten Schritt S6 des Verfahrens der Kalibrier-Gegenkörper 21 in dem Positionierbereich 11 aus der Position in eine andere Position innerhalb des Positionierbereichs 11, innerhalb des Bildbereichs 20 und innerhalb des durch den Roboter 14 erreichbaren Raumbereichs verstellt bzw. bewegt 26. Dabei wird der Kalibrier-Gegenkörper 21 in dem Positionierbereich 11 insbesondere in eine andere Position versetzt, die nur teilweise oder nicht mehr überlappend ist im Vergleich zu der Position bzw. den Positionen aus den vorherigen Verfahrensschritten.
-
6 zeigt einen siebten und einen achten Schritt S7, S8 des Verfahrens. In dem siebten Schritt S7 des Verfahrens wird der Kalibrierungskörper 17 wieder in Eingriff mit dem Kalibrier-Gegenkörper 21 gebracht. In dieser Stellung werden erneut Roboter-Positionsdaten KORx(21) des Roboters 14 bestimmt.
-
Außerdem werden, gegebenenfalls nach Entfernen des Kalibrierungskörpers 17 aus dem direkten Sichtbereich, für diese Position im nachfolgenden Schritt weitere Kamera-Positionsdaten KOOx(21) des Kalibrier-Gegenkörpers 21 bestimmt. Dadurch entsteht ein weiteres Paar aus Koordinatensätzen von einander zugeordneten Kamera-Positionsdaten KOOx(21) und Roboter-Positionsdaten KORx(21).
-
Diese sind jedoch für die neue Position des Kalibrier-Gegenkörpers 21 und eine dementsprechend noch weitere Pose 27 bestimmt und werden bereitgestellt bzw. gespeichert.
-
Die Schritte S1 oder S2 bis S5 werden wiederholt, um eine Datenmenge an Positionen des Roboters 14 und des Kalibrier-Gegenkörpers 21 zu generieren, wobei die Datenmenge bzw. die Anzahl an Positionsdaten abhängig von einer gewünschten Genauigkeit wählbar sein kann. Für eine Berechnung werden mindestens drei insbesondere jeweils mehrdimensionale Positions- bzw. Koordinatenpaare bevorzugt. Zur Steigerung der Genauigkeit werden in der Praxis aber mehr Datenpaare verwendet.
-
Im achten Schritt S8 des Verfahrens werden letztendlich aus den verschiedenen paarweisen Positionsdaten, d.h. den Kamera-Positionsdaten KOOn und den Roboter-Positionsdaten KORn Transformationen bzw. Transformationsmatrizen bestimmt. Diese Transformationsmatrizen dienen zu einer Umrechnung der verschiedenen Positionsdaten zwischen den verschiedenen Koordinatensystemen, d.h. insbesondere dem Kamera-Koordinatensystem KOO und dem Roboter-Koordinatensystem KOR sowie optional auch dem Positionierbereich-Koordinatensystem KO.
-
Aus den Datenpaaren bzw. den Paaren aus Kamera-Positionsdaten KOOn und Roboter-Positionsdaten KORn werden durch einen insbesondere Algorithmus die Transformationsmatrizen für die geometrischen Transformationen der Koordinatensysteme des Roboters 14 zum Positionierbereich, insbesondere zu dessen Auflagefläche, des Roboters 14 zur Kamera 18 berechnet. Durch die Bestimmung der Transformationsmatrizen ist das gesamte System 10 kalibriert. Das Bildverarbeitungssystem bzw. die Steuereinrichtung 23 kann nun Positionen von Gegenständen 13 im Positionierbereich 11 berechnen und die Positionen dem Roboter 14 übermitteln, der die Gegenstände 13 dann automatisiert greift, bearbeitet oder sonst wie handhabt.
-
Für die Bestimmung der Transformationsmatrizen kann beispielsweise F * t = C * p angesetzt werden, wobei F eine Matrize z.B. einer Roboterflanschposition ist, t ein Vektor für eine Kugel/Kalibrierkörper-zu-Flansch-Transformation ist, C eine Matrize einer Kamera-zu-Roboter-Transformation ist und p ein Vektor der Kamera-Positionsdaten der Aufnahme des Kugel/Kalibrier-Gegenkörpers ist.
-
Dabei sind t und C Unbekannte. F und p sind gegeben bzw. bestimmbar aus den in den Schritten S2, S4 und S7 bestimmten bzw. bestimmbaren Positionen zu den Posen. Verwendet werden können dabei Informationen aus einem sogenannten Teaching, d.h. insbesondere einem manuellen Bewegen des Kalibrierkörpers 17 zum Kalibrier-Gegenkörper 21.
-
Die obige Gleichung kann in J * x = f umgestellt werden. Dabei beinhaltet J n mal die Matrizeneinträge in F und p mit n als Anzahl der insbesondere mittels Teaching erfassten Positionen. Die Größe x beinhaltet die Unbekannte in t und C.
-
Die Größe J beinhaltet Werte aus F. J und f sind bekannt, so dass sich x mit x = J# * f berechnen lässt. J# ist Pseudo-Inverse von J. Mit x wird die Kugeltransformation t und die Kamera-Roboter-Transformation C erhalten.
-
Bezugszeichenliste
-
- 10
- System mit Positionierbereich, Roboter und Kamera
- 11
- Positionierbereich, insbesondere Auflagebereich
- 12
- Transporteinrichtung
- 13
- Gegenstand
- 14
- Roboter
- 15
- Arm, insbesondere gelenkig verstellbarer Arm
- 16
- vorderseitiger Armabschnitt
- 17
- Kalibrierkörper
- 18
- Kamera
- 19
- optischer Sensor
- 20
- Bildbereich
- 21
- Kalibrier-Gegenkörper
- 22
- Kontur des Kalibrier-Gegenkörpers
- 23
- Steuereinrichtung
- 24
- Pose
- 25
- Pose
- 26
- Bewegung des Kalibrier-Gegenkörpers
- 27
- Pose
- 28
- Kontur bzw. Gegenkontur des Kalibrierkörpers
- KO
- Positionierbereich-Koordinatensystem
- KOO
- Kamera-Koordinatensystem
- KOR
- Roboter-Koordinatensystem
- K001(21), K002(21), KOOx(21)
- Kamera-Positionsdaten des Kalibrier-Gegenkörpers
- KOR1(21), KOR2(21), K0Rx(21)
- Roboter-Positionsdaten
- n
- Index für Koordinatensätze mit 1, 2, 3, ..., n
- x,y,z
- Positionierbereich-Koordinaten
- xo,yo,zo
- Kamera-Koordinaten
- xr,yr,zr
- Roboter-Koordinaten
- S1 -
- S8 Schritte des Verfahrens