DE112017004414T5 - Autonom handelnder roboter, server und verhaltenssteuerungsprogramm - Google Patents

Autonom handelnder roboter, server und verhaltenssteuerungsprogramm Download PDF

Info

Publication number
DE112017004414T5
DE112017004414T5 DE112017004414.6T DE112017004414T DE112017004414T5 DE 112017004414 T5 DE112017004414 T5 DE 112017004414T5 DE 112017004414 T DE112017004414 T DE 112017004414T DE 112017004414 T5 DE112017004414 T5 DE 112017004414T5
Authority
DE
Germany
Prior art keywords
robot
event
planned
route
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112017004414.6T
Other languages
English (en)
Inventor
Kaname HAYASHI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Groove X Inc
Original Assignee
Groove X Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Groove X Inc filed Critical Groove X Inc
Publication of DE112017004414T5 publication Critical patent/DE112017004414T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • B25J11/001Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means with emotions simulating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/026Acoustical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision

Abstract

Ein Roboter beinhaltet eine Vorgangssteuerungseinheit, die einen Ausführungsweg bestimmt, der ein Bewegungspfad des Roboters ist, und einen Antriebsmechanismus, der den Roboter veranlasst, sich entlang des Ausführungsweges zu bewegen. Der Roboter erzeugt einen geplanten Weg, der einem Ereignis entspricht, bevor das Ereignis eintritt. Wenn das Ereignis eintritt, während sich der Roboter entlang des Ausführungsweges bewegt, bewegt sich der Roboter entlang des geplanten Weges statt entlang des Ausführungsweges. Mehrere geplante Wege werden nacheinander bezüglich eines Ereignisses erzeugt, und wenn zum Zeitpunkt des Eintretens des Ereignisses bereits mehrere geplante Wege erzeugt worden sind, wird ein geplanter Weg aus den mehreren geplanten Wegen ausgewählt.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft einen Roboter, der autonom eine Handlung entsprechend einem internen Zustand oder einer äußeren Umgebung auswählt.
  • Stand der Technik
  • Ein Mensch erfasst über Sinnesorgane verschiedene Informationen von einer äußeren Umgebung und wählt eine Handlung aus. Es gibt Zeiten, in denen eine Handlung bewusst ausgewählt wird, und Zeiten, in denen eine Handlung unbewusst ausgewählt wird. Eine wiederholte Handlung wird im Laufe der Zeit zu einer unbewussten Handlung, und eine Handlung, die nicht wiederholt wird, bleibt in einer Bewusstseinszone.
  • Ein Mensch glaubt, dass er oder sie einen Willen hat, eine Handlung selbst frei zu wählen, das heißt, einen freien Willen hat. Dass ein Mensch Gefühle der Zuneigung oder Feindschaft gegenüber einer anderen Person empfindet, liegt daran, dass er oder sie glaubt, dass die andere Person ebenfalls einen freien Willen hat. Eine Person, die einen freien Willen hat, oder zumindest eine Existenz, von der angenommen werden kann, dass sie einen freien Willen hat, ist auch eine Existenz, die die Einsamkeit einer Person lindert.
  • Ein Grund, warum ein Mensch ein Haustier hält, ist, dass das Haustier Trost spendet, und nicht, ob das Haustier für den Menschen nützlich ist oder nicht. Gerade deshalb, weil ein Haustier eine Existenz ist, die mehr oder weniger den Eindruck erweckt, einen freien Willen zu haben, kann das Haustier zu einem guten Begleiter für einen Menschen werden.
  • Aus verschiedenen Gründen, wie beispielsweise der Tatsache, dass man sich nicht genügend Zeit für die Betreuung eines Haustieres verschaffen kann, dass man kein Wohnumfeld hat, in dem ein Haustier gehalten werden kann, dass man eine Allergie hat oder dass man den Gedanken hasst, durch den Tod getrennt zu werden, gibt es währenddessen viele Menschen, die darauf verzichten, ein Haustier zu halten. Falls es einen Roboter gäbe, der die Rolle eines Haustieres übernähme, könnte es sein, dass Menschen, die kein Haustier halten können, auch eine Art von Trost erhielten, die ein Haustier bietet (siehe Patentdokumente 1 und 2).
  • Zitierungsliste Patentliteratur
  • Patentdokument 1: JP-A-2001-246580 Patentdokument 2: JP-A-2006-39760
  • Kurzdarstellung der Erfindung
  • Technisches Problem
  • Nicht nur der freie Wille, sondern auch der „Instinkt“ charakterisiert die Verhaltensmerkmale eines Lebewesens. Der Instinkt ist eine Reaktion, die durch einen Reiz aus einer Umgebung hervorgerufen wird, ohne ein begleitendes bewusstes Urteil, wobei die Vermeidung von Gefahr ein typisches Beispiel dafür ist. Wenn ein Lebewesen Gefahr spürt, versucht das Lebewesen unbewusst und reflexartig, die Gefahr zu vermeiden. Es wird angenommen, dass die „Präsenz als Lebewesen“ des Roboters erhöht werden könnte, wenn ein Roboter dazu gebracht werden könnte, beim Erkennen von Gefahren die gleiche Art von Gefahr vermeidendem Verhalten wie ein Lebewesen anzunehmen.
  • Es ist jedoch nicht einfach für einen Roboter, unmittelbar nach dem Erkennen von Gefahren eine entsprechende Vermeidungshandlung auszuführen. Wenn ein Berechnungsprozess zum Entscheiden, wie und wohin zu entkommen ist, nach dem Erkennen von Gefahren zu lange dauert, wird die Bewegung unnatürlich. Das schnelle Reagieren auf ein bestimmtes Ereignis, das sich nicht auf ein gefährliches Ereignis beschränkt, ist wichtig, um bei einem Roboter Verhaltensmerkmale zu realisieren, die denen eines Lebewesens nahekommen.
  • Die Erfindung, die auf der Grundlage einer Erkenntnis des bisher beschriebenen Sachverhalts durchgeführt wurde, hat als Hauptaufgabe die Bereitstellung von Technologie zur effizienten Steuerung des reflexiven Verhaltens eines Roboters als Reaktion auf verschiedene Ereignisse, die in einem Außenbereich auftreten.
  • Lösung des Problems
  • Ein autonom handelnder Roboter in einem Aspekt der Erfindung beinhaltet eine Vorgangssteuerungseinheit, die einen Ausführungsweg bestimmt, der ein Bewegungspfad des Roboters ist, einen Antriebsmechanismus, der den Roboter veranlasst, sich entlang des Ausführungsweges zu bewegen, und eine Wegerzeugungseinheit, die einen geplanten Weg erzeugt, der einem Ereignis entspricht, bevor das Ereignis eintritt.
  • Wenn das Ereignis eintritt, wenn sich der Roboter entlang des Ausführungsweges bewegt, veranlasst die Vorgangssteuerungseinheit den Roboter, sich entlang des geplanten Weges statt entlang des Bewegungspfads zu bewegen.
  • Ein Server in einem Aspekt der Erfindung ist über eine Kommunikationsverbindung mit einem autonom handelnden Roboter verbunden.
  • Der Server beinhaltet eine Wegerzeugungseinheit, die einen geplanten Weg entsprechend einer Position des autonom handelnden Roboters und eines Ereignisses erzeugt, und eine Wegbenachrichtigungseinheit, die den autonom handelnden Roboter über den geplanten Weg informiert, bevor das Ereignis eintritt.
  • Ein autonom handelnder Roboter in einem anderen Aspekt der Erfindung beinhaltet eine Vorgangssteuerungseinheit, die eine Bewegung des Roboters auswählt, einen Antriebsmechanismus, der eine von der Vorgangssteuerungseinheit ausgewählte Bewegung ausführt, und eine Erkennungseinheit für sichere Punkte, die einen Punkt erkennt, der eine vorbestimmte Sicherheitsbedingung als sicherer Punkt erfüllt.
  • Die Vorgangssteuerungseinheit veranlasst den Roboter, sich zum sicheren Punkt zu bewegen, wenn ein vorbestimmtes Ereignis eintritt.
  • Vorteilhafte Wirkungen der Erfindung [0013]
  • Gemäß der Erfindung wird das Mitgefühl gegenüber einem Roboter einfach erhöht.
  • Figurenliste
    • [1(a)] 1(a) ist eine vordere Außenansicht eines Roboters.
    • [1(b)] 1(b) ist eine seitliche Außenansicht des Roboters.
    • [2] 2 ist eine Schnittansicht, die schematisch einen Aufbau des Roboters darstellt.
    • [3] 3 ist ein Konfigurationsdiagramm eines Robotersystems.
    • [4] 4 ist eine schematische Ansicht einer Emotionskarte.
    • [5] 5 ist ein Hardwarekonfigurationsdiagramm des Roboters.
    • [6] 6 ist ein funktionelles Blockdiagramm des Robotersystems.
    • [7] 7 ist ein Datenstrukturdiagramm einer Bewegungsauswahltabelle.
    • [8] 8 ist ein Datenstrukturdiagramm einer Auswahltabelle für geplante Wege.
    • [9] 9 ist eine schematische Ansicht, die ein Erzeugungsverfahren für geplante Wege zeigt.
    • [10] 10 ist eine schematische Ansicht, die ein während der Bewegung vorgesehenes Ereignis und einen geplanten Weg darstellt, die dem Ereignis entspricht.
    • [11] 11 ist ein Flussdiagramm, das einen Fluss eines Erzeugungsverfahrens eines geplanten Weges darstellt.
    • [12] 12 ist ein Flussdiagramm, das einen Prozess zeigt, wenn ein Ereignis eintritt.
  • 1(a) eine vordere Außenansicht eines Roboters 100. 1(b) ist eine seitliche Außenansicht des Roboters 100.
  • Der Roboter 100 in dieser Ausführungsform ist ein autonom handelnder Roboter, der eine Handlung oder Geste basierend auf einer äußeren Umgebung und einem internen Zustand bestimmt. Die äußere Umgebung wird durch verschiedene Arten von Sensoren erkannt, wie beispielsweise eine Kamera oder einen Thermosensor. Der innere Zustand wird als verschiedene Parameter quantifiziert, die Emotionen des Roboters 100 ausdrücken. Diese werden nachfolgend beschrieben.
  • Unter der Voraussetzung einer Innenraumhandlung weist der Roboter 100 beispielsweise einen Innenbereich eines Eigenheims als einen Handlungsbereich auf. Im Folgenden wird ein mit dem Roboter 100 beschäftigter Mensch als „Benutzer“ bezeichnet, und ein Benutzer, der ein Mitglied eines Haushalts ist, zu dem der Roboter 100 gehört, wird als „Besitzer“ bezeichnet.
  • Ein Körper 104 des Roboters 100 hat überall eine abgerundete Form und beinhaltet eine Außenhaut, die aus einem weichen Material ausgebildet ist, das Elastizität aufweist, wie beispielsweise Urethan, Gummi, ein Harz oder eine Faser. Der Roboter 100 kann bekleidet sein. Durch die Annahme des abgerundeten, weichen und angenehm zu berührenden Körpers 104 vermittelt der Roboter 100 dem Benutzer ein Gefühl der Sicherheit und ein angenehmes taktiles Gefühl.
  • Ein Gesamtgewicht des Roboters 100 beträgt 15 Kilogramm oder weniger, vorzugsweise 10 Kilogramm oder weniger und am besten 5 Kilogramm oder weniger. Die meisten Babys beginnen bis zum 13. Monat nach der Geburt selbstständig zu laufen. Ein durchschnittliches Gewicht eines Babys 13 Monate nach der Geburt beträgt etwas mehr als 9 Kilogramm für Jungen und etwas weniger als 9 Kilogramm für Mädchen. Wenn das Gesamtgewicht des Roboters 100 10 Kilogramm oder weniger beträgt, kann ein Benutzer deshalb den Roboter 100 mit einer Anstrengung halten, die praktisch gleichwertig mit dem Halten eines Babys ist, das nicht selbstständig gehen kann. Ein durchschnittliches Gewicht eines Babys weniger als 2 Monate nach der Geburt beträgt sowohl für Jungen als auch für Mädchen weniger als 5 Kilogramm. Wenn das Gesamtgewicht des Roboters 100 5 Kilogramm oder weniger beträgt, kann ein Benutzer infolgedessen den Roboter 100 mit einer Anstrengung halten, die praktisch gleichwertig mit dem Halten eines sehr kleinen Babys ist.
  • Die Vorteile eines Benutzers, den Roboter 100 leicht halten zu können und den Roboter 100 halten zu wollen, werden durch die Attribute wie angemessenes Gewicht und Rundheit, Weichheit und Annehmlichkeit des Berührens realisiert. Aus den gleichen Gründen beträgt die Höhe des Roboters 100 1,2 Meter oder weniger, vorzugsweise 0,7 Meter oder weniger. Die Möglichkeit des Gehaltenwerdens ist ein wichtiges Konzept des Roboters 100 in dieser Ausführungsform.
  • Der Roboter 100 beinhaltet drei Räder für das Fortbewegen auf drei Rädern. Wie in den Zeichnungen gezeigt, beinhaltet der Roboter 100 ein Paar Vorderräder 102 (ein linkes Rad 102a und ein rechtes Rad 102b) und ein Hinterrad 103. Die Vorderräder 102 sind Antriebsräder, und das Hinterrad 103 ist ein angetriebenes Rad. Obwohl die Vorderräder 102 keinen Lenkmechanismus aufweisen, können die Drehzahl und die Drehrichtung individuell gesteuert werden. Das Hinterrad 103 ist aus einem sogenannten Omni-Rad ausgebildet und dreht sich frei, um zu bewirken, dass sich der Roboter 100 vorwärts und rückwärts sowie nach links und rechts bewegt. Durch das Steuern, dass die Drehzahl des rechten Rades 102b größer ist als die des linken Rades 102a, kann sich der Roboter 100 nach links drehen oder sich gegen den Uhrzeigersinn drehen. Durch das Steuern, dass die Drehzahl des linken Rades 102a größer ist als die des rechten Rades 102b, kann sich der Roboter 100 nach rechts drehen oder sich gegen den Uhrzeigersinn drehen.
  • Die Vorderräder 102 und das Hinterrad 103 können mittels eines Antriebsmechanismus (ein Schwenkmechanismus und ein Verbindungsmechanismus) vollständig in dem Körper 104 gelagert werden. Ein größerer Abschnitt von jedem Rad ist von dem Körper 104 auch beim Fortbewegen verdeckt, aber wenn jedes Rad vollständig in dem Körper 104 gelagert ist, befindet sich der Roboter 100 in einem Zustand der Bewegungsunfähigkeit. Das heißt, der Körper 104 senkt sich ab und sitzt auf einer Bodenfläche F, begleitet von einem Vorgang der Aufnahme der Räder. Im sitzenden Zustand kommt eine in einem Bodenabschnitt des Körpers 104 ausgebildete flache Sitzfläche 108 (eine Bodenunterseite) mit der Bodenfläche F in Berührung.
  • Der Roboter 100 weist zwei Arme 106 auf. Die Arme 106 weisen keine Funktion des Greifens eines Objekts auf. Die Arme 106 können einfache Handlungen wie beispielsweise Heben, Winken und Schwingen ausführen. Die beiden Arme 106 können auch einzeln gesteuert werden.
  • Eine Kamera ist in einem Auge 110 integriert. Das Auge 110 ist unter Verwendung eines Flüssigkristallelements oder eines organischen EL-Elements auch zur Bildanzeige in der Lage. Zusätzlich zu der im Auge 110 integrierten Kamera sind im Roboter 100 verschiedene Sensoren wie beispielsweise eine Mikrofonanordnung, die eine Schallquellenrichtung identifizieren kann, und ein Ultraschallsensor montiert. Außerdem verfügt der Roboter 100 über einen Lautsprecher und ist auch zu einer einfachen Stimmgebung fähig.
  • Ein Horn 112 ist an einem Kopfabschnitt des Roboters 100 befestigt. Da der Roboter 100 wie vordem beschrieben leichtgewichtig ist, kann ein Benutzer den Roboter 100 auch durch Anpacken des Horns 112 hochheben. An dem Horn 112 ist eine omnidirektionale Kamera angebracht und kann einen ganzen Bereich oberhalb des Roboters 100 gleichzeitig filmen.
  • 2 ist eine Schnittansicht, die schematisch einen Aufbau des Roboters 100 darstellt.
  • Wie in 2 gezeigt, beinhaltet der Körper 104 des Roboters 100 einen Grundrahmen 308, einen Hauptkörperrahmen 310, ein aus Harz hergestelltes Radabdeckungspaar 312 und eine Außenhaut 314. Der Grundrahmen 308 ist aus Metall ausgebildet und trägt einen inneren Mechanismus zusammen mit dem Konfigurieren einer Welle des Körpers 104. Der Grundrahmen 308 ist durch eine obere Platte 332 und eine untere Platte 334 konfiguriert, die vertikal durch mehrere Seitenplatten 336 verbunden sind. Zwischen den mehreren Seitenplatten 336 ist ein ausreichender Abstand vorgesehen, sodass eine Belüftung möglich ist. Eine Batterie 118, ein Steuerungsgerät 342 und verschiedene Arten von Stellgliedern sind im Inneren des Grundrahmens 308 untergebracht.
  • Der Hauptkörperrahmen 310 ist aus einem Harzmaterial ausgebildet und beinhaltet einen Kopfabschnittsrahmen 316 und einen Rumpfabschnittsrahmen 318. Der Kopfabschnittsrahmen 316 ist von hohler halbkugelförmiger Form und bildet ein Kopfabschnittsrahmentragwerk des Roboters 100 aus. Der Rumpfabschnittsrahmen 318 ist von gestufter zylindrischer Form und bildet ein Rumpfabschnittsrahmentragwerk des Roboters 100 aus. Der Rumpfabschnittsrahmen 318 ist integral mit dem Grundrahmen 308 verbunden. Der Kopfabschnittsrahmen 316 ist an einem oberen Endabschnitt des Rumpfabschnittsrahmens 318 so befestigt, dass er relativ verschiebbar ist.
  • Drei Wellen, nämlich eine Gierwelle 320, eine Nickwelle
  • 322 und eine Rollwelle 324 sowie ein Stellglied 326 zum Antreiben jeder Welle, um sie zu drehen, sind im Kopfabschnittsrahmen 316 vorgesehen. Das Stellglied 326 beinhaltet mehrere Servomotoren, um jede Welle einzeln anzutreiben. Die Gierwelle 320 wird für eine Kopfschüttelhandlung angetrieben, die Nickwelle 322 wird für eine Nickhandlung angetrieben und die Rollwelle 324 wird für eine Kopfneigehandlung angetrieben.
  • Eine Platte 325, die die Gierwelle 320 trägt, ist an einem oberen Abschnitt des Kopfabschnittsrahmens 316 befestigt. Mehrere Lüftungslöcher 327 zur Sicherung der Lüftung zwischen den oberen und unteren Abschnitten sind der Platte 325 ausgebildet.
  • Eine aus Metall hergestellte Grundplatte 328 ist vorgesehen, um den Kopfabschnittsrahmen 316 und einen inneren Mechanismus davon von unten zu tragen. Die Grundplatte 328 ist über einen Querverbindungsmechanismus 329 (ein Pantographmechanismus) mit der Platte 325 verbunden, und über ein Gelenk 330 mit der oberen Platte 332 (der Grundrahmen 308) verbunden.
  • Der Rumpfabschnittsrahmen 318 beherbergt den Grundrahmen 308 und einen Radantriebsmechanismus 370. Der Radantriebsmechanismus 370 beinhaltet eine Schwenkwelle 378 und ein Stellglied 379. Ein Abschnitt der unteren Hälfte des Rumpfabschnittsrahmens 318 ist von geringer Breite, um einen Gehäuseraum des Vorderrades 102 zwischen den Radabdeckungen 312 auszubilden.
  • Die Außenhaut 314 ist aus Urethangummi ausgebildet und bedeckt den Hauptkörperrahmen 310 und die Radabdeckungen 312 von einer Außenseite. Die Arme 106 sind integral mit der Außenhaut 314 geformt. Ein Öffnungsabschnitt 390 zum Einbringen von Außenluft ist in einem oberen Endabschnitt der Außenhaut 314 vorgesehen.
  • 3 ist ein Konfigurationsdiagramm eines Robotersystems 300. Das Robotersystem 300 beinhaltet den Roboter 100, einen Server 200 und mehrere externe Sensoren 114. Die mehreren externen Sensoren 114 (externe Sensoren 114a, 114b und so weiter bis 114n) werden im Voraus in einem Haus installiert. Der externe Sensor 114 kann an einer Wandfläche des Hauses befestigt werden oder kann auf einem Boden platziert werden. Positionskoordinaten des externen Sensors 114 sind im Server 200 registriert. Die Positionskoordinaten sind als x- und y-Koordinaten in dem Haus definiert, das als Handlungsbereich des Roboters 100 vorgesehen ist.
  • Der Server 200 ist in dem Haus installiert. Der Server 200 und der Roboter 100 in dieser Ausführungsform korrespondieren eins zu eins. Der Server 200 bestimmt eine grundlegende Handlung des Roboters 100 basierend auf Informationen, die von den im Roboter 100 integrierten Sensoren und den mehreren externen Sensoren 114 erhalten werden.
  • Der externe Sensor 114 dient zur Verstärkung der Sinnesorgane des Roboters 100, und der Server 200 dient zur Verstärkung der Intelligenz des Roboters 100.
  • Der externe Sensor 114 sendet regelmäßig ein drahtloses Signal (nachfolgend „Robotersuchsignal“ genannt) einschließlich der ID (nachfolgend „Bakenkennung“ genannt) des externen Sensors 114. Beim Empfangen des Robotersuchsignals gibt der Roboter 100 ein drahtloses Signal (nachfolgend „Roboterantwortsignal“ genannt) einschließlich Bakenkennung zurück. Der Server 200 misst eine Zeit vom Senden des Robotersuchsignals durch den externen Sensor 114 bis zum Empfangen des Roboterantwortsignals und misst eine Entfernung vom externen Sensor 114 zum Roboter 100. Durch Messen der Entfernung zwischen jedem der mehreren externen Sensoren 114 und dem Roboter 100 ermittelt der Server 200 die Positionskoordinaten des Roboters 100.
  • Natürlich kann auch ein Verfahren eingesetzt werden, bei dem der Roboter 100 regelmäßig seine eigenen Positionskoordinaten an den Server 200 sendet.
  • 4 ist eine schematische Ansicht einer Emotionskarte 116. Die Emotionskarte 116 ist eine Datentabelle, die im Server 200 gespeichert ist. Der Roboter 100 wählt eine Handlung entsprechend der Emotionskarte 116 aus. Die in 4 gezeigte Emotionskarte 116 zeigt eine Größe einer emotionalen Anziehung zu oder Abneigung gegen einen Ort des Roboters 100. Eine x-Achse und eine y-Achse der Emotionskarte 116 geben zweidimensionale Raumkoordinaten an. Eine z-Achse gibt eine Größe einer emotionalen Anziehung oder Abneigung an. Wenn ein z-Wert ein positiver Wert ist, ist eine Anziehung zu einem Ort hoch, und wenn der z-Wert ein negativer Wert ist, ist der Roboter 100 dem Ort gegenüber abgeneigt.
  • Auf der Emotionskarte 116 von 4 ist eine Koordinate P1 ein Punkt in einem Innenraum, der vom Server 200 als Handlungsbereich des Roboters 100 verwaltet wird, bei dem eine Emotion der Anziehung hoch ist (nachfolgend als bevorzugter Punkt bezeichnet). Der bevorzugte Punkt kann ein „sicherer Ort“ sein, beispielsweise hinter einem Sofa oder unter einem Tisch, oder kann ein Ort sein, an dem sich Menschen treffen, oder ein lebendiger Ort, wie ein Wohnzimmer. Der sichere Ort kann auch ein Ort sein, an dem der Roboter 100 in der Vergangenheit sanft gestreichelt oder berührt wurde.
  • Eine Definition, welche Art von Ort der Roboter 100 bevorzugt, ist willkürlich, aber es ist generell wünschenswert, dass ein Ort, der von kleinen Kindern oder von kleinen Tieren wie Hunden oder Katzen bevorzugt wird, als bevorzugter Punkt festgelegt wird.
  • Eine Koordinate P2 ist ein Punkt, an dem eine Emotion der Abneigung hoch ist (nachfolgend „unerwünschter Punkt“ genannt). Der unerwünschte Punkt kann ein Ort sein, wo es ein lautes Geräusch gibt, wie beispielsweise in der Nähe eines Fernsehers, ein Ort, wo es wahrscheinlich ein Leck gibt, wie ein Badezimmer oder ein Waschraum, ein geschlossener Raum oder ein dunkler Ort, ein Ort, wo der Roboter 100 von einem Benutzer grob behandelt wurde und der eine unangenehme Erinnerung oder Ähnliches hervorruft.
  • Eine Definition, welche Art von Ort der Roboter 100 nicht mag, ist ebenfalls willkürlich, aber es ist generell wünschenswert, dass ein Ort, der von kleinen Kindern oder von kleinen Tieren wie Hunden oder Katzen gefürchtet wird, als unerwünschter Punkt festgelegt wird.
  • Eine Koordinate Q gibt eine aktuelle Position des Roboters 100 an. Der Server 200 identifiziert Positionskoordinaten des Roboters 100 unter Verwendung des Robotersuchsignals, das regelmäßig von den mehreren externen Sensoren 114 übertragen wird, und des Roboterantwortsignals, das auf das Robotersuchsignal antwortet. Wenn beispielsweise der externe Sensor 114 mit der Bakenkennung = 1 und der externe Sensor 114 mit der Bakenkennung = 2 jeweils den Roboter 100 erkennen, erhält der Server 200 die Entfernungen des Roboters 100 von den beiden externen Sensoren 114 und erhält die Positionskoordinaten des Roboters 100 aus den Entfernungen.
  • Alternativ sendet der externe Sensor 114 mit der Bakenkennung = 1 das Robotersuchsignal in mehrere Richtungen, und der Roboter 100 gibt das Roboterantwortsignal beim Empfangen des Robotersuchsignals zurück. Auf diese Weise kann der Server 200 feststellen, in welcher Richtung und in welcher Entfernung sich der Roboter 100 von welchem externen Sensor 114 befindet. Zudem kann der Server 200 in einer anderen Ausführungsform eine vom Roboter 100 zurückgelegte Entfernung aus der Drehzahl des Vorderrades 102 oder des Hinterrades 103 berechnen, wodurch die aktuelle Position ermittelt wird, oder kann die aktuelle Position anhand eines von der Kamera erhaltenen Bildes ermitteln. Wenn die in 4 gezeigte Emotionskarte 116 bereitgestellt wird, bewegt sich der Roboter 100 in eine Richtung hin zum bevorzugten Punkt (Koordinate P1) oder in eine Richtung weg vom unerwünschten Punkt (Koordinate P2).
  • Die Emotionskarte 116 ändert sich dynamisch. Wenn der Roboter 100 an der Koordinate P1 ankommt, nimmt der z-Wert (Anziehungsemotion) an der Koordinate P1 im Laufe der Zeit ab. Aus diesem Grund kann der Roboter 100 ein tierähnliches Verhalten nachahmen, wenn er am bevorzugten Punkt (Koordinate P1) ankommt, „emotional zufrieden zu sein“, und sich mit der Zeit an dem Ort „zu langweilen“. In der gleichen Weise wird die Emotion der Abneigung an der Koordinate P2 im Laufe der Zeit abgeschwächt. Zusammen mit dem Ablauf der Zeit ergibt sich ein neuer bevorzugter Punkt oder unerwünschter Punkt, weswegen der Roboter 100 eine neue Handlungsauswahl durchführt. Der Roboter 100 weist „Interesse“ an einem neuen bevorzugten Punkt auf und führt unaufhörlich eine neue Handlungsauswahl durch.
  • Die Emotionskarte 116 drückt emotionale Schwankungen als einen internen Zustand des Roboters 100 aus. Der Roboter 100 steuert einen bevorzugten Punkt an, vermeidet einen unerwünschten Punkt, bleibt eine Weile am bevorzugten Punkt und führt mit der Zeit die nächste Handlung aus. Mit dieser Art von Steuerung kann die Handlungsauswahl des Roboters 100 eine menschen- oder tierähnliche Handlungsauswahl sein.
  • Karten, die eine Handlung des Roboters 100 beeinflussen (nachfolgend zusammenfassend als „Handlungskarten“ bezeichnet), sind nicht auf die in 4 gezeigte Art der Emotionskarte 116 beschränkt. Beispielsweise können verschiedene Handlungskarten wie Neugierde, ein Wunsch, Angst zu vermeiden, ein Wunsch, Sicherheit zu finden, und ein Wunsch, körperliche Behaglichkeit wie Ruhe, gedämpftes Licht, Kühle oder Wärme zu finden, definiert sein. Ferner kann ein Zielpunkt des Roboters 100 bestimmt werden, indem ein gewichteter Mittelwert der z-Werte von jeder der mehreren Handlungskarten gebildet wird.
  • Der Roboter 100 weist zusätzlich zu einer Handlungskarte auch Parameter auf, die eine Größe verschiedener Emotionen oder Sinne angeben. Wenn beispielsweise ein Wert eines Einsamkeitsemotionsparameters zunimmt, wird ein Gewichtungskoeffizient einer Handlungskarte, die Orte bewertet, an denen sich der Roboter 100 wohlfühlt, hochgesetzt, und der Wert dieses Emotionsparameters wird verringert, wenn der Roboter 100 einen Zielpunkt erreicht. In der gleichen Weise genügt es, dass ein Gewichtungskoeffizient einer Handlungskarte, die Orte bewertet, an denen die Neugierde befriedigt wird, hochgesetzt wird, wenn ein Wert eines Parameters, der ein Gefühl der Langeweile angibt, zunimmt.
  • 5 ist ein Hardwarekonfigurationsdiagramm des Roboters 100.
  • Der Roboter 100 beinhaltet einen internen Sensor 128, einen Kommunikator 126, eine Speichervorrichtung 124, einen Prozessor 122, einen Antriebsmechanismus 120 und eine Batterie 118. Der Antriebsmechanismus 120 beinhaltet den vordem beschriebenen Radantriebsmechanismus 370. Der Prozessor 122 und die Speichervorrichtung 124 sind in der Steuerungsschaltung 342 enthalten. Die Einheiten sind miteinander durch eine Stromleitung 130 und eine Signalleitung 132 verbunden. Die Batterie 118 versorgt über die Stromleitung 130 jede Einheit mit Strom. Jede Einheit sendet und empfängt ein Steuersignal über die Signalleitung 132. Die Batterie 118 ist ein wiederaufladbarer Lithium-Ionen-Akku und ist eine Stromquelle für den Roboter 100.
  • Der interne Sensor 128 ist eine Sammlung verschiedener Arten von Sensoren, die im Roboter 100 integriert sind. Insbesondere gibt es Kameras (eine hochauflösende Kamera und eine omnidirektionale Kamera), eine Mikrofonanordnung, einen Infrarotsensor, einen Thermosensor, einen Berührungssensor, einen Beschleunigungssensor, einen Geruchssensor und dergleichen. Der Geruchssensor ist ein allgemein bekannter Sensor, der ein Prinzip anwendet, bei dem sich der elektrische Widerstand entsprechend einer Adsorption von Molekülen, die eine Geruchsquelle bilden, ändert. Der Geruchssensor teilt verschiedene Gerüche in mehrere Arten von Kategorien ein (nachfolgend „Geruchskategorien“ genannt).
  • Der Kommunikator 126 ist ein Kommunikationsmodul, das die drahtlose Kommunikation mit dem Server 200 und verschiedenen Arten von externen Vorrichtungen als Ziel durchführt, wie beispielsweise dem externen Sensor 114 und einer im Besitz des Benutzers befindlichen mobilen Vorrichtung. Die Speichervorrichtung 124 ist aus einem nichtflüchtigen Speicher und einem flüchtigen Speicher konfiguriert und speichert ein Computerprogramm und verschiedene Arten von Festlegungsinformationen. Der Prozessor 122 ist Mittel zur Ausführung eines Computerprogramms. Der Antriebsmechanismus 120 ist ein Stellglied, das einen internen Mechanismus steuert. Darüber hinaus sind eine Anzeigevorrichtung, ein Lautsprecher und dergleichen ebenfalls montiert.
  • Der Prozessor 122 wählt eine Handlung des Roboters 100 aus, während er über den Kommunikator 126 mit dem Server 200 oder dem externen Sensor 114 kommuniziert. Verschiedene Arten von externen Informationen, die vom internen Sensor 128 erhalten werden, beeinflussen ebenfalls die Handlungsauswahl. Der Antriebsmechanismus 120 steuert hauptsächlich die Räder (Vorderräder 102) und den Kopfabschnitt (den Kopfabschnittsrahmen 316). Der Antriebsmechanismus 120 ändert eine Bewegungsrichtung und eine Bewegungsgeschwindigkeit des Roboters 100, indem er die Drehzahl und die Drehrichtung von jedem der beiden Vorderräder 102 ändert. Außerdem kann der Antriebsmechanismus 120 auch die Räder (die Vorderräder 102 und das Hinterrad 103) anheben und absenken. Wenn sich die Räder heben, sind die Räder vollständig im Körper 104 gelagert, und der Roboter 100 kommt über die Sitzfläche 108 mit der Bodenfläche F in Kontakt und nimmt den sitzenden Zustand an.
  • 6 ist ein funktionelles Blockdiagramm eines Robotersystems 300.
  • Wie vordem beschrieben, beinhaltet das Robotersystem 300 den Roboter 100, den Server 200 und die mehreren externen Sensoren 114. Jede Komponente des Roboters 100 und des Servers 200 wird durch Hardware realisiert, die einen Computer beinhaltet, der aus einer CPU (Zentralprozessoreinheit), verschiedenen Arten von Koprozessoren und dergleichen, einer Speichervorrichtung, die ein Speicher oder eine Speicherung ist, und einer drahtgebundenen oder drahtlosen Kommunikationsverbindung, die den Computer und die Speichervorrichtung verbindet, sowie Software, die in der Speichervorrichtung gespeichert ist und dem Computer einen Verarbeitungsbefehl liefert, gebildet ist. Ein Computerprogramm kann aus einem Gerätetreiber, einem Betriebssystem, verschiedenen Arten von Anwendungsprogrammen, die in einer oberen Schicht davon angeordnet sind, und einer Bibliothek, die den Programmen eine gemeinsame Funktion zur Verfügung stellt, konfiguriert sein. Jeder nachstehend beschriebene Block bezeichnet einen Funktionseinheitsblock statt einer Hardwareeinheitkonfiguration.
  • Ein Teil der Funktionen des Roboters 100 kann durch den Server 200 realisiert werden, und ein Teil oder alle Funktionen des Servers 200 können durch den Roboter 100 realisiert werden.
  • Server 200
  • Der Server 200 beinhaltet eine Kommunikationseinheit 204, eine Datenverarbeitungseinheit 202 und eine Datenspeichereinheit 206.
  • Die Kommunikationseinheit 204 verwaltet einen Prozess der Kommunikation mit dem externen Sensor 114 und dem Roboter 100.
  • Die Datenspeichereinheit 206 speichert verschiedene Arten von Daten. Die Datenverarbeitungseinheit 202 führt verschiedene Arten von Verfahren auf der Grundlage der von der Kommunikationseinheit 204 erfassten Daten und den in der Datenspeichereinheit 206 gespeicherten Daten aus. Die Datenverarbeitungseinheit 202 arbeitet ebenfalls als eine Schnittstelle der Kommunikationseinheit 204 und der Datenspeichereinheit 206.
  • Die Kommunikationseinheit 204 beinhaltet eine Wegbenachrichtigungseinheit 240. Die Wegbenachrichtigungseinheit 240 benachrichtigt den Roboter über einen geplanten Weg und eine Auswahltabelle für geplante Wege, die von einer Wegerzeugungseinheit 242 erzeugt wird, die im Folgenden beschrieben wird. Der geplante Weg und die Auswahltabelle für geplante Wege werden ebenfalls im Folgenden beschrieben.
  • Die Datenspeichereinheit 206 beinhaltet eine Bewegungsspeichereinheit 232, eine Kartenspeichereinheit 216, eine Speichereinheit für individuelle Daten 218 und eine Speichereinheit für geplante Wege 224.
  • Der Roboter 100 weist mehrere Vorgangsmuster (Bewegungen) auf. Verschiedene Bewegungen sind definiert, wie das Schwenken des Armes, das Annähern an einen Besitzer beim Drehen und das genaue Ansehen eines Besitzers mit dem Kopf zur Seite.
  • Die Bewegungsspeichereinheit 232 speichert Steuerungsdetails einer Bewegung (eine Bewegungsdatei). Jede Bewegung ist durch eine Bewegungskennung gekennzeichnet. Die Bewegungsdatei wird auch in die Bewegungsspeichereinheit 160 des Roboters 100 heruntergeladen. Welche Bewegung ausgeführt werden soll, kann vom Server 200 oder vom Roboter 100 bestimmt werden.
  • Viele Bewegungen des Roboters 100 sind als zusammengesetzte Bewegungen konfiguriert, die mehrere Einzelbewegungen beinhalten. Wenn sich der Roboter 100 beispielsweise einem Besitzer nähert, kann die Annäherung als eine Kombination aus einer Bewegung der Einheit der Richtungsänderung, um dem Besitzer gegenüberzustehen, einer Bewegung der Einheit, die sich nähert und dabei einen Arm hebt, einer Bewegung der Einheit, die sich nähert und dabei den Körper schüttelt und einer Bewegung der Einheit, die sitzt und dabei beide Arme hebt, ausgedrückt werden. Durch Kombinieren dieser vier Bewegungsarten wird eine Bewegung realisiert, die darin besteht, „sich einem Besitzer zu nähern, einen Arm auf dem Weg zu heben und sich schließlich nach dem Schütteln des Körpers hinzusetzen“. Ein Drehwinkel, eine Winkelgeschwindigkeit und dergleichen eines im Roboter 100 vorgesehenen Stellglieds ist definiert, das mit einer Zeitachse in einer Bewegungsdatei korreliert ist. Verschiedene Bewegungen werden ausgeführt, indem jedes Stellglied zusammen mit dem Zeitablauf entsprechend der Bewegungsdatei (Stellgliedsteuerungsinformationen) gesteuert wird.
  • Eine Umstellzeit beim Wechseln von einer vorhergehenden Bewegung der Einheit zu einer nachfolgenden Bewegung der Einheit wird als „Intervall“ bezeichnet. Es genügt, dass ein Intervall entsprechend der Zeit definiert ist, die für eine Änderung der Bewegung der Einheit oder Einzelheiten einer Bewegung benötigt wird. Eine Länge eines Intervalls kann geregelt werden.
  • Im Folgenden werden die Einstellungen zum Steuern des Verhaltens des Roboters 100, wie beispielsweise welche Bewegung wann gewählt wird, und Regeln der Leistung jedes Stellglieds, wenn eine Bewegung umgesetzt wird, gemeinsam als „Verhaltensmerkmale“ bezeichnet. Die Verhaltenseigenschaften des Roboters 100 sind durch einen Bewegungsauswahlalgorithmus, eine Bewegungsauswahlwahrscheinlichkeit, eine Bewegungsdatei, einen geplanten Weg, eine Auswahltabelle für geplante Wege und dergleichen definiert.
  • Zusätzlich zu einer Bewegungsdatei speichert die Bewegungsspeichereinheit 232 eine Bewegungsauswahltabelle, die eine Bewegung definiert, die bei Auftreten verschiedener Arten von Ereignissen ausgeführt werden soll. Die Bewegungsauswahltabelle wird im Folgenden in Bezug auf 6 beschrieben.
  • Zusätzlich zu mehreren Handlungskarten speichert die Kartenspeichereinheit 216 auch eine Karte, die eine Anordnungssituation eines Hindernisses wie beispielsweise eines Stuhls oder eines Tisches angibt. Die Speichereinheit für geplante Wege 224 speichert einen geplanten Weg. Die Speichereinheit für geplante Wege 224 speichert einen geplanten Weg und eine Auswahltabelle für geplante Wege (im Folgenden beschrieben). Die Speichereinheit für individuelle Daten 218 speichert Informationen über einen Benutzer, insbesondere über einen Besitzer. Insbesondere speichert die Speichereinheit für individuelle Daten 218 verschiedene Arten von Parametern, wie beispielsweise die Vertrautheit bezüglich eines Benutzers sowie körperliche Merkmale und Verhaltensmerkmale eines Benutzers. Die Speichereinheit für individuelle Daten 218 kann auch andere Attributinformationen wie Alter und Geschlecht speichern.
  • Das Robotersystem 300 (der Roboter 100 und der Server 200) teilt einen Benutzer auf der Grundlage der körperlichen Merkmale und der Verhaltensmerkmale des Benutzers in Kategorien ein. Der Roboter 100 filmt mit der integrierten Kamera ständig eine Außenumgebung. Ferner extrahiert der Roboter 100 die körperlichen Merkmale und die Verhaltensmerkmale einer in einem Bild erscheinenden Person. Die körperlichen Merkmale können einem Körperzugeordnete visuelle Merkmale wie beispielsweise eine Körpergröße, eine gewählte Bekleidung, ein Vorhandensein oder Fehlen einer Brille, eine Hautfarbe, eine Haarfarbe und eine Ohrgröße sein, oder können auch andere Merkmale wie beispielsweise eine durchschnittliche Körpertemperatur, einen Geruch und eine Sprachqualität beinhalten. Die Verhaltensmerkmale sind insbesondere verhaltensbegleitende Merkmale, wie beispielsweise ein Ort, den der Benutzer bevorzugt, eine Lebhaftigkeit der Bewegung und ein Vorhandensein oder Fehlen des Rauchens. So extrahiert der Roboter 100 beispielsweise Verhaltensmerkmale, dass Besitzer, der als Vater kategorisiert ist, oft außerhalb des Hauses ist und zu Hause oft bewegungslos auf einem Sofa liegt, aber eine Mutter oft in einer Küche ist und ein Aktivitätsbereich umfassend ist.
  • Das Robotersystem 300 clustert Benutzer, die mit hoher Häufigkeit erscheinen, als „Besitzer“, basierend auf körperlichen Merkmalen und Verhaltensmerkmalen, die aus einer großen Menge von Bildinformationen und anderen Messinformationen gewonnen werden.
  • Obwohl ein Verfahren zur Identifizierung eines Benutzers anhand der Benutzerkennung einfach und zuverlässig ist, ist es eine Voraussetzung, dass der Benutzer eine Vorrichtung hat, die eine Benutzerkennung bereitstellen kann. Währenddessen ist das Verfahren zur Identifizierung eines Benutzers anhand von körperlichen Merkmalen oder Verhaltensmerkmalen dergestalt, dass ein Bilderkennungsverfahren umfangreich ist, aber ein Vorteil darin liegt, dass auch ein Benutzer, der keine mobile Vorrichtung hat, identifiziert werden kann. Eines der beiden Verfahren kann allein angewendet werden, oder die Benutzeridentifikation kann unter Verwendung der beiden Verfahren zusammen in ergänzender Weise durchgeführt werden.
  • In dieser Ausführungsform werden die Benutzer auf der Grundlage von körperlichen Merkmalen und Verhaltensmerkmalen geclustert, und ein Benutzer wird unter Verwendung von Deep-Learning (ein mehrschichtiges neuronales Netzwerk) identifiziert. Einzelheiten werden nachfolgend beschrieben.
  • Der Roboter 100 weist für jeden Benutzer einen internen Vertrautheitsparameter auf. Wenn der Roboter 100 eine Handlung erkennt, die eine Zuneigung gegenüber dem Roboter 100 andeutet, wie beispielsweise das Anheben des Roboters 100 oder das Sprechen mit dem Roboter 100, nimmt die Vertrautheit bezüglich dieses Benutzers zu. Die Vertrautheit nimmt bezüglich eines Benutzers ab, der nicht mit dem Roboter 100 beschäftigt ist, eines Benutzers, der sich grob verhält oder eines selten angetroffenen Benutzers.
  • Die Datenverarbeitungseinheit 202 beinhaltet eine Positionsverwaltungseinheit 208, eine Kartenverwaltungseinheit 210, eine Erkennungseinheit 212, eine Vorgangssteuerungseinheit 222, eine Vertrautheitsverwaltungseinheit 220, eine Emotionsverwaltungseinheit 244 sowie eine Wegerzeugungseinheit 242.
  • Die Positionsverwaltungseinheit 208 identifiziert die Positionskoordinaten des Roboters 100 unter Verwendung des in 3 beschriebenen Verfahrens. Die Positionsverwaltungseinheit 208 kann auch die Positionskoordinaten eines Benutzers in Echtzeit nachverfolgen.
  • Die Emotionsverwaltungseinheit 244 verwaltet verschiedene Emotionsparameter, die Emotionen (Einsamkeit, Freude, Angst und dergleichen) des Roboters 100 angeben. Diese Emotionsparameter schwanken ständig. Die Bedeutung der mehreren Handlungskarten ändert sich entsprechend den Emotionsparametern, der Bewegungszielpunkt des Roboters 100 ändert sich entsprechend den Handlungskarten, und die Emotionsparameter ändern sich entsprechend der Bewegung des Roboters 100 und dem Lauf der Zeit. Wenn beispielsweise der Emotionsparameter, der Einsamkeit angibt, hoch ist, legt die Emotionsverwaltungseinheit 244 den Gewichtungskoeffizienten der Handlungskarte, die Orte bewertet, an denen sich der Roboter 100 wohlfühlt, auf einen hohen Wert fest. Wenn der Roboter 100 einen Punkt in der Handlungskarte erreicht, an dem Einsamkeit behoben werden kann, verringert die Emotionsverwaltungseinheit 244 den Emotionsparameter, der Einsamkeit angibt. Außerdem ändert sich jede Art von Emotionsparameter entsprechend einer Reaktionshandlung, die im Folgenden beschrieben wird. Beispielsweise nimmt der Emotionsparameter, der die Einsamkeit angibt, ab, wenn der Roboter 100 von einem Besitzer „umarmt“ wird, und der Emotionsparameter, der die Einsamkeit angibt, nimmt zu, wenn der Roboter 100 während einer längeren Zeit einen Besitzer nicht visuell erkennt.
  • Die Kartenverwaltungseinheit 210 ändert den Parameter jeder Koordinate in den mehreren Handlungskarten unter Verwendung des in Verbindung mit 4 beschriebenen Verfahrens. Die Kartenverwaltungseinheit 210 kann eine der mehreren Handlungskarten auswählen oder kann einen gewichteten Mittelwert der z-Werte der mehreren Handlungskarten bilden. Beispielsweise wird angenommen, dass die z-Werte bei einer Koordinate R1 und einer Koordinate R2 auf einer Handlungskarte A die Werte 4 und 3 haben, und die z-Werte bei der Koordinate R1 und der Koordinate R2 auf einer Handlungskarte B die Werte -1 und 3 haben. Bei der Bildung eines einfachen Mittelwerts beträgt der gesamte z-Wert bei der Koordinate R1 4 - 1 = 3, und der gesamte z-Wert bei der Koordinate R2 beträgt 3 + 3 = 6, weswegen der Roboter 100 in Richtung der Koordinate R2 statt in Richtung der Koordinate R1 steuert.
  • Wenn die Handlungskarte A 5-fach bezüglich der Handlungskarte B gewichtet wird, beträgt der gesamte z-Wert bei der Koordinate R1 4 x 5 - 1 = 19 und der gesamte z-Wert an der Koordinate R2 3 x 5 + 3 = 18, weswegen der Roboter 100 in Richtung der Koordinate R1 steuert.
  • Die Erkennungseinheit 212 erkennt eine äußere Umgebung. In der äußeren Umgebung sind verschiedene Arten der Erkennung einbezogen, wie beispielsweise die Erkennung von Wetter oder Jahreszeit basierend auf Temperatur und Luftfeuchtigkeit, und die Erkennung von Schutz (ein sicherer Bereich) basierend auf einem Maß an Licht und Temperatur. Die Erkennungseinheit 156 des Roboters 100 erfasst verschiedene Arten von Umgebungsinformationen unter Verwendung des internen Sensors 128 und überträgt die Umgebungsinformationen nach Ausführen eines primären Prozesses auf diesen zu der Erkennungseinheit 212 des Servers 200. Insbesondere extrahiert die Erkennungseinheit 156 des Roboters 100 aus einem Bild diejenigen Bilder, die beweglichen Objekten, insbesondere Menschen oder Tieren, entsprechen, und sendet die extrahierten Bilder an den Server 200. Die Erkennungseinheit 212 des Servers 200 extrahiert Merkmale einer Person, die in den extrahierten Bildern erscheint.
  • Die Erkennungseinheit 212 beinhaltet ferner eine Personenerkennungseinheit 214 und eine Reaktionserkennungseinheit 228. Die Personenerkennungseinheit 214 erkennt eine Person anhand eines Bildes, das von der im Roboter 100 integrierten Kamera gefilmt wurde, und extrahiert die körperlichen Merkmale und Verhaltensmerkmale der Person. Ferner bestimmt die Personenerkennungseinheit 214 basierend auf den in der Speichereinheit für individuelle Daten 218 registrierten körperlichen Merkmalsinformationen und Verhaltensmerkmalsinformationen welcher Person, wie beispielsweise einem Vater, einer Mutter oder einem ältesten Sohn, der gefilmte Benutzer, das heißt, der Benutzer, den der Roboter 100 ansieht, entspricht. Die Personenerkennungseinheit 214 beinhaltet eine Ausdruckserkennungseinheit 230. Die Ausdruckserkennungseinheit 230 leitet ein Gefühl eines Benutzers unter Verwendung der Bilderkennung eines Ausdrucks des Benutzers ab.
  • Die Personenerkennungseinheit 214 extrahiert auch Merkmale eines sich bewegenden Objekts, das keine Person ist, z. B. eine Katze oder einen Hund, also einem Haustier.
  • Die Reaktionserkennungseinheit 228 erkennt verschiedene Reaktionshandlungen, die bezüglich des Roboters 100 durchgeführt werden, und klassifiziert die Handlungen als angenehme oder unangenehme Handlungen. Die Reaktionserkennungseinheit 228 erkennt ebenfalls eine Reaktionshandlung eines Besitzers bezüglich einer Handlung des Roboters 100, wodurch die Reaktionshandlung als positive oder negative Reaktion klassifiziert wird. Angenehme und unangenehme Handlungen werden in Abhängigkeit davon unterschieden, ob eine Reaktionshandlung eines Benutzers angenehm oder unangenehm für ein Tier ist. Zum Beispiel ist das Umarmtwerden eine angenehme Handlung für den Roboter 100, und das Getretenwerden ist eine unangenehme Handlung für den Roboter 100. Positive und negative Reaktionen werden in Abhängigkeit davon unterschieden, ob eine Reaktionshandlung eines Benutzers auf eine angenehme Emotion oder eine unangenehme Emotion des Benutzers hinweist. Zum Beispiel ist das Umarmtwerden eine positive Reaktion, die auf eine angenehme Emotion des Benutzers hinweist, und das Getretenwerden ist eine negative Reaktion, die auf eine unangenehme Emotion des Benutzers hinweist.
  • Die Vorgangssteuerungseinheit 222 des Servers 200 bestimmt eine Bewegung und des Roboters 100 in Zusammenarbeit mit einer Vorgangssteuerungseinheit 150 des Roboters 100. Die Vorgangsbestimmungseinheit 222 des Servers 200 stellt außerdem einen Bewegungszielpunkt des Roboters 100 und einen Ausführungsweg (eine Bewegungsroute) für den Bewegungszielpunkt zusammen, basierend auf einer Handlungskartenauswahl durch die Kartenverwaltungseinheit 210. In der Ausführungsform stellt die Vorgangssteuerungseinheit 222 mehrere Ausführungswege zusammen und wählt danach einen der Ausführungswege aus. Ein „Ausführungsweg“ ist eine Routeninformation, die einen Bewegungszielpunkt und einen Pfad bis zum Erreichen des Bewegungszielpunkts angibt, und der Roboter 100 bewegt sich entlang des ausgewählten Ausführungsweges. Zusätzlich zu einem Bewegungszielpunkt und dergleichen definiert ein Ausführungsweg auch einen Transitpunkt und eine Bewegungsgeschwindigkeit.
  • Die Vorgangssteuerungseinheit 222 wählt eine Bewegung des Roboters 100 aus den mehreren Bewegungen der Bewegungsspeichereinheit 232 aus. Eine Auswahlwahrscheinlichkeit ist mit jeder Bewegung für jede Situation korreliert. Beispielsweise ist ein Auswahlverfahren definiert, bei dem eine Bewegung A mit einer Wahrscheinlichkeit von 20 % ausgeführt wird, wenn eine angenehme Handlung von einem Besitzer ausgeführt wird, und eine Bewegung B mit einer Wahrscheinlichkeit von 5 % ausgeführt wird, wenn eine Temperatur 30 Grad oder mehr erreicht.
  • Ein Bewegungszielpunkt und ein Ausführungsweg werden durch eine Handlungskarte bestimmt, und eine Bewegung wird gemäß verschiedenen Arten von Ereignissen ausgewählt, die im Folgenden beschrieben werden.
  • Die Wegerzeugungseinheit 242 erzeugt einen geplanten Weg, die eine Bewegungsroute des Roboters 100 beim Eintreten eines Ereignisses definiert, und eine Auswahltabelle für geplante Wege, die ein Auswahlverfahren für geplante Wege angibt. Ein Auswahlverfahren für geplante Wege wird im Folgenden in Bezug auf die 9, 10 und dergleichen ausführlich beschrieben. Ein „geplanter Weg“ ist eine Routeninformation, die einen Bewegungszielpunkt und einen Weg bis zum Erreichen des Bewegungszielpunktes angibt. Zusätzlich zu einem Bewegungszielpunkt und dergleichen definiert ein geplanter Weg in der Ausführungsform auch einen Transitpunkt und eine Bewegungsgeschwindigkeit. Ein „Ausführungsweg“ ist ein Weg, der unveränderlich verwendet wird, wenn er ausgewählt wird, ein „geplanter Weg“ hingegen ist ein Weg, der nicht verwendet wird, sofern kein Ereignis eintritt. Wenn ein geplanter Weg erzeugt wird, wird die Auswahltabelle für geplante Wege der Speichereinheit für geplante Wege 224 aktualisiert und der Roboter 100 von der Wegbenachrichtigungseinheit 240 benachrichtigt. Eine Speichereinheit für geplante Wege 154 des Roboters 100 weist ebenfalls eine Auswahltabelle für geplante Wege auf. Eine Aktualisierung der Auswahltabelle für geplante Wege des Servers 200 wird in der Auswahltabelle für geplante Wege des Roboters 100 durch die Wegbenachrichtigungseinheit 240 reflektiert.
  • Die Vertrautheitsverwaltungseinheit 220 verwaltet die Vertrautheit für jeden Benutzer. Wie vordem beschrieben, ist die Vertrautheit als ein Teil der individuellen Daten in der Speichereinheit für individuelle Daten 218 registriert. Wenn eine angenehme Handlung erkannt wird, erhöht die Vertrautheitsverwaltungseinheit 220 die Vertrautheit bezüglich dieses Benutzers. Wenn eine unangenehme Handlung erkannt wird, verringert die Vertrautheitsverwaltungseinheit 220 die Vertrautheit. Außerdem nimmt die Vertrautheit eines Besitzers, der während eines längeren Zeitraums nicht visuell erkannt wurde, allmählich ab.
  • Roboter 100
  • Der Roboter 100 beinhaltet eine Kommunikationseinheit 142, eine Datenverarbeitungseinheit 136, eine Datenspeichereinheit 148, einen internen Sensor 128 und den Antriebsmechanismus 120.
  • Die Kommunikationseinheit 142 entspricht dem Kommunikator 126 (siehe 5) und verwaltet einen Vorgang der Kommunikation mit dem externen Sensor 114 und dem Server 200. Die Datenspeichereinheit 148 speichert verschiedene Arten von Daten. Die Datenspeichereinheit 148 entspricht der Speichervorrichtung 124 (siehe 5). Die Datenverarbeitungseinheit 136 führt verschiedene Arten von Verfahren auf der Grundlage der von der Kommunikationseinheit 142 erfassten Daten und den in der Datenspeichereinheit 148 gespeicherten Daten aus. Die Datenverarbeitungseinheit 136 entspricht dem Prozessor 122 und einem vom Prozessor 122 ausgeführten Computerprogramm. Die Datenverarbeitungseinheit 136 arbeitet ebenfalls als eine Schnittstelle der Kommunikationseinheit 142, des internen Sensors 128, des Antriebsmechanismus 120 und der Datenspeichereinheit 148.
  • Die Datenspeichereinheit 148 beinhaltet die Bewegungsspeichereinheit 160, die verschiedene Bewegungsarten des Roboters 100 definiert, und die Speichereinheit für geplante Wege 154, in der Daten geplanter Wege gespeichert sind.
  • Verschiedene Arten von Bewegungsdateien werden in die Bewegungsspeichereinheit 160 des Roboters 100 von der Bewegungsspeichereinheit 232 des Servers 200 heruntergeladen. Eine Bewegung ist durch eine Bewegungskennung gekennzeichnet. Ein Vorgangszeitpunkt, eine Vorgangszeit, eine Vorgangsrichtung und dergleichen der verschiedenen Stellgliedarten (der Antriebsmechanismus 120) sind chronologisch in der Bewegungsdatei definiert, um verschiedene Bewegungen auszuführen, wie beispielsweise das Hinsetzen durch Einfahren der Vorderräder 102, das Anheben des Arms 106, den Roboter 100 eine drehende Handlung ausführen lassen, indem bewirkt wird, dass sich die beiden Vorderräder 102 rückwärts drehen oder nur ein Vorderrad 102 dreht, das Schütteln, indem die Vorderräder 102 in einem Zustand gedreht werden, in dem die Vorderräder 102 eingefahren sind, oder das einmalige Anhalten und Zurückschauen beim Bewegen weg von einem Benutzer.
  • Ein geplanter Weg des Roboters 100 wird sowohl von einer Wegerzeugungseinheit 172 des Roboters 100 als auch von der Wegerzeugungseinheit 242 des Servers 200 erzeugt. Ein geplanter Weg und eine von der Wegerzeugungseinheit 172 des Roboters 100 erzeugte Auswahltabelle für geplante Wege werden in der Speichereinheit für geplante Wege 154 gespeichert. Ein geplanter Weg und eine von der Wegerzeugungseinheit 242 des Servers 200 erzeugte Auswahltabelle für geplante Wege werden in der Speichereinheit für geplante Wege 224 gespeichert. Die Auswahltabelle für geplante Wege und die Daten, die einen geplanten Weg definieren, die in der Speichereinheit für geplante Wege 224 des Servers 200 gespeichert sind, werden nach Bedarf in die Speichereinheit für geplante Wege 154 des Roboters 100 von der Wegbenachrichtigungseinheit 240 heruntergeladen.
  • Die Datenverarbeitungseinheit 136 beinhaltet die Erkennungseinheit 156, die Vorgangssteuerungseinheit 150, eine Erkennungseinheit für sichere Bereiche 152 und die Wegerzeugungseinheit 172.
  • Die Vorgangssteuerungseinheit 150 des Roboters 100 bestimmt eine Bewegung des Roboters 100 in Zusammenarbeit mit der Vorgangssteuerungseinheit 222 des Servers 200. Ein Teil der Bewegungen kann vom Server 200 bestimmt werden und andere Bewegungen können vom Roboter 100 bestimmt werden. Eine Konfiguration kann auch so sein, dass der Roboter 100 eine Bewegung bestimmt, der Server 200 jedoch eine Bewegung bestimmt, wenn eine Verarbeitungslast des Roboters 100 hoch ist. Eine Bewegung, die eine Basis bildet, kann vom Server 200 bestimmt werden, und eine zusätzliche Bewegung kann vom Roboter 100 bestimmt werden. Es ist ausreichend, dass eine Art und Weise, in der ein Bewegungsbestimmungsprozess zwischen dem Server 200 und dem Roboter 100 aufgeteilt ist, nach den Vorgaben des Robotersystems 300 konzipiert ist.
  • Die Vorgangssteuerungseinheit 150 des Roboters 100 bestimmt zusammen mit der Vorgangssteuerungseinheit 222 des Servers 200 eine Bewegungsrichtung des Roboters 100. Eine auf einer Handlungskarte basierende Bewegung kann vom Server 200 bestimmt werden, und eine sofortige Bewegung, wie beispielsweise das Vermeiden eines Hindernisses, kann durch die Vorgangssteuerungseinheit 150 des Roboters 100 bestimmt werden. Die Vorgangssteuerungseinheit 150 kann einen Ausführungsweg bestimmen. Der Antriebsmechanismus 120 bewirkt, dass sich der Roboter 100 durch Antreiben der Vorderräder 102 gemäß einer Anweisung der Vorgangssteuerungseinheit 150 auf einen Zielpunkt zubewegt.
  • Die Vorgangssteuerungseinheit 150 des Roboters 100 weist den Antriebsmechanismus 120 an, eine ausgewählte Bewegung auszuführen. Der Antriebsmechanismus 120 steuert jedes Stellglied entsprechend der Bewegungsdatei.
  • Die Vorgangssteuerungseinheit 150 kann auch eine Bewegung des Hochhaltens beider Arme 106 als eine Geste der Bitte um „eine Umarmung“ durchführen, wenn sich ein Benutzer mit einem hohen Grad an Vertrautheit in der Nähe befindet, und kann auch eine Bewegung des Nicht-länger-umarmt-werden-Wollens ausführen, indem wiederholt bewirkt wird, dass sich die rechten und linken Vorderräder 102 in Gegenrichtung drehen und in einem eingefahrenen Zustand anhalten, wenn die „Umarmung“ langweilig wird. Der Antriebsmechanismus 120 bewirkt, dass der Roboter 100 verschiedene Bewegungen ausführt, indem er die Vorderräder 102, den Arm 106 und den Hals (den Kopfeinheitrahmen 316) entsprechend einer Anweisung der Vorgangssteuerungseinheit 150 antreibt.
  • Die Wegerzeugungseinheit 172 erzeugt einen geplanten Weg des Roboters 100 zusammen mit der Wegerzeugungseinheit 242 des Servers 200 und aktualisiert die Auswahltabelle für geplante Wege. Ein geplanter Weg und eine von der Wegerzeugungseinheit 172 des Roboters 100 erzeugte Auswahltabelle für geplante Wege werden in der Speichereinheit für geplante Wege 154 gespeichert. Geplante Wege, die in der Speichereinheit für geplante Wege 154 gespeichert sind, umfassen geplante Wege, die von der Wegerzeugungseinheit 172 des Roboters 100 erzeugt werden, und geplante Wege, die von der Wegerzeugungseinheit 242 des Servers 200 erzeugt werden. Außerdem wird die Auswahltabelle für geplante Wege der Speichereinheit für geplante Wege 154 durch die Wegerzeugungseinheit 172 aktualisiert und auch durch die Wegerzeugungseinheit 242 des Servers 200 aktualisiert.
  • Die Erkennungseinheit für sichere Bereiche 152 erkennt einen sicheren Bereich. Ein sicherer Bereich und ein Verfahren zum Erkennen eines sicheren Bereichs werden nachfolgend beschrieben.
  • Die Erkennungseinheit 156 des Roboters 100 analysiert vom internen Sensor 128 erhaltene externe Informationen. Die Erkennungseinheit 156 ist zur visuellen Erkennung (eine visuelle Einheit), Geruchserkennung (eine Geruchseinheit), Klangerkennung (eine Höreinheit) und taktilen Erkennung (eine taktile Einheit) in der Lage.
  • Die Erkennungseinheit 156 filmt mithilfe der integrierten Kamera (dem internen Sensor 128) regelmäßig einen äußeren Betrachtungswinkel und erkennt ein sich bewegendes Objekt wie beispielsweise eine Person oder ein Haustier. Ein Bild des sich bewegenden Objekts wird zu dem Server 200 übertragen, und die Personenerkennungseinheit 214 des Servers 200 extrahiert die körperlichen Merkmale des sich bewegenden Objekts. Zudem erkennt die Erkennungseinheit 156 auch einen Geruch eines Benutzers und eine Stimme eines Benutzers. Der Geruch und Klang (Stimme) werden nach einem bereits bekannten Verfahren in mehrere Arten eingeteilt.
  • Wenn eine starke Kraft auf den Roboter 100 ausgeübt wird, erkennt die Erkennungseinheit 156 dies mithilfe eines eingebauten Beschleunigungssensors, und die Reaktionserkennungseinheit 228 des Servers 200 erkennt, dass eine „gewalttätige Handlung“ von einem Benutzer in der Nähe durchgeführt wurde. Wenn ein Benutzer den Roboter 100 durch Greifen des Horns 112 anhebt, kann dies ebenfalls als gewalttätige Handlung erkannt werden. Wenn ein Benutzer in einem Zustand des Gegenüberstehens mit dem Roboter 100 in einem bestimmten Lautstärkebereich und einem bestimmten Frequenzband spricht, kann die Personenerkennungseinheit 228 des Servers 200 erkennen, dass eine „Sprechhandlung“ bezüglich des Roboters 100 durchgeführt wurde. Wenn eine Temperatur im Bereich der Körpertemperatur erfasst wird, erkennt die Reaktionserkennungseinheit 228 des Servers 200 außerdem, dass eine „Berührungshandlung“ von einem Benutzer durchgeführt wurde, und wenn eine Aufwärtsbeschleunigung in einem Zustand erkannt wird, in dem eine Berührung erkannt wird, erkennt die Reaktionserkennungseinheit 228 des Servers 200, dass eine „Umarmung“ durchgeführt wurde. Körperkontakt, wenn ein Benutzer den Körper 104 anhebt, kann ebenfalls wahrgenommen werden, und eine Umarmung kann auch durch eine auf die Vorderräder 102 wirkende Last erkannt werden, die abnimmt.
  • Die Reaktionserkennungseinheit 228 des Servers 200 erkennt verschiedene Arten von Reaktionen eines Benutzers gegenüber dem Roboter 100. „Angenehm“ oder „unangenehm“, „positiv“ oder „negativ“ sind mit einem Teil von typischen Reaktionshandlungen unter verschiedenen Arten von Reaktionshandlungen korreliert. Im Allgemeinen sind fast alle Reaktionshandlungen, die angenehme Handlungen sind, positive Reaktionen, und fast alle Reaktionshandlungen, die unangenehme Handlungen sind, sind negative Reaktionen. Angenehme und unangenehme Handlungen beziehen sich auf die Vertrautheit, und positive und negative Reaktionen beeinflussen die Handlungsauswahl des Roboters 100.
  • Von einer Reihe von Erkennungsverfahren, einschließlich Erkennung, Analyse und Bestimmung, führt die Erkennungseinheit 156 des Roboters 100 eine Auswahl und Kategorisierung von Informationen aus, die für die Erkennung erforderlich sind, und ein Interpretationsverfahren wie beispielsweise eine Analyse oder Bestimmung wird von der Erkennungseinheit 212 des Servers 200 ausgeführt. Die Erkennungsverfahren können von der Erkennungseinheit 212 des Servers 200 allein ausgeführt werden oder von der Erkennungseinheit 156 des Roboters 100 allein ausgeführt werden, oder beide können die Erkennungsverfahren unter Zuweisung von Rollen ausführen, wie bereits beschrieben.
  • Die Vertrautheitsverwaltungseinheit 220 des Servers 200 ändert die Vertrautheit gegenüber einem Benutzer gemäß einer von der Erkennungseinheit 156 erkannten Reaktionshandlung. Im Wesentlichen nimmt die Vertrautheit gegenüber einem Benutzer zu, der eine angenehme Handlung ausführt, während die Vertrautheit gegenüber einem Benutzer, der eine unangenehme Handlung ausführt, abnimmt.
  • Die Erkennungseinheit 212 des Servers 200 kann bestimmen, ob eine Reaktion angenehm oder unangenehm ist, und die Kartenverwaltungseinheit 210 des Servers 200 kann auf einer Handlungskarte, die die „Verbundenheit mit einem Ort“ darstellt, den z-Wert des Punktes ändern, an dem die angenehme oder unangenehme Handlung ausgeführt wurde. Wenn beispielsweise eine angenehme Handlung in einem Wohnzimmer ausgeführt wird, kann die Kartenverwaltungseinheit 210 einen bevorzugten Punkt mit hoher Wahrscheinlichkeit im Wohnzimmer festlegen. In diesem Fall wird ein positiver Rückmeldungsnutzen dadurch realisiert, dass der Roboter 100 das Wohnzimmer favorisiert und das Wohnzimmer weiters favorisiert, da er Empfänger einer angenehmen Handlung im Wohnzimmer ist.
  • Die Personenerkennungseinheit 214 des Servers 200 erkennt ein sich bewegendes Objekt aus verschiedenen Arten von Daten, die vom externen Sensor 114 oder dem internen Sensor 128 erhalten werden, und extrahiert daraus Merkmale (körperliche Merkmale und Verhaltensmerkmale). Darüber hinaus führt die Personenerkennungseinheit 214 eine Clusteranalyse mehrerer sich bewegende Objekte anhand dieser Merkmale durch. Nicht nur ein Mensch, sondern auch ein Haustier wie beispielsweise ein Hund oder eine Katze können ein Ziel der Analyse als bewegliches Objekt sein.
  • Der Roboter 100 führt regelmäßig eine Bildaufnahme aus, und die Personenerkennungseinheit 214 erkennt ein sich bewegendes Objekt aus den Bildern und extrahiert Merkmale des sich bewegenden Objekts. Wenn ein sich bewegendes Objekt erkannt wird, werden körperliche Merkmale und Verhaltensmerkmale auch vom Geruchssensor, dem integrierten Mikrofon mit hoher Richtwirkung, dem Temperatursensor und dergleichen extrahiert. Wenn beispielsweise ein sich bewegendes Objekt in einem Bild erscheint, werden verschiedene Merkmale extrahiert, wie beispielsweise ein Bart, aktiv sein am frühen Morgen, das Tragen von roter Kleidung, das Riechen von Parfüm, eine laute Stimme, das Tragen einer Brille, das Tragen eines Rockes, das Vorhandensein von weißen Haaren, groß sein, füllig sein, sonnengebräunt sein oder sich auf einem Sofa befinden.
  • Wenn ein sich bewegendes Objekt (Benutzer) mit Bart oft am frühen Morgen aktiv ist (steht früh auf) und selten rote Kleidung trägt, wird ein erstes Profil erstellt, das ein Cluster (Benutzer) ist, das früh aufsteht, einen Bart hat und nicht oft rote Kleidung trägt. Währenddessen wird ein zweites Profil erstellt, das ein Cluster (Benutzer) ist, das eine Brille trägt und einen Rock trägt, aber definitiv keinen Bart hat, wenn ein sich bewegendes Objekt mit Brille oft einen Rock trägt, das sich bewegende Objekt aber keinen Bart hat.
  • Obwohl es sich bei dem vorstehend genannten Beispiel um ein einfaches Beispiel handelt, werden das erste Profil, das einem Vater entspricht, und das zweite Profil, das einer Mutter entspricht, nach dem vordem beschriebenen Verfahren gebildet, und der Roboter 100 erkennt, dass es in diesem Haus mindestens zwei Benutzer (Eigentümer) gibt.
  • Man beachte, dass der Roboter 100 nicht erkennen muss, dass das erste Profil der „Vater“ ist. In allen Fällen reicht es aus, dass der Roboter 100 eine Figur erkennen kann, die „ein Cluster mit Bart ist, oft früh aufsteht und selten rote Kleidung trägt“.
  • Es wird angenommen, dass der Roboter 100 ein sich bewegendes Objekt (Benutzer) in einem Zustand, in dem diese Art der Clusteranalyse abgeschlossen ist, neu erkennt.
  • Zu diesem Zeitpunkt extrahiert die Personenerkennungseinheit 214 des Servers 200 Merkmale von Messinformationen eines Bildes oder dergleichen, die vom Roboter 100 erhalten wurden, und bestimmt unter Verwendung von Deep-Learning (ein mehrschichtiges neuronales Netzwerk), welchem Cluster ein sich bewegendes Objekt in der Nähe des Roboters 100 entspricht. Wenn beispielsweise ein sich bewegendes Objekt mit einem Bart erkannt wird, ist die Wahrscheinlichkeit hoch, dass das sich bewegende Objekt der Vater ist. Wenn das sich bewegende Objekt früh am Morgen aktiv ist, ist es noch sicherer, dass das sich bewegende Objekt dem Vater entspricht. Wenn währenddessen ein sich bewegendes Objekt erkannt wird, das eine Brille trägt, besteht die Möglichkeit, dass das sich bewegende Objekt die Mutter ist. Wenn das sich bewegende Objekt einen Bart hat, ist das sich bewegende Objekt weder die Mutter noch der Vater, weswegen die Personenerkennungseinheit 214 bestimmt, dass das sich bewegende Objekt eine neue Person ist, die nicht clusteranalysiert wurde.
  • Die Bildung eines Clusters durch Merkmalsextraktion (Clusteranalyse) und die Anwendung auf eine clusterbegleitende Merkmalsextraktion (Deep-Learning) können gleichzeitig ausgeführt werden.
  • Die Vertrautheit mit einem sich bewegenden Objekt (Benutzer) ändert sich entsprechend der Art der Behandlung des Roboters 100 durch den Benutzer.
  • Der Roboter 100 legt eine hohe Vertrautheit fest für eine häufig angetroffene Person, eine Person, die den Roboter 100 häufig berührt, und eine Person, die häufig mit dem Roboter 100 spricht. Währenddessen nimmt die Vertrautheit für eine selten gesehene Person ab, eine Person, die den Roboter 100 nicht oft berührt, eine gewalttätige Person und eine Person, die mit lauter Stimme schimpft. Der Roboter 100 ändert die Vertrautheit jedes Benutzers auf der Grundlage verschiedener Elemente der Informationen des Außenwinkels, die von den Sensoren erfasst werden (visuell, taktil und akustisch).
  • Der eigentliche Roboter 100 führt autonom eine komplexe Handlungsauswahl entsprechend einer Handlungskarte aus. Der Roboter 100 handelt, während er von mehreren Handlungskarten beeinflusst ist, die auf verschiedenen Parametern wie beispielsweise Einsamkeit, Langeweile und Neugierde basieren. Wenn die Wirkung der Handlungskarten beseitigt ist oder bei einem internen Zustand, bei dem die Wirkung der Handlungskarten gering ist, versucht der Roboter 100 im Wesentlichen, sich einer Person mit hoher Vertrautheit zu nähern, und versucht, sich von einer Person mit niedriger Vertrautheit zu entfernen.
  • Die Handlungen des Roboters 100 sind nachstehend entsprechend der Vertrautheit eingeteilt.
  • Ein Cluster mit extrem hoher Vertrautheit
  • Der Roboter 100 drückt nachdrücklich ein Gefühl der Zuneigung aus, indem er sich einem Benutzer nähert (nachfolgend als „Annäherungshandlung“ bezeichnet) und eine liebevolle Geste ausführt, die im Voraus als eine Geste definiert ist, die Wohlwollen gegenüber einer Person andeutet.
  • Ein Cluster mit vergleichsweise hoher Vertrautheit
  • Der Roboter 100 führt nur eine Annäherungshandlung aus.
  • Ein Cluster mit vergleichsweise niedriger Vertrautheit
  • Der Roboter 100 führt keine besondere Handlung aus.
  • Ein Cluster mit besonders niedriger Vertrautheit
  • Der Roboter 100 führt eine Rückzugshandlung aus.
  • Gemäß dem bisher beschriebenen Steuerungsverfahren nähert sich der Roboter 100 dem Benutzer, wenn er einen Benutzer mit hoher Vertrautheit findet, und entfernt sich umgekehrt vom Benutzer, wenn er einen Benutzer mit niedriger Vertrautheit findet. Gemäß dieser Art von Steuerungsverfahren kann der Roboter 100 durch die Verhaltensweise eine sogenannte „Schüchternheit“ ausdrücken. Wenn ein Besucher (ein Benutzer A mit niedriger Vertrautheit) erscheint, kann sich der Roboter 100 außerdem vom Besucher wegbewegen und auf ein Familienmitglied (ein Benutzer B mit hoher Vertrautheit) zubewegen. In diesem Fall kann Benutzer B wahrnehmen, dass der Roboter 100 schüchtern ist und sich unwohl fühlt und sich auf Benutzer B verlässt. Durch diese Art von Verhaltensausdruck werden bei Benutzer B die Freude, auserwählt zu sein und des sich auf ihn Verlassens, sowie ein damit verbundenes Gefühl der Zuneigung hervorgerufen.
  • Wenn indes der Benutzer A, der ein Besucher ist, den Roboter 100 häufig besucht und mit ihm spricht und ihn berührt, steigt die Vertrautheit des Roboters 100 gegenüber Benutzer A allmählich an, und der Roboter 100 hört auf, eine Schüchternheitshandlung (eine Rückzugshandlung) gegenüber Benutzer A auszuführen. Benutzer A kann auch Zuneigung gegenüber dem Roboter 100 empfinden, indem er wahrnimmt, dass sich der Roboter 100 an Benutzer A gewöhnt hat.
  • Die bisher beschriebene Handlungsauswahl muss nicht unbedingt ständig ausgeführt werden. Wenn beispielsweise ein interner Parameter, der die Neugier des Roboters 100 angibt, hoch ist, wird einer Handlungskarte Gewicht gegeben, aus der ein Ort ermittelt wird, an dem die Neugierde befriedigt wird, weswegen auch eine Möglichkeit besteht, dass der Roboter 100 keine von Vertrautheit beeinflusste Handlung auswählt. Wenn der im Flur installierte Außensensor 114 die Heimkehr eines Benutzers erfasst, kann der Roboter 100 mit maximaler Priorität auch eine Handlung zur Begrüßung des Benutzers ausführen.
  • 7 ist ein strukturiertes Diagramm einer Tabelle zur Auswahl einer Bewegung 180.
  • Die Bewegungsauswahltabelle 180 definiert eine Bewegung, die ausgeführt werden soll, wenn verschiedene Arten von Ereignissen eintreten. Wenn ein Ereignis eintritt, wählt der Roboter 100 eine oder mehrere Bewegungen aus mehreren Bewegungsarten aus. Die Bewegungsauswahltabelle 180 ist sowohl in der Bewegungsspeichereinheit 232 des Servers als auch in der Bewegungsspeichereinheit 160 des Roboters 100 gespeichert. Die Bewegungsauswahltabelle 180 des Servers 200 und die Bewegungsauswahltabelle 180 des Roboters 100 sind miteinander synchronisiert. Ein „Ereignis“ ist im Voraus als ein Ereignis definiert, das einen Auslöser für den Roboter 100 bildet, um eine Bewegung auszuführen. Einstellungsdetails sind willkürlich, z. B. wenn man einen Besitzer visuell erkennt, wenn man von einem Besitzer umarmt wird, wenn man getreten wird, wenn ein lautes Geräusch zu hören ist oder wenn man jemanden für eine bestimmte Zeit oder länger nicht visuell erkennt.
  • Bezugnehmend auf 7 ist eine Auswahlwahrscheinlichkeit mit jeder der Bewegungen (C01) mit einer Bewegung (Cx) für ein Ereignis J1 korreliert. Wenn beispielsweise das Ereignis J1 eintritt, wählt die Vorgangssteuereinheit 222 die Bewegung (C01) nicht aus und wählt die Bewegung (C02) mit einer Wahrscheinlichkeit von 0,1 % aus. Wenn ein Ereignis J2 eintritt, wählt die Vorgangssteuereinheit 222 die Bewegung (C01) mit einer Wahrscheinlichkeit von 0,1 % aus und wählt die Bewegung (C02) mit einer Wahrscheinlichkeit von 0,4 % aus.
  • Während es einfache Ereignisse gibt, die von der Erkennungseinheit 156 des Roboters 100 erkannt werden, gibt es auch komplexe Ereignisse, für die eine Interpretation durch die Personenerkennungseinheit 214 des Servers 200 erforderlich ist. Wenn die Erkennungseinheit 156 des Roboters 100 ein Ereignis erkennt, wählt die Vorgangssteuerungseinheit 150 eine Bewegung durch Bezugnahme auf die Bewegungsauswahltabelle 180 aus und weist den Antriebsmechanismus 120 an, die Bewegung auszuführen. Wenn die Erkennungseinheit 212 des Servers 200 ein Ereignis erkennt, wählt die Vorgangssteuerungseinheit 222 des Servers 200 eine Bewegung durch Bezugnahme auf die in der Bewegungsspeichereinheit 232 gespeicherten Bewegungsauswahltabelle 180 aus und benachrichtigt den Roboter 100 über die Bewegungskennung. Die Vorgangssteuerungseinheit 150 des Roboters 100 weist den Antriebsmechanismus 120 an, eine Bewegung auszuführen, die der mitgeteilten Bewegungskennung entspricht.
  • Eine Auswahlwahrscheinlichkeit in der Bewegungsauswahltabelle 180 muss kein fester Wert sein. Die Vorgangssteuerungseinheit 222 bewirkt, dass sich die Auswahlwahrscheinlichkeit innerhalb eines gewissen Bereichs zufällig ändert. Wenn eine Auswahlwahrscheinlichkeit der Bewegungsauswahltabelle 180 im Server 200 aktualisiert wird, wird die Bewegungsauswahltabelle 180 nach dem Aktualisieren in den Roboter 100 heruntergeladen.
  • Ereignisse werden in positive Ereignisse, negative Ereignisse und neutrale Ereignisse unterteilt. Ein positives Ereignis ist eine angenehme Empfindung, beispielsweise wenn eine angenehme Handlung ausgeführt wird. Insbesondere ist es ein positives Ereignis, wenn man von einem Besitzer gestreichelt wird, wenn bevorzugte Musik gespielt wird, wenn man sich bei hoher Außentemperatur an einen kühlen Ort bewegt oder dergleichen. Ein negatives Ereignis ist ein Ereignis, das mit Unannehmlichkeiten oder Gefahren verbunden ist. Insbesondere ist es ein negatives Ereignis, wenn man einer gewalttätigen Handlung ausgesetzt wird, wenn man ein unangenehmes Geräusch erfasst, wie beispielsweise ein fallender oder zerbrechender Gegenstand, wenn mit einem extrem heißen oder kalten Gegenstand in Berührung kommt oder dergleichen. Ein negatives Ereignis kann auch basierend auf der Erkennung einer Stimme definiert werden, wie z. B. ein Ruf, ein Schrei, eine schrille Stimme oder eine Rüge. Ein neutrales Ereignis ist ein Ereignis, das weder ein positives Ereignis noch ein negatives Ereignis ist.
  • Verschiedene Bewegungen, wie das Starren in die Richtung, in der das Ereignis stattfindet, das Schlagen des Arms 106, das Stoßen gegen einen Gegenstand, der eine Quelle des stattfindenden Ereignisses ist, oder das Steuern des Körpers in die Richtung, in der das Ereignis stattfindet, können als Reaktion auf jedes Ereignis definiert werden.
  • 8 ist ein Datenstrukturdiagramm einer Auswahltabelle für geplante Wege 162.
  • Die Auswahltabelle für geplante Wege 162 definiert einen geplanten Weg, der ausgewählt werden soll, wenn verschiedene Arten von Ereignissen eintreten. Wenn ein Ereignis, insbesondere ein negatives Ereignis, eintritt, bewegt sich der Roboter 100 nach Ausführung einer dem Ereignis entsprechenden Bewegung entlang eines geplanten Weges. Wenn der Roboter beispielsweise einer gewalttätigen Handlung (einem negativen Ereignis) ausgesetzt ist, flieht er vor der Person, die die gewalttätige Handlung begeht (dem Ursprung des stattfindenden Ereignisses). Diese Fluchtroute ist ebenfalls eine Art geplanter Weg. Wenn ein Ereignis stattfindet, wählt der Roboter 100 einen geplanten Weg aus einem oder mehreren geplanten Wegen aus.
  • Insbesondere ist als Reaktion auf ein negatives Ereignis oft eine sofortige Bewegung erforderlich. Beim Erkennen eines negativen Ereignisses, wie beispielsweise Unannehmlichkeiten oder Gefahren, versucht ein Lebewesen, sich sofort von der Gefahr weg zu bewegen. Im Falle des Roboters 100 besteht die Möglichkeit, dass beim Berechnen einer Fluchtroute nach dem Erkennen eines negativen Ereignisses eine Verzögerung einer Handlung eintritt. Die Ausführungsform ist dergestalt, dass statt des Berechnens einer Bewegungsroute, die einem Ereignis nach Eintreten des Ereignisses entspricht, eine oder mehrere Bewegungsrouten (geplante Wege) im Voraus berechnet werden, bevor ein Ereignis eintritt, wodurch eine sofortige Bewegung bei Eintreten eines Ereignisses realisiert wird.
  • Ein geplanter Weg unterscheidet sich in Abhängigkeit davon, welche Art von Ereignis eintritt und wo und wo sich der Roboter 100 zu diesem Zeitpunkt befindet. In der in 8 gezeigten Auswahltabelle für geplante Wege 162 sind R1 bis R3 als geplante Wege festgelegt, wenn sich der Roboter 100 auf einer Positionskoordinate Q1 befindet, und das Ereignis J1 tritt in einer kurzen Entfernung von E1m oder weniger von Q1 und in einer D1-Richtung (z. B. einer vorderen rechten Richtung) vom Roboter 100 aus gesehen auf. Diese geplanten Wege werden berechnet, bevor das Ereignis J1 tatsächlich eintritt. Wenn das Ereignis J1 tatsächlich eintritt, wählt die Vorgangssteuerungseinheit 150 einen der geplanten Wege R1 bis R3 aus und veranlasst den Roboter 100, sich entlang des ausgewählten geplanten Weges zu bewegen. Die Auswahlwahrscheinlichkeiten können für mehrere geplante Wege festgelegt werden.
  • Im Folgenden wird eine Ereigniseintrittssituation, in der das Ereignis J1 in einer kurzen Entfernung von E1m oder weniger von Q1 und in der D1-Richtung aus Sicht des Roboters 100 eintritt, wenn sich der Roboter 100 an der Positionskoordinate Q1 befindet, als „Q1, (J1, E1, D1)“ beschrieben.
  • Die Wegerzeugungseinheit 172 des Roboters 100 erzeugt nacheinander geplante Wege für verschiedene Ereignisse. Auf die gleiche Weise erzeugt die Wegerzeugungseinheit 242 des Servers 200 ebenfalls nacheinander geplante Wege. Beispielsweise kann eine Konfiguration dergestalt sein, dass vor dem tatsächlichen Eintreten der Ereigniseintrittssituation „Q1, (J1, E1, D1)“ die Wegerzeugungseinheit 172 des Roboters 100 den geplanten Weg R1 entsprechend der Ereigniseintrittssituation erzeugt und die Wegerzeugungseinheit 242 des Servers 200 einen geplanten Weg R4 für eine unterschiedliche Ereigniseintrittssituation „Q1, (J1, E1, D2)“ erzeugt. In diesem Fall überträgt die Wegerzeugungseinheit 172 des Roboters 100 eine Anweisung, einen geplanten Weg für die Ereignissituation „Q1, (J1, E1, D1)“ zu erzeugen (nachfolgend „Wegerzeugungsanweisung“ genannt), zu dem Server 200. Beim Empfang einer Wegerzeugungsanweisung als einer Bedingung erzeugt der Server 200 einen geplanten Weg, der der in der Wegerzeugungsanweisung angegebenen Ereigniseintrittssituation entspricht. Die Wegerzeugungseinheit 242 des Servers 200 aktualisiert die geplanten Wege und die Auswahltabelle für geplante Wege der Speichereinheit für geplante Wege 224, und die Wegbenachrichtigungseinheit 240 benachrichtigt den Roboter 100 über den erzeugten geplanten Weg R4.
  • Der Roboter 100 kann den geplanten Weg R1 selbst erzeugen und die Wegerzeugungsanweisungen für die geplanten Wege R2 und R3 zu dem Server 200 übertragen. Eine Konfiguration kann dergestalt sein, dass nur die Wegerzeugungseinheit 172 des Roboters 100 einen geplanten Weg berechnet, oder dergestalt, dass nur die Wegerzeugungseinheit 242 des Servers 200 einen geplanten Weg berechnet. Es ist ausreichend, dass die Berechnung des geplanten Weges entsprechend den Verarbeitungslasten des Roboters 100 und des Servers 200 aufgeteilt wird.
  • In der Ausführungsform wird eine Beschreibung unter der Annahme gegeben, dass ein geplanter Weg basierend auf einer Handlungskarte von der Wegerzeugungseinheit 242 des Servers 200 erzeugt wird und ein einfacher geplanter Weg, der keine Handlungskarte verwendet, von der Erkennungseinheit für sichere Bereiche 152 des Roboters 100 erzeugt wird.
  • Verschiedene Bewegungsverfahren, wie beispielsweise wohin sich bewegen, auf welcher Art von Route sich entlang bewegen, ob sich zügig bewegen und ob sich langsam bewegen, sind in den Daten geplanter Wege definiert. Außerdem kann eine Bewegung festgelegt werden, die gleichzeitig ausgeführt werden sollte, wenn sich entlang eines geplanten Weges bewegt wird. Beispielsweise können verschiedene Bewegungen, wie das Entfliehen mit erhobenen Armen 106 oder das Spurten nach einem geringfügigen Rückzug, festgelegt werden.
  • 9 ist eine schematische Ansicht, die ein Erzeugungsverfahren für geplante Wege zeigt.
  • 9 zeigt die Ereigniseintrittssituation „Q1, (J1, E1, D1)“. Die geplanten Wege R1 bis R3 werden als Reaktion auf diese Situation erzeugt (siehe 8). Der geplante Weg R1 ist eine einfache Route, die keine Handlungskarte berücksichtigt, um geradeaus in eine Richtung zu entkommen, die der eines Ereigniseintrittspunktes S1 entgegengesetzt ist. Wenn sich in dem geplanten Weg R1 ein Hindernis befindet, bewegt sich der Roboter 100 so, dass er sich einen vorbestimmten Abstand oder mehr von der Quelle des eintretenden Ereignisses weg bewegt und dabei einen Vorgang zur Umgehung des Hindernisses durchführt. Der geplante Weg R2 ist eine Bewegungsroute, die sich vom Ereigniseintrittspunkt S1 entfernt und dabei einen vorbestimmten Abstand oder mehr zu einem unerwünschten Punkt P2 einhält. Der geplante Weg R3 ist eine Bewegungsroute, die zu einem am nächstgelegenen bevorzugten Punkt P1 führt.
  • Die Wegerzeugungseinheit 172 des Roboters 100 erzeugt den geplanten Weg R1. Da der geplante Weg R1 einfach ist, kann der geplante Weg R1 im Voraus als Bewegungsroute festgelegt werden, die beim Eintreten eines negativen Ereignisses unveränderlich ausgewählt werden kann. Der geplante Weg wird von der Wegerzeugungseinheit 242 des Servers 200 erzeugt. Die Wegerzeugungseinheit 242 bezieht sich auf eine Handlungskarte wie die Emotionskarte 116 und erzeugt eine Bewegungsroute, die den unerwünschten Punkt P2 vermeidet. Nachdem beispielsweise eine Bedingung so festgelegt wurde, dass der Roboter 100 nicht innerhalb eines vorbestimmten Bereichs vom unerwünschten Punkt P2 eindringt, legt die Wegerzeugungseinheit 242 den geplanten Weg R2 in eine Richtung fest, die den Abstand vom Ereigniseintrittspunkt vergrößert. Der geplante Weg R3 wird ebenfalls von der Wegerzeugungseinheit 242 des Servers 200 erzeugt. Die Wegerzeugungseinheit 242 bezieht sich auf eine Handlungskarte und erzeugt eine Bewegungsroute, die sich vom Ereigniseintrittspunkt S1 weg bewegt und zum bevorzugten Punkt P1 führt, der dem aktuellen Punkt Q1 am nächsten liegt, wie der geplante Weg R3. Der geplante Weg R3 wird nach Abschluss der Erzeugung des geplanten Weges R2 erzeugt.
  • Die Wegerzeugungseinheit 172 des Roboters 100 erzeugt den geplanten Weg R1 und überträgt eine Wegerzeugungsanweisung zu der Wegerzeugungseinheit 242 des Servers 200. Die Wegerzeugungseinheit 242 erzeugt zunächst den geplanten Weg R2 und dann den geplanten Weg R3. Der Roboter 100 wird vom Server 200 der Reihe nach über die geplanten Wege R2 und R3 benachrichtigt. Infolgedessen werden die geplanten Wege in der Reihenfolge R1, R2 und R3 erzeugt.
  • Wenn das Ereignis J1 eintritt, wenn nur der geplante Weg R1 erzeugt wurde, veranlasst die Vorgangssteuerungseinheit 150 des Roboters 100 den Roboter 100, sich entlang des geplanten Weges R1 zu bewegen. Wenn das Ereignis J1 eintritt, wenn sowohl der geplante Weg R1 als auch der geplante Weg R2 erzeugt wurden, wählt die Vorgangssteuerungseinheit 150 des Roboters 100 nach dem Zufallsprinzip den geplanten Weg R1 oder den geplanten Weg R2 aus. Wenn das Ereignis J1 nach dem Erzeugen der geplanten Wege R1 bis R3 eintritt, wählt die Vorgangssteuerungseinheit 150 des Roboters 100 nach dem Zufallsprinzip einen der geplanten Wege R1 bis R3 aus.
  • Gemäß dieser Art von Steuerungsverfahren werden mehrere geplante Wege erzeugt, bevor die Ereigniseintrittssituation „Q1,(J1,E1,D1)“ eintritt, was bedeutet, dass beim tatsächlich Eintreten des Ereignisses J1 ein geplanter Weg aus den geplanten Wegen ausgewählt wird, die am Ort des Eintretens ausgewählt werden können. Es ist ausreichend, dass der Roboter 100 und der Server 200 geplante Wege nach Bedarf als einen Hintergrundprozess mit niedriger Ausführungspriorität erzeugen.
  • Die geplanten Wege R2 und R3, die den bevorzugten Punkt P1 und den unerwünschten Punkt P2 berücksichtigen, werden vom Server 200 unter Bezugnahme auf eine Handlungskarte erzeugt.
  • In einem modifizierten Beispiel kann eine Handlungskarte auch in den Roboter 100 heruntergeladen werden. In diesem Fall kann der Roboter 100 auch die geplanten Wege R2 und R3 basierend auf der Handlungskarte erzeugen. Zusätzlich zum Wegbewegen vom Ereigniseintrittspunkt S1 können außerdem im Roboter 100 auch verschiedene geplante Wege erzeugt werden, die nicht auf einer Handlungskarte basieren, wie beispielsweise das Umkreisen des aktuellen Punktes Q1 oder das Annähern an den Ereigniseintrittspunkt S1 und das Beobachten.
  • Außerdem kann eine Konfiguration dergestalt sein, dass zuerst ein geplanter Weg berechnet wird, der einfach ist und eine kurze Berechnungsverarbeitungszeit aufweist, und ein komplexer geplanter Weg, der eine Handlungskarte berücksichtigt, später berechnet wird. In diesem Fall, wenn mehrere geplante Wege beim Eintreten eines Ereignisses bereits berechnet sind, kann ein spätester, oder in anderen Worten, ein komplexester geplanter Weg verwendet werden.
  • Durch das Erzeugen von mehreren geplanten Wegen im Voraus, die einer bestimmten Ereigniseintrittssituation entsprechen, kann das Reaktionsverhalten des Roboters 100 bezüglich des Ereignisses variiert werden. Außerdem kann durch das Erzeugen eines geplanten Weges basierend auf einer Handlungskarte ein geplanter Weg basierend auf den Verhaltensmerkmalen des Roboters 100 erzeugt werden.
  • Der Server 200 erzeugt nacheinander mehrere Arten von Ereigniseintrittssituationen und insbesondere verschiedene geplante Wege, die mehreren Arten von Ereignissen entsprechen. Der Roboter 100 wird über einen erzeugten geplanten Weg in einer Phase benachrichtigt, in der das Ereignis noch eintreten soll. Gemäß dieser Art von Steuerungsverfahren kann sich der Roboter 100 auf ein Ereignis vorbereiten, das in der Zukunft eintreten könnte.
  • Der Server 200 kann einen geplanten Weg unter der Bedingung erzeugen, dass eine Wegerzeugungsanweisung empfangen wird, und selbst wenn keine Wegerzeugungsanweisung empfangen wird, kann der Server 200 geplante Wege entsprechend verschiedenen Ereignissituationen erzeugen und die Speichereinheit für geplante Wege 154 des Roboters 100 veranlassen, die geplanten Wege nach Bedarf aufzuzeichnen.
  • Es gibt auch einen Fall, in dem ein geplanter Weg als Route zum Verstecken an einem sicheren Punkt erzeugt wird. Ein sicherer Punkt ist ein Ort, an dem der Roboter 100 leicht zu schützen ist, beispielsweise in der Nähe eines Besitzers, hinter einer Wand, hinter einem Sofa, ein kleiner Raum wie ein Badezimmer oder eine Toilette oder ein Ort mit einer oberen Begrenzung, beispielsweise unter einem Schreibtisch oder einem Tisch. Die Kartenspeichereinheit 216 des Servers 200 speichert eine Karte, in der die Positionskoordinaten eines sicheren Punktes vorab registriert werden. Die Wegerzeugungseinheit 242 des Servers 200 kann ebenfalls einen geplanten Weg erzeugen, der einen nächstgelegenen sicheren Punkt als Bewegungszielpunkt aufweist.
  • Der Roboter 100 kann selbst nach einem sicheren Punkt suchen. Die Erkennungseinheit für sichere Bereiche 152 des Roboters 100 erkennt einen Punkt, der eine vorbestimmte Sicherheitsbedingung erfüllt, als „sicheren Punkt“. Insbesondere ist ein sicherer Punkt ein Ort, an dem es eine „obere Begrenzung“ gibt, wie unter einem Tisch, ein Ort, an dem es einen „freundlichen Besitzer“ gibt, dessen Vertrautheit einen vorbestimmten Wert aufweist oder überschreitet, ein dunkler Ort wie hinter einem Sofa, ein Ort, an dem drei Richtungen oder mehr von Wänden umgeben sind, wie ein Badezimmer oder dergleichen. Der Roboter 100 erkennt einen Ort, an dem eine Sicherheitsbedingung erfüllt ist, indem er einen Eigentümer, eine obere Begrenzung oder eine Wand mithilfe des internen Sensors 128, insbesondere der Kamera, erkennt. Wenn ein Ort gefunden wird, der zu einem Zeitpunkt des normalen Verhaltens eine Sicherheitsbedingung erfüllt, benachrichtigt die Erkennungseinheit für sichere Bereiche 152 den Server 200. Die Kartenverwaltungseinheit 210 des Roboters 100 registriert die Positionskoordinaten des Roboters 100 am Punkt der Benachrichtigung als sicheren Punkt.
  • Wie bereits beschrieben, führt der Roboter 100 bei Eintreten eines Ereignisses eine dem Ereignis entsprechende Bewegung aus. Anschließend bewegt sich der Roboter 100 sofort entlang eines geplanten Weges. Wenn zum Beispiel ein lautes explosives Geräusch zu hören ist, können die Verhaltensmerkmale des Ausführens von vor Schrecken erschaudern, dann sofort von der Geräuschquelle zu entfliehen, ausgedrückt werden. Eine Bewegung kann während des sich Bewegens entlang eines geplanten Weges ausgeführt werden. Beispielsweise kann ein Verhaltensausdruck des langsamen Entfliehens beim Betrachten der Quelle des eintretenden Ereignisses realisiert werden.
  • 10 ist eine schematische Ansicht, die ein während der Bewegung vorgesehenes Ereignis und einen geplanten Weg darstellt, der dem Ereignis entspricht.
  • In 10 legt der Roboter 100 die normale Bewegung (einen Ausführungsweg) von einem Startpunkt Qs zu einem Endpunkt Qe fest. Diese kann eine Bewegung sein, weil Qe ein bevorzugter Punkt ist, oder eine Bewegung, um sich von Qs wegzubewegen, weil eine Umgebung von Qs zu einem unerwünschten Punkt geworden ist. Es besteht die Möglichkeit, dass während der Bewegung verschiedene Ereignisse eintreten. Es befindet sich einen Fernseher an einer Koordinate S3, und es besteht die Möglichkeit, dass ein Ereignis eines „lauten Geräusches“ eintritt, das durch den Fernseher verursacht wird. Es befindet sich ein Kind an einer Koordinate S4, und das Kind kann ein „lautes Geräusch“ verursachen, das abgegeben wird, oder eine gewalttätige Handlung am Roboter 100 begehen.
  • Für ein Ereignis wird im Voraus eine Prioritätsreihenfolge festgelegt. Es ist ausreichend, dass die Prioritätsreihenfolge bei der Konzeption zunächst willkürlich festgelegt wird, basierend auf der Häufigkeit des Auftretens und der Bedeutung. Hierin wird angenommen, dass es das Ereignis J3 gibt, das an der Koordinate S3 eintreten kann, und das Ereignis J4 gibt, das an der Koordinate S4 eintreten kann, und dass die Prioritätsreihenfolge des Ereignisses J3 höher ist als die des Ereignisses J4. In diesem Fall berechnet das Robotersystem 300 einen geplanten Weg mit dem Ereignis J3 als Ziel, bevor es einen geplanten Weg mit dem Ereignis J4 als Ziel berechnet.
  • Der Roboter 100 oder der Server 200 berechnet zunächst einen geplanten Weg, der dem Ereignis J3 entspricht. Beispielsweise berechnet der Roboter 100 oder der Server 200 einen geplanten Weg, der einer Ereigniseintrittssituationen „Qm, (J3, E1, D3)“ entspricht. Hierin ist Qm ein Transitpunkt zwischen Qs und Qe. Nach dem Abschluss der Berechnung kann der Roboter 100 oder der Server 200 einen geplanten Weg berechnen, der einer anderen Ereigniseintrittssituationen „Qm, (J3, E1, D4)“ oder „Qm, (J4, E1, D2)“ entspricht. Auf diese Weise werden mehrere geplante Wege erzeugt, die verschiedenen Situationen entsprechen, wodurch auf eine Situation vorbereitet wird, in der das Ereignis J3 oder J4 tatsächlich eintritt. Je größer die Anzahl der geplanten Wege, die bereits erzeugt wurden, desto vielfältiger kann der einem Ereignis entsprechende Verhaltensausdruck sein.
  • 11 ist ein Flussdiagramm, das einen Fluss eines Erzeugungsverfahrens eines geplanten Weges darstellt.
  • Das Erzeugungsverfahren eines geplanten Weges wird sowohl vom Roboter 100 als auch vom Server 200 ausgeführt. Hierin wird eine Beschreibung mit der Wegerzeugungseinheit 242 des Servers 200 als Gegenstand gegeben, aber das Gleiche gilt für die Wegerzeugungseinheit 172 des Roboters 100. Da die Ausführungspriorität des Erzeugungsverfahrens eines geplanten Weges des Servers 200 gering ist, wird das Verfahren in einem Zeitband ausgeführt, in dem die Verarbeitungslast des Servers 200 gering ist. Das Erzeugungsverfahren eines geplanten Weges kann regelmäßig oder jedes Mal dann ausgeführt werden, wenn sich der Roboter 100 eine vorbestimmte Entfernung bewegt.
  • Die Wegerzeugungseinheit 242 wählt die Positionskoordinaten des Roboters 100 aus, wenn ein Ereignis eintritt (S10). Wenn sich der Roboter 100 bewegt oder vorgesehen ist, dass es sich bewegt, identifiziert die Wegerzeugungseinheit 242 mehrere Kandidatenpunkte, an denen der Roboter 100 zukünftig positioniert werden kann, und wählt einen der Kandidatenpunkte als Berechnungsziel aus. Als Nächstes wählt die Wegerzeugungseinheit 242 aus mehreren Ereignisarten ein Ereignis aus, das als Berechnungsziel dienen soll (S12). Es ist ausreichend, dass Ereignisse nacheinander auf der Grundlage der Prioritätsreihenfolge ausgewählt werden, wie bereits beschrieben. Die Wegerzeugungseinheit 242 wählt einen Punkt aus den Punkten aus, an denen ein Ereignis eintreten kann (S14). Wie in Bezug auf 8 und 9 beschrieben, wird ein Punkt, an dem ein Ereignis eintreten kann, aus mehreren Entfernungsbereichen (beispielsweise zwei Arten, bei denen es sich um „kleiner als E1“ und „E1 oder größer, kleiner als E2“ handelt) und mehreren Richtungen (beispielsweise acht Richtungen, bei denen es sich um D1 bis D8 handelt) ausgewählt.
  • Die Wegerzeugungseinheit 242 erzeugt einen geplanten Weg, der einer Ereigniseintrittssituationen entspricht, die wie bereits beschrieben identifiziert wurde (S16). Der geplante Weg ist dergestalt, dass nach der Wahl, ob man sich vom Ereigniseintrittspunkt wegbewegt, mehrere Parameter wie ein Bewegungszielpunkt und eine Bewegungsgeschwindigkeit zufällig ausgewählt werden und eine Route festgelegt wird, wobei das Vorhandensein einer Handlungskarte oder eines Innenraumhindernisses berücksichtigt wird. Eine Kombination aus mehreren Bewegungsverfahren wie beispielsweise Kreisen, Mäandern und direktes Vorankommen kann nach dem Zufallsprinzip als Art der Annäherung an den Bewegungszielpunkt ausgewählt werden. Die Daten über den erzeugten geplanten Weg werden in der Speichereinheit für geplante Wege 224 registriert und die Wegerzeugungseinheit 242 aktualisiert die Auswahltabelle für geplante Wege 162 (S18). Außerdem kann die Wegerzeugungseinheit 242 einen geplanten Weg, der in der Vergangenheit berechnet wurde, aber nicht mehr benötigt wird, aus der Auswahltabelle für geplante Wege 162 löschen. Die Informationen in der Speichereinheit für geplante Wege 224 werden nach Bedarf in der Speichereinheit für geplante Wege 154 des Roboters 100 durch die Wegbenachrichtigungseinheit 240 widergespiegelt.
  • 12 ist ein Flussdiagramm, das einen Prozess zeigt, wenn ein Ereignis eintritt.
  • Der in 12 gezeigte Prozess wird im Roboter 100 ausgeführt. Wenn ein Ereignis eintritt, wählt die Vorgangssteuerungseinheit 150 des Roboters 100 eine Bewegung durch Bezugnahme auf die Bewegungsauswahltabelle 180 (S20) aus und veranlasst den Antriebsmechanismus 120, die ausgewählte Bewegung auszuführen (S22). Wenn ein oder mehrere geplante Wege, die der eingetretenen Ereigniseintrittssituation entsprechen, bereits erzeugt worden sind (Y in S24), wählt die Vorgangssteuerungseinheit 150 einen geplanten Weg aus (S26) und veranlasst durch Anweisung des Antriebsmechanismus 120, dass die Bewegung entlang des geplanten Weges ausgeführt wird (S28). Wenn unterdessen kein geplanter Weg, der der Ereigniseintrittssituationen entspricht, erzeugt worden ist (N in S24), veranlasst die Vorgangssteuerungseinheit 150 den Roboter 100, sich um eine vorbestimmte Entfernung in eine Richtung direkt weg von der Quelle des eintretenden Ereignisses zu bewegen (S30). Auf diese Weise kann eine einfache Bewegung entsprechend einem Ereigniseintritt auch dann ausgeführt werden, wenn eine Ereigniseintrittssituation eintritt, für die kein geplanter Weg erzeugt wurde. Der Roboter 100 kann dazu veranlasst, sich entlang eines geplanten Weges zu bewegen, ohne eine Bewegung auszuführen, die einem Ereignis entspricht.
  • Bisher wurden der Roboter 100 und das Robotersystem 300 einschließlich des Roboters 100 auf der Grundlage der Ausführungsform beschrieben.
  • Der Roboter 100 führt eine Handlungsauswahl durch, die nicht mithilfe einer oder mehrerer Handlungskarten nachgebildet werden kann, und die schwer vorherzusagen und tierähnlich ist. Wie bei einem Lebewesen ändert sich das Verhalten des Roboters 100 nicht nur entsprechend einer Handlungskarte, sondern auch entsprechend verschiedener Arten von Ereignissen. In der Ausführungsform bewegt sich der Roboter 100 nach dem Ausführen einer einem Ereignis entsprechenden Bewegung entlang eines geplanten Weges. Gemäß dieser Art von Steuerungsverfahren kann das Verhalten des überraschten Fliehens beim Erkennen eines gefährlichen oder unangenehmen Ereignisses ausgedrückt werden.
  • Dadurch, dass ein geplanter Weg sowohl vom Server 200 als auch vom Roboter 100 berechnet wird, kann eine Rechenlast des Roboters 100 verringert werden. Der Server 200 kann alle geplanten Wege berechnen. Geplante Wege werden unter Voraussehen verschiedener Ereigniseintrittssituationen erzeugt und gesammelt, und der Roboter 100 wird veranlasst, sich entlang eines geplanten Weges zu bewegen, wenn ein Ereignis eintritt, wodurch eine sofortige Handlung als Reaktion auf ein Ereignis realisiert werden kann. Außerdem ist durch das Erzeugen mehrerer geplanter Wege bezüglich einer bestimmten Ereigniseintrittssituation eine Reaktion des Roboters 100 auf das gleiche Ereignis verschiedenartig.
  • Da es nicht notwendig ist, vor dem Eintritt eines Ereignisses eine große Anzahl von geplanten Wegen im Voraus zu erzeugen, genügt es, mehrere geplante Wege nacheinander zu erzeugen, wenn die Last entsprechend der Rechenlastsituation gering ist. Ferner wird ein geplanter Weg aus den bereits erzeugten geplanten Wegen an einem Punkt, an dem ein Ereignis eintritt, ausgewählt. Gemäß dieser Art von Steuerungsverfahren sind Verhaltensvielfalt und sofortige Reaktion ausgeglichen.
  • Durch Erzeugen eines geplanten Weges, der einen sicheren Punkt als einen Bewegungszielpunkt aufweist, können beim Verspüren von Gefahren Verhaltensmerkmale der Zuflucht an einem sicheren Ort realisiert werden. Der Roboter 100 kann auch einen sicheren Punkt finden, der eine Sicherheitsbedingung zu einem Zeitpunkt des normalen Verhaltens erfüllt. Die Kartenverwaltungseinheit 210 kann diese Art von sicherem Punkt als „einen Ort, der ein Gefühl der Leichtigkeit vermittelt“, in einer Handlungskarte registrieren. In diesem Fall können Verhaltensmerkmale des Bevorzugens eines sicheren Punktes realisiert werden.
  • Da die Erfindung nicht auf die bisher beschriebene Ausführungsform oder ein modifiziertes Beispiel beschränkt ist, können Komponenten geändert oder ausgeführt werden, ohne vom Umfang der Offenbarung abzuweichen. Verschiedene Erfindungen können durch mehrere der in der bisher beschriebenen Ausführungsform oder dem modifizierten Beispiel offenbarten Komponenten ausgebildet sein, die gegebenenfalls kombiniert sind. Außerdem können einige Komponenten aus der in der bisher beschriebenen Ausführungsform gezeigten Gesamtheit oder dem modifizierten Beispiel entfernt sein.
  • Obwohl eine Beschreibung gegeben wurde, die davon ausgeht, dass das Robotersystem 300 aus einem Roboter 100, einem Server 200 und mehreren externen Sensoren 114 konfiguriert ist, kann ein Teil der Funktionen des Roboters 100 durch den Server 200 realisiert sein, und ein Teil oder alle Funktionen des Servers 200 können dem Roboter 100 zugeteilt sein. Ein Server 200 kann mehrere Roboter 100 steuern, oder mehrere Server 200 können einen oder mehrere der Roboter 100 in Zusammenarbeit steuern.
  • Eine von dem Roboter 100 und dem Server 200 verschiedene dritte Vorrichtung kann einen Teil der Funktionen verwalten. Eine Sammlung der Funktionen des Roboters 100 und der in 7 beschriebenen Funktionen des Servers 200 kann auch umfassend als ein „Roboter“ verstanden werden. Es genügt, dass ein Verfahren zum Verteilen der mehreren Funktionen, die zur Realisierung der Erfindung bezüglich eines oder mehrerer Hardwareelemente erforderlich sind, unter Berücksichtigung der Verarbeitungsfähigkeit jedes Hardwareelements, der für das Robotersystem 300 erforderlichen Spezifikationen und dergleichen bestimmt wird.
  • Wie bereits beschrieben, ist „der Roboter im engeren Sinne“ der Roboter 100 mit Ausnahme des Servers 200, aber „der Roboter im weiteren Sinne“ ist das Robotersystem 300. Es wird angenommen, dass eine Möglichkeit besteht, dass zukünftig viele Funktionen des Servers 200 im Roboter 100 integriert sind.
  • Der Roboter 100 kann einen einfachen geplanten Weg berechnen, und ein komplexer geplanter Weg kann vom Server 200 berechnet werden. Beispielsweise können ein geplanter Weg, der zu einem sicheren Punkt führt, und ein geplanter Weg, der auf einer Handlungskarte basiert, vom Server 200 berechnet werden. Die Berechnung des geplanten Weges durch den Roboter 100 und die Berechnung des geplanten Weges durch den Server 200 können gleichzeitig ausgeführt werden. Eine Konfiguration kann dergestalt sein, dass der Roboter 100 eine Ereigniseintrittssituation identifiziert und den Server 200 über eine Ereigniseintrittssituation benachrichtigt, für die der Roboter 100 wünscht, dass ein geplanter Weg berechnet wird, und der Server 200 einen entsprechenden geplanten Weg berechnet.
  • Der Roboter 100 kann die Berechnung des geplanten Weges aktiv an den Server 200 übertragen, wenn die Rechenlast des Roboters 100 hoch ist oder wenn eine vom Prozessor 122 erzeugte Wärmemenge groß ist. Außerdem muss sich der Roboter 100 als Reaktion auf ein Ereignis nicht immer bewegen. Wenn beispielsweise ein Geräusch eines Aufpralls aus der Ferne zu hören ist, kann eine „Überraschung“ verhaltensmäßig dadurch ausgedrückt werden, dass an der Stelle starr verharrt wird.
  • Nicht nur das einfache Entfliehen vor einem negativen Ereignis, sondern auch verschiedene geplante Wege können festgelegt werden, wie beispielsweise ein langsames ein wenig Annähern vor einem sich Entfernen mit hoher Geschwindigkeit, oder das Umkreisen der Quelle eines eintretenden Ereignisses. Außerdem kann ein geplanter Weg nicht nur für ein negatives Ereignis, sondern auch für ein positives Ereignis im Voraus erzeugt werden. Wenn beispielsweise ein Eigentümer auch nach Hause kommt, können verschiedene geplante Wege vorbereitet sein, beispielsweise der Weg direkt in den Flur, das Warten vor dem Flur oder das Verstecken in der Küche.
  • Eine Ereignisprioritätsreihenfolge kann bei der Konzeption des Robotersystems 300 beliebig festgelegt werden. Von mehreren Arten von Ereignissen, die im Voraus definiert wurden, kann die Wegerzeugungseinheit 242 des Servers 200 die Prioritätsreihenfolge eines Ereignisses in Bezug auf eine Person, insbesondere eines Ereignisses in Bezug auf einen Eigentümer mit hoher Vertrautheit, als hoch festlegen. Die Wegerzeugungseinheit 242 kann eine hohe Prioritätsreihenfolge für ein Ereignis festlegen, das in der Vergangenheit in einem vorbestimmten Zeitraum häufig eingetreten ist. Durch die Festlegung einer Prioritätsreihenfolge für ein Ereignis kann eine Berechnungsressource zur Berechnung des geplanten Weges mit Schwerpunkt auf einem wichtigen Ereignis verteilt werden.
  • Die Wegerzeugungseinheit 242 kann einen einmal berechneten geplanten Weg nach Ablauf einer vorbestimmten Zeit löschen.
  • Der Server 200 kann mehrere Roboter 100 gleichzeitig steuern. Die Wegerzeugungseinheit 242 des Servers 200 erzeugt einen individuell geplanten Weg entsprechend einer Handlungskarte oder der Vertrautheit von jedem Roboter 100. Wenn beispielsweise ein Ereignis „ein Objekt fällt und bricht“ eintritt, kann ein erster Roboter 100A hinter den Vater flüchten und ein zweiter Roboter 100B kann sich hinter ein Sofa flüchten.
  • Zusätzlich zu einer Handlungskarte oder Vertrautheit kann ein geplanter Weg auf der Grundlage verschiedener Parametern wie der Robotergröße oder Bewegungsgeschwindigkeit berechnet werden. Verschiedene Verhaltensweisen, die eine Individualität des Roboters 100 widerspiegeln, wie beispielsweise eine Persönlichkeit, die von einem negativen Ereignis wahrscheinlich nicht betroffen ist, oder eine schüchterne Persönlichkeit, die sofort an einen sicheren Ort flüchtet, können ausgedrückt werden.
  • Das Robotersystem 300 muss keine Berechnungsfunktion für geplante Wege, eine Erkennungsfunktion für sichere Punkte oder dergleichen bereits zum Zeitpunkt des Versands vom Werk beinhalten. Nach der Auslieferung des Robotersystems 300 kann die funktionale Aufrüstung des Robotersystems 300 durch Herunterladen eines Verhaltenssteuerungsprogramms realisiert werden, das die Berechnungsfunktion für geplante Wege und dergleichen über ein Kommunikationsnetzwerk realisiert.
  • In der Ausführungsform wurde eine Beschreibung gegeben, unter der Annahme, dass die Vorgangssteuerungseinheit 222 des Servers 200 oder die Vorgangssteuerungseinheit 150 des Roboters 100 einen Ausführungsweg erzeugt. Als geändertes Beispiel kann eine Konfiguration dergestalt sein, dass die Wegerzeugungseinheit 242 des Servers 200 oder die Wegerzeugungseinheit 172 des Roboters 100 nicht nur einen geplanten Weg, sondern auch einen Ausführungsweg erzeugt und die Vorgangssteuerungseinheit 222 oder dergleichen den erzeugten Ausführungsweg auswählt.
  • Zusätzliches Beispiel
  • Die Wegerzeugungseinheit 242 des Servers 200 oder die Wegerzeugungseinheit 172 des Roboters 100 erzeugt Daten geplanter Wege und registriert die Daten geplanter Wege in der Auswahltabelle für geplante Wege 162. Wenn ein Ereignis eintritt, legt die Vorgangssteuerungseinheit 150 einen Bewegungszielpunkt gemäß den Daten geplanter Wege fest. Die Erkennungseinheit 156 filmt mithilfe der Kamera die Umgebung und erkennt dadurch ein Hindernis, das sich innerhalb einer optisch erkennbaren kurzen Distanz befindet. Ein „Hindernis“ wird als ein Objekt bestimmt, das eine vorgegebene Höhe aufweist. Wenn ein Hindernis in einem geplanten Weg erkannt wird, berechnet die Wegerzeugungseinheit 172 einen neuen geplanten Weg zum Erreichen des Bewegungszielpunktes unter Vermeidung des Hindernisses. Wenn ein Hindernis entdeckt wird, wenn sich der Roboter 100 entlang eines Ausführungsweges (normale Bewegungsroute) bewegt, erzeugt die Vorgangssteuerungseinheit 150 auf die gleiche Weise einen neuen Ausführungsweg, der das Hindernis vermeidet.
  • Außerdem erkennt die Erkennungseinheit für sichere Bereiche 152 regelmäßig einen sicheren Punkt auf der Grundlage eines von der Kamera aufgenommenen Bildes. Die Erkennungseinheit für sichere Bereiche 152 registriert einen sicheren Punkt innerhalb eines vorbestimmten Bereichs des aktuellen Punktes des Roboters 100 in einer Liste (nachfolgend „Liste sicherer Punkte“ genannt) und aktualisiert die Liste sicherer Punkte bei Bedarf begleitend zur Bewegung des Roboters 100. Nicht nur ein von der Erkennungseinheit für sichere Bereiche 152 neu erkannter sicherer Punkt, sondern auch ein vorab in einer Karte registrierter sicherer Punkt sind in die Liste sicherer Punkte aufgenommen. In einem zusätzlichen Beispiel werden maximal fünf sichere Punkte in der Reihenfolge der Nähe zum Roboter 100 in der Liste sicherer Punkte registriert. Die Liste sicherer Punkte ist eine Liste der nächstgelegenen sicheren Punkte, zu denen der Roboter 100 beim Eintritt eines Ereignisses flüchten sollte. In dem zusätzlichen Beispiel erzeugt die Wegerzeugungseinheit 242 oder dergleichen bei Bedarf geplante Wege, die einen oder mehrere in der Liste sicherer Punkte als Bewegungszielpunkte eingetragene sichere Punkte aufweisen. Diese geplanten Wege werden für jeden sicheren Punkt für jedes Ereignis neu erstellt und bereitgehalten.
  • Wenn ein vorbestimmtes Ereignis, wie beispielsweise ein fallendes Objekt, ein auftretendes lautes Geräusch oder getroffen werden eintritt, wählt die Vorgangssteuerungseinheit 150 einen sicheren Punkt aus der Liste sicherer Punkte als Bewegungszielpunkt. Wenn mehrere sichere Punkte in der Liste sicherer Punkte registriert sind, kann die Vorgangssteuerungseinheit 150 den zum aktuellen Punkt nächstgelegenen sicheren Punkt wählen oder nach dem Zufallsprinzip wählen. Außerdem kann für einen sicheren Punkt im Voraus ein Prioritätsniveau festgelegt werden. Beispielsweise kann für einen Ort, an dem es einen „freundlichen Besitzer“ gibt, im Voraus eine höhere Priorität als „hinter einem Sofa“ festgelegt werden.
  • Wenn ein vorbestimmtes Ereignis, beispielsweise ein negatives Ereignis, eintritt, während der Roboter 100 stationär ist, wählt die Vorgangssteuerungseinheit 150 einen sicheren Punkt aus der Liste sicherer Punkte und legt einen geplanten Weg mit dem sicheren Punkt als Bewegungszielpunkt fest. Wenn kein sicherer Punkt in der Liste sicherer Punkte eingetragen ist, legt die Vorgangssteuerungseinheit 150 einen Bewegungszielpunkt in einer Richtung weg von der Richtung des eingetretenen Ereignisses fest. Selbst wenn ein Ereignis eintritt, wenn der Roboter 100 einen Bewegungszielpunkt A festlegt und eine vorher fixierte Bewegung ausführt, wählt die Vorgangssteuerungseinheit 150 einen sicheren Punkt aus der Liste sicherer Punkte und legt den sicheren Punkt als neuen Bewegungszielpunkt B fest. Zu diesem Zeitpunkt wird der Ausführungsweg mit dem Bewegungszielpunkt A als Ziel storniert und der Roboter 100 bewegt sich in Richtung des neuen Bewegungszielpunktes B (dem sicheren Punkt). Gemäß dieser Art von Steuerungsverfahren kann ein Ziel beim Eintreten eines Ereignisses in eine Bewegung zu einem sicheren Punkt umgewandelt werden, selbst wenn der Roboter 100 stationär ist oder sich bewegt. Die Vorgangssteuerungseinheit 150 kann nach Eintreten eines Ereignisses einen sicheren Punkt auswählen oder kann einen sicheren Punkt im Voraus vor dem Eintreten eines Ereignisses wählen. In beiden Fällen kann der Roboter 100 durch Auswählen eines sicheren Punktes vor dem Eintreten eines Ereignisses und durch Erzeugen eines geplanten Weges, der den sicheren Punkt als Bewegungszielpunkt aufweist, veranlasst werden, das Verhalten des schnellen Entfliehens zu einem sicheren Punkt auszudrücken, wenn ein Ereignis eintritt.
  • Wenn die Vorgangssteuerungseinheit 150 wie bereits beschrieben einen Bewegungspfad (Ausführungsweg) bestimmt, erzeugt die Wegerzeugungseinheit 172 einen geplanten Weg zur Vorbereitung auf ein Ereignis. Wenn das Ereignis tatsächlich eintritt, während sich der Roboter entlang eines Ausführungsweges bewegt, veranlasst die Vorgangssteuerungseinheit 150 den Roboter 100, sich entlang des geplanten Weges statt entlang des Ausführungsweges zu bewegen. Zu diesem Zeitpunkt wird der Ausführungsweg storniert. Wenn währenddessen ein sicherer Punkt von der Liste sicherer Punkte von den Bewegungszielkandidaten begleitend zur Bewegung des Roboters 100 gelöscht wird, wird auch ein dem sicheren Punkt entsprechender geplanter Weg annulliert.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2001246580 A [0006]
    • JP 2006039760 A [0006]

