-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf eine Steuervorrichtung zum Steuern eines Roboters durch Lernen der Aktion einer Person, auf ein Robotersystem und ein Produktionssystem.
-
2. Beschreibung des verwandten Standes der Technik
-
Bei Robotersystemen werden für gewöhnlich Sicherheitsnahmen getroffen, um zu verhindern, dass die Person den Arbeitsbereich des Roboters betritt, während ein Roboter arbeitet, so dass die Sicherheit einer Person erhöht wird. Beispielsweise ist ein Sicherheitszaun um den Roboter bereitgestellt, um zu verhindern, dass die Person während des Betriebs des Roboters nach innerhalb des Sicherheitszauns gelangt.
-
In den letzten Jahren wurde Forschung bzw. Entwicklung bezüglich Robotern (kollaborativen Robotern), die einen Vorgang in Zusammenarbeit mit einer Person durchführen, betrieben und diese werden in der Praxis verwendet. Bei solchen Robotern (Robotersystemen) führen ein Roboter und eine Person (Benutzer) einen Vorgang in Zusammenarbeit durch, z. B. ohne einen Sicherheitszaun um den Roboter.
-
Im Übrigen offenbart z. B. die
japanische offengelegte Patentveröffentlichung Nr.2011-051056 (Patentdokument 1) als Roboter (kollaborativer Roboter, Roboter mit kooperativem Betrieb), der gemeinsam mit einer Person vorhanden ist und mit dieser zusammenarbeitet, einen Roboter im hängenden Betrieb, der umfasst: ein Bildgebungsmittel; zumindest einen Bedienarm mit einem Gelenk zum Antreiben eines beweglichen Teils, wobei eine umgekehrte Eingabe möglich ist; einen Körper zum Stützen des Bedienarms; ein Stützelement mit einem Basisteil, lösbar an der Decke oder einer Wand des Arbeitsbereichs befestigt, um von dieser runterzuhängen, und mit einem Spitzenende zum Stützen des Körpers und des Bildgebungsmittels; ein Bewegungssteuermittel, das eine relative Position zwischen einem Zielobjekt und dem Betriebsroboter im Arbeitsbereich auf Basis eines Bilds erkennt, das vom Bildgebungsmittel erfasst wird, um auf Basis der relativen Position zu veranlassen, dass der Bedienarm einen Vorgang für das Zielobjekt durchführt; und ein Ausgabesteuermittel, das, wenn erkannt wird, dass der Vorgang ein Vorgang ist, der die Copräsenz oder Zusammenarbeit mit einer Person erfordert, die Ausgabe eines Motors zum Bewegen des Gelenks des Bedienarms verringert.
-
Das Ziel, das mit der in Patentdokument 1 offenbarten Technologie erreicht wird, besteht darin, zu ermöglichen, dass, wenn ein kollaborativer Roboter (Roboter) im Arbeitsbereich platziert ist, der Roboter sogar dann angeordnet werden kann, wenn ein Hindernis am Boden in der Nähe des Arbeitsbereichs vorhanden ist, und in der Erhöhung der Sicherheit eines Benutzers, wenn der Roboter angeordnet ist. Das Ziel erfordert keine äußerst genaue Positionierung oder keine große Änderung eines Vorgangsbefehls.
-
Anders ausgedrückt kann die oben genannte herkömmliche Technologie den Roboter in der Nähe des Benutzers (Person) anordnen, es ist jedoch schwierig, z. B. einen Vorgang durchzuführen, der eine Mehrzahl von Prozessen umfasst, bei dem ein Roboter und eine Person in Zusammenarbeit und abwechselnd auf Zielobjekte zugreifen, die auf dem Tisch platziert sind, um die Zielobjekte zusammenzufügen. Anders ausgedrückt steuert die herkömmliche Technologie die Aktion des Roboters nicht auf Basis von Ergebnissen der Erkennung der Aktion der Person.
-
Angesichts dieser Probleme liegt das Ziel der vorliegenden Erfindung in der Bereitstellung einer Steuervorrichtung, die die Aktion der Person unter Verwendung einer Maschinenlernvorrichtung lernt, die die Aktion der Person durch Erkennen der Aktion der Person lernt, um den Roboter zu steuern, eines Robotersystems und eines Produktionssystems.
-
KURZFASSUNG DER ERFINDUNG
-
Gemäß einem ersten Beispiel eines ersten Aspekts der vorliegenden Erfindung wird eine Steuervorrichtung für einen Roboter zum Durchführen eines Vorgangs in Zusammenarbeit mit einer Person bereitgestellt, wobei die Steuervorrichtung eine Maschinenlernvorrichtung, die eine Erkennungseinheit zum Klassifizieren einer Aktion der Person und eine Lerneinheit zum Lernen der Aktion der Person umfasst, während die Person einen Vorgang in Zusammenarbeit mit dem Roboter durchführt; und eine Aktionssteuereinheit zum Steuern der Aktion des Roboters auf Basis eines Ergebnisses der Klassifizierung der Erkennungseinheit umfasst.
-
Gemäß einem zweiten Beispiel eines ersten Aspekts der vorliegenden Erfindung wird eine Steuervorrichtung für einen Roboter zum Durchführen eines Vorgangs in Zusammenarbeit mit einer Person bereitgestellt, wobei die Steuervorrichtung eine Maschinenlernvorrichtung, die eine Erkennungseinheit, die ein Gesicht der Person erkennt, um eine Aktion der Person auf Basis eines Gewichts in einem neuronalen Netzwerk, das der Person entspricht, zu klassifizieren, und eine Lerneinheit zum Lernen der Aktion der Person umfasst, während die Person einen Vorgang in Zusammenarbeit mit dem Roboter durchführt; und eine Aktionssteuereinheit zum Steuern der Aktion des Roboters auf Basis eines Ergebnisses der Klassifizierung der Erkennungseinheit umfasst.
-
Die Erkennungseinheit kann Daten auf Basis einer Bildeingabe als Statusvariable empfangen und eine Ausgabe generieren, die durch Klassifizieren der Aktion der Person erhalten wird, und die Lerneinheit kann eine Fehlerberechnungseinheit umfassen, die die Ausgabe empfängt, die durch Klassifizieren der Aktion der Person erhalten wird, die von der Erkennungseinheit generiert wird, und berechnet einen Fehler auf Basis von Lehrerdaten, die eingegeben wurden; und eine Fehlermodellaktualisierungseinheit, die ein Fehlermodell zum Steuern einer Aktion des Roboters durch die Aktion der Person auf Basis einer Ausgabe der Fehlerberechnungseinheit aktualisiert.
-
Gemäß einem dritten Beispiel eines ersten Aspekts der vorliegenden Erfindung wird eine Steuervorrichtung für einen Roboter zum Durchführen eines Vorgangs in Zusammenarbeit mit einer Person bereitgestellt, wobei die Steuervorrichtung eine Maschinenlernvorrichtung, die eine Erkennungseinheit umfasst, die eine Aktion der Person auf Basis eines Gewichts klassifiziert, das aus einem neuronalen Netzwerk gelesen wird, unter Kommunikation mit einer Steuerung höherer Ebene und der Lerneinheit, die die Aktion der Person lernt; und eine Aktionssteuereinheit, die eine Aktion des Roboters auf Basis eines Ergebnisses der Klassifizierung der Erkennungseinheit steuert.
-
Gemäß einem vierten Beispiel eines ersten Aspekts der vorliegenden Erfindung wird eine Steuervorrichtung für einen Roboter zum Durchführen eines Vorgangs in Zusammenarbeit mit einer Person bereitgestellt, wobei die Steuervorrichtung eine Erkennungseinheit zum Ermitteln, ob die Person einen Arbeitsbereich oder einen Bewegungsbereich des Roboters betreten hat, während die Person einen Vorgang in Zusammenarbeit mit dem Roboter durchführt, umfasst; und eine Aktionssteuereinheit, die eine Aktion des Roboters auf Basis eines Ergebnisses der Ermittlung der Erkennungseinheit begrenzt oder stoppt, um das Standby oder den Neustart der Aktion des Roboters, der einen Vorgang in Zusammenarbeit mit der Person durchführt, zu steuern.
-
Der Roboter kann ein Industrieroboter, ein Feldroboter oder ein Serviceroboter sein. Die Erkennungseinheit kann zumindest eines von einem neuronalen Netzwerk und Schablonenabgleich (Template Matching) verwenden. Die Steuervorrichtung kann ferner eine Mehrzahl von Kameras zum Aufnehmen umfassen, wobei die Erkennungseinheit eine Aktion der Person auf Basis eines von jeder Kamera aufgenommenen Bilds erkennen und eine Ausgabe der Erkennungseinheit als Eingabe einer UND-Schaltung und ein Ergebnis der UND-Schaltung als Ausgabe der Erkennungseinheit verwenden kann. Die Steuervorrichtung kann eine Vorgangsinformation und Lerninformation an eine Steuerung höherer Ebene senden, nachdem die Person mit dem Roboter in Zusammenarbeit agiert hat.
-
Die Vorgangsinformation kann zumindest eines von einem Elementnamen, einem Prozess, einer durch Bilderkennung spezifizierten Person, dem Typ des Roboters und der Vorgangszeit der Person und des Roboters umfassen und die Vorgangszeit kann zumindest eines von einer Zeit vom Beginn bis zum Ende eines Vorgangs und einer Bewegungszeit und einer Stillstandszeit der Person und des Roboters bei jedem Vorgang umfassen. Die Lerninformation kann ein Gewicht im neuronalen Netzwerk sein.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Robotersystem bereitgestellt, das eine Mehrzahl von Steuervorrichtungen gemäß dem oben beschriebenen ersten Aspekt umfasst, wobei die Mehrzahl von Steuervorrichtungen über eine Kommunikationsleitung miteinander verbunden ist und die Steuervorrichtungen jeweils getrennt eine Aktion einer Person lernen und die gelernte Information über die Kommunikationsleitung senden, um diese zu teilen.
-
Gemäß einem ersten Beispiel eines dritten Aspekts der vorliegenden Erfindung wird ein Produktionssystem bereitgestellt, umfassend eine Zelle, die eine Mehrzahl von Robotern und eine Mehrzahl von Steuervorrichtungen zum Steuern der Mehrzahl von Robotern umfasst; eine Zellsteuerung, die mit den in der Zelle umfassten Steuervorrichtungen kommunikativ verbunden ist; und eine Verwaltungssteuerung, die mit der Zellsteuerung kommunikativ verbunden ist, wobei die Zellsteuerung eine Vorgangsinformation und eine Lerninformation erfasst, die von den in der Zelle umfassten Steuervorrichtungen gesendet werden; die Vorgangsinformation und die Lerninformation an die Verwaltungssteuerung sendet; und einen Unterschied zwischen der Vorgangszeit der Vorgangsinformation und einer Vorgangszeit für Vergleichszwecke erhält und, wenn der Unterschied größer als ein optionaler Sollwert ist, zumindest eines von einer Verzögerung eines Vorgangs, eines Standardvorgangsverfahrens und einer Vorgangszeit für Vergleichszwecke als geeignete Vorgangszeit an die Steuervorrichtung sendet, die die Vorgangsinformation gesendet hat, und auf einer Anzeige der Steuervorrichtung angezeigt wird.
-
Gemäß einem zweiten Beispiel eines dritten Aspekts der vorliegenden Erfindung wird ein Produktionssystem bereitgestellt, umfassend eine Zelle, die eine Mehrzahl von Robotern und eine Mehrzahl von Steuervorrichtungen zum Steuern der Mehrzahl von Robotern umfasst; eine Zellsteuerung, die mit den in der Zelle umfassten Steuervorrichtungen kommunikativ verbunden ist; und eine Verwaltungssteuerung, die mit der Zellsteuerung kommunikativ verbunden ist, wobei die Verwaltungssteuerung eine Vorgangsinformation und eine Lerninformation erfasst, die von der Zellsteuerung gesendet wurden, die Vorgangsinformation und die Lerninformation speichert und über ein Gewicht für ein spezifiziertes Element/einen spezifizierten Prozess entscheidet. Das entschiedene Gewicht kann ein Gewicht für eine Person, ein Gewicht für eine Person, das aus Gewichten für eine Mehrzahl von Personen ausgewählt wird, oder ein Gewicht, das durch Kombinieren von Gewichten für eine Mehrzahl von Personen erhalten wird, sein.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die vorliegende Erfindung ist unter Bezugnahme auf die beiliegenden nachfolgenden Zeichnungen klar verständlich.
-
1 ist eine schematische Ansicht eines Konfigurationsbeispiels, bei dem ein Beispiel für ein Robotersystem gemäß dieser Ausführungsform angewandt wird;
-
2 ein Blockschaubild eines Beispiels für das Robotersystem in 1;
-
3 ist ein Schaubild, das ein Neuronenmodell schematisch zeigt;
-
4A und 4B sind Schaubilder, die ein neuronales Netzwerk mit drei Berechnungsschichten schematisch zeigt, das durch Kombinieren von Neuronen konfiguriert ist, wie in 3 gezeigt;
-
5A und FIG. sind erläuternde Ansichten eines Beispiels für eine Erkennungseinheit und eine Lerneinheit im Robotersystem, wie in 2 gezeigt;
-
6A, 6B und 6C sind erläuternde Ansichten eines Beispiels für ein Zielobjekt;
-
7A, 7B und 7C sind Ansichten eines Roboters von der Decke oder von der Seite aus gesehen;
-
8A, 8B, 8C und 8D sind erläuternde Ansichten eines Beispiels, wobei eine Schraube in einem Zielobjekt in ein Loch einer Einheit eingreift;
-
9A, 9B und 9C sind, wie die 7A, 7B und 7C, Ansichten, die ein Zielobjekt zeigen, ohne dass Einheiten oder Kabeln in vordefinierten Positionen platziert sind;
-
10 ist eine (erste) Ansicht, die ein Beispiel erläutert, wobei eine Einheit auf dem Zielobjekt angebracht wird, wie in den 9A bis 9C gezeigt, und Schrauben festgezogen werden;
-
11 ist eine (zweite) Ansicht, die ein Beispiel erläutert, wobei eine Einheit auf dem Zielobjekt angebracht wird, wie in den 9A bis 9C gezeigt, und Schrauben festgezogen werden;
-
12 ist eine (dritte) Ansicht, die ein Beispiel erläutert, wobei eine Einheit auf dem Zielobjekt angebracht wird, wie in den 9A bis 9C gezeigt, und Schrauben festgezogen werden;
-
13 ist eine (vierte) Ansicht, die ein Beispiel erläutert, wobei eine Einheit auf dem Zielobjekt angebracht wird, wie in den 9A bis 9C gezeigt, und Schrauben festgezogen werden;
-
14 ist eine (fünfte) Ansicht, die ein Beispiel erläutert, wobei eine Einheit auf dem Zielobjekt angebracht wird, wie in den 9A bis 9C gezeigt, und Schrauben festgezogen werden;
-
15 ist eine (sechste) Ansicht, die ein Beispiel erläutert, wobei eine Einheit auf dem Zielobjekt angebracht wird, wie in den 9A bis 9C gezeigt, und Schrauben festgezogen werden;
-
16A, 16B und 16C sind Ansichten, die den Status zeigen, in dem eine Einheit auf dem Zielobjekt angebracht ist, wie in den 7A, 7B und 7C und 9A, 9B und 9C gezeigt;
-
17 ist eine (erste) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
18 ist eine (zweite) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
19 ist eine (dritte) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
20 ist eine (vierte) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
21 ist eine (fünfte) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
22 ist eine (sechste) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
23 ist eine (siebte) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
24 ist eine (achte) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
25 ist eine (neunte) Ansicht, die eine beispielhafte Behandlung für das Zielobjekt erläutert, wie in den 16A bis 16C gezeigt;
-
26 ist eine Ansicht, die ein Beispiel erläutert, wobei das Zielobjekt ausgegeben wird;
-
27 ist eine Ansicht, die eine beispielhafte Konfiguration zum Bestätigen, dass ein Teil des Körpers nicht nach innerhalb einer Umgrenzung des Zielobjekts gelangt, erläutert;
-
28 ist eine Ansicht, die ein Beispiel erläutert, wobei eine Gesichtsauthentifizierung unter Verwendung eines neuronalen Netzwerks durchgeführt wird;
-
29 ist eine Ansicht einer Ausgabeschicht eines neuronalen Netzwerks und einer Schicht (der letzten Schicht von Zwischenschichten (verborgene Schichten)) vor der Ausgabeschicht;
-
30 ist eine Ansicht des Status, bei dem ein „Misserfolg” im neuronalen Netzwerk ausgegeben wird, wie in 29 gezeigt;
-
31 ist eine Ansicht, die einen beispielhaften Schablonenabgleich erläutert;
-
32 ist eine Ansicht, die den Status erläutert, bei dem eine Aktion B in 29 durch Schablonenabgleich erkannt wird;
-
33 ist eine Ansicht, die den Status erläutert, bei dem eine Aktion C in 29 durch Schablonenabgleich erkannt wird; und
-
34 ist ein Blockschaubild eines beispielhaften Herstellungssystems gemäß dieser Ausführungsform.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Im Folgenden werden Ausführungsformen einer Steuervorrichtung, eines Robotersystems und eines Produktionssystems gemäß der vorliegenden Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen ausführlich beschrieben. Man beachte, dass eine Person, ein Roboter usw. in den folgenden Figuren für ein leichteres Verständnis wegen in ihrem Maßstab entsprechend modifiziert wurden. Hier ist das Robotersystem als System definiert, bei dem eine Person und ein Roboter miteinander zusammenarbeiten, um einen vordefinierten Vorgang durchzuführen. In den folgenden Beschreibungen wird ein Vorgang, bei dem eine Person und ein Roboter miteinander zusammenarbeiten, um eine Einheit und ein Kabel mit einem Zielobjekt zusammenzufügen, als Beispiel erläutert. Natürlich ist die Anwendung der vorliegenden Erfindung jedoch nicht auf diesen Vorgang beschränkt.
-
1 ist eine schematische Ansicht eines Konfigurationsbeispiels, bei dem ein Beispiel für ein Robotersystem gemäß dieser Ausführungsform angewandt wird. 2 ist ein Blockschaubild eines Beispiels für das Robotersystem in 1. Zunächst wird ein Beispiel für das Robotersystem gemäß dieser Ausführungsform unter Bezugnahme auf die 1 und 2 beschrieben. Ein Roboter (kollaborativer Roboter) 1 dieser Ausführungsform ist ein Gelenkroboter, der einen Arm 4 und eine Mehrzahl von Schwenk-/Drehachsen umfasst. Man beachte, dass in den folgenden Beschreibungen eine Ausführungsform als Beispiel beschrieben wird, bei der der Gelenkroboter verwendet wird. Natürlich ist die Anwendung der vorliegenden Erfindung jedoch nicht den Gelenkroboter beschränkt.
-
Ein Robotersystem 3 umfasst eine Hand 6 als Endeffektor, der am Roboter 1 angebracht ist. Eine Greifhand 6-1 hat eine Funktion zum Greifen und Loslassen einer Einheit oder eines Kabels. Wie z. B. in 12, die später beschrieben wird, umfasst das Robotersystem 3 eine Dreherhand 6-2 als Endeffektor, durch Ersetzen der Greifhand 6-1 durch die Dreherhand 6-2, und hat sodann eine Funktion zum Festziehen von Schrauben unter Verwendung eines Drehers. Auch wenn in den Figuren nicht veranschaulicht, so kann ferner die Greifhand 6-1 durch z. B. einen Handwechsler (Hand Changer) durch die Dreherhand 6-2 ersetzt werden. Man beachte, dass der Handwechsler eine hinlänglich bekannte Technologie ist und demgemäß wird auf eine ausführliche Beschreibung dieses verzichtet. Der Endeffektor ist nicht auf die Greifhand oder die Dreherhand beschränkt und der Typ des Endeffektors kann gemäß dem Arbeitsinhalt ausgewählt werden.
-
Wie in 2 gezeigt, umfasst der Roboter 1 eine Armantriebsvorrichtung 44 zum Antreiben von Schwenk-/Drehachsen. Die Armantriebsvorrichtung 44 umfasst Armantriebsmotoren, die innerhalb der entsprechenden Schwenk-/Drehachsen angeordnet sind. Das Antreiben der Armantriebsmotoren bewirkt, dass der Arm 4 schwenkt/sich dreht, um in einem gewünschten Winkel positioniert zu sein. Man beachte, dass der Roboter 1 nicht auf einen Industrieroboter beschränkt ist und auf einen Feldroboter oder einen Serviceroboter angewandt werden kann.
-
Der Roboter 1 hat eine Greifhandantriebsvorrichtung 45 zum Schließen und Öffnen der Hand 6-1. Wenn die Greifhand durch die Dreherhand durch den Handwechsler ersetzt wird, hat der Roboter 1 eine Dreherhandantriebsvorrichtung 48 zum Festziehen von Schrauben unter Verwendung des Drehers der Hand 6-2. Die Greifhandantriebsvorrichtung 45 hat einen Greifhandantriebszylinder zum Antreiben der Hand 6-1 und eine Luftpumpe und ein elektromagnetisches Ventil, die Druckluft zum Greifhandantriebszylinder zuführen.
-
Die Dreherhandantriebsvorrichtung 48 umfasst eine Luftpumpe zum Zuführen von Druckluft und ein elektromagnetisches Ventil zum Antreiben des Drehers der Hand 6-2. Man beachte, dass die Hand elektrisch geöffnet und geschlossen werden kann oder der Dreher elektrisch gedreht werden kann, ohne dass Druckluft zum Einsatz kommt. Wenn es durch das Ersetzen der Hand ggf. zu einem Genauigkeitsproblem kommt, muss eine Mehrzahl von Robotern verwendet werden oder muss das Design der Hand geändert werden. Man nehme hier an, dass das Ersetzen der Hand kein Genauigkeitsproblem verursacht. Um in den Zeichnungen Verwirrungen zu vermeiden, ist ferner in 1 keine Handantriebsvorrichtung veranschaulicht.
-
Wenn Einheiten und Kabeln in einem Zielobjekt 50 zusammengefügt werden, wird eine Kraftänderung z. B. durch einen Kraftsensor 49 detektiert. Der Kraftsensor 49 kann an einer beliebigen Stelle bereitgestellt sein, hierin ist er des einfacheren Verständnisses wegen jedoch an einem Handgelenksteil bereitgestellt. Man beachte, dass ein beliebiger Detektor, der eine an den Roboter 1 angelegte Kraft detektieren kann, als Kraftsensor 49 verwendet werden kann.
-
Der Roboter 1 wird auf Basis eines Aktionsbefehls einer Steuervorrichtung 2 (Aktionssteuereinheit 43) angetrieben. Die Steuervorrichtung 2 umfasst eine arithmetische Verarbeitungseinheit mit einer CPU (zentrale Verarbeitungseinheit), einem RAM (Direktzugriffsspeicher), einem ROM (Nur-Lese-Speicher) usw., die über eine Busleitung miteinander verbunden sind. Die Steuervorrichtung 2 umfasst eine Speichereinheit 59 zum Speichern diverser Informationselemente. Die Steuervorrichtung 2 umfasst eine Aktionssteuereinheit 43 zum Steuern der Armantriebsvorrichtung 44, der Greifhandantriebsvorrichtung 45 und der Schrauberhandantriebsvorrichtung 48. Der Aktionsbefehl von der Aktionssteuereinheit 43 treibt die Armantriebsvorrichtung 44, die Greifhandantriebsvorrichtung 45 und die Schrauberhandantriebsvorrichtung 48 an. Die Steuervorrichtung 2 dieser Ausführungsform umfasst eine Einheit 46 zum Berechnen externer Kraft zum Schätzen einer externen Kraft, die von außerhalb des Roboters 1 an den Roboter 1 anzulegen ist.
-
Wie in 2 gezeigt, umfasst die Steuervorrichtung 2 eine Eingabeeinheit 41 und eine Anzeige 42. Die Anzeige 42 ist so ausgebildet, dass sie z. B. eine Information bezüglich des Antreibens des Roboters 1 anzeigt. Beispiele für die Anzeige 42 umfassen eine Flüssigkristallanzeigevorrichtung. Die Eingabeeinheit 41 ist so ausgebildet, dass eine Person einen gewünschten Befehl in die Steuervorrichtung 2 eingeben kann. Beispiele für die Eingabeeinheit 41 umfassen eine Tastatur. Man beachte, dass das Zielobjekt 50 in 1 auf z. B. einer Plattform läuft (die eine Plattform mit Rädern sein kann, auch wenn keine Räder gezeigt sind, oder die ein Bandförderer sein kann) und so platziert ist, dass eine Anbringungsfläche davon in Richtung der Decke gewandt ist. Ferner steht eine Person (Benutzer) 80 aufrecht, ohne dass er arbeitet. Eine Kamera 7 ist an der Decke angebracht und Winkel und Skalierung dieser können verändert werden. Die Kamera 7 ist so ausgelegt, dass sie Bilder des Zielobjekts 50, der Person 80 und des Roboters 1 aufnimmt. Es wird bevorzugt, dass eine Kamera 8 an einer Position zum Aufnehmen der Vorderseite der Person 80 platziert ist.
-
Unter Bezugnahme auf 2 wird die Erläuterung fortgesetzt. Bei dieser Ausführungsform umfasst die Steuervorrichtung 2 eine Maschinenlernvorrichtung 5, die die Aktion der Person 80 lernt und die Bewegung der Person 80 lernt, so dass der Roboter 1 der Aktion der Person 80 entsprechend arbeitet. Bei der Maschinenlernvorrichtung 5 dieser Ausführungsform erkennt eine Erkennungseinheit 53 (klassifiziert) die Aktion der Person 80 anhand einer Bildeingabe 51 (ein Bild der Kamera 7 oder der Kamera 8) und führt eine Lerneinheit 54 Lernaktivitäten durch. Bei den Lernaktivitäten werden Gewichte in einem neuronalen Netzwerk festgestellt, die später beschrieben sind. Wenn die Lerneinheit 54 die Gewichte im neuronalen Netzwerk aktualisiert, erhält die Erkennungseinheit 53 die aktualisierten Gewichte von der Lerneinheit 54. Nachdem die Erkennungseinheit 53 die aktualisierten Gewichte erhalten hat, werden die aktualisierten Gewichte für eine Berechnung des neuronalen Netzwerks verwendet. Wenn ermittelt wird, dass die Aktion der Person 80 eine vordefinierte Aktion ist, steuert die Aktionssteuereinheit 43 den Roboter 1 so, dass der Roboter 1 gemäß der Ermittlung arbeitet. Eine Vorverarbeitungseinheit 52 verarbeitet das Bild vor (z. B. komprimiert die Dimensionen), so dass z. B. die Erkennungseinheit 53 mit hoher Geschwindigkeit arbeiten kann. Was die Vorverarbeitung für das Bild betrifft, so können diverse bekannte Verfahren verwendet werden, und daher wird auf eine Erläuterung dieser verzichtet.
-
Bei der Erkennungseinheit 53 und der Lerneinheit 54 authentifiziert die Erkennungseinheit 53 das Gesicht der Person 80, wenn z. B. die Energiequelle eingeschaltet wird, und die in der Speichereinheit 59 gespeicherten Gewichte werden verwendet oder das der Person 80 entsprechende Gewicht wird von einer Steuerung höherer Ebene erhalten und verwendet. Man beachte, dass die Person 80 durch Einsetzen eines Speichermediums, z. B. eines USB-(Universal Serial Bus)-Speichers, der die Information der Person 80 speichert, in einen UBS-Anschluss ermittelt werden kann, anstatt mit der von der Erkennungseinheit 53 durchgeführten Gesichtsauthentifizierung. Alternativ kann die Person 80 z. B. anhand einer Kennung oder einer Kennung und Passwort über die Tastatur oder eines Personalausweises und eines Lesegeräts ermittelt werden. Infolge der Ermittlung können die in der Speichereinheit 59 gespeicherten Gewichte verwendet werden oder das Gewicht kann von der Steuerung höherer Ebene erhalten und verwendet werden. Man beachte, dass das Gewicht für eine Person, wie aus einer Mehrzahl von Personen ausgewählt, oder das Gewicht, das durch Kombinieren der Gewichte einer Mehrzahl von Personen erhalten wird, von der Steuerung höherer Ebene gesendet und verwendet werden kann. Ferner werden die Gewichte in der Lerneinheit 54 aktualisiert, speichert die Speichereinheit 59 eine Lerninformation (die Gewichte im neuronalen Netzwerk). Man nehme an, dass ein Gewicht (das Gewicht für eine Person), das zumindest verwendbar ist, vorab gespeichert wird.
-
Wie in 2 gezeigt, können alternativ Maschinenlernvorrichtungen 5 einer Mehrzahl von Steuervorrichtungen 2 so konfiguriert sein, dass sie Daten über Kommunikationsmedien teilen oder austauschen. Beispielsweise in einer Maschinenfabrik, die eine Mehrzahl von Robotersystemen 3 umfasst, die von den entsprechenden Steuervorrichtungen 2 gesteuert werden, d. h. ein Produktionssystem, das eine Mehrzahl von Robotersystemen 3 umfasst, sind die Maschinenlernvorrichtungen 5 der entsprechenden Robotersysteme 3 so ausgelegt, dass sie Daten über ein Kommunikationsmedium, z. B. eine Kommunikationsleitung wie z. B. Ethernet (eingetragene Handelsmarke) oder das Internet teilen oder austauschen. Man beachte, dass die Lerneinheit 54 jeder Maschinenlernvorrichtung 5 in der Steuerung höherer Ebene bereitgestellt sein kann, ohne dass sie z. B. in der entsprechenden der Steuervorrichtungen 2 bereitgestellt ist. Wie oben ersichtlich, kann die Anzahl von Lernaktivitäten durch Teilen oder Austauschen der gelernten Information erhöht werden. Folglich kann die Lerngenauigkeit verbessert werden.
-
Die Steuervorrichtung 2 umfasst eine Vorgangszeitmesseinheit 47 zum Messen einer Vorgangszeit. Die Vorgangszeitmesseinheit 47 dieser Ausführungsform misst eine Zeit vom Beginn zum Ende des Zusammenfügens und eine Bewegungszeit und eine Stillstandszeit (Ausfallszeit) der Person 80 und des Roboters 1 bei jedem Vorgang. Die Vorgangszeitmesseinheit 47 dieser Ausführungsform misst eine Vorgangszeit auf Basis eines Befehls der Aktionssteuereinheit 43. Man beachte, dass die Person 80 in dieser Schrift als Person definiert ist, die einen Vorgang (eine Behandlung) in Zusammenarbeit mit dem Roboter 1 durchführt, und wenn nur das Wort „Person” ohne Bezugszeichen beschrieben ist, umfasst die Definition der „Person” nicht nur eine Person, die eine Behandlung (Vorgang) in Zusammenarbeit mit dem Roboter 1 tatsächlich durchführt, sondern auch eine Person, die nicht direkt mit dem Roboter 1 zusammenarbeitet.
-
Es wird nun die Maschinenlernvorrichtung beschrieben. Die Maschinenlernvorrichtung verfügt über Funktionen des analytischen Extrahierens einer nützlichen Regel, einer Wissensrepräsentation, eines Ermittlungskriteriums oder dergleichen, wie darin umfasst, zum Ausgeben eines Ergebnisses der Beurteilung und zum Durchführen des Lernens von Wissens (Maschinenlernen) aus einem Satz von in die Vorrichtung eingegebenen Daten. Diverse Techniken sind für das Maschinenlernen verfügbar und diese werden breit in z. B. „überwachtes Lernen”, „unüberwachtes Lernen” und „Verstärkungslernen” klassifiziert. Außerdem gibt es eine Technik, die als „tiefes Lernen” bezeichnet wird, bei der eine Extraktion eines Merkmalswert per se gelernt wird, um diese Techniken umzusetzen.
-
Man beachte, dass ein „(überwachtes) neuronales Netzwerk” bei jeder Maschinenlernvorrichtung 5 angewandt wird, die in 2 gezeigt ist. Auch wenn die Maschinenlernvorrichtung (Maschinenlernvorrichtung 5) einen Universalcomputer oder einen Prozessor verwendet kann, wird durch Verwendung z. B. einer allgemeinen Berechnung auf Graphikverarbeitungseinheiten (GPGPU), großskalierten PC-Gruppierungen oder dergleichen eine höhere Verarbeitung möglich.
-
Zunächst ist „überwachtes Lernen” ein Verfahren, bei dem ein großes Volumen von gepaarten Eingabe-Ausgabe-Daten (Labels) an eine Maschinenlernvorrichtung bereitgestellt wird, so dass Charakteristika dieser Datensätze gelernt werden können, und ein Modell (Fehlermodell) zum Ableiten eines Ausgabewerts von Eingabedaten, d. h. der Eingabe-Ausgabe-Beziehung, induktiv erfasst werden kann. Dies kann unter Verwendung eines Algorithmus erzielt werden, z. B. eines neuronalen Netzwerks, das später beschrieben wird.
-
„Unüberwachtes Lernen” ist ein Verfahren, bei dem ein großes Volumen von Nur-Eingabe-Daten an eine Maschinenlernvorrichtung bereitgestellt wird, so dass die Verteilung der Eingabedaten gelernt werden kann, und eine Vorrichtung z. B. zum Komprimieren, Klassifizieren und Glätten der Eingabedaten kann gelernt werden, sogar wenn die entsprechenden Lehrerausgabedaten nicht bereitgestellt werden. Beispielsweise können Charakteristika dieser Datensätze auf Basis deren Ähnlichkeit gruppiert werden. Das aus dem Lernen erhaltene Ergebnis wird verwendet, um ein gewisses Kriterium einzustellen, und danach wird eine Zuweisung des Ergebnisses durchgeführt, um das Kriterium zu optimieren, so dass die Ausgabeprognose erzielt werden kann.
-
Zwischen dem „unüberwachten Lernen” und dem „überwachten Lernen” gibt es ein weiteres Problemermittlungsverfahren, das als „semiüberwachtes Lernen” bekannt ist. Bei diesem Lernverfahren wird ein kleines Volumen von gepaarten Eingabe-Ausgabe-Daten und ein großes Volumen von Nur-Eingabedaten bereitgestellt. Bei dieser Ausführungsform werden Daten (z. B. Bilddaten oder Simulationsdaten), die sogar erfasst werden können, wenn die Person 80 und das Robotersystem 3 nicht tatsächlich in Betrieb sind, beim unüberwachten Lernen verwendet, um ein Lernen effizient durchzuführen.
-
Es wird nun das Verstärkungslernen beschrieben. Probleme werden beim Verstärkungslernen wie folgt ermittelt.
-
Eine Verarbeitungsmaschine beobachtet den Umgebungsstatus und entscheidet über eine Aktion.
-
Die Umgebung variiert gemäß gewissen Regeln und Ihre Aktion kann die Umgebung beeinflussen.
-
Ein Vergütungssignal wird bei jeder Aktion zurückgegeben.
-
Das Ziel der Maximierung ist sodann die Summe von (Diskontierungs-)Vergütungen, die jetzt und in der Zukunft zu erhalten sind.
-
Das Lernen beginnt ab dem Status, in dem ein Ergebnis, das durch eine Aktion bewirkt wird, vollständig unbekannt oder teilweise bekannt ist. Die Verarbeitungsmaschine kann das Ergebnis erst dann als Daten erfassen, nachdem sie tatsächlich mit dem Vorgang begonnen hat. Anders ausgedrückt ist es erforderlich, die optimale Aktion durch die Trial-and-Error-Methode festzustellen.
-
Es ist außerdem möglich, als Ausgangsstatus den Status einzustellen, bei dem ein vorheriges Lernen (z. B. das obige überwachte Lernen oder ein umgekehrtes Verstärkungslernen) durchgeführt wird, um die Aktion einer Person nachzuahmen, und mit dem Lernen von einem geeigneten Startpunkt zu starten.
-
Das „Verstärkungslernen” ist ein Lernverfahren zum Lernen von nicht nur Ermittlungen oder Klassifikationen, sondern auch von Aktionen, um eine geeignete Aktion auf Basis der Interaktion einer Aktion mit einer Umgebung zu lernen, d. h. ein Verfahren zum Maximieren von Vergütungen, die in der Zukunft erhalten werden, zu lernen. Das Verstärkungslernen wird nachstehend unter Verwendung von z. B. Q-Learning weiter erläutert, das Verstärkungslernen ist jedoch nicht auf das Q-Learning beschränkt.
-
Das Q-Learning ist ein Verfahren zum Lernen eines Werts Q(s, a), bei dem eine Aktion a unter einem Umgebungsstatus s ausgewählt wird. Anders ausgedrückt ist nur erforderlich, dass die Aktion a mit dem höchsten Wert Q(s, a) als optimale Aktion a unter einem gegebenen Status s ausgewählt wird. Z u Beginn ist der korrekte Wert des Werts Q(s, a) für eine Kombination aus dem Status s und der Aktion a jedoch gänzlich unbekannt. Danach wählt der Agent (Subjekt einer Aktion) diverse Aktionen a unter einem gegebenen Status s aus und stellt Vergütungen zu diesem Zeitpunkt zu den Aktionen a bereit. Somit lernt der Agent das Auswählen einer vorteilhafteren Aktion, d. h. des korrekten Werts Q (s, a).
-
Infolge der Aktion wird die Summe von Vergütungen, die in der Zukunft zu erhalten sind, durch Q(s, a) = E[Σγ
tr
t] dargestellt, wobei E[Σγ
tr
t] einen erwarteten Wert darstellt. Die Maximierung des Werts Q(s, a) ist erwünscht, wird jedoch schließlich erzielt, wenn der Status gemäß der optimalen Aktion variiert. Selbstverständlich ist der erwartete Wert unbekannt und sollte demgemäß während der Suche gelernt werden. Der Aktualisierungsausdruck für einen solchen Wert Q(s, a) ist z. B. durch die folgende Gleichung (1) gegeben:
-
Bei der obigen Gleichung (1) stellt st einen Status der Umgebung zu einem Zeitpunkt t dar und stellt at eine Aktion zum Zeitpunkt t dar. Durch die Aktion at verändert sich der Status zu st+1. rt+1 ist ist die Vergütung, die bei einer Statusänderung zu erhalten ist. Der Term, dem „max” angefügt ist, wird durch Multiplizieren des Q-Werts, der erhalten wird, wenn die Aktion a mit dem höchsten Q-Wert zu diesem Zeitpunkt unter dem Status st+1 ausgewählt wird, mit γ erhalten. γ ist der Parameter mit einem Bereich von 0 < γ ≤ 1 (wenn γ = 1 erfüllt ist, erreicht der Bereich der kumulativen Summe keinen unendlichen Wert und ist begrenzt) und wird Diskontierungsrate genannt. α ist der Lernfaktor und hat einen Bereich von 0 < α ≤ 1.
-
Gleichung (1) stellt ein Verfahren zum Aktualisieren des Beurteilungswerts Q(st, at) der Aktion at im Status st auf Basis der Vergütung rt+1, die als Ergebnis des Versuchs at zurückgegeben wird, dar. Mehr im Detail wird, wenn die Summe der Summe der Vergütung rt+1 und des Beurteilungswerts Q(st+i, max at+i) der besten Aktion a im Status nach dem Status s nach Aktion a größer als der Beurteilungswert Q(st, at) der Aktion a im Status s ist, Q(st, at) erhöht; ansonsten wird Q(st, at) verringert. Anders ausgedrückt wird der Wert einer bestimmten Aktion in einem bestimmten Status der unmittelbar als Ergebnis zurückgegebenen Vergütung und dem Wert der besten Aktion im darauffolgenden Status nach der bestimmten Aktion nahegebracht.
-
Beispiele für das Verfahren zum Ausdrücken von Q(s, a) auf einem Computer umfassen ein Verfahren zum Aufbewahren der Werte aller Status-Aktion-Paare (s, a) als Tabelle und ein Verfahren zum Generieren einer Funktion zum Approximieren von Q(s, a). Beim letzteren Verfahren kann der obige Aktualisierungsausdruck durch Anpassen eines Parameters der Approximationsfunktion unter Verwendung eines Verfahrens wie z. B. stochastischen Gradientenabstiegs umgesetzt werden. Ein neuronales Netzwerk kann als Approximationsfunktion verwendet werden.
-
Es wird nun das neuronale Netzwerk beschrieben. 3 ist ein Schaubild, das ein Neuronenmodell schematisch zeigt. 4A ist ein Schaubild, das ein neuronales Netzwerk mit drei Berechnungsschichten schematisch zeigt, das durch Kombinieren der Neuronen konfiguriert ist, wie in 3 gezeigt. Das neuronale Netzwerk umfasst insbesondere z. B. eine arithmetische Vorrichtung und einen Speicher, die ein neuronales Netzwerk umsetzen, das ein Neuronenmodell simuliert, wie in 3 gezeigt.
-
Wie in 3 gezeigt, gibt ein Neuron eine Ausgabe (Ergebnis) y in Reaktion auf eine Mehrzahl von Eingaben x aus (Eingaben x1 bis x3 werden hier als Beispiel in 3 bereitgestellt). Gewichte w (w1 bis w3) werden auf die entsprechenden Eingaben x1 bis x3 angewandt. Dies bewirkt, dass das Neuron die Ausgabe y ausgibt, die durch die nachstehende Gleichung ausgedrückt wird. Man beachte, dass es sich bei den Eingaben x, der Ausgabe y und den Gewichten w jeweils um Vektoren handelt. Bei der nachstehenden Gleichung (2) ist θ eine Verzerrung und ist fk eine Aktivierungsfunktion.
-
-
Ein dreischichtiges neuronales Netzwerk umfasst eine Kombination von Neuronen, wie in 3 gezeigt, und wird nun unter Bezugnahme auf 4A beschrieben. Wie in 4A gezeigt, wird eine Mehrzahl von Eingaben x (Eingaben x1 bis x3 werden hier als Beispiel bereitgestellt) von der linken Seite des neuronalen Netzwerks eingegeben und werden Ergebnisse y (Ergebnisse y1 bis y3 werden hier als Beispiel bereitgestellt) von der rechten Seite des neuronalen Netzwerks ausgegeben. Insbesondere werden die Eingaben x1, x2 und x3, auf die die entsprechenden Gewichte angewandt wurden, jeweils in drei Neuronen N11 bis N13 eingegeben. Diese auf die Eingaben angewandten Gewichte werden gesammelt als w1 bezeichnet.
-
Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. In 4A werden diese z11 bis z13 werden gesammelt durch einen Merkmalsvektor Z1 ausgewiesen und können als Vektor behandelt werden, der durch Extrahieren einer Merkmalshöhe eines Eingabevektors behandelt werden kann. Dieser Merkmalsvektor Z1 ist ein Merkmalsvektor zwischen dem Gewicht w1 und Gewicht w2. Die Merkmalsvektoren z11 bis z13, auf die die entsprechenden Gewichte angewandt wurden, werden in zwei Neuronen N21 und N22 eingegeben. Diese auf die Merkmalsvektoren angewandten Gewichte werden gesammelt als W2 bezeichnet.
-
Die Neuronen N21 und N22 geben z21 bzw. z22 aus. In 4A sind diese z21 und z22 gesammelt als Merkmalsvektor Z2 ausgewiesen. Dieser Merkmalsvektor Z2 ist ein Merkmalsvektor zwischen dem Gewicht W2 und Gewicht W3. Die Merkmalsvektoren z21 und z22, auf die die entsprechenden Gewichte angewandt wurden, werden in drei Neuronen N31 bis N33 eingegeben. Diese auf die Merkmalsvektoren angewandten Gewichte werden gesammelt als W3 bezeichnet.
-
Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus. Der Betrieb des neuronalen Netzwerks umfasst einen Lernmodus und einen Wertprognosemodus. Beispielsweise wird ein Lerndatensatz verwendet, um die Gewichte W im Lernmodus zu lernen, und werden aus dem Lernen erhaltene Parameter verwendet, um die Aktion des Roboters im Prognosemodus zu ermitteln. Man beachte, dass der Ausdruck „Prognose” der Einfachheit halber hierin verwendet wird, jedoch diverse Aufgaben, die eine Detektion, Klassifizierung, Ableitung usw. umfassen, ausgeführt werden können.
-
Es ist möglich, nicht nur das ein Lernen (Online-Lernen) durchzuführen, bei dem Daten, die durch tatsächliches Betreiben des Roboters im Prognosemodus erfasst wurden, unmittelbar gelernt werden und in einer darauffolgenden Aktion widergespiegelt werden, sondern auch ein Lernen (bündelweises Lernen) durchzuführen, bei dem bisher gesammelte Daten unter Verwendung einer Gruppe der Daten gesammelt gelernt werden und danach ein Erkennungsmodus unter Verwendung von aus dem Lernen erhaltenen Parametern durchgeführt wird. Ein weiterer Zwischenlernmodus kann jedes Mal, wenn eine vordefinierte Datenmenge gesammelt wurde, zwischengeschaltet werden.
-
Die Gewichte W1 bis W3 können durch ein Fehlerrückpropagierungsverfahren gelernt werden. Die Information zu Fehlern wird von der rechten Seite zur linken Seite eingebracht. Das Fehlerrückpropagierungsverfahren ist ein Verfahren zum Anpassen (Lernen) jedes Gewichts, um den Unterschied zwischen der Ausgabe y, wenn die Eingabe x eingegeben wird, und der wahren Ausgabe y (Lehrer) für jedes Neuron zu verringern. In einem solchen neuronalen Netzwerk können zwei Schichten oder vier oder mehr Schichten bereitgestellt sein (dies wird „tiefes Lernen” genannt, wenn die Anzahl von Schichten erhöht wird). Eine arithmetische Vorrichtung, die Merkmale aus Eingabedaten schrittweise extrahiert, um ein Ergebnis zurückzugeben, kann lediglich anhand von Lehrerdaten automatisch erfasst werden.
-
4B zeigt ein neuronales Netzwerk, das, wie in 4A, drei Berechnungsschichten aufweist, als Eingabeschicht, Zwischenschichten (verborgene Schichten) und Ausgabeschicht bezeichnet. Die Maschinenlernvorrichtung 5 dieser Ausführungsform umfasst, um das neuronale Netzwerk verwenden zu können, die Bildeingabe 51, die Vorverarbeitungseinheit 52, die Erkennungseinheit 53 und die Lerneinheit 54. Das bei der vorliegenden Erfindung angewandte Maschinenlernverfahren ist jedoch nicht auf das neuronale Netzwerk beschränkt. Wie oben beschrieben, kann das Maschinenlernen (die Maschinenlernvorrichtung 5) ferner z. B. durch GPGPU oder eine großskalierte PC-Gruppierung umgesetzt werden. Bei dieser Ausführungsform wird aus den diversen Maschinenlernverfahren das oben genannte überwachte Lernen unter Verwendung des oben beschriebenen neuronalen Netzwerks durchgeführt. Wie oben beschrieben, können bei dieser Ausführungsform diverse Verfahren verwendet werden.
-
5A und 5B sind erläuternde Ansichten eines Beispiels für eine Erkennungseinheit und eine Lerneinheit des Robotersystems, wie in 2 gezeigt, und erläutern die Erkennungseinheit 53 und die Lerneinheit 54 der Maschinenlernvorrichtung 5, wobei ein „überwachtes Lernen” angewandt wird, in der Steuervorrichtung 2 des Robotersystems 3 dieser Ausführungsform. 5A ist ein Blockschaubild von Eingangs- und Ausgangssignalen der Erkennungseinheit 53 und der Lerneinheit 54. 5B ist ein Blockschaubild von Beispielen der Erkennungseinheit 53 und der Lerneinheit 54, wobei ein „überwachtes Lernen” angewandt wird. Wie in 5A gezeigt, wird eine Statusvariable (Eingabedaten) zum Beobachten des Status einer Umgebung von außerhalb in die Erkennungseinheit 53 in der Maschinenlernvorrichtung 5 eingegeben und werden eine Statusvariable (Eingabedaten) sowie Lehrerdaten (Labels) (auch als Korrekte-Antwort-Labels, Korrekte-Antwort-Daten bezeichnet) in die Lerneinheit 54 eingegeben (wenn Lerndatensätze vorhanden sind, werden „gewisse Daten und Lehrerdaten (Labels)” eingegeben).
-
Wie in 5B gezeigt, umfasst die Lerneinheit 54 eine Fehlerberechnungseinheit 541 und eine Fehlermodellaktualisierungseinheit (Lernmodellaktualisierungseinheit) 542. Die Fehlerberechnungseinheit 541 empfängt Lehrerdaten (Labels) und Ausgaben (die Ausgaben der Ausgabeschicht und der Zwischenschicht), um eine Berechnung (z. B. Quadratischer-Fehler-Berechnung) von Fehlern (Unterschieden) zwischen den Lehrerdaten (Labels) und den Ausgaben aus der Erkennungseinheit 53 durchzuführen. Auf Basis der Fehler (Unterschiede) wird eine Fehlerfunktion (Zielfunktion) berechnet. Danach aktualisiert die Fehlermodellaktualisierungseinheit 542 ein Lernmodell, um die Fehler zu verringern (auf Basis der Fehlerfunktion (Zielfunktion) wird das Gewicht W z. B. durch ein Rückpropagierungsalgorithmus-/Gradientenabstiegsverfahren aktualisiert).
-
Beim anfänglichen Lernen (Lernen unter Verwendung von Lerndatensätzen) entspricht eine Statusvariable (Eingabedaten) z. B. Bilddaten, durch die das Dargestellte offensichtlich ist, und entsprechen Lehrerdaten (Labels) z. B. Daten, die darstellen, welche Ausgabe in der Ausgabeschicht effektiv ist, wie nachstehend unter Bezugnahme auf 29 ausführlich beschrieben. Insbesondere ist, was z. B. eine Bildeingabe in einem „Schraubvorgang in Einheit A” betrifft, die Ausgabe C für die Lehrerdaten (Labels) effektiv.
-
Diese Lerndatensätze werden verwendet, so dass die Fehlerberechnungseinheit 541 als Eingaben z. B. die Ausgaben der Erkennungseinheit 53 in Reaktion auf die Bildeingaben und die Lehrerdaten empfängt, um Fehler zwischen diesen zu berechnen. Auf Basis der Fehler (Unterschiede) wird eine Fehlerfunktion (Zielfunktion) berechnet. Die Fehlermodellaktualisierungseinheit 542 aktualisiert das Lernmodell, um die Fehler zu verringern (auf Basis der Fehlerfunktion (Zielfunktion) wird das Gewicht W z. B. durch ein Rückpropagierungsalgorithmus-/Gradientenabstiegsverfahren aktualisiert). Wenn das Gewicht W aktualisiert wird, wird das aktualisierte Gewicht W zur Erkennungseinheit 53 transferiert. Man beachte, dass, wenn die Fehlermodellaktualisierungseinheit 542 das Gewicht von einer anderen Einheit wie z. B. der Steuerung empfängt, das empfangene Gewicht zur Erkennungseinheit 53 transferiert wird.
-
In den letzten Jahren wurde eine Verfahren verwendet, bei dem „ein Zufallswert” als Ausgangsgewicht W „eingegeben wird, und demgemäß kann der Ausgangswert des Gewichts W ein Zufallswert sein. Ferner umfassen Beispiele für den Lerndatensatz z. B. Daten, die in einem nichtflüchtigen Speicher wie z. B. einem Flash-Speicher gespeichert werden, der in der Steuervorrichtung 2, der Maschinenlernvorrichtung 5, der Lerneinheit 54 oder der Erkennungseinheit 53 vorhanden ist, Daten, die in einer Zellsteuerung oder einer Verwaltungssteuerung gespeichert sind, Daten, die über eine Kommunikationsleitung bereitgestellt werden, oder Daten, die aus einem USB eingegeben werden. Diese Beschreibung spezifiziert nicht, wie der Lerndatensatz bereitzustellen ist oder wo der Lerndatensatz gespeichert wird.
-
Wenn in einem tatsächlichen Vorgang verwendet, gibt die Erkennungseinheit 53 die Ausgaben von Bilddaten der Vorverarbeitungseinheit 52 als Statusvariable (Eingabedaten) ein und berechnet Ausgaben anhand der Eingaben im neuronalen Netzwerk in 29 oder 30, um Werte der Ausgaben zu erhalten. Wenn der Wert der Ausgabe (z. B. Ausgabe C) effektiv ist, wird der Fakt, dass die Ausgabe (z. B. Ausgabe C) effektiv ist, an die Aktionssteuereinheit übermittelt und wird der Wert der Ausgabe (einer der Ausgaben der Ausgabeschicht und der Zwischenschichten, z. B.
-
Ausgabe C) in die Fehlerberechnungseinheit 541 eingegeben. Die Fehlerberechnungseinheit 541 berechnet Fehler zwischen den Werten der Ausgaben der Ausgabeschicht und der Lehrerdaten. Auf Basis der Fehler (Unterschiede) wird eine Fehlerfunktion (Zielfunktion) berechnet. Die Fehlerberechnungseinheit 541 gibt die Fehlerfunktion (Zielfunktion) und die Ausgaben aus der Erkennungseinheit 53 in die Fehlermodellaktualisierungseinheit 542 ein und die Fehlermodellaktualisierungseinheit 542 aktualisiert das Gewicht W z. B. durch ein Fehlerrückpropagierungsalgorithmus-/Gradientenabstiegsverfahren auf Basis der Fehlerfunktion (Zielfunktion).
-
In 5B werden die Ausgaben der Ausgabeschicht und der Zwischenschicht von der Erkennungseinheit 53 zur Fehlerberechnungseinheit 541 transferiert. Die Ausgaben können jedoch sowohl an die Fehlerberechnungseinheit 541 als auch die Fehlermodellaktualisierungseinheit 542 transferiert werden. In 5B wird eine Statusvariable (Statusquantität oder Eingabedaten) in die Fehlermodellaktualisierungseinheit 542 eingegeben. Die Statusvariable kann jedoch von der Erkennungseinheit 53 zur Fehlermodellaktualisierungseinheit 542 transferiert werden. Ferner umfassen die Werte der Ausgaben, die von der Erkennungseinheit 53 an die Fehlerberechnungseinheit 541 bereitgestellt werden, eine Information diesbezüglich, welche Ausgabe (z. B. Ausgabe C) in der Ausgabeschicht von 29 oder 30 effektiv ist, wie später ausführlich beschrieben, und ein Misserfolgssignal in 30 (wie später beschrieben, wird, wenn ein Vorgang normal zu einem nächsten Vorgang übergeht und der Vorgang abgeschlossen wurde, wenn der Vorgang nicht als „Misserfolg” behandelt wird, der Vorgang als Erfolg behandelt).
-
6A, 6B und 6C sind Ansichten, die ein Beispiel des Zielobjekts erläutern. 6A zeigt, dass Einheiten A und B im Zielobjekt 50 angebracht sind. 6B zeigt, dass keine Einheiten im Zielobjekt 50 angebracht sind. 6C zeigt, dass Einheiten A und B und ein Kabel im Zielobjekt 50 angebracht sind.
-
7A, 7B und 7C sind Ansichten eines Beispiels für den Status eines Roboters von der Decke oder von der Seite aus gesehen. 7A ist eine Seitenansicht des Roboters 1. 7B ist eine Ansicht des Roboters 1 von oben aus gesehen. 7C ist eine Ansicht des Zielobjekts 50 und der Person (Benutzer) 80 von oben aus gesehen. Man beachte, dass das Zielobjekt 50 so platziert ist, dass sein Anbringungsabschnitt in 7A bis 7C zur Decke gewandt ist. Die „O”-förmigen Abschnitte im Zielobjekt 50 stellen Schrauben oder Schraubenlöcher dar. 8A, 8B, 8C und 8D sind erläuternde Ansichten eines Beispiels, wobei eine Schraube in einem Zielobjekt in ein Loch einer Einheit eingreift. 8A bis 8D stellen den Zeitablauf im Prozess dar.
-
Wie in 7C gezeigt, hat das Zielobjekt 50 Schrauben und Schraubenlöcher. Dies ist z. B. darauf zurückzuführen, dass, wenn die in 8B nicht vollständig festgezogene Schraube eingesetzt wird, wie in 8C gezeigt, in den Schraubenlochabschnitt der Einheit, wie in 8A gezeigt, der aus einem größeren Loch als der Kopf einer Schraube und einem etwas größeren Loch als der Durchmesser der Schraube zusammengesetzt ist, und danach die Einheit wie in 8D gezeigt bewegt wird, „O” im Zielobjekt 50 in 7C eine Schraube und kein Schraubenloch ist.
-
7A bis 7C zeigen den Kopf und die Schulter der Person 80, den Roboter 1 und das Zielobjekt 50 dazwischen von oben aus gesehen. Man beachte, dass die Einheiten A und B und das anzubringende Kabel innerhalb der Reichweite des Arms 4 (nicht gezeigt) des Roboters 1 platziert sind. Der von der Seite aus gesehene Roboter 1 ist über dem von oben aus gesehenen Roboter 1 gezeigt (im oberen Abschnitt des Papiers). Der von oben aus gesehene Roboter 1 und der von der Seite aus gesehene Roboter 1 sind der gleiche Roboter. Man beachte, dass, wenngleich nicht veranschaulicht, die Kamera 8 so platziert ist, dass sie das Gesicht und die Aktion der Person 80 erkennt.
-
In 2 ist die Kamera 8 mithilfe einer Stange auf dem Boden platziert. Wenn die Kamera 8 jedoch die Aktion des Roboters 1 stört oder der Roboter 1 das Bild der Person 80 unterbricht, kann die Kamera 8 von der Decke gehängt werden, um das Gesicht und die Aktion der Person 80 aufzunehmen. Wenn eine Wand in der Nähe ist, kann die Kamera alternativ an der Wand bereitgestellt werden.
-
Die Authentifizierung des Gesichts kann unter Verwendung eines neuronalen Netzwerks durchgeführt werden, wie in 28 gezeigt und später beschrieben, kann aber auch unter Verwendung von Schablonenabgleich durchgeführt werden. Der Schablonenabgleich wird kurz beschrieben. Um zu untersuchen, ob ein gewünschtes Bild, das als „Schablone” bezeichnet wird, in zu extrahierenden Bildern vorhanden ist, bewegt sich die Schablone Stück für Stück, z. B. vom oberen linken Ende zum oberen rechten Ende, wie in 31 gezeigt, um die Ähnlichkeit zwischen der Schablone und jedem Bild durch Berechnung festzustellen. Die Schablone bewegt sich in eine Position etwas unter dem oberen linken Ende, nachdem sie das rechte Ende erreicht hat, und führt danach eine Berechnung auf ähnliche Weise durch. In diesem Fall wird die Untersuchung abgeschlossen, wenn die Schablone das untere rechte Ende erreicht hat. Das Untersuchungsverfahren (z. B. ein Verfahren unter Verwendung einer normalisierten Korrelation oder ein Verfahren unter Verwendung einer geometrischen Konfiguration), die Vorverarbeitung, die Beschleunigung werden ausgelassen, da sie hinlänglich bekannt sind.
-
28 ist eine Ansicht, die ein Beispiel erläutert, wobei eine Gesichtsauthentifizierung unter Verwendung eines neuronalen Netzwerks durchgeführt wird, und stellt die Ausgabeschicht und die vorherige Schicht davon (die letzte der Zwischenschichten (verborgene Schichten)) im neuronalen Netzwerk dar. Wenn der Wert (Wahrscheinlichkeit) einer Ausgabe der Ausgabeschicht größer gleich einem vordefinierten Wert ist, ist die Ausgabe effektiv. Beispielsweise wenn der Wert (Wahrscheinlichkeit) der Ausgabe C größer gleich einem vordefinierten Wert ist, wird ermittelt, dass die Person Herr/Frau Eda ist. Wenn, wie oben ersichtlich, der Wert (Wahrscheinlichkeit) einer Ausgabe der Ausgabeschicht größer gleich einem vordefinierten Wert ist, ist die Ausgabe effektiv. Es ist jedoch auch möglich, zu ermitteln, dass die Ausgabe effektiv ist, wenn der Wert (Wahrscheinlichkeit) einer Ausgabe der Ausgabeschicht größer gleich einem vordefinierten Wert ist und wenn der Unterschied zu der anderen Ausgabe größer gleich einem vordefinierten Wert ist. Was das Verfahren zum Ermitteln, ob eine Ausgabe effektiv ist, betrifft, so wurde das einfachste Verfahren beschrieben. Es können jedoch auch andere Verfahren verwendet werden. Die oben genannte Idee, bei der, wenn der Wert (Wahrscheinlichkeit) einer Ausgabe der Ausgabeschicht größer gleich einem vordefinierten Wert ist, die Ausgabe effektiv ist, wird bei den obigen Beschreibungen ebenfalls verwendet. Man beachte, dass das neuronale Netzwerk und der Schablonenabgleich kombiniert werden können.
-
Bei den obigen Beschreibungen ist das Verfahren zum Authentifizieren des Gesichts bei dieser Ausführungsform nicht auf die Verwendung des neuronalen Netzwerks oder Schablonenabgleichs beschränkt und diverse andere Verfahren können ebenfalls verwendet werden. Anders ausgedrückt können neben der Verwendung des neuronalen Netzwerks und des Schablonenabgleichs beliebige Verfahren verwendet werden, die das Gesicht authentifizieren können.
-
9A, 9B und 9C sind, wie die 7A, 7B und 7C, Ansichten, die ein Zielobjekt zeigen, wobei keine Einheiten und Kabeln vorhanden sind, in einer vordefinierten Position platziert. Man beachte, dass 9A bis 9C 7A bis 7C entsprechen. 10 bis 15 sind Ansichten, die ein Beispiel erläutern, wobei eine Einheit im Zielobjekt angebracht wird, wie in den 9A bis 9C gezeigt, und Schrauben festgezogen werden.
-
In 9A bis 9C führt, wenn das Zielobjekt 50, in dem die Einheiten und Kabeln nicht angebracht sind, in einer in den Zeichnungen gezeigten Position platziert ist, z. B. die Kamera 7 an der Decke eine Bilderkennung der Positionen der Schrauben oder Schraubenlöcher, mit denen die Einheiten A und B angebracht werden, durch und danach wird eine Positionsanpassung durchgeführt und danach beginnt die Zeitmessung und das Zusammenfügen wird begonnen. Die Zeitmessung wird für die Zeit vom Beginn bis zum Ende des Zusammenfügens und die Bewegungszeit und die Stillstandszeit der Person 80 und des Roboters 1 bei jedem Vorgang durchgeführt. Bei einem Beispiel werden diese Daten von einer Zellsteuerung verarbeitet, die später beschrieben wird. Die Vorrichtung zum Verarbeiten dieser Daten ist jedoch nicht auf diese Zellsteuerung beschränkt. Die Steuervorrichtung 2 kann die Daten verarbeiten oder eine Verwaltungssteuerung kann die Daten verarbeiten. Bei dieser Ausführungsform werden Schrauben oder Schraubenlöcher verwendet. Es kann jedoch eine Mehrzahl von Markern bereitgestellt sein, um eine Bilderkennung durchzuführen.
-
9A bis 9C zeigen den Status, in dem die Einheitengreifhand 6-1 des Roboters 1 die Einheit A von einem nichtveranschaulichten Tisch für Einheiten greift und Vorbereitungen zum Anbringen der Einheit A im Zielobjekt 50 durchführt, von der Seite. In dieser Hinsicht wird der Fakt, dass ein Teil des Körpers der von der Kamera 7 an der Decke aufgenommenen Person nicht in der Nähe des Abschnitts des Zielobjekts 50 vorhanden ist, an dem die Einheit A anzubringen ist, durch Bilderkennung bestätigt, und, wie in 10 gezeigt, wird der Arm 4 des Roboters 1 in eine Anbringungsposition der Einheit A im Zielobjekt 50 bewegt, um die Einheit A anzubringen. In diesem Fall wird, wenn ermittelt wird, dass die Person den Arm 4 des Roboters 1 oder die Einheit A stört, z. B. wenn ein Teil des Körpers der Person in den Bereich um Einheit A gelangt, oder wenn ein Teil des Körpers der Person in die Bewegungslinie z. B. des Arms 4 des Roboters 1 gelangt, die Geschwindigkeit des Arms 4 des Roboters 1 verringert oder wird dieser gestoppt, um die Person nicht zu verletzen. Der Bereich, in dem die Geschwindigkeitsverringerung des Arms 4 erforderlich ist, wenn die Person in diesen gelangt, oder der Bereich, in dem ein Stoppen des Arms 4 erforderlich ist, wenn die Person in diesen gelangt, kann frei eingestellt werden.
-
Bei dem Verfahren zum Durchführen einer Bilderkennung des Fakts, dass ein Teil des Körpers der Person in den Bereich um Einheit A gelangt oder ein Teil des Körpers der Person in die Bewegungslinie z. B. des Arms 4 des Roboters 1 gelangt, wird ein Umriss aus in der Kamera 7 und der Kamera 8 gespeicherten Bildern extrahiert, und es wird ermittelt, ob der Umriss in der Nähe der Einheit oder in der Bewegungslinie zu finden ist. Ein Sobel-Filter oder dergleichen wird verwendet, um den Umriss zu extrahieren. Auf eine Erläuterung eines solchen Filters wird jedoch verzichtet, da es sich bei dem Filter um eine bereits bekannte Technologie handelt. Man beachte, dass natürliche diverse andere Verfahren als Verfahren zum Durchführen einer Bilderkennung des Fakts, dass ein Teil des Körpers der Person in den Bereich um Einheit A gelangt oder ein Teil des Körpers der Person in die Bewegungslinie z. B. des Arms 4 des Roboters 1 gelangt, verwendet werden können.
-
27 ist eine Ansicht, die eine beispielhafte Konfiguration zum Bestätigen, dass ein Teil des Körpers nicht nach innerhalb einer Umgrenzung des Zielobjekts gelangt, erläutert. Wie in 27 gezeigt, wird, um zu bestätigen, dass ein Teil des Körpers nicht nach innerhalb der Umgrenzung des Zielobjekts 50 gelangt, eine Bilderkennung des Umrisses des Zielobjekts 50 (z. B. bei einem in 27 gezeigten Beispiel eine Viereckform) durchgeführt, um zu bestätigen, dass der viereckige Umriss nicht unterbrochen ist und demgemäß ein Teil des Körpers (Person 80) nicht nach innerhalb der Umgrenzung des Zielobjekts gelangt. In diesem Fall wird, um die Seiten zu betonen, die eine Viereckform bilden, bevorzugt, das Zielobjekt 50 von der Rückseite (Unterseite) aus etwas zu beleuchten.
-
Wenn die Einheit A durch den Roboter 1 in einer Anbringungsposition für die Einheit A im Zielobjekt 50 angebracht ist, kehrt der Arm 4 des Roboters 1 z. B. in die Ausgangsposition zurück und greift die Einheit B sodann von einem nichtveranschaulichten Tisch für Einheiten und führt Vorbereitungen zum Anbringen der Einheit B im Zielobjekt 50 durch. Der Fakt, dass ein Teil des Körpers der von der Kamera 7 an der Decke aufgenommenen Person nicht in der Nähe des Abschnitts des Zielobjekts 50 vorhanden ist, an dem die Einheit B anzubringen ist, wird durch Bilderkennung bestätigt, und, wie in 11 gezeigt, wird die Einheit B in einer Anbringungsposition der Einheit B im Zielobjekt 50 angebracht. In diesem Fall wird, wenn eine Sicherheitsproblem auftritt, bei dem ein Teil des Körpers der Person in den Bereich um Einheit B gelangt oder ein Teil des Körpers der Person in die Bewegungslinie z. B. des Arms 4 des Roboters 1 gelangt, die Geschwindigkeit des Arms 4 des Roboters 1 verringert oder dieser gestoppt, um die Person nicht zu verletzen.
-
Wenn der Roboter 1 die Einheit B in einer Anbringungsposition für die Einheit B im Zielobjekt 50 anbringt, wird, wenn ein darauffolgender Vorgang z. B. ein Vorgang zum Festziehen von Schrauben in Zusammenarbeit mit der Person 80 ist, die Dreherhand 6-2 mit einem Dreher 9R am Handgelenk des Roboters 1 mithilfe eines nichtveranschaulichten Handwechslers angebracht, wie in 12 gezeigt.
-
Wenn die Person (Arm der Person) 80 und ein Dreher 9M sich in eine Position zum Festziehen einer Schraube der Einheit A bewegen, wie in 13 gezeigt, bewegt sich der Arm 4 des Roboter 1 in eine Position zum Festziehen einer Schraube der Einheit A und beginnt damit, die Schraube unter Verwendung der Dreherhand 6-2 festzuziehen. Wenn das Festziehen der Schraube der Einheit A abgeschlossen ist, bewegen sich die Person (Arm der Person) 80 und der Dreher 9M von der Einheit A zur unteren linken Ecke der Einheit B und der Arm 4 des Roboters 1 bewegt sich von der Einheit A zur oberen rechten Ecke der Einheit B. Nach diesen Bewegungen zieht die Person 80 die untere linke Schraube von Einheit B in 14 fest und zieht der Roboter 1 die obere rechte Schraube von Einheit B fest.
-
Ferner bewegen sich die Person (Arm der Person) 80 und der Dreher 9M von der unteren linken Ecke der Einheit B zur unteren rechte Ecke der Einheit B und der Arm 4 des Roboters 1 bewegt sich von oberen rechten Ecke zur oberen linken Ecke der Einheit B. Nach diesen Bewegungen zieht die Person 80 die untere rechte Schraube von Einheit B in 15 fest und zieht der Roboter 1 die obere linke Schraube von Einheit B fest.
-
Ein Vorgang des Installierens eines Kabels, das für die Einheit A und die Einheit B erforderlich ist, wird nun unter Bezugnahme auf 16A bis 25 beschrieben („Installieren” bedeutet das Platzieren und Anschließen eines Kabels in der Einheit oder das Befestigen eines Kabels z. B. durch ein Kabelbinderband entlang eines Leitung). 16A bis 16C sind Ansichten, die den Status zeigen, in dem Einheiten im Zielobjekt angebracht werden, wie in den 7A bis 7C und 9A bis 9C gezeigt, und Schrauben festgezogen werden. Man beachte, dass 16A bis 16C 7A bis 7C oder 9A bis 9C entsprechen.
-
Zunächst wird das Installieren eines Kabels für die Einheit A beschrieben. In 16A ersetzt ein nichtveranschaulichter Handwechsler beim Roboter 1 die Dreherhand 6-2 durch die Kabelgreifhand 6-1 und danach greift die Kabelgreifhand 6-1 des Roboters 1 das Kabel für die Einheit A von einem nichtveranschaulichten Tisch für Kabel und hält das Kabel. Was die Umgebung betrifft, so wird der Fakt, dass z. B. die von der Kamera 7 an der Decke aufgenommene Person nicht in der Bewegungslinie z. B. des Arms 4 des Roboters 1 ist, durch Bilderkennung bestätigt und, wie in 17 gezeigt, steuert die Aktionssteuereinheit 43 den Arm 4 des Roboters 1, so dass sich der Arm 4 in eine geeignete Position im Zielobjekt 50 bewegt. In dieser Hinsicht wird, wenn eine Sicherheitsproblem auftritt, bei dem ein Teil des Körpers der Person in die Bewegungslinie z. B. des Arms 4 des Roboters 1 gelangt, die Geschwindigkeit des Arms 4 des Roboters 1 verringert oder dieser gestoppt, um die Person nicht zu verletzen. Der Bereich, in dem die Geschwindigkeitsverringerung des Arms 4 erforderlich ist, wenn die Person in diesen gelangt, oder der Bereich, in dem ein Stoppen des Arms 4 erforderlich ist, wenn die Person in diesen gelangt, kann frei eingestellt werden.
-
Nachdem die Kabelgreifhand 6-1 des Roboters 1 in einer geeigneten Position gestoppt hat, verändert (verringert) sich, wenn die Person 80 das Kabel für die Einheit A greift, wie z. B. in 18 gezeigt, um das Kabel für die Einheit A zu erhalten, der Wert des Kraftsensors 49 des Roboters 1 und dementsprechend ermittelt die Aktionssteuereinheit 43 der Steuervorrichtung 2, dass die Person 80 das Kabel für die Einheit A erhalten hat, und steuert den Arm 4 des Roboters 1, so dass sich der Arm 4 von der Person wegbewegt. Der Roboter 1 greift als darauffolgende Aktion ein Kabel für die Einheit B von einem nichtveranschaulichten Tisch für Kabel und hält das Kabel.
-
19 zeigt, dass die Person 80 die Installation des Kabels für die Einheit A durchführt. Um die Bewegungszeit des Arms des Roboters 1 zu verringern, kann das Kabel für die Einheit B vorab bewegt werden. Wenn jedoch ermittelt wird, dass der Arm die Person oder den Vorgang stören könnte, z. B. wenn die Person 80 am Arbeiten ist, wird bevorzugt, dass der Arm des Roboters 1 in eine Standby-Position (Aktions-Standby) bewegt wird, wie z. B. ein „Roboterarm-in-der-Nähe-Standby-Positionsbeispiel” in 20, was von der letzten Position des das Kabel greifenden Arms etwas entfernt gelegen ist. Man beachte, dass die Standby-Position frei eingestellt werden kann. Wenn ermittelt wird, dass es unmöglich ist, dass der Arm die Person stören oder unterbrechen können (der Arm 4 des Roboters 1 mit der Person 80 kollidieren könnte), kann der Roboter 1 sich mit verringerter Geschwindigkeit in die letzte Position des Arms 4 des Roboters 1 bewegen, ohne in das Standby zu gehen.
-
21 zeigt ein Beispiel, bei dem die Person 80 einen Vorgang abgeschlossen hat (in diesem Fall das Installieren des Kabels für die Einheit A) und bereit ist und wartet. Wenn die Person 80 bereit ist und wartet, beginnt sich der Arm 4 des Roboters 1 wieder zu bewegen (Aktionsneustart). 22 zeigt ein Beispiel, bei dem der Arm sich neu zu bewegen beginnt, um das Kabel für die Einheit B in eine geeignete Position zu bringen. Wenn die Kabelgreifhand 6-1 des Roboters 1 in der geeigneten Position stoppt, greift die Person 80 das Kabel für die Einheit B, wie z. B. in 23 gezeigt, um das Kabel für die Einheit B zu erhalten. Dies bewirkt, dass sich der Wert des Kraftsensors 49 des Roboters 1 ändert (verringert), und dementsprechend ermittelt die Aktionssteuereinheit 43 der Steuervorrichtung 2, dass die Person 80 das Kabel für die Einheit B erhalten hat, und steuert den Arm 4 des Roboters 1, so dass sich der Arm 4 von der Person wegbewegt.
-
24 zeigt, dass die Person 80 das Installieren des Kabels für die Einheit B durchführt, und in 25 ist der Vorgang abgeschlossen (das Zielobjekt 50 ist fertig). 26 ist eine Ansicht, die ein Beispiel für den Status erläutert, in dem das Zielobjekt 50 ausgegeben wird.
-
Die Aktion der Person 80 und die Aktion des Roboters werden nun ausführlich beschrieben. 29 ist eine Ansicht einer Ausgabeschicht eines neuronalen Netzwerks und einer Schicht (der letzten Schicht von Zwischenschichten (verborgene Schichten)) vor der Ausgabeschicht. Man nehme an, dass die Ausgaben der Ausgabeschicht eine Ausgabe A, d. h. einen „Standby-Status 1”, bis eine Ausgabe N, d. h. einen „Standby-Status 4”, umfassen. Je nach Konfiguration wird, wie in 30 gezeigt, ein „Misserfolg” als z. B. Ausgabe O ausgegeben, wie später beschrieben. Ob die Person (Arm der Person) 80 und der Dreher 9M sich in eine Position zum Festziehen einer Schraube der Einheit A bewegen, wird anhand dessen ermittelt, ob der Wert (Wahrscheinlichkeit) der Ausgabe B der Ausgabeschicht in 29 größer gleich einem vordefinierten Wert ist (unter der Annahme, dass die Ermittlung anhand dessen erfolgt, ob der Wert (Wahrscheinlichkeit) der Ausgabe B der Ausgabeschicht größer gleich einem vordefinierten Wert ist). Wenn der Wert (Wahrscheinlichkeit) der Ausgabe B größer gleich einem vordefinierten Wert ist, erkennt (ermittelt) die Erkennungseinheit 53, dass die Person (Arm der Person) 80 und der Dreher 9M „sich in eine Position zum Festziehen einer Schraube der Einheit A bewegen”. Die Aktionssteuereinheit 43 steuert den Arm 4 des Roboters 1, so dass sich der Arm 4 in eine Position zum Befestigen einer Schraube der Einheit A bewegt.
-
Das oben genannte Beispiel beschreibt, dass, nachdem die Person (Arm der Person) 80 und der Dreher 9M sich in die „Position zum Festziehen einer Schraube der Einheit A” bewegt haben, sich der Arm 4 des Roboters 1 in die Position zum Festziehen einer Schraube der Einheit A bewegt. Diese Beschreibung ist jedoch ausgerichtet, um auf einfache Weise zu verstehen, dass die Aktion des Roboters 1 auf Basis der Aktion der Person 80 entschieden wird. Tatsächlich sind die Ausgaben in 29 feiner unterteilt und wird der Arm 4 des Roboters 1 so gesteuert, dass er sich in die Position zum Festziehen einer Schraube der Einheit A bewegt, sobald die Person (Arm der Person) 80 und der Dreher 9M sich in die Position zum Festziehen einer Schraube der Einheit A zu bewegen beginnen.
-
Was den Vorgang dieser Bewegung betrifft, so kann eine Detektion einer Objektbewegung durchgeführt werden, z. B. durch Schablonenabgleich. Das Verfahren, das später unter Verwendung von 32 und 33 beschrieben wird, kann angewandt werden, die Detektion einer Objektbewegung kann z. B. jedoch durch Setzen einer Markierung in einer Position, die die Kamera mit Sicherheit erfassen kann, und Verfolgen der Bewegung der Markierung durch Schablonenabgleich durchgeführt werden. Wie oben ersichtlich, zeigt 29 lediglich einen Teil der Idee und die Idee zum Steuern des Roboters 1 auf Basis der Aktion der Person bei der vorliegenden Erfindung ist nicht auf die in 29 gezeigte Ausführungsform beschränkt.
-
In dieser Hinsicht ermittelt, wenn der Wert (Wahrscheinlichkeit) der Ausgabe C in 29 größer gleich einem vordefinierten Wert ist, die Erkennungseinheit 53, dass „der Schraubvorgang in der Einheit A” von der Person (Arm der Person) 80 und dem Dreher 9M durchgeführt wird. Die Aktionssteuereinheit 43 steuert den Roboter 1 so, dass der Roboter 1 eine Schraube der Einheit A unter Verwendung des Drehers 9R der Dreherhand 6-2 des Roboters 1 festzieht (siehe 13).
-
Wenn der Wert (Wahrscheinlichkeit) der Ausgabe D in 29 größer gleich einem vordefinierten Wert ist, ermittelt die Erkennungseinheit 53, dass die Person (Arm der Person) 80 und der Dreher 9M „sich in eine Position zum Festziehen einer unteren linken Schraube der Einheit B bewegen”. Die Aktionssteuereinheit 43 steuert den Roboter 1 so, dass der Roboter 1 sich in eine obere linke Position bewegen kann, um die Schraube der Einheit B unter Verwendung des Drehers 9R der Dreherhand 6-2 des Roboters 1 festzuziehen. Wenn der Wert (Wahrscheinlichkeit) der Ausgabe E in 29 größer gleich einem vordefinierten Wert ist, ermittelt ferner die Erkennungseinheit 53, dass „der Schraubvorgang für die untere linke Schraube in der Einheit B” von der Person (Arm der Person) 80 und dem Dreher 9M durchgeführt wird. Die Aktionssteuereinheit 43 steuert den Roboter 1 so, dass der Roboter 1 die obere rechte Schraube der Einheit B unter Verwendung des Drehers 9R der Dreherhand 6-2 des Roboters 1 festziehen kann (siehe 14).
-
Wenn der Wert (Wahrscheinlichkeit) der Ausgabe F in 29 größer gleich einem vordefinierten Wert ist, ermittelt die Erkennungseinheit 53, dass die Person (Arm der Person) 80 und der Dreher 9M „sich in eine Position zum Festziehen einer unteren rechten Schraube der Einheit B bewegt haben”. Die Aktionssteuereinheit 43 steuert den Roboter 1 so, dass der Roboter 1 sich in eine obere rechte Position bewegen kann, um die Schraube der Einheit B unter Verwendung des Drehers 9R der Dreherhand 6-2 des Roboters 1 festzuziehen. Wenn der Wert (Wahrscheinlichkeit) der Ausgabe G in 29 größer gleich einem vordefinierten Wert ist, ermittelt ferner die Erkennungseinheit 53, dass „der Schraubvorgang für die untere rechte Schraube der Einheit B” von der Person (Arm der Person) 80 und dem Dreher durchgeführt wird. Die Aktionssteuereinheit 43 steuert den Roboter 1 so, dass der Roboter 1 die oberen rechten Schrauben der Einheit B unter Verwendung des Drehers 9R der Dreherhand 6-2 des Roboters 1 festziehen kann (siehe 15).
-
Wenn der Wert (Wahrscheinlichkeit) der Ausgabe H in 29 größer gleich einem vordefinierten Wert ist, ermittelt ferner die Erkennungseinheit 53, dass sich die Person 80 in einem „Standby-Status 2” befindet. Die Aktionssteuereinheit 43 steuert den Roboter 1 so, dass der Roboter 1 das Kabel für die Einheit A greifen und bewegen kann (siehe 16A bis 16C und 17). Wenn der Wert (Wahrscheinlichkeit) der Ausgabe I in 29 größer gleich einem vordefinierten Wert ist, ermittelt ferner die Erkennungseinheit 53, dass die Person 80 „das Kabel für die Einheit A erhält. Wie oben beschrieben, ermittelt, wenn sich der Wert des Kraftsensors 49 des Roboters 1 ändert, die Aktionssteuereinheit 43 der Steuervorrichtung 2, dass die Person 80 das Kabel für die Einheit A erhalten hat, und steuert den Arm 4 des Roboters 1, so dass sich der Arm 4 von der Person wegbewegt (siehe 18).
-
Danach greift und bewegt der Roboter 1 das Kabel für die Einheit B. Wenn der Wert (Wahrscheinlichkeit) der Ausgabe 3 in 29 größer gleich einem vordefinierten Wert ist, ermittelt die Erkennungseinheit 53, dass die Ausgabe 3 „der Installationsvorgang der Einheit A” ist. Die Aktionssteuereinheit 43 veranlasst den Roboter 1 dazu, in einem In-der-Nähe-Standby-Modus zu sein (siehe 19 und 20). Wenn der Wert (Wahrscheinlichkeit) der Ausgabe K in 29 größer gleich einem vordefinierten Wert ist, ermittelt ferner die Erkennungseinheit 53, dass sich die Person 80 in einem „Standby-Status 3” befindet. Die Aktionssteuereinheit 43 veranlasst den Roboter 1 dazu, mit der Bewegung neu zu beginnen (siehe 21 und 22).
-
Wenn der Wert (Wahrscheinlichkeit) der Ausgabe L in 29 größer gleich einem vordefinierten Wert ist, ermittelt ferner die Erkennungseinheit 53, dass „das Erhalten des Kabels für die Einheit B” von der Person 80 durchgeführt wird. Wie oben beschrieben, ermittelt, wenn sich der Wert des Kraftsensors 49 des Roboters 1 ändert, die Aktionssteuereinheit 43 der Steuervorrichtung 2, dass die Person 80 das Kabel für die Einheit B erhalten hat, und steuert den Arm 4 des Roboters 1, so dass sich der Arm 4 von der Person wegbewegt (siehe 23). Ferner ist der Wert (Wahrscheinlichkeit) der Ausgabe M in 29 größer gleich einem vordefinierten Wert; ermittelt die Erkennungseinheit 53, dass die Ausgabe M „den Installationsvorgang für die Einheit B” darstellt. Die Aktionssteuereinheit 43 steuert den Roboter 1 so, dass der Stopp (Standby) des Roboters 1 fortgesetzt wird (siehe 24).
-
Wenn der Wert (Wahrscheinlichkeit) der Ausgabe N in 29 größer gleich einem vordefinierten Wert ist, ermittelt die Erkennungseinheit 53, dass die Person 80 sich in einem „Standby-Status 4” befindet, aktiviert die Steuervorrichtung 2 eine nichtveranschaulichte Ausstoßvorrichtung, um das Zielobjekt 50 auszustoßen, und aktiviert eine nichtveranschaulichte Ladervorrichtung, um ein darauffolgendes herzustellendes Zielobjekt 50 in einer Position zu platzieren, die in 1 gezeigt ist.
-
Die Vorgangsverfahrensweise wurde oben ausführlich beschrieben. Wenn ein Prozess übersprungen wird, wird der Roboter 1 gestoppt (oder in einen Standby-Status gesetzt) und erfolgt eine Warnmeldungsausgabe z. B. unter Verwendung von PATLITE (eingetragene Handelsmarke) usw., oder wird der übersprungene Prozess auf einem Bildschirm angezeigt. Man beachte, dass, wenn der Prozess endet, die Daten der Vorgangsinformation und der Lerninformation an eine später beschriebene Zellsteuerung gesendet werden. In diesem Fall werden die Bilder, die von der von der Decke hängenden Kamera 7 aufgenommen werden, als bevorzugte Eingabebilder erachtet, die den Ausgaben in 29 entsprechen. Dies ist darauf zurückzuführen, dass der Status von Einheiten und Kabeln im Zielobjekt 50 aufgenommen werden kann und die Position der Person (Arm der Person) 80 und des Drehers 9M somit auf einfache Weise spezifiziert werden können.
-
Man beachte, dass die Genauigkeit durch Vorbereiten einer weiteren Maschinenlernvorrichtung und Herstellen einer UND (logische Verknüpfung) durch Kombinieren z. B. der Ausgaben der Erkennungseinheit unter Verwendung der Bilder von der Kamera 8 als Eingaben mit den Ausgaben der Erkennungseinheit unter Verwendung der Bilder von der Kamera 7 als Eingaben weiter verbessert werden kann. In den obigen Beschreibungen sind zwei Kameras bereitgestellt, es können jedoch drei oder mehr Kameras bereitgestellt werden. Ferner kann ein Schablonenabgleich in Kombination verwendet werden.
-
Es wurden oben nur Fälle beschrieben, bei denen die Ausgabe des neuronalen Netzwerks, die einem effektiven Vorgang entspricht, effektiv ist (Erfolg: Der Vorgang geht zu einem korrekten Vorgang über). Die Reaktion auf Fälle, bei denen die entsprechende Ausgabe nicht effektiv ist (Misserfolg: Der Vorgang geht nicht zu einem darauffolgenden Vorgang über), oder Fälle, bei denen eine fehlerhafte Bewegung auftritt (Misserfolg: Der Vorgang muss in einem Standby-Modus sein, geht jedoch unabsichtlich zu einem darauffolgenden Vorgang über), wird nachstehend beschrieben. Bei einem Misserfolg ändert die Person z. B. die Form der Hand oder des Arms der Person in eine vordefinierte Form, um den Misserfolg bekanntzugeben, oder betätigt einen Fußschalter, um ein Misserfolgssignal auszugeben, so dass der Misserfolg bekanntgegeben wird. Wenn der Vorgang in einem Standby-Modus ist, geht der Vorgang zu einem darauffolgenden Vorgang über. Wenn der Vorgang in einem Standby-Modus sein muss, jedoch unabsichtlich zu einem darauffolgenden Vorgang übergeht, kehrt der Vorgang in den vorherigen Ausgangsstatus zurück.
-
30 zeigt, dass ein „Misserfolg” aus dem neuronalen Netzwerk ausgegeben wird, wie in 29 gezeigt. Man beachte, dass, wenn die vordefinierte Form der Hand oder des Arms der Person und der Fußschalter gemeinsam verwendet werden, eine ODER (logische Ergänzung) der „Ausgabe O”, wie in 30 gezeigt, und des Misserfolgssignals vom Fußschalter gebildet wird. Wenn nur das Misserfolgssignal im Fußschalter verwendet wird, entspricht das Misserfolgssignal vom Fußschalter der „Ausgabe O” in 30. Ferner wird der Misserfolg zur Lerneinheit 54 übermittelt. Zwei Verfahren zum Informieren über einen Misserfolg wurden oben beschrieben. Es können neben diesen zwei Verfahren natürlich jedoch diverse andere Verfahren verwendet werden.
-
Es wird die Ermittlung der Aktion einer Person unter Verwendung von Schablonenabgleich beschrieben. Die Ausgaben in 29 (30) werden als Aktionen interpretiert. 32 ist eine Ansicht, die erläutert, dass die Aktion B in 29 durch Schablonenabgleich erkannt wird. Wenn z. B. der Roboter 1 das Anbringen der Einheiten A und B im Zielobjekt 50 abgeschlossen hat, ist der darauffolgende Vorgang das „Bewegen in eine Position zum Festziehen einer Schraube der Einheit A” und demgemäß wird untersucht, ob ein Bild, das der Schablone entspricht, unter zu extrahierenden Bildern vorhanden ist, innerhalb eines gegebenen Bereichs, der an dem Punkt zentriert ist, an dem die Person 80 einen Schrauben der Einheit A festzieht. Wenn, wie in 32 gezeigt, der Dreher M, der sich in die Position zum Festziehen einer Schraube der Einheit A bewegt, auf einem Bild umfasst ist (aufgenommen ist), kann ein Berechnungswert gemäß der Ähnlichkeit mit dem Bild der Schablone erhalten werden (der Wert ist 0, wenn die Ähnlichkeit vollständig ist, und der Wert ist klein, wenn die Ähnlichkeit gering ist), und demgemäß kann der Fakt, dass die Aktion B erfüllt ist, ermittelt werden.
-
33 ist eine Ansicht, die erläutert, dass die Aktion C in 29 durch Schablonenabgleich erkannt wird. Der darauffolgende Vorgang ist z. B. „der Schraubvorgang in der Einheit A” und demgemäß wird untersucht, ob ein Bild, das der Schablone entspricht, unter zu extrahierenden Bildern vorhanden ist, innerhalb eines schmalen Bereichs um die Schraube, um zu erkennen, dass die Person 80 sich in die Position zum Festziehen der Schraube der Einheit A bewegt hat. Wenn der Dreher M, der in der Position zum Festziehen einer Schraube der Einheit A positioniert ist, auf einem Bild umfasst ist, wie in 33 gezeigt, ist der Berechnungswert 0 oder kleiner, wie oben beschrieben, und demgemäß ist es möglich, zu ermitteln, dass dieser Zeitpunkt dem Start „des Schraubvorgangs für die Einheit A” entspricht, oder ist es möglich, nach einem gegebenen Zeitraum zu ermitteln, dass dieser Zeitpunkt dem Start „des Schraubvorgangs für die Einheit A” entspricht, da eine geringfügige zeitliche Lücke zwischen wenn der Dreher die Schraube erreicht und wenn der Dreher tatsächlich mit dem Festziehen der Schraube beginnt, vorhanden ist.
-
Wenn eine weitere Aufklärung bezüglich des Starts des Schraubvorgangs erforderlich ist, ist es möglich, zu ermitteln, dass der Start der Abwärtsbewegung des Drehers 9M der Person 80 auf dem Bild der Kamera 8 dem Start des Schraubvorgangs entspricht. Die Grundidee wurde beispielhaft unter Verwendung der Aktion B und der Aktion C beschrieben. Die gleiche Idee kann auf die anderen Aktionen angewandt werden.
-
Ein Produktionssystem, das ein oder mehrere Robotersysteme umfasst, wird nun beschrieben. 34 ist ein Blockschaubild eines beispielhaften Produktionssystems gemäß dieser Ausführungsform. Wie in 34 gezeigt, umfasst das Produktionssystem 10: Zellen 16, die jeweils zumindest einen, vorzugsweise eine Mehrzahl von Robotern 1a bis in (deren Anzahl in einem in 34 gezeigten Beispiel n ist) und eine oder mehrere Steuervorrichtungen 2a bis 2n (deren Anzahl für gewöhnlich die gleiche wie jene der Roboter ist, d. h. n) zum Steuern der Roboter 1a bis 1n umfassen; Zellsteuerungen 18, die jeweils so konfiguriert sind, dass sie in der Lage sind, mit den Steuervorrichtungen 2a bis 2n zu kommunizieren; und eine Verwaltungssteuerung 20 höherer Ebene, die so konfiguriert ist, dass sie in der Lage ist, mit jeder Zellsteuerung 18 zu kommunizieren. Die Steuervorrichtungen 2a bis 2n steuern jeweils die Aktionen der Roboter 1a bis 1n und senden die Information zum Vorgang (Vorgangsinformation) und den Gewichten im neuronalen Netzwerk, wie von der Lerneinheit 54 der Maschinenlernvorrichtung 5 gelernt, als Lerninformation an die entsprechende Zellsteuerung 18.
-
Die Bildgebungseinheit ist z. B. aus dem Namen von Elementen (Element), dem Prozess, der Person 80, die mit der Bilderkennung usw. spezifiziert wird, dem Typ des Roboters 1 und der Vorgangszeit der Person 80 und des Roboters 1 zusammengesetzt. Die Vorgangszeit der Person 80 und des Roboters 1 ist aus der Zeit vom Beginn zum Ende des Zusammenfügens und der Bewegungszeit und der Stillstandszeit der Person 80 und des Roboters 1 bei jedem Vorgang zusammengesetzt. Man beachte, dass jede Zelle 16 eine Sammlung der Roboter zum Durchführen eines vordefinierten Vorgangs ist. Die Roboter 1a bis 1n sind nicht auf Gelenkroboter beschränkt. Die Typen der Roboter können gleich oder unterschiedlich sein. Die Zellen 16 können in einer Fabrik zur Produktion von Produkten installiert werden, die Verwaltungssteuerung 20 kann hingegen z. B. in einem anderen Gebäude als in der Fabrik installiert werden. Die Zellsteuerungen 18 werden in einer Fabrik installiert, wenn Hochgeschwindigkeitsbehandlungen erforderlich sind, und können z. B. in einem anderen Gebäude als in der Fabrik installiert werden, wenn keine Hochgeschwindigkeitsbehandlungen erforderlich sind.
-
Jede Zellsteuerung 18 und die Steuervorrichtungen 2a bis 2n können über ein Netzwerk (erste Kommunikationseinheit 22) wie z. B. ein Intranet verbunden sein. Die Verwaltungssteuerung 20 kann über ein Netzwerk (zweite Kommunikationseinheit 24) wie z. B. das Internet mit jeder Zellsteuerung 18 kommunikativ verbunden sein. Dies ist jedoch lediglich ein Beispiel. Beliebige Kommunikationseinheiten, die jede Zellsteuerung 18 und die Steuervorrichtungen 2a bis 2n kommunikativ verbinden können, können als erste Kommunikationseinheit 22 verwendet werden. Beliebige Kommunikationseinheiten, die jede Zellsteuerung 18 und die Verwaltungssteuerung 20 kommunikativ verbinden können, können als zweite Kommunikationseinheit 24 verwendet werden. Jede Zellsteuerung 18 ist so konfiguriert, dass sie die Information aus der entsprechenden Zelle 16 verarbeitet. Insbesondere sendet jede Zellsteuerung 18 die Information an die entsprechenden Steuervorrichtungen 2a bis 2n und empfängt die Vorgangsinformation und die Lerninformation von den entsprechenden Steuervorrichtungen 2a bis 2n.
-
Wie in 34 gezeigt, empfängt jede Zellsteuerung 18 die oben beschriebene Information über die erste Kommunikationseinheit 22 von der entsprechenden Zelle 16 und erfasst die in der Verwaltungssteuerung 20 gespeicherte Information über die zweite Kommunikationseinheit 24. Jede Zellsteuerung 18 umfasst eine Eingabeeinheit 14 und eine Anzeige 15. Die Anzeige 15 ist so ausgebildet, dass sie die Information bezüglich der Zellsteuerung 18 anzeigt. Beispiele für die Anzeige 15 umfassen eine Flüssigkristallanzeigevorrichtung. Die Eingabeeinheit 14 ist so ausgebildet, dass die Person gewünschte Befehle in die Zellsteuerung 18 eingeben kann. Beispiele für die Eingabeeinheit 14 umfassen eine Tastatur usw. Man beachte, dass die Verwaltungssteuerung 20 vorzugsweise eine Eingabeeinheit und eine Anzeige umfasst, die nicht veranschaulicht sind.
-
Eine Vorgangsinformations-/Lerninformationserfassungseinheit 11 jeder Zellsteuerung 18 erfasst die Vorgangsinformation und die Lerninformation von den Steuervorrichtungen der entsprechenden Zelle 16. Die Vorgangsinformations-/Lerninformationserfassungseinheit 11 assoziiert die Vorgangsinformation mit der Lerninformation, speichert die assoziierte Information in einer Speichereinheit und sendet Vorgangszeitdaten in der Vorgangsinformation an eine Zeitverarbeitungseinheit. Die Zeitverarbeitungseinheit 12 liest eine geeignete Zeit pro Vorgang der Person für das gleiche Element im gleichen Prozess aus der Speichereinheit 13 aus den erfassten Vorgangszeitdaten und vergleicht diese mit einer Zeit pro Vorgang der Person 80. Der Vergleich wird durch „Zeit pro Vorgang der Person 80 – (minus) geeigneter Zeit pro Vorgang der Person” durchgeführt. Wenn der Unterschied größer als eine vordefinierte Zeit ist (wenn die geeignete Zeit pro Vorgang der Person offensichtlich kurz ist), wird ein verzögerter Vorgang (Vorgang, der Zeit benötigt) über die erste Kommunikationseinheit 22 an die entsprechende Steuervorrichtung 2 gesendet (siehe 2). Die Information bezüglich des verzögerten Vorgangs wird über eine Kommunikationseinheit 55 der Steuervorrichtung 2 in die Anzeigesteuervorrichtung 56 oder eine nichtveranschaulichte Sprachsteuereinheit eingegeben, um das Detail des Vorgangs, die Standardvorgangszeit (die als geeignet erachtete Vorgangszeit), die tatsächliche Vorgangszeit (die Zeit, die für den Vorgang tatsächlich erforderlich ist) usw. auf einer Anzeige in der Nähe der Person 80 anzuzeigen, oder das Detail des Vorgangs oder der Zeit über eine Audioführung über einen Lautsprecher bekanntzugeben, der z. B. im Roboter installiert ist.
-
Man beachte, dass die Information bezüglich der geeigneten Zeit pro Vorgang der Person zuvor vorbereitet wird oder die Zeit, die durch Ermitteln des Durchschnitts der gesendeten Zeiten pro Vorgang für den gleichen Prozess im gleichen Element erhalten wird, verwendet wird. Was die Aktion des Roboters 1 betrifft, so kann die Aktion des Roboters 1 pro Vorgang durch Durchführen eines Verstärkungslernens unter Verwendung des sogenannten Q-Lernens aus den Maschinenlernverfahren optimiert werden. In den letzten Jahren wurden diverse Vorschläge für eine Technologie zum Optimieren der Aktion des Roboters 1 unter Verwendung von Maschinenlernen gemacht. Auf die Details der Vorschläge wird verzichtet.
-
Die Zellsteuerung 18 sendet die Vorgangsinformation und die Lerninformation über die zweite Kommunikationseinheit 24 an die Verwaltungssteuerung 20. Alle der Vorgangsinformationen und der Lerninformationen können gesendet werden oder ggf. werden nur die Vorgangsinformation und die Lerninformation bezüglich der längsten und kürzesten Vorgangszeiten zwischen gegebenen Intervallen gesendet. Alternativ kann der Durchschnitt der Vorgangszeiten zusätzlich gesendet werden. Außerdem können der Inhalt der Vorgangsinformation und der Lerninformation und die Nutzungsweise des Inhalts frei ausgewählt werden.
-
Die Verwaltungssteuerung 20 ist über die zweite Kommunikationseinheit 24 mit jeder Zellsteuerung 18 verbunden. Die Verwaltungssteuerung 20 empfängt die Vorgangsinformation und die Lerninformation über die zweite Kommunikationseinheit 24 von der Zellsteuerung 18. Die Vorgangsinformation und die Lerninformation, die empfangen wurde, werden miteinander assoziiert und in einer Vorgangsinformations-/Lerninformationsspeichereinheit 23 gespeichert.
-
Was ein Verfahren zum Entscheiden über Gewichte unter Verwendung einer Lerninformationsauswahleinheit 21 der Verwaltungssteuerung betrifft, so wird eine erste Ausführungsform beschrieben. Man nehme an, dass Elemente α im großen Maßstab produziert werden. Wenn eine nichtspezifizierte Person einen Vorgang zum Verarbeiten der Elemente α z. B. in einem Prozess 3, mit dem die Person keine Erfahrung hat, durchführt, ist das für die Person anzuwendende Gewicht null. Ein Verfahren zum Entscheiden über ein Gewicht in einem solchen Fall wird beschrieben. Man nehme an, dass mehrere Personen (z. B. eine Person A, eine Person B, eine Person C) mit einem Vorgang des Elements α/Prozesses 3 Erfahrung haben und die Vorgangsinformations-/Lerninformationsspeichereinheit 23 der Verwaltungssteuerung 20 eine Vorgangsinformation/Lerninformation speichert.
-
Wenn die Personen A, B und C den Vorgang des Elements α/Prozesses 3 durchführen, wird eine erforderliche Anzahl von entsprechenden Eingabebildern pro Vorgang, wenn die Ausgaben des neuronalen Netzwerks, die den Vorgängen entsprechenden, effektiv sind, in der Vorgangsinformations-/Lerninformationsspeichereinheit 23 der Verwaltungssteuerung 20 gespeichert. Die Lerninformation (Gewicht) für Person A in Bezug auf das Element α/den Prozess 3 wird aus der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gelesen und in eine Erkennungseinheit 28 der Lerninformationsauswahleinheit 21 eingegeben. Das Bild der Person B, das in der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gespeichert wird, wird gelesen und in eine Bildeingabe 26 eingegeben und durch Vorverarbeitung (eine durch eine Vorverarbeitungseinheit 27 durchgeführte Vorverarbeitung) verarbeitet und danach durch eine Erkennungseinheit 28 erkannt (klassifiziert) und in eine Vergleichseinheit 29 eingegeben. Gleichermaßen wird das Bild von Person C in die Bildeingabe 26 eingegeben und durch die Vorverarbeitungseinheit 27 vorverarbeitet und danach von der Erkennungseinheit 28 erkannt und in die Vergleichseinheit 29 eingegeben.
-
Die Lerninformation (Gewicht) für Person B in Bezug auf das Element α/den Prozess 3 wird aus der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gelesen und in die Erkennungseinheit 28 der Lerninformationsauswahleinheit 21 eingegeben. Das Bild der Person A, das in der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gespeichert wird, wird gelesen und in die Bildeingabe 26 eingegeben und durch Vorverarbeitung durch eine Vorverarbeitungseinheit 27 verarbeitet und danach durch die Erkennungseinheit 28 erkannt und in die Vergleichseinheit 29 eingegeben. Gleichermaßen wird das Bild von Person C in die Bildeingabe 26 eingegeben und durch die Vorverarbeitungseinheit 27 erneut verarbeitet und danach von der Erkennungseinheit 28 erkannt und in die Vergleichseinheit 29 eingegeben.
-
Die Lerninformation (Gewicht) für Person C in Bezug auf das Element α/den Prozess 3 wird aus der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gelesen und in die Erkennungseinheit 28 der Lerninformationsauswahleinheit 21 eingegeben. Das Bild der Person A, das in der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gespeichert wird, wird gelesen und in die Bildeingabe 26 eingegeben und durch Vorverarbeitung durch eine Vorverarbeitungseinheit 27 verarbeitet und danach durch die Erkennungseinheit 28 erkannt und in die Vergleichseinheit 29 eingegeben. Gleichermaßen wird das Bild von Person B in die Bildeingabe 26 eingegeben und durch die Vorverarbeitungseinheit 27 vorverarbeitet und danach von der Erkennungseinheit 28 erkannt und in die Vergleichseinheit 29 eingegeben.
-
Für jedes Gewicht kann der Wert der Ausgabe des neuronalen Netzwerks in jedem Vorgang jeder Person festgestellt werden. Somit kann für jedes Gewicht, ob der Wert der Ausgabe des neuronalen Netzwerks, die jedem Vorgang jeder Person entspricht, größer gleich einem vordefinierten Wert ist und der Unterschied zu einer anderen Ausgabe größer gleich einem vordefinierten Wert ist, festgestellt werden oder kann das Ausmaß des Unterschieds zwischen dem Wert der Ausgabe und einer anderen Ausgabe festgestellt werden. Beispielsweise für das Gewicht für Person A kann eine Mehrzahl von Ausgabewerten (für Person B und Person C) des neuronalen Netzwerks erhalten werden und demgemäß wird von der Vergleichseinheit 29 ermittelt, ob die Mehrzahl von Ausgabewerten für das Gewicht für Person A geeignet ist. Was z. B. das Gewicht für Person A betrifft, so ist es, wenn die Ausgabe des neuronalen Netzwerks für das Bild von Person B in jedem Vorgang geeignet ist, die Ausgabe des neuronalen Netzwerks für das Bild von Person C in jedem Vorgang häufig jedoch ungeeignet ist, schwierig, zu ermitteln, dass das Gewicht für Person A geeignet ist. Gleichermaßen wird von der Vergleichseinheit 29 ermittelt, ob die Ausgabewerte für die Gewichte für Person B und Person C geeignet sind. Was die Gewichte betrifft, so wird das am besten geeignete Gewicht ausgewählt. Das ausgewählte am besten geeignete Gewicht für die Person wird als Gewicht für das Element α/den Prozess 3 in der Vorgangsinformations-/Lerninformationsspeichereinheit gemeinsam mit der Information des Elements α/Prozesses 3 gespeichert. Wenn eine unmittelbare Nutzung des Gewichts erforderlich ist, wird das Gewicht an die Steuervorrichtungen (die Erkennungseinheit und die Lerneinheit der Maschinenlernvorrichtung) der entsprechenden Zelle gesendet.
-
Was ein Verfahren zum Entscheiden über ein Gewicht unter Verwendung der Lerninformationsauswahleinheit 21 der Verwaltungssteuerung betrifft, so wird eine zweite Ausführungsform beschrieben. Man nehme an, dass Elemente α im großen Maßstab produziert werden. Es wird der Fall beschrieben, dass eine spezifizierte Person (z. B. eine Person F) zum Verarbeiten der Elemente α einen Vorgang z. B. im Prozess 3, mit dem die Person keine Erfahrung hat, durchführt. Man nehme an, dass mehrere Personen (z. B. die Person A, die Person B, die Person C) mit einem Vorgang des Elements α/Prozesses 3 Erfahrung haben und die Vorgangsinformations-/Lerninformationsspeichereinheit 23 der Verwaltungssteuerung 20 eine Vorgangsinformation/Lerninformation speichert.
-
Ein Eingabebild (wenn möglich ein überwachtes Eingabebild) für jeden Vorgang der Person F im Element α/Prozess 3 wird erzeugt. Die Lerninformation (Gewicht) für Person A in Bezug auf das Element α/den Prozess 3 wird aus der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gelesen und in die Erkennungseinheit 28 der Lerninformationsauswahleinheit 21 eingegeben. Das erzeugte Bild für jeden Vorgang von Person F wird in die Bildeingabe 26 eingegeben und durch die Vorverarbeitungseinheit 27 vorverarbeitet und danach von der Erkennungseinheit 28 erkannt (klassifiziert) und in die Vergleichseinheit 29 eingegeben. Der Wert der Ausgabe des neuronalen Netzwerks in jedem Vorgang kann festgestellt werden und somit wird die Summe von Fehlern berechnet (in diesem Fall überwachtes Lernen. Die Berechnung von Fehlern ist hinlänglich bekannt und somit wird nicht auf diesbezügliche Details eingegangen). Alternativ kann untersucht werden, ob der Wert der Ausgabe der Erkennungseinheit, die jedem Vorgang entspricht, größer gleich einem vordefinierten Wert ist und kann untersucht werden, ob der Unterschied zu einer anderen Ausgabe größer gleich einem vordefinierten Wert ist, oder kann das Ausmaß des Unterschieds zwischen dem Wert der Ausgabe und einer anderen Ausgabe untersucht werden. Der Prozess für Person A endet und danach beginnt der Prozess für Person B und der Prozess für Person B endet und danach beginnt der Prozess für Person C und der Prozess für Person C endet. Die Prozesse für Person B und Person C verlaufen ähnlich wie jener von Person A, um den Wert der Ausgabe des neuronalen Netzwerks für jeden Vorgang festzustellen, und danach vergleicht die Vergleichseinheit 29 aus Gewichten von Person A, Person B und Person C erhaltene Ergebnisse miteinander, um das Gewicht für die Person mit der kleinsten Summe von Fehlern auszuwählen. Das ausgewählte Gewicht wird gemeinsam mit der Information des Elements α/Prozesses 3/Person F in der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gespeichert. Wenn eine unmittelbare Nutzung des Gewichts erforderlich ist, wird das Gewicht an die Steuervorrichtungen (die Erkennungseinheit und die Lerneinheit der Maschinenlernvorrichtung) der entsprechenden Zelle gesendet.
-
Was ein Verfahren zum Entscheiden über ein Gewicht ohne Verwendung der Lerninformationsauswahleinheit 21 betrifft, so wird eine dritte Ausführungsform beschrieben. Man nehme an, dass Elemente α im großen Maßstab produziert werden. Es wird der Fall beschrieben, dass eine spezifizierte Person (z. B. Person F) zum Verarbeiten der Elemente α einen Vorgang z. B. im Prozess 3, mit dem die Person keine Erfahrung hat, durchführt. Man nehme an, dass mehrere Personen (z. B. die Person A, die Person B, die Person C) mit einem Vorgang des Elements α/Prozesses 3 Erfahrung haben und die Vorgangsinformations-/Lerninformationsspeichereinheit 23 der Verwaltungssteuerung 20 eine Vorgangsinformation/Lerninformation speichert. Das Gewicht für Person A wird von der Verwaltungssteuerung an die Erkennungseinheit und die Lerneinheit der Steuervorrichtung der entsprechenden Zelle gesendet und das Ergebnis jedes von Person F durchgeführten Vorgangs (z. B. der Unterschied zwischen dem Wert der entsprechenden Ausgabe und einer anderen Ausgabe) wird untersucht. Danach wird das Gewicht für Person B gesendet und gleichermaßen wird das Ergebnis jedes von Person F durchgeführten Vorgangs untersucht. Danach wird das Gewicht für Person C gesendet und gleichermaßen wird das Ergebnis jedes von Person F durchgeführten Vorgangs untersucht. Aus diesen Gewichten wird das Gewicht für die am besten erkannte Person als Gewicht für Person F im Element α/Prozess 3 verwendet.
-
Die Gewichte für Person A, Person B und Person C im Element α/Prozess 3 können zu einem Gewicht kombiniert werden und das kombinierte Gewicht kann als Gewicht für das Element α/den Prozess 3 verwendet werden. Das kombinierte Gewicht wird gemeinsam mit der Information des Elements α/Prozesse 3 in der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gespeichert. Ferner kann das kombinierte Gewicht bei der ersten bis dritten Ausführungsform verwendet werden. Man beachte, dass Gewichte für eine Mehrzahl von Personen durch verteiltes Lernen oder Transferlernen kombiniert werden können. Beispielsweise bei der ersten Ausführungsform wird das kombinierte Gewicht in die Erkennungseinheit 28 der Lerninformationsauswahleinheit 21 eingegeben. Das Bild der Person A, das in der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gespeichert wird, wird gelesen und in die Bildeingabe 26 eingegeben und durch Vorverarbeitung durch eine Vorverarbeitungseinheit 27 verarbeitet und danach durch die Erkennungseinheit 28 erkannt und in die Vergleichseinheit 29 eingegeben. Das Gleiche gilt für Person B und Person C.
-
In der Vergleichseinheit 29 wird das am besten geeignete Gewicht aus dem kombinierten Gewicht, dem Gewicht für Person A, dem Gewicht für Person B, dem Gewicht für Person C ausgewählt. Das ausgewählte Gewicht wird als am besten geeignetes Gewicht im Element α/Prozess 3 gemeinsam mit der Information des Elements α/Prozesses 3 in der Vorgangsinformations-/Lerninformationsspeichereinheit 23 gespeichert. Was das Verfahren zum Entscheiden über Gewichte betrifft, so wurde der Benutzer bei der ersten Ausführungsform als unspezifizierte Person beschrieben und bei der zweiten und der dritten Ausführungsform als spezifizierte Person beschrieben. Wenn das Gewicht bei der Person, die mit einem Vorgang bereits Erfahrung hat (z. B. Person A), für sie selbst (Person A) von der Steuerung an die Steuervorrichtung 2 gesendet wird, kann unter Verwendung der Lerninformationsauswahleinheit 21 ermittelt werden, „welches besser ist”, z. B. das Gewicht, das durch Kombinieren der Gewichte für eine Mehrzahl von Personen im Element α/Prozess 3 erhalten wird, oder das Gewicht für Person A, um das bessere zu senden. Die Lerneinheit 54 ist z. B. in der Maschinenlernvorrichtung 5 der Steuervorrichtung 2 bereitgestellt, kann jedoch in der Zellsteuerung oder Verwaltungssteuerung bereitgestellt sein. Bilder werden in die Bildeingabe 26 eingegeben, aber natürlich können beliebige Bilder, die vorverarbeitet wurden, in die Erkennungseinheit 28 eingegeben werden.
-
Laut der Steuervorrichtung, dem Robotersystem und dem Produktionssystem gemäß der vorliegenden Erfindung kann die Aktion eines Roboters durch Erkennen und Lernen der Aktion einer Person gesteuert werden.
-
Alle Beispiele und Bedingungsformulierungen, die hier bereitgestellt sind, sollen dem pädagogischen Zweck dienen, dem Leser das Verstehen der Erfindung und der Konzepte, um die der Erfinder das Gebiet erweitert, zu erleichtern, und sollen nicht als diese spezifisch genannten Beispiele und Bedingungen einschränkend ausgelegt werden, und auch die Organisation solcher Beispiele in der Schrift stellt keine Überlegenheit und Unterlegenheit der Erfindung dar. Auch wenn eine oder mehrere Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben wurden, sei verstanden, dass diverse Modifikationen, Substitutionen und Änderungen daran vorgenommen werden könnten, ohne sich vom Geist und Umfang der Erfindung zu entfernen.
-
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
-