-
Hintergrund der Erfindung
-
Gebiet der Erfindung:
-
Die vorliegende Erfindung betrifft eine Robotervorrichtung, die zur Durchführung einer Laserbearbeitung und anderen verschiedenen Bearbeitungen verwendet wird.
-
Beschreibung des verwandten Stands der Technik:
-
In Bearbeitungssystemen, die eine Laserbearbeitung und andere verschiedene Bearbeitungen durchführen, ist die Genauigkeit der Bahnkurve von Robotern wichtig. Die Bearbeitungsqualität kann jedoch durch Schwingungen oder Verschiebungen der Spitzenpositionen des Roboters aus der Sollposition auf Grund eines Verschlechterungsfaktors der Genauigkeit verschlechtert werden, wie der Reibung, dem Totgang und der unzureichenden Steifigkeit des Untersetzungsgetriebes oder des Roboterarms. Als eine Gegenmaßnahme gegen derartige Probleme wurde ein Verfahren vorgeschlagen, in dem ein Sensor an die Spitze eines Roboters angefügt wird, eine Positionsabweichung und/oder Schwingungen während des Roboterbetriebs mit dem Sensor gemessen werden und eine Lernsteuerung wiederholt durchgeführt wird, um dadurch die Positionsabweichung und/oder die Schwingungen zu verringern (zum Beispiel
JP 2011-167817 A und
JP 2012-240142 A ).
-
Kurzfassung der Erfindung
-
In dem Fall, in dem die Betriebsbahnkurve der Spitzenposition des Roboters unter Verwendung eines Sensors gemessen und die Lernsteuerung durchgeführt wird, muss der Benutzer des Bearbeitungssystems eine Kalibrierung zwischen dem Koordinatensystem des Roboters und dem Koordinatensystem des Sensors vornehmen. Typischerweise erfordert die Kalibrierung viel Zeit, und wird die Wirkung der Verbesserung der Bahnkurvengenauigkeit durch die Lernsteuerung verschlechtert, falls die Genauigkeit der Kalibrierung schlecht ausfällt. Eine Robotervorrichtung, die zum automatischen Durchführen einer hochgenauen Kalibrierung zwischen dem Koordinatensystem eines Roboters und dem Koordinatensystem eines Sensors in der Lage ist, ist wünschenswert.
-
Eine Ausgestaltung der vorliegenden Offenbarung besteht in einer Robotervorrichtung, die umfasst: einen Roboter; einen Bediensteuerabschnitt, der konfiguriert ist, um einen Betrieb des Roboters zu steuern; einen Sensor, der konfiguriert ist, um einen Wert zu erfassen, der auf eine Position eines Steuersollabschnitts des Roboters bezogen ist; einen Erlangungsabschnitt für Niedergeschwindigkeitspositionsinformationen, der konfiguriert ist, um Niedergeschwindigkeitspositionsinformationen des Steuersollabschnitts unter Verwendung eines Erfassungswerts zu erlangen, der auf die Position des Steuersollabschnitts bezogen ist, wobei der Erfassungswert durch den Sensor erfasst wird, wenn der Betriebssteuerabschnitt den Roboter veranlasst, um einen in einem Betriebsprogramm beschriebenen Betrieb auf einer niedrigeren Geschwindigkeit als einer in dem Betriebsprogramm spezifizierten Geschwindigkeit durchzuführen; einen Kalibrierungsabschnitt, der konfiguriert ist, um eine Kalibrierung zwischen dem Sensor und dem Roboter unter Verwendung der Niedergeschwindigkeitspositionsinformationen und einer Befehlsposition gemäß dem Betriebsprogramm durchzuführen; und einen Lernsteuerabschnitt, der konfiguriert ist, um einen Korrekturbetrag zur Verringerung einer Abweichung zwischen dem in dem Betriebsprogramm beschriebenen Betrieb und einem Ist-Betrieb des Steuersollabschnitts zu erlernen, unter Verwendung eines Erfassungswerts des Sensors, der erlangt wird, wenn der Betriebssteuerabschnitt den Roboter gemäß dem Betriebsprogramm, den Niedergeschwindigkeitspositionsinformationen oder der Befehlsposition, und den durch die Kalibrierung erlangten Kalibrierungsdaten betreibt.
-
Figurenliste
-
Die Aufgaben, Merkmale und Vorteile der Erfindung werden aus der nachfolgenden Beschreibung der Ausführungsbeispiele in Verbindung mit den beiliegenden Zeichnungen offensichtlicher werden. Es zeigen:
- 1 eine Darstellung, die einen Gesamtaufbau einer Robotervorrichtung gemäß einem Ausführungsbeispiel zeigt;
- 2 eine Darstellung, die einen Aufbau eines Roboters zeigt;
- 3 eine Funktionsblockdarstellung einer Robotersteuereinrichtung;
- 4 ein Ablaufdiagramm, das eine Kalibrierung und eine Lernsteuerung zeigt;
- 5 eine Darstellung, die ein beispielhaftes aufgenommenes Bild eines bearbeiteten Abschnitts zeigt;
- 6 eine Darstellung, die Kantendaten zeigt, die aus dem Bild gemäß 5 erlangt sind;
- 7 ein Ablaufdiagramm, das einen beispielhaften Kalibrierungsprozess in dem Fall zeigt, in dem eine Befehlsbahnkurve kreisförmig ist;
- 8 eine Darstellung, die einen Zustand zeigt, in dem eine Betriebsbahnkurve nach der Kalibrierung mit einer Befehlsbahnkurve übereinstimmt;
- 9 ein Ablaufdiagramm, das einen beispielhaften Kalibrierungsvorgang in dem Fall zeigt, in dem eine Befehlsbahnkurve quadratisch ist;
- 10 eine Darstellung, die eine Betriebsbahnkurve in einem Niedergeschwindigkeitsbetrieb und eine Betriebsbahnkurve in einem Hochgeschwindigkeitsbetrieb zeigt;
- 11 einen Graph, der durch Auftragen eines Fehlers bei jedem Winkel zwischen einer Betriebsbahnkurve in einem Niedergeschwindigkeitsbetrieb und einer Betriebsbahnkurve in einem Hochgeschwindigkeitsbetrieb erlangt ist; und
- 12 eine Darstellung zur Beschreibung einer Definition eines Winkels in dem Graphen gemäß 11.
-
Ausführliche Beschreibung
-
Ein Ausführungsbeispiel der vorliegenden Offenbarung wird nachstehend unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben werden. Durch die Zeichnungen hindurch sind entsprechende Komponenten durch gemeinsame Bezugszeichen bezeichnet. In den Zeichnungen, auf die Bezug genommen wird, sind dieselben Komponententeile oder Funktionsteile mit denselben Bezugszeichen bezeichnet. Die Zeichnungen sind geeignet bemaßt, um das Verständnis zu erleichtern. Es sei darauf hingewiesen, dass in den Zeichnungen gezeigte Modi lediglich beispielhaft sind, um die Erfindung zu implementieren, und die Erfindung ist nicht auf die gezeigten Modi beschränkt.
-
1 zeigt eine Darstellung einer Robotervorrichtung 10 gemäß einem Ausführungsbeispiel. Wie in 1 gezeigt ist, umfasst die Robotervorrichtung 10 einen Roboter 1, eine Robotersteuereinrichtung 2, die den Betrieb des Roboters 1 steuert, und eine Kamera 3, die an einer Montageoberfläche des Roboters 1 fest angebracht ist. Ein Bearbeitungswerkzeug 5 ist an einen Armspitzenabschnitt des Roboters 1 angefügt. Die Robotervorrichtung 10 kann in verschiedenen Bearbeitungen verwendet werden, wie bei einer Laserbearbeitung (Schweißen, Schneiden usw.) und einem Wasserstrahlschneidvorgang. Das Bearbeitungswerkzeug 5 ist zum Beispiel ein Werkzeug zur Durchführung einer Laserbearbeitung durch Bestrahlungen eines Werkstücks W mit Laserlicht.
-
Die Robotersteuereinrichtung 2 kann einen Aufbau eines handelsüblich verwendeten Computers aufweisen, der eine CPU, einen ROM, einen RAM, eine Speichervorrichtung usw. umfasst. Die Robotersteuereinrichtung 2 steuert den Betrieb des Roboters 1 gemäß einem Betriebsprogramm, das vorab in die Robotersteuereinrichtung 2 geladen wird. Der Roboter 1 ist zum Beispiel ein vertikaler Gelenksroboter, der ein erstes Gelenk 71 bis zu einem sechsten Gelenk 76 umfasst, wie in 2 gezeigt ist. Es sei darauf hingewiesen, dass der Aufbau des Roboters 1 gemäß dem vorliegenden Ausführungsbeispiel nicht auf ein solches Beispiel beschränkt ist. Als ein Koordinatensystem, das die Position des Roboters 1 definiert, ist ein Weltkoordinatensystem 91 durch Definieren eines Ursprungs auf der Basis des Roboters 1 festgelegt.
-
Die Robotervorrichtung 10 gemäß dem vorliegenden Ausführungsbeispiel ist konfiguriert, um eine Positionsabweichung von einer Sollposition der Betriebsbahnkurve des Roboters 1 durch Messen der Position des Roboters 1 während des Betriebs (die Position des Steuersollabschnitts) durch den Sensor zu bestimmen, und um eine Lernsteuerung zur Verringerung der Positionsabweichung durchzuführen. Hierbei ist der Steuersollabschnitt des Roboters zum Beispiel ein TCP (Werkzeugmittelpunkt) des Roboters. Anhand dieses Aufbaus kann die Robotervorrichtung 10 das Auftreten einer Situation verhindern, in der die Bearbeitungsqualität durch Schwingungen oder Verschiebungen der Spitzenposition des Roboters aus der Sollposition (Befehlsposition) auf Grund eines Verschlechterungsfaktors der Genauigkeit, wie der Reibung, dem Totgang und einer unzureichenden Steifigkeit des Untersetzungsgetriebes oder des Roboterarms nachteilig beeinflusst wird. Während verschiedene Sensoren, wie ein Beschleunigungssensor, ein Kraftsensor, ein bildverarbeitender Sensor und ein Lastertracker, als ein Sensor zum Messen der Position des Roboters 1 während des Betriebs verwendet werden können, setzt das vorliegende Ausführungsbeispiel einen Aufbau ein, in dem die Kamera 3 als ein bildverarbeitender Sensor eine Betriebsbahnkurve des Roboters 1 aufnimmt und erlangt.
-
In dem Fall, in dem die Lernsteuerung durch Messen der Positionsabweichung unter Verwendung des Sensors auf die vorstehend beschriebene Art und Weise durchgeführt wird, ist es erforderlich, eine Kalibrierung zwischen einem Koordinatensystem des Roboters 1 und einem Koordinatensystem des Sensors durchzuführen. Wie nachstehend beschrieben werden wird, führt die Robotervorrichtung 10 automatisch eine Kalibrierung zwischen dem Weltkoordinatensystem 91 und dem Koordinatensystem der Kamera 3 (nachstehend ebenso als ein Kamerakoordinatensystem bezeichnet) durch.
-
3 zeigt eine Funktionsblockdarstellung der Robotersteuereinrichtung 2. Die in 2 gezeigten Funktionsblöcke können als ausgewiesene Hardware realisiert werden, oder können durch Ausführen von Software mit der CPU der Robotersteuereinrichtung 2 in Zusammenarbeit mit der Hardware realisiert werden. In der Robotersteuereinrichtung 2 steuert ein Betriebssteuerabschnitt 21 den Betrieb (Position und Ausrichtung) des Roboters 1 gemäß einem Betriebsprogramm 25. Im Einzelnen steuert der Betriebssteuerabschnitt 21 die Position, Geschwindigkeit usw. der Antriebswelle von jedem Gelenk des Roboters 1 gemäß dem Betriebsprogramm 25. Durch Vergleichen einer Befehlsposition des Roboters 1 auf der Grundlage des Betriebsprogramms 25 mit einer Betriebsbahnkurve des Roboters 1, die durch die Kamera 3 aufgenommen ist, bestimmt ein Lernsteuerabschnitt 22 die Positionsabweichung der Ist-Betriebsbahnkurve des Roboters 1 hinsichtlich der Befehlsposition und bestimmt einen Korrekturbetrag, der die Positionsabweichung durch die Lernsteuerung verringert. Ein Erlangungsabschnitt 24 für Niedergeschwindigkeitspositionsinformationen erlangt Niedergeschwindigkeitspositionsinformationen des Roboters 1 (in dem vorliegenden Ausführungsbeispiel eine Betriebsbahnkurve des Roboters 1) unter Verwendung eines Erfassungswerts des Sensors, der auf die Position des Roboters 1 bezogen ist (in dem vorliegenden Ausführungsbeispiel ein Bild, das durch die Kamera 3 aufgenommen ist) in dem Fall, in dem der Betriebssteuerabschnitt 21 den Roboter veranlasst, um in dem Betriebsprogramm 25 beschriebene Betriebe bei einer Geschwindigkeit durchzuführen, die niedriger als die in dem Betriebsprogramm 25 spezifizierte Geschwindigkeit ist. Ein Kalibrierungsabschnitt 23 führt eine Kalibrierung zwischen dem Weltkoordinatensystem 91 und dem Kamerakoordinatensystem durch.
-
4 zeigt ein Ablaufdiagramm, das einen Vorgang zur Verringerung der Positionsabweichung durch eine Lernsteuerung zeigt. Der Vorgang gemäß 4 wird unter der Steuerung der Robotersteuereinrichtung 2 durchgeführt. Zuerst veranlasst die Robotersteuereinrichtung 2 den Roboter 1, einen Sollbetrieb mit einer niedrigen Geschwindigkeit durchzuführen (Schritt S1). Hierbei ist die Geschwindigkeit des Niedergeschwindigkeitsbetriebs niedriger als die in dem Betriebsprogramm spezifizierte Betriebsgeschwindigkeit und ist in dem Maße niedrig genug, dass der Einfluss der Verschlechterungsfaktoren der Genauigkeit, wie Schwingungen, hinsichtlich des Roboters 1 vernachlässigt werden können. Die Geschwindigkeit während des Niedergeschwindigkeitsbetriebs kann auf eine Geschwindigkeit gestellt werden, die hinreichend niedriger als die in dem Betriebsprogramms spezifizierte Geschwindigkeit ist (zum Beispiel eine Geschwindigkeit von 1/10). Die Robotersteuereinrichtung 2 nimmt mit der Kamera 3 die Betriebsbahnkurve auf einem Werkstück W auf, das durch den Niedergeschwindigkeitsbetrieb des Roboters 1 bearbeitet wurde, und erlangt punktsequenzielle Daten des bearbeiteten Abschnitts (Schritt S2). Durch den Betrieb des Roboters 1 auf einer niedrigen Geschwindigkeit in dieser Art und Weise, ist es möglich, eine Betriebsbahnkurve ohne Fehler (oder mit minimalem Fehler) relativ zu der in dem Betriebsprogramm 25 beschriebenen Befehlsbahnkurve zu erlangen. Es sei darauf hingewiesen, dass die Vorgänge von Schritten S1 und S2 unter der Steuerung des Erlangungsabschnitts 24 für Niedergeschwindigkeitspositionsinformationen durchgeführt werden.
-
Als nächstes wird in Schritt S3 eine Kalibrierung zwischen dem Koordinatensystem des Roboters 1 (dem Weltkoordinatensystem 91) und dem Koordinatensystem der Kamera 3 (dem Kamerakoordinatensystem) unter Verwendung der vorstehend beschriebenen punktsequenzielle Daten, die durch die Kamera 3 erlangt sind, und der Befehlswertdaten in dem vorstehend beschriebenen Niedergeschwindigkeitsbetrieb durchgeführt. Die Kalibrierung wird unter der Steuerung des Kalibrierungsabschnitts 23 durchgeführt. Ein beispielhafter Kalibrierungsvorgang wird nachstehend unter der Annahme beschrieben, dass der in dem Betriebsprogramm beschriebene Befehl ein Befehl zum Durchführen einer Laserbearbeitung für einen Kreis mit einem Durchmesser von 150 mm ist. Es sei angenommen, dass nachdem der Befehl zur Durchführung der Laserbearbeitung für einen Kreis mit einem Durchmesser von 150 mm durch einen Niedergeschwindigkeitsbetrieb bei Schritt S1 durchgeführt wird, ein Bild des Werkstücks W durch die Kamera 3 in Schritt S2 aufgenommen wird, wie in 5 gezeigt ist. In 5 ist der weiße Abschnitt in dem Bild der Abschnitt, in dem die Laserbearbeitung durchgeführt wurde (nachstehend als ein bearbeiteter Abschnitt 101 bezeichnet). Das Bild des bearbeiteten Abschnitts 101, das aus der Kamera 3 aufgenommen ist, ist womöglich aufgrund des Installationsfehlers oder dergleichen der Kamera 3 nicht kreisförmig.
-
Zuerst wird zur Durchführung des Kalibrierungsvorgangs ein Kantenabschnitt aus dem aufgenommenen Bild gemäß 5 entnommen. Die Entnahme der Kantendaten und die der Entnahme vorausgehenden Vorgänge können durch den Erlangungsabschnitt 24 für Niedergeschwindigkeitspositionsinformationen durchgeführt werden. Es sei angenommen, dass als ein Entnahmeergebnis des Kantenabschnitts, Kantendaten (punktsequenzielle Daten) 102 erlangt werden, wie in 6 gezeigt ist. Es sei darauf hingewiesen, dass in 6 die vertikale Achse bzw. die horizontale Achse eine horizontale Pixelposition bzw. eine vertikale Pixelposition darstellt. Die Kalibrierung der Kamera 3 wird durch Bestimmen der Beziehungen zwischen den Kantendaten 102 in 6 und der Befehlsbahnkurve in dem Niedergeschwindigkeitsbetrieb durchgeführt. 7 zeigt einen beispielhaften Kalibrierungsvorgang in dem Fall, in dem die Befehlsbahnkurve kreisförmig ist. Zuerst wird eine gegenseitige Mittelpunktsausrichtung des Schwerpunkts durch Ausrichten des geometrischen Mittelpunkts der Kantendaten 102 und des Mittelpunkts des Kreises gemäß der Befehlsbahnkurve durchgeführt (Schritt S101). Als nächstes werden die Kantendaten 102 und der Kreis gemäß der Befehlsbahnkurve gegenseitig ausgerichtet durch Anwenden, bei den Kantendaten 102, von individuellen Vergrößerungen in der horizontalen Richtung und der vertikalen Richtung (Schritt S102). Der Verschiebungsbetrag der Kantendaten 102, der in dem Vorgang der Ausrichtung des Schwerpunkts und der horizontalen und vertikalen Vergrößerungen zur Ausrichtung der Kantendaten 102 mit dem Kreis gemäß der Befehlsbahnkurve erlangt ist, bildet die Kalibrierungsdaten (d.h. Kalibrierungsdaten zum Umwandeln eines Kamerakoordinatensystems in ein Weltkoordinatensystem).
-
8 zeigt eine Betriebsbahnkurve 102A, die durch Umwandeln der Kantendaten 102, d.h. der Betriebsbahnkurve des Niedergeschwindigkeitsbetriebs in das Koordinatensystem des Roboters 1 unter Verwendung der auf die vorstehend beschriebene Art und Weise erlangten Kalibrierungsdaten erlangt wird. Wie in 8 gezeigt ist, stimmt die Betriebsbahnkurve 102A nach der Kalibrierung mit einer Befehlsbahnkurve 103 des Roboters 1 überein.
-
Während 7 einen beispielhaften Kalibrierungsvorgang in dem Fall zeigt, in dem die Befehlsbahnkurve kreisförmig ist, zeigt 9 einen beispielhaften Kalibrierungsvorgang in dem Fall, in dem die Befehlsbahnkurve quadratisch ist. In diesem Fall wird zuerst eine Ausrichtung des Schwerpunkts der Kantendaten, die durch Betreiben des Roboters 1 auf einer niedrigen Geschwindigkeit und durch Aufnehmen der Betriebsbahnkurve nach der Bearbeitung erlangt sind, mit dem Quadrat der Befehlsbahnkurve durchgeführt (Schritt S201). Die Kantendaten werden dann gedreht (Schritt S202), um die entsprechenden Seiten des Quadrats der Kantendaten und des Quadrats der Befehlsbahnkurve parallel auszurichten (Schritt S203). Als nächstes wird das Aspektverhältnis der Kantendaten eingestellt, um mit dem Quadrat der Kantendaten und dem Quadrat der Befehlsbahnkurve übereinzustimmen (Schritt S204). Der Verschiebungsbetrag, der in der Ausrichtung des Schwerpunkts erlangt ist, der Drehungsbetrag und der Einstellungsbetrag des Aspektverhältnisses, die durch die vorstehend beschriebenen Vorgänge erlangt sind, bilden die Kalibrierungsdaten. Es sei darauf hingewiesen, dass ebenso in dem Fall, in dem die Befehlsbahnkurve andere Formen aufweist, die Kalibrierungsdaten durch einen Vorgang ähnlich dem in 7 und 9 gezeigten Vorgang erlangt werden können.
-
Durch den vorstehend beschriebenen Kalibrierungsvorgang kann eine hochgenaue Kalibrierung für die Kamera 3 automatisch durchgeführt werden.
-
Unter Bezug auf die Beschreibung gemäß 4, wird als nächstes eine Lernsteuerung durchgeführt, die das Lernen durch eine Schleifenverarbeitung L1 wiederholt. Die Lernsteuerung wird unter der Steuerung des Lernsteuerabschnitts 22 durchgeführt. Wenn die Lernsteuerung begonnen wird, wird die Bearbeitung bei einer Betriebsgeschwindigkeit durchgeführt, die in dem Betriebsprogramms spezifiziert ist (nachstehend ebenso als ein Hochgeschwindigkeitsbetrieb bezeichnet) (Schritt S4). In diesem Fall, wenn der Korrekturbetrag durch den vorigen internen Vorgang für die Lernsteuerung berechnet wurde (Schritt S6), dann wird die Korrektur durch Anwenden jenes Korrekturbetrag bei dem Betriebsbefehl gemäß dem Betriebsprogramm durchgeführt, und wird dann die Bearbeitung durchgeführt. Als nächstes wird die Bahnkurve nach der Bearbeitung mit der Kamera 3 aufgenommen, um Kantendaten (punktsequenzielle Daten) des bearbeiteten Abschnitts zu erlangen (Schritt S5).
-
Als nächstes wird die Lernsteuerung zur Bestimmung eines Korrekturbetrags zur Verringerung der Positionsabweichung auf der Grundlage der Betriebsbahnkurve in dem Hochgeschwindigkeitsbetrieb durchgeführt, die in Schritt S5 erlangt ist (Schritt S6). Verschiedene Techniken, die im Stand der Technik bekannt sind, können als ein Lernsteuerverfahren zur Bestimmung eines Korrekturbetrags zur Verringerung der Positionsabweichung zwischen der Ist-Betriebsbahnkurve und der Sollbahnkurve verwendet werden. Hierbei wird ein Vorgang zur Bestimmung eines Korrekturbetrags wie folgt durchgeführt. Während die Sollbahnkurve, die als eine Referenz zur Bestimmung der Positionsabweichung zwischen einer Betriebsbahnkurve in einem Niedergeschwindigkeitsbetrieb oder einer Befehlsbahnkurve für den Roboter 1 dient, wird nachfolgend ein beispielhafter Fall beschrieben, in dem eine Betriebsbahnkurve in einem Niedergeschwindigkeitsbetrieb verwendet wird.
-
10 zeigt die Betriebsbahnkurve 102 in einem Niedergeschwindigkeitsbetrieb und eine Betriebsbahnkurve 111 in einem Hochgeschwindigkeitsbetrieb, die durch Aufnahme mit der Kamera 3 erlangt sind. In 10 stellt die vertikale Achse bzw. die horizontale Achse eine vertikale Pixelposition bzw. eine horizontale Pixelposition dar. 11 zeigt einen Graph, der einen Fehler bei jedem Winkel der Betriebsbahnkurve 111 hinsichtlich der Betriebsbahnkurve 102 darstellt, die aufgetragen wurde, nachdem die Betriebsbahnkurve 102 in dem Niedergeschwindigkeitsbetrieb und die Betriebsbahnkurve 111 in dem Hochgeschwindigkeitsbetrieb unter Verwendung der Kalibrierungsdaten kalibriert wurden. Hierbei kann der Winkel der horizontalen Achse in 11 als ein Winkel θ definiert werden, der positiv im Gegenuhrzeigersinn bezüglich eines geometrischen Mittelpunkts P der Betriebsbahnkurve 102 in 12 hinsichtlich einer geraden Linie ist, die sich nach unten hin parallel zu der vertikalen Achse von dem geometrischen Mittelpunkt P erstreckt, wie in 12 gezeigt ist.
-
Bei der Berechnung des Korrekturbetrag durch die Lernsteuerung wird ein Korrekturbetrag, der den in 11 gezeigten Fehler aufhebt, bestimmt und in dem Speicher in dem Lernsteuerabschnitt 22 gespeichert. Die Befehlsposition in dem nächsten Bearbeitungsvorgang (Schritt S4) wird unter Verwendung des Korrekturbetrags korrigiert. Durch Wiederholen eines solchen Lernens mit einer vorbestimmten Anzahl von Durchläufen (N Durchläufe in 4), wird die Positionsabweichung verringert. Die Lernsteuerung kann wiederholt werden, bis die Positionsabweichung auf Null oder ein vernachlässigbares Niveau konvergiert. Somit ist der Vorgang gemäß 4 vollendet.
-
Durch die vorstehend beschriebenen Vorgänge kann eine genaue Lernsteuerung durch Erlangen der Positionsabweichung unter Verwendung der Ausgabe (des aufgenommenen Bildes) der Kamera 3 durchgeführt werden, die kalibriert wurde. Insbesondere in den vorstehend beschriebenen Vorgängen wird der Kalibrierungsvorgang automatisch unter Verwendung der Befehlswertdaten in dem Niedergeschwindigkeitsbetrieb und der punktsequenziellen Daten durchgeführt, die durch die Kamera 3 erlangt sind. Somit werden Befürchtungen hinsichtlich einer schlechten Genauigkeit der Kalibrierung aufgrund von Betriebsfehlern und unzureichender Erfahrung der Benutzer zerstreut, und kann eine stabile Lernsteuerleistung erreicht werden. D.h., gemäß dem vorliegenden Ausführungsbeispiel, kann eine hochgenaue Kalibrierung zwischen dem Sensorkoordinatensystem (zum Beispiel dem Kamerakoordinatensystem) und dem Weltkoordinatensystem automatisch durchgeführt werden. Ebenso kann eine genaue Lernsteuerung mit einer Positionsabweichung durchgeführt werden, die unter Verwendung einer Sensorausgabe (zum Beispiel eines Kamerabildes) erlangt ist, die hochgenau kalibriert ist.
-
Während die Ausführungsbeispiele der vorliegenden Offenbarung vorstehend beschrieben wurden, ist für den Fachmann ersichtlich, dass verschiedene Abänderungen oder Modifikationen durchgeführt werden können, ohne von dem Schutzbereich der nachstehend beschriebenen Patentansprüche abzuweichen.
-
Während das vorstehend beschriebenen Ausführungsbeispiel einen Aufbau einsetzt, in dem eine Betriebsbahnkurve eines Roboters durch Messen eines bearbeiteten Abschnitts mit der Kamera 3 als ein bildverarbeitender Sensor erlangt wird, kann der Messort zum Erlangen der Betriebsbahnkurve des Roboters ein Abschnitt auf dem Roboter 1 sein. Zum Beispiel kann ein Armspitzenabschnitt des Roboters 1 der Messort sein. Des Weiteren kann in dem Fall, in dem ein Beschleunigungssensor, ein Kraftsensor oder ein Lasertracker als ein Sensor zum Erlangen einer Betriebsbahnkurve eines Roboters verwendet wird, ein solcher Sensor an einen Armspitzenabschnitt des Roboters angefügt werden. Es kann zum Beispiel durch Anfügen eines Beschleunigungssensors an einen Armspitzenabschnitt des Roboters 1, eine Betriebsbahnkurve des Armspitzenabschnitts während des Betriebs des Roboters 1 erlangt werden. Als ein Beispiel zeigt 2 einen Zustand, in dem ein Sensor 81 an einen Armspitzenabschnitt (Handgelenk) angefügt ist. In diesem Fall wird ein Koordinatensystem 93, das auf den Armspitzenabschnitt festgelegt ist, als das Koordinatensystem des Sensors 81 gestellt.
-
Ein Aufbau kann eingesetzt werden, in dem ein Kraftsensor zwischen den Armspitzenabschnitt des Roboters 1 und das Bearbeitungswerkzeug derart eingefügt wird, dass die mit dem Betrieb assoziierte Last des Bearbeitungswerkzeugs 5 mit dem Kraftsensor erfasst wird. In diesem Fall wird ein dreiachsiger Kraftsensor als der Kraftsensor verwendet, um die Kraft der drei Komponenten, X Y Z, während des Betriebs des Roboters 1 zu erfassen. Die erfasste Kraft wird in die Beschleunigung des Bearbeitungswerkzeugs auf der Grundlage der Bewegungsgleichung F = ma und der Masse m des Bearbeitungswerkzeugs umgewandelt, das an die Spitze des Kraftsensors angefügt ist. Als nächstes können Daten, die die Beziehung zwischen dem Koordinatensystem des Roboters und dem Koordinatensystem des Sensors darstellen, aus der umgewandelten Beschleunigung und der Beschleunigung erlangt werden, die durch eine Ableitung zweiter Anordnung der Befehlsposition des Roboters erlangt ist, und es kann die Kalibrierung des Kraftsensors mit den erlangten Daten durchgeführt werden.
-
Um die Probleme der vorliegenden Offenbarung zu lösen, können verschiedene Ausgestaltungen und deren Wirkungen wie nachstehend beschrieben dargereicht werden. Es sei darauf hingewiesen, dass Zahlen in Klammern in der Beschreibung der nachfolgenden Ausgestaltungen den Bezugszeichen der Zeichnungen in der vorliegenden Offenbarung entsprechen.
-
Eine erste Ausgestaltung der vorliegenden Offenbarung ist eine Robotervorrichtung (10), die umfasst: einen Roboter (1); einen Betriebssteuerabschnitt (21), der konfiguriert ist, um einen Betrieb des Roboters (1) zu steuern; einen Sensor (3), der konfiguriert ist, um einen Wert zu erfassen, der auf eine Position eines Steuersollabschnitts des Roboters (1) bezogen ist; einen Erlangungsabschnitt (24) für Niedergeschwindigkeitspositionsinformationen, der konfiguriert ist, um Niedergeschwindigkeitspositionsinformationen des Steuersollabschnitts unter Verwendung eines Erfassungswerts zu erlangen, der auf die Position des Steuersollabschnitts bezogen ist, wobei der Erfassungswert durch den Sensor (3) erfasst wird, wenn der Betriebssteuerabschnitt (21) den Roboter (1) veranlasst, um einen in einem Betriebsprogramm beschriebenen Betrieb bei einer Geschwindigkeit durchzuführen, die niedriger als eine in dem Betriebsprogramm spezifizierte Geschwindigkeit ist; einen Kalibrierungsabschnitt (23), der konfiguriert ist, um eine Kalibrierung zwischen dem Sensor (3) und dem Roboter (1) unter Verwendung der Niedergeschwindigkeitspositionsinformationen und einer Befehlsposition gemäß dem Betriebsprogramm durchzuführen; und einen Lernsteuerabschnitt (22), der konfiguriert ist, um einen Korrekturbetrag zur Verringerung einer Abweichung zwischen dem in dem Betriebsprogramm beschriebenen Betrieb und einem Ist-Betrieb des Steuersollabschnitts zu erlernen, unter Verwendung eines Erfassungswerts des Sensors (3), der erlangt wird, wenn der Betriebssteuerabschnitt (21) den Roboter (1) gemäß dem Betriebsprogramm, den Niedergeschwindigkeitspositionsinformationen oder der Befehlsposition, und Kalibrierungsdaten betreibt, die durch die Kalibrierung erlangt sind.
-
Gemäß der ersten Ausgestaltung kann eine hochgenaue Kalibrierung zwischen dem Sensorkoordinatensystem (zum Beispiel dem Kamerakoordinatensystem) und dem Weltkoordinatensystem automatisch durchgeführt werden. Ebenso kann eine genaue Lernsteuerung mit einer Positionsabweichung durchgeführt werden, die unter Verwendung einer Sensorausgabe (zum Beispiel einem Kamerabild) erlangt ist, die hochgenau kalibriert ist.
-
In einer zweiten Ausgestaltung der vorliegenden Offenbarung, die die Robotervorrichtung (10) gemäß der ersten Ausgestaltung ist, umfassen die durch die Kalibrierung erlangten Kalibrierungsdaten Daten zum Umwandeln eines Koordinatensystems des Sensors in ein Koordinatensystem des Roboters.
-
In einer dritten Ausgestaltung der vorliegenden Offenbarung, die die Robotersteuervorrichtung (10) gemäß der ersten Ausgestaltung oder zweiten Ausgestaltung ist, umfasst der Sensor eine Kamera (3), die konfiguriert ist, um eine Bahnkurve des Ist-Betriebs aufzunehmen.
-
In einer vierten Ausgestaltung der vorliegenden Offenbarung, die die Robotervorrichtung (10) gemäß der ersten Ausgestaltung oder zweiten Ausgestaltung ist, wird der Sensor an ein Handgelenk des Roboters angefügt und erfasst einen Wert, der eine Position des Handgelenks darstellt.
-
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 2011167817 A [0002]
- JP 2012240142 A [0002]