-
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
Fp
S des gewünschten Punkts
31 und der Position
Bp
t 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(Mpi – Mp1) 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(Mpi – Mp1), und zwar auf der Grundlage der Bewegungsdistanz (Mpi – Mp1) 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(Mpi – Mp1) 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(Mpi – Mp1)) 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(Mpi – Mp1) 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]