Claims (19)

  1. Autonom handelnder Roboter, umfassend: eine Vorgangssteuerungseinheit, die einen Ausführungsweg bestimmt, der ein Bewegungspfad des Roboters ist; einen Antriebsmechanismus, der den Roboter veranlasst, sich entlang des Ausführungsweges zu bewegen; und eine Wegerzeugungseinheit, die einen geplanten Weg erzeugt, der einem Ereignis entspricht, bevor das Ereignis eintritt, wobei, wenn das Ereignis eintritt, wenn sich der Roboter entlang des Ausführungsweges bewegt, die Vorgangssteuerungseinheit den Roboter veranlasst, sich entlang des geplanten Weges statt entlang des Ausführungsweges zu bewegen.
  2. Autonom handelnder Roboter nach Anspruch 1, wobei die Wegerzeugungseinheit nacheinander mehrere geplante Wege erzeugt, dem Ereignis entsprechen, und wenn zum Zeitpunkt des Eintretens des Ereignisses bereits mehrere geplante Wege erzeugt worden sind, wählt die Vorgangssteuerungseinheit einen geplanten Weg aus den mehreren geplanten Wegen aus.
  3. Autonom handelnder Roboter nach Anspruch 1, wobei die Wegerzeugungseinheit mehrere geplante Wege erzeugt, die mehreren Ereignisarten entsprechen, und wenn ein Ereignis aus den mehreren Ereignisarten eintritt, veranlasst die Vorgangssteuerungseinheit den Roboter, sich entlang eines geplanten Weges zu bewegen, der dem eintretenden Ereignis entspricht.
  4. Autonom handelnder Roboter nach Anspruch 3, wobei die Wegerzeugungseinheit nacheinander die mehreren geplanten Wege basierend auf einer Prioritätsreihenfolge der mehreren Ereignisarten erzeugt.
  5. Autonom handelnder Roboter nach Anspruch 1, wobei die Wegerzeugungseinheit mehrere geplante Wege erzeugt, die mehreren Punkten entsprechen, an denen ein Eintreten eines Ereignisses vorauszusehen ist, und die Vorgangssteuerungseinheit den Roboter veranlasst, sich entlang eines geplanten Weges zu bewegen, der dem Punkt entspricht, an dem das Ereignis eintritt.
  6. Autonom handelnder Roboter nach Anspruch 1, wobei die Vorgangssteuerungseinheit eine im Voraus festgelegte Bewegung ausführt, wenn ein Ereignis eintritt, und den Roboter veranlasst, sich nach Ausführung der Bewegung entlang eines dem Ereignis entsprechenden geplanten Weges zu bewegen.
  7. Autonom handelnder Roboter nach Anspruch 1, ferner umfassend eine Erkennungseinheit für sichere Punkte, die einen Punkt erkennt, der eine vorbestimmte Sicherheitsbedingung als sicherer Punkt erfüllt, wobei die Wegerzeugungseinheit einen geplanten Weg erzeugt, der einen sicheren Punkt als Bewegungszielpunkt aufweist.
  8. Server, der über eine Kommunikationsverbindung mit einem autonom handelnden Roboter verbunden ist und der Server Folgendes umfasst: eine Wegerzeugungseinheit, die einen geplanten Weg entsprechend einer Position des autonom handelnden Roboters und eines Ereignisses erzeugt; und eine Wegbenachrichtigungseinheit, die den autonom handelnden Roboter über den geplanten Weg informiert, bevor das Ereignis eintritt.
  9. Server nach Anspruch 8, wobei die Wegerzeugungseinheit einen geplanten Weg unter der Bedingung erzeugt, dass eine Wegerzeugungsanweisung vom autonom handelnden Roboter empfangen wird.
  10. Server nach Anspruch 8, wobei die Wegerzeugungseinheit einen geplanten Weg entsprechend den Verhaltensmerkmalen des autonom handelnden Roboters erzeugt.
  11. Server nach Anspruch 8, wobei die Wegerzeugungseinheit mehrere geplante Wege berechnet, die mehreren Ereignisarten entsprechen, und die Wegbenachrichtigungseinheit über die mehreren geplanten Wege eine Benachrichtigung ausgibt, selbst wenn keine der mehreren Ereignisarten eintritt.
  12. Server nach Anspruch 8, wobei die Wegerzeugungseinheit mehrere geplante Wege erzeugt, die mehreren Punkten entsprechen, an denen ein Eintreten eines Ereignisses vorauszusehen ist, und die Wegbenachrichtigungseinheit über die mehreren geplanten Wege eine Benachrichtigung ausgibt, die den mehreren Punkten entsprechen, bevor das Ereignis eintritt.
  13. Server nach Anspruch 8, wobei die Wegerzeugungseinheit einen sicheren Punkt, der eine vorbestimmte Sicherheitsbedingung erfüllt, als Bewegungszielpunkt des geplanten Weges festlegt.
  14. Autonom handelnder Roboter, umfassend: eine Vorgangssteuereinheit, die eine Bewegung des Roboters auswählt; einen Antriebsmechanismus, der eine durch die Vorgangssteuerungseinheit spezifizierte Bewegung ausführt; und eine Erkennungseinheit für sichere Punkte, die einen Punkt erkennt, der eine vorbestimmte Sicherheitsbedingung als sicherer Punkt erfüllt, wobei die Vorgangssteuerungseinheit den Roboter veranlasst, sich zum sicheren Punkt zu bewegen, wenn ein vorbestimmtes Ereignis eintritt.
  15. Autonom handelnder Roboter nach Anspruch 14, wobei die Erkennungseinheit für sichere Punkte den erfassten sicheren Punkt in einer Liste registriert, und wenn das Ereignis in einem Zeitraum von der Auswahl eines Bewegungszielpunkts bis zum Erreichen des Bewegungszielpunkts durch den Roboter eintritt, legt die Vorgangssteuerungseinheit einen sicheren Punkt von den in der Liste registrierten sicheren Punkten als neuen Bewegungszielpunkt fest.
  16. Autonom handelnder Roboter nach Anspruch 14, wobei die Vorgangssteuerungseinheit beim Eintreten eines vorbestimmten Ereignisses den Roboter veranlasst, sich entlang einer geplanten Bahn, die vor dem Eintreten des Ereignisses identifiziert wurde, zum sicheren Punkt zu bewegen.
  17. Verhaltenssteuerungsprogramm, das ein Computerprogramm zum Bestimmen einer Bewegungsrichtung eines Roboters ist, wobei das Verhaltenssteuerungsprogramm einen Computer veranlasst, Folgendes auszuführen: eine Funktion zum Erzeugen eines geplanten Weges, der einem Ereignis entspricht, bevor das Ereignis eintritt; und eine Funktion zum Veranlassen des Roboters, sich entlang des geplanten Weges zu bewegen, anstatt eines im Voraus bestimmten Bewegungspfades, wenn das Ereignis eintritt.
  18. Verhaltenssteuerungsprogramm, das ein Computerprogramm zum Bestimmen einer Bewegungsrichtung eines Roboters ist, wobei das Verhaltenssteuerungsprogramm einen Computer veranlasst, Folgendes auszuführen: eine Funktion des Erkennens eines Punktes, der eine vorbestimmte Sicherheitsbedingung als sicherer Punkt erfüllt; eine Funktion des Registrierens von Positionskoordinaten des sicheren Punktes; und eine Funktion zum Veranlassen des Roboters, sich zum sicheren Punkt zu bewegen, wenn ein vorbestimmtes Ereignis eintritt.
  19. Verhaltenssteuerungsprogramm, das einen Computer veranlasst, Folgendes auszuführen: eine Funktion des Erkennens einer Position eines autonom handelnden Roboters; eine Funktion des Berechnens eines geplanten Weges, der der Position des autonom handelnden Roboters und einem Ereignis entspricht; und eine Funktion des Benachrichtigens des autonom handelnden Roboters über den geplanten Weg, bevor das Ereignis eintritt.
