DE102015104587B4 - Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens - Google Patents

Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens Download PDF

Info

Publication number
DE102015104587B4
DE102015104587B4 DE102015104587.7A DE102015104587A DE102015104587B4 DE 102015104587 B4 DE102015104587 B4 DE 102015104587B4 DE 102015104587 A DE102015104587 A DE 102015104587A DE 102015104587 B4 DE102015104587 B4 DE 102015104587B4
Authority
DE
Germany
Prior art keywords
robot
marker
camera
image
positions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102015104587.7A
Other languages
English (en)
Other versions
DE102015104587A1 (de
Inventor
Tilo Förster
Matthias Krinke
Steffen Bingel
Xuan Ba Pham
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PI4_ROBOTICS GmbH
Original Assignee
PI4_ROBOTICS GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PI4_ROBOTICS GmbH filed Critical PI4_ROBOTICS GmbH
Priority to DE102015104587.7A priority Critical patent/DE102015104587B4/de
Publication of DE102015104587A1 publication Critical patent/DE102015104587A1/de
Application granted granted Critical
Publication of DE102015104587B4 publication Critical patent/DE102015104587B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39016Simultaneous calibration of manipulator and camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39045Camera on end effector detects reference pattern
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39057Hand eye calibration, eye, camera on hand, end effector

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Verfahren zum Kalibrieren eines Roboters (14) an einem Arbeitsbereich (11), bei dem- zumindest eine Kamera (18) an einer verstellbaren Komponente des Roboters (14) angeordnet ist oder wird,- mit der verstellbaren Komponente zumindest eine Roboter-Position (Rn_i) so angefahren wird, dass in einem Bildbereich (23) der mindestens einen Kamera (18) zumindest ein ortsfester Marker (M1, M2) angeordnet ist,- wobei in der mindestens einen Roboter-Position (Rn_i) der Bildbereich (23) mit der mindestens einen Kamera (18) aufgenommen wird,- zu zumindest einem aufgenommenen Bildbereich (23), von zumindest drei zueinander verschiedenen aufgenommenen Bildbereichen (23) eine Marker-Bild-Position (Bn_i; Bn-i') des Markers (M1, M2) in dem aufgenommenen Bildbereich (23) bestimmt wird,- wobei bei zumindest einer der aufgenommenen Bildbereiche (23) eine Bildqualität festgestellt wird,- wobei zumindest eine Position des Markers (M1, M2) unter Berücksichtigung der Bildqualität der Aufnahme im Roboter-Koordinatensystem (KOR) derart bestimmt wird, dass wenn die Bildqualität der Kameraaufnahme eines Markers (M1, M2) zu schlecht ist, diese Aufnahme, wenigstens nicht gleichberechtigt und optional mit geringer Priorität in die Bestimmung mit einbezogen werden kann und- bei zumindest einem von- einem Kalibrieren nach einem Versetzen des Roboters (14),- einem Einsetzen eines anderen Roboters (14) und- zu einem späteren Zeitpunkt die Schritte erneut durchgeführt werden und aus zumindest einer, derart erneut bestimmten Marker-Roboter-Positionen (Mn-i') gegenüber derart zuvor bestimmten Marker-Roboter-Positionen (Mn_i) eine Abweichung (Δ) bestimmt wird.

Description

  • Die Erfindung bezieht sich auf ein Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich 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. Um eine insbesondere automatisierte Steuerung des Roboterarms und gegebenenfalls weiterer steuerbare Systemkomponenten zu ermöglichen, wird der Roboter, insbesondere dessen Roboterarm, vor einem insbesondere ersten Betriebsbeginn auf den Arbeitsbereich geteacht. Unter einem Teachen wird insbesondere verstanden, dass verstellbare Komponenten des Roboters - z.B. Greifer oder ein Roboterarm - durch insbesondere manuelles Bewegen in gewünschte Positionen gebracht werden, wobei Koordinaten der verstellbaren Komponenten für diese Positionen dann erfasst und für eine spätere automatisierte Ansteuerung der Positionen verwendet werden. Dabei handelt es sich um einen aufwändigen Prozess, welcher unter anderem eine Vielzahl von Handhabungsschritten seitens einer Bedienperson erforderlich macht.
  • Wenn an einem Arbeitsplatz ein Roboter, z.B. ein mobiler Industrieroboter an einem für diesen bekannten Arbeitsplatz erneut eingesetzt wird, erreicht der Roboter durch Ungenauigkeiten in der Positionierung einer Roboterbasis des Roboters seine bekannte Position jedoch nicht mehr 100%-ig. Dadurch sind alle Positionen, die er mit seinem Roboterarm anfahren wird, leicht verschoben, wenn die beim früheren Einsatz geteachten Roboter-Positionen zur Steuerung verwendet werden. Daher müssen alle Roboterpositionen, z.B. Greifpositionen des Roboters manuell nachgeteacht werden oder die Ungenauigkeiten z.B. beim Greifen müssen tolerierbar gering sein.
  • Ein vergleichbares Problem besteht, wenn ein Roboter defekt ist und ausgetauscht werden muss. Durch den Austausch des Roboters und damit verbundene mechanische Toleranzen stimmen die Roboter-Positionen, z.B. Greifpositionen des neuen Roboters nicht mehr mit den Roboter-Positionen des alten Roboters überein. Daher müssen alle Roboter-Positionen des neuen Roboters manuell nachgeteacht werden.
  • Aus der DE 11 2011 101 730 T5 ist ein System und ein Verfahren zur Kalibrierung eines Roboters mit Hilfe im Raum angeordneter, stationärer Kameras und einer Kalibrierplatte am Endeffektor vorbekannt. Nach Aufnahme von Bildern aller Kameras erfolgt die Berechung der Kalibrierplattenlage anhand des Bildmaterials der Kameras. Mittels Vergleich und Koordinatentransformation erhält das bekannte System eine erste Abschätzung der Warenendeffktorlage. Anschließend erfolgt eine Verfeinerung der Daten.
  • Die DE 10 2010 032 840 A1 offenbart eine Vorrichtung und ein Verfahren zur Bestimmung des Werkzeugmittelpunktes eines Roboters. Die Bestimmung erfolgt mittels Kamera, optischer Messung eines Abtastpunktes, Aufzeichnung des Abtastpunktes und Ausrichtung auf einen Werkzeugmittelpunkt. Die Kamera befindet sich im vorderen Abschnitt des Robotoers und blickt auf ein zum Abgleich geeignetes Kalibriermuster. Die dortigen Berechnungen basieren auf den Methoden der Koordinatentransformation.
  • Aus der DE 60 2005 003 147 T2 ist ein Messsystem und ein Verfahren zum Messen eines Ziels unter Verwendung einer Kamera oder eines Näherungssensors am Ende eines Handhabungsgerätes oder eines Roboterarms vorbekannt. Dabei muss das Kamerakoordinatensystem zum Messzeitpunkt senkrecht über dem Zielkoordinatensystem stehen, wodurch sich die Berechnung der Abweichung vereinfacht. Bei einem solchen System ist der Einsatz einer Kalibrierplatte nicht notwendig.
  • Eine Vorrichtung zur Korrektur einer gelernten Position eines Bewegungsprogrammes für einen Roboter ist in der DE 60 2004 013 107 T2 offenbart. Mittels Aufnahme von Positionsdaten durch einen Bildsensor und anschließender Speicherung werden mindestens drei Merkmale eines Objektes aufgezeichnet und anschließend mittels eines Berechungsprogramms umgerechnet. Die aufgezeichneten, dreidimensionalen Positionsdaten für das durch den Roboter zu bearbeitende Objekt werden von mindestens drei Merkmalen, die nicht entlang einer geraden Linie liegen, geprägt. Ferner werden die vom Bildsensor aufgezeichneten, vom Speicher gespeicherten und von der Berechnungseinheit berechneten Daten genutzt, um die Bewegungen, die aus dem Bewegungsprogramm abgeleitet werden, zu korrigieren.
  • Die US 7,853,359 B2 offenbart eine Vorrichtung und ein Verfahren zur Kalibrierung eines mechanischen Parameters eines Mehrgelenkroboters. Dieser vorbekannte Roboter verfügt über ein erstes festes Koordinatensystem. Dabei wird ein Messgerät zur Abstandsmessung und eine Ausrichteinrichtung zum Ausrichten des Roboterarms genutzt, so dass die tatsächliche Position des Roboters mit einer angenommenen Position vergleichbar ist. Alternativ kann eine Kamera am vorderen Teil des Roboters angebracht sein, welche ein Bild aufnehmen kann und so einen Zielpunkt detektiert, welcher sich in einem zweiten Koordinatensystem befindet. Ein Vergleich sowie eine Koordinatentransformation liefert Anweisungen, wie der mechnische Parameter korrigierend zu beaufschlagen ist.
  • Die nächstliegende US 2008/0004750 A1 beschreibt eine Messvorrichtung, ein Messsystem und ein Verfahren zum automatisierten Kalibrieren von Robotern. Mit Hilfe einer kameragestützten Entfernungsbestimmung sollen vektorielle Lageabweichungen zwischen dem Blickpunkt der Kamera und einem beweglichen Werkzeugkoordinatensystem ermittelt werden. Korrekturwerte werden über einen Programmablauf mit Hilfe eines Prozessors verarbeitet und abgespeichert. Die ermittelten vektoriellen Lageabweichungen werden mit Hilfe des Prozessors in Korrekturdaten umgerechnet. Die ursprüngliche Positionierbewegung wird anschließend mit den Korrekturdaten beaufschlagt und optimiert.
  • Die Aufgabe der Erfindung besteht darin, ein Verfahren zum Kalibrieren eines Roboters bereitzustellen, welches einfach realisierbar ist und eine zuverlässige Kalibrierung ermöglicht. Insbesondere soll ein automatisches Wiederfinden von bereits geteachten Greifpositionen eines insbesondere mobilen Industrieroboters nach einer Ortsveränderung des Roboters ermöglicht werden. Geeignete Verschiebungs- oder Transformationsdaten für Koordinaten sollen insbesondere 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 13 gelöst. Vorteilhafte Ausgestaltungen sind Gegenstand von abhängigen Ansprüchen.
  • Erfindungsgemäß wird bei dem Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich, bei dem zumindest eine Kamera an einer verstellbaren Komponente, insbesondere an einem verstellbaren Arm des Roboters angeordnet ist oder wird, mit der verstellbaren Komponente zumindest eine Roboter-Position - insbesondere Pose - so angefahren, dass in einem ein Bildbereich der mindestens einen Kamera zumindest ein ortsfester Marker angeordnet ist, wobei in der mindestens einen Roboter-Position der Bildbereich mit der mindestens einen Kamera aufgenommen wird, wobei zu zumindest einem aufgenommenen Bildbereich, insbesondere zu jedem von zumindest drei zueinander verschiedenen aufgenommenen Bildbereichen eine Marker-Bild-Position des Markers in dem aufgenommenen Bildbereich bestimmt wird, wobei zumindest eine, insbesondere jeweils eine Marker-Roboter-Position als Position des Markers im Roboter-Koordinatensystem bestimmt wird und bei zumindest einem von
    • - einem Kalibrieren nach einem Versetzen des Roboters,
    • - einem Einsetzen eines anderen Roboters und
    • - zu einem späteren Zeitpunkt
    die Schritte erneut durchgeführt werden und aus zumindest einer, insbesondere zumindest drei derart erneut bestimmten Marker-Roboter-Positionen gegenüber derart zuvor bestimmten Marker-Roboter-Positionen eine Abweichung bestimmt wird.
  • Vergleicht man diese Marker-Roboter-Positionen mit den Marker-Roboter-Positionen zum Zeitpunkt des insbesondere erstmaligen Teachens bzw. bei der Ersteinrichtung des Robotersystems, so wird die Abweichung als Offset (deutsch: Versatz) einer Offset-Transformation erhalten. Diese Abweichung entspricht der Verschiebung und/oder Verdrehung der Roboterbasis gegenüber den übrigen, ortsfest gebliebenen Systemkomponenten durch die Ungenauigkeiten in der Positionierung.
  • Bereitgestellt werden somit insbesondere Transformationsdaten, mit denen Positionsdaten von im System hinterlegten und anzusteuernden Roboter-Positionen anpassbar sind an eine veränderte Position eines wieder neu im Arbeitsbereich platzierten oder eines ausgetauschten Roboters.
  • Unter der verstellbaren Komponente des Roboters wird insbesondere ein Arm des Roboters verstanden, welcher insbesondere relativ zu einer Basis des Roboters verstellbar bzw. beweglich ist. Soweit ein Arm angeführt ist, steht dieser zur einfacheren Beschreibung entsprechend für die verstellbare Komponente. Eine solche Basis ist wiederum relativ zu z.B. einem Sockel positionierbar, welcher zur Positionierung eines solchen Roboters als räumlich feste Einrichtung im den Roboter umgebenden System ausgebildet ist.
  • Ermöglicht wird dies insbesondere durch eine Weiterbildung durch Aufstellung und Lösung eines Gleichungssystems gemäß M ( n_i ) = R ( n_i ) * B ( n_i )
    Figure DE102015104587B4_0001
    mit M(n_i) als Marker-Roboter-Position für eine i-te Pose zu einem n-tem Marker als Position des Markers im Roboter-Koordinatensystem, R(n_i) als Roboter-Position für eine i-te Pose zu einem n-tem Marker als anzusteuernde Position des Roboters im Roboter-Koordinatensystem und B(n_i) als Bild-Position für eine i-te Pose zu n-tem Marker als Position des Markers im Bild bzw. Bildkoordinatensystem.
  • Über einen Berechnungsalgorithmus ist damit die relative Position der Kamera am Roboter, insbesondere im Robotergreifer bzgl. des Koordinatensystems der Marke bestimmbar. Ergebnis ist gemäß einer Ausgestaltung die Abweichung, insbesondere eine Verschiebung des Koordinatensystems des Roboters bzgl. des Koordinatensystems der Marker.
  • Berücksichtig werden somit Bilder von Markern, die unter verschiedenen Roboter-Positionen bzw. sogenannten Posen aufgenommen wurden.
  • Eine Weiterbildung ist ein Verfahren, bei denen der Marker als Körper eine definierte Kontur aufweist, beispielsweise einen zwei- oder dreidimensionalen Körper z.B. in Form eines Sterns, Quaders, Herzens oder sogenannten QR-Codes ausbildet. Dies ist vorteilhaft für die Bestimmung der Positionsdaten bei einer Bildverarbeitung der von der Kamera aufgenommenen Bilddaten, um die Marker-Bild-Position innerhalb des aufgenommenen Bildbereichs zu bestimmen. Jedoch sind auch andere Konturen, z.B. eckige Konturen dafür geeignet erfassbar und verarbeitbar, wenn diese eine exakte Lage und/oder Ausrichtung des Markers im Arbeitsbereich-Koordinatensystem und/oder im Roboter-Koordinatensystem ermöglichen.
  • 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 der Kamera und/oder der Bildpositionen werden zu solchen Punkten somit insbesondere auch Ausrichtungs- bzw. Winkelangaben bereitgestellt. Im Fall des Verstellens des Arms bzw. der Kamera 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 der daran zumindest zeitweilig angeordneten Kamera.
  • 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 zu jeweiligen Bildbereichen mit den Bilddaten herstellbar, welche bei der Berechnung bzw. Bestimmung der Transformationsdaten zum Kalibrieren des Roboters relativ zu dessen Umgebung, insbesondere dem Arbeitsbereich verwendet wird.
  • Wenn gemäß einer Weiterbildung z.B. festgestellt wird, dass bei einer Kameraaufnahme eines Markers die Bildqualität schlecht ist, beispielsweise aufgrund Unschärfe oder dass der Marker nur sehr klein sichtbar ist, dann kann diese Aufnahme nicht gleichberechtigt und optional mit geringerer Priorität mit in die Berechnung einbezogen werden.
  • Eine Ausgestaltung des Verfahrens ist, dass die Abweichung als Korrekturgröße für nachfolgend im Betrieb zu verwendende Roboter-Positionen verwendet wird.
  • Eine Ausgestaltung des Verfahrens ist, dass Datenwerte der Abweichung auf nachfolgend zu verwendende Positionsdaten angewendet, insbesondere berechnet, insbesondere aufaddiert oder davon subtrahiert werden, und derart angepasste Positionsdaten beim weiteren Betrieb zum Ansteuern von Positionen des Roboters und/oder von dessen zumindest einer verstellbaren Komponente, insbesondere Arm zu verwenden.
  • Anstelle der von einer Steuerung zu verwendenden ursprünglichen oder bisherig verwendeten Positionsdaten werden somit für die Robotersteuerung zuvor angepasste Positionsdaten verwendet, die um die Abweichung korrigiert wurden.
  • Eine Ausgestaltung dieses Verfahrens ist, dass die angepassten weiteren Positionsdaten in einem Speicher hinterlegt werden, wobei zumindest ein Steuerprogramm zum Ansteuern von Positionen des Roboters und/oder von dessen zumindest einer beweglichen Komponente im Betrieb auf die zuvor, insbesondere vor Start des Steuerprogramms angepassten Positionsdaten zugreift.
  • Dadurch kann eine Berechnung korrigierter Positionsdaten für einen Teil oder alle von durchzuführenden Steuerprogrammen vor Programmstart, insbesondere direkt bei der Kalibrierung des Roboters durchgeführt werden. Die Positionsdaten sind beispielsweise von einem Steuerprogramm während dessen Initialisierung oder dessen Durchführung aus dem Speicher abrufbare Positionsdaten.
  • Eine Ausgestaltung des Verfahrens ist, dass ein Steuerprogramm, insbesondere eine Software zum Steuern des Roboters und/oder von dessen zumindest einer beweglichen Komponente abhängig von der Abweichung oder von den angepassten weiteren Positionsdaten angepasst wird.
  • Dadurch kann eine Berechnung korrigierter Positionsdaten für einen Teil oder alle von durchzuführenden Steuerprogrammen durchgeführt werden, insbesondere direkt bei der Kalibrierung des Roboters. Korrigiert wird somit das Steuerprogramm als solches mit Blick auf dessen darin integrierten Positionsdaten.
  • Eine Ausgestaltung des Verfahrens ist, dass zumindest zwei zueinander verschiedene Roboter-Positionen so angefahren werden, dass in dem jeweiligen Bildbereich der mindestens einen Kamera einer von zwei zueinander verschiedenen ortsfesten Markern angeordnet ist und der andere der beiden Marker zumindest teilweise, insbesondere ganz außerhalb des Bildbereichs angeordnet ist.
  • Insbesondere ist es eine Weiterbildung, dass in der anderen Roboter-Position dann dieser eine Marker teilweise oder ganz innerhalb des Bildbereichs angeordnet ist und der andere der beiden Marker ganz außerhalb des Bildbereiches angeordnet ist.
  • Eine Ausgestaltung des Verfahrens ist, dass die mindestens eine anzufahrende Roboter-Position so bestimmt wird, dass der Bildbereich den Marker vollständig und eine zusätzliche Bildfläche in zumindest einem Teil des Umfelds des Markers erfasst.
  • Durch die zusätzliche Bildfläche ist auch bei einer ungenauen Einstellung des Roboters im Arbeitsbereich gewährleistet, dass der Marker vorzugsweise ganz oder zumindest zu einem für die Bestimmung seiner Position in dem Bildbereich ausreichend großen Anteil im Bildbereich erfasst wird.
  • Eine Ausgestaltung des Verfahrens ist, dass der zumindest eine Marker ortsfest an einer Systemkomponente angeordnet ist, wobei die Systemkomponente vom Roboter und dessen Komponenten beabstandet und relativ zum Arbeitsbereich ortsfest ausgebildet ist.
  • Solche Systemkomponenten sind beispielsweise eine Roboteraufnahmeeinrichtung wie ein Robotermontagesockel, eine Arbeitsfläche, auf der handzuhabende oder zu bearbeitende Gegenstände abgelegt werden oder relativ zu dem Arbeitsbereich in ortsfester, insbesondere starrer Verbindung stehende Komponenten, wie z.B. ein Transportband. Bei den Systemkomponenten und dadurch den daran angeordneten ortsfesten Markern handelt es sich somit bevorzugt um Gegenstände oder Markierungen, welche sich zwischen den verschiedenen Bestimmungen der Marker-Roboter-Positionen räumlich nicht verändern, insbesondere räumlich relativ zueinander nicht verändern.
  • Bei einem mobilen Roboter ist der Marker bzw. die Systemkomponente insbesondere nur in bestimmten Zuständen ortsfest, wenn der Roboter stillsteht. Sobald sich der mobile Roboter mit seiner Basis bewegt, ändern sich die Abstände.
  • Eine Ausgestaltung des Verfahrens ist, dass die mindestens eine Kamera an der verstellbaren Komponente, insbesondere einem Arm, insbesondere einem Greifer des Roboters angeordnet ist und eine jeweilige Kameraposition relativ zu einem insbesondere vorderseitigen Abschnitt der verstellbaren Komponente beim Bestimmen der Marker-Roboter-Positionen und der erneut bestimmten Marker-Roboter-Positionen mitberücksichtigt wird.
  • Insbesondere ermöglicht das Mitberücksichtigen der Kameraposition für das Bestimmen der Marker-Roboter-Positionen ein zeitweiliges Ansetzen einer Kamera, ggfs. sogar einer anderen Kamera an dem insbesondere Arm, ohne dabei beim späteren Kalibrierverfahren exakt die gleiche Position der Kamera am Arm haben zu müssen, wie beim früheren bzw. vorherigen Bestimmen der Marker-Roboter-Positionen. Ermöglicht wird dies insbesondere durch eine Weiterbildung durch Aufstellung und Lösung eines Gleichungssystems gemäß M ( n_i ) = R ( n_i ) * C * B ( n_i )
    Figure DE102015104587B4_0002
    mit C als Kameraposition bzw. Positionsvektor der Kameraposition. Beim Berechnen wird somit eine Abweichung der Kameraposition und Kameraorientierung der Kamera relativ zu einem definierten Punkt am früheren Befestigungsort der Kamera am Roboter automatisch mit herausgerechnet.
  • Eine Ausgestaltung des Verfahrens ist, dass das Aufnehmen von Bildbereichen für zumindest einen Marker mit der mindestens einen Kamera aus zumindest zwei Betrachtungswinkeln oder Roboter-Positionen oder Posen durchgeführt wird.
  • Dies wird insbesondere dadurch erreicht, dass mit dem Arm zumindest zwei oder drei zueinander verschiedene Roboter-Positionen angefahren werden. Insgesamt werden so bevorzugt zwei, drei oder mehr zueinander verschiedene Aufnahmen bzw. Bilder erzeugt, die einen Marker zeigen und aus zueinander verschiedenen Betrachtungswinkeln aufgenommen werden. Gemäß bevorzugter Ausgestaltung sind die Betrachtungswinkel dabei hinsichtlich einer Orientierung in einem räumlichen Koordinatensystem des Arbeitsbereichs zueinander verschieden. Verwendet werden können beispielsweise zueinander verschiedene Posen bzw. Roboter-Positionen mit einer ausreichenden Anzahl zueinander verschiedener Betrachtungswinkel auf einen einzigen Marker.
  • Eine Ausgestaltung des Verfahrens ist, dass das Aufnehmen von Bildbereichen für zumindest zwei Marker mit der mindestens einen Kamera aus zumindest zwei Betrachtungswinkeln, Roboter-Positionen oder Posen durchgeführt wird.
  • Verwendet werden können somit auch zwei oder mehr Marker, welche durch eine insgesamt ausreichende Anzahl zueinander verschiedener Betrachtungswinkel mit der Kamera erfasst bzw. aufgenommen werden.
  • Eine Ausgestaltung ist auch ein Verfahren, bei dem mit der verstellbaren Komponente zumindest drei zueinander verschiedene Roboter-Positionen - insbesondere Posen - so angefahren werden, dass bei jeder Roboter-Position in einem ein Bildbereich der Kamera zumindest ein ortsfester Marker angeordnet ist, wobei in jeder der Roboter-Positionen der Bildbereich mit der Kamera aufgenommen wird.
  • Werden gleichzeitig mehrere Kameras am Roboter angeordnet und zur Aufnahme verwendet, dann können mit einer Roboterpose entsprechend mehrere Bilder aus unterschiedlichen Blickwinkeln zeitlich parallel aufgenommen werden. Die Anzahl der benötigten Posen kann sich so bis auf eine einzige Pose reduzieren.
  • Eine ausreichende Anzahl aufgenommener Bildbereiche ist insbesondere dann gegeben, wenn ein zum Bestimmen der Marker-Roboter-Positionen aufgestelltes Gleichungssystem lösbar ist. Insbesondere ist jede Roboter-Position in Raumkoordinaten durch 3 Positionswerte bzw. Positionskoordinaten und durch 3 Orientierungswerte bzw. Orientierungskoordinaten definiert. Je nach Ausgestaltung können aber auch weniger oder mehr Koordinaten einsetzbar sein.
  • Bevorzugt wird als Ausgestaltung auch ein System zum Durchführen eines Verfahrens nach einem vorstehenden Anspruch mit einem Arbeitsbereich, einem Roboter, einer installierten oder installierbaren Kamera, zumindest einem ortsfesten Marker, der in einem einstellbaren Bildbereich der Kamera angeordnet ist, und einer Steuereinrichtung, wobei die Steuereinrichtung zum Durchführen eines Verfahrens nach einem vorstehenden Anspruch programmiert und/oder ausgelegt ist.
  • Insbesondere ist die Steuereinrichtung nicht nur zur Verarbeitung der so gewonnenen Marker-Roboter-Positionen und Marker-Bild-Positionen und Kamerapositionsdaten und Roboter-Positionen eingerichtet, sondern auch zum Bestimmen der Roboter-Positionen bzw. entsprechender Positionsdaten einschließlich insbesondere einer Ansteuerung der momentanen Bewegungen und der korrigierten zukünftigen Bewegungen des Roboters.
  • Insbesondere beim ersten solchen Bestimmen kann der Roboter und/oder dessen Arm optional manuell zu den Positionen bewegt werden, um dort entsprechenden Positionsdaten zu erfassen. Zum Kalibrieren werden die Roboter-Positionen bzw. deren Positionsdaten als Steuerdaten verwendet, um den Roboter und/oder dessen Arm insbesondere maschinell automatisch oder optional auch manuell zu den Roboter-Positionen zu bewegen.
  • Unter den Positionen werden insbesondere Positionsdaten verstanden, welche eine definierte Ausrichtung des Roboters und/oder seines Arms im Raum, insbesondere im Arbeitsbereich festlegen. Solche Positionsdaten können je nach Verfahrensschritt und Art der Position erfasst und/oder als Steuerdaten zum automatischen Bewegen des Roboters und/oder des Arms zu der durch die Positionsdaten definierten Roboter-Position verwendet werden.
  • Unter einem Bestimmen wird bei den verschiedenen Verfahrensschritten insbesondere auch ein Berechnen von Positionsdaten verstanden.
  • Der Arbeitsbereich wird auch als Arbeitsraum bezeichnet, in dem der Roboter eingesetzt wird. Entsprechend wird durch das System und durch das Verfahren eine einfach und zuverlässig durchführbare Arbeitsraumkalibrierung eines Roboters, insbesondere Industrieroboters bereitgestellt.
  • Ermöglicht wird so gemäß einer ersten besonders bevorzugten Einsatzvariante die Verwendung eines ortsveränderlichen Roboters, insbesondere mobilen Industrieroboters, in einer Produktion mit mehreren festen Arbeitsorten, in deren Arbeitsbereich der Roboter eingerichtet und eingesetzt wird. Ermöglicht wird so gemäß einer zweiten besonders bevorzugten Einsatzvariante die Verwendung eines insbesondere auch mobilen Roboters, insbesondere Industrieroboters, der anstelle eines Roboters eingesetzt wird, der z.B. defekt ist und ausgetauscht werden muss. In all solchen Fällen wird der Roboter im Arbeitsbereich eingesetzt, ggfs. mit für den Einsatzzweck geeigneter Programme und Positionsdaten eingerichtet und anschließend verfahrensgemäß kalibriert.
  • Ein Ausführungsbeispiel wird nachfolgend anhand der Zeichnungen 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 Arbeitsbereich, Roboter und Kamera bei einem ersten Schritt eines Verfahrens zum Kalibrieren eines Roboters mittels einer Kamera,
    • 2 das System bei einem zweiten Schritt des Verfahrens,
    • 3 das System bei einem dritten Schritt des Verfahrens und
    • 4 das System bei einem vierten bis sechsten Schritt des Verfahrens.
  • Die Figuren zeigen ein System 10 mit einem Arbeitsbereich 11, einem Roboter 14 und einer Kamera 18.
  • Der Arbeitsbereich 11 ist beispielsweise ein Auflagebereich 12, zu welchem eine Transporteinrichtung 27 führt. Mittels der Transporteinrichtung 27 können Gegenstände 13 zu dem Arbeitsbereich 11 hin und/oder von dem Arbeitsbereich 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 eine verstellbare Komponente, z.B. 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 15, 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 relativ zu einer ortsfesten Position oder Komponente in dem System, insbesondere relativ zu dem Arbeitsbereich 11 ist die Kamera 18 an dem Arm 15, insbesondere an dem vorderseitigen Armabschnitt 16 angeordnet. Insbesondere ist die Kamera 18 lösbar an der verstellbaren Komponente, beispielsweise an einem Greifer 17 des Arms 15 angeordnet. Die Kamera 18 weist bevorzugt einen optischen Sensor auf oder ist als ein optischer Sensor ausgebildet.
  • Die Kamera 18 befindet sich dabei insbesondere in einer definierten Position und Ausrichtung relativ zu dem Arm 15 bzw. zu dessen vorderseitigem Armabschnitt 16 und weiteren Komponenten des Roboters 14. Insbesondere sind Kamerapositionsdaten C, C' der Kamera 18 relativ zu der verstellbaren Komponente, insbesondere dem Arm 15 bekannt oder mittels des bevorzugten Verfahrens herausrechenbar.
  • Zur Kalibrierung sind in dem System auch einer oder bevorzugt mehrere Marker M1, M2, M3 angeordnet. Beispielsweise befindet sich ein erster solcher Marker M1 an einer Position x,y,z im Arbeitsbereich 11 auf dem Auflagebereich 12. Ein zweiter solcher Marker M2 befindet sich am Rande des Arbeitsbereichs 11 an einer Wand 28, welche sich am Rand des Auflagebereichs 12 nach oben erstreckt. Ein dritter solcher Marker M3 befindet sich auf dem Gehäuse der Transporteinrichtung 27.
  • Alle Marker M1, M2, M3 sind so angeordnet, dass sie von einem jeweiligen Bildbereich 23 der Kamera 18 erfassbar sind insbesondere vollständig erfassbar sind. Beispielhaft dienen als Marker M1, M3 sternförmige Abbildungen oder als Marker M2 eine herzförmig Abbildung, welche sich ausreichend vom Untergrund abheben, um ihn Bilddaten der Kamera 18 als solche erkennbar zu sein.
  • Zur Verarbeitung von Bilddaten, die von der Kamera 18 aufgenommen werden, und zur Steuerung des Roboters 14 und zur Lage- und Ausrichtungsbestimmung von dessen Komponenten einschließlich des Arms 15 dient bevorzugt eine gemeinsame Steuereinrichtung 20. Jedoch können die Kamera 18 und der Roboter 14 auch eigenständige Steuereinrichtungen bzw. Prozessoren aufweisen, wobei dann bevorzugt eine dieser eigenständigen Steuereinrichtungen oder eine noch weitere Steuereinrichtung eine Datenverarbeitung zur Bestimmung von Transformationsdaten zur Kalibrierung des Roboters 14 und einer ortsfesten Komponente des Systems durchführt.
  • Ein Speicher 21, der insbesondere mit der Steuereinrichtung 20 verbunden ist, dient zur Speicherung von Steuerprogrammen für den Roboter 14 und weiterer Systemkomponenten sowie der Speicherung oder Zwischenspeicherung von aufgenommenen Bilddaten, welche zu verarbeiten sind, von Positionsdaten, Marker-Bild-Positionen Bn_i, Roboter-Positionen Rn_i und/oder Marker-Roboter-Positionen Mn_i. Alternativ können die verschiedenen zu speichernden Daten auf mehrere Speicher verteilt gespeichert sein bzw. werden.
  • Von der der Kamera 18 aufgenommene Bilddaten eines aufgenommenen Bildbereichs 23 der Kamera 18 sind insbesondere einem Kamera- bzw. Bild-Koordinatensystem KOB zugeordnet. Ausrichtungen des Arms 15 und gegebenenfalls weiterer 10 Roboterkomponenten werden insbesondere mittels eines Roboter-Koordinatensystems KOR und Roboter-Koordinaten xr,yr,zr beschrieben. Optional ist auch dem Arbeitsbereich 11 ein Arbeitsbereich-Koordinatensystem KO zugeordnet. In dem Arbeitsbereich 11, insbesondere dem Auflagebereich 12 angeordnete handzuhabende Gegenstände 13 sind somit dem Koordinatensystem des Arbeitsbereichs und/oder nach Kalibrierung optional dem Koordinatensystem des Roboters 14 zuordbar.
  • Der Roboter 14 befindet sich an einem Roboterstandort 19. Der Roboterstandort 19, an dem der Roboter 14 zumindest zeitweilig eingesetzt wird, hat im System ortsfeste Koordinaten x, y, z. Der Roboter 14 ist von dem Roboterstandort 19 zeitweilig entfernbar oder gegen einen anderen Roboter 14 austauschbar.
  • Nach oder bei einem Einsetzen des Roboters 14 an dem Roboterstandort 19 wird eine Kalibrierung des Roboters 14 durchgeführt, um gegen über einer Roboterbasis des Roboters 14 verstellbare Komponenten des Roboters 14, wie den Arm 15 mittels Positionsdaten für die verstellbaren Komponente gezielt ansteuern zu können.
  • 1 zeigt den Roboter 14 mit seinem Arm 15 in einer für einen ersten Verfahrensschritt S1 vordefinierten oder definierbaren ersten Pose 22. Die verstellbaren Komponenten sind in dieser Pose 22 in einer insbesondere mehr-dimensional beschreibbaren Roboter-Position R1_1 angeordnet. Solche Roboter-Positionen definieren insbesondere bei späteren Betriebsabläufen anzusteuernde Positionen des Roboters im Roboter-Koordinatensystem KOR. In dieser Pose 22 ist die Kamera 18 so in Richtung des ersten Markers M1 gerichtet, dass sich der erste Marker M1 in dem Bildbereich 23 der Kamera 18 befindet.
  • In dieser ersten Pose 22 wird mit der Kamera 18 der Bildbereich 23 aufgenommen und entsprechende Bilddaten werden der Steuereinrichtung 20 und/oder dem Speicher 21 zugeleitet.
  • Nachfolgend oder in einem späteren Verfahrensschritt wird eine Marker-Bild-Position B1_1 des aufgenommenen Markers M1 in dem Bildbereich 23 bestimmt. Die Bilddaten des aufgenommenen Bildbereich 23 sind insbesondere Bild-Koordinaten xb,yb,zb im Bild-Koordinatensystem KOB zugeordnet. Diese Marker-Bild-Position B1_1 wird im Speicher 21 zum Einsatz bei späteren Kalibrierungsverfahren gespeichert.
  • 2 zeigt den Roboter 14 mit seinem Arm 15 in einer für einen zweiten Verfahrensschritt S2 vordefinierten oder definierbaren zweiten Pose 24. Die verstellbaren Komponenten sind in dieser Pose 24 in einer gegenüber der vorherigen Roboter-Position R1_1 verschiedenen Roboter-Position R1_i mit i = 2 angeordnet. Der Index i steht dabei für die verwendeten Posen. In dieser Pose 24 ist die Kamera 18 wieder, jedoch aus einer anderen Richtung oder Komponentenstellung so in Richtung des ersten Markers M1 gerichtet, dass sich der erste Marker M1 in dem Bildbereich 23 der Kamera 18 befindet.
  • In dieser zweiten Pose 24 wird mit der Kamera 18 der Bildbereich 23 aufgenommen und entsprechende Bilddaten werden der Steuereinrichtung 20 und/oder dem Speicher 21 zugeleitet.
  • Nachfolgend oder in einem späteren Verfahrensschritt wird für die Bilddaten dieser weiteren Pose 24 eine Marker-Bild-Position B1_i des aufgenommenen Markers M1 in dem Bildbereich 23 bestimmt. Diese Marker-Bild-Position B1_i wird ebenfalls gespeichert.
  • 3 zeigt den Roboter 14 mit seinem Arm 15 in einer für einen dritten Verfahrensschritt S3 vordefinierten oder definierbaren zweiten Pose 25. Die verstellbaren Komponenten sind in dieser Pose 25 in einer gegenüber den vorherigen Roboter-Positionen Rn_i mit i ≠ 3 verschiedenen Roboter-Position Rn_i mit i = 3 und n = 1 angeordnet. Der Index n steht dabei für den verwendeten der Marker M1. In dieser Pose ist die Kamera 18 wieder, jedoch aus einer noch anderen Richtung oder Komponentenstellung so in Richtung des ersten Markers M1 gerichtet, dass sich der erste Marker M1 in dem Bildbereich 23 der Kamera 18 befindet.
  • In dieser dritten Pose 25 wird mit der Kamera 18 der Bildbereich 23 aufgenommen und entsprechende Bilddaten werden der Steuereinrichtung 20 und/oder dem Speicher 21 zugeleitet.
  • Nachfolgend oder in einem späteren Verfahrensschritt wird für die Bilddaten dieser noch weiteren Pose 25 eine Marker-Bild-Position Bn i des aufgenommenen Markers M1 in dem Bildbereich 23 bestimmt. Diese Marker-Bild-Position Bn_i wird ebenfalls gespeichert.
  • 4 zeigt den Roboter 14 mit seinem Arm 15 in einer für einen vierten Verfahrensschritt S4 vordefinierten oder definierbaren vierteln Pose 26. Die verstellbaren Komponenten sind in dieser Pose 26 in einer gegenüber den vorherigen Roboter-Positionen Rn_i verschiedenen Roboter-Position Rn_i mit z.B. i = 1 und n = 2 angeordnet. In dieser Pose 26 ist die Kamera 18 so in Richtung des zweiten Markers M2 gerichtet, dass sich der zweite Marker M2 in dem Bildbereich 23 der Kamera 18 befindet.
  • In dieser vierten Pose 25 wird mit der Kamera 18 der Bildbereich 23 aufgenommen und entsprechende Bilddaten werden 10 der Steuereinrichtung 20 und/oder dem Speicher 21 zugeleitet.
  • Nachfolgend oder in einem späteren Verfahrensschritt wird für die Bilddaten dieser noch weiteren Pose 26 eine Marker-Bild-Position Bn i des aufgenommenen Markers M2 in dem Bildbereich 23 bestimmt. Diese Marker-Bild-Position Bn_i wird ebenfalls gespeichert.
  • In einem fünften Verfahrensschritts S5 werden Marker-Roboter-Positionen Mn_i bestimmt, welche für die i-te Pose zu dem n-ten Marker als Position des Markers im Roboter-Koordinatensystem KOR stehen. Dazu wird insbesondere ein Gleichungssystem aufgestellt und gelöst gemäß M ( n_i ) = R ( n_i ) * C * B ( n_i ) .
    Figure DE102015104587B4_0003
  • Wie die Bestimmung der Marker-Bild-Positionen Bn_i kann auch die Bestimmung der Marker-Roboter-Positionen Mn_i zu einem späteren Zeitpunkt durchgeführt werden, gegebenenfalls vor oder zusammen mit einer späteren Kalibrierung bei erneuter Kalibrierung des Roboters 14 oder eines anderen Roboters durchgeführt werden.
  • Bei den verschiedenen Verfahrensschritten können die verstellbaren Komponenten automatisch mittels der Robotersteuerung oder manuell in die entsprechenden Posen 22, 24, 25, 26 gestellt werden.
  • Wenn zu einem späteren Zeitpunkt nach beispielsweise Austausch des Roboters oder erneutem Einsetzen des Roboters an dem Roboterstandort 19 eine erneute Kalibrierung durchgeführt wird, werden die vorstehend genannten Verfahrensschritte wiederholt. Dabei zu diesem späteren Zeitpunkt erneut bestimmte Marker-Bild-Positionen Bn_i' kann auch die Bestimmung der Marker-Roboter-Positionen Mn_i' sind mit einem „'“ gekennzeichnet. Dies gilt entsprechend auch für die Kamerapositionsdaten C, C'.
  • Dadurch steht in dem System eine Vielzahl von Marker-Roboter-Positionen Mn_i aus der ersten Abfolge von Verfahrensschritten S1 - S5 und eine entsprechende Vielzahl von Marker-Roboter-Positionen Mn_i' aus der neu durchgeführten Abfolge von Verfahrensschritten S1 - S5 bereit.
  • In einem sechsten Verfahrensschritt S6 wird eine Abweichung Δ der neuen und gegebenenfalls veränderten Positionen des Roboters 14 gegenüber der Position des Roboters 14 während der ersten Abfolge der Verfahrensschritte S1 - S5 bestimmt. Insbesondere kann dafür ein Gleichungssystem gelöst werden gemäß Δ ( n_i ) = M ( n_i ) M ( n_i' ) .
    Figure DE102015104587B4_0004
  • In einem nachfolgenden Verfahrensschritt wird die so bestimmte Abweichung Δ verwendet, um Positionsdaten bzw. Roboter-Positionen Rn_i an die gegebenenfalls veränderte Position des Roboters 14 anzupassen. Dies kann insbesondere durchgeführt werden, indem mit der bestimmten Abweichung Δ in dem Speicher 21 gespeicherte solcher Positionsdaten bzw. Roboter-Positionen Rn_i vor deren Verwendung angepasst bzw. korrigiert werden oder während deren Verwendung durch ein Steuerprogramm angepasst bzw. korrigiert werden.
  • Die Anzahl der Verfahrensschritte und Posen wird abhängig von der Komplexität des Roboters 14 und seiner verstellbaren Komponenten gewählt.
  • Zum Durchführen des Verfahrens zur Kalibrierung des Roboters 14 und des Arbeitsbereichs 11 relativ zueinander wird gegenüber einem danach üblichen Roboterbetrieb die Kamera 18 verwendet. Die Kamera 18 dient insbesondere zum Ermitteln der Position des zumindest einen Markers M1, M2, M3 in dem Arbeitsbereich 11. Damit der Roboter 14 später nach z.B. einer erneuten Installation beispielsweise einen Gegenstand 13 richtig greifen kann, werden die Komponenten Roboter 14 und insbesondere der Arbeitsbereich 11 oder eine andere ortsfeste Komponente des Systems mit Hilfe der Kamera 18 und dieser Verfahrensweise zueinander kalibriert.
  • Insbesondere handelt es sich beiden bestimmten und berechneten Größen um vektorielle Größen oder Matrizen, wobei deren Dimension abhängt von der Anzahl der Freiheitsgrade der Basis des Roboters und insbesondere 6 beträgt.
  • Nachfolgend werden bevorzugte Komponenten und Verfahrensschritte anhand einer teilweise modifizierten Ausgestaltung beschrieben.
  • Vorbereitend wird eine Befestigung von optisch erkennbaren Markern vorgenommen. Mindestens ein Marker wird benötigt, um einen das Verfahren durchführenden Algorithmus zu ermöglichen. Für die Erhöhung der Genauigkeit können auch mehr, z.B. 3 Marker verwendet werden. Marker können positioniert werden z.B. an allen Arbeitsplätzen des mobilen Roboters an ortsfesten Positionen oder am Basisgestell bzw. dem Roboterstandort 19 des Roboters.
  • Außerdem wird eine Kamera zur automatischen Bildverarbeitung am Greifer 17 des Roboters 14 befestigt. Ggf. kann eine bereits vorhandene Kamera genutzt werden. Zwischen der Position der Kamera 18 und des Flanschs des Roboters 14 kann sich auch eine Verschiebung mit entsprechenden Kamerapositionsdaten C befinden.
  • Im Fall eines Roboters 14, der an einem für diesen bekannten Arbeitsplatz eingesetzt wird, werden folgende Schritte durchgeführt:
    • Als einmalige Vorarbeit wird ein Einteachen aller Greifpositionen durchgeführt, was einem üblichen Einlernen der Roboterpositionen entspricht. Außerdem wird eine Aufnahme der optischen Marker M1 - M3 mit der Kamera 18 im Greifer 17 aus mindestens einem Betrachtungswinkel durchgeführt.
  • Der Roboter 14 bewegt nun die Kamera 18 im Greifer 17 zu den bekannten Positionen der Marker M1 - M3 am Arbeitsplatz. Da die Marker insbesondere nicht bildfüllend sind, sind sie auch bei einer eventuellen Verschiebung des gesamten Roboters als Verschiebungen und/oder Verkippungen im aufgenommenen Bild des Bildbereichs 23 bzw. in den Bilddaten zu sehen.
  • Von mindestens einem Marker oder mehreren Markern werden nun aus verschiedenen Posen bzw. Winkeln Bilder aufgenommen. Dabei wird jeweils die interne Roboter-Position gespeichert. Gleichzeitig wird durch die Bildverarbeitungssoftware die Position des Markers im Bild bestimmt und gespeichert. Es entstehen z.B. folgenden Datenpaare:
    Marker M1: Roboter-Position R1_1 Bildposition des Markers, d.h. Marker-Bild-Position B1_1
    Roboter-Position R1_2 Marker-Bild-Position B1_2
    Roboter-Position R1_3 Marker-Bild-Position B1_3
    Marker M2. Roboter-Position R2_1 Marker-Bild-Position B2_1
    Roboter-Position R2_2 Marker-Bild-Position B2_2
    Roboter-Position R2_j Marker-Bild-Position B2_j
    usw.
  • Über einen Berechnungsalgorithmus entsprechend vorstehender Gleichungen wird nachfolgend die relative Position der Kamera 18 im Robotergreifer bzgl. des Koordinatensystems KO der Marken M1, M2 bestimmt. Ergebnis ist die Verschiebung bzw. Abweichung Δ des Koordinatensystems des Robotergreifers bzw. des Roboters 14 bzgl. des insbesondere Arbeitsbereich-Koordinatensystems KO der Marker M1, M2.
  • Beim Aufstellen des beispielhaften Gleichungssystems Mi = Rn * C * Bn ist Rn die n-te Roboter-Flansch-Position, C die Kamera-Position relativ zum Flansch, Bn die n-te Markerposition im Bild- bzw. Kamera-System und Mi die Position des i-ten Markers im Roboter-System. Die Positionen umfassen jeweils eine Position im Raum und eine Orientierung im Raum.
  • Gemessen werden für die verschiedenen angefahrenen Roboter-Positionen Rn die entsprechenden Bilddaten Bn. Mit dem Gleichungssystem werden dann als gesuchte Größe die Marker-Roboter-Positionen Mn und C berechnet.
  • Aus einem Vergleich dieser Marker-Roboter-Positionen Mn und ggfs. C mit der Marker-Roboter-Positionen Mn und ggfs. C zum Zeitpunkt des erstmaligen Teachens bzw. bei der Ersteinrichtung des Robotersystems folgt eine Offset-Transformation. Dieser Offset (deutsch: Versatz) entspricht der Verschiebung bzw. Abweichung Δ der Roboterbasis durch die Ungenauigkeiten in der Positionierung.
  • Insbesondere werden beim Berechnen optional auch Matrizenrechnungen durchgeführt, beispielsweise wenn sich die Roboter-Position Rn zu der anfänglichen Roboter-Position Rn(0) durch einen oder mehrere Drehwinkel verschoben hat.
  • Anfängliche Roboter-Positionen Rn(0) sind z.B. tabellarisch als Softwaredatei abgelegt. Durch die Kalibrierung wird der Inhalt der Datei angepasst und es ergeben sich daraus die neuen, geänderten Roboterpositionen. Ein manuelles Nachteachen ist nicht mehr erforderlich.
  • Im Fall eines Roboters 14, der anstelle eines z.B. defekten Roboters an einem Arbeitsplatz eingesetzt wird, werden auf Grundlage des gleichen Prinzips folgende Schritte durchgeführt:
    • Auf einer zum Roboter 14 feststehenden Umgebung, z.B. der Roboterstandort 19 als ein Podest auf dem der Roboter 14 steht, werden die Marken M1 - M3 angebracht. Nachdem Austausch des Roboters 14 werden die Markenpositionen mit der Kamera 18 angefahren.
  • Bildaufnahme, Speichern der Positionen und Berechnung erfolgen wie im vorstehenden Fall. Das Ergebnis ist auch hier ein Offset, der angibt, wie stark der neue Roboter gegenüber dem alten verschoben ist. Wird der Offset zu allen bekannten Roboterpositionen dazu berechnet, wird ein Weiterbetrieb der Anlage ermöglicht und ein manuelles Nachteachen der Positionen vermieden.
  • Realisierbar ist eine Vielzahl an modifizierten Ausgestaltungen.
  • Anstelle mit der Kamera 18 Aufnahmen von einem ersten Marker M1 aus drei verschiedenen Posen 22, 24, 25 und von einem zweiten Marker M2 aus einer noch weiteren Pose 26 zu machen und die Bilddaten Bn_i auszuwerten, können auch mehr oder weniger Marker M1, M2, M3 und/oder mehr oder weniger Posen 22, 24 - 26 pro Marker M1 zur Aufnahme mit der Kamera 18 verwendet werden. Entscheidend ist, dass eine ausreichende Anzahl, insbesondere zumindest drei voneinander unabhängige Bilddaten erstellt und hinsichtlich zumindest eines Markers ausgewertet werden.
  • Einsetzbar sind eindimensionale, zweidimensionale und noch höher dimensionale Marker.
  • Neben den beispielhaft jeweils drei dargestellten räumlichen Koordinaten sind auch andere und/oder zusätzliche Koordinaten einsetzbar. Beispielsweise sind Winkelkoordinaten und/oder Koordinaten für einzelne Roboterkomponenten relativ zueinander in insbesondere zumindest einem von dem Bild-Koordinatensystem KOB und dem Roboter-Koordinatensystem KOR einsetzbar.
  • Entsprechend können die vektoriellen Dimensionen bzw. Anzahl der skalaren Koordinatenwerte insbesondere der Marker-Bild-Positionen Bn_i, der Marker-Roboter-Positionen Mn_i und der Roboter-Positionen Rn_i auch größer, insbesondere größer als drei sein.
  • Die doppelte Indizierung mit je einem Index n für den betrachteten Marker und einem Index i für die verschiedenen Posen zu diesem Marker dient in erster Linie zur einfacheren Veranschaulichung des Grundprinzips. Anstelle der doppelten Indizierung kann beispielsweise auch ein einziger durchlaufender Index verwendet werden, welchem die verschiedenen Posen und Informationen zu den dabei jeweilig betrachteten Markern zugeordnet sind.
  • Einsetzbar ist gemäß einer Ausgestaltung auch eine Kamera mit Ausgabe von 3D-Daten (3D: dreidimensional) statt 2D-Daten (2D: zweidimensional) einer herkömmlichen 2D-Flächenkamera.
  • Die dreidimensionalen Ausgabedaten einer Kamera enthalten neben den vorstehend beschriebenen 2D-Bilddaten zusätzlich noch Tiefeninformationen. Solche Zusatzinformationen können mit in die Berechnung einfließen. Man benötigt dann im Idealfall nur noch ein Kamerabild von einem Marker in genau einer Roboterpose, um die Kalibrierung durchzuführen.
  • Die mathematische Berechnung M(n_i) = R(n_i) * C * B(n_i) bleibt vom Grundgedanken die selbe, jedoch verkleinert sich die Dimension des Gleichungssystems. Insbesondere laufen die Indizes (n i) laufen weniger weit, wobei im Idealfall n = i = 1 gilt, was die Berechnung sogar noch einfacher macht.
  • Bezugszeichenliste
  • 10
    System mit Arbeitsbereich, Roboter und Kamera
    11
    Arbeitsbereich, insbesondere Arbeitsraum
    12
    Auflagebereich als Systemkomponente
    13
    Gegenstand
    14
    Roboter
    15
    verstellbare Komponente, insbesondere Arm
    16
    vorderseitiger Armabschnitt
    17
    Greifer
    18
    Kamera, insbesondere optischer Sensor
    19
    Roboteraufnahmeeinrichtung
    20
    Steuereinrichtung
    21
    Speicher
    22
    erste Pose
    23
    Bildbereich der Kamera
    24
    zweite Pose
    25
    dritte Pose
    26
    vierte Pose
    27
    Systemkomponente, insbesondere Transporteinrichtung
    28
    Systemkomponente, insbesondere Wand neben 12
    Bn_i
    Marker-Bild-Position für i-te Pose zu n-tem Marker als Position des Markers im Bild bzw. im KOB
    Bn_i'
    Marker-Bild-Position bei neuer Messung
    C
    Kamerapositionsdaten relativ zu 16
    C'
    Kamerapositionsdaten bei neuer Messung
    i
    Index für Posen mit 1, 2, 3,...
    KO
    Arbeitsbereich-Koordinatensystem
    KOB
    Bild-Koordinatensystem
    KOR
    Roboter-Koordinatensystem
    M1, M2, M3
    Marker
    Mn i
    Marker-Roboter-Position für i-te Pose zu n-tem Marker als Position des Markers im Roboter-Koordinatensystem
    Mn_i'
    Marker-Roboter-Position bei neuer Messung
    Rn_i
    Roboter-Position für i-te Pose zu n-tem Marker als anzusteuernde Position des Roboters im Roboter-Koordinatensystem
    Δ
    Abweichung, insbesondere Verschiebung
    n
    Index für Roboterpositionen mit 1, 2, 3,...
    x,y,z
    Arbeitsbereichs-Koordinaten
    xb,yb,zb
    Bild-Koordinaten
    xr,yr,zr
    Roboter-Koordinaten
    S1 - S6
    Schritte des Verfahrens

Claims (13)

  1. Verfahren zum Kalibrieren eines Roboters (14) an einem Arbeitsbereich (11), bei dem - zumindest eine Kamera (18) an einer verstellbaren Komponente des Roboters (14) angeordnet ist oder wird, - mit der verstellbaren Komponente zumindest eine Roboter-Position (Rn_i) so angefahren wird, dass in einem Bildbereich (23) der mindestens einen Kamera (18) zumindest ein ortsfester Marker (M1, M2) angeordnet ist, - wobei in der mindestens einen Roboter-Position (Rn_i) der Bildbereich (23) mit der mindestens einen Kamera (18) aufgenommen wird, - zu zumindest einem aufgenommenen Bildbereich (23), von zumindest drei zueinander verschiedenen aufgenommenen Bildbereichen (23) eine Marker-Bild-Position (Bn_i; Bn-i') des Markers (M1, M2) in dem aufgenommenen Bildbereich (23) bestimmt wird, - wobei bei zumindest einer der aufgenommenen Bildbereiche (23) eine Bildqualität festgestellt wird, - wobei zumindest eine Position des Markers (M1, M2) unter Berücksichtigung der Bildqualität der Aufnahme im Roboter-Koordinatensystem (KOR) derart bestimmt wird, dass wenn die Bildqualität der Kameraaufnahme eines Markers (M1, M2) zu schlecht ist, diese Aufnahme, wenigstens nicht gleichberechtigt und optional mit geringer Priorität in die Bestimmung mit einbezogen werden kann und - bei zumindest einem von - einem Kalibrieren nach einem Versetzen des Roboters (14), - einem Einsetzen eines anderen Roboters (14) und - zu einem späteren Zeitpunkt die Schritte erneut durchgeführt werden und aus zumindest einer, derart erneut bestimmten Marker-Roboter-Positionen (Mn-i') gegenüber derart zuvor bestimmten Marker-Roboter-Positionen (Mn_i) eine Abweichung (Δ) bestimmt wird.
  2. Verfahren nach Anspruch 1, bei dem die Abweichung (Δ) als Korrekturgröße für nachfolgend im Betrieb zu verwendende Roboter-Positionen (Rn_i) verwendet wird.
  3. Verfahren nach Anspruch 1 oder 2, bei dem Datenwerte der Abweichung (A) auf nachfolgend zu verwendende Positionsdaten angewendet, insbesondere berechnet werden, und derart angepasste Positionsdaten beim weiteren Betrieb zum Ansteuern von Positionen des Roboters (14) und/oder von dessen zumindest einer verstellbaren Komponente, insbesondere Arm zu verwenden.
  4. Verfahren nach Anspruch 3, bei dem die angepassten weiteren Positionsdaten in einem Speicher (21) hinterlegt werden, wobei zumindest ein Steuerprogramm zum Ansteuern von Positionen des Roboters und/ oder von dessen zumindest einer beweglichen Komponente im Betrieb auf die zuvor, insbesondere vor Start des Steuerprogramms angepassten Positionsdaten zugreift.
  5. Verfahren nach Anspruch 3 oder 4, bei dem ein Steuerprogramm, insbesondere eine Software zum Steuern des Roboters (14) und/oder von dessen zumindest einer beweglichen Komponente abhängig von der Abweichung (Δ) oder von den angepassten weiteren Positionsdaten angepasst wird.
  6. Verfahren nach einem vorstehenden Anspruch, bei dem zumindest zwei zueinander verschiedene Roboter-Positionen (Rn_i) so angefahren werden, dass in dem jeweiligen Bildbereich (23) der mindestens einen Kamera (18) einer von zwei zueinander verschiedenen ortsfesten Markern (M1; M2) angeordnet ist und der andere der beiden Marker (M2; M1) zumindest teilweise, insbesondere ganz außerhalb des Bildbereichs (23) angeordnet ist.
  7. Verfahren nach einem vorstehenden Anspruch, bei dem die mindestens eine anzufahrende Roboter-Position (Rn_i) so bestimmt wird, dass der Bildbereich (23) den Marker (M1, M2) vollständig und eine zusätzliche Bildfläche in zumindest einem Teil des Umfelds des Markers (M1, M2) erfasst.
  8. Verfahren nach einem vorstehenden Anspruch, bei dem der zumindest eine Marker (M1, M2, M3) ortsfest an einer Systemkomponente (12, 28, 27) angeordnet ist, wobei die Systemkomponente (12, 28, 27) vom Roboter (14) und dessen Komponenten beabstandet und relativ zum Arbeitsbereich (11) ortsfest ausgebildet ist.
  9. Verfahren nach einem vorstehenden Anspruch, bei dem die mindestens eine Kamera (18) an der verstellbaren Komponente, insbesondere einem Arm (15), insbesondere einem Greifer (17) des Roboters (14) angeordnet ist und eine jeweilige Kameraposition (C) relativ zu einem insbesondere vorderseitigen Abschnitt der verstellbaren Komponente beim Bestimmen der Marker-Roboter-Positionen (Mn_i) und der erneut bestimmten Marker-Roboter-Positionen (Mn_i) mit berücksichtigt wird.
  10. Verfahren nach einem vorstehenden Anspruch, bei dem das Aufnehmen von Bildbereichen (B1_1, B1_i, Bn_i; B1_1', B13, Bn_i') für zumindest einen Marker (M1) mit der mindestens einen Kamera (18) aus zumindest zwei Betrachtungswinkeln oder Roboter-Positionen (Rn_i) oder Posen (22, 24, 25) durchgeführt wird.
  11. Verfahren nach einem vorstehenden Anspruch, bei dem das Aufnehmen von Bildbereichen (B1_1, B1_i, Bn_i, Bn_i; B1_1', B13, Bn_i' (n=1), Bn_i' (n = 2)) für zumindest zwei Marker (M1, M2) mit der mindestens einen Kamera (18) aus zumindest zwei Betrachtungswinkeln, Roboter-Positionen (Rn_i) oder Posen (22, 24, 25, 26) durchgeführt wird.
  12. Verfahren nach einem vorstehenden Anspruch, bei dem - mit der verstellbaren Komponente zumindest drei zueinander verschiedene Roboter-Positionen (Rn_i) - insbesondere Posen (22, 24, 25, 26) - so angefahren werden, dass bei jeder Roboter-Position (Rn_i) in einem ein Bildbereich (23) der Kamera (18) zumindest ein ortsfester Marker (M1, M2) angeordnet ist, - wobei in jeder der Roboter-Positionen (Rn_i) der Bildbereich (23) mit der Kamera (18) aufgenommen wird.
  13. System zum Durchführen eines Verfahrens nach einem vorstehenden Anspruch mit einem Arbeitsbereich (11), einem Roboter (14), einer installierten oder installierbaren Kamera (18), zumindest einem ortsfesten Marker (M1, M2), der in einem einstellbaren Bildbereich (23) der Kamera (18) angeordnet ist, und einer Steuereinrichtung (20), wobei die Steuereinrichtung (20) zum Durchführen eines Verfahrens nach einem vorstehenden Anspruch programmiert und/oder ausgelegt ist.
DE102015104587.7A 2015-03-26 2015-03-26 Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens Active DE102015104587B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015104587.7A DE102015104587B4 (de) 2015-03-26 2015-03-26 Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015104587.7A DE102015104587B4 (de) 2015-03-26 2015-03-26 Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens

Publications (2)

Publication Number Publication Date
DE102015104587A1 DE102015104587A1 (de) 2016-09-29
DE102015104587B4 true DE102015104587B4 (de) 2022-04-28

Family

ID=56889529

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015104587.7A Active DE102015104587B4 (de) 2015-03-26 2015-03-26 Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens

Country Status (1)

Country Link
DE (1) DE102015104587B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11554491B2 (en) * 2016-10-26 2023-01-17 Sony Group Corporation Robotic system and method of movement control using synthetic array radar and passive beacons
EP3366433B1 (de) * 2017-02-09 2022-03-09 Canon Kabushiki Kaisha Verfahren zur steuerung eines roboters, verfahren zum lehren eines roboters und robotersystem
CA3111560A1 (en) * 2018-09-11 2020-03-19 Becton, Dickinson And Company Robotic sample preparation system for diagnostic testing with automated position learning

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080004750A1 (en) 2006-07-03 2008-01-03 Fanuc Ltd Measuring system and calibration method
DE602005003147T2 (de) 2004-01-16 2008-08-28 Fanuc Ltd. Messsystem
DE602004013107T2 (de) 2003-11-18 2009-07-02 Fanuc Ltd. Vorrichtung zur Korrektur einer gelernten Position
US7853359B2 (en) 2007-02-05 2010-12-14 Fanuc Ltd Calibration device and method for robot mechanism
DE102010032840A1 (de) 2009-08-03 2011-02-10 FANUC LTD, Oshino-mura Vorrichtung und Verfahren zum Messen der Position eines Werkzeugmittelpunktes eines Roboters
DE112011101730T5 (de) 2010-05-14 2013-06-27 Cognex Corporation System und Verfahren zur robusten Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602004013107T2 (de) 2003-11-18 2009-07-02 Fanuc Ltd. Vorrichtung zur Korrektur einer gelernten Position
DE602005003147T2 (de) 2004-01-16 2008-08-28 Fanuc Ltd. Messsystem
US20080004750A1 (en) 2006-07-03 2008-01-03 Fanuc Ltd Measuring system and calibration method
US7853359B2 (en) 2007-02-05 2010-12-14 Fanuc Ltd Calibration device and method for robot mechanism
DE102010032840A1 (de) 2009-08-03 2011-02-10 FANUC LTD, Oshino-mura Vorrichtung und Verfahren zum Messen der Position eines Werkzeugmittelpunktes eines Roboters
DE112011101730T5 (de) 2010-05-14 2013-06-27 Cognex Corporation System und Verfahren zur robusten Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter

Also Published As

Publication number Publication date
DE102015104587A1 (de) 2016-09-29

Similar Documents

Publication Publication Date Title
DE102015001527B4 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102016116702B4 (de) Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters
DE102013014873B4 (de) Aufnahmevorrichtung, die die Halteposition und -orientierung eines Roboters auf der Grundlage einer Auswahlbedingung bestimmt
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE102016115987B4 (de) Koordinatensystemeinstellungsverfahren, Koordinatensystemeinstellungsvorrichtung und Robotersystem mit Koordinatensystemeinstellungsvorrichtung
DE102015104582A1 (de) Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens
EP2227356B1 (de) Verfahren und system zum hochpräzisen positionieren mindestens eines objekts in eine endlage im raum
DE102013021917B4 (de) Robotersystemanzeigevorrichtung
DE102009034529B4 (de) Automatisches Führungs- und Erkennungssystem sowie Verfahren für dieses
DE102015000589B4 (de) Datenerzeugungsvorrichtung für einen visuellen Sensor und ein Erfassungssimulationssystem
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102010029110A1 (de) Kalibrierverfahren und Kalibriervorrichtung
EP1702727A2 (de) Fertigungseinrichtung mit einer Biegepresse, einer Handhabungsvorrichtung und einer Kalibriereinrichtung
EP0438095A1 (de) Korrekturverfahren für Koordinatenmessgeräte
DE102016110453A1 (de) Messgerät und Verfahren zur Justage der Lage eines rotationssymmetrischen Werkstücks
DE102004026814A1 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
DE102014117346B4 (de) Roboter, Robotersteuerungsverfahren und Robotersteuerungsprogramm zur Werkstückkorrektur
DE10351669B4 (de) Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts relativ zu einem Objekt
DE102018129166A1 (de) Roboter und Robotersystem
DE102018007287B4 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102015104587B4 (de) Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens
DE102018121481A1 (de) Entfernungsmesssystem und Entfernungsmessverfahren
DE102020209486B3 (de) Aktuator
DE102021209178A1 (de) Verfahren und Vorrichtung zum Bestimmen von Relativposen und zur Kalibrierung bei einem Koordinatenmessgerät oder Roboter
EP1098268A2 (de) Verfahren zur dreidimensionalen optischen Vermessung von Objektoberflächen

Legal Events

Date Code Title Description
R163 Identified publications notified
R082 Change of representative

Representative=s name: MEISSNER BOLTE PATENTANWAELTE RECHTSANWAELTE P, DE

R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final