-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Offenbarung betrifft eine Technik zur Steuerung eines Roboters, der ein Objekt platziert.
-
Beschreibung des verwandten Standes der Technik
-
Automatisierte Fabriken haben Roboter verwendet, die beispielsweise eine Arbeit zum Verpacken von Komponenten anstelle einer Person ausführen. Herkömmlicherweise werden als ein Verfahren zur Steuerung von Robotern für einen Betrieb zum wiederholten Platzieren von Komponenten in einer ausgerichteten Art und Weise auf einer Palette Robotersteuerungsprogramme verwendet, oder eine Fernbetätigung wird durch einen Benutzer ausgeführt. Die japanische Patentoffenlegungsschrift Nummer
JP 2012-30320 A diskutiert einen Roboter, der Korrespondenzbeziehungen zwischen Schalen und Komponententypen, die auf die Schalen zu platzieren sind, lernt, sodass der Roboter eine Komponente halten kann, auch wenn es eine Änderung in Positionsbeziehungen zwischen den Schalen und den Komponenten gibt.
-
In der japanischen Patentoffenlegungsschrift
JP 2012-30320 A ist, da ein Benutzer im Voraus die Korrespondenzbeziehungen zwischen den Schalen und den Komponententypen, die jeweils auf eine unterschiedliche der Schalen zu platzieren sind, einstellen muss, Zeit benötigt, um eine Konfiguration des Roboters, der die Komponenten platziert, abzuschließen.
-
Kurzzusammenfassung der Erfindung
-
Die vorliegende Offenbarung ist darauf gerichtet, eine Informationsverarbeitungsvorrichtung bereitzustellen, die auf effektive Weise einem Roboter lehrt, wie ein Objekt zu platzieren ist.
-
Entsprechend einer Ausgestaltung der vorliegenden Offenbarung ist eine Informationsverarbeitungsvorrichtung für eine Steuerung eines Roboters bereitgestellt. Eine Beschaffungseinheit ist konfiguriert, ein erstes Bild und ein zweites Bild zu beschaffen, wobei das erste Bild ein Bild des Zielbereichs in einem Anfangszustand ist, wobei das zweite Bild ein Bild des Zielbereichs ist, in dem ein erstes Objekt, das von dem Zufuhrbereich befördert wird, platziert wird. Eine Schätzeinheit ist konfiguriert, einen zweiten Bereich oder mehrere zweite Bereiche in dem Zielbereich auf der Grundlage eines Merkmals des ersten Bereichs zu schätzen, das unter Verwendung des ersten Bilds und des zweiten Bilds geschätzt wird, wobei der erste Bereich dort ist, wo das erste Objekt platziert wird, wobei der eine zweite Bereich oder die mehreren zweiten Bereiche jeweils ein Bereich ist/sind, wo ein Objekt in dem Zufuhrbereich platziert werden kann, und von dem ersten Bereich unterschiedlich ist/sind. Eine Steuerungseinheit ist konfiguriert, den Roboter zu steuern, ein zweites Objekt, das von dem ersten Objekt unterschiedlich ist, von dem Zufuhrbereich zu irgendeinem des einen zweiten Bereichs oder der mehreren zweiten Bereiche zu befördern.
-
Weitere Merkmale werden aus der nachstehenden Beschreibung beispielhafter Ausführungsbeispiele unter Bezugnahme auf die beigefügte Zeichnung ersichtl ich.
-
Figurenliste
-
- 1 zeigt ein Diagramm, das ein Beispiel einer Konfiguration eines Informationsverarbeitungssystems veranschaulicht.
- 2 zeigt ein Diagramm, das ein Beispiel einer Hardware-Konfiguration einer Informationsverarbeitungsvorrichtung veranschaulicht.
- 3 zeigt ein Blockschaltbild, das ein Beispiel einer funktionalen Konfiguration des Informationsverarbeitungssystems veranschaulicht.
- 4 zeigt ein Flussdiagramm, das eine Verarbeitung veranschaulicht, die durch das Informationsverarbeitungssystem ausgeführt wird.
- 5 zeigt ein Diagramm, das ein Beispiel eines Verfahrens zum Geben einer Anweisung an einen Benutzer veranschaulicht.
- 6 zeigt ein Diagramm, das ein Beispiel eines Verfahrens zum Geben einer Anweisung an den Benutzer durch eine Projektion veranschaulicht.
- 7 zeigt ein Diagramm, das eine Anzeige veranschaulicht, die eine virtuelle Realität verwendet.
- 8A und 8B zeigen Diagramme, die ein Beispiel eines Verfahrens zum Bestimmen eines Zielobjekts veranschaulichen.
- 9A, 9B und 9C zeigen Diagramme, die ein Verfahren zum Schätzen von Kandidaten von Platzierungsbereichen veranschaulichen.
- 10A und 10B zeigen Diagramme, die relative Positionsbeziehungen zwischen Zielobjekten und Platzierungsbereichen veranschaulichen.
- 11A, 11B und 11C zeigen Diagramme, die relative Positionsbeziehungen zwischen Zielobjekten und Platzierungsbereichen veranschaulichen.
- 12 zeigt ein Diagramm, das Beispiele von Koordinatensystemen des Informationsverarbeitungssystems veranschaulicht.
- 13 zeigt ein Diagramm, das Beispiele der Koordinatensysteme des Informationsverarbeitungssystems veranschaulicht.
- 14 zeigt ein Blockschaltbild, das ein Beispiel einer funktionalen Konfiguration eines Informationsverarbeitungssystems veranschaulicht.
- 15 zeigt ein Flussdiagramm, das eine Verarbeitung veranschaulicht, die durch das Informationsverarbeitungssystem ausgeführt wird.
- 16 zeigt ein Flussdiagramm, das eine Verarbeitung veranschaulicht, die durch ein Informationsverarbeitungssystem ausgeführt wird.
- 17 zeigt ein Flussdiagramm, das eine Verarbeitung veranschaulicht, die durch die Informationsverarbeitungsvorrichtung ausgeführt wird.
- 18 zeigt ein Diagramm, das ein Beispiel von Trainingsdaten für Platzierungsbereiche veranschaulicht.
- 19 zeigt ein Diagramm, das ein Beispiel einer graphischen Benutzerschnittstelle (GUI) veranschaulicht.
- 20 zeigt ein Diagramm, das ein Beispiel einer GUI veranschaulicht.
- 21 zeigt ein Diagramm, das ein Beispiel einer GUI veranschaulicht.
- 22 zeigt ein Diagramm, das ein Beispiel einer GUI veranschaulicht.
-
Beschreibung der Ausführungsbeispiele
-
Unter Bezugnahme auf die beigefügte Zeichnung werden nachstehend geeignete beispielhafte Ausführungsbeispiele der vorliegenden Offenbarung beschrieben.
-
In einer herkömmlichen Fabrik werden eine Neuanordnung von Komponenten und ein Ersetzen von Komponenten manuell ausgeführt. In jüngster Zeit gibt es eine Technik, in der Roboter Komponenten anstelle einer Person verpacken und ersetzen. Indem die Technik verwendet wird, ist eine Verbesserung in der Produktivität und eine Verringerung in der Belastung für Arbeiter auf dem Fabrikgelände erwartet worden. Unterdessen ist es notwendig, Robotern einen Betrieb für ein Erkennen einer Richtung einer Komponente und ein Platzieren der Komponente bei einer korrekten Position oder in einer korrekten Ausrichtung zu lehren. Da ein Vorbereiten von Programmen oder ein Ausführen einer Fernbetätigung spezialisiertes Wissen erfordert, ist es schwierig gewesen, eine Konfiguration eines Roboters auf dem Fabrikgelände auszuführen. Ferner ist es, auch wenn beispielsweise ein Benutzer einem Roboter eine Aufgabe zum Bewegen eines Objekts beispielhaft zeigt, schwierig für den Roboter, die verbleibenden Objekte wie beispielhaft durch den Benutzer gezeigt zu bewegen. In dem vorliegenden beispielhaften Ausführungsbeispiel ist eine Beschreibung einer Informationsverarbeitungsvorrichtung zur Erzeugung eines Steuerungswerts angegeben, mit dem der Roboter ein Objekt von einem Zufuhrbereich zu einem Zielbereich befördert und das Objekt als einen Kandidaten für einen Platzierungsbereich, der in dem Zielbereich beinhaltet ist, platziert, indem ein Bild oder ein sich bewegendes Bild verwendet wird, das ein Modellbetrieb ist, der durch einen Benutzer angegeben wird, und das von dem Standpunkt eines Roboters aus aufgenommen wird. Eine Aufgabe, die hier beschrieben ist, ist ein Betrieb für ein Befördern einer Gruppe von Objekten, die lose geladen sind, zu einem Zielbereich, wie beispielsweise einer Schale, und zum Platzieren der Objekte in einer ausgerichteten Art und Weise in dem Zielbereich. Entsprechend den vorliegenden beispielhaften Ausführungsbeispielen sind der Betrieb zum Befördern und Platzieren eines Objekts und eine Bewegung synchron. Der Benutzer muss lediglich diese Aufgabe einmal tatsächlich ausführen. Somit kann der Benutzer den Roboter ohne spezialisiertes Wissen konfigurieren. Als Ergebnis ist es möglich, dem Roboter einen Betrieb für ein Bewegen eines Objekts auf effektive Weise zu lehren.
-
In einem ersten beispielhaften Ausführungsbeispiel erhält, bevor ein Zielobjekt zu dem Zielbereich bewegt wird, eine Abbildungsvorrichtung ein Bild durch eine Bildaufnahme des Zielbereichs in einem Anfangszustand. Als nächstes wird ein Benutzer angewiesen, das Zielobjekt zu dem Zielbereich zu befördern. Die Abbildungsvorrichtung erhält ein Bild einer Szene, in der ein Zielobjekt in einem Platzierungsbereich, der in dem Zielbereich beinhaltet ist, platziert wird. Dann wird auf der Grundlage der Bilder des Zielobjekts vor und nach der Bewegung ein Steuerungswert erzeugt, mit dem die Zielobjekte, die in einem Zufuhrbereich verbleiben, zu befördern sind und in den Platzierungsbereichen zu platzieren sind, die in dem Zielbereich beinhaltet sind. Unter Verwendung des erzeugten Steuerungswerts führt ein Roboter eine Aufgabe zum Befördern der Zielobjekte zu den Platzierungsbereichen, die in dem Zielbereich beinhaltet sind, aus. Der Roboter führt die Aufgabe wiederholt aus, bis alle Zielobjekte in dem Zufuhrbereich ausgehen oder bis es keine Kandidaten für die Platzierungsbereiche in dem Zielbereich gibt.
-
In dem vorliegenden beispielhaften Ausführungsbeispiel bezieht sich ein „Roboter“ auf eine maschinelle Vorrichtung, die eine Betätigungseinrichtung umfasst und ein Zielobjekt hält, befördert und platziert. Ein „Zielobjekt“ bezieht sich auf ein Objekt als ein Betriebsziel einer Bewegung und einer Platzierung in einer Aufgabe, die durch den Roboter ausgeführt wird. Spezifisch ist ein „Zielobjekt“ eine industrielle Komponente, wie beispielsweise eine Komponente einer digitalen Kamera. Eine „Bewegung“ bezieht sich auf den Vorgang zum Aufheben eines Zielobjekts von der Position, wo das Zielobjekt durch ein Beförderungsband zugeführt wird, zum Befördern des Zielobjekts zu der Platzierungsposition und zum Platzieren des Zielobjekts bei der Platzierungsposition .
-
1 zeigt ein Diagramm, das ein Beispiel der Konfiguration eines Informationsverarbeitungssystems 100 veranschaulicht, das eine Informationsverarbeitungsvorrichtung 20 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel umfasst. 1 zeigt ein Beispiel einer Vorrichtungskonfiguration, wobei sie den Umfang einer Anwendung der vorliegenden Offenbarung nicht begrenzt.
-
Das Informationsverarbeitungssystem 100 umfasst einen Roboter 10 und die Informationsverarbeitungsvorrichtung 20. Das Informationsverarbeitungssystem 100 umfasst ferner eine Abbildungsvorrichtung 2, eine Lichtquelle 6 und eine Anweisungsvorrichtung 5.
-
Der Roboter 10 führt einen Betrieb zum Erkennen von Zielobjekten 41 und von Platzierungsbereichen 42 sowie einen Betrieb zum Befördern und Platzieren der Zielobjekte 41 auf der Grundlage eines Steuerungswerts, der durch die Informationsverarbeitungsvorrichtung 20 präsentiert wird, aus. Der Roboter 10 ist beispielsweise ein Mehrgelenkroboter, der in Produktionslinien von Fabriken arbeitet. Der Roboter 10 umfasst eine Manipulationsvorrichtung beziehungsweise Schwenkvorrichtung 1, wie beispielsweise einen Roboterarm, eine Haltevorrichtung 3, wie beispielsweise eine Roboterhand, und eine Steuerungseinrichtung 4, die die Schwenkvorrichtung 1 und die Haltevorrichtung 3 steuert. Ferner umfasst der Roboter 10 einen Positions-/ Ausrichtungsänderungsmechanismus, der in der Lage ist, die Position und die Ausrichtung der Haltevorrichtung 3 zu ändern, indem die Winkel der Gelenke der Schwenkvorrichtung 1 geändert werden. Der Positions-/ Ausrichtungsänderungsmechanismus wird durch einen elektrischen Motor angetrieben. Alternativ hierzu wird dieser Mechanismus durch eine Betätigungseinrichtung angetrieben, die durch einen Fluiddruck arbeitet, wie beispielsweise einen Hydraulikdruck oder einen Luftdruck. Dieser Mechanismus wird entsprechend Betriebsanweisungsinformationen angesteuert, die von der Informationsverarbeitungsvorrichtung 20 ausgegeben werden. Der Roboter 10 ist nicht auf den Mehrgelenkroboter begrenzt. Der Roboter 10 kann eine bewegbare Maschine sein, die einer numerische Steuerung (NC) unterworfen ist.
-
Die Schwenkvorrichtung 1 ist konfiguriert, die Abbildungsvorrichtung 2 zu bewegen, um ein Bild der Zielobjekte 41 von einer beliebigen Position und Ausrichtung aus aufzunehmen. Die Schwenkvorrichtung 1 wird auf der Grundlage einer Anweisung von der Steuerungseinrichtung 4 oder eines Steuerungswerts, der durch die Informationsverarbeitungsvorrichtung 20 bestimmt wird, gesteuert. Die Schwenkvorrichtung 1 kann beispielsweise aus einem Sechs-Achsen-Roboter aufgebaut sein und kann die Abbildungsvorrichtung 2, die nahe dem Greiforgan des Roboters 10 angebracht ist, bewegen.
-
Die Haltevorrichtung 3 ist ein Werkzeug für den Roboter 10, um ein Objekt entsprechend dem Typ der Zielobjekte 41 zu halten. Beispielsweise ist die Haltevorrichtung 3 eine Hand, die einen Spannmechanismus umfasst, der durch einen Motor angetrieben werden kann und in der Lage ist, die Zielobjekte 41 zu halten, oder eine Hand, die einen Saugnapf beziehungsweise einen Sauggreifer verwendet, der die Zielobjekte 41 durch einen Luftdruck ansaugt. Die Haltevorrichtung 3, die hier beschrieben ist, saugt den Schwerpunkt jedes Zielobjekts 41 mit einer Hand, die einen Sauggreifer verwendet, an, um das Objekt zu halten. Die Haltevorrichtung 3 ist an der Schwenkvorrichtung 1 angebracht und ist in Reaktion auf den Typ der Zielobjekte 41 austauschbar. Ferner ist die Haltevorrichtung 3 nicht notwendigerweise erforderlich und kann nicht bereitgestellt werden, solange die Schwenkvorrichtung 1 die Zielobjekte 41 bewegen kann. Beispielsweise kann in dem Fall eines Betriebs zum Herausdrücken der Zielobjekte 41 der Roboter 10 aus einem einachsigen Zylinder aufgebaut sein, wobei er die Haltevorrichtung 3 nicht umfassen kann.
-
Beispielsweise bestimmt, wenn eine Zielposition, zu der der Roboter 10 ein Zielobjekt bewegt, in die Steuerungseinrichtung 4 eingegeben wird, die Steuerungseinrichtung 4 einen Bahnverlauf, auf dem der Roboter 10 das Zielobjekt zu der Zielposition von der derzeitigen Stelle bewegt. Spezifisch ist die Steuerungseinrichtung eine Robotersteuerungseinrichtung, die zugehörig zu der Schwenkvorrichtung 1 ist. Alternativ hierzu kann die Steuerungseinrichtung 4 eine programmierbare Logiksteuerungseinrichtung (PLC) sein, oder sie kann eine beliebige andere Vorrichtung sein, die in der Lage ist, die Schwenkvorrichtung 1 und die Haltevorrichtung 3 zu steuern. Wie es in 1 veranschaulicht ist, ist die Steuerungseinrichtung 4 nahe dem Roboter eingebaut. Alternativ hierzu kann die Steuerungseinrichtung 4 in die Schwenkvorrichtung 1 integriert sein, oder sie kann in einem anderen Bereich eingebaut sein. Die Steuerungseinrichtung 4 steuert die Schwenkvorrichtung 1 und die Haltevorrichtung 3. Wenn ein Bild aufgenommen wird, steuert die Steuerungseinrichtung 4 die Schwenkvorrichtung 1, um bei einer Zielposition und in einer Ausrichtung zu sein, sodass die Abbildungsvorrichtung 2 ein Bild der Zielobjekte 41 oder der Platzierungsbereiche 42 aufnimmt. Dann sendet, wenn die Abbildungsvorrichtung 2 sich bewegt, die Steuerungseinrichtung 4 einen Abbildungsbefehl zu der Informationsverarbeitungsvorrichtung 20, wobei die Informationsverarbeitungsvorrichtung 20 einen Abbildungsauslöser zu der Abbildungsvorrichtung 2 sendet. Alternativ hierzu sendet die Steuerungseinrichtung 4 einen Abbildungsbefehl direkt zu der Abbildungsvorrichtung 2 und nicht über die Informationsverarbeitungsvorrichtung 20. Die Steuerungseinrichtung 4 steuert ebenso in geeigneter Weise die Lichtquelle 6 entsprechend der Aufnahme eines Bilds. Wenn eine Aufgabe ausgeführt wird, steuert die Steuerungseinrichtung 4 die Schwenkvorrichtung 1, um bei einer Zielposition und in einer Ausrichtung zu sein, sodass die Haltevorrichtung 3 ein Zielobjekt 41 auf der Grundlage eines Steuerungswerts hält, der von der Informationsverarbeitungsvorrichtung 20 beschafft wird. Dann sendet, wenn die Haltevorrichtung 3 sich zu einer Position und Ausrichtung bewegt, bei der und in der die Haltevorrichtung 3 ein Zielobjekt 41 halten kann, die Steuerungseinrichtung 4 eine Halteauslösung zu der Haltevorrichtung 3.
-
Die Zielobjekte 41 sind Objekte, die durch den Roboter 10 zu befördern sind. Spezifisch sind die Zielobjekte 41 industrielle Komponenten, wie beispielsweise Komponenten einer digitalen Kamera, oder verpackte fertiggestellte Produkte. Die Zielobjekte 41 werden eines nach dem anderen durch ein Beförderungsband zugeführt, wobei eine Einheit der Zielobjekte 41 durch den Roboter 10 befördert wird. „Eine Einheit“ bezieht sich auf die Kombination von Zielobjekten 41, die in einer Schale zu einer Zeit platziert werden können. Die Zielobjekte 41 können in einer Schale angeordnet sein oder nicht. Ferner können die Zielobjekte 41 durch das Beförderungsband nicht zugeführt werden und können durch ein anderes Verfahren, wie beispielsweise ein fahrerloses Transportfahrzeug (AGV), zugeführt werden.
-
Platzierungsbereiche 42a, 42b, 42c und 42d sind Kandidaten für Platzierungsbereiche in einem Zielbereich, zu dem die Zielobjekte 41 zu bewegen sind. Da der Roboter 10 die Zielobjekte 41 in einer ausgerichteten Art und Weise platziert, sind die Platzierungsbereiche für die jeweiligen Zielobjekte 41 unterschiedlich. Spezifisch wird, wenn das erste Zielobjekt 41 zu dem Platzierungsbereich 42a bewegt wird, der Platzierungsbereich 42a mit dem Zielobjekt 41 gefüllt. Somit muss ein Platzierungsbereich 42 des zweiten Zielobjekts 41 eine Position sein, die von dem Platzierungsbereich 42a des ersten Zielobjekts 41 unterschiedlich ist, das heißt einer der Platzierungsbereiche 42b, 42c und 42d. Die Platzierungsbereiche 42 unterscheiden sich in Abhängigkeit von den Aufgaben. Beispielsweise sind, wenn die Aufgabe ein Pick-and-Place beziehungsweise eine Bestückung ist, die Platzierungsbereiche 42 die Positionen, wo die Zielobjekte 41 zu platzieren sind. „Pick-and-Place“ bezieht sich auf die Aufgabe zum Anbringen einer Saugeinheit, wie beispielsweise eines Sauggreifers, an das Ende eines Roboterarms und eines Beförderns des Objekts durch ein Ansaugen des Objekts. Wenn die Zielobjekte 41 Schrauben sind und die Aufgabe ein Verschrauben ist, sind die Platzierungsbereiche 42 Positionen, die zu verschrauben sind. Wenn die Zielobjekte 41 Verbindungseinrichtungen sind und die Aufgabe die Einführung der Verbindungseinrichtungen ist, sind die Platzierungsbereiche 42 die Positionen, wo die Verbindungseinrichtungen einzuführen sind.
-
Die Abbildungsvorrichtung 2 ist eine Kamera oder ein visueller Sensor, der einen Sensor für ein Erfassen von Licht oder eine Fotodiode umfasst. Die Abbildungsvorrichtung 2 nimmt ein Bild der Zielobjekte 41 und des Zielbereichs 42 auf. Das „Bild“ ist beispielsweise ein zweidimensionales Farbbild oder ein Entfernungsbild. Die Abbildungsvorrichtung 2 gibt das beschaffte Bild zu der Informationsverarbeitungsvorrichtung 20 aus. Die Abbildungsvorrichtung 2 nimmt ein Bild der Zielobjekte 41 und des Zielbereichs 42 auf, auf die die Lichtquelle 6 Licht projiziert. Die Abbildungsvorrichtung 2 kann ebenso ein Bild der Zielobjekte 41 und anderer Zielobjekte 41 aufnehmen, während die Lichtquelle 6 kein Licht projiziert. Als ein Verfahren zum Aufnehmen eines Entfernungsbilds wird ein Lichtkodierungsverfahren für ein Veranlassen der Abbildungsvorrichtung 2, ein Infrarotlichtmuster, das durch die Lichtquelle 6 projiziert wird, zu lesen, und zum Erhalten von Entfernungsinformationen auf der Grundlage des Triangulationsprinzips verwendet. Alternativ hierzu kann ein Laufzeitverfahren beziehungsweise Time-of-Flight-(ToF-)Verfahren für ein Erhalten von Entfernungsinformationen aus der Zeit, bis ein projizierter Infrarotimpuls reflektiert wird und zurückkehrt, verwendet werden. Weiter alternativ kann ein Verfahren zum Erhalten von Entfernungsinformationen aus Parallaxeninformationen unter Verwendung einer Stereokamera auf der Grundlage des Triangulationsprinzips verwendet werden, oder ein anderes Verfahren kann verwendet werden. Wie es in 1 veranschaulicht ist, sind die Abbildungsvorrichtung 2 und die Lichtquelle 6 an dem Roboter 10 angebracht. Alternativ hierzu können die Abbildungsvorrichtung 2 und die Lichtquelle 6 fest bei einem oberen Abschnitt eines Abbildungszielraums platziert sein, oder sie können an einer anderen Betriebsmaschine angebracht sein. Alternativ hierzu kann eine Vielzahl von Abbildungsvorrichtungen 2 bereitgestellt sein. In einem Fall, in dem die fixierte Abbildungsvorrichtung 2 verwendet wird, kann der Blickwinkel der Abbildungsvorrichtung 2 es der Abbildungsvorrichtung 2 ermöglichen, ein Bild eines Zufuhrbereichs und des Zielbereichs 42 gleichzeitig aufzunehmen. In einem Fall, in dem die Vielzahl von Abbildungsvorrichtungen 2 verwendet wird, kann der Einbauort jeder Abbildungsvorrichtung 2 auf der Grundlage eines Bereichs, der durch eine jeweilige Abbildungsvorrichtung 2 aufzunehmen ist, bestimmt werden. In dem vorliegenden beispielhaften Ausführungsbeispiel sind die Position und die Ausrichtung sowie der Blickwinkel der Abbildungsvorrichtung 2 bekannt.
-
Von dem Informationsverarbeitungssystem 100 weist die Anweisungsvorrichtung 5 den Benutzer an, die Zielobjekte 41 zu beliebigen von Kandidaten für Platzierungsbereiche in dem Zielbereich 42 zu bewegen. Beispielsweise umfasst die Anweisungsvorrichtung 5 einen Lautsprecher, wobei sie die Anweisung an den Benutzer ausgibt, indem eine natürliche Sprache, die durch eine Anweisungseinheit 202 spezifiziert wird, ausgegeben wird. Alternativ hierzu umfasst die Anweisungsvorrichtung 5 eine Anzeige, wobei sie die Anweisung an den Benutzer ausgibt, indem eine graphische Benutzerschnittstelle (GUI) angezeigt wird. Weiter alternativ umfasst die Anweisungsvorrichtung 5 eine Projektionseinrichtung, wobei sie die Anweisung an den Benutzer ausgibt, indem ein Bild, das durch die Anweisungseinheit 202 spezifiziert wird, auf die Zielobjekte 41 oder den Zielbereich 42 projiziert wird. Weiter alternativ umfasst die Anweisungsvorrichtung 5 eine kopfmontierte Anzeige (HMD) oder eine Erweiterte-Realität- beziehungsweise Augmented-Reality-(AR-)Brille, wobei sie die Anweisung an den Benutzer ausgibt, indem ein Bild in einer überlagerten Art und Weise auf den Zielbereich 42 in einem Echtraum oder in einem virtuellen Raum unter Verwendung einer gemischten Realität (MR), einer AR oder einer virtuellen Realität (VR) angezeigt wird.
-
Die Lichtquelle 6 umfasst beispielsweise eine Projektionseinrichtung und strahlt sichtbares Licht aus oder strahlt Infrarotlicht von einer Laserlichtquelle aus, um ein gleichförmiges Beleuchtungslicht oder ein Musterlicht auf die Zielobjekte 41 und den Zielbereich 42 zu projizieren.
-
Die Informationsverarbeitungsvorrichtung 20 ist eine Vorrichtung, die einen Steuerungswert erzeugt, mit dem der Roboter 10 ein Objekt von dem Zufuhrbereich zu dem Zielbereich 42 befördert. Die Informationsverarbeitungsvorrichtung 20 umfasst beispielsweise einen Personalcomputer (PC). 2 zeigt ein Beispiel der Hardware-Konfiguration der Informationsverarbeitungsvorrichtung 20. Die Informationsverarbeitungsvorrichtung 20 umfasst eine zentrale Verarbeitungseinheit (CPU) 21, einen Nur-Lese-Speicher (ROM) 22, einen Speicher mit wahlfreiem Zugriff (RAM) 23, einen externen Speicher 24, eine Eingabeeinheit 25, eine Anzeigeeinheit 26, eine Kommunikationsschnittstelle (I/F) 27 und einen Systembus 28. Die CPU 21 führt eine Gesamtsteuerung des Betriebs der Informationsverarbeitungsvorrichtung 20 aus und steuert die Komponenten (21 bis 27) über den Systembus 28. Das ROM 22 ist ein nichtflüchtiger Speicher zur Speicherung eines Programms, das für die CPU 21 erforderlich ist, um eine Verarbeitung auszuführen. Alternativ hierzu kann dieses Programm in dem externen Speicher 24 oder einem (nicht veranschaulichten) anbringbaren Speichermedium gespeichert sein. Das RAM 23 fungiert als ein Hauptspeicher oder als ein Arbeitsbereich für die CPU 21. Das heißt, wenn eine Verarbeitung ausgeführt wird, lädt die CPU 21 ein erforderliches Programm von dem ROM 22 in das RAM 23 und führt das geladene Programm aus, um verschiedene funktionale Betriebe zu erreichen. Beispielsweise speichert der externe Speicher 24 verschiedene Typen von Daten und verschiedene Typen von Informationen, die erforderlich sind, wenn die CPU 21 eine Verarbeitung unter Verwendung des Programms ausführt. Ferner speichert der externe Speicher 24 beispielsweise verschiedene Typen von Daten und verschiedene Typen von Informationen, die durch die CPU 21 erhalten werden, die eine Verarbeitung unter Verwendung eines Programms ausführt. Die Eingabeeinheit 25 umfasst beispielsweise eine Zeigevorrichtung, wie beispielsweise eine Tastatur und eine Maus, und ermöglicht es dem Benutzer, eine Anweisung an die Informationsverarbeitungsvorrichtung 20 unter Verwendung der Eingabeeinheit 25 auszugeben. Die Anzeigeeinheit 26 umfasst einen Monitor, wie beispielsweise eine Flüssigkristallanzeige (LCD). Die Kommunikations-I/F 27 ist eine Schnittstelle zum Kommunizieren mit einer externen Vorrichtung. Der Systembus 28 verbindet die CPU 21, das ROM 22, das RAM 23, den externen Speicher 24, die Eingabeeinheit 25, die Anzeigeeinheit 26 und die Kommunikations-I/F-27, sodass diese Komponenten miteinander kommunizieren können. Wie es vorstehend beschrieben ist, ist die Informationsverarbeitungsvorrichtung 20 mit dem Roboter 10, der Abbildungsvorrichtung 2, der Lichtquelle 6, der Anweisungsvorrichtung 5 und der Bestätigungsvorrichtung 7 als externe Vorrichtungen über die Kommunikations-I/F 27 verbunden, sodass die Informationsverarbeitungsvorrichtung 20 mit jeder externen Vorrichtung kommunizieren kann.
-
3 zeigt ein Blockschaltbild, das Beispiele der funktionalen Konfigurationen des Informationsverarbeitungssystems 100 und der Informationsverarbeitungsvorrichtung 20 veranschaulicht. Der Roboter 10 umfasst die Steuerungseinrichtung 4, die Haltevorrichtung 3 und die Schwenkvorrichtung 1. Die Informationsverarbeitungsvorrichtung 20 umfasst eine Speichereinheit 200, eine Beschaffungseinheit 201, eine Anweisungseinheit 202, eine Schätzeinheit 203 und eine Erzeugungseinheit 204.
-
Die Speichereinheit 200 speichert Informationen, die für den Roboter 10 erforderlich sind, um eine gelernte Aufgabe auszuführen. Spezifisch sind die Informationen Daten, wie beispielsweise die Position und Ausrichtung der Abbildungsvorrichtung 2, wenn ein Bild des Zielbereichs 42 oder des Zufuhrbereichs aufgenommen wird. Die Speichereinheit 200 speichert ebenso den Blickwinkel der Abbildungsvorrichtung 2. Ferner speichert die Speichereinheit 200 Daten bezüglich des Bereichs und der Größe einer Hand der Haltevorrichtung 3. Spezifisch speichert in einem Fall, in dem die Haltevorrichtung 3 ein Sauggreifer ist, die Speichereinheit 200 Informationen bezüglich des Durchmessers des Greifers. In einem Fall, in dem die Haltevorrichtung 3 eine Hand ist, speichert die Speichereinheit 200 Informationen bezüglich der Größe der Hand. Ferner speichert die Speichereinheit 200 ebenso Informationen bezüglich der Halteposition jedes Zielobjekts 41. Beispielsweise geben in dem Fall des Sauggreifers die Informationen an, dass die Mitte des Zielobjekts 41 die Halteposition ist. Diese Informationen müssen nicht in Bezug auf jeden Typ des Zielobjekts 41 eingestellt werden.
-
Die Beschaffungseinheit 201 beschafft visuelle Informationen, die ein Bild oder ein sich bewegendes Bild sind, das durch die Abbildungsvorrichtung 2 erhalten wird, die ein Bild einer Szene aufnimmt, die den Zielbereich 42 und den Zufuhrbereich umfasst. Zuerst beschafft die Beschaffungseinheit 201 erste visuelle Informationen, die erhalten werden, indem ein Bild des Zielbereichs 42 in einem Anfangszustand aufgenommen wird. Als nächstes beschafft die Beschaffungseinheit 201 zweite visuelle Informationen, die erhalten werden, indem ein Bild des Zielbereichs 42 in dem Zustand aufgenommen wird, nachdem eine Einheit (ein erstes Objekt) der Zielobjekte 41 zu dem Zielbereich 42 bewegt worden ist. Indem die Differenz zwischen den Merkmalspunkten der Bilder auf der Grundlage der ersten visuellen Informationen und der zweiten visuellen Informationen erhalten wird, ist es möglich, Strukturinformationen zu schätzen, die einen Bereich angeben, der die Zielobjekte 41 aufweist. Unter Verwendung der Strukturinformationen ist es möglich, die Aufgabe eines gleichmäßigen Anordnens der Zielobjekte 41 in dem Zielbereich 42 auszuführen. Ferner beschafft die Beschaffungseinheit 201 visuelle Informationen (dritte visuelle Informationen), die ein Bild oder ein sich bewegendes Bild sind, das erhalten wird, indem ein Bild einer Szene aufgenommen wird, die den Zufuhrbereich umfasst, der ein Zielobjekt oder mehrere Zielobjekte 41 aufweist. Aus den dritten visuellen Informationen ist es möglich, Zielobjekte 41, die aufgehoben werden können, zu erkennen und die Position, wo jedes Objekt zu halten ist, zu bestimmen. Die Beschaffungseinheit 201 gibt die beschafften visuellen Informationen an die Anweisungseinheit 202 und die Schätzeinheit 203 aus. Die Beschaffungseinheit 201 ist beispielsweise aus einer Aufnahmekarte oder einem Speicher (einem RAM) aufgebaut. Ferner beschafft die Beschaffungseinheit 201 die Position und Ausrichtung (eine erste Position) der Abbildungsvorrichtung 2, wenn ein Bild des Zielbereichs 42 aufgenommen wird, sowie die Position und Ausrichtung (eine zweite Position) der Abbildungsvorrichtung 2, wenn ein Bild einer Szene aufgenommen wird, die den Zufuhrbereich umfasst, in dem die Zielobjekte 41 lose geladen sind. In dem vorliegenden beispielhaften Ausführungsbeispiel werden die ersten und zweiten Positionen im Voraus in der Speichereinheit 200 gespeichert.
-
Die Anweisungseinheit 202 weist den Benutzer an, einen vorbestimmten Betrieb auszuführen. Der „vorbestimmte Betrieb“ ist ein Betrieb zum Bewegen einer Einheit (des ersten Objekts) der Zielobjekte 41, die lose in dem Zufuhrbereich geladen sind, zu irgendeinem der Bereiche 42a, 42b, 42c und 42d in dem Zielbereich 42. In der spezifischen Verarbeitung beschafft die Anweisungseinheit 202 von der Beschaffungseinheit 201 ein Bild, das durch eine Bildaufnahme des Zielbereichs 42 erhalten wird, wobei sie dann einen Anweisungsauslöser zu der Anweisungsvorrichtung 5 sendet, um den Benutzer anzuweisen, die Zielobjekte 41 zu dem Zielbereich 42 zu bewegen. In Reaktion auf die Anweisungsvorrichtung 5 bestimmt die Anweisungseinheit 202 den Inhalt der Anweisung. Beispielsweise bestimmt in einem Fall, in dem die Anweisungsvorrichtung 5 ein Lautsprecher ist, die Anweisungseinheit 202 den Inhalt einer Sprachführung, die von dem Lautsprecher auszugeben ist. In einem Fall, in dem die Anweisungsvorrichtung 5 eine Projektionseinrichtung ist, bestimmt die Anweisungseinheit 202 ein zu projizierendes Bild. In einem Fall, in dem die Anweisungsvorrichtung 5 eine HMD oder eine AR-Brille ist, bestimmt die Anweisungseinheit 202 den Inhalt, der in einer überlagerten Art und Weise anzuzeigen ist.
-
Auf der Grundlage der Differenz zwischen den ersten visuellen Informationen und den zweiten visuellen Informationen, die von der Beschaffungseinheit 201 beschafft werden, schätzt die Schätzeinheit 203 einen ersten Bereich, der die Zielobjekte 41 aufweist (eine erste Schätzung). Ferner bestimmt die Schätzeinheit 203 auf der Grundlage des ersten Bereichs eine Vielzahl von zweiten Bereichen, die in dem Zielbereich 42 beinhaltet sind und von dem ersten Bereich unterschiedlich sind (eine zweite Schätzung). Ferner führt die Schätzeinheit 203 einen Schablonenvergleich (template matching) zwischen einem Bildmerkmal, das in einem Subtraktionsbild beinhaltet ist, das unter Verwendung der ersten visuellen Informationen und der zweiten visuellen Informationen erhalten wird, und den dritten visuellen Informationen aus, um die Position zu schätzen, wo ein Zielobjekt 41 zu halten ist (eine dritte Schätzung). In der ersten Schätzung schätzt die Schätzeinheit 203 unter Verwendung des Merkmals eines Bereichs, in dem eine Änderung zwischen den ersten visuellen Informationen und den zweiten visuellen Informationen auftritt, das heißt eines Bereichs, in dem die Zielobjekte 41 durch den Benutzer platziert worden sind, einen Bereich, zu dem die Zielobjekte 41 durch die Haltevorrichtung 3 zu befördern sind. In diesem Fall schätzt die Schätzeinheit 203 einen dreidimensionalen Bereich der Zielobjekte 41. Spezifisch erhält die Schätzeinheit 203 die Differenz zwischen den Merkmalspunkten von Bildern von den ersten visuellen Informationen und den zweiten visuellen Informationen, um zweidimensionale Strukturinformationen zu beschaffen. Ferner erhält die Schätzeinheit 203 unter Verwendung des Ergebnisses einer Messung einer Entfernung Höheninformationen bezüglich des Objekts. Wenn das Objekt gehalten wird und losgelassen wird, schätzt die Schätzeinheit 203 die Position und Ausrichtung der Haltevorrichtung 3 unter Verwendung der tatsächlichen Höheninformationen.
-
In der zweiten Schätzung schätzt die Schätzeinheit 203 auf der Grundlage des Merkmals eines Subtraktionsbilds, das von den ersten visuellen Informationen und den zweiten visuellen Informationen erhalten wird, und des geometrischen Merkmals des Zielbereichs 42 einen Bereich, in dem die Zielobjekte 41 in dem Zielbereich 42 zu platzieren sind. Die ausführliche Verarbeitung wird nachstehend besch rieben.
-
In der dritten Schätzung führt die Schätzeinheit 203 einen Schablonenvergleich (template matching) zwischen den dritten visuellen Informationen, die erhalten werden, indem ein Bild des Zufuhrbereichs aufgenommen wird, und dem Merkmal des Bereichs eines Zielobjekts 41 aus, um das Zielobjekt 41 zu extrahieren. Ferner schätzt die Schätzeinheit 203 den Schwerpunkt in dem Bereich des Zielobjekts 41 als einen Kandidaten für die Position, wo das Zielobjekt 41 zu halten ist. In diesem Fall schätzt die Schätzeinheit 203 die Halteposition, indem der Typ der Haltevorrichtung 3 in Entsprechung mit dem Bereich mit dem Zielobjekts 41 gebracht wird. Beispielsweise ist in einem Fall, in dem die Haltevorrichtung 3 ein Sauggreifer ist, der Schwerpunkt des Zielobjekts 41 die Halteposition. In einem Fall, in dem die Haltevorrichtung 3 eine Hand ist, ist das Ende des Zielobjekts 41 die Halteposition. Daten dieser Entsprechungen werden im Voraus in der Informationsverarbeitungsvorrichtung 20 bereitgestellt. Eine Zielposition und Ausrichtung werden auf der Grundlage eines Bildkoordinatensystems in einem aufgenommenen Bild erhalten, wobei sie aber erhalten werden können, indem sie in ein anderes Koordinatensystem transformiert werden.
-
Auf der Grundlage von Kandidaten für Platzierungsbereiche, die von dem Bereich der Zielobjekte 41 geschätzt werden, der auf der Grundlage der ersten visuellen Informationen und der zweiten visuellen Informationen geschätzt wird, und der Haltepositionen der Zielobjekte 41, die in dem Zufuhrbereich vorhanden sind, erzeugt die Erzeugungseinheit 204 einen Steuerungswert, mit dem der Roboter 10 jedes Zielobjekt 41 zu befördern hat. Das heißt, die Erzeugungseinheit 204 erzeugt einen Steuerungswert für ein Bewegen der Schwenkvorrichtung 1 auf der Grundlage der Position und Ausrichtung der Schwenkvorrichtung 1, wenn das Zielobjekt 41 platziert wird. Der erzeugte Steuerungswert wird in die Steuerungseinrichtung 4 eingegeben. Auf der Grundlage des Steuerungswerts steuert die Steuerungseinrichtung 4 den Roboter 10. Alternativ hierzu kann eine (nicht veranschaulichte) Steuerungseinheit der Informationsverarbeitungsvorrichtung 20 den Roboter 10 steuern. Die ausführliche Verarbeitung wird nachstehend beschrieben.
-
Unter Bezugnahme auf 17 wird eine Verarbeitung, die durch die Informationsverarbeitungsvorrichtung 20 ausgeführt wird, nachstehend kurz beschrieben. Die ausführliche Verarbeitung in dem Informationsverarbeitungssystem 100 wird unter Bezugnahme auf Flussdiagramme beschrieben. In Schritt S1701 initialisiert die CPU 21 Parameter, die in der Informationsverarbeitungsvorrichtung 20 eingestellt sind. In Schritt S1702 beschafft die Beschaffungseinheit 201 erste visuelle Informationen, die erhalten werden, indem ein Bild des Zielbereichs 42 in einem Anfangszustand aufgenommen wird. In Schritt S1703 weist die Anweisungseinheit 202 den Benutzer an, einen vorbestimmten Betrieb auszuführen. In Schritt S1704 beschafft die Beschaffungseinheit 201 zweite visuelle Informationen, die erhalten werden, indem ein Bild des Zielbereichs 42 aufgenommen wird, nachdem der Benutzer den vorbestimmten Betrieb ausgeführt hat. In Schritt S1705 schätzt die Schätzeinheit 203 auf der Grundlage der ersten visuellen Informationen und der zweiten visuellen Informationen den Bereich der Zielobjekte 41 (eine erste Schätzung) ab. In Schritt S1706 schätzt die Schätzeinheit 203 auf der Grundlage der zweiten visuellen Informationen, die erhalten werden, indem ein Bild des Bereichs der Objekte 41 und des Zielbereichs 42 aufgenommen wird, die Position ab, wo das nächste Zielobjekt 41 zu platzieren ist (eine zweite Schätzung). In Schritt S1707 beschafft die Beschaffungseinheit 201 dritte visuelle Informationen, die erhalten werden, indem ein Bild des Zufuhrbereichs aufgenommen wird, in dem die Zielobjekte 41 lose geladen sind. In Schritt S1708 schätzt die Schätzeinheit 203 die Position ab, wo die Haltevorrichtung 3 ein Zielobjekt 41, das zu befördern ist, zu halten hat (eine dritte Schätzung). In Schritt S1709 erzeugt die Erzeugungseinheit 204 auf der Grundlage der Halteposition und des Platzierungsbereichs einen Steuerungswert, mit dem das Zielobjekt 41 zu bewegen ist. In Schritt S1710 bestimmt die Erzeugungseinheit 204, ob ein Zielobjekt 41 in dem Zufuhrbereich verbleibt, oder ob ein Platzierungsbereich in dem Zielbereich 42 verbleibt. Wenn ein Zielobjekt 41 oder ein Platzierungsbereich verbleibt (JA in Schritt S1710), springt die Verarbeitung zu Schritt S1704 zurück. In Schritt S1704 wird eine ähnliche Aufgabe fortgesetzt. Wenn weder ein Zielobjekt 41 noch ein Platzierungsbereich verbleibt (NEIN in Schritt S1710), endet die Verarbeitung.
-
Eine Verarbeitung, die durch das Informationsverarbeitungssystem 100 ausgeführt wird, wird ausführlich beschrieben. 4 zeigt ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch das Informationsverarbeitungssystem 100 ausgeführt wird. Die in 4 veranschaulichte Verarbeitung wird durch die CPU 21 der Informationsverarbeitungsvorrichtung 20, die in 2 veranschaulicht ist, erreicht, die ein Programm, das in dem ROM 22 oder dem externen Speicher 24 gespeichert ist, ausliest und das Programm ausführt. Teile oder die Gesamtheit der Verarbeitung in 4 können/kann jedoch durch eine dedizierte Hardware erreicht werden. Die Verarbeitung in 4 wird beispielsweise gestartet, wenn eine Bedienungsperson das Informationsverarbeitungssystem 100 startet. Der Zeitpunkt des Starts der Verarbeitung ist jedoch nicht darauf begrenzt, wann das Informationsverarbeitungssystem 100 startet.
-
Zuerst führt die CPU 21 in Schritt S1 eine Initialisierungsverarbeitung zur Initialisierung des Systems aus. Das heißt, die CPU 21 lädt ein Programm, das in dem ROM 22 oder dem externen Speicher 24 gespeichert ist, in das RAM 23, sodass das Programm ausgeführt werden kann. Ferner liest die CPU 21 Parameter der Vorrichtungen, die mit der Informationsverarbeitungsvorrichtung 20 verbunden sind, und führt die Vorrichtungen zu Anfangspositionen zurück, sodass die Vorrichtungen verwendet werden können. Spezifisch beschafft die Beschaffungseinheit 201 die Anfangsposition und Ausrichtung sowie den Blickwinkel der Abbildungsvorrichtung 2 von der Speichereinheit 200. Ferner liest die Beschaffungseinheit 201 Daten bezüglich der Größe und des Bereichs eines Halteabschnitts der Haltevorrichtung 3 aus. In einem Fall, in dem der Halteabschnitt ein Adsorptionskissen ist, sind die Daten der Haltevorrichtung 3 Daten bezüglich des Durchmessers des Kissens. Ebenso wird in Schritt S1701 in 17 eine ähnliche Verarbeitung ausgeführt.
-
Als nächstes beschafft die Beschaffungseinheit 201 in Schritt S2 die Position und Ausrichtung der Abbildungsvorrichtung 2, wenn ein Bild des Zielbereichs 42 aufgenommen wird. Die Schwenkvorrichtung 1 bewegt sich, wodurch die Abbildungsvorrichtung 2 ein Bild des Zielbereichs 42 von einer ersten Position aus aufnimmt. Alternativ hierzu beschafft die Steuerungseinrichtung 4 die erste Position. Die Position und Ausrichtung können durch ein beliebiges Verfahren bestimmt werden, solange eine Bildaufnahme des Zielbereichs 42 vorgenommen werden kann.
-
In Schritt S3 steuert die Steuerungseinrichtung 4 die Schwenkvorrichtung 1, um sich zu der ersten Position zu bewegen, wo die Abbildungsvorrichtung 2 ein Bild aufnimmt. Spezifisch bestimmt die Steuerungseinrichtung 4 einen Steuerungswert, mit dem die Schwenkvorrichtung 1 den Roboter 10 in die Position und Ausrichtung bewegt, die in Schritt S2 beschafft werden. Beispielsweise wandelt die Steuerungseinrichtung 4, um den Roboter 10 durch die Schwenkvorrichtung 1 zu der Position und Ausrichtung zu bewegen, die in Schritt S2 erzeugt werden, Positions-/Ausrichtungsinformationen entsprechend der Position, wo ein Bild des Zielbereichs 42 aufzunehmen ist, in Gelenkwinkelinformationen bezüglich der Schwenkvorrichtung 1 durch Vorwärtskinematik um. Als nächstes berechnet die Steuerungseinrichtung 4 Befehlswerte, mit denen die Betätigungseinrichtungen der Gelenke der Schwenkvorrichtung 1 sich bewegen, wobei sie die Befehlswerte in die Robotersteuerungseinrichtung eingibt. Dann arbeitet die Schwenkvorrichtung 1 auf der Grundlage der eingegebenen Befehlswerte. Die Positionsbeziehung zwischen der Abbildungsvorrichtung 2 und der Schwenkvorrichtung 1 wird im Voraus kalibriert.
-
In Schritt S4 sendet die Steuerungseinrichtung 4 einen Abbildungsbefehl zu der Informationsverarbeitungsvorrichtung 20, wobei die Informationsverarbeitungsvorrichtung 20 einen Abbildungsauslöser zu der Abbildungsvorrichtung 2 sendet. Auf der Grundlage des Abbildungsauslösers nimmt die Abbildungsvorrichtung 2 ein Bild einer Szene auf, die den Zielbereich 42 in einem Anfangszustand umfasst. Das Bild, das in dieser Verarbeitung erhalten wird, wird als „erste visuelle Informationen“ bezeichnet. In dieser Verarbeitung ist kein Zielobjekt 41 in dem Zielbereich 42 (der Anfangszustand). Alternativ hierzu kann/können ein oder mehr Zielobjekte 41 in dem Zielbereich 42 platziert sein.
-
In Schritt S5 beschafft die Beschaffungseinheit 201 die ersten visuellen Informationen, die erhalten werden, indem ein Bild des Zielbereichs 42 in dem Anfangszustand aufgenommen wird, wobei sie die ersten visuellen Informationen zu der Anweisungseinheit 202 sendet. Der „Anfangszustand“ bezieht sich auf einen Zustand, bevor der Benutzer eine Aufgabe lehrt. Auch in Schritt S1702 in 17 wird eine ähnliche Verarbeitung ausgeführt.
-
In Schritt S6 weist die Anweisungseinheit 202 durch ein vorbestimmtes Verfahren den Benutzer an, einen vorbestimmten Betrieb für ein Bewegen einer Einheit der Zielobjekte 41 von dem Zufuhrbereich zu dem Zielbereich 42 auszuführen. Die Anweisungseinheit 202 beschafft von der Beschaffungseinheit 201 die ersten visuellen Informationen, die erhalten werden, indem ein Bild des Zielbereichs 42 in dem Zustand aufgenommen wird, bevor die Zielobjekte 41 zu dem Zielbereich 42 bewegt werden. Dann weist die Anweisungseinheit 202 unter Verwendung der Anweisungsvorrichtung 5 den Benutzer an, die Zielobjekte 41 zu dem Zielbereich 42 zu bewegen. Als ein Beispiel wird ein Fall beschrieben, in dem die Aufgabe ist, die Zielobjekte 41 von einem Bereich, zu dem die Zielobjekte 41 durch ein Beförderungsband zugeführt werden, in eine Schale zu platzieren. Gemäß dem vorliegenden beispielhaften Ausführungsbeispiel ist die Einheit der Zielobjekte 41, die durch den Benutzer zu bewegen ist, ein einzelnes Zielobjekt 41. Alternativ hierzu kann eine Vielzahl von Zielobjekten 41 als eine Einheit behandelt werden. Als ein Verfahren für ein Ausgeben der Anweisung an den Benutzer wird beispielsweise Sprache, eine GUI, eine Projektion, MR, AR oder VR verwendet. In dem Fall einer Sprache gibt der Lautsprecher eine Ansage aus, die den Benutzer drängt, die Zielobjekte 41 zu dem Zielbereich 42 zu befördern. Auch in Schritt S1703 in 17 wird eine ähnliche Verarbeitung ausgeführt.
-
In dem Fall einer GUI wie in 5 gibt die GUI auf der Anzeige an, dass der Benutzer die Zielobjekte 41 zu dem Zielbereich 42 bewegen sollte. Die GUI zeigt auf der Anweisungsvorrichtung 5 eine Veranschaulichung an, die einen Pfeil darstellt, der den Benutzer drängt, die Zielobjekte 41 von dem Zufuhrbereich zu dem Zielbereich 42 zu bewegen. Alternativ hierzu werden Zeicheninformationen „Bitte bewege Objekte von Zufuhrbereich zu Zielbereich“ angezeigt. Dies ist auf einfache Weise für den Benutzer verständlich, da der Benutzer den Betrieb auf dem Bildschirm bestätigen kann. In dem Fall einer Projektion wie in 6 projiziert eine Projektionseinrichtung ein Bild der Zielobjekte auf den Zielbereich 42 oder sie projiziert Zeicheninformationen. Der Benutzer hat den Vorteil zu arbeiten, während er den echten Gegenstand betrachtet. In dem Fall von MR, AR oder VR wie in 7 wird ein Bild der Zielobjekte 41 in einer überlagerten Art und Weise auf den Zielbereich 42 in einem Echtraum oder einem virtuellen Raum unter Verwendung einer HMD oder einer AR-Brille angezeigt, oder Zeicheninformationen werden angezeigt.
-
In Schritt S7 nimmt die Abbildungsvorrichtung 2 ein Bild einer Szene auf, die den Zielbereich 42 umfasst, der eine Einheit der Zielobjekte 41 aufweist, der durch den Benutzer platziert ist. In Schritt S4 ist noch kein Zielobjekt 41 in dem Zielbereich 42 platziert, wohingegen in Schritt S7 eine Einheit der Zielobjekte 41 in dem Zielbereich 42 durch den Benutzer platziert ist. In Schritt S7 kann die Abbildungsvorrichtung 2 ein Bild der Szene aufnehmen, nachdem der Benutzer ein Bewegen der Zielobjekte 41 beendet hat. Alternativ hierzu kann die Abbildungsvorrichtung 42 eine Aufnahme eines Bilds der Szene fortsetzen, nachdem der Benutzer begonnen hat, die Zielobjekte 41 zu bewegen. Weiter alternativ kann die Abbildungsvorrichtung 2 eine Aufnahme eines Bilds der Szene fortsetzen, nachdem der Benutzer angewiesen worden ist, die Zielobjekte 41 zu bewegen. Die Abbildungsvorrichtung 2 kann eine Aufnahme eines Bilds der Szene von einem Zeitpunkt an, der zu diesen Zeitpunkten unterschiedlich ist, fortsetzen. Der Abschluss der Bewegung wird auf der Grundlage der Bedienung des Benutzers zum Eingeben eines Auslösers (ein Aussprechen von Wörtern, wie beispielsweise „OK“, oder ein Drücken einer vorbestimmten Taste) bei der Anweisungsvorrichtung 5 bestimmt. Alternativ hierzu kann das System die Bestimmung treffen (Ausführen einer Bilderkennung bezüglich der Bewegung einer Person oder eines Objekts, Verfolgen der Bewegung und Aufteilen der Bewegung durch die Zeit). Ein derartiger Bewegungsabschluss wird in das System eingegeben, wodurch es möglich ist, sicher zu arbeiten.
-
In Schritt S8 beschafft die Beschaffungseinheit 201 zweite visuelle Informationen, die erhalten werden, indem ein Bild des Zustands des Zielbereichs 42 aufgenommen wird, nachdem der Benutzer den vorbestimmten Betrieb ausgeführt hat. Beispielsweise veranschaulicht 8A den Anfangszustand, wobei 8B den Zustand veranschaulicht, in dem die Zielobjekte 41 durch den Benutzer platziert sind. Ein Bild der Szene, das als die zweiten visuellen Informationen aufgenommen wird, umfasst den Platzierungsbereich 42a, der eine Einheit der Zielobjekte 41 aufweist, die durch den Benutzer platziert ist. Die zweiten visuellen Informationen werden zu der Schätzeinheit 203 gesendet. Auch in Schritt S1704 in 17 wird eine ähnliche Verarbeitung ausgeführt.
-
In Schritt S9 schätzt die Schätzeinheit 203 auf der Grundlage der ersten visuellen Informationen, die in Schritt S5 beschafft werden, und der zweiten visuellen Informationen, die in Schritt S8 beschafft werden, einen Bereich (einen ersten Bereich) ab, der die Zielobjekte 41 aufweist, die platziert sind (erste Schätzung). In dieser Verarbeitung stimmt der erste Bereich mit der Form eines Objekts überein, die erkannt werden kann, wenn das Objekt von oben betrachtet wird. Als ein Verfahren zum Schätzen des Bereichs des Objekts wird beispielsweise eine Hintergrundsubtraktion zwischen Bildern, bevor und nachdem die Zielobjekte 41 in einem beliebigen Platzierungsbereich, der in dem Zielbereich 42 beinhaltet ist, platziert sind, das heißt den ersten visuellen Informationen und den zweiten visuellen Informationen ausgeführt. Wie in den 8A und 8B beschafft die Schätzeinheit 203, wenn die Zielobjekte 41 in dem Zielbereich 42 platziert sind und wenn die Abbildungsvorrichtung 2 ein Bild von oberhalb des Zielbereichs 42 aufnimmt, ein Subtraktionsbild wie in einem Bild 82 in 9C, bevor und nachdem die Zielobjekte 41 zu dem Zielbereich 42 befördert sind. In dieser Verarbeitung berechnet die Schätzeinheit 203 die Zielobjekte 41, indem die Differenz zwischen einem Bild 81 (den zweiten visuellen Informationen) nach der Beförderung und einem Bild 80 (den ersten visuellen Informationen) vor der Beförderung erhalten wird. Das Bild 80 ist die ersten visuellen Informationen und ist ein Bild des Zielbereichs 42, bevor Zielobjekte 41 platziert werden. Das Bild 81 ist die zweiten visuellen Informationen und ist ein Bild, das von dem Zielbereich 42 erhalten wird, der eine Einheit der Zielobjekte 41 aufweist, die durch den Benutzer platziert ist. In diesem Fall ist das Zielobjekt 41 in einem oberen linken Bereich. Das Zielobjekt 41 kann jedoch in irgendeinem der oberen linken, unteren rechten und oberen rechten Bereiche platziert sein. Das Bild 82 weist das Zielobjekt 41 auf und wird auf der Grundlage der Differenz zwischen den Bildern des Zielbereichs 42, bevor und nachdem das Zielobjekt 41 bewegt ist, erhalten. Spezifisch können Strukturinformationen bezüglich der Zielobjekte 41 unter Verwendung eines Farbbilds erhalten werden, wobei der Bereich der oberen Oberflächen der Zielobjekte 41 und Höheninformationen bezüglich der Zielobjekte 41 unter Verwendung von Entfernungsinformationen erhalten werden können. Auf der Grundlage dieser Informationsteile schätzt die Schätzeinheit 203 den Bereich der Zielobjekte 41 ab. Indem der Bereich der Zielobjekte 41 von den Bildern abgeschätzt wird, kann der Benutzer auf einfache Weise eine Konfiguration ohne Bereichsdaten beziehungsweise Flächendaten der Zielobjekte 41 ausführen. Auch in Schritt S1705 in 17 wird eine ähnliche Verarbeitung ausgeführt.
-
In Schritt S10 schätzt die Schätzeinheit 203 auf der Grundlage der zweiten visuellen Informationen, die in Schritt S8 beschafft werden, und dem Merkmal des Bereichs der Zielobjekte 41, das in Schritt S9 geschätzt wird, eine Vielzahl von zweiten Bereichen ab, die von dem ersten Bereich unterschiedlich sind und wo ein Objekt platziert werden kann (eine zweite Schätzung). Der Roboter 10 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel führt die Aufgabe zum Anordnen von Zielobjekten in einer ausgerichteten Art und Weise in dem Zielbereich aus. In dieser Aufgabe kann bei derselben Position wie der des ersten Zielobjekts, das durch den Benutzer platziert wird, kein anderes Zielobjekt platziert werden. Das heißt, das nächste Objekt muss bei einer zu der des ersten Zielobjekts unterschiedlichen Position platziert werden. Die 10A und 10B zeigen Diagramme, die die Verarbeitung zum Schätzen von Kandidaten für Platzierungspositionen von einem Bild veranschaulichen. Ein Bild 83 ist die zweiten visuellen Informationen, wobei ein schraffierter Abschnitt 90 in dem Bild 83 einen Bereich angibt, in dem ein Zielobjekt 41 platziert ist. Der schraffierte Abschnitt 90 wird unter Verwendung des Bilds 82 in 9C, das heißt des Bilds, das erhalten wird, indem die Differenz zwischen den ersten visuellen Informationen und den zweiten visuellen Informationen erhalten wird, abgeschätzt. Als nächstes wird in den ersten visuellen Informationen das Bildmerkmal des Bereichs, der dem schraffierten Abschnitt 90 entspricht, extrahiert. Das extrahierte Bildmerkmal wird einem Schablonenvergleich (template matching) mit den ersten visuellen Informationen unterzogen. Die Mittelpositionen von Bereichen, die mit dem Bildmerkmal übereinstimmen, das durch diesen Vorgang extrahiert wird, werden als Kandidaten für Platzierungsbereiche eingesetzt. Ein Bild 84 ist ein Bild, das das Schätzergebnis angibt. Die Mittelpunkte von Teilbereichen, die durch Bereiche 91 angegeben sind, werden als die Kandidaten für Platzierungsbereiche bedient. Die erhaltenen Teilbereiche werden als Bereiche geschätzt, in die Zielobjekte 41 zu platzieren sind. In diesem Fall werden die Mitten der Bereiche, die von dem Zielbereich 42 extrahiert werden, als Platzierungsbereiche geschätzt. Ferner können ebenso wie das Schablonenvergleichen (template matching), das das Bildmerkmal verwendet, die nachstehend genannten Verfahren verwendet werden. Wenn Tiefeninformationen durch eine Tiefenkamera erhalten werden können, werden Bereiche, die mit Tiefeninformationen bezüglich eines Bereichs übereinstimmen, der einem Bereich entspricht, der ein Objekt aufweist, geschätzt. Alternativ hierzu können die Kandidaten für Platzierungsbereiche durch ein Tiefenlernen geschätzt werden. Auch in Schritt S1706 in 17 wird eine ähnliche Verarbeitung ausgeführt. Als ein Verfahren für ein Schätzen von Platzierungsbereichen durch ein Tiefenlernen wird beispielsweise ein Lernen derart ausgeführt, dass ein Bild eingegeben wird und Platzierungsbereiche ausgegeben werden. 18 veranschaulicht ein eingegebenes Bild für ein Lernen und ein markiertes Bild. In einem Bild 83 in 18 sind Bereiche 42a bis 42d Platzierungsbereiche. In einem Fall, in dem ein Lernen im Voraus ausgeführt wird, weist der Benutzer dann wie in schraffierten Abschnitten 42a bis 42d in einem Bild 84 in 18 den Platzierungsbereichen Markierungen zu, die angeben, dass Zielobjekte 41 platziert werden können. Indem die Merkmale der markierten Platzierungsbereiche gelernt werden, ist es dann, wenn ein neues Bild eingegeben wird, möglich, zu unterscheiden, welcher Bereich in dem Bild ein Platzierungsbereich ist. Ein vorheriges Lernen muss dem System durch den Benutzer nicht bereitgestellt werden. Zuerst werden die Ergebnisdaten von eingegebenen Bildern und Platzierungsbereichen gesammelt, während das System durch ein Verfahren betrieben wird, dass einen Schablonenvergleich (template matching) verwendet, wie es vorstehend beschrieben ist. Dann kann, wenn ausreichende Daten gesammelt sind, ein Lernen ausgeführt werden. Als ein Verfahren für ein Abschätzen von Bereichen wird beispielsweise ein faltendes neuronales Netzwerk (convolutional neural network CNN) als ein Lernmodell verwendet. Ferner können die Daten, die für ein Lernen gesammelt werden, nicht wie sie sind verwendet werden, wobei sie einer Datenerweiterung, wie beispielsweise einer Vergrößerung oder Reduzierung, einer Gammakorrektur oder einer translatorischen oder rotatorischen Bewegung, unterzogen werden können.
-
In Schritt S11 beschafft die Beschaffungseinheit 201 die Position und Ausrichtung der Abbildungsvorrichtung 2 für ein Aufnehmen eines Bilds einer Szene, die den Zufuhrbereich umfasst, in dem die Zielobjekte 41 lose geladen sind. Die beschaffte zweite Position wird zu der Steuerungseinrichtung 4 gesendet. Die Position (und Ausrichtung) der Abbildungsvorrichtung 2 kann auf der Grundlage des Ergebnisses bestimmt werden, das in Schritt S9 unter Verwendung der visuellen Informationen bestimmt wird, die in Schritt S5 oder S8 beschafft werden, oder kann durch ein beliebiges anderes Verfahren bestimmt werden, solange ein Bild der Zielobjekte 41 aufgenommen werden kann. Ferner wählt die Schätzeinheit 203 auf der Grundlage des Bereichs der Zielobjekte 41, der in Schritt S9 geschätzt wird, und der Bereiche, in denen die Zielobjekte 41 in dem Zielbereich 42 zu platzieren sind, die in Schritt S10 geschätzt werden, die Positionen aus, in denen die Zielobjekte 41, die durch den Roboter 10 zu befördern sind, zu platzieren sind. Unter Bezugnahme auf die 11A, 11B und 11C wird die Verarbeitung gemäß Schritt S15 beschrieben. 11A veranschaulicht ein Zielbereichskoordinatensystem Σ11 des Zielbereichs 42, zu dem ein Zielobjekt 41 durch den Benutzer bewegt wird, und ein Zielobjektkoordinatensystem Σ01 des Zielobjekts 41. In diesem Fall ist der obere linke Teil des Zielbereichs 42 der Ursprung des Zielbereichskoordinatensystems Σ11 , wobei der Schwerpunkt des Zielobjekts 41 der Ursprung des Zielobjektkoordinatensystems Σ01 ist. Die Ursprünge können jedoch in beliebige Bereiche gesetzt werden. In diesem Fall wird ein Bereich 43, in den ein Zielobjekt 41 als nächstes zu platzieren ist, in Schritt S10 erhalten. Somit wird ein einzelner Abschnitt als ein nächster Platzierungsbereich 43 aus Bereichen, die kein Zielobjekt 41 aufweisen, ausgewählt. Als ein Verfahren für ein Auswählen des nächsten Platzierungsbereichs 43 stellt der Benutzer die Reihenfolge eines Auswählens des nächsten Platzierungsbereichs 43 einen nach den anderen im Voraus ein. Alternativ hierzu wird eine Regel, dass der nächste Platzierungsbereich 43 in einer Reihenfolge von oben links nach unten rechts ausgewählt wird, eingestellt. Weiter alternativ hierzu wird der nächste Platzierungsbereich 43 zufällig ausgewählt. Der nächste Platzierungsbereich 43 kann durch ein Verfahren ausgewählt werden, das zu diesen Verfahren unterschiedlich ist. Wenn der Bereich 43 ausgewählt wird, dann wird ähnlich zu der Einstellung des Zielbereichkoordinatensystems Σ11 der Ursprung des Bereichs 43 eingestellt (Σ12 und 11B). In diesem Fall ist das Zielobjekt 41 bei der gleichen Position und relativ in der gleichen Ausrichtung wie die des Zielbereichs 42 zu platzieren. Als Ergebnis wird eine Bewegung ähnlich zu einer translatorischen oder rotatorischen Bewegung von dem Zielbereichskoordinatensystem Σ11 zu dem Zielobjektkoordinatensystem Σ01 bezüglich des Zielbereichskoordinatensystems Σ12 berücksichtigt, wodurch die relative Position und Ausrichtung des Zielobjekts 41, das als nächstes durch den Roboter 10 zu befördern ist, in Bezug auf das Zielbereichskoordinatensystem Σ12 erhalten werden (Σ02 in 11C). Auf der Grundlage des vorstehend Beschriebenen werden die Position und Ausrichtung, bei der und in der das Zielobjekt 41 zu platzieren ist, erhalten. Die erhaltenen Ergebnisse werden zu der Steuerungseinrichtung 4 gesendet. Auch in Schritt S1707 in 17 wird eine ähnliche Verarbeitung ausgeführt.
-
In Schritt S12 steuert die Steuerungseinrichtung 4, um ein Bild der Szene aufzunehmen, das die Zielobjekte 41 umfasst, die lose in dem Zufuhrbereich geladen sind, die Schwenkvorrichtung 1, um zu veranlassen, dass die Abbildungsvorrichtung 2 bei der Position und in der Ausrichtung ist, die in Schritt S11 bestimmt werden. In Schritt S13 nimmt die Abbildungsvorrichtung 2 ein Bild der Zielobjekte 41, die lose in dem Zufuhrbereich geladen sind, auf. Das Bild, das in diesem Vorgang aufgenommen wird, wird als „dritte visuelle Informationen“ bezeichnet. Unter Verwendung der dritten visuellen Informationen werden Informationen bezüglich der Positionen und Ausrichtungen der verbleibenden Zielobjekte 41 erhalten. In Schritt S14 beschafft die Beschaffungseinheit 201 die dritten visuellen Informationen bezüglich der Zielobjekte 41, deren Bild durch die Abbildungsvorrichtung 2 aufgenommen wird. Die dritten visuellen Informationen werden zu der Schätzeinheit 203 gesendet.
-
In Schritt S15 schätzt die Schätzeinheit 203 die Halteposition ab, bei der die Haltevorrichtung 3 das Zielobjekt 41 (ein zweites Objekt) hält (eine dritte Schätzung). Die Schätzeinheit 203 führt einen Schablonenvergleich (template matching) zwischen einem Bildmerkmal, das in einem Subtraktionsbild zwischen den ersten visuellen Informationen und den zweiten visuellen Informationen beinhaltet ist, und den dritten visuellen Informationen aus, um die Halteposition zu schätzen, bei der das Zielobjekt 41 zu halten ist. Beispielsweise kann in einem Fall, in dem die Haltevorrichtung 3 einen Ansaugtyp-Sauggreifer umfasst, die Haltevorrichtung 3 das Zielobjekt 41 halten, indem der Schwerpunkt des Zielobjekts 41 angesaugt wird. Als ein Bestimmungsverfahren für eine Position und Ausrichtung, wenn das Zielobjekt 41 gehalten wird, können die Position und eine Ausrichtung des Zielobjekts 41 im Voraus für jedes Zielobjekt 41 eingestellt werden. Alternativ hierzu spezifiziert der Benutzer die Halteposition unter Verwendung von Sprache, einer GUI, von MR, von AR oder VR. Wenn ein Ansaugen für das Halten verwendet wird, wird ein flacher Oberflächenbereich, der angesaugt werden kann, berechnet. In dem Fall eines Haltens werden parallele Oberflächen, die gehalten werden können, erhalten. Alternativ hierzu kann die Ansaug- oder Halteposition durch ein Tiefenlernen geschätzt werden. Beispielsweise werden Informationen über die Zielobjekte 41 und Informationen über die Haltevorrichtung 3 (die die Form und die Größe des Halteabschnitts angeben) eingegeben, wobei die Halte- oder Ansaugposition unter Verwendung eines Bilds erhalten wird, das durch eine Bildaufnahme der Zielobjekte 41 erhalten wird. Spezifisch wird zuerst auf der Grundlage der Zielobjekte 41, die in Schritt S9 erhalten werden, und voreingestellte Informationen über die Haltevorrichtung 3 eine Markierung, die angibt, welche Position in einem jeweiligen Zielobjekt 41 anzusaugen oder zu halten ist, und wie das Zielobjekt 41 anzusaugen oder zu halten ist, jedem Bildelement in einem Bild des Zielobjekts 41 zugewiesen, um Lerndaten zu erzeugen. Das Verfahren für ein Zuweisen der Markierung kann manuell im Voraus durch den Benutzer ausgeführt werden, oder es kann automatisch ausgeführt werden, während das System in Betrieb ist. Ferner wird in einem Fall, bei dem das Halten eines Objekts fehlgeschlagen ist, eine Markierung, die angibt, dass das Halten des Objekts fehlgeschlagen ist, der Halteposition in dem Vorgang zugewiesen. Als ein Verfahren für ein automatisches Zuweisen der Markierung, während das System in Betrieb ist, werden jedes Mal, wenn ein Zielobjekt 41 angesogen oder gehalten wird, Informationen darüber, welcher Abschnitt des Zielobjekts 41 angesogen oder gehalten wird, und das Erfolg-/Fehlschlagergebnis als Lerndaten gesammelt, wodurch eine korrekte Ansaug- oder Halteposition markiert wird und Lerndaten erzeugt werden. Dann wird ein Lernen unter Verwendung der erzeugten Lerndaten ausgeführt, sodass die Adsorptions- oder Halteposition geschätzt wird.
-
Als ein Verfahren für ein Schätzen der Adsorptions- oder Halteposition wird beispielsweise ein CNN als ein Lernmodell verwendet. Ein Lernen unter Verwendung eines Bilds wird bei dem Schätzen der Halteposition angewendet, wodurch es möglich ist, eine Aufgabe effektiver einzustellen. Die Ansaug- oder Halteposition kann jedoch durch ein Verfahren geschätzt werden, das zu den vorstehend beschriebenen Verfahren unterschiedlich ist.
-
In Schritt S16 erzeugt die Erzeugungseinheit 204 einen Steuerungswert für die Schwenkvorrichtung 1, mit dem ein Objekt aus den Zielobjekten 41 in den Zufuhrbereich zu einem beliebigen der zweiten Bereiche befördert wird, wo eine Einheit der Zielobjekte 41 platziert werden kann. Spezifisch erzeugt die Erzeugungseinheit 204 auf der Grundlage der Halteposition, die in Schritt S15 geschätzt wird, und der Bereiche, wo die Zielobjekte 41 zu platzieren sind, die in Schritt S10 abgeschätzt werden, einen Steuerungswert, mit dem die verbleibenden Objekte befördert werden. Der Steuerungswert wird derart erzeugt, dass die Zielobjekte 41 nicht zu einem Bereich befördert werden, der bereits ein Zielobjekt 41 aufweist.
-
In diesem Vorgang ist es bezüglich des Steuerungswerts, der in Schritt
S16 erzeugt wird, erforderlich, die Platzierungsbereiche, die in Schritt
S10 geschätzt werden, und die Halteposition, die in Schritt
S15 geschätzt wird, auf ein Roboterkoordinatensystem zu transformieren, um die Schwenkvorrichtung
1 zu steuern. Die
12 und
13 zeigen Diagramme, die die Beziehungen zwischen Koordinatensystemen veranschaulichen. Ein Koordinatensystem
Σc der Abbildungsvorrichtung
2, ein Koordinatensystem
Σr der Schwenkvorrichtung
1, ein Endekoordinatensystem
Σt der Schwenkvorrichtung
1, ein Koordinatensystem
Σf der Haltevorrichtung
3, ein Koordinatensystem
Σo eines Zeitpunkts, wenn ein Zielobjekt
41 gehalten wird, ein Koordinatensystem
Σο eines Zeitpunkts, wenn das Zielobjekt
41 platziert wird, und ein Koordinatensystem
Σl des Zielbereichs
42 werden in einer vereinheitlichten Art und Weise behandelt. Wie es in
12 veranschaulicht ist, wird ein Weltkoordinatensystem
Σw als ein Referenzkoordinatensystem in einem Arbeitsraum eingestellt. Zuerst ist ein Versatz von dem Weltkoordinatensystem
Σw zu dem Schwenkvorrichtungskoordinatensystem
Σr (RX, RY, RZ). Ferner ist eine 3 x 3 - Drehmatrix, die die Ausrichtung der Schwenkvorrichtung
1 darstellt, TM. Ein Versatz von dem Schwenkvorrichtungskoordinatensystem
Σr zu dem Schwenkvorrichtungsendkoordinatensystem
Σt ist (TX, TY, TZ). Ferner ist eine 3 x 3 - Drehmatrix, die die Ausrichtung des Endes der Schwenkvorrichtung
1 darstellt, TM. Ferner ist ein Versatz von dem Schwenkvorrichtungsendekoordinatensystem
Σt zu dem Koordinatensystem
Σf der Haltevorrichtung
3 (FX, FY, FZ). Ferner ist eine 3 x 3 - Drehmatrix, die die Ausrichtung des Endes der Haltevorrichtung
3 darstellt, FM. „Das Ende der Haltevorrichtung 3“ bezieht sich auf einen Abschnitt, wo die Haltevorrichtung
3 in Kontakt mit dem Zielobjekt
41 kommt. Ein Versatz von dem Schwenkvorrichtungsendekoordinatensystem
Σt zu dem Abbildungsvorrichtungskoordinatensystem
Σc ist (CX, CY, CZ). Ferner ist eine 3 x 3 - Drehmatrix, die die Ausrichtung der Abbildungsvorrichtung
2 darstellt, CM. Ferner ist ein Versatz von dem Abbildungsvorrichtungskoordinatensystem
Σc zu dem Zielobjektkoordinatensystem Σ
0 des Zielobjekts
41 (OX, OY, OZ). Ferner ist eine 3 x 3 - Drehmatrix, die die Ausrichtung des Zielobjekts
41 darstellt, OM. In diesem Fall ist der Versatz des Zielobjekts
41, das von dem Weltkoordinatensystem
Σw betrachtet wird, (WX, WY, WZ), wobei eine 3 x3 - Drehmatrix, die die Ausrichtung des Zielobjekts
41 darstellt, WM ist. In diesem Fall ist, wenn die Haltevorrichtung
3, die an dem Ende der Schwenkvorrichtung
1 angebracht ist, in Kontakt mit dem Zielobjekt
41 ist, der Versatz von dem Schwenkvorrichtungskoordinatensystem
Σr zu dem Schwenkvorrichtungsendekoordinatensystem
Σt (TX1, TY1, TZ1). Wenn eine 3 x 3 - Drehmatrix, die die Ausrichtung des Endes der Schwenkvorrichtung
1 darstellt, TM1 ist, gilt die nachstehend genannte mathematische Gleichung (1).
-
Ferner ist, wenn die Abbildungsvorrichtung
2 ein Bild des Zielobjekts
41 aufnimmt, der Versatz von dem Schwenkvorrichtungskoordinatensystem
Σr zu dem Schwenkvorrichtungsendekoordinatensystem
Σt (TX2, TY2, TZ2). Wenn eine 3 x 3 - Drehmatrix, die die Ausrichtung des Endes der Schwenkvorrichtung
1 darstellt, TM2 ist, gilt die nachstehend genannte mathematische Gleichung (2).
Da die mathematischen Gleichungen (1) und (2) die Position und Ausrichtung des Zielobjekts
41 in dem Weltkoordinatensystem Σ
w darstellen, gilt eine mathematische Gleichung (3).
-
Wenn die Position und Ausrichtung der Schwenkvorrichtung 1, wenn ein Bild aufgenommen wird, die Positions-/Ausrichtungsbeziehungen zwischen dem Schwenkvorrichtungsendekoordinatensystem Σt und dem Abbildungsvorrichtungskoordinatensystem Zc , die Positions-/ Ausrichtungsbeziehungen zwischen dem Abbildungsvorrichtungskoordinatensystem Zc und dem Zielobjekt 41 sowie die Positions-/Ausrichtungsbeziehungen zwischen dem Schwenkvorrichtungsendekoordinatensystem Σt und der Haltevorrichtung 3 bekannt sind, werden die Position und Ausrichtung der Schwenkvorrichtung 1, wenn das Zielobjekt 41 gehalten wird, durch die mathematische Gleichung (3) erhalten. Somit können die Position und Ausrichtung der Schwenkvorrichtung 1 zu einem Zeitpunkt, wenn die Schwenkvorrichtung 1 das Zielobjekt 41 hält, von einem Bild erhalten werden, das durch die Abbildungsvorrichtung 2 erhalten wird, die ein Bild des Zielobjekts 41 aufnimmt. Ein Beispiel eines Verfahrens zum Erhalten eines jeweiligen Versatzes und einer jeweiligen Drehmatrix ist beschrieben. (RX, RY, RZ) und RM werden auf der Grundlage der Positionsbeziehung von dem Weltkoordinatensystem Σw , das eingestellt wird, wenn die Schwenkvorrichtung 1 eingebaut wird, erhalten. (TX, TY, TZ) und TM werden auf der Grundlage von Gelenkwinkelinformationen bezüglich der Schwenkvorrichtung 1 durch eine Vorwärtskinematik erhalten. (FX, FY, FZ) und FM werden auf der Grundlage der Abmessungen der Haltevorrichtung 3 erhalten. (CX, CY, CZ) und CM werden auf der Grundlage der Abmessungen der Abbildungsvorrichtung 2 erhalten. Alternativ hierzu können (CX, CY, CZ) und CM von den relativen Positions-/Ausrichtungsbeziehungen zwischen der Abbildungsvorrichtung 2 und der Schwenkvorrichtung 1 durch Kalibrierung erhalten werden. Beispielsweise können (CX, CY, CZ) und CM unter Verwendung der relativen Positionsbeziehung zwischen der Abbildungsvorrichtung 2 und der Schwenkvorrichtung 1 erhalten werden. Die relative Positionsbeziehung wird erhalten, indem ein Bild einer bekannten zweidimensionalen Markierung in jedem der Zustände, in denen die Schwenkvorrichtung 1 bei einer Vielzahl von unterschiedlichen Positionen und in einer Vielzahl von unterschiedlichen Ausrichtungen ist, unter Verwendung der Abbildungsvorrichtung 2 aufgenommen wird. (OX, OY, OZ) und OM werden erhalten, indem ein Bild des Zielobjekts 41 unter Verwendung der Abbildungsvorrichtung 2 aufgenommen wird. In diesem Fall werden das Weltkoordinatensystem Σw und das Koordinatensystem Σr der Schwenkvorrichtung 1 getrennt berücksichtigt, wobei sie aber als ein Koordinatensystem betrachtet werden können.
-
Ferner ist eine Beschreibung der Beziehungen zwischen den Koordinatensystemen angegeben worden, wenn das Zielobjekt 41 gehalten wird. Das Gleiche trifft auf den Vorgang zu, in dem das Zielobjekt 41 platziert wird. In Schritt S10 werden Platzierungsbereiche bestimmt, und in Schritt S15 wird die Beziehung zwischen den Koordinatensystemen Ll und Σ0' erhalten. Somit wird das Zielobjektkoordinatensystem Σ0 ersetzt, indem eine Transformation von dem Koordinatensystem Σl zu dem Koordinatensystem L0' berücksichtigt wird, wodurch es ebenso möglich ist, auf ähnliche Weise Koordinatensysteme herzuleiten, die zu verwenden sind, wenn das Zielobjekt 41 platziert wird. Somit ist es möglich, die Schwenkvorrichtung 1 zu steuern. In Schritt S17 steuert die Steuerungseinrichtung 4 entsprechend dem Steuerungswert, der in Schritt S16 erzeugt wird, die Haltevorrichtung 3 und die Schwenkvorrichtung 1 für ein Befördern des Zielobjekts 41 von dem Zufuhrbereich zu irgendeinem Platzierungsbereich, der in dem Zielbereich 42 beinhaltet ist. Zuerst steuert die Steuerungseinrichtung 4 die Haltevorrichtung 3 für ein Halten des Zielobjekts 41.
-
Auf der Grundlage der Halteposition und der Ausrichtungsinformationen, die in Schritt S17 erhalten werden, bewegt sich die Schwenkvorrichtung 1 zu der Halteposition und Ausrichtung, wobei die Haltevorrichtung 3 das Zielobjekt 41 hält. Als nächstes steuert die Steuerungseinrichtung 4 die Schwenkvorrichtung 1, um den Betrieb zum Befördern und Platzieren des Zielobjekts 41 auszuführen. Die Durchgangspunkte der Beförderung können im Voraus derart eingestellt werden, dass der Roboterarm so wenig unnötige Bewegungen wie möglich macht. Dann bewegt sich die Schwenkvorrichtung 1 auf der Grundlage des Steuerungswerts, der in Schritt S16 bestimmt wird, zu einem Bereich, wo das Zielobjekt 41 zu platzieren ist. Dann platziert die Schwenkvorrichtung 1 das Zielobjekt 41 in dem Zielbereich 42.
-
In Schritt S18 bestimmt die Erzeugungseinheit 204, ob es ein Zielobjekt 41, das als nächstes zu befördern ist, oder einen zweiten Bereich in dem Zielbereich 42, wo das Zielobjekt 41 platziert werden kann, gibt. Dann stoppt die CPU 21, wenn das Zielobjekt 41 oder ein zweiter Bereich in dem Zielbereich 42 nicht vorhanden ist (NEIN in Schritt S18), eine Erzeugung des Steuerungswerts, wobei sie bestimmt, dass die Verarbeitung zu beenden ist. Dann endet die in 4 veranschaulichte Verarbeitung. Wenn das Zielobjekt 41 oder ein zweiter Bereich in dem Zielbereich 42 vorhanden ist (JA in Schritt S18), bestimmt die CPU 21, dass die Verarbeitung fortzusetzen ist. Dann springt die Verarbeitung zu Schritt S10 zurück. Als das Bestimmungsverfahren kann beispielsweise das Vorhandensein oder Fehlen eines Zielobjekts 41 auf der Grundlage des Bilds der Zielobjekte 41, das in Schritt S14 beschafft wird, bestimmt werden, wobei das Vorhandensein oder Fehlen eines zweiten Bereichs in dem Zielbereich 42 auf der Grundlage des Bilds, das in Schritt S8 beschafft wird, und der Anzahl von Malen eines Haltens, Beförderns und Platzierens in Schritt S18 bestimmt werden kann. Alternativ hierzu wird die Anzahl von Malen einer Verarbeitung im Voraus eingestellt, wobei die Bestimmung auf der Grundlage davon getroffen wird, ob die eingestellte Anzahl von Malen erreicht ist. Weiter alternativ wird ein Sensor in den Zufuhrbereich der Zielobjekte 41 platziert, wobei die Bestimmung auf der Grundlage von Sensorinformationen von dem Sensor getroffen wird. Die Sensorinformationen können wie nachstehend beschrieben erhalten werden. Beispielsweise kann ein Gewichtssensor in dem Zufuhrbereich bereitgestellt werden, wobei das Gewicht des Zufuhrbereichs gemessen werden kann, um die Anzahl von verbleibenden Zielobjekten 41 durch ein Wiegen zu messen. Alternativ hierzu nimmt die Abbildungsvorrichtung 2 ein Bild des Zufuhrbereichs der Zielobjekte 41 auf, wobei die Bestimmung auf der Grundlage von Bildinformationen bezüglich der erhaltenen Bilder getroffen wird. Die Bestimmung kann durch ein Verfahren getroffen werden, das zu den vorstehend beschriebenen Verfahren unterschiedlich ist.
-
Das Informationsverarbeitungssystem 100 muss jedoch nicht alle Schritte, die in diesem Flussdiagramm beschrieben sind, ausführen. Beispielsweise ist es in einem Fall, in dem die Abbildungsvorrichtung 2 eine fixierte Kamera ist, nicht erforderlich, die Bildaufnahmeposition zu bestimmen. Somit kann die Verarbeitung gemäß Schritt S2 oder S11 ausgelassen werden. Ferner ist gemäß dem vorliegenden beispielhaften Ausführungsbeispiel eine Beschreibung eines Beispiels angegeben worden, in dem eine Betriebsart, in der die Aufgabe gelehrt wird, wenn der Roboter 10 wartet (eine Einstellungsbetriebsart), und eine Betriebsart, in der die Aufgabe ausgeführt wird, wenn der Roboter 10 in Betrieb ist (eine Arbeitsbetriebsart), beide in einem einzelnen Flussdiagramm beinhaltet sind. Der Grund hierfür ist, dass in einem Fall, in dem der Roboter 10 ein kollaborierender Roboter ist, was in den letzten Jahren anwächst, der keinen Sicherheitszaun erfordert, es angenommen werden kann, dass eine Person den Arbeitsbereich betritt und den Roboter 10 anweist, einen Betrieb auszuführen, während der Roboter 1 in Betrieb ist. Die Einstellungsbetriebsart und die Arbeitsbetriebsart können jedoch nicht durch ein einzelnes Flussdiagramm erreicht werden, wobei sie in unterschiedlichen Flussdiagrammen eindeutig getrennt und ausgeführt werden können.
-
In einem Fall, in dem die visuellen Informationen ein sich bewegendes Bild sind, ist es erforderlich, Modelldaten für den Betrieb zu schätzen. In diesem Fall ist ein Beispiel der Verfahren für ein Schätzen der Daten, die das sich bewegende Bild verwenden, ein Verfahren für ein Erkennen der Hand des Benutzers. Spezifisch wird, wenn die Hand des Benutzers in dem sich bewegenden Bild erscheint, ein Bild als die ersten visuellen Informationen extrahiert. Dann wird, wenn die Hand des Benutzers aus dem sich bewegenden Bild verschwindet, ein Bild als die zweiten visuellen Informationen extrahiert. Alternativ hierzu kann unter Verwendung eines sich bewegenden Bilds zwischen den ersten visuellen Informationen und den zweiten visuellen Informationen der Roboter 10 veranlasst werden, ein Beförderungsverfahren zu lernen. Als ein anderes Verfahren gibt der Benutzer den Beginn und das Ende eines Aufgabelernbetriebs durch eine Benutzerschnittstelle (UI) ein. Beispielsweise gibt der Benutzer unter Verwendung einer Taste oder einer GUI eine Anweisung ein, den Aufgabelernbetrieb zu starten oder zu beenden. Alternativ hierzu spricht der Benutzer unter Verwendung eines Spracherkennungswerkzeugs Worte aus, die den Beginn und das Ende des Aufgabelernbetriebs angeben.
-
Ferner können die ersten visuellen Informationen und die zweiten visuellen Informationen durch ein anderes Verfahren beschafft werden. Beispielsweise bereitet der Benutzer im Voraus den Zustand vor, in dem ein einzelnes Zielobjekt 41 in dem Zielbereich 42 ist, wobei er dann das Zielobjekt 41 entfernt. In diesem Fall wird der Anfangszustand, in dem das einzelne Zielobjekt 41 in dem Zielbereich 42 ist, als die zweiten visuellen Informationen eingestellt, wobei ein Bild, das erhalten wird, indem ein Bild des leeren Zielbereichs 42 aufgenommen wird, nachdem ein Aufgabelernbetrieb ausgeführt worden ist, als die ersten visuellen Informationen eingestellt wird, wodurch es möglich ist, dem Roboter den Anordnungsbetrieb der Zielobjekte 41 in dem Zielbereich 42 zu lehren. Ferner ist es ebenso möglich, ein einzelnes Muster, das nicht eine Einheit der Zielobjekte 41, sondern eine Vielzahl von Zielobjekten 41 verwendet, vorzubereiten und dem Roboter die Aufgabe zum Anordnen der Zielobjekte 41 entsprechend dem Muster zu lehren.
-
Die Schätzeinheit 203 kann eine Schätzung unter Verwendung eines vortrainierten Modells ausführen. Beispielsweise kann die Schätzeinheit 203 ein vortrainiertes Modell verwenden, dem die ersten visuellen Informationen und die zweiten visuellen Informationen eingegeben werden, um Ausgaben von Kandidaten für Platzierungsbereiche von Objekten zu erhalten.
-
In Schritt S9 ist eine Beschreibung des Vorgangs zum Erhalten des dreidimensionalen Bereichs der Zielobjekte 41 angegeben worden. Alternativ hierzu können Höheninformationen bezüglich des dreidimensionalen Bereichs im Voraus erhalten werden und in der Speichereinheit 200 gespeichert werden. Die Höheninformationen sind Informationen, die hauptsächlich verwendet werden, um ein Objekt in dem Zufuhrbereich zu halten, und verwendet werden, um das Objekt in einem Platzierungsbereich in dem Zielbereich 42 zu platzieren. In einem Fall, in dem die Höheninformationen bezüglich der Zielobjekte 41 bekannt sind, schätzt die Schätzeinheit 203 die Höheninformationen nicht unter Verwendung der Entfernungsinformationen in Schritt S9.
-
In Schritt S10 können die Platzierungsbereiche der Zielobjekte 41 entsprechend einer vorbestimmten Regel identifiziert werden. Beispielsweise ist es wünschenswert, dass die Richtungen der Zielobjekte 41 zu der Oben-Unten-Richtung des Zielbereichs 42 justiert werden, wenn die Zielobjekte 41 platziert werden. Ferner können in einem Fall, in dem die Zielobjekte 41 Vorne-Hinten-Richtungen aufweisen, die Platzierungsbereiche in einer derartigen Art und Weise bestimmt werden, dass die Vorne-Hinten-Richtungen der Zielobjekte 41 ausgerichtet sind. Ferner werden in einem Fall, in dem Zeichen auf jedem Zielobjekt 41 gedruckt sind, die Platzierungsbereiche in einer derartigen Art und Weise bestimmt, dass die Zeichen auf platzierten Objekten 41 in der gleichen Richtung gelesen werden können. Ferner kann das geeignetere Platzierungsverfahren für die Schwenkvorrichtung 1 einen Fehler in der Beförderungsaufgabe verringern. Durch eine derartige Verarbeitung ist es, auch wenn Komponenten in einer Fabrik verpackt werden, möglich, Roboter durch einen Betrieb beziehungsweise eine Bedienung eines Benutzers ohne Hilfe von einem Spezialisten auf einfache Weise zu konfigurieren.
-
In Schritt S15 kann die Halteposition des Zielobjekts 41 entsprechend einer vorbestimmten Regel identifiziert werden. Beispielsweise ist es wünschenswert, dass die Richtung des Zielobjekts 41 auf die Oben-Unten-Richtung eines Haltebereichs justiert wird, wenn die Zielobjekte 41 platziert werden. Ferner kann in einem Fall, in dem die Zielobjekte 41 Vorne-Hinten-Richtungen aufweisen, die Halteposition in einer derartigen Art und Weise bestimmt werden, dass die Vorne-Hinten-Richtungen des Zielobjekts 41 ausgerichtet sind. Ferner wird in einem Fall, in dem Zeichen auf jedem Zielobjekt 41 gedruckt sind, die Halteposition in einer derartigen Art und Weise bestimmt, dass die Zeichen auf dem Zielobjekt 41 gelesen werden können. Ferner kann das Platzierungsverfahren, das für die Schwenkvorrichtung 1 geeignet ist, einen Fehler in der Beförderungsaufgabe verringern. Durch eine derartige Verarbeitung ist es, wenn Komponenten in einer Fabrik verpackt werden, möglich, Roboter durch einen Betrieb beziehungsweise eine Bedienung eines Benutzers ohne Hilfe von einem Spezialisten auf einfache Weise zu konfigurieren.
-
Wie es vorstehend beschrieben ist, ist es möglich, einem Roboter die Aufgabe zum Platzieren von Zielobjekten nebeneinander auf effektive Weise zu lehren.
-
Als nächstes wird ein zweites beispielhaftes Ausführungsbeispiel der vorliegenden Offenbarung beschrieben.
-
In dem zweiten beispielhaften Ausführungsbeispiel wird, bevor der Roboter 10 die Zielobjekte 41 befördert, eine Simulation des Betriebs des Roboters 10 dem Benutzer angegeben, ohne den Roboter 10 tatsächlich zu bewegen. Nachdem eine Bestätigung von dem Benutzer im Voraus empfangen worden ist, bewegt sich der Roboter 10. Der Vorgang, in dem der Roboter 10 die Zielobjekte 41 von dem Zufuhrbereich zu dem Zielbereich 42 befördert, wird ebenso zurückgeführt. Dies ist beispielsweise in einem Fall effektiv, in dem der Benutzer bestätigen möchte, ob der Roboter 10 einen Aufgabenbetrieb wie durch den Benutzer gewünscht ausführen kann. Ferner ist dies in einem Fall effektiv, in dem der Benutzer einen Fehler so weit wie möglich verringern möchte, wenn Zielobjekte insbesondere teuer sind. Entsprechend dem vorliegenden beispielhaften Ausführungsbeispiel bezieht sich ein „Laufzeitbetrieb“ auf einen Betrieb, der durch den Roboter 10 automatisch auszuführen ist. Spezifisch bezieht sich der „Laufzeitbetrieb“ auf einen Betrieb, in dem der Roboter 10 eine Arbeit automatisch ausführt, nachdem der Benutzer den Betrieb zum Bewegen einer Einheit des Zielobjekts 41 beendet hat. Im Gegensatz dazu bezieht sich ein „Aufgabelehren“ auf die Ausführung einer Aufgabe, die der Benutzer dem Roboter 10 lehren möchte.
-
Entsprechend dem zweiten beispielhaften Ausführungsbeispiel erhält ähnlich zu dem ersten beispielhaften Ausführungsbeispiel die Abbildungsvorrichtung 2 zuerst, bevor die Zielobjekte 41 zu dem Zielbereich 42 bewegt werden, ein Bild oder ein sich bewegendes Bild durch eine Bildaufnahme des Zielbereichs 42. Als nächstes wird der Benutzer angewiesen, die Zielobjekte 41 zu Platzierungsbereichen zu bewegen. Nachdem die Zielobjekte 41 zu dem Zielbereich 42 bewegt worden sind, erhält die Abbildungsvorrichtung 2 ein Bild durch eine Bildaufnahme des Zielbereichs 42. Dann wird auf der Grundlage der Bilder, die vor und nach der Bewegung der Zielobjekte 41 erhalten werden, ein Steuerungswert, mit dem ein nächstes Zielobjekt 41 zu dem Zielbereich 42 bewegt wird, erzeugt. In diesem Vorgang wird anders als in dem ersten beispielhaften Ausführungsbeispiel in einem Laufzeitbetrieb, der zum ersten Mal auszuführen ist, bevor der Roboter 10 in Betrieb ist und die Zielobjekte 41 befördert, eine Simulation des Betriebs des Roboters 10, der auf der Grundlage des Steuerungswerts auszuführen ist, dem Benutzer angegeben. Dann wird durch den Benutzer bestimmt, ob der Betrieb des Roboters 10, der in der Simulation ausgeführt wird, geeignet ist. Wenn die Bestimmung, dass der Betrieb nicht geeignet ist, erhalten wird, wird der Benutzer angewiesen, ferner eine weitere Einheit der Zielobjekte 41 zu dem Zielbereich 42 zu bewegen. Wenn die Bestimmung, dass der Laufzeitbetrieb des Roboters 10 geeignet ist, erhalten wird, arbeitet der Roboter 10 langsamer als normal. Auf diese Weise ist es, bevor der Roboter 10 arbeitet, möglich, im Voraus eine Bestätigung des Betriebs des Roboters 10 und der Platzierungsbereiche zu machen, nachdem die Zielobjekte 41 bewegt worden sind. Dies resultiert in einer Verringerung der nochmaligen Ausführung eines Betriebs und in einer Verbesserung der Betriebseffektivität.
-
14 zeigt ein Blockschaltbild, das Beispiele der funktionalen Konfigurationen eines Informationsverarbeitungssystems 110 und einer Informationsverarbeitungsvorrichtung 30 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel veranschaulicht. Das Informationsverarbeitungssystem 110 und die Informationsverarbeitungsvorrichtung 30, die in 14 veranschaulicht sind, unterscheiden sich von dem Informationsverarbeitungssystem 100 und der Informationsverarbeitungsvorrichtung 20, die in 3 veranschaulicht sind, darin, dass eine Bestätigungsvorrichtung 7 und eine Bestimmungseinheit 205 hinzugefügt sind, und auch in der Verarbeitung einer Anweisungseinheit 212 und der Verarbeitung einer Schätzeinheit 213. Die Unterschiede zu dem ersten beispielhaften Ausführungsbeispiel werden nachstehend beschrieben.
-
Die Bestätigungsvorrichtung 7 gibt dem Benutzer eine Simulation auf der Grundlage eines Steuerungswerts an, mit dem der Roboter 10 die Zielobjekte 41 zu dem Zielbereich 42 befördert. Dann empfängt die Bestätigungsvorrichtung 7 von dem Benutzer das Bestimmungsergebnis dahingehend, ob der Betrieb des Roboters 10, das heißt der Steuerungswert, geeignet ist. Beispielsweise ist die Bestätigungsvorrichtung 7 nahe dem Roboter 10 angebracht. Alternativ hierzu kann die Bestätigungsvorrichtung 7 mit der Anweisungsvorrichtung 5 integriert sein, oder die Bestätigungsvorrichtung 7 kann erreicht werden, indem die Anweisungsvorrichtung 5 und die Abbildungsvorrichtung 2 verwendet werden. Die Bestätigungsvorrichtung 7 umfasst beispielsweise ein Mikrophon. Nachdem der Benutzer den simulierten Betrieb des Roboters 10 für ein Bewegen der Zielobjekte 41 zu dem Zielbereich 42, das durch die Anweisungsvorrichtung 5 angegeben wird, bestätigt hat, nimmt die Bestätigungsvorrichtung 7 eine durch den Benutzer ausgesprochene Sprache auf, um das Bestimmungsergebnis zu empfangen. Alternativ hierzu umfasst die Bestätigungsvorrichtung 7 eine Anzeige, die integral mit der Anweisungsvorrichtung 5 nahe dem Roboter 10 angebracht ist, oder ein tragbares Tablet-Endgerät. In diesem Fall empfängt die Bestätigungsvorrichtung 7, nachdem der Benutzer den Betrieb des Roboters 10 für ein Bewegen der Ziel 41 zu dem Zielbereich 42, das durch eine GUI angegeben wird, bestätigt hat, das Bestimmungsergebnis über die GUI auf einem Berührungsfeld. Weiter alternativ ist die Bestätigungsvorrichtung 7 aus einer Kamera aufgebaut. Nachdem der Benutzer den simulierten Betrieb des Roboters für ein Bewegen der Zielobjekte 41 zu einem Zielzustand, der durch eine Projektionseinrichtung, ein HMD oder eine AR-Brille angegeben wird, empfängt die Bestätigungsvorrichtung 7 das Bestimmungsergebnis auf der Grundlage einer Gestik des Benutzers. Weiter alternativ kann ein Verfahren, das zu diesem Verfahren unterschiedlich ist, verwendet werden, solange das Verfahren das Bestimmungsergebnis des Benutzers empfangen kann.
-
Auf der Grundlage eines Bilds, das von einer Beschaffungseinheit 211 beschafft wird, weist die Anweisungseinheit 212 den Benutzer an, einen vorbestimmten Betrieb auszuführen. Spezifisch sendet die Anweisungseinheit 212, wenn die Anweisungseinheit 212 ein Bild des Zufuhrbereichs oder des Zielbereichs 42 empfängt, dann, um den Benutzer anzuweisen, die Zielobjekte 41 zu dem Zielbereich 42 zu bewegen, einen Anweisungsauslöser zu der Anweisungsvorrichtung 5. Ferner sendet die Anweisungseinheit 212, wenn der Benutzer bestimmt, dass eine Simulation des Roboters 10 nicht geeignet ist, dann auf der Grundlage eines Befehls von der Schätzeinheit 213 einen Anweisungsauslöser zu der Anweisungsvorrichtung 5.
-
Auf der Grundlage von visuellen Informationen, die von der Beschaffungseinheit 211 beschafft werden, schätzt die Schätzeinheit 213 Bereiche, zu denen die Zielobjekte 41 durch die Haltevorrichtung 3 zu befördern sind. Ferner schätzt die Schätzeinheit 213 auf der Grundlage der visuellen Informationen und der geschätzten Bereiche der Zielobjekte 41 die Positionen, wo die Zielobjekte 41 zu platzieren sind, unter Verwendung des Bildmerkmals eines Bereichs, der ein Objekt in dem Zielbereich 42 aufweist. Beispielsweise sendet die Schätzeinheit 213 einen Steuerungswert zu der Steuerungseinrichtung 4, um dem Benutzer den Betrieb des Roboters 10 für ein Bewegen eines bestimmten Zielobjekts 41 zu irgendeinem Platzierungsbereich, der in dem Zielbereich 42 beinhaltet ist, anzugeben. Bevor die Schwenkvorrichtung 1 gesteuert wird, sendet die Steuerungseinrichtung 4 die Betriebsinformationen für eine Ausführung einer Simulation zu der Bestimmungseinheit 205. Wenn es eine Vielzahl von Kandidaten für Betriebsinformationen gibt, und wenn der Roboter 10 tatsächlich in Betrieb ist, werden Betriebsinformationen mit der höchsten Wahrscheinlichkeit, dass das Zielobjekt 41 zu dem Zielbereich 42 bewegt wird, ausgeführt. Alternativ hierzu kann die Schätzeinheit 213 eine Vielzahl von Kandidaten für Betriebsinformationen zu der Bestimmungseinheit 205 senden. In diesem Fall wird Betriebsinformationen mit einer hohen Erfolgswahrscheinlichkeit für eine Aufgabe eine Priorität gegeben, wodurch die Bestimmungseinheit 205 den Benutzer in die Lage versetzt, Betriebsinformationen in einer absteigenden Wahrscheinlichkeitsreihenfolge zu bestätigen.
-
Ferner beschafft die Beschaffungseinheit 211, nachdem die Steuerungseinrichtung 4 Betriebsinformationen für eine Ausführung einer Simulation zu der Bestimmungseinheit 205 gesendet hat, von der Bestimmungseinheit 205 das Ergebnis der Bestimmung durch den Benutzer dahingehend, ob der Betrieb geeignet ist. Die Betriebsinformationen sind Informationen über den Betrieb des Roboters 10 für eine Ausführung einer Steuerung bei einer Bewegung eines Zielobjekts 41 zu dem Zielbereich 42 und umfassen Informationen bezüglich physikalischer Änderungen, wie beispielsweise der Bewegungsbahnen und der Geschwindigkeiten, auf denen und mit denen die Schwenkvorrichtung 1 und die Haltevorrichtung 3 zu bewegen sind. Wenn die Bestimmung, dass der Betrieb nicht geeignet ist, erhalten wird, sendet die Beschaffungseinheit 211 daraufhin, um den Benutzer anzuweisen, ferner ein Zielobjekt 41 oder mehrere Zielobjekte 41 zu dem Zielbereich 42 zu bewegen, einen Befehl an die Anweisungseinheit 212. Wenn die Bestimmung, dass der Betrieb geeignet ist, erhalten wird, wird der Roboter 10 in einer derartigen Art und Weise gesteuert, dass der Betrieb langsamer als normal ausgeführt wird.
-
Wenn eine Simulation eines vorbestimmten Betriebs auf der Grundlage von Betriebsinformationen bezüglich des Roboters 10 ausgeführt wird, empfängt die Bestimmungseinheit 205 von dem Benutzer das Bestimmungsergebnis dahingehend, ob die Simulation, die auf der Grundlage eines Steuerungswerts ausgeführt wird, geeignet ist. Der Inhalt der Simulation, die dem Benutzer angegeben wird, stellt Informationen über den Fortschritt des Betriebs dar, bis eine Bewegung abgeschlossen ist, wie beispielsweise welche Bewegungsbahn der Roboter 10 zu nehmen hat, wenn ein Zielobjekt 41 bewegt wird, oder Informationen über einen Bewegungsabschlusszustand dar, wie beispielsweise, bei welcher Position und in welcher Ausrichtung das Zielobjekt 41 zu platzieren ist. Wenn Informationen für eine Ausführung der Simulation des Roboters 10 von der Steuerungseinrichtung 4 empfangen werden, gibt die Bestimmungseinheit 205 die Informationen dem Benutzer an. Dann sendet die Bestimmungseinheit 205 einen Bestätigungsauslöser zu der Bestätigungsvorrichtung 7, um das Bestimmungsergebnis zu erhalten. Wenn jedoch die Anweisungsvorrichtung 5 verwendet wird, um dem Benutzer Betriebsinformationen anzugeben, sendet die Bestimmungseinheit 205 einen Bestätigungsauslöser zu der Anweisungsvorrichtung 5. Wenn das Bestimmungsergebnis von dem Benutzer empfangen wird, sendet die Bestimmungseinheit 205 das Bestimmungsergebnis zu der Schätzeinheit 213.
-
15 zeigt ein Flussdiagramm, das eine Verarbeitung veranschaulicht, die durch das Informationsverarbeitungssystem 110 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel ausgeführt wird. Die Unterschiede in einem Verarbeitungsinhalt zu 4, die in dem ersten beispielhaften Ausführungsbeispiel veranschaulicht wird, werden jeweils beschrieben.
-
In Schritt S6 sendet die Anweisungseinheit 212 einen Anweisungsauslöser zu der Anweisungsvorrichtung 5, um den Benutzer anzuweisen, einen vorbestimmten Betrieb auszuführen. Wenn die Anweisungseinheit 212 einen Befehl von der Beschaffungseinheit 211 auf der Grundlage des Bestimmungsergebnisses, dass eine Simulation des Roboters 10, die dem Benutzer angegeben wird, nicht geeignet ist, beschafft, dann weist die Anweisungseinheit 212 unter Verwendung der Anweisungsvorrichtung 5 den Benutzer an, das Zielobjekt 41 weiter zu dem Zielbereich 42 zu bewegen. In diesem Vorgang platziert der Benutzer ein Objekt mit einer so hohen Genauigkeit wie möglich. 19 zeigt ein Beispiel einer GUI in einem Fall, in dem die Anweisung an den Benutzer auf der Anzeige angezeigt wird.
-
In Schritt S20 bestimmt die Bestimmungseinheit 205, ob ein Laufzeitbetrieb (eine Objektbeförderungsaufgabe durch den Roboter 10) zum ersten Mal auszuführen ist. Wenn der Laufzeitbetrieb nicht zum ersten Mal auszuführen ist (NEIN in Schritt S20), werden die Schwenkvorrichtung 1 und das Halten in Schritt S17 gesteuert. Wenn der Laufzeitbetrieb zum ersten Mal auszuführen ist (JA in Schritt S20), schreitet die Verarbeitung zu Schritt S21 voran. In Schritt S21 führt die Bestimmungseinheit 205 den Vorgang zum Angeben des Betriebs des Roboters 10, der bis zu Schritt S16 bestimmt wird, als eine Simulation an den Benutzer und zum Erhalten des Bestimmungsergebnisses aus.
-
In Schritt S21 gibt die Anweisungseinheit 202 dem Benutzer die Simulation an, in der der Roboter 10 ein Zielobjekt 41 zu einem Platzierungsbereich bewegt.
-
Dann empfängt die Anweisungseinheit 202 von dem Benutzer das Bestimmungsergebnis dahingehend, ob die Bewegung des Zielobjekts 41 geeignet ist. Dieser Vorgang wird ausgeführt, um mit dem Benutzer die Steuerung des Roboters 10, die bis zu Schritt S16 bestimmt wird, zu bestätigen. In diesem Vorgang wird als ein Verfahren, um dem Benutzer die Simulation anzugeben, in der der Roboter 10 das Zielobjekt 41 zu einem Zielzustand bewegt, Sprache, eine GUI, eine Projektion, MR, AR oder VR wie in dem Anweisungsverfahren in Schritt S6 verwendet. Beispielsweise werden Informationen darüber, welcher Abschnitt des Zielobjekts 41 durch den Roboter 10 zu halten ist, wie das Zielobjekt 41 durch den Roboter 10 zu befördern ist und wo das Zielobjekt 1 durch den Roboter 10 zu platzieren ist, dem Benutzer durch Sprache angegeben. In dem Fall GUI wird die Betriebssimulation des Roboters 10 auf der Anzeige angezeigt und dem Benutzer angegeben. In dem Fall einer Projektion wird das Zielobjekt 41 auf dem Zielbereich 42 in einer Weise einer Projektionsabbildung angezeigt und dem Benutzer angegeben. 20 veranschaulicht ein Beispiel einer GUI in einem Fall, in dem das Simulationsergebnis auf der Anzeige angegeben wird, um eine Bestimmung des Benutzers zu erhalten. Wenn das Simulationsergebnis korrekt ist, drückt der Benutzer eine OK-Taste. Wenn das Simulationsergebnis nicht korrekt ist, drückt der Benutzer eine NG-Taste. In dem Fall von MR, AR oder VR wird die Betriebssimulation des Zustands, in dem der Roboter 10 das Zielobjekt 41 befördert und platziert, in einer überlagerten Art und Weise in einem realen Raum oder einem virtuellen Raum angezeigt und dem Benutzer angegeben.
-
In Schritt S22 bestimmt die Bestimmungseinheit 205 auf der Grundlage des Ergebnisses der vorläufigen Bestätigung, die von dem Benutzer in Schritt S21 empfangen wird, ob der Steuerungswert des Roboters 10 geeignet ist. Wenn die Bestimmung, dass der Steuerungswert geeignet ist, erhalten wird (JA in Schritt S22), schreitet die Verarbeitung zu Schritt S23 voran. Wenn die Bestimmung, dass der Steuerungswert nicht geeignet ist, erhalten wird (NEIN in Schritt S22), springt die Verarbeitung zu Schritt S6 zurück.
-
In Schritt S23 steuert die Steuerungseinrichtung 4 die Schwenkvorrichtung 1, um das Zielobjekt 41 zu bewegen. In diesem Vorgang steuert die Steuerungseinrichtung 4, da der Laufzeitbetrieb zum ersten Mal auszuführen ist, den Roboter 10 in einer derartigen Art und Weise, dass der Roboter 10 bei einer niedrigeren Geschwindigkeit als normal arbeitet, sodass auch in der tatsächlichen Vorrichtung der Benutzer bestätigen kann, ob der Betrieb, der entsprechend der Bestimmung des Benutzers in der vorläufigen Bestätigung geeignet ist, wirklich geeignet ist.
-
Wie es vorstehend beschrieben ist, wird entsprechend dem vorliegenden beispielhaften Ausführungsbeispiel, bevor der Roboter 10 entsprechend einem bestimmten Betrieb arbeitet, eine Simulation auf der Grundlage eines Steuerungswerts dem Benutzer angegeben, wobei die Bestimmung dahingehend, ob der Betrieb zum Bewegen des Zielobjekts 41 zu dem Zielbereich 42 durch den Roboter 10 geeignet ist, erhalten wird. Wenn die Bestimmung, dass der Betrieb nicht geeignet ist, erhalten wird, wird der Benutzer angewiesen, ein weiteres Zielobjekt 41 zu dem Zielbereich 42 weiter zu bewegen. In einer derartigen Art und Weise werden Lehrdaten vergrößert, wodurch es möglich ist, eine Verbesserung in der Schätzgenauigkeit zu erwarten. Ferner führt, wenn die Bestimmung, dass der Betrieb geeignet ist, erhalten wird, der Roboter 10 den Betrieb langsamer als normal aus.
-
Entsprechend dem zweiten beispielhaften Ausführungsbeispiel können, bevor der Roboter 10 arbeitet, der Betrieb des Roboters 10 und der Zustand eines Zielobjekts 41 nach der Bewegung des Zielobjekts 41 im Voraus bestätigt werden. Dies verringert eine erneute Ausführung des Betriebs. Als Ergebnis ist es möglich, die Betriebseffektivität zu verbessern.
-
Als nächstes wird ein drittes beispielhaftes Ausführungsbeispiel der vorliegenden Offenbarung beschrieben. Das dritte beispielhafte Ausführungsbeispiel unterscheidet sich von dem ersten beispielhaften Ausführungsbeispiel darin, dass, nachdem der Roboter 10 ein Zielobjekt 41 bewegt hat, der Benutzer eine nachträgliche Bestätigung dahingehend machen kann, ob das Zielobjekt 41 in einem gewünschten Bereich in dem Zielbereich 42 platziert ist. Es gibt eine Vielzahl von möglichen Ursachen eines Falls, in dem der Roboter 10 eine Aufgabe, die durch den Benutzer gelehrt wird, nicht ausführen kann. Ein Beispiel der Ursachen umfasst einen Fall, in dem das Lehren durch den Benutzer nicht wünschenswert ist. Genauer gesagt ist dies ein Fall, in dem ein Zielobjekt 41 durch den Benutzer fehlpositioniert oder nicht korrekt platziert worden ist. In diesem Fall wird die Ursache durch den Benutzer, der das Zielobjekt 41 nochmals bei einer richtigen Position platziert wird, abgestellt, wenn der Betrieb gelehrt wird. Ferner wird in einem anderen Beispielfall ein Schätzvorgang nicht erfolgreich durch die Schätzeinheit 203 ausgeführt. In einem derartigen Fall beeinträchtigt beispielsweise die Reflektion von Licht die Erzeugung einer Schablone für das Zielobjekt 41, wobei Bereichsdaten des Objekts nicht erfolgreich erhalten werden. Es gibt somit eine Möglichkeit, dass die Ursache abgestellt wird, indem ein Lehrbetrieb mehrmals versucht wird. Um eine derartige Ursache zu überwinden, lehrt gemäß dem vorliegenden beispielhaften Ausführungsbeispiel der Benutzer eine Aufgabe, um einen Betrieb, der durch den Roboter 10 tatsächlich ausgeführt wird, in Ordnung zu bringen. Auf diese Weise ist es, auch wenn der Roboter 10 einen nicht korrekten Betrieb ausführt, möglich, den nicht korrekten Betrieb an Ort und Stelle auf einfache Weise zu korrigieren. Somit ist es möglich, die Betriebseffektivität zu verbessern.
-
Spezifisch kann, wenn ein Laufzeitbetrieb zum ersten Mal auszuführen ist, der Benutzer eine nachträgliche Bestätigung dahingehend machen, ob ein Zielobjekt 41 in dem Zielbereich 42 platziert ist. Wenn das Bestimmungsergebnis, dass die Platzierung geeignet ist, erhalten wird, wird die Verarbeitung fortgesetzt. Wenn das Bestimmungsergebnis, dass die Platzierung nicht geeignet ist, erhalten wird, wird der Benutzer angewiesen, dass das Zielobjekt 41, das nicht in geeigneter Weise zu dem Zielbereich 42 bewegt worden ist, zu einem geeigneten Zustand zu bewegen. Auf der Grundlage des Ergebnisses der Bewegung korrigiert der Roboter 10 das Verfahren zum Bewegen des Zielobjekts 41 zu dem Zielbereich 42.
-
14 ist ein Blockschaltbild, das Beispiele der funktionalen Konfigurationen eines Informationsverarbeitungssystems 110 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel veranschaulicht. Das Informationsverarbeitungssystem 110, das in 14 veranschaulicht ist, unterscheidet sich von dem Informationsverarbeitungssystem 100, das in 3 veranschaulicht ist, darin, dass die Bestätigungsvorrichtung 7 und eine Bestimmungseinheit 205 hinzugefügt sind, und auch in der Verarbeitung einer Beschaffungseinheit 211 und der Verarbeitung einer Anweisungseinheit 212. Die Bestätigungsvorrichtung 7 ist jedoch ähnlich zu der, die in dem zweiten beispielhaften Ausführungsbeispiel beschrieben ist.
-
Wenn eine Aufgabe gelehrt wird, beschafft die Beschaffungseinheit 211 eine Rückmeldung der Bestimmung durch den Benutzer dahingehend, ob das Ergebnis der Bewegung eines Zielobjekts 41 zu einem Zielzustand geeignet ist. Die Rückmeldung wird durch den Benutzer ausgeführt, der das Ergebnis einer Bestätigung des tatsächlichen Zustands in die Steuerungseinrichtung 4 eingibt. Wenn der Roboter 10 eine Ausführung eines Betriebs beendet, beschafft die Beschaffungseinheit 211 das Bestimmungsergebnis der nachträglichen Bestätigung von der Beschaffungseinheit 211. Wenn die Bestimmung, dass der Betrieb geeignet ist, erhalten wird, wird die Verarbeitung fortgesetzt. Wenn bestimmt wird, dass der Betrieb nicht geeignet ist, sendet die Beschaffungseinheit 211 daraufhin einen Befehl zu der Anweisungseinheit 212, um den Benutzer anzuweisen, das Zielobjekt 41 auf einen geeigneten Zustand zu bewegen.
-
Auf der Grundlage einer Rückmeldung von dem Benutzer bezüglich dessen, ob ein Zielobjekt 41 in geeigneter Weise befördert ist, bestimmt die Bestimmungseinheit 205, ob ein erzeugter Steuerungswert geeignet ist. Die Bestimmungseinheit 205 führt die Bestätigung mit dem Benutzer in einem Fall aus, in dem ein Laufzeitbetrieb zum ersten Mal auszuführen ist, oder wenn der vorangegangene Laufzeitbetrieb fehlgeschlagen ist. Die Bestimmung wird getroffen, indem bestätigt wird, wo das Zielobjekt 41 platziert worden ist. Beispielsweise bestimmt in dem Fall der Aufgabe zum Platzieren des Zielobjekts 41 bei einer vorbestimmten Position durch Pick-and-Place beziehungsweise Bestücken, wenn das Zielobjekt 41 bei der vorbestimmten Position platziert ist, der Benutzer, dass die Bewegung geeignet ist. Wenn jedoch das Zielobjekt 41 von der vorbestimmten Position verschoben ist oder ein anderes Objekt, das zu dem Zielobjekt 41 unterschiedlich ist, befördert wird, bestimmt der Benutzer, dass die Bewegung nicht geeignet ist. Das Bestimmungsergebnis wird zu einer Schätzeinheit 213 gesendet.
-
Auf der Grundlage eines Anweisungsauslösers von der Schätzeinheit 213 sendet die Anweisungseinheit 212 einen Anweisungsauslöser zu der Anweisungsvorrichtung 5, um das Zielobjekt 41 zu einem geeigneten Bereich in dem Zielbereich 42 zu bewegen.
-
16 zeigt ein Flussdiagramm, das eine Verarbeitung veranschaulicht, die durch das Informationsverarbeitungssystem 110 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel ausgeführt wird. Die Unterschiede in einem Verarbeitungsinhalt zu 4, die in dem ersten beispielhaften Ausführungsbeispiel veranschaulicht wird, werden jeweils beschrieben.
-
In Schritt S20 bestimmt die Bestimmungseinheit 205, ob ein Laufzeitbetrieb zum ersten Mal auszuführen ist. Wenn der Laufzeitbetrieb nicht zum ersten Mal auszuführen ist (NEIN in Schritt S20), wird eine Bestimmungsverarbeitung in Schritt S24 ausgeführt. Wenn der Laufzeitbetrieb zum ersten Mal auszuführen ist (JA in Schritt S20), schreitet die Verarbeitung zu Schritt S25 voran. In Schritt S25 bestätigt die Bestimmungseinheit 205 eine Simulation mit dem Benutzer. Wenn der Benutzer wünscht, auch den Laufzeitbetrieb, der zum zweiten Mal oder nachfolgende Male auszuführen ist, zu überprüfen, kann die Anzahl von Malen in diesem Vorgang auf eine andere Anzahl von Malen, wie beispielsweise das zweite Mal oder das dritte Mal, eingestellt werden. Somit muss eine Einstellung nicht notwendigerweise in einer derartigen Art und Weise gemacht werden, dass nur in dem Fall, wenn der Laufzeitbetrieb zum ersten Mal ausgeführt wird, die Verarbeitung zu Schritt S25 voranschreitet.
-
In Schritt S24 bestimmt die Bestimmungseinheit 205, ob der vorangegangene Laufzeitbetrieb erfolgreich ist. Wenn der vorangegangene Laufzeitbetrieb erfolgreich ist (JA in Schritt S24), schreitet die Verarbeitung zu Schritt S18 voran. Wenn der vorangegangene Laufzeitbetrieb fehlgeschlagen ist (NEIN in Schritt S24), schreitet die Verarbeitung zu Schritt S25 voran. In Schritt S25 bestätigt die Bestimmungseinheit 205 das Ergebnis des Betriebs mit dem Benutzer. Diese Konfiguration ist für einen Fall, in dem, auch wenn die Bewegung des Zielobjekts 41 zu dem Zielbereich 42 in dem Laufzeitbetrieb, der zum ersten Mal ausgeführt wird, erfolgreich ist, aber die Bewegung des Zielobjekts 41 zu dem Zielbereich 42 in dem Laufzeitbetrieb, der zum zweiten Mal ausgeführt wird, fehlgeschlagen ist, sodass eine Bestätigung ausgeführt werden kann. Ferner wird in dem Flussdiagramm der nächste Vorgang auf der Grundlage des Erfolgs oder Fehlschlags des vorangegangenen Laufzeitbetriebs bestimmt. Alternativ hierzu kann die Anzahl von Fehlschlägen berücksichtigt werden. Wenn beispielsweise die Beförderung des gleichen Zielobjekts 41 zweimal in einer Reihe fehlgeschlagen ist, kann der Vorgang zum Aussetzen des Betriebs, zum Stoppen des Roboters 10 und zum Rufen der Bedienungsperson ausgeführt werden. In diesem Fall wird der Benutzer angewiesen, das Zielobjekt 41 nochmals auf einen geeigneten Zustand in dem nachfolgenden Vorgang zu bewegen. Der Grund hierfür ist, dass, wenn ein geeigneter Betrieb selbst entsprechend Anweisungen, die mehrere Male ausgegeben werden, nicht bestimmt werden kann, es eine Möglichkeit gibt, dass es schwierig ist, den Betrieb in dieser Situation zu bestimmen, oder dass der geeignete Betrieb aufgrund eines technischen Defekts des Systems nicht ausgeführt werden kann.
-
In Schritt S25 beschafft die Beschaffungseinheit 211 eine Rückmeldung der Bestimmung durch den Benutzer dahingehend, ob der Betrieb zum Bewegen des Zielobjekts 41 zu dem Zielbereich 42 durch den Roboter 10 geeignet ist. Die Rückmeldung wird durch den Benutzer, der das Ergebnis einer Bestätigung des tatsächlichen Zustands in die Steuerungseinrichtung 4 eingibt, oder dergleichen ausgeführt. Spezifisch bestätigt in dem Fall der Aufgabe zum Befördern eines Objekts die Beschaffungseinheit 211, ob das Objekt erfolgreich bei einer gewünschten Stelle platziert ist. 21 ist ein Beispiel eines Bildschirms einer GUI in einem Fall, in dem die Bestätigung mit dem Benutzer auf der Anzeige gemacht wird. Der Zeitpunkt, wenn der Benutzer angewiesen wird, die Bestätigung zu machen, kann angegeben werden, indem, wenn die Steuerungseinrichtung 4 eine Steuerung des Roboters 10 beendet, ein Steuerungsabschlussauslöser zu der Anweisungseinheit 212 gesendet wird und indem die Anweisungseinheit 212 eine Eingabe von der Anweisungsvorrichtung 5 verwendet. Alternativ hierzu kann ein anderes Verfahren eingesetzt werden.
-
Wenn der Benutzer eine Anweisung von der Anweisungsvorrichtung 5 empfängt und das Bestimmungsergebnis eingibt, empfängt die Bestätigungsvorrichtung 7 das Bestimmungsergebnis, wobei die Bestimmungseinheit 205 Bestimmungsergebnisinformationen empfängt und das Bestimmungsergebnis zu der Schätzeinheit 213 sendet.
-
In Schritt S26 bestimmt die Bestimmungseinheit 205, ob der Betrieb zum Bewegen des Zielobjekts 41 zu dem Zielbereich 42 durch den Roboter 10 geeignet ist. Die Bestimmungseinheit 205 beschafft die Rückmeldung, die durch den Benutzer in Schritt S25 eingegeben wird, und bestimmt den nächsten Vorgang auf der Grundlage der beschafften Rückmeldung. Wenn das Bestimmungsergebnis, dass der Betrieb geeignet ist, erhalten wird (JA in Schritt S26), schreitet die Verarbeitung zu Schritt S19 voran. Wenn das Bestimmungsergebnis, dass der Betrieb nicht geeignet ist, erhalten wird (NEIN in Schritt S26), schreitet die Verarbeitung zu Schritt S27 voran. In Schritt S27 wird der Vorgang zum Korrigieren des Betriebs des Roboters 10 ausgeführt.
-
In Schritt S27 weist die Anweisungseinheit 212 den Benutzer an, das Zielobjekt 41 auf einen geeigneten Zustand zu bewegen. Wenn die Schätzeinheit 213 das Bestimmungsergebnis beschafft, dass die Beförderung des Zielobjekts 41 zu dem Zielbereich 42 nicht geeignet ist, ist es notwendig, unzureichende Informationen zu kompensieren, um einen geeigneten Betrieb des Roboters 10 zu bestimmen. Beispielsweise wird der Benutzer, um einen korrekten Bewegungszustand erneut zu erkennen, angewiesen, das Zielobjekt 41 nochmals zu dem Zielzustand zu bewegen. Der Betrieb, der durch den Benutzer auszuführen ist, kann nicht der gleiche Betrieb wie der des Aufgabelehrens, das in Schritt S26 ausgeführt wird, sein. Beispielsweise lehrt der Benutzer, wenn es erforderlich ist, die Position zu korrigieren, wo das Zielobjekt 41 zu halten ist, die Position, wo das Zielobjekt 41 zu halten ist. Dies ist in einem Fall effektiv, in dem die Informationsverarbeitungsvorrichtung 20 einen Vorgaberegel bereitstellt, dass der Schwerpunkt des Zielobjekts 41 als die Halteposition einzustellen ist. 22 zeigt ein Beispiel eines Bildschirms einer GUI in einem Fall, in dem der Benutzer angewiesen wird, dem Roboter 10 die Halteposition auf der Anzeige zu lehren. Der Benutzer wird angewiesen, dem Roboter 10 die Halteposition zu lehren, indem mit einer Maus ein Abschnitt, der zu halten ist, angeklickt wird oder indem auf einem Berührungsfeld der Abschnitt, der zu halten ist, angetippt wird. Wenn die Ursache des Fehlers der Aufgabe durch den Roboter 10 bekannt ist, wird eine derartige Rückmeldung gegeben, wodurch es möglich ist, eine Verringerung in Fehlern eines Aufgabebetriebs zu erwarten. Um dem Benutzer die Anweisung zu geben, sendet die Anweisungseinheit 212 einen Anweisungsauslöser zu der Anweisungsvorrichtung 5. Dann springt die Verarbeitung zu Schritt S7 zurück, wobei die Verarbeitung fortgesetzt wird.
-
Wie es vorstehend beschrieben ist, bestimmt gemäß dem vorliegenden beispielhaften Ausführungsbeispiel der Benutzer an Ort und Stelle den Betrieb des Roboters 10, der auf der Grundlage des erzeugten Steuerungswerts ausgeführt wird. Wenn der Betrieb nicht korrekt ist, korrigiert der Benutzer den Betrieb an Ort und Stelle. Auch wenn der Roboter 10 einen nicht korrekten Betrieb ausführt, ist es möglich, den nicht korrekten Betrieb an Ort und Stelle auf einfache Weise zu korrigieren. Somit ist es möglich, die Betriebseffektivität zu verbessern.
-
In den ersten bis dritten beispielhaften Ausführungsbeispielen kann, wenn der Benutzer ein Zielobjekt 41 bewegt, der Benutzer das Zielobjekt 41 nicht von einem Anfangszustand zu einem Zielzustand bewegen müssen. Der Benutzer kann das Zielobjekt 41 von dem Zielzustand zu dem Anfangszustand bewegen. Beispielsweise kann, wenn ein Bestücken ausgeführt wird, der Benutzer das Zielobjekt 41 von einer Zufuhrposition, wo das Zielobjekt 41 aufzunehmen ist, nicht zu einem Platzierungsbereich, wo das Zielobjekt 41 zu platzieren ist, bewegen müssen. Der Benutzer kann das Zielobjekt 41, das in dem Platzierungsbereich vorhanden ist, zu der Zufuhrposition bewegen. In diesem Fall werden Informationen, die angeben, dass der derzeitige Zustand der Zustand ist, in dem das Objekt in einem Platzierungsbereich, der in dem Zielbereich 42 beinhaltet ist, vor der Bewegung ist und der Zustand, nachdem das Objekt bewegt worden ist, ein Anfangszustand ist, in die Informationsverarbeitungsvorrichtung 20 eingegeben. Ferner kann der Benutzer das Zielobjekt 41 nicht von einem Anfangszustand bewegen müssen. Der Benutzer kann das Zielobjekt 41 von einem Zwischenzustand bewegen, solange der Anfangszustand durch ein anderes Verfahren bekannt sein kann. Beispiele eines Falls, in dem der Anfangszustand durch ein anderes Verfahren bekannt ist, umfassen einen Fall, in dem der Zufuhrzustand des Zielobjekts 41 immer konstant ist, wobei die Informationsverarbeitungsvorrichtung 20 eine Verarbeitung ausführt, während sie diese Tatsache erkennt.
-
In den ersten bis dritten beispielhaften Ausführungsbeispielen können visuelle Informationen, die zu beschaffen sind, ein Standbild oder ein sich bewegendes Bild sein. Ferner kann in dem Fall eines sich bewegenden Bildes der Zeitpunkt des Starts und des Endes der Aufnahme des Bilds manuell eingestellt werden oder automatisch eingestellt werden. Wenn der Zeitpunkt manuell eingestellt wird, kann der Benutzer einen Auslöser zu dem Zeitpunkt des Starts oder des Endes eingeben, oder der Zeitpunkt kann auf der Grundlage einer Zeit eingestellt werden, die im Voraus bestimmt wird. Wenn der Zeitpunkt automatisch eingestellt wird, ist die Bildaufnahme, indem die Bewegung eines Objekts in dem Bild verfolgt wird, zu starten, wenn das Objekt beginnt, sich zu bewegen, wobei die Bildaufnahme zu beenden ist, wenn das Objekt stoppt. Alternativ hierzu kann ein Verfahren zum Erkennen der Hand des Benutzers und zum Aufnehmen der Hand, während die Hand in dem Bild vorhanden ist, eingesetzt werden.
-
Andere Ausführungsbeispiele
-
Ausführungsbeispiele der vorliegenden Offenbarung können ebenso durch einen Computer eines Systems oder einer Vorrichtung, der computerausführbare Anweisungen (beispielsweise ein Programm oder mehrere Programme), die auf einem Speichermedium (das auch vollständiger als ein „nichtvergängliches computerlesbares Speichermedium“ bezeichnet werden kann) aufgezeichnet sind, ausliest und ausführt, um die Funktionen von einem oder mehreren der vorstehend beschriebenen Ausführungsbeispiele auszuführen, und/oder der eine Schaltung oder mehrere Schaltungen (beispielsweise eine anwendungsspezifische integrierte Schaltung (ASIC)) für eine Ausführung der Funktionen von einem oder mehreren der vorstehend beschriebenen Ausführungsbeispiele umfasst, und durch ein Verfahren verwirklicht werden, das durch den Computer des Systems oder der Vorrichtung ausgeführt wird, indem beispielsweise die computerausführbaren Anweisungen von dem Speichermedium ausgelesen und ausgeführt werden, um die Funktionen von einem oder mehreren der vorstehend beschriebenen Ausführungsbeispiele auszuführen, und/oder das die eine Schaltung oder die mehreren Schaltungen steuert, um die Funktionen von einem oder mehreren der vorstehend beschriebenen Ausführungsbeispiele auszuführen. Der Computer kann einen oder mehrere Prozessoren (beispielsweise eine zentrale Verarbeitungseinheit (CPU), eine Mikroverarbeitungseinheit (MPU)) umfassen und kann ein Netzwerk von getrennten Computern oder getrennten Prozessoren umfassen, um die computerausführbaren Anweisungen auszulesen und auszuführen. Die computerausführbaren Anweisungen können dem Computer beispielsweise von einem Netzwerk oder dem Speichermedium aus bereitgestellt werden. Das Speichermedium kann beispielsweise ein Element oder mehrere Elemente aus einer Festplatte, einem Speicher mit wahlfreiem Zugriff (RAM), einem Nur-Lese-Speicher (ROM), einem Speicher von verteilten Computersystemen, einer optischen Platte (wie beispielsweise einer Compactdisk (CD), einer digital versatile Disc (DVD) oder einer Blue-Ray-Disc (BD)™), einer Flash-Speichervorrichtung, einer Speicherkarte und dergleichen umfassen.
-
Während die vorliegende Offenbarung unter Bezugnahme auf beispielhafte Ausführungsbeispiele beschrieben worden ist, ist es ersichtlich, dass die Offenbarung nicht auf die offenbarten beispielhaften Ausführungsbeispiele begrenzt ist. Dem Umfang der nachstehenden Patentansprüche ist die breiteste Interpretation zuzugestehen, um alle derartigen Modifikationen und äquivalenten Strukturen und Funktionen zu umfassen.
-
Eine Informationsverarbeitungsvorrichtung umfasst eine Beschaffungseinheit, die ein erstes Bild und ein zweites Bild beschafft, wobei das erste Bild ein Bild eines Zielbereichs in einem Anfangszustand ist, wobei das zweite Bild ein Bild des Zielbereichs ist, wo ein erstes Objekt, das von einem Zufuhrbereich befördert wird, platziert ist, eine Schätzeinheit, die einen zweiten Bereich oder mehrere zweite Bereiche in dem Zielbereich auf der Grundlage eines Merkmals eines ersten Bereichs schätzt, der unter Verwendung des ersten Bilds und des zweiten Bilds geschätzt wird, wobei der erste Bereich dort ist, wo das erste Objekt platziert ist, wobei der eine zweite Bereich oder die mehreren zweiten Bereiche jeweils ein Bereich ist/sind, wo ein Objekt in dem Zufuhrbereich platziert werden kann, und zu dem ersten Bereich unterschiedlich ist/sind. Eine Steuerungseinheit steuert einen Roboter, um ein zweites Objekt, das zu dem ersten Objekt unterschiedlich ist, von dem Zufuhrbereich zu einem des einen zweiten Bereichs oder der mehreren zweiten Bereiche zu befördern.
-
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 2012030320 A [0002, 0003]