DE112017004414.6T 2016-09-02 2017-08-24 Autonom handelnder roboter, server und verhaltenssteuerungsprogramm Withdrawn DE112017004414T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016171432 2016-09-02
JP2016-171432 2016-09-02
PCT/JP2017/030277 WO2018043274A1 (ja) 2016-09-02 2017-08-24 自律行動型ロボット、サーバ及び行動制御プログラム

Publications (1)

Publication Number Publication Date
DE112017004414T5 true DE112017004414T5 (de) 2019-05-16

Family

ID=61301389

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017004414.6T Withdrawn DE112017004414T5 (de) 2016-09-02 2017-08-24 Autonom handelnder roboter, server und verhaltenssteuerungsprogramm

Country Status (6)

Country Link
US (1) US20190202054A1 (de)
JP (2) JP6557840B2 (de)
CN (1) CN109643126A (de)
DE (1) DE112017004414T5 (de)
GB (1) GB2570405B (de)
WO (1) WO2018043274A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019201045A1 (de) * 2019-01-28 2020-07-30 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
WO2018043274A1 (ja) * 2016-09-02 2018-03-08 Groove X株式会社 自律行動型ロボット、サーバ及び行動制御プログラム
US11154991B2 (en) * 2018-09-26 2021-10-26 Disney Enterprises, Inc. Interactive autonomous robot configured for programmatic interpretation of social cues
DE102019213032A1 (de) * 2019-08-29 2021-03-04 navel robotics GmbH Roboter mit einer verhaltenssteuerungseinheit und verfahren zur verhaltenssteuerung eines roboters
JPWO2022149496A1 (de) * 2021-01-05 2022-07-14

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001246580A (ja) 2000-03-03 2001-09-11 Sony Corp 情報通信ロボット装置、情報通信方法および情報通信ロボットシステム
JP2006039760A (ja) 2004-07-23 2006-02-09 Victor Co Of Japan Ltd 移動ロボット

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2661873B2 (ja) * 1994-04-08 1997-10-08 西松建設株式会社 遠隔操縦式建設車両およびその非常時運行方法
JP3557176B2 (ja) * 2001-02-14 2004-08-25 三洋電機株式会社 自律走行ロボット
JP2005271152A (ja) * 2004-03-25 2005-10-06 Funai Electric Co Ltd 自走式掃除機および自走ロボット
JP2005304516A (ja) * 2004-04-16 2005-11-04 Funai Electric Co Ltd 自走式掃除機
JP2008158868A (ja) * 2006-12-25 2008-07-10 Toyota Motor Corp 移動体、及びその制御方法
KR101053875B1 (ko) * 2008-07-14 2011-08-03 삼성전자주식회사 휴대 단말기와 동기화된 로봇의 이벤트 실행 방법 및 그시스템
CN101648378A (zh) * 2008-08-11 2010-02-17 悠进机器人股份公司 基于机器人中间件结构及情节的控制系统
JP5968627B2 (ja) * 2012-01-17 2016-08-10 シャープ株式会社 掃除機、制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2018043274A1 (ja) * 2016-09-02 2018-03-08 Groove X株式会社 自律行動型ロボット、サーバ及び行動制御プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001246580A (ja) 2000-03-03 2001-09-11 Sony Corp 情報通信ロボット装置、情報通信方法および情報通信ロボットシステム
JP2006039760A (ja) 2004-07-23 2006-02-09 Victor Co Of Japan Ltd 移動ロボット

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019201045A1 (de) * 2019-01-28 2020-07-30 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters
DE102019201045B4 (de) * 2019-01-28 2020-11-26 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters

