-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Robotersystem, eine Messdatenverarbeitungsvorrichtung und ein Messdatenverarbeitungsverfahren zum Aufnehmen eines Werkstücks unter Verwendung von Messdaten, die mittels maschinellen Lernens korrigiert sind.
-
Beschreibung des verwandten Stands der Technik
-
In der Vergangenheit erlangten Systeme zum Aufnehmen eines Artikels Bekanntheit, der zufällig in einem Behälter abgeladen war, wie einem Behälter (wobei ein Werkstück zufällig in einem dreidimensionalen Raum abgeladen wurde) mit einem Roboter (einem System oder einem Robotersystem zum Aufnehmen eines zufällig abgeladenen Artikels). In einem solchen System zum Aufnehmen eines Artikels, der zufällig abgeladen wurde, kann ein Werkstück durch einen Roboter aufgenommen werden, indem zum Beispiel Daten einer dreidimensionalen Form innerhalb des Behälters erlangt werden, indem wiederum mit einem Sensor ein Messen durchgeführt wird, um eine Position und eine Ausrichtung des Werkstücks aus den Daten der dreidimensionalen Form innerhalb des Behälters zu identifizieren.
-
Hinsichtlich des Aufnehmens eines Artikels, der zufällig abgeladen wurde, durch ein Robotersystem, zum Beispiel während eines Vorgangs des Bewegens einer Hand eines Roboters näher an ein Werkstück, um das Werkstück aufzunehmen, kann die Hand womöglich mit einem Behälter oder anderen Werkstück kollidieren. Damit das Auftreten einer solchen Kollision verhindert wird, war es gängige Praxis, die Daten der dreidimensionalen Form zu verwenden, die durch den Sensor gemessen wurde.
-
In der Vergangenheit offenbarte zum Beispiel die japanische Patentanmeldungsoffenlegung Nr. 2016-132086 eine Technik zum Berechnen einer Position und einer Ausrichtung eines Werkstücks durch Kollationieren von Messdaten mit akkumulierten Daten. Zudem offenbart die japanische Patentanmeldungsoffenlegung Nr. 2009-128192 eine Technik zum Berechnen einer Position und einer Ausrichtung eines Objekts mit einem hohen Grad an Genauigkeit durch wiederholte Korrektur auf der Grundlage eines Modells (Modelldaten). Des Weiteren offenbart die japanische Patentanmeldungsoffenlegung Nr. 2013-010155 eine Technik zum Erzeugen von Kollationierungsdaten durch Einsatz von maschinellem Lernen. Chao Dong et.al., „Image Super-Resolution Using Deep Convolutional Networks“, IEEE Transactions on Pattern Analysis and Machine Intelligence (https://arxiv.org/abs/1501.00092), 31. Juli 2015, offenbart ebenso eine Technik zum Korrigieren von erlangten Daten unter Verwendung von Deep Learning.
-
Wie vorstehend beschrieben wurde, wenn eine Position und eine Ausrichtung eines Werkstücks durch Kollationieren von Messdaten mit akkumulierten Daten berechnet werden, dann wird die Kollationierung womöglich nicht genau durchgeführt, wenn zum Beispiel ein Fehler in den Messdaten existiert. Wenn ein Werkstück gegriffen wird, dann werden Messdaten zur Bestimmung dessen verwendet, ob eine Kollision zwischen einer umgebenden Struktur (wie einem Behälter) und einem Greifmechanismus (wie einer Hand) existiert. Wenn jedoch ein Fehler in den Messdaten existiert, dann wird es schwierig, die Bestimmung einer Kollision zu treffen.
-
Wenn zudem eine Position und eine Ausrichtung eines Objekts durch Wiederholen von Korrekturen auf der Grundlage eines Modells berechnet werden, dann ist es schwierig, die Rate entsprechend dem Fehler in den Messdaten selbst zu verringern. Des Weiteren wurde konventionelles maschinelles Lernen zum Erzeugen von Kollationierungsdaten eingesetzt.
-
Somit lag in konventionellen Robotersystemen und Messdatenverarbeitungstechniken ein Problem dahingehend vor, dass wenn ein zufällig abgeladenes Werkstück aufgenommen wurde, dann eine Hand eines Roboters mit einem Behälter oder anderen Werkstücken kollidieren kann. Zudem liegt ebenso ein Problem dahingehend vor, dass eine Betriebseffizienz abnimmt, da ein Aufnahmevorgang für ein Werkstück, dass unter normalen Umständen aufgenommen werden kann, als unmöglich bestimmt wird und nicht durchgeführt wird, um das Auftreten einer Kollision zu vermeiden.
-
Eine Aufgabe des vorliegenden Ausführungsbeispiels liegt in Anbetracht der vorstehend beschriebenen Probleme des Standes der Technik in der Bereitstellung eines Robotersystems, einer Messdatenverarbeitungsvorrichtung und eines Messdatenverarbeitungsverfahrens, die die Genauigkeit der Aufnahme eines Werkstücks durch Korrigieren von Messdaten selbst verbessern können.
-
Kurzfassung der Erfindung
-
Gemäß einer ersten Ausgestaltung der vorliegenden Erfindung wird ein Robotersystem bereitgestellt, das einen Roboter, der eine Hand umfasst, die konfiguriert ist, um ein Werkstück zu halten; einen Sensor, der konfiguriert ist, um einen Arbeitsbereich zu messen, in dem das Werkstück existiert, um eine dreidimensionale Form in dem Arbeitsbereich als Messdaten zu erlangen; eine Messdatenverarbeitungsvorrichtung, die eine Modelldatenspeichereinheit, die konfiguriert ist, um eine dreidimensionale Form des Werkstücks als Modelldaten zu speichern, eine Messdatenkorrektureinheit, die konfiguriert ist, um die Messdaten mittels maschinellen Lernens zu korrigieren, und eine Positions- und Ausrichtungsberechnungseinheit umfasst, die konfiguriert ist, um die Messdaten mit den Modelldaten zu kollationieren, um eine Position und eine Ausrichtung des Werkstücks in dem Arbeitsbereich zu berechnen; und eine Robotersteuereinheit umfasst, die konfiguriert ist, um den Roboter auf der Grundlage einer Ausgabe aus der Positions- und Ausrichtungsberechnungseinheit zu steuern, wobei die Messdatenkorrektureinheit in einem Lernstadium Lehrerdaten durch Anordnen der Modelldaten in der Position und der Ausrichtung erstellt, die durch die Positions- und Ausrichtungsberechnungseinheit berechnet sind, und einen Parameter zum Korrigieren der Messdaten auf der Grundlage der Messdaten und der Lehrerdaten einstellt, und in einem Aufnahmestadium korrigierte Messdaten ausgibt, die durch Korrigieren der Messdaten unter Verwendung des eingestellten Parameters erlangt sind.
-
Gemäß einer zweiten Ausgestaltung der vorliegenden Erfindung wird eine Messdatenverarbeitungsvorrichtung bereitgestellt, die eine Modelldatenspeichereinheit, die konfiguriert ist, um eine dreidimensionale Form eines Werkstücks als Modelldaten zu speichern; eine Messdatenkorrektureinheit, die konfiguriert ist, um Messdaten, die durch Messen einer dreidimensionalen Form in einem Arbeitsbereich erlangt sind, in dem das Werkstück existiert, mittels maschinellen Lernens zu korrigieren; und eine Positions- und Ausrichtungsberechnungseinheit umfasst, die konfiguriert ist, um die Messdaten mit den Modelldaten zu kollationieren, um eine Position und eine Ausrichtung des Werkstücks in dem Arbeitsbereich zu berechnen, wobei die Messdatenkorrektureinheit in einem Lernstadium Lehrerdaten durch Anordnen der Modelldaten in der Position und der Ausrichtung erstellt, die durch die Positions- und Ausrichtungsberechnungseinheit berechnet sind, und einen Parameter zum Korrigieren der Messdaten auf der Grundlage der Messdaten und der Lehrerdaten einstellt, und in einem Aufnahmestadium korrigierte Messdaten ausgibt, die durch Korrigieren der Messdaten unter Verwendung des eingestellten Parameters erlangt sind.
-
Gemäß einer dritten Ausgestaltung der vorliegenden Erfindung wird ein Messdatenverarbeitungsverfahren bereitgestellt, das Speichern einer dreidimensionalen Form eines Werkstücks als Modelldaten; Korrigieren von Messdaten, die durch Messen einer dreidimensionalen Form in einem Arbeitsbereich erlangt sind, in dem das Werkstück existiert, mittels maschinellen Lernens; und Kollationieren der Messdaten mit den Modelldaten umfasst, um eine Position und eine Ausrichtung des Werkstücks in dem Arbeitsbereich zu berechnen, wobei, in einem Lernstadium, Lehrerdaten durch Anordnen der Modelldaten in der berechneten Position und Ausrichtung des Werkstücks in dem Arbeitsbereich erstellt werden und ein Parameter zum Korrigieren der Messdaten auf der Grundlage der Messdaten und der Lehrerdaten eingestellt wird, und in einem Aufnahmestadium korrigierte Messdaten, die durch Korrigieren der Messdaten unter Verwendung des eingestellten Parameters erlangt sind, ausgegeben werden.
-
Figurenliste
-
Die vorliegende Erfindung lässt sich klarer verstehen, indem auf die nachfolgenden Zeichnungen Bezug genommen wird. Es zeigen:
- 1 eine Darstellung, die schematisch ein Beispiel eines Robotersystems zeigt;
- Fig. 2A, Fig. 2B und 2C Darstellungen zur Beschreibung eines Beispiels eines Problems in Messdaten durch das Robotersystem;
- Fig. 3A, Fig. 3B und 3C Darstellungen zur Beschreibung eines weiteren Beispiels des Problems in Messdaten durch das Robotersystem;
- 4 eine Funktionsblockdarstellung, die ein Beispiel einer Robotersteuervorrichtung in einem Robotersystem gemäß dem vorliegenden Ausführungsbeispiel zeigt;
- 5 eine Darstellung, die schematisch ein Beispiel einer Maschinenlernvorrichtung zeigt, die in einer Messdatenverarbeitungsvorrichtung gemäß dem vorliegenden Ausführungsbeispiel bereitgestellt ist;
- 6 ein Ablaufdiagramm zur Beschreibung eines beispielhaften Prozesses in einem Lernstadium;
- 7 ein Ablaufdiagramm zur Beschreibung eines beispielhaften Prozesses in einem Aufnahmestadium;
- 8 ein Ablaufdiagramm zur Beschreibung eines weiteren beispielhaften Prozesses in dem Aufnahmestadium; und
- 9 ein Ablaufdiagramm zur Beschreibung eines beispielhaften Prozesses zum Aktualisieren eines Lernmodell, während ein Aufnahmevorgang durchgeführt wird.
-
Ausführliche Beschreibung
-
Bevor ein Ausführungsbeispiel eines Robotersystems beschrieben wird, werden zuerst eine Messdatenverarbeitungsvorrichtung und ein Messdatenverarbeitungsverfahren ausführlich, ein Beispiel des Robotersystems und eines Problems in der der Messdatenverarbeitung des Robotersystems unter Bezugnahme auf 1 bis 3C beschrieben werden. 1 zeigt eine Darstellung, die schematisch ein Beispiel des Robotersystems zeigt.
-
Wie in 1 gezeigt ist, nimmt ein Robotersystem 100 eine Vielzahl von Werkstücken (Komponenten) 4, die zufällig in einem Kasten, wie einem Behälter 40, abgeladen sind, sequenziell auf, und umfasst einen Roboter 1, einen Sensor 5 und eine Robotersteuervorrichtung 3. Selbstverständlich sind die Werkstücke 4 nicht auf Gegenstände beschränkt, die in dem Behälter 40 gelagert sind, und können zum Beispiel Gegenstände sein, die zufällig in einem dreidimensionalen Raum abgeladen wurden.
-
Auf einer lateralen Seite des Roboters 1 ist der kastenförmige Behälter 40 mit einer offenen Deckfläche angelegt. Der Behälter 40 weist eine offene Deckfläche auf und beherbergt eine Vielzahl von zufällig abgeladenen Werkstücken (eine Vielzahl von Werkstücken, die auf zufällige Art und Weise abgeladen wurden, einschließlich eines zufällig abgeladenen Zustands) in seinem Unterbringungsraum. Es sei darauf hingewiesen, dass die Werkstücke 4 durch eine Hand 10 gehalten werden können, die an dem Roboter 1 angebracht ist, und einzelnen aus dem Behälter 40 mit einem Betrieb des Roboters 1 und der Hand 10 aufgenommen werden können, die wiederum durch die Robotersteuervorrichtung 3 gesteuert sind. Zudem wird der Sensor 5 oberhalb eines Mittelpunkts des Behälters 40 installiert und es wird eine Ausgabe (Messdaten) 5a aus dem Sensor 5 in die Robotersteuervorrichtung 3 eingegeben.
-
In 1 wird zur Vereinfachung der Beschreibung ein Beispiel in einem Zustand gezeigt, in dem vier scheibenartig geformte Werkstücke 4 zufällig in dem Behälter 40 abgeladen sind, wobei ein zentrales Loch von jedem Werkstück 4 durch die Hand (Innendurchmesserspannfutter) 10 gehalten wird; die Form des Werkstücks 4 ist jedoch nicht auf eine scheibenartige Form beschränkt, und es ist ebenso wenig ein Haltemechanismus für das Werkstück 4 auf ein Innendurchmesserspannfutter beschränkt. Die Hand 10 kann mit anderen Worten eine Vielfalt von Formen aufweisen, die ein Werkstück 4 halten kann, und kann zum Beispiel eine Form aufweisen, die das Werkstück 4 durch Öffnen/Schließen von zwei oder mehr Klauengreifeinheiten greift, oder kann einen Elektromagneten oder eine unterdruckerzeugende Vorrichtung umfassen, die eine Saugkraft wider das Werkstück 4 erzeugt.
-
Des Weiteren ist der Sensor 5 eine Vielfalt von Sensoren einschließlich eines visuellen Sensors, solange er Daten einer dreidimensionalen Form in dem Messbereich erlangen kann. Zur Messung einer dreidimensionalen Form können ein Verfahren, wie ein Stereoverfahren unter Verwendung von zwei Kameras, ein Abtastverfahren unter Verwendung eines Laserschlitzlichts, ein Abtastverfahren unter Verwendung eines Laserstrahlflecks, ein Verfahren zum Projizieren von Lichtmustern auf das Werkstück unter Verwendung einer Vorrichtung, wie eines Lichtprojektors, oder ein Verfahren des Verwendens eines Zeitpunkts, zu dem Licht von einem Lichtprojektor abgestrahlt wird, bis zu dem Zeitpunkt, zu dem auf einer Oberfläche eines Werkstücks 4 reflektiertes Licht in einem Lichtempfänger eintritt, eingesetzt werden. Außerdem können verschiedene Verfahren, wie das Triangulationsverfahren, das Lichtschneideverfahren, das Time-auf-Flight-Verfahren, das Verfahren mit Tiefe der Defokussierung oder eine Kombination derer eingesetzt werden.
-
Es sei darauf hingewiesen, dass obwohl in 1 die Ausgabe (Messdaten) 5a aus dem Sensor 5 in die Robotersteuervorrichtung 3 eingegeben werden, und die Robotersteuervorrichtung 3 eine Messdatenverarbeitung und dergleichen ausführt, die Ausgabe 5a aus dem Sensor 5 konfiguriert werden kann, um durch eine ausgewiesene Messdatenverarbeitungsvorrichtung oder dergleichen verarbeitet zu werden, die getrennt von der Robotersteuervorrichtung 3 bereitgestellt ist, und eine Ausgabe aus der Messdatenverarbeitungsvorrichtung in die Robotersteuervorrichtung 3 eingegeben werden kann. Des Weiteren, obwohl der Sensor 5 ortsfest oberhalb des Mittelpunkts des Behälters 40 bereitgestellt ist, kann der Sensor 5 als ein Handauge bereitgestellt werden, das an ein Ende (Endabschnitt) der Hand des Roboters 1 angefügt ist.
-
Somit ist in dem Robotersystem 100, das in 1 gezeigt ist, die Robotersteuervorrichtung 3 konfiguriert, um auf der Grundlage von dreidimensionalen Positionen und Ausrichtungen eine Vielzahl von zufällig abgeladenen Werkstücken 4 und der Ausgabe 5a aus dem Sensor 5, der konfiguriert ist, um eine dreidimensionale Form und dergleichen des Behälters 40 zu messen, Anhalteposition und Ausrichtungsdaten bestehend aus einer Position und einer Ausrichtung zum Halten der Werkstücke 4 mit dem Innendurchmesserspannfutter 10 des Roboters 1 zu berechnen und die Werkstücke 4 einzelnen aufzunehmen, indem der Roboter 1 und dass das Innendurchmesserspannfutter 10 gesteuert werden.
-
Fig. 2A bis 2C zeigen Darstellungen zur Beschreibung eines Beispiels eines Problems in der Messdatenverarbeitung durch das Robotersystem, und Fig. 3A bis 3C zeigen Darstellungen zur Beschreibung eines weiteren Beispiels eines Problems in der Messdatenverarbeitung durch das Robotersystem. Fig. 2A und 3A zeigen Bilder eines Messbereichs (Arbeitsbereichs) WA, während Fig. 2B und 3B Beispiele der Messdaten 5a des Arbeitsbereichs WA durch den Sensor 5 zeigen. 2C ist eine Darstellung, die einen Zustand zeigt, in dem die Messdaten 5a in 2A aus der Richtung eines Pfeils betrachtet werden, während 3C eine Darstellung ist, die einen Abschnitt der Messdaten 5a in 3B vergrößert zeigt.
-
Es wird zum Beispiel ein Zustand, in dem eine Vielzahl von Werkstücken 4 zufällig in dem Arbeitsbereich WA (in dem Behälter 40) abgeladen ist, wie in 2B gezeigt, als die Messdaten 5a durch den Sensor 5 erlangt, wie in 2B gezeigt ist. In diesem Fall werden in den Messdaten 5a, wie in 2C gezeigt, zum Beispiel Messpunkte auf einer flachen Oberfläche des Werkstücks 4 gemessen und enthalten einen Fehler (Dicke), der verursacht, dass eine Rate der Messdaten 5a, die mit CAD-(rechnergestütztes Entwerfen)-Daten übereinstimmen, abnimmt, und ein Werkstück aufgrund einer Ursache nicht erfasst wird, wie dass die Rate unter einen Schwellenwert zum Abgleich fällt, der für ein Erfassungsergebnis zulässig ist, oder das Aufnehmen eines Werkstücks 4 schwierig wird.
-
Des Weiteren wird zum Beispiel ein Zustand, in dem eine Vielzahl von Werkstücken 4 zufällig in dem Arbeitsbereich WA abgeladen ist, wie in 3A gezeigt, als die Messdaten 5a durch den Sensor 5 erlangt, wie in 3B gezeigt ist. In diesem Fall kann beobachtet werden, dass eine Grenzlinie um eine Kante des Werkstücks 4 herum in den Messdaten 5a verschwommen ist, wie in 3C gezeigt ist. Wenn zum Beispiel bestimmt wird, dass die Hand 10 des Roboters 1 mit einem Messpunkt bei der Grenzlinie kollidieren wird, die als verschwommen bestimmt wurde, wenn das Werkstück 4 aufgenommen wird, dann liegt eine Möglichkeit vor, dass das Werkstück 4, das unter Normalbedingungen aufgenommen werden kann, als ein Gegenstand verarbeitet wird, der unmöglich aufzunehmen ist, was die Produktionseffizienz oder dergleichen verringert.
-
Ein Robotersystem, eine Messdatenverarbeitungsvorrichtung und ein Messdatenverarbeitungsverfahren gemäß dem vorliegenden Ausführungsbeispiel werden nachstehend ausführlich unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben werden. 4 zeigt eine Funktionsblockdarstellung, die ein Beispiel einer Robotersteuervorrichtung in dem Robotersystem gemäß dem vorliegenden Ausführungsbeispiel zeigt. Obwohl das Robotersystem gemäß dem vorliegenden Ausführungsbeispiel dem Robotersystem entspricht, das unter Bezugnahme auf 1 beschrieben ist, sind in einer Robotersteuervorrichtung 3 zum Beispiel eine Messdatenverarbeitungsvorrichtung 3b, die verschiedene Funktionen verwirklicht, die nachfolgend beschrieben werden werden, zusammen mit einer Robotersteuereinheit 3a eingebaut, die Betriebe des Roboters 1 steuert. Wie unter Bezugnahme auf 1 beschrieben wurde, ist selbstverständlich, dass die Hand 10 des Roboters 1 eine Vielfalt von Formen annehmen kann, solange die Hand 10 das Werkstück halten kann, und es kann der Sensor 5 jedweder Sensor auf der Grundlage verschiedener Verfahren sein.
-
Selbstverständlich ist die Messdatenverarbeitungsvorrichtung 3b nicht auf eine Vorrichtung beschränkt, die in die Robotersteuervorrichtung 3 eingebaut ist, und es kann die Messdatenverarbeitungsvorrichtung 3b zum Beispiel getrennt oder in anderen Steuervorrichtungen oder dergleichen bereitgestellt werden. Zudem können jeweilige Funktionsblöcke, die in der Messdatenverarbeitungsvorrichtung 3b umfasst sind, die in 4 gezeigt ist, durch Software auf einem Computer implementiert werden, der eine MPU (Mikroverarbeitungseinheit, Micro Processing Unit), einen ROM (Festwertspeicher), einen RAM (Speicher mit wahlfreiem Zugriff) und dergleichen umfasst. Eine Messdatenkorrektureinheit 33 entspricht einer Maschinenlernvorrichtung 2, die maschinelles Lernen (überwachtes Lernen) durchführt.
-
Ein Robotersystem 100 gemäß dem vorliegenden Ausführungsbeispiel umfasst mit anderen Worten ähnlich dem System, das unter Bezugnahme auf 1 beschrieben wurde, den Roboter 1 mit der Hand 10, die das Werkstück 4 halten kann, den Sensor 5, der einen Arbeitsbereich misst, in dem das Werkstück existiert, um eine dreidimensionale Form in dem Arbeitsbereich (WA) als Messdaten 5a zu erlangen, und die Robotersteuervorrichtung 3. Selbstverständlich kann eine Vielfalt von Vorrichtungen, wie ein Programmierhandgerät, das dem Roboter 1 einen Lernvorgang vermittelt, oder eine Anzeigevorrichtung mit der Robotersteuervorrichtung 3 verbunden sein.
-
Wie in 4 gezeigt, umfasst die Robotersteuervorrichtung 3 zum Beispiel die Robotersteuereinheit 3a und die Messdatenverarbeitungsvorrichtung 3b, während die Messdatenverarbeitungsvorrichtung 3b eine Modelldatenspeichereinheit 31, eine Positions- und Ausrichtungsberechnungseinheit 32, eine Messdatenkorrektureinheit 33, eine Handformspeichereinheit 34, eine Kollisionsbestimmungseinheit 35 und eine Haltebestimmungseinheit 36 umfasst. Die Modelldatenspeichereinheit 31 speichert eine dreidimensionale Form eines Werkstücks als Modelldaten, während die Positions- und Ausrichtungsberechnungseinheit 32 Messdaten mit den Modelldaten kollationiert, um eine Position und eine Ausrichtung des Werkstücks in dem Arbeitsbereich zu berechnen. Die Kollisionsbestimmungseinheit 35 und die Messdatenkorrektureinheit 33 können zum Beispiel als eine externe Vorrichtung anstelle einer Bereitstellung in der Robotersteuervorrichtung 3 bereitgestellt werden.
-
Die Messdatenkorrektureinheit 33 korrigiert zum Beispiel Messdaten mittels maschinellen Lernens (überwachten Lernens). Die Messdatenkorrektureinheit 33 erstellt mit anderen Worten zum Beispiel in einem Lernstadium, in dem Lernen durchgeführt wird, Lehrerdaten durch Anordnen der Modelldaten in der Position und der Ausrichtung, die durch die Positions- und Ausrichtungsberechnungseinheit 32 berechnet sind, und stellt einen Parameter zum Korrigieren der Messdaten auf der Grundlage der Messdaten und der Lehrerdaten ein. Des Weiteren gibt zum Beispiel in einem Aufnahmestadium, in dem das Werkstück tatsächlich aufgenommen wird, die Messdatenkorrektureinheit 32 korrigierte Messdaten aus, die durch Korrigieren der Messdaten unter Verwendung des eingestellten Parameters korrigiert sind. Es sei darauf hingewiesen, dass die Robotersteuereinheit 3a den Roboter 1 auf der Grundlage einer Ausgabe aus der Messdatenkorrektureinheit 33 steuert.
-
Die Handformspeichereinheit 34 speichert Formdaten der Hand 10, während die Kollisionsbestimmungseinheit 35 bestimmt, ob eine Kollision bei der Position und der Ausrichtung zum Halten des Werkstücks auf der Grundlage der Formdaten der Hand und der korrigierten Messdaten auftreten wird. Die Messdatenkorrektureinheit 33 kann eine Eingabeakzeptanzeinheit 331 umfassen, die konfiguriert ist, um einzugeben, ob ein Ausgabeergebnis aus der Positions- und Ausrichtungsberechnungseinheit 32 als Lehrer Daten zu verwenden ist oder nicht. In dem Lernstadium wird ein Parameter zum Korrigieren der Messdaten unter Verwendung der Lehrerdaten eingestellt, die durch die Eingabeakzeptanzeinheit 331 vermittelt sind. Die Haltebestimmungseinheit 36 bestimmt, ob das Halten des Werkstücks zu einem Erfolg oder Versagen führt. In dem Lernstadium kann ein Bereich des Werkstücks, für den das Halten zum Erfolg führte, ebenso in die Messdatenkorrektureinheit 33 als die Lehrerdaten eingegeben werden, um den Parameter zum Korrigieren der Messdaten einzustellen.
-
In der vorstehend beschriebenen Beschreibung kann das Werkstück 4 zum Beispiel eine Vielzahl von zufällig abgeladenen Werkstücken in dem Arbeitsbereich WA sein, wie in 1 gezeigt wurde. Zudem kann der Sensor 5 ein visueller Sensor sein, der ortsfest bei einer Position angebracht ist, aus der der Arbeitsbereich aufgenommen werden kann, oder kann an einem Ende des Roboters 1 angebracht sein. Somit kann das Robotersystem 100 des vorliegenden Ausführungsbeispiels die Genauigkeit bei der Aufnahme des Werkstücks durch Korrigieren der Messdaten selbst verbessern.
-
5 zeigt eine Darstellung, die schematisch ein Beispiel einer Maschinenlernvorrichtung zeigt, die in der Messdatenverarbeitungsvorrichtung gemäß dem vorliegenden Ausführungsbeispiel bereitgestellt ist. Wie in 5 gezeigt wurde, entspricht die Maschinenlernvorrichtung 2 der Messdatenkorrektureinheit 33 in der Messdatenverarbeitungsvorrichtung 3b, die zum Beispiel in dem Lernstadium Lehrerdaten durch Anordnen der Modelldaten in der Position und der Ausrichtung erstellt, die durch die Positions- und Ausrichtungsberechnungseinheit 32 berechnet sind, und einen Parameter zum Korrigieren der Messdaten auf der Grundlage der Messdaten und der Lehrerdaten einstellt. Es sei darauf hingewiesen, dass wie vorstehend beschrieben wurde, die Messdatenverarbeitungsvorrichtung 3b (Maschinenlernvorrichtung 2) in die Robotersteuervorrichtung 3 eingebaut sein kann, in der die Robotersteuereinheit 3a bereitgestellt ist, aber zum Beispiel ebenso getrennt von der Robotersteuervorrichtung 3 bereitgestellt werden kann.
-
Die Maschinenlernvorrichtung 2 führt ein überwachtes Lernen durch und umfasst eine Zustandsbeobachtungseinheit 21, eine Lerneinheit 22 und eine Lehrerdatenerlangungseinheit 23. Beim überwachten Lernen wird eine große Anzahl von Lehrerdaten, d.h. Sätze von bestimmten Eingaben und entsprechende Ergebnisse (Lehrerdaten) in die Maschinenlernvorrichtung 2 eingegeben, um Merkmale zu erlernen, die in jenen Datensätzen beobachtet werden, und wird ein Parameter zum Korrigieren der Messdaten eingestellt.
-
Die Zustandsbeobachtungseinheit 21 beobachtet zum Beispiel Daten auf der Grundlage von Messdaten 5a aus dem Sensor 5 als eine Zustandsvariable, während die Lehrerdatenerlangungseinheit 23 die Daten auf der Grundlage der Messdaten 5a als Lehrerdaten (Daten, die durch Anordnen der Modelldaten in der Position und der Ausrichtung erlangt sind, die durch die Positions- und Ausrichtungsberechnungseinheit 32 ausgegeben sind) für das Werkstück 4 erlangt. Die Lerneinheit 22 erstellt ein Lernmodell zum Einstellen des Parameters zum Korrigieren der Messdaten 5a auf der Grundlage einer Ausgabe (Zustandsvariablen) aus der Zustandsbeobachtungseinheit 21 und eine Ausgabe (Lehrerdaten) aus der Lehrerdatenerlangungseinheit 23. Als Lehrerdaten können zum Beispiel CAD-Daten des Werkstücks 4 auf der Grundlage der Position und der Ausrichtung des Werkstücks 4 in dem Arbeitsbereich WA verwendet werden.
-
Die Ausgabeverwendungseinheit 20 verwendet eine Ausgabe aus der Maschinenlernvorrichtung 2 und entspricht zum Beispiel der vorstehend beschriebenen Kollisionsbestimmungseinheit 35 in 4, und es kann die Ausgabe Verwendungseinheit 20 als eine externe Vorrichtung zusammen mit der Messdatenkorrektureinheit 33 entsprechend der Maschinenlernvorrichtung 2 wie vorstehend beschrieben bereitgestellt werden.
-
Das Lernmodell, das durch die Maschinenlernvorrichtung 2 erlangt ist, kann durch zumindest eine weitere Maschinenlernvorrichtung 2 verwendet werden. Die Messdatenkorrektureinheit 33 kann mit anderen Worten in der Lage sein, (sich) mit einer Messdatenkorrektureinheit (einer weiteren Messdatenkorrektureinheit) in zumindest einer weiteren Messdatenverarbeitungsvorrichtung zu verbinden (zu kommunizieren), und kann gegenseitig den Parameter, der durch die Messdatenkorrektureinheit 33 eingestellt ist, mit der Messdatenkorrektureinheit in der zumindest einen weiteren Messdatenverarbeitungsvorrichtung gegenseitig austauschen oder gemeinsam verwenden. Des Weiteren muss die Maschinenlernvorrichtung 2 (Messdatenkorrektureinheit 33) nicht unbedingt in der Robotersteuervorrichtung 3 (Kante) bereitgestellt sein, die deren entsprechenden Roboter 1 steuert, und kann zum Beispiel für jede Fabrik mit einer Vielzahl von Robotern 1 (Robotersystem 100) (zum Beispiel auf einem Fog-Server) oder einem Cloud-Server bereitgestellt werden, der mit einer Vielzahl von Fabriken über eine Verbindungsleitung, wie dem Internet, verbunden ist. Es sei darauf hingewiesen, dass die Maschinenlernvorrichtung 2 zum Beispiel unter Verwendung eines mehrschichtigen neuronalen Netzes konfiguriert sein kann. Obwohl ein Allzweckcomputer oder -prozessor für die Maschinenlernvorrichtung 2 verwendet werden kann, erlaubt die Verwendung zum Beispiel einer GPGPU (Allzweckberechnung auf einer grafischen Verarbeitungseinheit) oder PC-Cluster in großem Maßstab eine Hochgeschwindigkeitsverarbeitung.
-
6 zeigt ein Ablaufdiagramm zur Beschreibung eines beispielhaften Prozesses in dem Lernstadium. Wie in 6 gezeigt ist, wenn der beispielhafte Prozess in dem Lernstadium begonnen wird, dann werden Messdaten 5a zum Beispiel aus dem Sensor (visuellen Sensor) 5 in Schritt ST11 erlangt, und es geht der Prozess zu Schritt ST12 über. Die Messdaten, die in Schritt ST11 erlangt sind, können Daten sein, die als ein Ergebnis einer einzelnen Messung erlangt sind, können aber zum Beispiel eine Vielzahl von Daten sein, die als ein Ergebnis der Messung einer Vielzahl von Durchläufen hinsichtlich eines Ladezustands einer Vielzahl von Werkstücken erlangt sind.
-
In Schritt ST12 werden die Position und die Ausrichtung des Werkstücks berechnet (die Positions- und Ausrichtungsberechnung werden durchgeführt), und es geht der Prozess zu Schritt ST13 über. Es sei darauf hingewiesen, dass obwohl die Positions- und die Ausrichtungsberechnung, die in Schritt ST12 durchgeführt wird, ein einziges Mal hinsichtlich eines einzelnen Messdatums durchgeführt werden kann, sie ebenso für eine Vielzahl von Durchläufen hinsichtlich einer Vielzahl von Messdaten durchgeführt werden kann. In Schritt ST13 werden Lehrerdaten erzeugt, woraufhin der Prozess zu Schritt ST14 übergeht, um einen Korrekturparameter einzustellen, woraufhin der Prozess vollendet ist.
-
In Schritt ST13 werden mit anderen Worten Lehrerdaten zum Durchführen eines überwachten Lernens durch die Maschinenlernvorrichtung 2 erstellt, wobei die Lehrerdaten zum Beispiel auf der Grundlage der Position und der Ausrichtung des Werkstücks und der Modelldaten des Werkstücks (zum Beispiel CAD-Daten des Werkstücks) erstellt werden. Zudem entspricht die Einstellung des Korrekturparameters in Schritt ST14 zum Beispiel dem vorstehend beschriebenen Prozess durch die Messdatenkorrektureinheit 33 in 4 oder dem überwachten Lernprozess durch die Maschinenlernvorrichtung 2 in 5. Der Prozess in Schritt ST14 wird zum Beispiel unter Verwendung lediglich eines Bereiches durchgeführt, für den die Lehrerdaten existieren; es werden mit anderen Worten die Modelldaten virtuell in der Position und der Ausrichtung angeordnet, die in Schritt ST12 berechnet sind, und es wird der Lernvorgang lediglich für einen Bereich durchgeführt, für den die angeordneten Modelldaten existieren.
-
7 zeigt ein Ablaufdiagramm zur Beschreibung eines beispielhaften Prozesses in dem Aufnahmestadium. Wie in 7 gezeigt ist, wenn der beispielhafte Prozess in dem Aufnahmestadium begonnen wird, dann werden Messdaten in Schritt ST21 erlangt, woraufhin der Prozess zu Schritt ST22 übergeht, und es wird die Korrektur der Messdaten, d.h. eine Korrektur der Messdaten unter Verwendung des Parameters (Korrekturparameters), der in dem Lernstadium in dem vorstehend beschriebenen Schritt ST14 eingestellt ist, durchgeführt.
-
Der Vorgang geht weiter zu Schritt ST23 über, um die Position und die Ausrichtung des Werkstücks zu berechnen. Es werden mit anderen Worten in Schritt ST23 die Position und die Ausrichtung des Werkstücks unter Verwendung der korrigierten Messdaten berechnet. Der Prozess geht weiterhin zu Schritt ST24 über, und es wird das Werkstück aufgenommen. In Schritt ST24 steuert mit anderen Worten die Robotersteuervorrichtung 3 (Robotersteuereinheit 3a) den Roboter 1 und die Hand 10, das Werkstück zu halten, für das die Position und die Ausrichtung in Schritt ST23 berechnet wurden. Somit werden die Position und die Ausrichtung des Werkstücks 4 spezifisch, und es wird eine Erfassung des Werkstücks stabilisiert, wodurch die Erfolgsrate der Aufnahme des Werkstücks verbessert wird.
-
8 zeigt ein Ablaufdiagramm zur Beschreibung eines weiteren beispielhaften Prozesses in dem Aufnahmestadium. Wie in 8 gezeigt ist, wenn der weitere beispielhafte Prozess in dem Aufnahmestadium begonnen wird, dann werden in Schritt ST31 Messdaten erlangt, und es geht der Prozess zu Schritt ST32 über, um die Messdaten zu korrigieren. Der Prozess geht weiterhin zu Schritt ST33 über, um die Position und die Ausrichtung des Werkstücks zu berechnen. Es sei darauf hingewiesen, dass die Prozesse in Schritten ST31 bis ST33 in 8 dieselben wie jene in Schritten ST21 bis ST23 in 7 sind.
-
Als nächstes geht der Prozess zu Schritt ST34 über, um zu bestimmen, ob eine Kollision bei der Position und der Ausrichtung auftreten wird, bei der die Aufnahme durchzuführen ist, woraufhin der Prozess zu Schritt ST35 übergeht. In Schritt ST35, auf der Grundlage der korrigierten Messdaten und der Formdaten der Hand, wird bestimmt, ob eine Kollision bei der Position und der Ausrichtung zum Halten des Werkstücks auftreten wird, für das die Position und die Ausrichtung berechnet sind. Wenn bestimmt wird, dass eine Kollision bei der Position und der Ausrichtung zum Halten des Werkstücks in Schritt ST35 auftreten wird, dann kehrt der Prozess Schritt ST33 zurück und erlangt zum Beispiel eine Position und eine Ausrichtung eines weiteren Werkstücks und führt denselben Prozess durch.
-
Andererseits, wenn bestimmt wird, dass eine Kollision bei der Position und der Ausrichtung zum Halten des Werkstücks in Schritt ST35 nicht auftreten wird, dann geht der Prozess zu Schritt ST36 über, um das Werkstück aufzunehmen, woraufhin der Prozess vollendet ist. Somit ist es möglich, korrekt zu bestimmen, ob eine Kollision während eines Betriebs der Aufnahme des Werkstücks auftreten wird, wodurch nicht aufgenommene Werkstücke verringert werden und eine Kollision der Hand mit dem Behälter oder anderen Werkstücken oder dergleichen während des Betriebs der Aufnahme des Werkstücks aufgrund einer fehlerhaften Messung verringert werden.
-
9 zeigt ein Ablaufdiagramm zur Beschreibung eines beispielhaften Prozesses zur Aktualisierung des Lernmodells, während der Aufnahmevorgang durchgeführt wird. Wie in 9 gezeigt ist, wenn der beispielhafte Prozess, der einen Lernvorgang in dem Aufnahmestadium enthält, begonnen wird, dann werden in Schritt ST41 Messdaten erlangt, und es geht der Prozess zu Schritt ST42 über, um die Messdaten zu korrigieren. Bei der Korrektur der Messdaten in Schritt ST42, wenn zum Beispiel der Prozess zum ersten Mal durchgeführt wird, wird der eingestellte Parameter nicht erhalten, wodurch die Messdaten durch Durchführen des Prozesses in dem Lernstadium vorab oder unter Verwendung eines voreingestellten initialen Parameters korrigiert werden. Es sei darauf hingewiesen, dass wenn der initiale Parameter verwendet wird, dann der Prozess in dem Lernstadium nicht vorab durchgeführt werden muss.
-
Als nächstes geht der Prozess zu Schritt ST43 über, um die Position und die Ausrichtung des Werkstücks zu berechnen, woraufhin der Prozess dann zu Schritt ST44 übergeht, um das Werkstück aufzunehmen, und es geht der Prozess zu Schritt ST45 über. In Schritt ST45 wird bestimmt, ob die Aufnahme des Werkstücks zu einem Erfolg oder einem Versagen führte; wenn bestimmt wird, dass die Aufnahme des Werkstücks nicht zu einem Erfolg führte (versagte), dann kehrt der Prozess zu Schritt ST41 zurück, um wieder Messdaten des Arbeitsbereichs zu erhalten, woraufhin derselbe Prozess wiederholt wird.
-
Demgegenüber, wenn bestimmt wird, dass die Aufnahme des Werkstücks zu einem Erfolg in Schritt ST45 führte, dann geht der Prozess zu Schritt ST46 über, um Lehrerdaten zum Lernen zu erzeugen. Es werden mit anderen Worten hinsichtlich des Werkstücks, für das die Aufnahme zu einem Erfolg führte, Lehrerdaten aus der Position und der Ausrichtung des Werkstücks und den Modelldaten (CAD-Daten) des Werkstücks erzeugt. Dann geht der Prozess zu Schritt ST47 über, um den Korrekturparameter einzustellen (zu aktualisieren), woraufhin der Prozess vollendet ist. Es sei darauf hingewiesen, dass die vorstehend beschriebenen Prozesse in Schritten ST41 bis ST47 für den Betrieb der Aufnahme von jedem Werkstück durchgeführt werden. Es ist somit möglich, den Parameter zum Korrigieren der Messdaten einzustellen, während ein Ist-Betrieb der Aufnahme des Werkstücks durchgeführt wird.
-
Wie vorstehend beschrieben wurde, können das Robotersystem, die Messdatenverarbeitungsvorrichtung und das Messdatenverarbeitungsverfahren des vorliegenden Ausführungsbeispiels die Genauigkeit bei der Aufnahme des Werkstücks durch Korrigieren der Messdaten selbst verbessern.
-
Das Robotersystem, die Messdatenverarbeitungsvorrichtung und das Messdatenverarbeitungsverfahren gemäß der vorliegenden Erfindung können eine vorteilhafte Wirkung des Verbesserns der Genauigkeit bei der Aufnahme des Werkstücks durch Korrigieren der Messdaten selbst bereitstellen.
-
Alle Beispiele und Konditionalausdrücke, die in dieser Beschreibung angegeben sind, dienen pädagogischen Zwecken zur Unterstützung des Lesers beim Verständnis der Erfindung und der Konzepte, die vom Erfinder beigesteuert wurden, um die Technik voranzubringen, und sind nicht als Beschränkungen auf derartige spezifisch angegebene Beispiele und Bedingungen auszulegen. Ebenso wenig bezieht sich die Zusammenfassung derartiger Beispiele in der Beschreibung auf eine Offenbarung der Überlegenheit oder Unterlegenheit der Erfindung. Obwohl ein oder mehrere Ausführungsbeispiele der vorliegenden Erfindung ausführlich beschrieben wurde oder wurden, ist ersichtlich, dass verschiedene Änderungen, Ersetzungen und Abänderungen an der Erfindung durchgeführt werden können, ohne von dem Wesen und Schutzbereich der Erfindung abzuweichen.