-
Gebiet
-
Die vorliegende Offenbarung bezieht sich auf eine Robotersteuerung zur Steuerung eines Roboters, der sich im Betrieb den Arbeitsbereich mit einer Person teilt, eine Lernvorrichtung und eine Inferenzvorrichtung.
-
Hintergrund
-
Auf dem Gebiet der Industrieroboter usw. wurde ein Mensch-Roboter-Kooperationssystem entwickelt, bei dem sich eine menschliche Arbeitskraft und ein Roboter einen Arbeitsbereich teilen können, ohne dass sich dazwischen eine Sicherheitsumzäunung befindet. Bei dem Mensch-Roboter-Kooperationssystem kann eine Arbeitskraft den Bewegungsbereich des Roboters betreten und mit diesem in Konflikt geraten. Aus diesem Grund wurde eine Technik zur Verhinderung von Konflikten zwischen der Arbeitskraft und dem Roboter vorgeschlagen.
-
In dem Patentdokument 1 wird ein Verfahren zur Robotersteuerung offenbart, das umfasst, den Abstand zwischen einem Roboter, der anhand von durch eine Kamera aufgenommenen Bildinformationen erkannt wird, und einer Arbeitskraft zu messen, die sich in der Nähe des Roboters befindet, und, wenn es sich bei dem gemessenen Abstand um einen Abstand handelt, der einen Konflikt des Roboters mit der Arbeitskraft verursacht, zu vermuten, wie der Roboter mit welchem Teil der Arbeitskraft interferiert, und die Bewegung des Roboters auf Basis des Ergebnisses der Vermutung zu beschränken.
-
Liste der Zitate
-
Patentliteratur
-
Patentdokument 1:
Japanische Offenlegungsschrift Nr. 2008-137127
-
Kurzbeschreibung der Erfindung
-
Durch die Erfindung zu lösende Problemstellung
-
Die oben beschriebene herkömmliche Technik, die einen Konflikt zwischen der Arbeitskraft und dem Roboter nur aus Bildinformationen annimmt, berücksichtigt kein Umgebungsobjekt, bei dem es sich um ein Objekt handelt, das um die Arbeitskraft und den Roboter herum angeordnet ist. Bei der herkömmlichen Technik besteht demnach das Problem, dass die Möglichkeit nicht berücksichtigt wird, dass die Arbeitskraft zwischen dem Roboter und dem Umgebungsobjekt eingeklemmt wird. So wird zum Beispiel aus einem Abstand zwischen der Arbeitskraft und dem Roboter ein Konfliktmodus zwischen der Arbeitskraft und dem Roboter vermutet, wenn sich ein Teil des Körpers der Arbeitskraft zwischen dem Roboter und dem Umgebungsobjekt befindet. Infolgedessen wird die Bewegung des Roboters verlangsamt, und es besteht die Gefahr, dass das Körperteil der Arbeitskraft zwischen dem Roboter und dem Umgebungsobjekt eingeklemmt wird, weil die Gegenwart des Umgebungsobjekts nicht berücksichtigt wird.
-
Die vorliegende Offenbarung entstand vor diesem Hintergrund, wobei eine ihrer Aufgabe darin besteht, eine Robotersteuerung anzugeben, die verhindern kann, dass eine Person zwischen einem Roboter und einem sich in deren Umgebung befindlichen Objekt eingeklemmt wird.
-
Mittel zur Lösung der Problemstellung
-
Zur Lösung der oben beschriebenen Problemstellung und zur Erfüllung der Aufgabe gibt die vorliegende Offenbarung eine Robotersteuerung zur Steuerung eines Roboters an, der sich im Betrieb den Arbeitsbereich mit einer Person teilt, wobei die Robotersteuerung eine Bilderkennungsverarbeitungseinheit, eine Robotersteuerungsverarbeitungseinheit und eine Überwachungsverarbeitungseinheit umfasst. Die Bilderkennungsverarbeitungseinheit erkennt erste Informationen auf Basis von Messdaten in einem Überwachungsbereich, die von einem Vision-Sensor erhalten werden, wobei es sich bei den ersten Informationen um Informationen über eine Person handelt, die sich in dem Überwachungsbereich befindet. Die Robotersteuerungsverarbeitungseinheit steuert eine Bewegung des Roboters in Übereinstimmung mit einem Bewegungsprogramm zum Bewegen des Roboters. Die Überwachungsverarbeitungseinheit bestimmt die Möglichkeit, dass eine Person zwischen dem Roboter und einem Umgebungsobjekt eingeklemmt wird, auf Basis von Umgebungsobjektdaten und den ersten Informationen, wobei die ersten Informationen von der Bilderkennungsverarbeitungseinheit erhalten werden. Die Umgebungsobjektdaten geben dreidimensionale Anordnungszustände des Roboters und eines Umgebungsobjekts im Überwachungsbereich an, wobei das Umgebungsobjekt ein anderes Objekt als der Roboter ist.
-
Wirkungen der Erfindung
-
Eine Robotersteuerung gemäß der vorliegenden Offenbarung verhindert, dass eine Person zwischen einem Roboter und einem Umgebungsobjekt eingeklemmt wird.
-
Kurzbeschreibung der Figuren
-
- 1 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Konfiguration eines Robotersystems mit einer Robotersteuerung gemäß einer ersten Ausführungsform.
- 2 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für Informationen über den Grad der Einwirkung auf den menschlichen Körper.
- 3 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für den Ablauf eines Robotersteuerungsverfahrens gemäß der ersten Ausführungsform.
- 4 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für den Ablauf eines Robotersteuerungsverfahrens gemäß der ersten Ausführungsform.
- 5 zeigt eine Darstellung zur Veranschaulichung einer Beziehung zwischen einer Person, einem Roboter und einem Umgebungsobjekt.
- 6 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Konfiguration eines Robotersystems mit einer Robotersteuerung gemäß einer zweiten Ausführungsform.
- 7 zeigt eine Darstellung zur Erläuterung eines Verfahrens zur Erzeugung einer Zugriffshäufigkeitskarte.
- 8 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für eine Zugriffshäufigkeitskarte.
- 9 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Konfiguration einer Lernvorrichtung einer Robotersteuerung gemäß der zweiten Ausführungsform.
- 10 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für den Ablauf eines Lernprozesses, der von einer Lernvorrichtung einer Robotersteuerung gemäß der zweiten Ausführungsform durchgeführt wird.
- 11 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Konfiguration einer Inferenzvorrichtung einer Robotersteuerung gemäß der zweiten Ausführungsform.
- 12 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für den Ablauf eines Inferenzprozesses, der von einer Inferenzvorrichtung einer Robotersteuerung gemäß der zweiten Ausführungsform durchgeführt wird.
- 13 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Hardwarekonfiguration einer Robotersteuerung gemäß der ersten und zweiten Ausführungsform.
-
Beschreibung von Ausführungsformen
-
Nachfolgend werden eine Robotersteuerung, eine Lernvorrichtung und eine Inferenzvorrichtung (engl. inference device) gemäß einer jeweiligen Ausführungsform der vorliegenden Offenbarung ausführlich unter Bezugnahme auf die Figuren beschrieben.
-
Erste Ausführungsform
-
1 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Konfiguration eines Robotersystems mit einer Robotersteuerung gemäß der ersten Ausführungsform. Ein Robotersystem 1 umfasst einen Roboter 10, einen Vision-Sensor (engl. vision sensor) 20 und eine Robotersteuerung 30.
-
In einem Beispiel umfasst der Roboter 10 mehrere Arme und eine Antriebseinheit. Die Antriebseinheit ist in jedem Gelenk vorgesehen. Das Gelenk ist ein Kopplungspunkt des jeweiligen Arms. Die Antriebseinheit steuert den Gelenkwinkel. Der Roboter 10 kann als Reaktion auf einen Bewegungsbefehl von der Robotersteuerung 30 verschiedene Stellungen einnehmen. Indem er verschiedene Stellungen einnimmt, kann der Roboter in einer Position innerhalb eines vorgegebenen Bereichs arbeiten, der an einer Position zentriert ist, in der der Roboter 10 fixiert ist. Ein Beispiel für die Antriebseinheit ist ein Elektromotor wie ein Servomotor oder ein Schrittmotor. Alternativ kann die Antriebseinheit beispielsweise ein Zylinder sein, der mit Luftdruck oder Hydraulikdruck arbeitet.
-
Der Vision-Sensor 20 bildet einen vorgegeben Bereich ab, der den Roboter 10 einschließt. Der Vision-Sensor 20 bildet also den Überwachungsbereich des Robotersystems 1 ab. Der Vision-Sensor 20 ist ein Sensor, der Messdaten beziehen kann, die ein Abstandsbild, das die Tiefe eines Objekts im Überwachungsbereich enthält, und ein Farbbild zur Unterscheidung zwischen einer Person und einem Umgebungsobjekt umfassen, bei dem es sich nicht um die Person handelt. Ein Beispiel für den Vision-Sensor 20 ist eine zweidimensionale Kamera oder eine dreidimensionale Kamera. Farbinformationen können von der zweidimensionalen Kamera bezogen werden, und Positionsinformationen können von der dreidimensionalen Kamera bezogen werden. Ein von der dreidimensionalen Kamera durchgeführtes bildgebendes Verfahren kann ein Stereoverfahren, ein Flugzeitverfahren (ToF) oder ein Projektionsverfahren sein.
-
Es wird angenommen, dass sich im Überwachungsbereich des Robotersystems 1 neben dem Roboter 10 auch ein Umgebungsobjekt befindet. Beispiele für das Umgebungsobjekt umfassen einen Tisch, eine Wand, ein Regal, eine Tür und eine Bearbeitungsmaschine.
-
Die Robotersteuerung 30 steuert die Bewegung des Roboters 10 in Übereinstimmung mit einem Bewegungsprogramm, bei dem es sich um ein vorgegebenes Programm zum Bewegen des Roboters 10 handelt. Während eines Steuerungsvorgangs des Roboters 10 steuert die Robotersteuerung 30 die Bewegung des Roboters 10 auf Basis eines Abbildungsergebnisses, das von dem Vision-Sensor 20 bereitgestellt wird, um einen Kontakt zwischen dem Roboter 10 und einer Person zu verhindern, wenn sich die Person in der Nähe des Roboters 10 befindet. Die Robotersteuerung 30 umfasst eine Bewegungsprogrammspeichereinheit 31, eine Robotersteuerungsverarbeitungseinheit 32, eine Bilderkennungsverarbeitungseinheit 33, eine Speichereinheit 34 für Informationen über den Grad der Einwirkung auf den menschlichen Körper, eine Umgebungsobjektdatenspeichereinheit 35 und eine Überwachungsverarbeitungseinheit 36.
-
In der Bewegungsprogrammspeichereinheit 31 ist ein Bewegungsprogramm gespeichert, das die Bewegung des Roboters 10 beschreibt.
-
Die Robotersteuerungsverarbeitungseinheit 32 lädt das Bewegungsprogramm zur Ausführung des Bewegungsprogramms aus der Bewegungsprogrammspeichereinheit 31 und steuert den Roboter 10 in Übereinstimmung mit dem Ausführungsergebnis. Wenn ein Befehl zur Beschränkung der Bewegung des Roboters 10 von der Überwachungsverarbeitungseinheit 36 ausgegeben wird, während die Robotersteuerungsverarbeitungseinheit 32 den Roboter 10 in Übereinstimmung mit dem Bewegungsprogramm steuert, steuert die Robotersteuerungsverarbeitungseinheit 32 den Roboter 10 zudem in Übereinstimmung mit diesem Befehl.
-
Die Bilderkennungsverarbeitungseinheit 33 erkennt auf Basis der vom Vision-Sensor 20 gewonnenen Messdaten im Überwachungsbereich erste Informationen. Bei den ersten Informationen handelt es sich um Informationen über eine im Überwachungsbereich anwesende Person. Ein Beispiel für die Messdaten ist ein Abstandsbild oder ein Farbbild. In einem Beispiel bestimmt die Bilderkennungsverarbeitungseinheit 33, ob eine Person im Überwachungsbereich anwesend ist, indem sie ein Farbbild der Messdaten verwendet, und erkennt menschliche Körperteile, wenn sich eine Person im Überwachungsbereich befindet. Beispiele für menschliche Körperteile umfassen den Kopf, den Rumpf, einen Oberarm, einen Unterarm, eine Hand, einen Oberschenkel, einen Unterschenkel und einen Fuß. Die Bilderkennungsverarbeitungseinheit 33 kann die menschlichen Körperteile erkennen, indem sie die Messdaten mit Daten vergleicht, in denen die menschlichen Körperteile vorab gespeichert wurden. Wenn sich eine Person im Überwachungsbereich befindet, erkennt die Bilderkennungsverarbeitungseinheit 33 unter Verwendung eines Abstandsbildes der Messdaten erste Positions- und Haltungsinformationen und erste Zustandsinformationen. Bei den ersten Positions- und Haltungsinformationen handelt es sich um Informationen, die die Position und Haltung der erkannten Person umfassen. Genauer handelt es sich bei den ersten Positions- und Haltungsinformationen um Informationen, die die Positionen und Haltungen der menschlichen Körperteile umfassen. Bei den ersten Zustandsinformationen handelt es sich um Informationen, die den Zustand der Person umfassen. Die ersten Positions- und Haltungsinformationen geben die Positionen und Haltungen der Person und der menschlichen Körperteile in einem Kamerakoordinatensystem an, das ein Koordinatensystem ist, das bei den vom Vision-Sensor 20 aufgenommenen Messdaten verwendet wird. Die ersten Zustandsinformationen sind Informationen, die angeben, wie sich jedes menschliche Körperteil bewegt. Beispielsweise sind die ersten Zustandsinformationen Informationen, die die Bewegungsrichtung und Geschwindigkeit eines jeden menschlichen Körperteils umfassen. Befindet sich ein menschliches Körperteil im Stillstand, sind die Bewegungsrichtung und die Geschwindigkeit „0“. Die ersten Positions- und Haltungsinformationen und die ersten Zustandsinformationen sind in den ersten Informationen enthalten. Darüber hinaus kann die Bilderkennungsverarbeitungseinheit 33 in ähnlicher Weise auch zweite Informationen für den Roboter 10 erkennen. Bei den zweiten Informationen handelt es sich um Informationen über den Roboter. Die zweiten Informationen umfassen für jeden Teil des Roboters 10 zweite Positions- und Haltungsinformationen und zweite Zustandsinformationen. Bei den zweiten Positions- und Haltungsinformationen handelt es sich um Informationen, die die Position und Haltung eines Roboterteils umfassen. Bei den zweiten Zustandsinformationen handelt es sich um zweite Zustandsinformationen, die Informationen über den Zustand eines Roboterteils umfassen.
-
Die Speichereinheit 34 für Informationen über den Grad der Einwirkung auf den menschlichen Körper speichert Informationen zum Grad der Einwirkung auf den menschlichen Körper, die den Grad der Einwirkung auf den menschlichen Körper angeben, wenn der Roboter 10 mit der Person in Kontakt kommt. In den Informationen über den Grad der Einwirkung auf den menschlichen Körper wird der Grad der Einwirkung auf den menschlichen Körper im Falle des Kontakts des menschlichen Körpers mit dem Roboter 10 für jedes der menschlichen Körperteile definiert. 2 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für den Grad der Einwirkung auf den menschlichen Körper. In einem Beispiel handelt es sich bei den Informationen über den Grad der Einwirkung auf den menschlichen Körper um Informationen, die Eingabedaten, d. h. einen Kontaktzustand zwischen der Person und dem Roboter 10, und Ausgabedaten, d. h. den Grad der Einwirkung auf den menschlichen Körper umfassen. In dem Beispiel von 2 umfassen die Eingabedaten Elemente, die den Kontaktbereich der Person, den Zustand der Person, den Kontaktbereich des Roboters 10 und den Zustand des Roboters 10 angeben. Es wird darauf hingewiesen, dass die Elemente der Eingabedaten in 2 nur Beispiele sind und nicht darauf beschränkt sind. Die Ausgabedaten umfassen ein Element, das den Grad der Einwirkung auf den menschlichen Körper angibt. Bei jedem Element der Eingabedaten handelt es sich um Informationen, die als Ergebnis eines Erkennungsprozesses durch die Bilderkennungsverarbeitungseinheit 33 und als Ergebnis eines Spezifizierungsprozesses durch die Überwachungsverarbeitungseinheit 36 erhalten werden. Beispiele für den Grad der Einwirkung auf den menschlichen Körper umfassen das Ausmaß des Aufpralls auf den menschlichen Körper und das Ausmaß der Verletzung oder Schädigung des menschlichen Körpers. Wenn beispielsweise der menschliche Körper geschädigt wurde, ist der Grad der Einwirkung auf den menschlichen Körper „hoch“, und wenn der menschliche Körper nicht geschädigt wurde, ist der Grad der Einwirkung auf den menschlichen Körper „niedrig“. In dem Beispiel von 2 ist der Grad der Einwirkung auf den menschlichen Körper „hoch“, wenn der Kontaktbereich der Person der „Kopf“ ist, der Zustand der Person „in Bewegung“ ist, der Kontaktbereich des Roboters 10 „alle Teile“ ist und der Zustand des Roboters 10 „Bewegungsgeschwindigkeit>0,0 m/s“ ist. In einem Beispiel sind die Informationen über den Grad der Einwirkung auf den menschlichen Körper „Biomechanische Grenzen“, wie in Tabelle A.2 der Internationalen Organisation für Normung/Technische Spezifikationen (ISO/TS) 15066: 2016 dargestellt.
-
Die Umgebungsobjektdatenspeichereinheit 35 speichert Daten über das Umgebungsobjekt. Die Umgebungsobjektdaten sind Informationen, die dreidimensionale Anordnungszustände des Roboters 10 und eines Umgebungsobjekts umfassen, das ein von dem Roboter 10 verschiedenes Objekt ist, das sich im Überwachungsbereich befindet. Die Umgebungsobjektdaten umfassen dreidimensionale CAD (Computer Aided Design)-Daten sowie Positions- und Haltungsdaten. Die CAD-Daten geben die Form und Größe des Objekts an. Die Positions- und Haltungsdaten geben die Position und Stellung an, in denen das Objekt installiert ist. In einem Beispiel handelt es sich bei den Positions- und Haltungsdaten um Daten, die die Position und Stellung auf Basis der Montageposition des Roboters 10 angeben. Die Umgebungsobjektdaten sind Daten, die den Anordnungszustand der Objekte einschließlich des Roboters 10 im Überwachungsbereich dreidimensional wiedergeben können. Die Umgebungsobjektdaten werden unter Verwendung eines Roboterkoordinatensystems ausgedrückt, das das in den Umgebungsobjektdaten verwendete Koordinatensystem ist.
-
Unter Verwendung des Erkennungsergebnisses der Bilderkennungsverarbeitungseinheit 33 berücksichtigt die Überwachungsverarbeitungseinheit 36 den Abstand zwischen der Person und dem Roboter 10, das Vorhandensein oder Nichtvorhandensein der Möglichkeit eines Kontakts und den Grad der Einwirkung zum Zeitpunkt des Kontakts und gibt, wenn die Möglichkeit besteht, dass der Roboter 10 eine Person gefährdet, an die Robotersteuerungsverarbeitungseinheit 32 einen Befehl zur Beschränkung der Bewegung des Roboters 10 aus. Im Folgenden wird jeder dieser speziellen Prozesse der Überwachungsverarbeitungseinheit 36 beschrieben.
-
Die Überwachungsverarbeitungseinheit 36 misst auf Basis des Erkennungsergebnisses der Bilderkennungsverarbeitungseinheit 33 eine Messdistanz. Die Messdistanz ist der Abstand zwischen der Person und dem Roboter 10. Die Überwachungsverarbeitungseinheit 36 bestimmt, ob die Messdistanz ein berührungsfreier Abstand ist. Der berührungsfreie Abstand ist ein Abstand, bei dem die Bewegung des Roboters 10 zu keinem Kontakt des Roboters 10 mit der Person führt. Der berührungsfreie Abstand wird aus den Bewegungsstoppdaten bezogen, die angeben, welcher Abstand in welcher Richtung erforderlich ist, um den Roboter 10 ab dem Zeitpunkt der Bildgebung durch den Vision-Sensor 20 anzuhalten. Als Ergebnis misst die Überwachungsverarbeitungseinheit 36 die Messdistanz zwischen der Person und dem Roboter 10, wobei diese Distanz die Strecke umfasst, die der Roboter 10 zurücklegt, bis er anhält. Wenn die Messdistanz der berührungsfreie Abstand ist, schränkt die Überwachungsverarbeitungseinheit 36 den Roboter 10 nicht ein und lässt ihn den laufenden Vorgang fortsetzen. Wenn die Messdistanz nicht der berührungsfreie Abstand ist, überträgt die Überwachungsverarbeitungseinheit 36 einen Befehl zur Änderung der Bewegungsgeschwindigkeit des Roboters 10 an die Robotersteuerungsverarbeitungseinheit 32, so dass der Roboter 10 langsamer wird.
-
Wenn die Messdistanz nicht der berührungsfreie Abstand ist, d. h. in einem Fall, in dem die Messdistanz ein Abstand ist, bei dem die Person und der Roboter 10 wahrscheinlich miteinander in Kontakt kommen, bestimmt die Überwachungsverarbeitungseinheit 36, ob die Bewegung des Roboters 10 einen Kontakt mit der Person verursacht. In einem Beispiel bestimmt die Überwachungsverarbeitungseinheit 36 anhand der ersten Informationen über die Person, die das Erkennungsergebnis der Bilderkennungsverarbeitungseinheit 33 sind, und der zweiten Informationen über den Roboter 10, ob der Roboter 10 mit der Person in Kontakt kommt. Wie oben beschrieben wurde, umfassen die ersten Informationen die ersten Positions- und Haltungsinformationen über die menschlichen Körperteile und die ersten Zustandsinformationen über die menschlichen Körperteile, während die zweiten Informationen die zweiten Positions- und Haltungsinformationen über die Teile des Roboters 10 und die zweiten Zustandsinformationen über die Teile des Roboters 10 umfassen. Darüber hinaus sagt die Überwachungsverarbeitungseinheit 36 in einem Fall, in dem der Roboter 10 in Kontakt mit der Person kommt, aus der vorhergesagten Bewegung jedes menschlichen Körperteils und der vorhergesagten Bewegung des Roboters 10 den Kontaktbereich und Kontaktzustand zwischen dem Roboter 10 und einem menschlichen Körperteil voraus. In einem Beispiel spezifiziert die Überwachungsverarbeitungseinheit 36 Informationen über die Kontaktzeitposition und -haltung sowie über den Kontaktzeitzustand. Die Informationen über die Kontaktzeitposition und -haltung umfassen das menschliche Körperteil und den Teil des Roboters 10, die sich gegenseitig berühren, sowie die Haltung der Person und des Roboters. Bei den Informationen über den Kontaktzeitzustand handelt es sich um den Zustand des menschlichen Körperteils und des Roboters 10, die miteinander in Kontakt sind. In einem Beispiel umfassen die Informationen über die Kontaktzeitposition und -haltung das menschliche Körperteil, das in Kontakt mit dem Roboter 10 ist, und dessen Kontaktwinkel, und den Teil des Roboters 10, der in Kontakt mit der Person ist, und dessen Kontaktwinkel. Die Informationen über den Kontaktzeitzustand umfassen die Bewegungsrichtung und Geschwindigkeit des menschlichen Körperteils und des Teils des Roboters 10 zum Zeitpunkt des Kontakts. Die Informationen über den Kontaktzeitzustand geben an, dass sowohl die Bewegungsrichtung als auch die Geschwindigkeit „0“ sind, wenn das menschliche Körperteil und der Teil des Roboters 10 im Stopp-Zustand sind.
-
Es kann das Ergebnis einer Simulation, bei der die Robotersteuerungsverarbeitungseinheit 32 den Roboter 10 gemäß dem Bewegungsprogramm bewegt, anstelle des Erkennungsergebnisses der Bilderkennungsverarbeitungseinheit 33 als zweite Positions- und Haltungsinformationen auf Seiten des Roboters und als zweite Zustandsinformationen auf Seiten des Roboters 10 verwendet werden, um die Bewegung zu bestimmen, d. h. den Kontakt des Roboters 10 mit der Person. Wenn der Roboter 10 nicht mit der Person in Kontakt kommt, erlaubt die Überwachungsverarbeitungseinheit 36 dem Roboter 10, die Bewegung fortzusetzen, wobei Beschränkungen für die Bewegung des Roboters 10 beibehalten werden.
-
Wenn der Roboter 10 mit der Person in Kontakt kommt, konsultiert die Überwachungsverarbeitungseinheit 36 die Informationen über den Grad der Einwirkung auf den menschlichen Körper in der Speichereinheit 34 für Informationen über den Grad der Einwirkung auf den menschlichen Körper und extrahiert den Grad der Einwirkung auf den menschlichen Körper aus den angegebenen Teilen und Zuständen des Roboters 10 und der Person, die miteinander in Kontakt kommen. Die Überwachungsverarbeitungseinheit 36 extrahiert demnach die Informationen über den Grad der Einwirkung auf den menschlichen Körper, die einer Kombination aus den Informationen über die Position und Haltung zur Kontaktzeit und den Informationen über den Zustand zur Kontaktzeit entsprechen. Dann gibt die Überwachungsverarbeitungseinheit 36 einen Befehl für die Bewegung des Roboters 10 in Übereinstimmung mit dem bezogenen Grad der Einwirkung auf den menschlichen Körper an die Robotersteuerungsverarbeitungseinheit 32 aus. Wenn der Grad der Einwirkung auf den menschlichen Körper hoch ist, überträgt die Überwachungsverarbeitungseinheit 36 beispielsweise einen Befehl zur weiteren Einschränkung der Bewegung des Roboters 10 an die Robotersteuerungsverarbeitungseinheit 32. Beispiele für die Einschränkung der Bewegung des Roboters 10 umfassen das Anhalten des Roboters 10 und eine Bewegung des Roboters 10 in eine Richtung weg von der Person.
-
Zudem bestimmt die Überwachungsverarbeitungseinheit 36 auf Basis der Umgebungsobjektdaten, die den dreidimensionalen Anordnungszustand des Roboters 10 und eines Umgebungsobjekts im Überwachungsbereich angeben, und der ersten Informationen, die von der Bilderkennungsverarbeitungseinheit 33 erhalten wurden, die Möglichkeit, dass die Person zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird, und bestimmt, ob eine weitere Einschränkung der Bewegung des Roboters 10 oder die Ausgabe eines Warntons erforderlich ist, wenn der Grad des Einflusses des Kontakts zwischen dem Roboter 10 und der Person auf den menschlichen Körper nicht hoch ist. Um die Möglichkeit des Einklemmens der Person zwischen dem Roboter 10 und dem Umgebungsobjekt zu bestimmen, fügt die Überwachungsverarbeitungseinheit 36 Positionsinformationen über die Person zu den Daten des Umgebungsobjekts auf Basis der ersten Informationen hinzu, wobei die Daten des Umgebungsobjekts die Position, Form und Größe des Roboters 10 und des Umgebungsobjekts im Überwachungsbereich umfassen, und sagt die Bewegung der Person und die Bewegung des Roboters 10 auf Basis der ersten Informationen voraus. Ferner kann die Überwachungsverarbeitungseinheit 36 die Möglichkeit des Einklemmens der Person zwischen dem Roboter 10 und dem Umgebungsobjekt bestimmen, indem sie nicht nur die ersten Informationen, sondern auch die zweiten Informationen berücksichtigt. In diesem Fall sagt die Überwachungsverarbeitungseinheit 36 die Bewegung des Roboters 10 anhand der zweiten Informationen voraus, die die zweiten Positions- und Haltungsinformationen und die zweiten Zustandsinformationen umfassen.
-
Konkret fügt die Überwachungsverarbeitungseinheit 36 zu den Daten des Umgebungsobjekts im Roboterkoordinatensystem die von der Bilderkennungsverarbeitungseinheit 33 erkannten Positionsinformationen über die Person im Kamerakoordinatensystem hinzu, d. h. die Positionsinformationen über jedes menschliche Körperteil, simuliert die Bewegung der Person und die Bewegung des Roboters 10 und bestimmt so, ob die Person zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird. Dabei wird vorab eine Kalibrierung zwischen dem Kamerakoordinatensystem und dem Roboterkoordinatensystem durchgeführt. Dadurch wird eine Koordinatentransformationsmatrix zwischen dem Kamerakoordinatensystem und dem Roboterkoordinatensystem berechnet. Mit Hilfe dieser Koordinatentransformationsmatrix kann die Position der Person im Kamerakoordinatensystem, die vom Vision-Sensor 20 erkannt wird, in die des Roboterkoordinatensystems überführt werden. Die Position und die Haltung des Umgebungsobjekts werden ebenfalls unter Verwendung von auf dem Roboter 10 basierenden Koordinaten dargestellt. Daher kann die Überwachungsverarbeitungseinheit 36 eine Positionsbeziehung zwischen dem Roboter 10, dem Umgebungsobjekt und der Person im Roboterkoordinatensystem erkennen und anhand dieser Positionsbeziehung bestimmen, ob sich die Person an einer Position befindet, an der sie eingeklemmt wird. Die Simulation der Bewegung der Person kann auf Basis der ersten Informationen durchgeführt werden. Die Simulation der Bewegung des Roboters 10 kann mit Hilfe des Bewegungsprogramms oder auf Basis der zweiten Informationen durchgeführt werden.
-
Wenn keine Gefahr besteht, dass die Person eingeklemmt wird, erlaubt die Überwachungsverarbeitungseinheit 36 dem Roboter 10, die Bewegung fortzusetzen, wobei die Einschränkungen der Bewegung des Roboters 10 beibehalten werden. Das heißt, die Überwachungsverarbeitungseinheit 36 schränkt die Bewegung nicht weiter ein. Wenn die Möglichkeit besteht, dass die Person eingeklemmt wird, gibt die Überwachungsverarbeitungseinheit 36 einen Befehl an die Robotersteuerungsverarbeitungseinheit 32 aus, um die Bewegung des Roboters 10 einzuschränken, wie z. B. das Stoppen des Roboters 10 und eine Bewegung des Roboters 10 in eine Richtung weg von der Person, oder sie gibt einen Warnton aus.
-
Als Nächstes wird die Funktionsweise der Robotersteuerung 30 in dem Robotersystem 1 mit einer solchen Konfiguration beschrieben. Die 3 und 4 zeigen jeweils ein Flussdiagramm, das ein Beispiel für den Ablauf eines Robotersteuerungsverfahrens gemäß der ersten Ausführungsform veranschaulicht. Es wird ein Verfahren beschrieben, das auf der Annahme beruht, dass sich eine Person im Überwachungsbereich befindet.
-
Zunächst bildet der Bildsensor 20 den Überwachungsbereich ab und überträgt die Messdaten, d. h. die durch die Bildaufnahme gewonnenen Daten, an die Robotersteuerung 30. Die Bilderkennungsverarbeitungseinheit 33 der Robotersteuerung 30 erkennt aus den empfangenen Messdaten die ersten Positions- und Haltungsinformationen und die ersten Zustandsinformationen über die menschlichen Körperteile der Person, der sich im Überwachungsbereich befindet (Schritt S11). Die ersten Positions- und Haltungsinformationen sind Informationen, die die Positionen und Haltungen der menschlichen Körperteile umfassen, und die ersten Zustandsinformationen sind Informationen, die die Zustände der menschlichen Körperteile umfassen. Als Nächstes erfasst die Überwachungsverarbeitungseinheit 36 die Messdistanz zwischen der erkannten Person und dem Roboter 10 unter Verwendung der ersten Positions- und Haltungsinformationen und der ersten Zustandsinformationen über die von der Bilderkennungsverarbeitungseinheit 33 erkannten menschlichen Körperteile (Schritt S12).
-
Danach bestimmt die Überwachungsverarbeitungseinheit 36, ob die Messdistanz ein berührungsfreier Abstand ist, bei dem die Person und der Roboter 10 nicht miteinander in Kontakt kommen (Schritt S13). In einem Beispiel ist der berührungsfreie Abstand eine Strecke, die der Roboter 10 als Reaktion auf die Erfassung durch den Vision-Sensor 20 zurücklegt, bis der Roboter 10 ein Stoppsignal empfängt und anhält. Ist die Messdistanz größer als der berührungsfreie Abstand, kommt der Roboter 10 nicht in Kontakt mit der Person, wobei der Roboter 10 in Kontakt mit der Person kommen kann, wenn die Messdistanz kleiner als der berührungsfreie Abstand ist.
-
Wenn die Messdistanz größer ist als der berührungsfreie Abstand (Ja in Schritt S13), besteht keine Gefahr eines Kontakts des Roboters 10 mit der Person, und daher schränkt die Überwachungsverarbeitungseinheit 36 die Bewegung des Roboters 10 nicht ein, setzt die Bewegung im aktuellen Bewegungsprogramm fort und beendet die Prozedur.
-
Wenn der Messabstand kleiner ist als der berührungsfreie Abstand (Nein in Schritt S13), gibt die Überwachungsverarbeitungseinheit 36 einen Befehl zur Änderung der Bewegungsgeschwindigkeit des Roboters 10 an die Robotersteuerungsverarbeitungseinheit 32 aus (Schritt S14). Wenn die Robotersteuerungsverarbeitungseinheit 32 den Befehl empfängt, ändert sie die Bewegungsgeschwindigkeit des Roboters 10 entsprechend dem Befehl (Schritt S15). Konkret gibt die Überwachungsverarbeitungseinheit 36 einen Verlangsamungsbefehl an die Robotersteuerungsverarbeitungseinheit 32 aus, um die Bewegungsgeschwindigkeit des Roboters 10 zu verlangsamen. Die im Verlangsamungsbefehl enthaltene Bewegungsgeschwindigkeit des Roboters 10, die beispielsweise 0,25 m/s beträgt, ist eine solche Bewegungsgeschwindigkeit, dass es, selbst wenn der Roboter 10 mit der Person in Kontakt kommt, an der Kontaktstelle keine wesentliche Auswirkung auf den menschlichen Körper gibt.
-
Als Nächstes bestimmt die Überwachungsverarbeitungseinheit 36 anhand des Erkennungsergebnisses der Bilderkennungsverarbeitungseinheit 33, ob durch die Bewegung des Roboters 10 die Möglichkeit eines Kontakts mit der Person besteht (Schritt S16). In einem Beispiel erkennt die Bilderkennungsverarbeitungseinheit 33 in Schritt S11 die zweiten Positions- und Haltungsinformationen und die zweiten Zustandsinformationen über die Teile des Roboters 10, sagt die Bewegung der Person und des Roboters 10 unter Verwendung der ersten Positions- und Haltungsinformationen und der ersten Zustandsinformationen über die menschlichen Körperteile und der zweiten Positions- und Haltungsinformationen und der zweiten Zustandsinformationen über die Teile des Roboters 10 voraus und bestimmt die Möglichkeit eines Kontakts zwischen dem Roboter 10 und der Person. Alternativ dazu wird in einem anderen Beispiel eine Kombination aus einer Simulation, bei der der Roboter 10 sich gemäß dem Bewegungsprogramm bewegen kann, und einer Vorhersage unter Verwendung der ersten Positions- und Haltungsinformationen und der ersten Zustandsinformationen über die menschlichen Körperteile verwendet, um die Möglichkeit eines Kontakts zwischen dem Roboter 10 und der Person zu bestimmen.
-
Wenn die Überwachungsverarbeitungseinheit 36 feststellt, dass bei der Bewegung des Roboters 10 kein Kontakt mit der Person möglich ist (Nein in Schritt S16), erlaubt die Überwachungsverarbeitungseinheit 36 dem Roboter 10, seine Bewegung fortzusetzen, wobei die in Schritt S15 geänderte Bewegungsgeschwindigkeit des Roboters 10 beibehalten wird, und beendet die Prozedur. Wenn die Überwachungsverarbeitungseinheit 36 feststellt, dass bei der Bewegung des Roboters 10 die Möglichkeit eines Kontakts mit der Person besteht (Ja in Schritt S16), spezifiziert die Überwachungsverarbeitungseinheit 36 die Kontaktzeit-Positions- und Haltungsinformationen über den Roboter 10 und das menschliche Körperteil unter Verwendung des Erkennungsergebnisses der Bilderkennungsverarbeitungseinheit 33 (Schritt S17). Zudem bezieht die Überwachungsverarbeitungseinheit 36 die Kontaktzeit-Zustandsinformationen über den Roboter 10 und den menschlichen Körper unter Verwendung des Erkennungsergebnisses der Bilderkennungsverarbeitungseinheit 33 (Schritt S18). Beispiele für Kontaktzeit-Zustandsinformationen über den menschlichen Körper umfassen die Orientierung des Kopfes und die Bewegungsgeschwindigkeit des Kopfes und die Orientierung des Kopfes und die Bewegungsgeschwindigkeit der Schulter. In ähnlicher Weise umfassen Beispiele für die Kontaktzeit-Zustandsinformationen des Roboters 10 die Ausrichtung und Bewegungsgeschwindigkeit eines distalen Endabschnitts eines Arms.
-
Danach benutzt die Überwachungsverarbeitungseinheit 36 die Informationen über den Grad der Einwirkung auf den menschlichen Körper und ermittelt den Grad der Einwirkung auf den menschlichen Körper aus den Kontaktzeit-Positions- und Haltungsinformationen sowie den Kontaktzeit-Zustandsinformationen über den Roboter 10 und den menschlichen Körper (Schritt S19). Konkret verwendet die Überwachungsverarbeitungseinheit 36 eine Kombination der Kontaktzeit-Positions- und Haltungsinformationen über den Roboter 10 und den menschlichen Körper und deren Kontaktzeit-Zustandsinformationen als Eingabedaten und bezieht aus den Informationen über den Grad der Einwirkung auf den menschlichen Körper Ausgabedaten, bei denen es sich um den Grad der Einwirkung auf den menschlichen Körper entsprechend den Eingabedaten handelt. Die Überwachungsverarbeitungseinheit 36 bestimmt, ob der Grad der Einwirkung auf den menschlichen Körper größer ist als ein vorgegebener Referenzwert (Schritt S20). Ist der Grad der Einwirkung auf den menschlichen Körper größer als der Referenzwert, ist die Einwirkung, wie beispielsweise die Schädigung des menschlichen Körpers, groß. Wenn der Grad der Einwirkung auf den menschlichen Körper kleiner oder gleich dem Referenzwert ist, ist die Einwirkung, wie beispielsweise die Schädigung des menschlichen Körpers, gering. Der Grad der Einwirkung auf den menschlichen Körper ist mit Informationen wie beispielsweise, ob ein menschliches Körperteil, mit dem der Roboter 10 in Kontakt kommt, ein lebenswichtiges Teil ist, der Bewegungsgeschwindigkeit des Roboters 10 und eines menschlichen Körperteils, mit dem der Roboter in Kontakt kommen kann, der Position, dem Zustand und dergleichen verknüpft.
-
Wenn der Grad der Einwirkung auf den menschlichen Körper kleiner oder gleich dem Referenzwert ist (Nein in Schritt S20), fügt die Überwachungsverarbeitungseinheit 36 zu den Umgebungsobjektdaten die Positionsinformationen über die Person hinzu, die von der Bilderkennungsverarbeitungseinheit 33 erkannt wurden (Schritt S21), und sagt die Bewegung des Roboters 10 und der Person in einer Umgebung mit einem Umgebungsobjekt voraus (Schritt S22). In einem Beispiel simuliert die Überwachungsverarbeitungseinheit 36 die Bewegung des Roboters 10 und der Person unter Verwendung der Umgebungsobjektdaten. Dabei können die Kontaktzeit-Positions- und Haltungsinformationen und die Kontaktzeit-Zustandsinformationen über den Roboter 10 und den menschlichen Körper, das Bewegungsprogramm und dergleichen verwendet werden.
-
Aufgrund der Vorhersage bestimmt die Überwachungsverarbeitungseinheit 36 anhand einer Beziehung zwischen den Dreien, d. h. der Person, dem Roboter 10 und dem Umgebungsobjekt, ob die Möglichkeit besteht, dass die Person zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird (Schritt S23). 5 zeigt eine Darstellung zur Veranschaulichung einer Beziehung zwischen einer Person, einem Roboter und einem Umgebungsobjekt. In dieser Figur ist der Fall dargestellt, dass ein Bereich zwischen dem Roboter 10 und einer Werkbank 510, die ein Umgebungsobjekt ist, ein Einklemm-Möglichkeitsbereich R1 ist, und sich eine Hand 501 einer Person 500 in dem Einklemm-Möglichkeitsbereich R1 befindet. In einem solchen Fall wird festgestellt, dass die Möglichkeit besteht, dass die Hand 501 der Person 500 zwischen dem Roboter 10 und der Werkbank 510 eingeklemmt wird.
-
Wenn die Möglichkeit besteht, dass die Person zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird (Ja in Schritt S23), oder wenn in Schritt S20 der Grad der Einwirkung auf den menschlichen Körper größer ist als der Referenzwert (Ja in Schritt S20), gibt die Überwachungsverarbeitungseinheit 36 einen Befehl an die Robotersteuerungsverarbeitungseinheit 32 aus, die Bewegung des Roboters 10 einzuschränken, um einen Kontakt zwischen der Person und dem Roboter 10 zu verhindern (Schritt S24). Bei Empfang des Befehls schränkt die Robotersteuerungsverarbeitungseinheit 32 die Bewegung des Roboters 10 auf Basis des Befehls ein (Schritt S25). Beispiele für die Einschränkung der Bewegung des Roboters 10 umfassen das Anhalten der Bewegung des Roboters 10, seine weitere Verlangsamung und eine Bewegung des Roboters 10 in eine Richtung weg von der Person. Auch wenn die Überwachungsverarbeitungseinheit 36 den Befehl zur Einschränkung der Bewegung des Roboters 10 an die Robotersteuerungsverarbeitungseinheit 32 ausgibt und die Robotersteuerungsverarbeitungseinheit 32 die Bewegung des Roboters 10 in den Schritten S24 und S25 einschränkt, kann die Überwachungsverarbeitungseinheit 36 in Schritt S24 auch einen Warnton ausgeben. Damit ist die Prozedur beendet.
-
Wenn keine Gefahr besteht, dass die Person zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird (Nein in Schritt S23), erkennt die Überwachungsverarbeitungseinheit 36, dass die Einwirkung auf den menschlichen Körper nicht so schwerwiegend ist, behält die Bewegung des Roboters 10 bei und beendet die Prozedur.
-
Gemäß der Robotersteuerung 30 der ersten Ausführungsform bezieht die Bilderkennungsverarbeitungseinheit 33 die ersten Positions- und Haltungsinformationen und die ersten Zustandsinformationen über die menschlichen Körperteile der im Überwachungsbereich anwesenden Person unter Verwendung der Messdaten des Vision-Sensors 20. Die Überwachungsverarbeitungseinheit 36 fügt die Position der Person zu den Umgebungsobjektdaten, die den dreidimensionalen Anordnungszustand, Form und Größe des Roboters 10 und des Umgebungsobjekts umfassen, hinzu, sagt die Bewegungen der Person und des Roboters 10 voraus und bestimmt, ob die Möglichkeit besteht, dass die Person zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird. Besteht die Möglichkeit, dass die Person zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird, wird ein Befehl zur Einschränkung der Bewegung des Roboters 10 an die Robotersteuerungsverarbeitungseinheit 32 ausgegeben, um zu verhindern, dass die Person zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird. Infolgedessen ist es möglich, die Gefahr zu verringern, dass der Grad der Einwirkung auf den menschlichen Körper erhöht wird, wenn die Person durch die Fortsetzung der Bewegung des Roboters 10 zwischen dem Roboter 10 und dem Umgebungsobjekt eingeklemmt wird, selbst wenn der Grad der Einwirkung durch den Kontakt des Roboters 10 mit der Person gering ist. Da es außerdem unwahrscheinlich ist, dass der Person durch den Kontakt des Roboters 10 mit der Person großer Schaden zufügt wird, kann der Roboter 10 in einem Abstand nahe der Person eingesetzt werden, was eine hohe Einsatzflexibilität bietet.
-
Zweite Ausführungsform
-
Bislang hat niemand eine Technik vorgeschlagen, um den Bewegungsweg des Roboters 10 zu einer Zielposition so weit wie möglich zu verkürzen und die Möglichkeit des Kontakts des Roboters 10 mit einer Person und die Gefahr des Einklemmens der Person zwischen dem Roboter 10 und einem Umgebungsobjekt zu verringern, wenn sich die Person in einem Bereich befindet, in dem der Roboter 10 und das Umgebungsobjekt angeordnet sind. Bei der zweiten Ausführungsform wird eine Robotersteuerung beschrieben, die den Bewegungsweg des Roboters 10 zur Zielposition so weit wie möglich verkürzen sowie die Möglichkeit des Kontakts des Roboters 10 mit der Person und die Gefahr des Einklemmens der Person zwischen dem Roboter 10 und dem Umgebungsobjekt verringern kann.
-
6 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Konfiguration eines Robotersystems mit einer Robotersteuerung gemäß der zweiten Ausführungsform. Die gleichen Komponenten wie bei der ersten Ausführungsform sind mit den gleichen Bezugszeichen versehen, und deren Beschreibung wird weggelassen. Zusätzlich zur Konfiguration der ersten Ausführungsform umfasst die Robotersteuerung 30 ferner eine Personenanalyseverarbeitungseinheit 37, eine Zugriffshäufigkeitskartenspeichereinheit (engl. access frequency map storage unit) 38, eine Lernvorrichtung 39, eine Lernmodellspeichereinheit 40 und eine Inferenzvorrichtung 41.
-
Die Personenanalyseverarbeitungseinheit 37 erzeugt aus dem Erkennungsergebnis der Bilderkennungsverarbeitungseinheit 33 eine Zugriffshäufigkeitskarte. Bei der Zugriffshäufigkeitskarte handelt es sich um Informationen, die die Zugriffssituation der Person im Überwachungsbereich während einer vorgegebenen Zeitspanne angeben. 7 zeigt eine Darstellung zur Erläuterung eines Verfahrens zur Erzeugung einer Zugriffshäufigkeitskarte. 7 veranschaulicht die Bilddaten 600 des Überwachungsbereichs, die von dem Vision-Sensor 20 aufgenommen wurden. 7 veranschaulicht die Bilddaten 600, die durch Aufnahme des Überwachungsbereichs von oben gewonnen wurden. Die Bilddaten 600 des Überwachungsbereichs sind in mehrere rechteckige kleine Bereiche 601 unterteilt. In den Bilddaten 600 von 7 ist eine insgesamt untere Hälfte ein Bereich, in dem der Roboter 10 und Umgebungsobjekte 520 angeordnet sind, und eine insgesamt obere Hälfte ist ein Bereich 610, in dem sich die Person 500 bewegen kann. Ein kreisförmiger Bereich, der auf die Position des Roboters 10 zentriert ist, ist der Roboterbewegungsbereich 620, in dem sich Teile des Roboters 10 bewegen können.
-
Im Anfangszustand ist die Zugriffshäufigkeit jedes kleinen Bereichs 601 0. Die Personenanalyseverarbeitungseinheit 37 bestimmt, zu welchem kleinen Bereich 601 die Position der von der Bilderkennungsverarbeitungseinheit 33 erkannten Person 500 gehört, und addiert „1“ zur Zugriffshäufigkeit des kleinen Bereichs 601, zu dem die Person 500 gehört. Die Personenanalyseverarbeitungseinheit 37 erzeugt eine Zugriffshäufigkeitskarte, indem sie diese Prozedur für eine vorgegebene Zeitspanne durchführt.
-
8 zeigt eine Darstellung zur Veranschaulichung eines Beispiel für eine Zugriffshäufigkeitskarte. Die Zugriffshäufigkeitskarte von 8 wird aus den Bilddaten 600 des Überwachungsbereichs von 7 erzeugt. Das oben beschriebene Verfahren wird durchgeführt, um so jedem der kleinen Bereiche 601 die Häufigkeit zuzuordnen, mit der die Person 500 diesem angehört hat, wie in 8 dargestellt ist. Anhand der Zugriffshäufigkeitskarte kann festgestellt werden, an welcher Stelle des Überwachungsbereichs sich die Person 500 wahrscheinlich aufhält.
-
Die Zugriffshäufigkeitskartenspeichereinheit 38 speichert die von der Personenanalyseverarbeitungseinheit 37 für den Überwachungsbereich erzeugte Zugriffshäufigkeitskarte. Die Zugriffshäufigkeitskarte ist ein für das maschinelle Lernen aufbereiteter Datensatz.
-
Auf Basis des Bewegungswegs des Roboters 10 und des Zustands der Person 500, des Roboters 10 und der Umgebungsobjekte 520 erzeugt die Lernvorrichtung 39 ein Lernmodell zum Erlernen des Bewegungswegs des Roboters 10, das die Verlangsamung oder das Anhalten der Bewegung des Roboters 10 vermeidet und den Kontakt des Roboters 10 mit der Person 500 und das Einklemmen der Person 500 zwischen dem Roboter 10 und einem der Umgebungsobjekte 520 verhindert.
-
Die Lernmodellspeichereinheit 40 speichert das von der Lernvorrichtung 39 erlernte Modell.
-
Die Inferenzvorrichtung 41 gibt die Zielposition des Roboters 10 und den Zustand des Roboters 10, der Person 500 und der Umgebungsobjekte 520 in das Lernmodell ein, das in der Lernmodellspeichereinheit 40 gespeichert ist, wodurch der Bewegungsweg des Roboters 10 abgeleitet wird, der für den Zustand des Roboters 10, der Person 500 und der Umgebungsobjekte 520 geeignet ist.
-
Das Lernen durch die Lernvorrichtung 39 und die Ableitung durch die Inferenzvorrichtung 41 werden im Folgenden im Detail beschrieben.
-
< Lernphase >
-
9 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiel für die Konfiguration einer Lernvorrichtung in einer Robotersteuerung gemäß der zweiten Ausführungsform. Die Lernvorrichtung 39 umfasst eine Datenbezugseinheit 391 und eine Modellerzeugungseinheit 392.
-
Die Datenbezugseinheit 391 bezieht Lerndaten. Bei den Lerndaten handelt es sich um einen Bewegungsweg des Roboters 10 und um Zustandsdaten, die den Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte angeben. Die Zustandsdaten umfassen die ersten Informationen über die Person 500, die Zielposition und die zweiten Informationen über den Roboter 10 sowie die Umgebungsobjektdaten. Bei der folgenden Beschreibung wird davon ausgegangen, dass es sich bei den ersten Informationen um die ersten Positions- und Haltungsinformationen und bei den zweiten Informationen um die zweiten Positions- und Haltungsinformationen handelt. Der Bewegungsweg und die Zielposition des Roboters 10 können durch Simulation des Bewegungsprogramms ermittelt werden. Der Bewegungsweg des Roboters 10 ist ein Bewegungsweg bei einem Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520. Das heißt, der Bewegungsweg des Roboters 10 ist ein Bewegungsweg bei einer Kombination aus den ersten Positions- und Haltungsinformationen über die Person 500, der Roboterzielposition und den zweiten Positions- und Haltungsinformationen über den Roboter 10 sowie den Umgebungsobjektdaten.
-
Auf Basis der Lerndaten, die den Bewegungsweg des Roboters 10 und die Zustandsdaten umfassen, lernt die Modellerzeugungseinheit 392 aus dem Zustand des Roboters 10, der Person 500 und der Umgebungsobjekte 520 den Bewegungsweg des Roboters 10, der die Verlangsamung oder das Anhalten der Bewegung des Roboters 10 vermeidet und den Kontakt des Roboters mit der Person 500 und das Einklemmen der Person 500 zwischen dem Roboter 10 und einem der Umgebungsobjekte 520 verhindert. Die Modellerzeugungseinheit 392 erzeugt demnach ein Lernmodell, um aus dem Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 den Bewegungsweg des Roboters 10 abzuleiten, der die Möglichkeit des Kontakts mit der Person 500 und des Einklemmens der Person 500 reduziert.
-
Der Lernalgorithmus, der von der Modellerzeugungseinheit 392 verwendet wird, kann ein bekannter Algorithmus wie überwachtes Lernen, unüberwachtes Lernen oder Verstärkungslernen sein. Es wird ein Beispiel beschrieben, bei dem Verstärkungslernen eingesetzt wird. Beim Verstärkungslernen beobachtet ein Agent als Subjekt einer Aktion in einer bestimmten Umgebung einen Parameter der Umgebung, nämlich den aktuellen Zustand, und entscheidet, welche Aktion er ausführen soll. Die Umgebung verändert sich dynamisch durch die Aktion des Agenten, und je nach Veränderung der Umgebung erhält der Agent eine Belohnung. Der Agent wiederholt den oben beschriebenen Vorgang und lernt durch eine Reihe von Aktionen eine Handlungsstrategie, die die Belohnung maximiert. Q-Learning, TD-Learning und dergleichen sind als typische Methoden des Verstärkungslernens bekannt. Im Falle des Q-Learnings wird beispielsweise eine allgemeine Aktualisierungsformel für eine Aktionswertfunktion Q(s, a) durch die folgende Formel (1) ausgedrückt.
Formel 1:
-
In Formel (1) steht st für den Zustand der Umgebung zum Zeitpunkt t und at für die Aktion zum Zeitpunkt t. Der Zustand wird durch die Aktion at in st+1 geändert. rt+1 bedeutet die Belohnung, die durch Änderung des Zustands erzielt wurde, γ einen Diskontierungsfaktor und α einen Lernkoeffizienten. Der Bereich von γ ist 0<γ≤1, und der Bereich von α ist 0<α≤1. Der Bewegungsweg des Roboters 10 wird zur Aktion at. Die Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 wird zum Zustand st. Es wird die beste Aktion at im Zustand st zum Zeitpunkt t erlernt.
-
Die durch Formel (1) ausgedrückte Aktualisierungsformel erhöht den Aktionswert Q, wenn der Aktionswert Q einer Aktion „a“ mit einem höchsten Q-Wert zum Zeitpunkt t+1 größer ist als der Aktionswert Q der Aktion „a“, die zum Zeitpunkt t ausgeführt wird, und verringert den Aktionswert Q, wenn das Gegenteil der Fall ist. Mit anderen Worten: Die Aktionswertfunktion Q(s, a) wird so aktualisiert, dass sich der Aktionswert Q der Aktion „a“ zum Zeitpunkt t dem besten Aktionswert Q zum Zeitpunkt t+1 annähert. Folglich wird der beste Aktionswert Q in einer bestimmten Umgebung sukzessive auf die Aktionswerte in früheren Umgebungen übertragen.
-
Wenn das erlernte Modell wie oben beschrieben durch Verstärkungslernen erzeugt wird, umfasst die Modellerzeugungseinheit 392 eine Belohnungsberechnungseinheit 393 und eine Funktionsaktualisierungseinheit 394.
-
Die Belohnungsberechnungseinheit 393 berechnet eine Belohnung auf Basis des Bewegungswegs des Roboters 10 und des Zustands der Person 500, des Roboters 10 und der Umgebungsobjekte 520. Die Belohnungsberechnungseinheit 393 berechnet eine Belohnung r auf der Grundlage zumindest eines der folgenden Belohnungskriterien: der Bewegungszeit des Roboters 10; dem Grad der Einwirkung auf den menschlichen Körper, wenn der Roboter 10 mit der Person 500 in Kontakt kommt; und der Zugriffshäufigkeit der Person 500 im Roboterbewegungsbereich 620. In einem Beispiel ist die Bewegungszeit des Roboters 10 die Zeit, die benötigt wird, um sich von einer bestimmten Position A zu einer anderen Position B zu bewegen. Die Position B ist das Ziel, d. h. die Zielposition. Da die Produktivität umso höher ist, je kürzer die Bewegungszeit des Roboters 10 ist, ist die Bewegungszeit vorzugsweise kürzer. Eine mögliche Methode zur Verkürzung der Bewegungszeit umfasst eine Methode zur Erhöhung der Bewegungsgeschwindigkeit des Roboters 10 und eine Methode zur Verkürzung des Bewegungswegs des Roboters 10.
-
Wenn beispielsweise die Bewegungszeit des Roboters 10 abnimmt, wenn der Grad der Einwirkung auf den menschlichen Körper zum Zeitpunkt des Kontakts gering ist oder wenn die Zugriffshäufigkeit der Person 500 gering ist, erhöht die Belohnungsberechnungseinheit 393 die Belohnung r. In einem Beispiel erhöht die Belohnungsberechnungseinheit 393 die Belohnung r, indem sie „1“ als Wert der Belohnung angibt. Beachten Sie, dass der Wert der Belohnung nicht auf „1“ beschränkt ist. Andererseits verringert die Belohnungsberechnungseinheit 393 die Belohnung r, wenn die Bewegungszeit des Roboters 10 zunimmt, wenn der Grad der Einwirkung auf den menschlichen Körper zum Zeitpunkt des Kontakts hoch ist, oder wenn die Zugriffshäufigkeit der Person 500 hoch ist. In einem Beispiel verringert die Belohnungsberechnungseinheit 393 die Belohnung r, indem sie den Wert „-1“ für die Belohnung ausgibt. Beachten Sie, dass der Wert der Belohnung nicht auf „-1“ beschränkt ist.
-
Ein Belohnungskriterium, das als Kombination aus der Bewegungszeit des Roboters 10, dem Grad der Einwirkung auf den menschlichen Körper, wenn der Roboter 10 mit der Person 500 in Kontakt kommt, und der Zugriffshäufigkeit der Person 500 im Bewegungsbereich 620 des Roboters definiert ist, kann effizientes Lernen ermöglichen.
-
In Übereinstimmung mit der von der Belohnungsberechnungseinheit 393 berechneten Belohnung aktualisiert die Funktionsaktualisierungseinheit 394 eine Funktion zur Bestimmung des Bewegungswegs des Roboters 10 und gibt die Funktion an die Lernmodellspeichereinheit 40 aus. Zum Beispiel wird im Fall des Q-Learnings die Aktionswertfunktion Q(st, at), die durch die Formel (1) ausgedrückt wird, als eine Funktion zur Berechnung des Bewegungswegs des Roboters 10 verwendet. Das obige Lernen wird wiederholt ausgeführt.
-
Die Lernmodellspeichereinheit 40 speichert die Aktionswertfunktion Q(st, at), die von der Funktionsaktualisierungseinheit 394 aktualisiert wurde. Die Lernmodellspeichereinheit 40 speichert demnach das Lernmodell.
-
Als Nächstes wird ein Prozess beschrieben, bei dem die Lernvorrichtung 39 lernt. 10 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für den Ablauf eines Lernprozesses, der von einer Lernvorrichtung in einer Robotersteuerung gemäß der zweiten Ausführungsform durchgeführt wird.
-
Zunächst bezieht die Datenbezugseinheit 391 Lerndaten (Schritt S51). Das heißt, die Datenbezugseinheit 391 bezieht den Bewegungsweg des Roboters 10 und Zustandsdaten, die den Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 angeben. In einem Beispiel umfassen die Zustandsdaten die ersten Positions- und Haltungsinformationen über die Person 500, die Zielposition und die zweiten Positions- und Haltungsinformationen über den Roboter 10 sowie die Umgebungsobjektdaten.
-
Als Nächstes berechnet die Modellerzeugungseinheit 392 eine Belohnung auf Basis des Bewegungswegs des Roboters 10 und der Zustandsdaten, die den Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 angeben, und bestimmt, ob die Belohnung erhöht werden soll (Schritt S52). Konkret bezieht die Belohnungsberechnungseinheit 393 den Bewegungsweg des Roboters 10 und den Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 und bestimmt, ob die Belohnung erhöht oder verringert werden soll, auf Basis eines vorgegebenen Belohnungskriteriums, bei dem es sich um zumindest eines der folgenden Kriterien handelt: die Bewegungszeit des Roboters 10; den Grad der Einwirkung auf den menschlichen Körper, wenn der Roboter 10 mit der Person 500 in Kontakt kommt; und die Zugriffshäufigkeit der Person 500 in dem Roboterbewegungsbereich 620.
-
Wenn die Belohnungsberechnungseinheit 393 in Schritt S52 bestimmt, die Belohnung zu erhöhen, erhöht die Belohnungsberechnungseinheit 393 die Belohnung (Schritt S53). Wenn andererseits die Belohnungsberechnungseinheit 393 in Schritt S52 bestimmt, die Belohnung zu verringern, verringert die Belohnungsberechnungseinheit 393 die Belohnung (Schritt S54).
-
Nach Schritt S53 oder S54 aktualisiert die Funktionsaktualisierungseinheit 394 auf Basis der von der Belohnungsberechnungseinheit 393 berechneten Belohnung die durch Formel (1) ausgedrückte Aktionswertfunktion Q(st, at), die in der Lernmodellspeichereinheit 40 gespeichert ist (Schritt S55).
-
Die Lernvorrichtung 39 führt wiederholt die oben beschriebenen Prozeduren der Schritte S51 bis S55 aus und speichert ein Lernmodell, d. h. die generierte Aktionswertfunktion Q(st, at) in der Lernmodellspeichereinheit 40.
-
Auch wenn die Lernvorrichtung 39 gemäß der zweiten Ausführungsform das Lernmodell in der außerhalb der Lernvorrichtung 39 angeordneten Lernmodellspeichereinheit 40 speichert, kann die Lernmodellspeichereinheit 40 auch innerhalb der Lernvorrichtung 39 vorgesehen sein.
-
<Nutzungsphase>
-
11 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Konfiguration einer Inferenzvorrichtung in einer Robotersteuerung gemäß der zweiten Ausführungsform. Die Inferenzvorrichtung 41 umfasst die Datenbezugseinheit 411 und die Inferenzeinheit 412.
-
Die Datenbezugseinheit 411 bezieht Zustandsdaten, die den Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 angeben. In einem Beispiel umfassen die Zustandsdaten die ersten Positions- und Haltungsinformationen über die Person 500, die Zielposition und die zweiten Positions- und Haltungsinformationen über den Roboter 10 sowie die Umgebungsobjektdaten.
-
Die Inferenzeinheit 412 verwendet das Lernmodell, um den Bewegungsweg des Roboters 10 abzuleiten. Durch Eingabe der von der Datenbezugseinheit 411 bezogenen Zustandsdaten, d. h. durch Eingabe des Zustands der Person 500, des Roboters 10 und der Umgebungsobjekte 520 in das Lernmodell, kann die Inferenzeinheit 412 den Bewegungsweg des Roboters 10 ableiten, der insbesondere für den Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 geeignet ist.
-
Es wird darauf hingewiesen, dass der Bewegungsweg des Roboters 10 zwar so beschrieben wurde, dass er unter Verwendung des Lernmodells, das von der Modellerzeugungseinheit 392 der Lernvorrichtung 39 der Robotersteuerung 30 erlernt wurde, ausgegeben wird, der Bewegungsweg des Roboters 10 jedoch auch auf Basis eines Lernmodells ausgegeben werden kann, das von einem anderen Robotersystem 1 bezogen wurde.
-
Als Nächstes wird ein Verfahren für die Inferenzvorrichtung 41 beschrieben, um den Bewegungsweg des Roboters 10 zu erhalten. 12 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für den Ablauf eines Inferenzprozesses, der von einer Inferenzvorrichtung einer Robotersteuerung gemäß der zweiten Ausführungsform durchgeführt wird.
-
Zunächst bezieht die Datenbezugseinheit 411 Inferenzdaten (Schritt S71). Das heißt, die Datenbezugseinheit 411 bezieht Zustandsdaten, die denn Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 angeben.
-
Als Nächstes gibt die Inferenzeinheit 412 die Zustandsdaten, bei denen es sich um Inferenzdaten handelt, d. h. den Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520, in das Lernmodell ein, das in der Lernmodellspeichereinheit 40 gespeichert ist (Schritt S72), und erhält den Bewegungsweg des Roboters 10. Danach gibt die Inferenzeinheit 412 den erhaltenen Bewegungsweg des Roboters 10, bei dem es sich um Daten handelt, an die Robotersteuerungsverarbeitungseinheit 32 aus (Schritt S73).
-
Dann steuert die Robotersteuerungsverarbeitungseinheit 32 den Roboter 10 unter Verwendung des ausgegebenen Bewegungswegs des Roboters 10 (Schritt S74). Dadurch ist es möglich, eine Verlangsamung oder das Anhalten der Bewegung des Roboters 10 zu verhindern und den Grad der Einwirkung auf den menschlichen Körper zu reduzieren. Somit ist es möglich, den Roboter 10 so zu steuern, dass nicht nur der Grad der Einwirkung auf den menschlichen Körper der Person 500 verringert und das Einklemmen der Person 500 verhindert wird, sondern auch die Nutzungsrate des Roboters 10 verbessert wird, wodurch das Robotersystem 1 eine hohe Vielseitigkeit erhält.
-
Es wird darauf hingewiesen, dass bei der Beschreibung der zweiten Ausführungsform Verstärkungslernen als Lernalgorithmus von der Inferenzeinheit 412 verwendet wird, aber der Lernalgorithmus ist nicht darauf beschränkt. Andere Lernverfahren als das Verstärkungslernen, wie überwachtes Lernen, unüberwachtes Lernen oder halbüberwachtes Lernen, können als Lernalgorithmus verwendet werden.
-
Deep Learning, das die Extraktion von Merkmalsgrößen selbst erlernt, kann ebenfalls als Lernalgorithmus in der Modellerzeugungseinheit 392 verwendet werden, und maschinelles Lernen kann nach einer anderen bekannten Methode durchgeführt werden, z. B. einem neuronalen Netzwerk, genetischer Programmierung, funktionaler Logikprogrammierung oder einer Support-Vektor-Machine.
-
Es wird darauf hingewiesen, dass, auch wenn in 6 eine Lernvorrichtung 39 und eine Inferenzvorrichtung 41 dargestellt sind, die beide in die Robotersteuerung 30 eingebaut sind, die Lernvorrichtung 39 und die Inferenzvorrichtung 41 beispielsweise über ein Netzwerk mit der Robotersteuerung 30 verbunden sein können und von der Robotersteuerung 30 getrennte Vorrichtungen sein können. Die Lernvorrichtung 39 und die Inferenzvorrichtung 41 können sich auf einem Cloud-Server befinden.
-
Darüber hinaus kann die Modellerzeugungseinheit 392 den Bewegungsweg des Roboters 10 erlernen, indem sie Lerndaten verwendet, die von mehreren Robotersteuerungen 30 bezogen wurden. Es ist zu beachten, dass die Modellerzeugungseinheit 392 Lerndaten von mehreren Robotersteuerungen 30, die in demselben Bereich verwendet werden, beziehen kann oder den Bewegungsweg des Roboters 10 unter Verwendung von Lerndaten erlernen kann, die von mehreren Robotersteuerungen 30 bezogen werden, die unabhängig in verschiedenen Bereichen arbeiten. Es ist möglich, die Robotersteuerung 30 während des Lernprozesses als ein Ziel hinzuzufügen, von dem Lerndaten bezogen werden, oder die Robotersteuerung 30 von solchen Zielen auszuschließen. Außerdem kann die Lernvorrichtung 39, die den Bewegungsweg des Roboters 10 für eine bestimmte Robotersteuerung 30 erlernt hat, auf eine andere Robotersteuerung 30 angewendet werden, und der Bewegungsweg des Roboters 10 kann für die andere Robotersteuerung 30 neu erlernt und aktualisiert werden.
-
Auf Basis von Lerndaten, die den Bewegungsweg des Roboters 10 und die Zustandsdaten umfassen, lernt die Lernvorrichtung 39 bei der zweiten Ausführungsform aus dem Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 den Bewegungsweg des Roboters 10, der die Verlangsamung oder das Anhalten der Bewegung des Roboters 10 vermeidet und den Kontakt des Roboters mit der Person 500 und das Einklemmen der Person 500 verhindert. Dies hat den Effekt, dass aus dem Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 ein Bewegungsweg des Roboters 10 erlernt wird, der die Verlangsamung oder das Anhalten der Bewegung des Roboters 10 verhindert und den Grad der Einwirkung auf den menschlichen Körper reduziert.
-
Zudem leitet die Inferenzvorrichtung 41 bei der zweiten Ausführungsform unter Verwendung des Lernmodells aus dem Zustand der Person 500, des Roboters 10 und der Umgebungsobjekte 520 den Bewegungsweg des Roboters 10 ab, der die Verlangsamung oder das Anhalten der Bewegung des Roboters 10 vermeidet und den Grad der Einwirkung auf den menschlichen Körper verringert, und gibt den Bewegungsweg an die Robotersteuerungsverarbeitungseinheit 32 aus. Auf diese Weise ist es möglich, ein hochflexibles Robotersystem 1 bereitzustellen, das sowohl die Verringerung des Grades der Einwirkung auf den menschlichen Körper als auch die Verbesserung der Mobilität des Roboters 10 erreicht.
-
Im Folgenden wird eine Hardwarekonfiguration der in den 1 und 6 dargestellten Robotersteuerung 30 beschrieben. 13 zeigt ein Blockschaltbild zur Veranschaulichung eines Beispiels für die Hardwarekonfiguration einer Robotersteuerung 30 gemäß der ersten und zweiten Ausführungsform.
-
Die Robotersteuerung 30 kann durch eine Hardwarekonfiguration implementiert werden, die eine Rechenvorrichtung 301 und eine Speichervorrichtung 302 umfasst. Beispiele für die Rechenvorrichtung 301 umfassen eine Zentraleinheit (CPU, auch als Verarbeitungsvorrichtung, Mikroprozessor, Mikrocomputer, Prozessor oder digitaler Signalprozessor (DSP) bezeichnet) und ein Large Scale Integration (LSI)-System. Beispiele für die Speichervorrichtung 302 umfassen einen Direktzugriffsspeicher (RAM) und einen Festwertspeicher (ROM).
-
Die Robotersteuerung 30 wird durch die Rechenvorrichtung 301 implementiert, die ein in der Speichervorrichtung 302 gespeichertes Programm liest und ausführt, um eine Aktion der Robotersteuerung 30 durchzuführen. Man kann auch sagen, dass das Programm den Computer veranlasst, Prozeduren oder Methoden der Robotersteuerung 30 auszuführen, in einem Beispiel das in den 3 und 4 dargestellte Robotersteuerungsverfahren.
-
Die Speichervorrichtung 302 speichert das Bewegungsprogramm, die Informationen über den Grad der Einwirkung auf den menschlichen Körper, die Umgebungsobjektdaten, die Zugriffshäufigkeitskarte und das Lernmodell. Die Speichervorrichtung 302 wird auch als temporärer Speicher verwendet, wenn die Rechenvorrichtung 301 verschiedene Prozesse ausführt.
-
Das von der Rechenvorrichtung 301 auszuführende Programm kann in einem computerlesbaren Speichermedium als Datei in einem installierbaren Format oder einem ausführbaren Format gespeichert sein und als Computerprogrammprodukt bereitgestellt werden. Das von der Rechenvorrichtung 301 auszuführende Programm kann der Robotersteuerung 30 über ein Netzwerk, wie z. B. das Internet, bereitgestellt werden.
-
Die Robotersteuerung 30 kann durch dedizierte Hardware realisiert werden. Ein Teil der Funktionen der Robotersteuerung 30 kann durch dedizierte Hardware implementiert werden und ein anderer Teil davon kann durch Software oder Firmware implementiert werden.
-
Die in den obigen Ausführungsformen beschriebenen Konfigurationen sind lediglich Beispiele und sie können mit anderen bekannten Technologien kombiniert werden, Ausführungsformen können miteinander kombiniert werden, und ein Teil der Konfigurationen kann weggelassen oder modifiziert werden, ohne dass dies von deren Kern abweicht.
-
Bezugszeichenliste
-
- 1
- Robotersystem;
- 10
- Roboter;
- 20
- Vision-Sensor;
- 30
- Robotersteuerung;
- 31
- Bewegungsprogrammspeichereinheit;
- 32
- Robotersteuerungsverarbeitungseinheit;
- 33
- Bilderkennungsverarbeitungseinheit;
- 34
- Speichereinheit für Informationen über den Grad der Einwirkung auf den menschlichen Körper;
- 35
- Umgebungsobjektdatenspeichereinheit;
- 36
- Überwachungsverarbeitungseinheit;
- 37
- Personenanalyseverarbeitungseinheit;
- 38
- Zugriffshäufigkeitskartenspeichereinheit;
- 39
- Lernvorrichtung;
- 40
- Lernmodellspeichereinheit;
- 41
- Inferenzvorrichtung;
- 391, 411
- Datenbezugseinheit;
- 392
- Modellerzeugungseinheit;
- 393
- Belohnungsberechnungseinheit;
- 394
- Funktionsaktualisierungseinheit;
- 412
- Inferenzeinheit;
- 500
- Person;
- 501
- Hand;
- 510
- Werkbank;
- 520
- Umgebungsobjekt;
- 600
- Bilddaten;
- 601
- kleiner Bereich;
- 620
- Roboterbewegungsbereich.
-
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
-