Also Published As

Publication number Publication date
GB2570405B (en) 2022-05-11
GB2570405A (en) 2019-07-24
JP2019169189A (ja) 2019-10-03
CN109643126A (zh) 2019-04-16
WO2018043274A1 (ja) 2018-03-08
JPWO2018043274A1 (ja) 2018-10-25
JP6557840B2 (ja) 2019-08-14
US20190202054A1 (en) 2019-07-04
GB201902492D0 (en) 2019-04-10
JP7236142B2 (ja) 2023-03-09

Similar Documents

Publication Publication Date Title
DE112017003497B4 (de) Selbständig agierender Roboter mit gesteuerter Aktivitätsmenge
DE112017002606B4 (de) Autonom handelnder Roboter, der Kleidung trägt
DE112017004363T5 (de) Autonom agierender roboter, der die richtung einer geräuschquelle erkennt
DE112017001573B4 (de) Autonom agierender Roboter, der eine Begrüssungsaktion durchführt
DE112018005034B4 (de) Autonom handelnder Roboter, der den Begleiter anblickt
DE112017004414T5 (de) Autonom handelnder roboter, server und verhaltenssteuerungsprogramm
DE112017003651T5 (de) Autonom agierender Roboter, der Körperkontakt versteht
DE112017003480T5 (de) Autonom handelnder Roboter
DE112017005954T5 (de) Autonom agierender Roboter, der die Pupille verändert
DE112017001874T5 (de) Autonom handelnder Roboter mit Schüchternheit
DE112017004512T5 (de) Autonom agierender Roboter, der einen natürlichen Abstand hält
DE112017004554B4 (de) Autonom handelnder Roboter, der einen Gast akzeptiert
DE112017002960T5 (de) Autonom handelnder roboter, der kühle sucht
DE60216411T2 (de) Robotervorrichtung, gesichtserkennungsverfahren und gesichtserkennungsvorrichtung
DE60118317T2 (de) Autonom Roboter
DE112018001944T5 (de) Roboter, auf dem Außenhaut befestigt ist
JP6671577B2 (ja) 人を識別する自律行動型ロボット
DE112018001700T5 (de) Für Robotergelenk geeignete Gelenkstruktur
JP7420387B2 (ja) 衣装を着用するロボット
DE112018000722T5 (de) Roboter mit einer weichen Außenhaut
WO2019151387A1 (ja) 経験に基づいて行動する自律行動型ロボット
JPWO2020116412A1 (ja) ロボット用充電ステーション
JP2018192559A (ja) 曲面形状のボディに対するタッチを検出する自律行動型ロボット
JPWO2019088160A1 (ja) 反射行動を実行可能な自律行動型ロボット
Ompico et al. Recent Developments on Social Robots and Imitation Learning for Robotic Therapy

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee