DE102016116702A1 - Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters - Google Patents

Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters Download PDF

Info

Publication number
DE102016116702A1
DE102016116702A1 DE102016116702.9A DE102016116702A DE102016116702A1 DE 102016116702 A1 DE102016116702 A1 DE 102016116702A1 DE 102016116702 A DE102016116702 A DE 102016116702A DE 102016116702 A1 DE102016116702 A1 DE 102016116702A1
Authority
DE
Germany
Prior art keywords
robot
positions
target
receiving device
machine tool
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.)
Granted
Application number
DE102016116702.9A
Other languages
English (en)
Other versions
DE102016116702B4 (de
Inventor
Yuusuke MURATA
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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
Priority claimed from JP2016168082A external-priority patent/JP6235664B2/ja
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102016116702A1 publication Critical patent/DE102016116702A1/de
Application granted granted Critical
Publication of DE102016116702B4 publication Critical patent/DE102016116702B4/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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/026Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring distance between sensor and object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/14Measuring arrangements characterised by the use of optical techniques for measuring distance or clearance between spaced objects or spaced apertures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Multimedia (AREA)

Abstract

Messsystem, das bei der Durchführung mehrmaliger Messungen einer Vielzahl von Zielen Messungen auf eine einfachere Weise durchführen kann. Das Messsystem verwendet die Lichtempfangsvorrichtung zum Messen von an der Werkzeugmaschine befestigten Zielen. Der Roboter wird derart bewegt, dass die Differenz zwischen einem Ziel auf einer Lichtempfangsfläche der Lichtempfangsvorrichtung und einem von der Lichtempfangsvorrichtung aufgenommenen Bild in einem Zustand, in dem die Werkzeugmaschine an jeder Stoppposition anhält und sich der Roboter in der Messposition und Stellung befindet, innerhalb eines vorbestimmten Fehlers liegt. Eine Vielzahl von Stopppositionen und eine Vielzahl von Endpunktpositionen und Stellungen nach der Bewegung werden als Grundlage zum gleichzeitigen Finden des Fehlers der mechanischen Parameter des Roboters und der relativen Beziehung zwischen dem Roboterkoordinatensystem Σb und dem Werkzeugmaschinenkoordinatensystem Σm verwendet.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Messsystem mit einem Roboter und einer Werkzeugmaschine.
  • 2. Beschreibung des Standes der Technik
  • Es ist bekannt, die mechanischen Parameter eines Mehrgelenksroboters für industrielle Zwecke automatisch zu kalibrieren, um die Genauigkeit seiner Positionierung über einen gesamten Arbeitsbereich zu verbessern.
  • Die japanische Patentanmeldung Nr. 2008-012604 offenbart ein Verfahren zur Verwendung einer Lichtempfangsvorrichtung, die ein Ziel erkennt, um automatisch eine Beziehung zwischen einer vorderen Endposition eines Roboters und der Verschiebung einer steuerbaren Antriebswelle zu messen und Dimensionsfehler bei Bauteilen und den Umfang ihrer elastischen Verformung und anderer formulierbarer Fehler zu erkennen. Ferner beschreibt die japanische Patentanmeldung Nr. 2008-012604 die Umsetzung einer Genauigkeitsverbesserung über den gesamten Arbeitsbereich eines Roboters durch Einstellen einer Vielzahl von Zielen und Durchführen einer mehrmaligen Messung der Ziele.
  • Beim Einstellen einer Vielzahl von Zielen innerhalb des Arbeitsbereichs eines Roboters und beim Durchführen einer mehrmaligen Messung der Ziele zur einheitlichen Verbesserung der Genauigkeit der Positionierung im Arbeitsbereich des Roboters müssen die Fehler der verschiedenen Zielpositionen zu den zu erkennenden und berechnenden Parametern addiert werden. Aus diesem Grund muss die Anzahl der Messungen zusammen mit der Anzahl eingestellter Ziele erhöht werden. Wenn beispielsweise die Positionen der zu messenden Ziele in der in der japanischen Patentanmeldung Nr. 2008-012604 offenbarten Erfindung um 1 erhöht werden, erhöhen sich die Fehlerparameter der Zielpositionen um 3. Wenn die Messpositionen und Stellungen um 1 erhöht werden, erhöht sich die Anzahl der für die Erkennung und Berechnung nutzbaren Formeln um 3, sodass bei jeder Erhöhung der Positionen der Ziele um 1 die Messpositionen und Stellungen um 1 erhöht werden müssen, um den Anstieg der Fehlerparameter zu handhaben.
  • Die japanische Patentanmeldung Nr. 2005-201824 gehört ebenfalls zum Stand der Technik.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Aufgabe der Erfindung ist daher die Bereitstellung eines Messsystems, das bei der Durchführung mehrmaliger Messungen einer Vielzahl von Zielen zur einheitlichen Verbesserung der Genauigkeit der Positionierung im Arbeitsbereich eines Roboters einfachere Messungen ermöglicht.
  • Eine bevorzugte Ausführungsform der vorliegenden Anmeldung umfasst ein Messsystem einen Mehrgelenksroboter mit einer Lichtempfangsvorrichtung an einem vorderen Ende eines Arms und eine Werkzeugmaschine innerhalb eines Arbeitsbereichs des Roboters und verwendet die Lichtempfangsvorrichtung zum Messen eines an der Werkzeugmaschine befestigten Ziels, wobei das Ziel ein geometrisches Merkmal aufweist, das die Erkennung von Informationen über eine Position eines auf einer Lichtempfangsfläche der Lichtempfangsvorrichtung abgebildeten Bilds des Ziels und von Informationen über eine Länge, die sich auf eine Distanz zwischen der Lichtempfangsvorrichtung und dem Ziel bezieht, ermöglicht, und wobei das Messsystem ferner ein Messposition/Stellung-Ermittlungsteil zum Ermitteln einer Vielzahl von Stopppositionen der Werkzeugmaschine und einer Vielzahl von Messpositionen und Stellungen des Roboters enthält, wobei das Ziel in einem Sichtfeld der Lichtempfangsvorrichtung enthalten ist, wenn die Werkzeugmaschine an der Vielzahl von Stopppositionen angeordnet ist, ein Positionierungsteil zum sequenziellen Positionieren der Werkzeugmaschine an der Vielzahl von Stopppositionen und zum sequenziellen Positionieren des Roboters an der Vielzahl von Messpositionen und Stellungen, die der Vielzahl von Stopppositionen entspricht, ein Zielermittlungsteil zum Abbilden des Bilds des Ziels auf der Lichtempfangsfläche der Lichtempfangsvorrichtung und zum Verwenden von Informationen über die Position des Ziels und Informationen über die Länge als Grundlage zum Ermitteln von Informationen über die Distanz zwischen der Lichtempfangsvorrichtung und dem Ziel, ein Roboterbewegungsteil zum Bewegen des Roboters derart, dass in einem Zustand, in dem sich die Werkzeugmaschine an einer Stoppposition befindet und sich der Roboter in einer Messposition und Stellung befindet, eine Differenz zwischen einer Position des Ziels auf der Lichtempfangsfläche der Lichtempfangsvorrichtung und einer vorbestimmten Position des von der Lichtempfangsvorrichtung aufgenommenen Bilds innerhalb eines vorbestimmten Fehlers liegt und eine Differenz zwischen Informationen über die Distanz und einem vorbestimmten Wert innerhalb eines vorbestimmten Fehlers liegt, ein Roboterendpunktspeicherteil zum Speichern von Positionen und Stellungen des Roboters nach dem Bewegen durch das Roboterbewegungsteil als Endpunkte, die mit den Stopppositionen der Werkzeugmaschine und den Messpositionen und Stellungen verknüpft sind, sowie ein Berechnungsteil zum gleichzeitigen Finden von Fehlern der mechanischen Parameter des Roboters und einer Übereinstimmung zwischen dem Roboterkoordinatensystem und dem Werkzeugmaschinenkoordinatensystem unter Verwendung der Vielzahl von Endpunkten, die der Vielzahl von Stopppositionen entsprechen, und der Vielzahl von Messpositionen und Stellungen und der Vielzahl von Stopppositionen als Grundlage.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung ist das Messposition/Stellung-Ermittlungsteil derart zum Ermitteln der Vielzahl von Messpositionen/Stellungen konfiguriert, dass eine Distanz zwischen der Lichtempfangsvorrichtung und einem vorbestimmten Punkt des Ziels konstant ist und eine Neigung einer Sichtlinie der Lichtempfangsvorrichtung, die durch den vorbestimmten Punkt passiert, unterschiedlich ist.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung ist das Messposition/Stellung-Ermittlungsteil derart zum Ermitteln der Vielzahl von Messpositionen/Stellungen konfiguriert, dass eine Stellung einer Sichtlinie der Lichtempfangsvorrichtung, die durch einen vorbestimmten Punkt des Ziels passiert, konstant ist und eine Distanz zwischen der Lichtempfangsvorrichtung und dem vorbestimmten Punkt des Ziels unterschiedlich ist.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung ist das Messposition/Stellung-Ermittlungsteil zum automatischen erzeugen der Vielzahl von Messpositionen und Stellungen konfiguriert.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung ist das Berechnungsteil zum Nutzen nichtlinearer Optimierung einschließlich des Newton-Raphson-Verfahrens, eines genetischen Algorithmus und eines normalen Netzwerks konfiguriert, um den Fehler der mechanischen Parameter des Roboters zu finden.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung ist die Lichtempfangsvorrichtung eine CCD-Kamera, die zum Aufnehmen eines 2-dimensionalen Bilds konfiguriert ist.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung weist das Ziel eine kreisförmige Markierung auf und die Informationen über die Länge enthalten eine Länge der Längsachse eines dem Bild der Markierung entsprechenden Ovals, das auf der Lichtempfangsfläche der Lichtempfangsvorrichtung abgebildet ist.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung ist die Lichtempfangsvorrichtung ein PSD, der zum Finden eines Schwerpunkts der Verteilung der Menge des empfangenen Lichts konfiguriert ist.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung ist das Ziel eine lichtabgebende Vorrichtung.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung ist das Berechnungsteil zum Verwenden des Fehlers zwischen der Position eines gewünschten Punkts der Lichtempfangsvorrichtung und der Position eines vorbestimmten Punkts der auf dem Ziel abgebildeten Markierung als Grundlage zum Finden des Fehlers der mechanischen Parameter des Roboters konfiguriert.
  • Die vorliegende Erfindung umfasst auch ein Kalibrierungsverfahren zum Kalibrieren mechanischer Parameter eines Roboters unter Verwendung eines Messsystems, umfassend einen Mehrgelenksroboter mit einer Lichtempfangsvorrichtung an einem vorderen Ende eines Arms und eine Werkzeugmaschine innerhalb eines Arbeitsbereichs des Roboters, wobei das Kalibrierungsverfahren das Ermitteln einer Vielzahl von Stopppositionen der Werkzeugmaschine und einer Vielzahl von Messpositionen und Stellungen des Roboters umfasst, wobei ein an der Werkzeugmaschine befestigtes Ziel in einem Sichtfeld der Lichtempfangsvorrichtung enthalten ist, wenn die Werkzeugmaschine an der Vielzahl von Stopppositionen angeordnet ist, das sequenzielle Positionieren der Werkzeugmaschine an der Vielzahl von Stopppositionen und das sequenzielle Positionieren des Roboters an der Vielzahl von Messpositionen und Stellungen, die der Vielzahl von Stopppositionen entspricht, das Abbilden des Bilds des Ziels auf der Lichtempfangsfläche der Lichtempfangsvorrichtung und das Verwenden von Informationen über die Position des Ziels und die Informationen über die Länge als Grundlage zum Ermitteln von Informationen über die Distanz zwischen der Lichtempfangsvorrichtung und dem Ziel, das Bewegen des Roboters derart, dass in einem Zustand, in dem sich die Werkzeugmaschine an einer Stoppposition befindet und sich der Roboter in einer Messposition und Stellung befindet, eine Differenz zwischen einer Position des Ziels auf der Lichtempfangsfläche der Lichtempfangsvorrichtung und einer vorbestimmten Position des von der Lichtempfangsvorrichtung aufgenommenen Bilds innerhalb eines vorbestimmten Fehlers liegt und eine Differenz zwischen Informationen über die Distanz und einem vorbestimmten Wert innerhalb eines vorbestimmten Fehlers liegt, das Speichern von Positionen und Stellungen des Roboters nach dem Bewegen durch das Roboterbewegungsteil als Endpunkte, die mit den Stopppositionen der Werkzeugmaschine und den Messpositionen und Stellungen verknüpft sind, sowie das Verwenden der Vielzahl von Endpunkten, die der Vielzahl von Stopppositionen entsprechen, und der Vielzahl von Messpositionen und Stellungen und der Vielzahl von Stopppositionen als Grundlage zum gleichzeitigen Finden von Fehlern der mechanischen Parameter des Roboters und einer Übereinstimmung zwischen dem Roboterkoordinatensystem und dem Werkzeugmaschinenkoordinatensystem.
  • In einer bevorzugten Ausführungsform der vorliegenden Anmeldung enthält das Verfahren zum Finden von Fehlern der mechanischen Parameter des Roboters das Verwenden eines Fehlers zwischen einer Position eines gewünschten Punkts der Lichtempfangsvorrichtung und einer Position eines vorbestimmten Punkts einer auf dem Ziel abgebildeten Markierung als Grundlage zum Finden von Fehlern der mechanischen Parameter des Roboters konfiguriert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der ausführlichen Beschreibung beispielhafter Ausführungsformen der vorliegenden Erfindung, die in den beiliegenden Zeichnungen dargestellt ist.
  • 1 ist eine schematische Darstellung der Konfiguration eines Messsystems nach einer Ausführungsform.
  • 2 ist eine Darstellung einer Blockkonfiguration einer Robotersteuerung nach einer Ausführungsform.
  • 3 ist eine Darstellung einer Bildverarbeitungsvorrichtung nach einer Ausführungsform.
  • 4 ist ein Ablaufdiagramm, das schematisch die nach einer Ausführungsform durchgeführten Arbeit einer Werkzeugmaschine darstellt.
  • 5 ist ein Ablaufdiagramm, das schematisch die nach einer Ausführungsform durchgeführten Arbeit eines Roboters darstellt.
  • 6 ist eine erklärende Darstellung in Verbindung mit der Verarbeitung von Schritt R7 des Ablaufdiagramms in 5.
  • 7A ist eine Darstellung einer relativen Positionsbeziehung zwischen einer Kamera und einem Ziel.
  • 7B ist eine Darstellung eines Bildschirms entsprechend 7A.
  • 8A ist eine Darstellung einer relativen Positionsbeziehung zwischen einer Kamera und einem Ziel.
  • 8B ist eine Darstellung eines Bildschirms entsprechend 8A.
  • 9 ist ein Ablaufdiagramm, das schematisch die Verarbeitung in Schritt R8 des Ablaufdiagramms in 5 darstellt.
  • GENAUE BESCHREIBUNG
  • Die nachstehenden Ausführungsformen der vorliegenden Erfindungen werden unter Bezugnahme auf die beiliegenden Zeichnungen erklärt. Der Maßstab der einzelnen Bestandteile der dargestellten Ausführungsformen ist angemessen geändert, um das Verständnis für die vorliegende Erfindung zu erleichtern. Ferner weisen identische oder entsprechende Bestandteile dieselbe Bezugsbezeichnung auf.
  • 1 ist eine schematische Darstellung eines Messsystems 10 nach einer Ausführungsform. Das Messsystem 10 enthält einen Multigelenksroboter 1 und eine Werkzeugmaschine 8, die innerhalb eines Arbeitsbereichs des Roboters 1 bereitgestellt ist. Wie in 1 dargestellt, ist der Roboter 1 ein Roboter mit jeder bekannten Konfiguration, einschließlich eines Armes 1a und eines Sockels 1b. Der Roboter 1 ist mit einer Robotersteuerung 5 verbunden, die den Roboter 1 steuert. Am vorderen Ende des Arms 1a, d. h. an einer Werkzeugbefestigungsfläche 32, ist eine Kamera 4 angebracht.
  • Für den Roboter 1 ist ein Roboterkoordinatensystem Σb und ein Koordinatensystem der mechanischen Schnittstelle Σf festgelegt. Das Roboterkoordinatensystem Σb ist ein Koordinatensystem, das für einen Sockel 1b des Roboters 1, d. h. den Arbeitsbereich, festgelegt ist. Das Koordinatensystem der mechanischen Schnittstelle Σf ist ein Koordinatensystem, das für eine Werkzeugbefestigungsfläche 32 festgelegt ist und dessen Position und Stellung sich während des Betriebs des Roboters 1 ändern. Die Robotersteuerung 5 ist zum laufenden Erfassen der Position und Stellung des Ursprungs des Koordinatensystems der mechanischen Schnittstelle Σf konfiguriert.
  • Eine bekannte Programmierkonsole 18 mit Drucktasten ist mit der Robotersteuerung 5 verbunden. Ein Anwender kann die Drucktasten manuell zur Bedienung des Roboters 1 bedienen.
  • Für die Werkzeugmaschine 8 ist ein Werkzeugmaschinenkoordinatensystem Σm festgelegt. Die Werkzeugmaschine 8 enthält bekannte Drucktasten. Ein Anwender kann die Drucktasten bedienen und dadurch die Werkzeugmaschine 8 bedienen und kann eine Menge an Positionsänderungen eines an der Werkzeugmaschine 8 befestigten Ziels 6 im Werkzeugmaschinenkoordinatensystem Σm erfassen.
  • Die Kamera 4 ist beispielsweise eine CCD-Kamera. Hierbei handelt es sich um eine bekannte Lichtempfangsvorrichtung mit der Funktion, ein 2-dimensionales Bild auf einer Lichtempfangsvorrichtung (CCD-Arrayfläche) durch Aufnahme eines Bilds zu ermitteln. Die Kamera 4 ist mit einer Bildverarbeitungsvorrichtung 2 verbunden, die einen ein LCD oder eine CRT usw. umfassenden Monitor 3 enthält. In der vorliegenden Ausführungsform wird die Kamera 4 zur Aufnahme eines Bilds einer Markierung 7 eines an der Werkzeugmaschine 8 befestigten Ziels 6 verwendet. In einer Ausführungsform kann das Ziel 6 eine lichtabgebende Vorrichtung mit einer Lichtquelle sein. In diesem Fall wird ein PSD (positionssensitiver Detektor), der zum Finden des Schwerpunkts der Verteilung der Menge des empfangenen Lichts konfiguriert ist, als Lichtempfangsvorrichtung verwendet.
  • Die Robotersteuerung 5 weist eine bekannte Blockkonfiguration auf, wie in 2 dargestellt. Mit anderen Worten enthält die Robotersteuerung 5 einen Speicher 12, eine Programmierkonsolenschnittstelle 13, eine Eingabe-/Ausgabeschnittstelle für externe Vorrichtungen 16, ein Servoreglerteil 15 und eine Kommunikationsschnittstelle 14, die parallel mit einem Bus 17 verbunden ist, der mit einer Haupt-CPU (nachstehend einfach als „CPU” bezeichnet) 11 verbunden ist. Der Speicher 12 enthält ein RAM, ein ROM, einen nicht flüchtigen Speicher usw.
  • Die mit der Programmierkonsolenschnittstelle 13 verbundene Programmierkonsole 18 weist eine bekannte Konfiguration mit einem Display auf. Ein Anwender kann die Programmierkonsole 18 manuell bedienen und dadurch ein Betriebsprogramm des Roboters vorbereiten, korrigieren und aufzeichnen oder verschiedene Parameter einstellen oder das programmierte Betriebsprogramm abspielen, ausführen, schrittweise ausführen usw.
  • Ein Systemprogramm, das die Grundfunktionen des Roboters 1 und der Robotersteuerung 5 steuert, ist im ROM des Speichers 12 gespeichert. Ferner sind das gemäß der Anwendung programmierte Betriebsprogramm des Roboters und die damit verbundenen Datensätze in einem nicht flüchtigen Speicher des Speichers 12 gespeichert. Außerdem sind auch Programme und Parameter und weitere Daten der verschiedenen, später erklärten Verarbeitungsschritte (Bewegung des Roboters beim Finden mechanischer Parameter und Verarbeitung der Kommunikation mit der Bildverarbeitungsvorrichtung desselben usw.) in dem nicht flüchtigen Speicher des Speichers 12 gespeichert.
  • Das RAM des Speichers 12 wird zum vorübergehenden Speichern von Daten verwendet, die mit den verschiedenen, von der CPU 11 durchgeführten Verarbeitungsschritten in Verbindung stehen. Das Servoreglerteil 15 enthält Servoregler Nr. 1 bis Nr. n („n” ist die Gesamtzahl der Roboterachsen, beispielsweise n = 6). Das Servoreglerteil 15 gibt Drehmomentbefehle an die Servoverstärker A1 bis An auf der Grundlage der Bewegungsbefehle und der Rückmeldungssignale aus, die von Impulsgebern (nicht dargestellt) an verschiedenen Achsen empfangen werden. Die Bewegungsbefehle werden mithilfe eines bekannten Verfahrens gemäß der Verarbeitung zur Steuerung des Roboters 1 vorbereitet (Vorbereitung eines Pfadplans und Interpolation, inverse Transformation usw. auf der Grundlage des Pfadplans).
  • Die Servoverstärker A1 bis An versorgen die Servomotoren der verschiedenen Achsen zum Antrieb derselben auf der Grundlage der entsprechenden Drehmomentbefehle mit Strom. Die Kommunikationsschnittstelle 14 ist mit der Bildverarbeitungsvorrichtung 2 verbunden (siehe 1). Befehle bezüglich der Messungen, die später erklärt werden, sowie Daten über Messergebnisse usw. werden über die Kommunikationsschnittstelle 14 zwischen der Bildverarbeitungsvorrichtung 2 und der Robotersteuerung 5 gesendet und empfangen.
  • Die Bildverarbeitungsvorrichtung 2 weist eine bekannte Blockkonfiguration auf, wie in 3 dargestellt. Die Bildverarbeitungsvorrichtung 2 weist eine CPU 20 auf, die aus einem Mikroprozessor konfiguriert ist. Die CPU 20 ist über eine Busleitung 30 mit einem ROM 21, einem Bildprozessor 22, einer Kameraschnittstelle 23, einer Monitorschnittstelle 24, einer Eingabevorrichtung (I/O) 25, einem Bildspeicher (Abbildungsspeicher) 26, einem nicht flüchtigen Speicher 27, einem RAM 28 und einer Kommunikationsschnittstelle 29 verbunden.
  • Die Kameraschnittstelle 23 ist mit einem Bildaufnahmemittel, umfassend eine Kamera 4 (beispielsweise eine CCD-Kamera) verbunden. Die Kamera 4 weist eine elektronische Blendenverschlussfunktion auf und ist zum Aufnehmen eines Bilds als Reaktion auf einen Bildaufnahmebefehl konfiguriert, der über die Kameraschnittstelle 23 empfangen wird. Die von der Kamera 4 erfassten Bilddaten werden über die Kameraschnittstelle 23 in Form eines Grauwertsignals im Bildspeicher 26 gespeichert.
  • Die Monitorschnittstelle 24 ist mit dem Monitor 3 verbunden (siehe 1). Der Monitor 3 zeigt je nach Bedarf das von der Kamera 4 aufgenommene Bild, ein im Bildspeicher 26 gespeichertes altes Bild, ein vom Bildprozessor 22 verarbeitetes Bild usw.
  • Wie in 1 dargestellt nimmt die an der Werkzeugbefestigungsfläche 32 des Roboters 1 befestigte Kamera 4 ein Bild der Markierung 7 des an der Werkzeugmaschine 8 befestigten Ziels 6 auf. Das im Bildspeicher 26 gespeicherte Bildsignal der Markierung 7 wird unter Verwendung des Bildprozessors 22 analysiert, sodass die 2-dimensionale Position und Größe usw. gefunden werden (Einzelheiten sind später erklärt). Die Markierung 7 ist ein geometrisches Merkmal des Ziels 6, das die Erkennung von Informationen über die Position des auf der Lichtempfangsoberfläche der Kamera 4 abgebildeten Bilds des Ziels 6 und von Informationen über die Länge betreffend die Distanz zwischen der Kamera 4 und dem Ziel 6 ermöglicht.
  • Das Analyseprogramm und die Analyseparameter usw., das bzw. die für die Bildverarbeitung erforderlich sind, sind im nicht flüchtigen Speicher 27 gespeichert. Das RAM 28 wird zum vorübergehenden Speichern von Daten verwendet, die mit verschiedenen, von der CPU 20 durchgeführten Verarbeitungsschritten in Verbindung stehen. Die Kommunikationsschnittstelle 29 ist über die Kommunikationsschnittstelle 14 der Robotersteuerung 5 mit der Robotersteuerung 5 verbunden.
  • Unter Bezugnahme auf 1 wird eine Sichtlinie 40 der Kamera 4 als gerade Linie gezogen, die sich von einem repräsentativen Punkt der Kamera 4 (beispielsweise dem Mittelpunkt der Kameralinse) zum Ziel 6 erstreckt. Das in 1 dargestellte Koordinatensystem Σv ist ein die Sichtlinie 40 repräsentierendes Koordinatensystem. Das Koordinatensystem Σv ist derart festgelegt, dass sich der Ursprung auf der Sichtlinie 40 befindet und dass eine Koordinatenachse (beispielsweise die Z-Achse) mit der Sichtlinie 40 zusammenfällt.
  • Es sei darauf hingewiesen, dass das Koordinatensystem der mechanischen Schnittstelle Σf ein Koordinatensystem ist, das, wie vorstehend erklärt, die Position und Stellung der Werkzeugbefestigungsfläche 32 repräsentiert, in dieser Beschreibung ist es aber auch ein Koordinatensystem, das die Position und Stellung des Roboters 1 repräsentiert. Mit anderen Worten bedeutet „Position des Roboters”, sofern nicht anders angegeben, die Position des Ursprungs des Koordinatensystems der mechanischen Schnittstelle Σf im Roboterkoordinatensystem Σb. Wenn die „Position des Roboters” die Stellung des Roboters enthält, bedeutet „Position des Roboters” die Position und Stellung des Ursprungs des Koordinatensystems der mechanischen Schnittstelle Σf im Roboterkoordinatensystem Σb.
  • Das Messsystem 10 gemäß der vorliegenden Ausführungsform ermittelt die Markierung 7 des Ziels 6 zum Kalibrieren der mechanischen Parameter des Roboters 1. Wie in 1 dargestellt enthält die Robotersteuerung 5 ein Messposition/Stellung-Ermittlungsteil 51, ein Positionierungsteil 52, ein Zielermittlungsteil 53, ein Roboterbewegungsteil 54, ein Roboterendpunktspeicherteil 55 und ein Berechnungsteil 56.
  • Das Messpositionen/Stellung-Ermittlungsteil 51 ermittelt eine Vielzahl von Stopppositionen der Werkzeugmaschine 8 und eine Vielzahl von Messpositionen und Stellungen des Roboters 1, sodass das Ziel 6 im Sichtfeld der Kamera 4 enthalten ist, wenn die Werkzeugmaschine 8 an der Vielzahl von Stopppositionen ist.
  • Das Messposition/Stellung-Ermittlungsteil 51 kann zum Ermitteln der Vielzahl von Messpositionen und Stellungen konfiguriert sein, sodass die Distanz zwischen der Kamera 4 und einem vorbestimmten Punkt des Ziels 6 konstant ist und die Neigung der Sichtlinie der Kamera 4, die durch den vorbestimmten Punkt passiert, unterschiedlich ist.
  • Das Messposition/Stellung-Ermittlungsteil 51 kann auch zum Ermitteln der Vielzahl von Messpositionen und Stellungen konfiguriert sein, sodass die Stellung der Sichtlinie der Kamera 4, die durch den vorbestimmten Punkt des Ziels 6 passiert, konstant ist und eine Distanz zwischen der Kamera 4 und dem vorbestimmten Punkt des Ziels 6 unterschiedlich ist.
  • Das Messposition/Stellung-Ermittlungsteil 51 kann auch zum automatischen Erzeugen einer Vielzahl von Messpositionen und Stellungen konfiguriert sein.
  • Das Positionierungsteil 52 positioniert die Werkzeugmaschine 8 sequenziell an einer Vielzahl von Stopppositionen und positioniert den Roboter 1 sequenziell an einer Vielzahl von Messpositionen und Stellungen, die der Vielzahl von Stopppositionen entspricht.
  • Das Zielermittlungsteil 53 bildet ein Bild des Ziels 6 auf der Lichtempfangsfläche der Kamera 4 ab und verwendet die Informationen über die Position des Ziels 6 und Informationen über die Länge als Grundlage zum Ermitteln von Informationen über die Distanz zwischen der Kamera 4 und dem Ziel 6.
  • Das Roboterbewegungsteil 54 bewegt den Roboter 1, sodass in dem Zustand, in dem die Werkzeugmaschine 8 in einer Stoppposition ist und der Roboter 1 in einer Messposition und Stellung ist, die Differenz zwischen der Position des Ziels 6 auf der Lichtempfangsfläche der Kamera 4 und einer vorbestimmten Position des von der Kamera 4 erhaltenen Bilds innerhalb eines vorbestimmten Fehlers liegt und die Differenz zwischen den Informationen über die Distanz und einem vorbestimmten Wert innerhalb eines vorbestimmten Fehlers liegt.
  • Das Roboterendpunktspeicherteil 55 speichert die Position und Stellung des Roboters 1 nach dem Bewegen des Roboters durch das Roboterbewegungsteil 54 bewegt wurde, als ein Endpunkt, der mit der Stoppposition und der Messposition und Stellung der Werkzeugmaschine 8 verknüpft ist.
  • Das Berechnungsteil 56 verwendet die Vielzahl von Endpunkten, die der Vielzahl von Stopppositionen entsprechen, und die Vielzahl von Messpositionen und Stellungen und die Vielzahl von Stopppositionen als Grundlage zum gleichzeitigen Finden des Fehlers der mechanischen Parameter des Roboters 1 und der relativen Beziehung zwischen dem Roboterkoordinatensystem Σb und dem Werkzeugmaschinenkoordinatensystem Σm.
  • Das Berechnungsteil 56 kann zum Nutzen nichtlinearer Optimierung einschließlich des Newton-Raphson-Verfahrens, eines genetischen Algorithmus und eines normalen Netzwerks konfiguriert sein, um den Fehler der mechanischen Parameter des Roboters 1 zu finden.
  • Unter Bezugnahme auf die Ablaufdiagramme in 4 und 5 wird ein Verfahren zum Berechnen mechanischer Parameter beschrieben, das von dem Messsystem gemäß der vorliegenden Ausführungsform durchgeführt wird. 4 ist ein Ablaufdiagramm, das einem Überblick über die Verarbeitung für die Werkzeugmaschine 8 darstellt, während 5 ein Ablaufdiagramm ist, das einen Überblick über die Verarbeitung für den Roboter 1 darstellt.
  • In Schritt M1 wird das Ziel 6 an der Werkzeugmaschine 8 befestigt. In Schritt R1 wird die Kamera 4 an der Werkzeugbefestigungsfläche 32 des Roboters 1 angebracht. Das Ziel 6 und die Kamera 4 müssen nicht an ihrer genauen Position sein, werden aber so befestigt, dass sich die Positionen während der Messung nicht verändern.
  • In Schritt M2 wird die Beziehung zwischen der Bewegungsrichtung und der Bewegungsdistanz des Ziels 6 auf dem Bild und der Bewegungsrichtung und der Bewegungsdistanz der Werkzeugmaschine 8 gefunden. In Schritt R2 wird die Beziehung zwischen der Bewegungsrichtung und der Bewegungsdistanz des Ziels 6 auf dem Bild und der Bewegungsrichtung und der Bewegungsdistanz des Roboters 1 gefunden. Diese Beziehungen werden zu der Bestimmung verwendet, wie sich der Roboter 1 oder die Werkzeugmaschine 8 derart bewegen lässt, dass das Ziel 6 auf dem Bild in einer bestimmten Richtung um genau eine bestimmte Distanz bewegt wird. Beispielsweise wird der Roboter 1 oder die Werkzeugmaschine 8 durch mehrmalige translationale Bewegung bewegt und das Merkmal des auf der Lichtempfangsoberfläche der Kamera 4 abgebildeten Bilds des Ziels 6 wird jedes Mal ermittelt, um die Beziehung zwischen der Bewegungsrichtung und der Bewegungsdistanz jeder Achse des Roboters 1 oder der Werkzeugmaschine 8 und die Änderung des Merkmals des Ziels 6 zu finden.
  • In der vorliegenden Ausführungsform wird die Messung für „m” Stopppositionen der Werkzeugmaschine 8 an ni (n = 1, 2, ..., m) Messpositionen und Stellungen des Roboters 1 durchgeführt. Die fortlaufende Anzahl an Stopppositionen der Werkzeugmaschine 8 ist durch den Index „i” angegeben. Die i. Stoppposition der Werkzeugmaschine im Werkzeugmaschinenkoordinationssystem Σm ist durch Mpi angegeben.
  • In Schritt M3 wird für den Index „i” „1” eingegeben. In Schritt M4 bewegt der Anwender die Werkzeugmaschine 8 in die anfängliche Stoppposition Mp1. Die Werkzeugmaschine 8 registriert Mp1 und sendet ein Bewegungsabschlusssignal an die Robotersteuerung 5.
  • Wenn die Robotersteuerung 5 das Bewegungsabschlusssignal (Schritt R3) empfängt, fährt die Routine mit Schritt R4 fort, in dem beurteilt wird, ob der Index „i” gleich „1” ist. Wenn der Index „i” gleich „1” ist, setzt die Routine mit Schritt R5 fort, in dem ein Anwender den Roboter 1 derart bewegt, dass die Markierung 7 des Ziels 6 in das Sichtfeld der Kamera 4 eintritt (die Markierung 7 wird beispielsweise auf dem Monitor 3 der Bildverarbeitungsvorrichtung 2 angezeigt), wenn die Werkzeugmaschine 8 in der Stoppposition Mp1 ist.
  • In Schritt R6 werden automatisch die Position Bpt (Anfangsposition des Ziels 6) eines vorbestimmten Punkts der Markierung 7 im Roboterkoordinatensystem Σb und die Position FpS des gewünschten Punkts 31 der Kamera 4 im Koordinatensystem der mechanischen Schnittstelle Σf gemessen, wenn die Werkzeugmaschine in einer Stoppposition Mp1 ist.
  • Zur Durchführung der Messung in Schritt R6 kann beispielsweise der in der japanischen Patentanmeldung Nr. 2005-201824 beschriebene Stand der Technik verwendet werden. Gemäß diesem Stand der Technik wird der gewünschte Punkt 31 der Kamera 4 mit einem vorbestimmten Punkt der Markierung 7 im Roboterkoordinatensystem Σb abgeglichen. In diesem Zustand wird die Messung aus einer Vielzahl von Richtungen (mit einer Vielzahl von Roboterstellungen) zum Berechnen der Position FpS des gewünschten Punkts 31 und der Position Bpt eines vorbestimmten Punkts der Markierung 7 durchgeführt. Wenn der fragliche Punkt 31 als Werkzeugmittelpunkt (TCP) des an der Hand des Roboters befestigten Werkzeugs betrachtet wird, ähnelt dieses Verfahren dem herkömmlichen Verfahren einer mechanischen Nachbesserung vorbestimmter Punkte des Roboterkoordinatensystems aus einer Vielzahl von Richtungen zur Berechnung von Positionen des Werkzeugmittelpunkts und eines vorbestimmten Punkts der Markierung 7.
  • Es sei darauf hingewiesen, dass eine präzise Berechnung der Positionen der Kamera 4 und des Ziels 6 in dieser Phase nicht erforderlich ist. Mit anderen Worten ist es ausreichend, dass das Ziel 6 nicht aus dem Sichtfeld der Kamera 4 verschwindet, wenn die Stellung des Roboters 1 in der Nähe eines gewünschten Punkts 31 in dem Zustand geändert wird, in dem der gewünschte Punkt 31 mit einem vorbestimmten Punkt des Ziels 6 zusammenfällt.
  • In Schritt R7 werden ni Messpositionen und Stellungen BP'i,j (j = 1, 2, ..., ni) für die Position des Ziels 6 ermittelt, wenn die Werkzeugmaschine 8 an einer Stoppposition Mpi ist. Die Robotersteuerung 5 registriert die Messpositionen und Stellungen BP'i,j (j = 1, 2, ..., In dieser Ausführungsform werden die Messpositionen und Stellungen BP'i,j (j = 1, 2, ..., ni) wie nachstehend erklärt automatisch berechnet. Wenn der Index „i” gleich „1” ist, werden erst automatisch „n” Positionen und Stellungen des Roboters 1 in Bezug auf die Position des Ziels 6 berechnet, wenn die Werkzeugmaschine in einer Stoppposition Mp1 ist, und auf der Grundlage der in Schritt R6 berechneten Anfangsposition Bpt des Ziels 6 im Roboterkoordinatensystem Σb und der Position FpS des gewünschten Punkts 31 der Kamera 4 im Koordinatensystem der mechanischen Schnittstelle Σf registriert.
  • Die „n” Positionen und Stellungen können, als erstes Beispiel, eine Vielzahl von Positionen und Stellungen enthalten, wobei die Distanz zwischen der Kamera 4 und einem vorbestimmten Punkt der Markierung 7 konstant ist und die Neigung der Sichtlinie 40 der Kamera 4, die durch den vorbestimmten Punkt passiert, unterschiedlich ist. Alternativ können die „n” Positionen und Stellungen, als zweites Beispiel, eine Vielzahl von Positionen und Stellungen enthalten, wobei die Stellung der Sichtlinie 40 der Kamera 4, die durch einen vorbestimmten Punkt der Markierung 7 passiert, konstant ist und die Distanz zwischen der Kamera 4 und dem vorbestimmten Punkt unterschiedlich ist.
  • 6 zeigte drei Positionen und Stellungen gemäß dem ersten Beispiel, wobei die Distanz zwischen der Kamera 4 und einem vorbestimmten Punkt der Markierung 7 konstant ist und die Neigung der Sichtlinie 40 der Kamera 4, die durch den vorbestimmten Punkt passiert, unterschiedlich ist.
  • Es sei darauf hingewiesen, dass zur automatischen Berechnung der „n” Positionen und Stellungen in Schritt R6 zuerst die Position und Stellung des Roboters 1, die durch Positionsabgleich des gewünschten Punkts 31 der Kamera 4 mit dem Ziel 6 erhalten wird, als Grundposition und Stellung definiert werden kann, wobei die Position des gewünschten Punkts 31 der Kamera 4 konstant gemacht werden kann, wonach ein vorbestimmter Wert zu dem Positionswinkel der Kamera 4 addiert werden kann. Aus diesem Grund wird die im Arbeitsbereich des Roboters 1 enthaltene Vielzahl von Positionen und Stellungen automatisch erzeugt.
  • Alternativ besteht die Möglichkeit, das Verfahren, mit dem die Position des gewünschten Punkts 31 der Kamera 4 konstant gemacht wird, zu verwenden, wonach der Bereich von Stellungswinkeln der Kamera 4, der dem Arbeitsbereich des Roboters 1 entspricht, berechnet wird, und eine Vielzahl von Positionen und Stellungen für jede Vielzahl von in dem Bereich von Stellungswinkeln enthaltenen Winkeln zu erzeugen (beispielsweise Winkel, die durch gleiches Teilen des Stellungswinkelbereichs erhalten werden).
  • Nachdem die „n” Positionen und Stellungen des Roboters für die Position des Ziels 6 auf diese Weise automatisch berechnet und registriert wurden, wenn die Werkzeugmaschine 8 in einer Stoppposition Mp1 ist und der Index „i” gleich „1” ist, werden n1 Positionen und Stellungen aus den „n” Positionen und Stellungen ausgewählt und als die n1 Messpositionen und Stellungen BP'1,j (j = 1, 2, ..., n1) des Roboters 1 für die Position des Ziels 6 ermittelt und registriert, wenn die Werkzeugmaschine 8 in einer Stoppposition Mp1 ist.
  • In Schritt R8 wird sequenziell eine „automatischen Nachbesserungsverarbeitung” durchgeführt, die bei den ni Messpositionen und Stellungen BP'i,j (j = 1, 2, ..., ni) des Roboters 1 für die Position des Ziels 6 beginnt, wenn die Werkzeugmaschine 8 an einer Stoppposition Mp1 ist. Die Position und Stellung BPi,j (j = 1, 2, ..., ni) des Roboters 1 zum Zeitpunkt des Endes der „automatischen Nachbesserungsverarbeitung” wird als Endpunkt registriert, anschließend sendet die Robotersteuerung 5 ein Endsignal für die „automatische Nachbesserungsverarbeitung” an die Werkzeugmaschine 8. Bei der „automatischen Nachbesserungsverarbeitung” wird der Roboter 1 derart bewegt, dass der Wert, der das geometrische Merkmal der Form des auf der Lichtempfangsfläche der Kamera 4 abgebildeten Bilds der Markierung 7 anzeigt, oder ein Parameter eine vorbestimmte Bedingung erfüllt.
  • Einzelheiten der „automatischen Nachbesserungsverarbeitung” werden unter Bezugnahme auf 7A, 76, 8A, 8B und 9 erklärt. Die Markierung 7 kann beispielsweise eine kreisförmige Form aufweisen, in die ein die Position des Mittelpunkts anzeigendes Kreuz gezeichnet wird. Die geometrischen Merkmale des auf der Lichtempfangsfläche der Kamera 4 abgebildeten Bilds des Ziels 6 sind die Mittelposition und die Länge der Längsachse des Ovals (siehe 7B). Normalerweise ist die Lichtempfangsfläche der Kamera 4 in Bezug auf die Ebene der Markierung 7 des Ziels 6 geneigt, sodass eine kreisförmige Markierung 7 auf dem Bild als ein Oval erscheint. Die Markierung 7 kann eine andere Form als einen Kreis aufweisen oder kann ein Buchstabe oder ein Symbol usw. sein.
  • Wenn die Position der Kamera 4 und des Ziels 6 nicht mehr übereinstimmen (siehe 7A), weicht, wie in 7B dargestellt, das auf der Lichtempfangsfläche abgebildete ovalförmige Markierungsbild 7a von einem vorbestimmten Punkt auf der Lichtempfangsfläche ab (beispielsweise dem Mittelpunkt M der Lichtempfangsfläche). Ferner wird die Länge der Längsachse des Markierungsbilds 7a kürzer als der Durchmesser der Markierung 7.
  • Aus diesem Grund wird der Roboter 1, wie in 8A und 8B dargestellt, derart bewegt, dass sich der relative Positionsbezug zwischen der Kamera 4 und dem Ziel 6 so ändert, dass der Mittelpunkt des Markierungsbilds 7a mit dem Mittelpunkt M der Lichtempfangsfläche zusammenfällt und dass die Länge der Längsachse des Markierungsbilds 7a mit dem Durchmesser der Markierung 7 zusammenfällt.
  • Genauer gesagt wird der Roboter 1 automatisch derart bewegt, dass die Differenz zwischen dem Mittelpunkt des Markierungsbilds 7a auf der Lichtempfangsfläche und dem Mittelpunkt M der Lichtempfangsfläche und die Differenz zwischen der Länge der Längsachse des Markierungsbilds 7a und dem Durchmesser der Markierung 7 innerhalb vorbestimmter Fehler liegen. Auf der Lichtempfangsfläche kann eine Bildverarbeitung zum Ermitteln der Merkmale des Markierungsbilds 7a verwendet werden, sodass die vorstehende Verarbeitung in Übereinstimmung mit den Ermittlungsergebnissen durchgeführt werden kann.
  • Die „automatische Nachbesserungsverarbeitung”, mit der das von der Kamera 4 aufgenommene Markierungsbild 7a in den Mittelpunkt M des Bilds verschoben und die Größe des Bilds abgeglichen wird, ist unter Bezugnahme auf 9 erläutert.
  • In Schritt S1 wird die Kamera 4 zum Aufnehmen eines Bilds der Markierung 7 verwendet. So wird beispielsweise das in 7B dargestellte Markierungsbild 7a erhalten.
  • In Schritt S2 werden die Position und Größe des Bilds der Markierung 7 auf dem Bild (beispielsweise die Position des Mittelpunkts des Markierungsbilds 7a auf dem Bild und die Länge der Längsachse des Markierungsbilds 7a) durch die Bildverarbeitungsvorrichtung 2 ermittelt.
  • In Schritt S3 wird beurteilt, ob Position bzw. Größe des in Schritt S2 gefundenen Bilds des Ziels 6 mit einem vorbestimmten Punkt auf dem Bild (beispielsweise dem Mittelpunkt M der Lichtempfangsfläche) und einer vorbestimmten Länge (beispielsweise dem Durchmesser der Markierung 7) zusammenfällt. Genauer gesagt wird beurteilt, ob die Position und Größe des Ziels 6 mit einem vorbestimmten Punkt und einer vorbestimmten Länge „zusammenfallen”, sodass die Verarbeitung beendet wird, wenn sowohl die Distanz zwischen dem Mittelpunkt M und dem Mittelpunkt des Markierungsbilds 7a als auch die Differenz zwischen der Länge der Längsachse des Markierungsbilds 7a und dem Durchmesser der Markierung 7 geringer sind als die auf dem Bild zulässigen vorbestimmten Fehler, d. h. der Schwellendistanz δimage oder weniger entsprechen.
  • Wenn mindestens eine der vorstehend genannten Differenz der Distanz und Differenz zwischen Länge der Längsachse und Durchmesser größer als die Schwellendistanz δimage ist, werden die Position und Größe des Ziels 6 als „nicht zusammenfallend” mit dem vorbestimmten Punkt und der vorbestimmten Länge beurteilt und die Routine wird mit Schritt S4 fortgesetzt. Es sei darauf hingewiesen, dass die Distanz auf dem Bild beispielsweise durch Ersetzen mit der Anzahl „Pixel” einer Quadratform, die der Distanz entspricht, gemessen werden kann.
  • In Schritt S4 wird ein Robotertranslationsbefehl vorbereitet, sodass das Markierungsbild 7a zum Mittelpunkt M auf dem Bild bewegt wird und die Länge der Längsachse des Markierungsbilds 7a einem vorbestimmten Wert entspricht. In diesem Fall bedeutet „Robotertranslationsbefehl” einen Bewegungsbefehl, mit dem der Roboter 1 ohne Änderung der Stellung des Roboters 1, d. h. der Stellung im Koordinatensystem der mechanischen Schnittstelle Σf, im Raum fixierten Roboterkoordinatensystem Σb bewegt wird.
  • In Schritt S5 wird der Roboter 1 gemäß dem vorstehend genannten Robotertranslationsbefehl bewegt. Wenn die Bewegung des Roboters 1 beendet ist, kehrt die Routine zu Schritt S1 zurück. Ferner wird die Verarbeitung der Schritte S1 bis S5 wiederholt, bis in Schritt S3 ein „Zusammenfall” erkannt ist.
  • Die Roboterposition (Endpunkt) zu dem Zeitpunkt, an dem die „automatische Nachbesserungsverarbeitung” beendet ist, weist eine Distanz zwischen dem Mittelpunkt der Markierung 7 auf dem Bild und einem vorbestimmten Punkt und eine Differenz zwischen der Länge der Längsachse des Markierungsbilds 7a und einer vorbestimmten Größe auf, die beide der Schwellendistanz δimage oder weniger entsprechen.
  • Unter Bezugnahme auf 4 fährt die Routine mit Schritt M6 fort, wenn die Werkzeugmaschine 8 in Schritt M5 ein Endsignal für die „automatische Nachbesserungsverarbeitung” erhält. In Schritt M6 wird beurteilt, ob der Index „i” gleich „m” ist. Wenn der Index „i” kleiner als „m” ist, wird der Index „i” in Schritt M7 um genau „1” erhöht und die Routine kehrt zu Schritt M4 zurück. Ferner bewegt der Anwender die Werkzeugmaschine 8 in Schritt M4 in die nächste Stoppposition Mpi, die Werkzeugmaschine 8 registriert die Stoppposition Mpi und es wird ein Bewegungsabschlusssignal an die Robotersteuerung 5 gesendet.
  • Unter Bezugnahme auf 5 fährt die Routine mit Schritt R4 fort, wenn die Robotersteuerung 5 in Schritt R3 ein Bewegungsabschlusssignal empfängt. In Schritt R4 wird beurteilt, ob der Index „i” gleich „1” ist. Wenn der Index „i” größer als „1” ist, fährt die Routine mit Schritt R7 fort, wobei ni Messpositionen und Stellungen BP'i,j (j = 1, 2, ..., ni) für die Position des Ziels ermittelt werden, wenn die Werkzeugmaschine 8 an einer Stoppposition Mpi ist. In der vorliegenden Ausführungsform werden, wenn der Index „i” größer als „1” ist, die in Schritt R7 registrierten „n” Positionen und Stellungen zur automatischen Berechnung der Messpositionen und Stellungen verwendet.
  • Nachfolgend ist das Verfahren zum Berechnen der Messpositionen und Stellungen erklärt. Zuerst wird die in Schritt M2 gefundene Beziehung zwischen der Bewegung des Ziels 6 und der Bewegung der Werkzeugmaschine 8 auf dem Bild sowie die in Schritt R2 gefundene Beziehung der Bewegung des Ziels 6 und der Bewegung des Roboters 1 auf dem Bild als Grundlage zum Finden einer Rotationsmatrix BRM verwendet, die die relative Beziehung zwischen dem Roboterkoordinatensystem Σb und dem Werkzeugmaschinenkoordinatensystem Σm für die Stellung zeigt.
  • Es sei darauf hingewiesen, dass die Rotationsmatrix BRM in dieser Phase nicht mit hoher Genauigkeit berechnet werden muss. Wenn die Werkzeugmaschine 8 beispielsweise eine Translationsbewegung ausführt, sodass das Ziel 6 aus einem Zustand bewegt wird, in dem sich das Ziel 6 im Sichtfeld der Kamera 4 befindet, ist es ausreichend, den Roboter 1 mittels einer Translationsbewegung um genau die Bewegungsrichtung und Bewegungsdistanz des Ziels 6 im Roboterkoordinatensystem Σb zu bewegen, die anhand der Rotationsmatrix BRM berechnet wird, damit das Ziel 6 nicht von dem Sichtfeld der Kamera 4 abweicht.
  • Weiterhin werden die ni Positionen und Stellungen aus den in Schritt R7 registrierten „n” Positionen und Stellungen ausgewählt, wenn der Index „i” gleich „1” ist. Die Positionen und Stellungen, die mittels einer Parallelbewegung um genau BRM(MpiMp1) bewegt werden, werden als die ni Messpositionen und Stellungen BP'i,j (j = 1, 2, ..., ni) des Roboters 1 für die Position des Ziels 6 bestimmt, in der die Werkzeugmaschine 8 in einer Stoppposition Mpi ist. Die Robotersteuerung 5 registriert die Messpositionen und Stellungen BP'i,j (j = 1, 2, ..., ni).
  • In Schritt R8 wird die „automatische Nachbesserungsverarbeitung” sequenziell beginnend mit BP'i,j (j = 1, 2, ..., ni) durchgeführt. Die Position/Stellung BPi,j (j = 1, 2, ..., ni) des Roboters zum Zeitpunkt des Endes der „automatischen Nachbesserungsverarbeitung” wird als Endpunkt registriert. Die Robotersteuerung 5 sendet ein Endsignal für die „automatische Nachbesserungsverarbeitung” an die Werkzeugmaschine 8.
  • Wenn die Werkzeugmaschine 8 das Endsignal für die „automatische Nachbesserungsverarbeitung” (Schritt M5) empfängt, fährt die Routine mit Schritt M6 fort, in dem beurteilt wird, ob der Index „i” gleich „m” ist. Wenn der Index „i” kleiner als „m”, kehrt die Routine zu Schritt M7 zurück, wobei die Verarbeitung der Schritte M7, M4, R3, R4, R7, R8, M5 und M6 wiederholt wird.
  • Wenn in Schritt M6 beurteilt wird, dass der Index „i” gleich „m” ist, bedeutet dies, dass die Werkzeugmaschine 8 in alle Stopppositionen bewegt wurde. Zu diesem Zeitpunkt setzt die Routine mit Schritt M8 fort, in dem die Werkzeugmaschine 8 ein Messabschlusssignal an die Robotersteuerung 5 sendet.
  • Wenn der Index „i” gleich „m” ist und Schritt R3 vor der Durchführung der Verarbeitung in Schritt M4 durchgeführt wird oder Schritt R9 vor der Durchführung der Verarbeitung in Schritt M8 durchgeführt wird, wird die Verarbeitung der Schritte R10, R9 und R3 wiederholt.
  • Wenn die Robotersteuerung 5 in Schritt R9 ein Messabschlusssignal empfängt, werden die Stopppositionen des Maschinenwerkzeugs 8 sowie die Position und Stellung des Roboters 1 an diesem Endpunkt als Grundlage zur Berechnung und Aktualisierung der mechanischen Parameter des Roboters 1 und der Rotationsmatrix zwischen dem Roboterkoordinatensystem Σb und dem Werkzeugmaschinenkoordinatensystem Σm verwendet. Genauer gesagt wird in Schritt R11 angenommen, dass die Position des gewünschten Punkts 31 und die Position des Ziels 6 im Roboterkoordinatensystem Σb in den Positionen und Stellungen des Roboters 1 an den verschiedenen Stopppositionen der Werkzeugmaschine 8 und den verschiedenen Endpunkten zusammenfallen und es werden der Fehler der „p” mechanischen Parameter PK,0 = [Pk,0,1, Pk,0,2, ..., Rk,0,p] des Roboters, der Fehler der Position FpS = [XS, YS, ZS] des gewünschten Punkts 31 im Koordinatensystem der mechanischen Schnittstelle Σf, der Fehler der Position Bpt = [Xt, Vt, Zt] des vorbestimmten Punkts der Markierung 7 im Roboterkoordinatensystem Σb, wenn die Werkzeugmaschine 8 in einer Stoppposition Mp1 ist, und der Fehler der Rotationsmatrix BRM zwischen dem Roboterkoordinatensystem Σb und dem Werkzeugmaschinenkoordinatensystem Σm erkennt und berechnet. Die Rotationsmatrix BRM kann mithilfe dreier Variablen R = [ϕ, θ, ψ] durch Eulerwinkel usw. ausgedrückt werden.
  • Die Fehler der mechanischen Parameter PK,0, die Position FpS des gewünschten Punkts 31, die Position Bpt eines vorbestimmten Punkts der Markierung 7 und die Variablen R bilden den Fehlerparameter PID = [ΔPk, ΔPS, ΔPt, ΔR]. Der Fehlerparameter PID wird wie folgt erkannt und berechnet.
  • Die Position Bpt des Ziels 6 ist die Position des Ziels 6 im Roboterkoordinatensystem Σb, wenn die Werkzeugmaschine 8 in einer Stoppposition Mp1 ist. Aus diesem Grund kann die Position des Ziels 6 im Roboterkoordinatensystem Σb mit der Werkzeugmaschine 8 in einer Stoppposition Mpi durch Berechnen der folgenden Formel gefunden werden: Bpt + BRM(MpiMp1), und zwar auf der Grundlage der Bewegungsdistanz (MpiMp1) der Werkzeugmaschine 8.
  • Wenn der Vektor, der die Position der Positionen und Stellungen (Endpunkte) BPi,j (j = 1, 2, ..., ni) des Roboters zum Zeitpunkt des Endes der „automatischen Nachbesserungsverarbeitung” als Bpi,j definiert wird und wenn die die Stellung zeigende Rotationsmatrix als BRi,j definiert wird, kann die Position des gewünschten Punkts 31 im Roboterkoordinatensystem Σb durch folgende Formel gefunden werden: Bpi,j + BRi,j FpS, und zwar unter Verwendung der Position Fps des gewünschten Punkts 31 im Koordinatensystem der mechanischen Schnittstelle Σf.
  • Im Idealzustand, d. h., wenn alle Komponenten des Fehlerparameters PID null sind und die Positionierung der Werkzeugmaschine 8 an allen Stopppositionen Mpi (i = 1, 2, ..., m) der Werkzeugmaschine 8 fehlerfrei ist, fällt die Position Bpi,j + BRi,j FpS (j = 1, 2, ..., ni) des gewünschten Punkts 31 des Roboterkoordinatensystems Σb mit der Position Bpt + BRM(MpiMp1) des Ziels 6 im Roboterkoordinatensystem Σb zusammen.
  • Im Gegensatz zum Idealzustand ohne Fehler kommt es gemäß den Fehlerparametern PID einschließlich Fehler der mechanischen Parameter der Rotationsmatrix tatsächlich zu einem Positionsfehler ei,j = (Bpi,j + BRi,j FpS) – (Bpt + BRM(MpiMp1)) zwischen der Position des gewünschten Punkts 31 und der Position des Ziels 6 im Roboterkoordinatensystem Σb. Anhand der geometrischen Beziehung ist es offensichtlich, dass Bpi,j + BRi,j FpS unter Verwendung der Werte der verschiedenen Antriebsachsen des Roboters 1 als unveränderliche Werte von PID abhängig wird. Somit ist auch ei,j von PID abhängig.
  • Unter Verwendung des Newton-Raphson-Verfahrens wird der PID gefunden, der den Mindestwert für den Fehler E = [e1,1, ..., ei,j, ..., em,nm] zwischen der Position Bpi,j + BRi,j FpS des gewünschten Punkts 31 im Roboterkoordinatensystem Σb, der den verschiedenen Stopppositionen der Werkzeugmaschine 8 entspricht, und den Positionen und Stellungen des Roboters 1 an den verschiedenen Endpunkten und der Zielposition Bpt + BRM(MpiMp1) im Roboterkoordinatensystem Σb ergibt. Dies wird ferner durch Ersetzen der mechanischen Parameter des Roboters 1 mit den berechneten Werten aktualisiert.
  • In Übereinstimmung mit dem Berechnungssystem gemäß der vorliegenden Ausführungsform wird die hohe Positionspräzision der Werkzeugmaschine 8 zum Finden der Position des an der Werkzeugmaschine 8 befestigten Ziels 6 anhand der Distanz der Bewegung der Werkzeugmaschine 8 verwendet. Aus diesem Grund ist es nicht länger notwendig, die Messpositionen und Stellungen mit jeder Erhöhung der Positionen des Ziels 6 zu erhöhen. Genau gesagt erhöhen sich in der vorliegenden Ausführungsform die zu erkennenden und zu berechnenden Parameter auch beim Erhöhen der Anzahl der gemessenen „m” Positionen des Ziels nicht, während die Fehlerparameter der Rotationmatrix um drei erhöht werden. Aus diesem Grund ist die Anzahl der für die Erkennung und Berechnung erforderlichen Messpositionen und Stellungen bei der Durchführung einer Messung von zwei Zielpositionen (m = 2) dieselbe wie bei der Einstellung einer Vielzahl von Zielen. Wenn die Messung jedoch für drei oder mehr Zielpositionen (m > 2) durchgeführt wird, kann die Anzahl der für die Erkennung und Berechnung erforderlichen Messpositionen und Stellungen verglichen mit dem Fall einer Vielzahl von Zielen um genau m – 2 reduziert werden.
  • Auf diese Weise wird die Präzision der Positionierung des Roboters 1 gemäß der vorliegenden Ausführungsform im Arbeitsbereich des Roboters 1 einheitlich durch einfache Mittel verbessert. Gleichzeitig lässt sich mit dem Fehler der mechanischen Parameter auch der Fehler der Rotationsmatrix zwischen dem Roboterkoordinatensystem Σb und dem Werkzeugmaschinenkoordinatensystem Σm finden.
  • Vorstehend wurden verschiedene Ausführungsformen der vorliegenden Erfindung erklärt, für den Fachmann ist es jedoch offensichtlich, dass auch andere Ausführungsformen zur Umsetzung der mit der vorliegenden Erfindung beabsichtigten Maßnahmen und Wirkungen denkbar sind. Insbesondere können die Bestandteile der vorstehend erklärten Ausführungsformen entfernt oder ersetzt werden, ohne dadurch vom Schutzumfang der vorliegenden Erfindung abzuweichen, außerdem können bekannte Mittel hinzugefügt werden. Weiterhin ist für den Fachmann auch die Tatsache offensichtlich, dass die in dieser Beschreibung explizit oder implizit offenbarten Merkmale der Vielzahl von Ausführungsformen zur Nutzung der vorliegenden Erfindung frei kombinierbar sind.
  • Gemäß der vorliegenden Erfindung werden die an einer Vielzahl von Positionen durch die Bewegung der Werkzeugmaschine angeordneten Ziele gemessen und die mechanischen Parameter des Roboters korrigiert. Aus diesem Grund kann die Präzision im Arbeitsbereich des Roboters einheitlich durch eine geringe Anzahl von Messungen verglichen mit dem Anordnen einer Vielzahl von Zielen verbessert werden. Weiterhin wird gemäß der vorliegenden Erfindung zusammen mit dem Fehler der mechanischen Parameter auch der Fehler der Rotationsmatrix, der die relative Beziehung der Stellungen zwischen dem Roboterkoordinatensystem und dem Werkzeugmaschinenkoordinatensystem zeigt, gefunden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2008-012604 [0003, 0004]
    • JP 2005-201824 [0005, 0067]

Claims (12)

  1. Messsystem (10), umfassend: einen Mehrgelenksroboter (1) mit einer Lichtempfangsvorrichtung (4) an einem vorderen Ende eines Arms (1a); und eine Werkzeugmaschine (8), die innerhalb eines Arbeitsbereichs des Roboters angeordnet ist und die Lichtempfangsvorrichtung zum Messen eines an der Werkzeugmaschine befestigten Ziels (6) verwendet, wobei das Ziel ein geometrisches Merkmal aufweist, das die Erkennung von Informationen über eine Position eines auf einer Lichtempfangsfläche der Lichtempfangsvorrichtung abgebildeten Bilds des Ziels und von Informationen über eine Länge, die sich auf eine Distanz zwischen der Lichtempfangsvorrichtung und dem Ziel bezieht, ermöglicht, und wobei das Messsystem ferner umfasst: ein Messposition/Stellung-Ermittlungsteil (51) zum Ermitteln einer Vielzahl von Stopppositionen der Werkzeugmaschine und einer Vielzahl von Messpositionen und Stellungen des Roboters, wobei das Ziel in einem Sichtfeld der Lichtempfangsvorrichtung enthalten ist, wenn die Werkzeugmaschine an der Vielzahl von Stopppositionen angeordnet ist, ein Positionierungsteil (52) zum sequenziellen Positionieren der Werkzeugmaschine an der Vielzahl von Stopppositionen und zum sequenziellen Positionieren des Roboters an der Vielzahl von Messpositionen und Stellungen, die der Vielzahl von Stopppositionen entspricht, ein Zielermittlungsteil (53) zum Abbilden des Bilds des Ziels auf der Lichtempfangsfläche der Lichtempfangsvorrichtung und zum Verwenden von Informationen über die Position des Ziels und Informationen über die Länge als Grundlage zum Ermitteln von Informationen über die Distanz zwischen der Lichtempfangsvorrichtung und dem Ziel, ein Roboterbewegungsteil (54) zum Bewegen des Roboters derart, dass in einem Zustand, in dem sich die Werkzeugmaschine an einer Stoppposition befindet und sich der Roboter in einer Messposition und Stellung befindet, eine Differenz zwischen einer Position des Ziels auf der Lichtempfangsfläche der Lichtempfangsvorrichtung und einer vorbestimmten Position des von der Lichtempfangsvorrichtung aufgenommenen Bilds innerhalb eines vorbestimmten Fehlers liegt und eine Differenz zwischen Informationen über die Distanz und einem vorbestimmten Wert innerhalb eines vorbestimmten Fehlers liegt, ein Roboterendpunktspeicherteil (55) zum Speichern von Positionen und Stellungen des Roboters nach dem Bewegen durch das Roboterbewegungsteil als Endpunkte, die mit den Stopppositionen der Werkzeugmaschine und den Messpositionen und Stellungen verknüpft sind, sowie ein Berechnungsteil (56) zum gleichzeitigen Finden von Fehlern der mechanischen Parameter des Roboters und einer Übereinstimmung zwischen dem Roboterkoordinatensystem und dem Werkzeugmaschinenkoordinatensystem unter Verwendung der Vielzahl von Endpunkten, die der Vielzahl von Stopppositionen entsprechen, und der Vielzahl von Messpositionen und Stellungen und der Vielzahl von Stopppositionen als Grundlage.
  2. Messsystem nach Anspruch 1, wobei das Messposition/Stellung-Ermittlungsteil derart zum Ermitteln der Vielzahl von Messpositionen/Stellungen konfiguriert ist, dass eine Distanz zwischen der Lichtempfangsvorrichtung und einem vorbestimmten Punkt des Ziels konstant ist und eine Neigung einer Sichtlinie der Lichtempfangsvorrichtung, die durch den vorbestimmten Punkt passiert, unterschiedlich ist.
  3. Messsystem nach Anspruch 1, wobei das Messposition/Stellung-Ermittlungsteil derart zum Ermitteln der Vielzahl von Messpositionen/Stellungen konfiguriert ist, dass eine Stellung einer Sichtlinie der Lichtempfangsvorrichtung, die durch einen vorbestimmten Punkt des Ziels passiert, konstant ist und eine Distanz zwischen der Lichtempfangsvorrichtung und dem vorbestimmten Punkt des Ziels unterschiedlich ist.
  4. Messsystem nach Anspruch 1, wobei das Messposition/Stellung-Ermittlungsteil zum automatischen Erzeugen der Vielzahl von Messpositionen und Stellungen konfiguriert ist.
  5. Messsystem nach einem der Ansprüche 1 bis 4, wobei das Berechnungsteil zum Nutzen nichtlinearer Optimierung einschließlich des Newton-Raphson-Verfahrens, eines genetischen Algorithmus und eines normalen Netzwerks konfiguriert ist, um den Fehler der mechanischen Parameter des Roboters zu finden.
  6. Messsystem nach einem der Ansprüche 1 bis 5, wobei die Lichtempfangsvorrichtung eine CCD-Kamera (4) ist, die zum Aufnehmen eines 2-dimensionalen Bilds konfiguriert ist.
  7. Messsystem nach Anspruch 1, wobei das Ziel eine kreisförmige Markierung aufweist und wobei die Informationen über die Länge eine Länge der Längsachse eines dem Bild der Markierung entsprechenden Ovals enthalten, das auf der Lichtempfangsfläche der Lichtempfangsvorrichtung abgebildet ist.
  8. Messsystem nach einem der Ansprüche 1 bis 5, wobei die Lichtempfangsvorrichtung ein PSD ist, der zum Finden eines Schwerpunkts der Verteilung der Menge des empfangenen Lichts konfiguriert ist.
  9. Messsystem nach Anspruch 8, wobei das Ziel eine lichtabgebende Vorrichtung ist.
  10. Messsystem nach einem der Ansprüche 1 bis 9, wobei das Berechnungsteil zum Verwenden des Fehlers zwischen der Position eines gewünschten Punkts der Lichtempfangsvorrichtung und der Position eines vorbestimmten Punkts der auf dem Ziel abgebildeten Markierung als Grundlage zum Finden des Fehlers der mechanischen Parameter des Roboters konfiguriert.
  11. Kalibrierungsverfahren zum Kalibrieren mechanischer Parameter eines Mehrgelenkroboters (1) unter Verwendung eines Messsystems (10), umfassend den Roboter (1) mit einer Lichtempfangsvorrichtung (4) an einem vorderen Ende eines Arms (1a) und eine Werkzeugmaschine (8) innerhalb eines Arbeitsbereichs des Roboters, wobei das Kalibrierungsverfahren umfasst: Ermitteln einer Vielzahl von Stopppositionen der Werkzeugmaschine und einer Vielzahl von Messpositionen und Stellungen des Roboters, wobei ein an der Werkzeugmaschine befestigtes Ziel in einem Sichtfeld der Lichtempfangsvorrichtung enthalten ist, wenn die Werkzeugmaschine an der Vielzahl von Stopppositionen angeordnet ist, sequenzielles Positionieren der Werkzeugmaschine an der Vielzahl von Stopppositionen und sequenzielles Positionieren des Roboters an der Vielzahl von Messpositionen und Stellungen, die der Vielzahl von Stopppositionen entspricht, Abbilden des Bilds des Ziels auf der Lichtempfangsfläche der Lichtempfangsvorrichtung und Verwenden von Informationen über die Position des Ziels und Informationen über die Länge als Grundlage zum Ermitteln von Informationen über die Distanz zwischen der Lichtempfangsvorrichtung und dem Ziel, Bewegen des Roboters derart, dass in einem Zustand, in dem sich die Werkzeugmaschine an einer Stoppposition befindet und sich der Roboter in einer Messposition und Stellung befindet, eine Differenz zwischen einer Position des Ziels auf der Lichtempfangsfläche der Lichtempfangsvorrichtung und einer vorbestimmten Position des von der Lichtempfangsvorrichtung aufgenommenen Bilds innerhalb eines vorbestimmten Fehlers liegt und eine Differenz zwischen Informationen über die Distanz und einem vorbestimmten Wert innerhalb eines vorbestimmten Fehlers liegt, Speichern von Positionen und Stellungen des Roboters nach dem Bewegen durch das Roboterbewegungsteil als Endpunkte, die mit den Stopppositionen der Werkzeugmaschine und den Messpositionen und Stellungen verknüpft sind, sowie Verwenden der Vielzahl von Endpunkten, die der Vielzahl von Stopppositionen entsprechen, und der Vielzahl von Messpositionen und Stellungen und der Vielzahl von Stopppositionen als Grundlage zum gleichzeitigen Finden von Fehlern der mechanischen Parameter des Roboters und einer Übereinstimmung zwischen dem Roboterkoordinatensystem und dem Werkzeugmaschinenkoordinatensystem.
  12. Kalibrierungsverfahren nach Anspruch 11, ferner umfassend das Verwenden eines Fehlers zwischen einer Position eines gewünschten Punkts der Lichtempfangsvorrichtung und einer Position eines vorbestimmten Punkts einer auf dem Ziel abgebildeten Markierung als Grundlage zum Finden von Fehlern der mechanischen Parameter des Roboters beim Finden von Fehlern der mechanischen Parameter des Roboters.
DE102016116702.9A 2015-09-14 2016-09-07 Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters Active DE102016116702B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2015180613 2015-09-14
JP2015-180613 2015-09-14
JP2016-168082 2016-08-30
JP2016168082A JP6235664B2 (ja) 2015-09-14 2016-08-30 ロボットの機構パラメータを校正するために使用される計測装置

Publications (2)

Publication Number Publication Date
DE102016116702A1 true DE102016116702A1 (de) 2017-03-16
DE102016116702B4 DE102016116702B4 (de) 2019-01-24

Family

ID=58160717

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016116702.9A Active DE102016116702B4 (de) 2015-09-14 2016-09-07 Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters

Country Status (3)

Country Link
US (1) US10035268B2 (de)
CN (1) CN106514651B (de)
DE (1) DE102016116702B4 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110281234A (zh) * 2019-05-17 2019-09-27 爱驰汽车有限公司 一种基于自冲铆接的钉模防错方法及装置
DE102018007287B4 (de) * 2017-09-22 2020-10-01 Fanuc Corporation Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102018213398B4 (de) * 2017-08-22 2020-12-10 Fanuc Corporation Robotersystem

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016005699B3 (de) * 2016-05-12 2017-05-18 Carl Zeiss Automated Inspection GmbH Verfahren zum Kalibrieren einer Messvorrichtung zur Vermessung von Karosserieteilen und anderen Werkstücken sowie zur Durchführung des Verfahrens geeignete Messvorrichtung
JP6661028B2 (ja) * 2016-11-17 2020-03-11 株式会社Fuji 作業位置補正方法
JP6880982B2 (ja) * 2017-04-21 2021-06-02 セイコーエプソン株式会社 制御装置およびロボットシステム
JP6923361B2 (ja) * 2017-05-29 2021-08-18 株式会社ミツトヨ 位置計測装置の操作方法
JP6886620B2 (ja) * 2017-08-09 2021-06-16 オムロン株式会社 キャリブレーション方法、キャリブレーションシステム及びプログラム
CN109866220B (zh) * 2017-12-05 2021-07-23 财团法人工业技术研究院 机械手臂的校正装置及其校正方法
CN109968347B (zh) * 2017-12-28 2022-01-14 沈阳新松机器人自动化股份有限公司 一种七轴机器人的零位标定方法
EP3531062A1 (de) 2018-02-26 2019-08-28 Renishaw PLC Koordinatenpositionierungsmaschine
CN109465824B (zh) * 2018-11-06 2021-09-24 珠海格力智能装备有限公司 机器人的调整方法及装置
KR102561103B1 (ko) * 2018-11-16 2023-07-31 삼성전자주식회사 로봇 보정 시스템 및 그것의 보정 방법
CN109544796A (zh) * 2018-11-30 2019-03-29 湖南金码智能设备制造有限公司 一种xy型无屏自助售货终端及其货道位置校准方法
CN109454281B (zh) * 2018-12-21 2020-07-24 华中科技大学无锡研究院 一种机器人铣削加工中的螺旋桨工件坐标系标定方法
CN109760049B (zh) * 2018-12-28 2020-12-25 深圳市越疆科技有限公司 一种机械臂的校准方法、装置及机械臂
CN109781002B (zh) * 2019-01-31 2020-11-17 浙江省计量科学研究院 一种基于机器视觉的机床全轴程精确定位方法
EP3738725B1 (de) * 2019-05-15 2022-02-16 Omron Corporation Messsystem, messvorrichtung, messverfahren und messprogramm
TWI699264B (zh) * 2019-07-05 2020-07-21 上銀科技股份有限公司 視覺導引機器手臂校正方法
JP7395877B2 (ja) * 2019-08-26 2023-12-12 セイコーエプソン株式会社 ロボットシステムおよび制御方法
CN110666591A (zh) * 2019-09-17 2020-01-10 天津大学 基于组合面型的数控机床直行误差辨识方法
JP7487478B2 (ja) * 2020-01-23 2024-05-21 セイコーエプソン株式会社 移動ロボットの制御方法及び制御装置、並びに、ロボットシステム
CN111438688B (zh) * 2020-02-28 2022-03-22 广东拓斯达科技股份有限公司 机器人校正方法、装置、计算机设备及存储介质
US11816754B2 (en) 2020-03-13 2023-11-14 Omron Corporation Measurement parameter optimization method and device, and computer control program stored on computer-readable storage medium
CN112975960B (zh) * 2021-02-10 2022-07-05 西北工业大学 一种机器人末端精细控制模型的建立与参数校准方法
US20220264072A1 (en) * 2021-02-12 2022-08-18 Sony Group Corporation Auto-calibrating n-configuration volumetric camera capture array
CN113199486B (zh) * 2021-06-01 2021-12-03 北京长木谷医疗科技有限公司 机械臂法兰物理原点的标定方法、装置及电子设备
CN114516055B (zh) * 2022-04-07 2023-06-06 北京信息科技大学 基于双目视觉和深度学习的机械臂不停工实时标定方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005201824A (ja) 2004-01-16 2005-07-28 Fanuc Ltd 計測装置
JP2008012604A (ja) 2006-07-03 2008-01-24 Fanuc Ltd 計測装置及びキャリブレーション方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08174453A (ja) 1994-12-26 1996-07-09 Hitachi Zosen Corp ロボット装置における位置決め誤差の計測装置および位置決め誤差の補正方法
JP3733364B2 (ja) * 2003-11-18 2006-01-11 ファナック株式会社 教示位置修正方法
JP4191080B2 (ja) * 2004-04-07 2008-12-03 ファナック株式会社 計測装置
JP3946711B2 (ja) 2004-06-02 2007-07-18 ファナック株式会社 ロボットシステム
WO2008083079A2 (en) * 2006-12-27 2008-07-10 Mako Surgical Corp. Apparatus and method for providing an adjustable positive stop in space
JP4298757B2 (ja) * 2007-02-05 2009-07-22 ファナック株式会社 ロボット機構のキャリブレーション装置及び方法
DE102009041734B4 (de) 2009-09-16 2023-11-02 Kuka Roboter Gmbh Vermessung eines Manipulators
JP2012006122A (ja) 2010-06-25 2012-01-12 Panasonic Electric Works Co Ltd 生産システム
US8679125B2 (en) * 2010-09-22 2014-03-25 Biomet Manufacturing, Llc Robotic guided femoral head reshaping
US9092698B2 (en) * 2012-06-21 2015-07-28 Rethink Robotics, Inc. Vision-guided robots and methods of training them
US9226796B2 (en) * 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
WO2014037993A1 (ja) 2012-09-04 2014-03-13 富士機械製造株式会社 作業装置
JP6442472B2 (ja) * 2013-03-13 2018-12-19 ストライカー・コーポレイション 外科処置に備えて手術室内で複数の対象物を手配するためのシステム
EP4364689A2 (de) * 2013-03-15 2024-05-08 Intuitive Surgical Operations, Inc. Interoperatives umschalten von werkzeugen in einem chirurgischen robotersystem
JP2015089575A (ja) * 2013-11-05 2015-05-11 セイコーエプソン株式会社 ロボット、制御装置、ロボットシステム及び制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005201824A (ja) 2004-01-16 2005-07-28 Fanuc Ltd 計測装置
JP2008012604A (ja) 2006-07-03 2008-01-24 Fanuc Ltd 計測装置及びキャリブレーション方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018213398B4 (de) * 2017-08-22 2020-12-10 Fanuc Corporation Robotersystem
DE102018007287B4 (de) * 2017-09-22 2020-10-01 Fanuc Corporation Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
CN110281234A (zh) * 2019-05-17 2019-09-27 爱驰汽车有限公司 一种基于自冲铆接的钉模防错方法及装置

Also Published As

Publication number Publication date
CN106514651A (zh) 2017-03-22
US20170072566A1 (en) 2017-03-16
DE102016116702B4 (de) 2019-01-24
CN106514651B (zh) 2019-01-18
US10035268B2 (en) 2018-07-31

Similar Documents

Publication Publication Date Title
DE102016116702B4 (de) Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters
DE102017002608B4 (de) Positioniersystem unter Verwendung eines Roboters
DE102013021917B4 (de) Robotersystemanzeigevorrichtung
DE102016011653B4 (de) Robotersystem mit Kamera zum Aufnehmen eines Bildes einer Zielmarke
DE102015001527B4 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102016212695B4 (de) Industrieroboter
DE102010032840B4 (de) Vorrichtung und Verfahren zum Messen der Position eines Werkzeugmittelpunktes eines Roboters
DE102017111543B4 (de) Robotersteuerungsvorrichtung und ein Verfahren zur Steuerung eines Roboters
DE19930087C5 (de) Verfahren und Vorrichtung zur Regelung der Vorhalteposition eines Manipulators eines Handhabungsgeräts
DE102018200154A1 (de) Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor
DE602005003147T2 (de) Messsystem
DE102011050640B4 (de) Vorrichtung und Verfahren zum Wiederherstellen der Positionsinformation von Robotern
DE102017115715A1 (de) Roboter-Nullpunktkalibrierungsvorrichtung und -verfahren
DE102016116811B4 (de) Auslenkungsmesssystem zum Messen der Auslenkung eines Gelenkroboters
DE102018001026A1 (de) Robotersystem mit einer lernenden steuerungsfunktion und lernendes steuerungsverfahren
DE102016119605A1 (de) Kalibrierungssystem und Kalibrierungsverfahren zur Kalibrierung der mechanischen Parameter des Handgelenksteils eines Roboters
EP1604789A2 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
DE102009059221A1 (de) Verfahren und Vorrichtung zum Kalibrieren von einer Position und Lage einer Roboterarmspitze
DE102018107857A1 (de) Vorrichtung, System und Verfahren zur automatischen Erzeugung eines Bewegungspfads eines Roboters
DE102018007287B4 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102015100882B4 (de) Punktschweißsystem zum Verwalten einer Elektrodenüberprüfung und ein dafür verwendeter Roboter
DE102018121481A1 (de) Entfernungsmesssystem und Entfernungsmessverfahren
DE102015104582A1 (de) Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens
DE102012024934B4 (de) Verfahren und Programmiersystem zur erstmaligen Erstellung eines auf einem Messroboter ausführbaren Messprogramms für die Messung eines neuen Messobjekts
DE102019102927B4 (de) Verfahren und Vorrichtung zum Bestimmen von dimensionalen und/oder geometrischen Eigenschaften eines Messobjekts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: HL KEMPNER PATENTANWAELTE, SOLICITORS (ENGLAND, DE

Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE