WO2024071164A1 - ロボット、学習装置、制御方法およびプログラム - Google Patents
ロボット、学習装置、制御方法およびプログラム Download PDFInfo
- Publication number
- WO2024071164A1 WO2024071164A1 PCT/JP2023/035067 JP2023035067W WO2024071164A1 WO 2024071164 A1 WO2024071164 A1 WO 2024071164A1 JP 2023035067 W JP2023035067 W JP 2023035067W WO 2024071164 A1 WO2024071164 A1 WO 2024071164A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- robot
- unit
- state
- action
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 32
- 230000003993 interaction Effects 0.000 claims abstract description 57
- 230000009471 action Effects 0.000 claims description 207
- 230000006399 behavior Effects 0.000 claims description 96
- 230000008451 emotion Effects 0.000 claims description 64
- 238000004891 communication Methods 0.000 claims description 49
- 238000013528 artificial neural network Methods 0.000 claims description 30
- 230000036772 blood pressure Effects 0.000 claims description 20
- 230000036760 body temperature Effects 0.000 claims description 20
- 230000029058 respiratory gaseous exchange Effects 0.000 claims description 19
- 230000002996 emotional effect Effects 0.000 claims description 15
- 230000001815 facial effect Effects 0.000 claims description 15
- 238000010801 machine learning Methods 0.000 claims description 9
- 230000003542 behavioural effect Effects 0.000 claims description 3
- 210000003128 head Anatomy 0.000 description 47
- 230000006870 function Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 27
- 238000013459 approach Methods 0.000 description 21
- 230000007246 mechanism Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 230000002787 reinforcement Effects 0.000 description 15
- 210000000245 forearm Anatomy 0.000 description 14
- 210000002569 neuron Anatomy 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000001514 detection method Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 11
- 230000035876 healing Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000008918 emotional behaviour Effects 0.000 description 8
- 239000000463 material Substances 0.000 description 7
- 230000007935 neutral effect Effects 0.000 description 6
- 239000003638 chemical reducing agent Substances 0.000 description 5
- 239000011347 resin Substances 0.000 description 5
- 229920005989 resin Polymers 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000001939 inductive effect Effects 0.000 description 3
- 239000007769 metal material Substances 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 206010012374 Depressed mood Diseases 0.000 description 2
- JOYRKODLDBILNP-UHFFFAOYSA-N Ethyl urethane Chemical compound CCOC(N)=O JOYRKODLDBILNP-UHFFFAOYSA-N 0.000 description 2
- 239000000853 adhesive Substances 0.000 description 2
- 230000001070 adhesive effect Effects 0.000 description 2
- 230000004397 blinking Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- XNOPRXBHLZRZKH-UHFFFAOYSA-N Oxytocin Natural products N1C(=O)C(N)CSSCC(C(=O)N2C(CCC2)C(=O)NC(CC(C)C)C(=O)NCC(N)=O)NC(=O)C(CC(N)=O)NC(=O)C(CCC(N)=O)NC(=O)C(C(C)CC)NC(=O)C1CC1=CC=C(O)C=C1 XNOPRXBHLZRZKH-UHFFFAOYSA-N 0.000 description 1
- 101800000989 Oxytocin Proteins 0.000 description 1
- 102100031951 Oxytocin-neurophysin 1 Human genes 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000006260 foam Substances 0.000 description 1
- 239000006261 foam material Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011368 organic material Substances 0.000 description 1
- 230000027758 ovulation cycle Effects 0.000 description 1
- XNOPRXBHLZRZKH-DSZYJQQASA-N oxytocin Chemical compound C([C@H]1C(=O)N[C@H](C(N[C@@H](CCC(N)=O)C(=O)N[C@@H](CC(N)=O)C(=O)N[C@@H](CSSC[C@H](N)C(=O)N1)C(=O)N1[C@@H](CCC1)C(=O)N[C@@H](CC(C)C)C(=O)NCC(N)=O)=O)[C@@H](C)CC)C1=CC=C(O)C=C1 XNOPRXBHLZRZKH-DSZYJQQASA-N 0.000 description 1
- 229960001723 oxytocin Drugs 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 239000005060 rubber Substances 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000028327 secretion Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 239000007779 soft material Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H11/00—Self-movable toy figures
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
Definitions
- This disclosure relates to a robot, a learning device, a control method, and a program.
- Robots that are designed to interact with users are known. Robots that provide comfort to users through interaction with them are also known.
- Patent Document 1 discloses that a robot that measures the user's body temperature and judges their physical condition based on the temperature cycle changes its behavior when it is time to take special care by referring to a woman's menstrual cycle.
- Patent Document 1 the timing to be considered is assumed to be based on the user's body temperature cycle, which is limited. It is difficult to gauge the timing to interact with the user based on the body temperature cycle in various everyday situations without causing stress to the user. Interacting with the user at an inappropriate time does not lead to interaction with the user, and healing cannot be provided.
- the disclosed technology aims to induce interaction with users at appropriate times.
- One aspect of the present disclosure is a robot having an acquisition unit that acquires at least one of a captured image of a user and biometric information of the user, and a behavior control unit that commands the execution of a predetermined behavior that induces interaction with the user in accordance with a state of the user based on at least one of the captured image and the biometric information.
- a learning device communicatively connected to a robot, the learning device having: a state observation unit that observes a state of the user based on at least one of a photographed image of the user and biometric information of the user; and a learning unit that generates a learning model by machine learning, the learning model having an input as the state of the user and an output as the value of the robot's behavior.
- FIG. 1 is a perspective view of a robot according to an embodiment.
- FIG. 2 is a side view of the robot of one embodiment.
- FIG. 3 is a cross-sectional view of the robot taken along line III-III of one embodiment.
- FIG. 2 is a diagram illustrating a configuration of a vital sensor according to an embodiment.
- FIG. 2 is a block diagram showing a hardware configuration of a control unit according to an embodiment.
- FIG. 2 is a block diagram showing a functional configuration of a control unit according to an embodiment.
- FIG. 2 is a block diagram showing a hardware configuration of an estimation unit (learning device) according to an embodiment.
- FIG. 2 is a block diagram showing a functional configuration of an estimation unit (learning device) according to an embodiment.
- FIG. 1 is a perspective view of a robot according to an embodiment.
- FIG. 2 is a side view of the robot of one embodiment.
- FIG. 3 is a cross-sectional view of the robot taken along line III-III of one embodiment.
- FIG. 2 is a schematic diagram of a neuron learning model according to one embodiment.
- FIG. 2 is a schematic diagram of a learning model of a neural network according to an embodiment.
- 10 is a flowchart illustrating a process of a control unit according to an embodiment.
- 11 is a flowchart showing a process of an estimation unit (learning device) according to an embodiment.
- FIG. 13 is a block diagram showing a functional configuration of an estimation unit (learning device) according to a modified example. 13 is a flowchart showing a process of an estimation unit (learning device) according to a modified example.
- Fig. 1 is a perspective view illustrating the robot 100 according to an embodiment.
- Fig. 2 is a side view of the robot 100.
- Fig. 3 is a cross-sectional view taken along the line III-III in Fig. 2.
- the robot 100 has an exterior member 10 and can be driven by supplied electricity.
- the robot 100 illustrated in this embodiment is a doll-type communication robot modeled after a baby bear.
- the robot 100 is manufactured to a size and weight suitable for a user to hold in its arms.
- the user refers to the user of the robot 100.
- Representative examples of users include working people living alone, seniors whose children have become independent, and frail elderly people who are the recipients of home medical care.
- users may include not only users of the robot 100, but also those who simply come into contact with the robot 100, such as the manager of the robot 100.
- the exterior member 10 is flexible.
- the exterior member 10 contains a soft material that is pleasant to the touch when the user of the robot 100 touches the robot 100, for example.
- the material of the exterior member 10 can be an organic material such as urethane foam, rubber, resin, or fiber.
- the exterior member 10 is preferably composed of an exterior such as a urethane foam material having insulating properties, and a soft cloth material that covers the outer surface of the exterior.
- the robot 100 has a torso 1, a head 2, arms 3, and legs 4.
- the head 2 has a right eye 2a, a left eye 2b, a mouth 2c, a right cheek 2d, and a left cheek 2e.
- the arms 3 include a right arm 3a and a left arm 3b, and the legs 4 include a right leg 4a and a left leg 4b.
- the torso 1 corresponds to the robot body.
- Each of the head 2, arms 3, and legs 4 corresponds to a driver that is connected to the robot body so as to be displaceable relative to the robot body.
- the arms 3 are configured to be displaceable relative to the torso 1.
- the right arm 3a and the left arm 3b are displaced and come into contact with the user's neck, torso, etc. as if hugging the user.
- This action makes the user feel a sense of closeness to the robot 100, promoting interaction between the user and the robot 100.
- interaction with the user refers to actions in which the user and the robot 100 come into contact with each other (actions of contact), such as stroking, tapping (touching), and hugging (embracing each other).
- the torso 1, head 2, arms 3, and legs 4 are all covered with exterior members 10.
- the exterior members on the torso 1 and the arms 3 are integrated, and the exterior members on the head 2 and legs 4 are separate from the exterior members on the torso 1 and arms 3.
- this is not limited to the above configuration, and for example, only the parts of the robot 100 that are likely to be touched by the user may be covered with the exterior members 10.
- at least one of the exterior members 10 on each of the torso 1, head 2, arms 3, and legs 4 may be separate from the other exterior members.
- the parts of the head 2, arms 3, and legs 4 that do not displace may not include components such as sensors inside, and may be composed only of the exterior members 10.
- the robot 100 has a camera 11, a tactile sensor 12, a control unit 13, a vital sensor 14, a battery 15, a first capacitance sensor 21, and a second capacitance sensor 31 inside the exterior member 10.
- the robot 100 also has a camera 11, a tactile sensor 12, a control unit 13, a vital sensor 14, and a battery 15 inside the exterior member 10 in the torso 1.
- the robot 100 also has a first capacitance sensor 21 inside the exterior member 10 in the head 2, and a second capacitance sensor 31 inside the exterior member 10 in the arm 3.
- the robot 100 also has a display 24, a speaker 25, and a light 26 inside the exterior member 10 in the head 2.
- the robot 100 also has a display 24 inside the exterior member 10 in the right eye 2a and left eye 2b.
- the robot 100 has a speaker 25 inside the exterior member 10 in the mouth 2c, and a light 26 inside the exterior member 10 in the right cheek 2d and left cheek 2e.
- the robot 100 has a torso frame 16 and a torso mounting base 17 on the inside of the exterior member 10 in the torso 1.
- the robot 100 also has a head frame 22 and a head mounting base 23 on the inside of the exterior member 10 in the head 2.
- the robot 100 further has a right arm frame 32a and a right arm mounting base 33 on the inside of the exterior member 10 in the right arm 3a, and a left arm frame 32b on the inside of the exterior member 10 in the left arm 3b.
- the robot 100 has a right leg frame 42a on the inside of the exterior member 10 in the right leg 4a, and a left leg frame 42b on the inside of the exterior member 10 in the left leg 4b.
- the torso frame 16, head frame 22, right arm frame 32a, left arm frame 32b, right leg frame 42a, and left leg frame 42b are each structures formed by combining multiple columnar members.
- the torso support platform 17, head support platform 23, and right arm support platform 33 are plate-like members having a support surface.
- the torso support platform 17 is fixed to the torso frame 16, the head support platform 23 is fixed to the head frame 22, and the right arm support platform 33 is fixed to the right arm frame 32a.
- the torso frame 16, head frame 22, right arm frame 32a, left arm frame 32b, right leg frame 42a, and left leg frame 42b may be formed in a box shape including multiple plate-like members.
- the right arm frame 32a is connected to the torso frame 16 via a right arm connecting mechanism 34a, and is driven by a right arm servo motor 35a, so that it can be displaced relative to the torso frame 16. As the right arm frame 32a is displaced, the right arm 3a is displaced relative to the torso 1.
- the right arm connecting mechanism 34a preferably has, for example, a reducer that increases the output torque of the right arm servo motor 35a.
- the right arm frame 32a is composed of a multi-joint robot arm including multiple frame members and multiple connecting mechanisms.
- the right arm frame 32a has a right shoulder frame F1a, a right right arm frame F2a, a right elbow frame F3a, and a right forearm frame F4a.
- the torso frame 16, right shoulder frame F1a, right right arm frame F2a, right elbow frame F3a, and right forearm frame F4a are each connected to each other via a connecting mechanism.
- Right arm servo motor 35a is a general term for multiple servo motors.
- right arm servo motor 35a has a right shoulder servo motor M1a, a right right arm servo motor M2a, a right elbow servo motor M3a, and a right forearm servo motor M4a.
- the right shoulder servo motor M1a rotates the right shoulder frame F1a around a rotation axis perpendicular to the torso frame 16.
- the right right arm servo motor M2a rotates the right right arm frame F2a around a rotation axis perpendicular to the rotation axis of the right shoulder frame F1a.
- the right elbow servo motor M3a rotates the right elbow frame F3a around a rotation axis perpendicular to the rotation axis of the right right arm frame F2a.
- the right forearm servo motor M4a rotates the right forearm frame F4a around a rotation axis perpendicular to the rotation axis of the right elbow frame F3a.
- the left arm frame 32b is connected to the torso frame 16 via a left arm connecting mechanism 34b, and is driven by a left arm servo motor 35b, so that it can be displaced relative to the torso frame 16. As the left arm frame 32b is displaced, the left arm 3b is displaced relative to the torso 1.
- the left arm connecting mechanism 34b preferably has, for example, a reducer that increases the output torque of the left arm servo motor 35b.
- the left arm frame 32b is composed of a multi-joint robot arm including multiple frame members and multiple connecting mechanisms.
- the left arm frame 32b has a left shoulder frame F1b, a left upper arm frame F2b, a left elbow frame F3b, and a left forearm frame F4b.
- the torso frame 16, the left shoulder frame F1b, the left upper arm frame F2b, the left elbow frame F3b, and the left forearm frame F4b are each connected to one another via a connecting mechanism.
- Left arm servo motor 35b is a general term for multiple servo motors.
- left arm servo motor 35b has a left shoulder servo motor M1b, a left upper arm servo motor M2b, a left elbow servo motor M3b, and a left forearm servo motor M4b.
- the left shoulder servo motor M1b rotates the left shoulder frame F1b around a rotation axis perpendicular to the torso frame 16.
- the left upper arm servo motor M2b rotates the left upper arm frame F2b around a rotation axis perpendicular to the rotation axis of the left shoulder frame F1b.
- the left elbow servo motor M3b rotates the left elbow frame F3b around a rotation axis perpendicular to the rotation axis of the left upper arm frame F2b.
- the left forearm servo motor M4b rotates the left forearm frame F4b around a rotation axis perpendicular to the rotation axis of the left elbow frame F3b.
- the robot 100 can achieve more realistic movements. For example, the robot 100 can move the arm 3 to "spread its hands" when a user who is feeling neutral and not doing anything is standing there, thereby inviting contact with the user. The robot 100 can also tremble its arm 3 to "be afraid” when a user is walking around feeling angry, thereby inviting contact with the user.
- the head frame 22 is connected to the torso frame 16 via a head connection mechanism 27, and is driven by a head servomotor 35c, allowing it to be displaced relative to the torso frame 16. As the head frame 22 is displaced, the head 2 is displaced relative to the torso 1.
- the head connection mechanism 27 preferably has, for example, a reducer that increases the output torque of the head servomotor 35c.
- the head frame 22 has a neck frame F1c and a face frame F2c.
- the torso frame 16, the neck frame F1c, and the face frame F2c are each connected to each other via a connecting mechanism.
- Head servo motor 35c is a general term for multiple servo motors.
- the head servo motor 35c has a neck servo motor M1c and a face servo motor M2c.
- the neck servo motor M1c rotates the neck frame F1c around a rotation axis perpendicular to the torso frame 16.
- the face servo motor M2c rotates the face frame F2c around a rotation axis perpendicular to the rotation axis of the neck frame F1c.
- the robot 100 can achieve more realistic movements. For example, the robot 100 can move its head 2 to "look up" at a user who is operating a mobile phone with disgust, thereby expressing concern for the user and inducing contact with the user.
- the right leg frame 42a is connected to the torso frame 16 via a right leg connecting mechanism 44a, and has a right leg wheel 41a on the bottom side.
- the robot 100 has two right leg wheels 41a in the front-to-rear direction of the right leg frame 42a.
- the right leg wheel 41a is driven by the right leg servo motor 35d and can rotate around an axis of rotation perpendicular to the front-to-rear direction of the right leg frame 42a.
- the rotation of the right leg wheel 41a enables the robot 100 to run.
- the right leg connecting mechanism 44a preferably has a reducer that increases the output torque of the right leg servo motor 35d, for example.
- the left leg frame 42b is connected to the torso frame 16 via a left leg connecting mechanism 44b, and has a left leg wheel 41b on the bottom side.
- the robot 100 has two left leg wheels 41b in the front-to-rear direction of the left leg frame 42b.
- the left leg wheel 41b is driven by the left leg servo motor 35e and can rotate around an axis of rotation perpendicular to the front-to-rear direction of the left leg frame 42b.
- the rotation of the left leg wheel 41b enables the robot 100 to run.
- the left leg connecting mechanism 44b preferably has a reducer that increases the output torque of the left leg servo motor 35e, for example.
- the robot 100 moves forward or backward by simultaneously rotating the right leg wheel 41a and the left leg wheel 41b forward or backward.
- the robot 100 turns right or left by braking either the right leg wheel 41a or the left leg wheel 41b and rotating the other forward or backward.
- the legs 4 allow the robot 100 to perform more realistic movements.
- the robot 100 can move the legs 4 to "approach" a user who is standing still and feeling sad or surprised, thereby enabling the robot 100 to perform an action that induces contact with the user.
- the camera 11 is fixed to the torso frame 16.
- the tactile sensor 12, the control unit 13, the vital sensor 14, and the battery 15 are fixed to the torso mounting base 17.
- the control unit 13 and the battery 15 are fixed to the torso mounting base 17 on the side opposite to the side to which the tactile sensor 12 and the vital sensor 14 are fixed.
- the arrangement of the control unit 13 and the battery 15 here is based on the available space on the torso mounting base 17 and is not necessarily limited to the above.
- the center of gravity of the robot 100 will be lowered because the battery 15 is heavier than the other components.
- a low center of gravity of the robot 100 is preferable because at least one of the position and posture of the robot 100 is stabilized and at least one of charging and replacing the battery 15 is easier to perform.
- the camera 11, tactile sensor 12, control unit 13, vital sensor 14, battery 15, first capacitance sensor 21, second capacitance sensor 31, etc. can be fixed with screws or adhesive members, etc.
- the right eye display 24a, left eye display 24b, speaker 25, right cheek light 26a, left cheek light 26b, etc. can also be fixed with screws or adhesive members, etc.
- the materials used for the torso frame 16, torso mounting platform 17, head frame 22, head mounting platform 23, right arm frame 32a, right arm mounting platform 33, and left arm frame 32b and resin or metal materials can be used.
- a metal material such as aluminum for the torso frame 16, right arm frame 32a, and left arm frame 32b.
- a resin material for these parts in order to reduce the weight of the robot 100.
- the control unit 13 is communicatively connected to each of the camera 11, tactile sensor 12, vital sensor 14, first capacitance sensor 21, second capacitance sensor 31, right arm servo motor 35a, and left arm servo motor 35b, either by wire or wirelessly.
- the control unit 13 is also communicatively connected to each of the head servo motor 35c, right leg servo motor 35d, and left leg servo motor 35e, either by wire or wirelessly.
- the control unit 13 is also communicatively connected to each of the right eye display 24a, left eye display 24b, speaker 25, right cheek light 26a, and left cheek light 26b, either by wire or wirelessly.
- the camera 11 is an image sensor that outputs captured images of the area around the robot 100 to the control unit 13.
- the camera 11 is an example of an imaging unit that captures an image of the user.
- the camera 11 includes a lens and an imaging element that captures an image through the lens.
- the imaging element may be a CCD (Charge Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), etc.
- the captured image may be either a still image or a video.
- the camera 11 is configured as a TOF (Time Of Flight) camera that outputs a distance image of the periphery of the robot 100 to the control unit 13. Therefore, the captured image output from the camera 11 may include a three-dimensional captured image (distance image) in addition to or instead of the two-dimensional captured image.
- the captured image is used to detect the presence or approach of a user, detect the distance from the robot 100 to the user, authenticate the user, or estimate the user's emotions or behavior, etc.
- the captured image is an example of an image capturing a user.
- the robot 100 may be equipped with a human presence sensor such as an ultrasonic sensor, an infrared sensor, a millimeter wave radar, or a LiDAR (light detection and ranging) in addition to the camera 11.
- the tactile sensor 12 is a sensor element that detects information sensed by the sense of touch in the human hand, converts it into a tactile signal, which is an electrical signal, and outputs it to the control unit 13. For example, the tactile sensor 12 converts information about pressure or vibration caused by a user touching the robot 100 into a tactile signal using a piezoelectric element and outputs it to the control unit 13. The tactile signal output from the tactile sensor 12 is used to detect the contact or presence of the user 200 with the robot 100.
- the vital sensor 14 is an example of an electromagnetic wave sensor that uses electromagnetic waves to obtain biometric information of the user.
- the vital sensor 14 will be described in detail later with reference to FIG. 4.
- the first capacitance sensor 21 and the second capacitance sensor 31 are sensor elements that detect when a user has come into contact with or near the robot 100 based on a change in capacitance and output a capacitance signal to the control unit 13.
- the first capacitance sensor 21 is preferably a rigid sensor that does not have flexibility in terms of stabilizing the exterior member 10. Since the arm 3 is a part that is easily touched by the user, the second capacitance sensor 31 is preferably a flexible sensor that includes conductive thread or the like in terms of improving the feel.
- the capacitance signals output from the first capacitance sensor 21 and the second capacitance sensor 31 are used to detect the proximity or presence of a user to the robot 100.
- the right eye display 24a and the left eye display 24b are display modules that display character strings or images such as letters, numbers, and symbols in response to commands from the control unit 13.
- the right eye display 24a and the left eye display 24b are, for example, liquid crystal display modules.
- the character strings or images displayed on the right eye display 24a and the left eye display 24b are used to express the emotions of the robot 100.
- the robot 100 can implicitly induce contact with a user by displaying a "laughing" image on the right eye display 24a and the left eye display 24b to a user who is sitting with happy emotions, thereby empathizing with the happiness.
- the speaker 25 is a speaker unit that amplifies the audio signal from the control unit 13 and outputs the sound.
- the sound output from the speaker 25 is the words or cries of the robot 100, and is used to express the emotions of the robot 100.
- the robot 100 can perform an action that induces contact with the user by outputting a "(worried) voice" sound from the speaker 25 to a user who is doing housework and feeling sad.
- the right cheek light 26a and the left cheek light 26b are light modules that blink or change color in response to an on/off signal from the control unit 13.
- the right cheek light 26a and the left cheek light 26b are, for example, configured as LED (Light Emitting Diode) light modules.
- the blinking or color change of the right cheek light 26a and the left cheek light 26b is used to express emotions of the robot 100.
- the robot 100 can express sympathy with a user who is sitting with a sad emotion by making the right cheek light 26a and the left cheek light 26b blink blue, thereby enabling the robot 100 to perform an action that induces contact with the user.
- the battery 15 is a power source that supplies power to the camera 11, tactile sensor 12, control unit 13, vital sensor 14, first capacitance sensor 21, second capacitance sensor 31, right arm servo motor 35a, and left arm servo motor 35b.
- the battery 15 also supplies power to the head servo motor 35c, right leg servo motor 35d, and left leg servo motor 35e.
- the battery 15 also supplies power to the right eye display 24a, left eye display 24b, speaker 25, right cheek light 26a, and left cheek light 26b.
- Various types of secondary batteries such as lithium ion batteries and lithium polymer batteries can be used for the battery 15.
- the various sensors in the robot 100 are not essential components.
- the robot 100 only needs to have at least the camera 11, the vital sensor 14, and the tactile sensor 12.
- the installation positions of these sensors can also be changed as appropriate.
- the various sensors, such as the camera 11, the vital sensor 14, and the tactile sensor 12 may be placed outside the robot 100 and transmit necessary information to the robot 100 or an external device via wireless communication.
- a learning device constituted by a PC (Personal Computer) or a server is an example of an external device.
- the robot 100 does not necessarily have to have the control unit 13 inside the exterior member 10, and the control unit 13 can also wirelessly communicate with each device from outside the exterior member 10.
- the battery 15 can also supply power to each component from outside the exterior member 10.
- a configuration in which the head 2, arms 3, and legs 4 are displaceable is exemplified, but this is not limited to the above, and at least one of the head 2, arms 3, and legs 4 may be displaceable.
- the arms 3 are configured as a four-axis articulated robot arm, but may also be configured as a six-axis articulated robot arm. It is preferable that an end effector such as a hand can be connected to the arms 3.
- the legs 4 are configured as wheels, but may also be configured as crawlers, legs, or the like.
- the configuration and shape of the robot 100 are not limited to those exemplified in this embodiment, and can be modified as appropriate according to the user's preferences and the manner in which the robot 100 is used.
- the robot 100 may be in the form of a robot arm such as an industrial robot, or in the form of a humanoid, rather than a form imitating a baby bear.
- the robot 100 may also be in the form of a mobile device such as a drone or vehicle that has at least one of an arm, a display, a speaker, and a light.
- ⁇ Configuration example of vital sensor 14> 4 is a diagram illustrating an example of the configuration of the vital sensor 14.
- the vital sensor 14 is a microwave Doppler sensor including a microwave emitting unit 141 and a microwave receiving unit 142.
- Microwaves are an example of electromagnetic waves.
- the vital sensor 14 emits microwaves, ie, emitted waves Ms, from the inside of the exterior member 10 of the robot 100 toward the user 200 using the microwave emitter 141.
- the vital sensor 14 also receives reflected waves Mr, which are the emitted waves Ms reflected by the user 200, using the microwave receiver 142.
- the vital sensor 14 detects, in a non-contact manner, minute displacements occurring on the body surface of the user 200 due to factors such as the beating of the heart of the user 200, using the Doppler effect from the difference between the frequency of the emitted wave Ms and the frequency of the reflected wave Mr.
- the vital sensor 14 can obtain information on the user 200's biometric information, such as heart rate, breathing, pulse waves, and blood pressure, from the detected minute displacements, and output the obtained biometric information to the control unit 13.
- the vital sensor 14 is not limited to a microwave Doppler sensor, and may be one that detects minute displacements occurring on the body surface by utilizing changes in the coupling between the human body and an antenna, or one that utilizes electromagnetic waves other than microwaves, such as near-infrared light.
- the vital sensor 14 may also be a millimeter wave radar, microwave radar, etc.
- the vital sensor 14 also has, in addition to the Doppler sensor, a non-contact thermometer that detects infrared rays and the like emitted by the user 200. In this case, the vital sensor 14 detects the biological information of the user 200, including information regarding at least one of the heart rate (pulse), breathing, blood pressure, and body temperature.
- the vital sensor 14 is provided inside the exterior member 10, so the user 200 cannot see the vital sensor 14. This reduces the user's 200 resistance to having their biometric information detected, making it possible to acquire the biometric information smoothly.
- the vital sensor 14 can acquire biometric information without contact, it can acquire biometric information even if the user moves to a certain extent, unlike a contact-type sensor that requires the user to be in contact with the same place for a certain period of time.
- the robot 100 can acquire biometric information while being held by the user 200 and in contact with or close to the user 200. This allows the robot 100 to acquire highly reliable biometric information with suppressed noise.
- control unit 13 is a block diagram showing a hardware configuration of the control unit 13.
- the control unit 13 is constructed by a computer and has a CPU (Central Processing Unit) 131, a ROM (Read Only Memory) 132, and a RAM (Random Access Memory) 133.
- the control unit 13 also has an HDD/SSD (Hard Disk Drive/Solid State Drive) 134, a device connection I/F (Interface) 135, and a communication I/F 136. These are connected to each other via a system bus A so as to be able to communicate with each other.
- a system bus A so as to be able to communicate with each other.
- the CPU 131 executes control processing including various types of calculation processing.
- the ROM 132 stores programs used to drive the CPU 131, such as the IPL (Initial Program Loader).
- the RAM 133 is used as a work area for the CPU 131.
- the HDD/SSD 134 stores various information such as programs, captured images acquired by the camera 11, biological information acquired by the vital sensor 14, and detection information from various sensors such as tactile signals acquired by the tactile sensor 12.
- the device connection I/F 135 is an interface for connecting the control unit 13 to various external devices.
- the external devices here include the camera 11, the tactile sensor 12, the vital sensor 14, the first capacitance sensor 21, the second capacitance sensor 31, the servo motor 35, and the battery 15.
- the external devices also include the display 24, the speaker 25, and the light 26.
- servo motor 35 is a collective term for right arm servo motor 35a, left arm servo motor 35b, head servo motor 35c, right leg servo motor 35d, and left leg servo motor 35e.
- Display 24 is a collective term for right eye display 24a and left eye display 24b.
- Light 26 is a collective term for right cheek light 26a and left cheek light 26b.
- the communication I/F 136 is an interface for communicating with an external device via a communication network or the like.
- the control unit 13 connects to the Internet via the communication I/F 136 and communicates with an external device via the Internet.
- CPU 131 may be realized by electric or electronic circuits.
- Example of functional configuration 6 is a block diagram showing the functional configuration of the control unit 13.
- the control unit 13 has an acquisition unit 101, a communication control unit 102, a storage unit 103, an authentication unit 104, a registration unit 105, a start control unit 106, a motor control unit 107, and an output unit 108.
- the control unit 13 further has a detection unit 110, an estimation unit 111, and a behavior control unit 112.
- the control unit 13 can realize the functions of the acquisition unit 101 and output unit 108 by the device connection I/F 135, etc., and can realize the function of the communication control unit 102 by the communication I/F 136, etc.
- the control unit 13 can also realize the functions of the storage unit 103 and registration unit 105 by a non-volatile memory such as the HDD/SSD 134.
- the functions of the authentication unit 104, start control unit 106, and motor control unit 107 can be realized by a processor such as the CPU 131 executing processing defined in a program stored in a non-volatile memory such as the ROM 132, etc.
- each function of the detection unit 110, the estimation unit 111, and the behavior control unit 112 can be realized by a processor such as the CPU 131 executing processing defined in a program stored in a non-volatile memory such as the ROM 132.
- Some of the above functions of the control unit 13 may be realized by an external device such as a PC or a server, or may be realized by distributed processing between the control unit 13 and an external device.
- the estimation unit 111 may be configured as a learning device that is communicatively connected to the robot 100.
- the acquisition unit 101 acquires a captured image Im of the user 200 from the camera 11 by controlling communication between the control unit 13 and the camera 11.
- the acquisition unit 101 also acquires a tactile signal S from the tactile sensor 12 by controlling communication between the control unit 13 and the tactile sensor 12.
- the acquisition unit 101 also acquires biometric information B of the user 200 from the vital sensor 14 by controlling communication between the control unit 13 and the vital sensor 14.
- the acquisition unit 101 also acquires a first capacitance signal C1 from the first capacitance sensor 21 by controlling communication between the control unit 13 and the first capacitance sensor 21.
- the acquisition unit 101 also acquires a second capacitance signal C2 from the second capacitance sensor 31 by controlling communication between the control unit 13 and the second capacitance sensor 31.
- the communication control unit 102 controls communication with an external device via a communication network or the like.
- the communication control unit 102 can transmit the captured image Im acquired by the camera 11, the biometric information B acquired by the vital sensor 14, the tactile signal S acquired by the tactile sensor 12, etc., to an external device (e.g., a learning device described below) via the communication network.
- an external device e.g., a learning device described below
- the storage unit 103 stores the biometric information B acquired by the vital sensor 14.
- the storage unit 103 continuously stores the acquired biometric information B while the acquisition unit 101 is acquiring the biometric information B from the vital sensor 14.
- the storage unit 103 can also store information obtained from the image Im captured by the camera 11, the tactile signal S from the tactile sensor 12, the first capacitance signal C1 from the first capacitance sensor 21, and the second capacitance signal C2 from the second capacitance sensor 31.
- the authentication unit 104 performs personal authentication of the user 200 based on the image Im of the user 200 captured by the camera 11. For example, the authentication unit 104 performs face authentication by referring to the registration information 109 of the face image pre-registered in the registration unit 105 based on the captured image Im including the face of the user 200 captured by the camera 11. This makes it possible to associate the user 200 currently in contact with or in close proximity to the robot 100 with pre-registered personal information, and to associate the biometric information B acquired by the vital sensor 14 with the personal information. Furthermore, the control unit 13 can also control the vital sensor 14 to stop starting acquisition of biometric information if the face image included in the captured image Im is not registered in the registration unit 105.
- the start control unit 106 causes the vital sensor 14 to start acquiring biometric information B.
- the start control unit 106 turns on a switch or the like that supplies power from the battery 15 to the vital sensor 14. This causes the start control unit 106 to cause the vital sensor 14 to start acquiring biometric information B.
- the detection unit 110 detects the presence or approach of the user 200 around the robot 100 based on the image Im captured by the camera 11, etc. It is preferable that the detection unit 110 detects the distance from the robot 100 to the user 200 based on the image Im (distance image) captured by the camera 11. The detection unit 110 may also detect the proximity or presence of the user 200 to the robot 100 based on the first capacitance signal C1 or the second capacitance signal C2. Furthermore, the detection unit 110 detects the contact or presence of the user 200 with the robot 100 based on the tactile signal S from the tactile sensor 12.
- the estimation unit 111 estimates a predetermined behavior an (n is the identification number of behavior a) of the robot 100 suitable for the state of the user 200 based on the captured image Im of the user 200 and the biometric information B of the user 200.
- the estimation unit 111 performs reinforcement learning to estimate an action at (t is time) of the robot 100 suitable for the state st of the user 200 (t is time).
- the estimation unit 111 may also perform other machine learning such as supervised learning, semi-supervised learning, or unsupervised learning to estimate a predetermined behavior at of the robot 100 suitable for the state st of the user 200.
- the estimation unit 111 may estimate the action at of the robot 100 that is suitable for the state st of the user 200 using a learned learning model (in this embodiment, an action value table or a neural network). In this case, the estimation unit 111 will estimate the predetermined action at of the robot 100 that is suitable for the state st of the user 200 using a predetermined logic or a predetermined algorithm.
- a learned learning model in this embodiment, an action value table or a neural network.
- the behavior control unit 112 commands the motor control unit 107 or the output unit 108 to execute an action at of the robot 100.
- the behavior control unit 112 also commands the execution of an action at that induces contact with the user 200 according to the state st of the user 200.
- the robot 100 performing an action that induces contact with the user 200 at an appropriate timing, it is possible to connect with the user 200 and provide healing to the user 200.
- the behavior at that induces contact with the user 200 is, for example, a behavior that explicitly induces contact with the user 200, such as "spreading one's hand” or “waving one's hand.”
- the behavior at that induces contact with the user 200 may also be a behavior that implicitly induces contact with the user 200, such as "getting scared” or "singing.”
- the storage unit 103 stores information related to predefined actions an of the robot 100.
- Information related to the actions an of the robot 100 is managed, for example, by a database table.
- Table 1 below is an example of an action table TB1 related to the actions an of the robot 100.
- the action table TB1 has an action ID that identifies the action an of the robot 100, the action content of the robot 100, the command content of the action an, the action time per cycle, and example uses.
- a teaching command is an operation command that is taught in advance using a teaching method such as offline teaching, online teaching, or direct teaching.
- a tracking command is an operation command to track the position and posture of the user 200 based on various sensor information such as the captured image Im (distance image).
- the motor control unit 107 controls the drive of the servo motor 35 in response to a command from the behavior control unit 112 to execute the behavior at of the robot 100. For example, if the behavior of the robot 100 is to "spread hands", the motor control unit 107 executes the action command to "spread hands" that has been taught in advance.
- the output unit 108 controls communication between the control unit 13 and the display 24 in response to a command to execute the action at from the action control unit 112. For example, if the action content of the robot 100 is "smile with eyes", the output unit 108 outputs image data of a smile to the right eye display 24a and the left eye display 24b.
- the output unit 108 also controls communication between the control unit 13 and the speaker 25 in response to a command to execute the action at from the action control unit 112. For example, if the action content of the robot 100 is to "make a sound (to call out)", the output unit 108 outputs a voice output signal to the speaker 25 to call out.
- the output unit 108 controls communication between the control unit 13 and the light 26 in response to a command to execute the action at from the action control unit 112. For example, if the action content of the robot 100 is "blinking cheeks", the output unit 108 outputs an on/off signal to the switching elements of the right cheek light 26a and the left cheek light 26b.
- Fig. 7 is a block diagram showing a hardware configuration of the estimation unit 111.
- Fig. 7 shows an example in which the estimation unit 111 shown in Fig. 6 is configured as a learning device 300 communicably connected to the robot 100.
- the function of the estimation unit 111 may be provided inside the robot 100 as shown in Fig. 6.
- the estimation unit 111 is constructed by a computer, and has a CPU 301, a ROM 302, a RAM 303, a HDD/SSD 304, a device connection I/F 305, and a communication I/F 306. These are connected to each other via a system bus A' so that they can communicate with each other.
- the learning device 300 has a GPU (Graphics Processing Unit) or is configured as a PC cluster having multiple computers, etc.
- the CPU 301 executes control processing including various types of calculation processing.
- the ROM 302 stores programs used to drive the CPU 301, such as an IPL (Initial Program Loader).
- the RAM 303 is used as a work area for the CPU 301.
- the HDD/SSD 304 stores various information such as programs, captured images Im acquired by the camera 11, biometric information B acquired by the vital sensor 14, and detection information from various sensors.
- the device connection I/F 305 is an interface for connecting the estimation unit 111 to various external devices.
- the external devices here are the camera 11, the tactile sensor 12, the vital sensor 14, the first capacitance sensor 21, the second capacitance sensor 31, etc.
- the estimation unit 111 may obtain detection information of these various sensors from the robot 100 via the communication I/F 306 described below.
- the communication I/F 306 is an interface for communicating with an external device such as the robot 100 via a communication network or the like.
- the estimation unit 111 connects to the Internet via the communication I/F 136 and communicates with an external device via the Internet.
- the estimation unit 111 also performs direct wireless communication with the external device via the communication I/F 306.
- CPU 301 may be realized by electrical or electronic circuits.
- Example of functional configuration 8 is a block diagram showing a functional configuration of the estimation unit 111.
- the estimation unit 111 has a state observation unit 121, an action decision unit 122, a result acquisition unit 123, a learning unit 124, a communication control unit 125, and a storage unit 126. If the function of the estimation unit 111 is provided inside the robot 100, the communication control unit 125 and the storage unit 126 become unnecessary. If the estimation unit 111 estimates the action at of the robot 100 suitable for the state st of the user 200 using a learned learning model LM or based on a predetermined algorithm, the result acquisition unit 123 and the learning unit 124 become unnecessary.
- the various functions of the state observation unit 121, the action decision unit 122, the result acquisition unit 123, and the learning unit 124 can be realized by a processor such as the CPU 301 executing processes defined in a program stored in a non-volatile memory such as the ROM 302.
- the functions of the communication control unit 125 can be realized by the communication I/F 306, etc.
- the functions of the storage unit 126 can be realized by a non-volatile memory such as the HDD/SDD 304.
- the estimation unit 111 of this embodiment performs reinforcement learning to estimate the action at of the robot 100 that is appropriate for the state st of the user 200.
- reinforcement learning any one of Q-learning, Sarsa, the Monte Carlo method, and deep reinforcement learning (reinforcement learning using DQN (Deep-Q-Network)), etc., can be used.
- DQN Deep-Q-Network
- the state observation unit 121 executes various processes for observing the state st of the user 200.
- the state observation unit 121 observes the state st of the user 200 based on at least one of a captured image Im of the user 200 and biometric information B of the user 200.
- the captured image Im includes at least one of a facial image and a whole-body image of the user 200
- the biometric information B includes information on at least one of the heart rate, respiration, blood pressure, and body temperature of the user 200.
- the biometric information B includes at least one of the heart rate [bpm], respiration rate [breathing/min], blood pressure value [mmHg], and body temperature [°C] of the user 200.
- the state st of the user 200 includes an emotional state classified based on at least one of a facial image of the user 200 and information on at least one of the heart rate, breathing, blood pressure, and body temperature of the user 200. It is preferable that the state st of the user 200 further includes a behavioral state classified based on skeletal movement estimated from a whole-body image of the user 200. In other words, the state st of the user 200 is a predetermined state classified by a combination of the emotions and behavior of the user 200 estimated from at least one of the captured image Im and the biometric information B.
- the state st of the user 200 may be only the emotional state of the user 200 estimated from the captured image Im and the biometric information B, or may be only the behavioral state of the user 200 estimated from the captured image Im of the user 200.
- the state observation unit 121 has an emotional behavior estimation unit 151.
- the emotional behavior estimation unit 151 is responsible for one process in the state observation unit 121.
- the function of the emotional behavior estimation unit 151 may be performed by another external device communicatively connected to the learning device 300.
- the emotional behavior estimation unit 151 estimates the emotion of the user 200 based on at least one of a facial image of the user 200 and information on at least one of the user 200's heart rate, breathing, blood pressure, and body temperature.
- the emotion of the user 200 is classified into a predetermined state based on the facial image of the user 200 and information on at least one of the user 200's heart rate, breathing, blood pressure, and body temperature.
- the emotion of the user 200 is preferably classified into at least one of "neutral”, “happiness”, “sadness”, “disgust”, “fear”, “surprise”, and “anger”.
- the emotion of the user 200 may be a combination of, for example, "fear” and "surprise”.
- the emotion behavior estimation unit 151 estimates the emotions of the user 200 using a trained learning model or while performing machine learning. For example, the emotion behavior estimation unit 151 uses teacher data to deep-learn a neural network learning model in which the facial image, heart rate, blood pressure value, etc. of the user 200 are input, and the emotions of the user 200, such as "happiness,” “sadness,” and “disgust,” are output. As a result, when a new facial image, heart rate, and blood pressure value of the user 200 when smiling are input into the neural network learning model and analyzed by AI (artificial intelligence), the emotion of the user 200 can be classified as "happiness.”
- AI artificial intelligence
- the emotion behavior estimation unit 151 also estimates the behavior of the user 200 based on the skeletal movements estimated from the whole-body image of the user 200. For example, the emotion behavior estimation unit 151 learns the position of each joint from the whole-body image of the user 200, estimates the skeleton of the user 200 from the position of each joint, and estimates the behavior of the user 200 based on the estimated skeletal movements. Skeletal movements are composed of basic movements such as "standing”, “sitting”, “crouching”, “walking”, “right arm forward”, “left arm forward”, and “shaking the head”. The behavior of the user 200 is composed of a combination and order of one or more basic skeletal movements.
- the behavior of the user 200 is classified into at least one of "doing nothing”, “walking”, “sitting”, “operating a mobile phone”, “cooking”, “typing on a keyboard”, “watching TV”, and “sleeping”.
- the emotional behavior estimation unit 151 estimates the behavior of the user 200 using a learned learning model or while performing machine learning. For example, the emotional behavior estimation unit 151 uses teacher data to deep-learn a learning model of a first neural network in which the input is a whole-body image of the user 200 and the output is the position of each joint of the user 200. Next, the emotional behavior estimation unit 151 uses teacher data to deep-learn a learning model of a second neural network in which the input is information about changes in the skeleton of the user 200 (changes in the position of each joint) and the output is the basic movements of the skeleton of the user 200. Then, the emotional behavior estimation unit 151 estimates the behavior of the user 200 based on the combination and order of the basic movements of the skeleton. As a result, when a new whole-body image of the user 200 operating a mobile phone is input to the learning model of the neural network and analyzed by AI, the behavior of the user 200 can be classified as "operating a mobile phone".
- the storage unit 126 stores information about the state sn of the user 200 (n is an identification number of the state s). Information about the state sn of the user 200 is managed, for example, by a database table. Table 2 below is an example of a state table TB2 related to the state sn of the user 200.
- the state table TB2 has a state ID that identifies the state sn of the user 200, and the state content of the user 200. There are as many states sn of the user 200 as there are combinations of emotions and actions of the user 200 that are predefined. Note that when the function of the estimation unit 111 is provided inside the robot 100, the storage unit 103 of the robot 100 stores the state table TB2.
- the robot 100 executes an action at, it may cause stress to the user 200. If the user 200 has a negative emotion such as "I'm a bit busy right now” or “I feel annoyed”, the user 200 will get bored with the robot 100, and the robot 100 will no longer be able to provide healing to the user 200.
- the robot 100 executes an action at that induces contact with the user 200, it becomes more likely that the robot 100 will be able to contact the user 200 without causing stress to the user 200. As the opportunities for contact with the user 200 increase, the robot 100 can provide healing to the user 200. In this way, it is inferred that there is a certain correlation between the state st of the user 200 and the value Q of the action at of the robot 100.
- the action decision unit 122 decides the action at of the robot 100 for the state st of the user 200 based on the value Q of the action at-1 (t-1 is the previous time).
- the storage unit 126 stores an action value table TB3 that represents the value Q of the robot's action an for the state sn of the user 200.
- the following Table 3 is an example of the action value table TB3 at a certain time t.
- the action decision unit 122 initializes the values Q of all actions an using random numbers and selects one action at from among the predetermined actions an.
- the behavior decision unit 122 continues to select only the action at with the highest value Q and continues learning, it will not transition to a state st+1 (t+1 is the next time) that has not yet been experienced. Therefore, it is preferable for the behavior decision unit 122 to use the ⁇ -greedy method or the like to select the action at with the highest value Q with a probability of 1- ⁇ , and to select one action at from all actions an with a probability of ⁇ .
- the action decision unit 122 also selects an arbitrary action at from all actions an with a probability of 0.1. This allows the user 200 to feel that the robot 100 is selecting the action at of its own free will, and the user 200 will not tire of the robot 100. Note that if there is no highest value Q and there are multiple values with the same value Q, the action decision unit 122 selects one of the actions at from the highest values Q in the same row by a random number.
- the communication control unit 125 transmits a command to the robot 100 to execute the action at determined by the action determination unit 122.
- the robot 100 receives the command to execute the action at via the communication control unit 102.
- the action control unit 112 then commands the motor control unit 107 or the output unit 108 to execute the action at of the robot 100.
- the robot 100 executes the action at that induces contact with the user 200 according to the state st of the user 200.
- the result acquisition unit 123 acquires information regarding the result of the interaction with the user 200 as a result of the action at of the robot 100. It is preferable that the information regarding the result of the interaction with the user 200 includes information regarding the approach of the user 200, information regarding the emotions of the user 200, and information regarding the time of the interaction with the user.
- the information regarding the approach of the user 200 includes at least whether the user 200 has approached (whether the user 200 has approached the robot 100).
- the information regarding the emotions of the user 200 includes at least the positive or negative emotion level of the user 200.
- the time of contact with the user 200 includes at least the length of time of contact with the user 200.
- the result acquisition unit 123 has an approach information acquisition unit 152, an emotion level estimation unit 153, and a contact time acquisition unit 154. Note that at least one of the functions of the approach information acquisition unit 152, the emotion level estimation unit 153, and the contact time acquisition unit 154 may be handled by another external device communicatively connected to the learning device 300. In addition, the function of the emotion level estimation unit 153 may be handled by the emotion behavior estimation unit 151.
- the approach information acquisition unit 152 acquires information about the approach of the user 200 (whether the user 200 is approaching or not) based on various sensor information such as the captured image Im (distance image), the first capacitance signal C1, or the second capacitance signal C2. For example, the approach information acquisition unit 152 acquires information that the user 200 is not approaching when the distance from the robot 100 to the user 200 is equal to or greater than a predetermined threshold (e.g., 1 m or greater). The approach information acquisition unit 152 acquires information that the user 200 is approaching when the distance from the robot 100 to the user 200 is less than a predetermined threshold (e.g., less than 1 m). Furthermore, it is preferable that the approach information acquisition unit 152 further acquires the approach speed of the user 200 with respect to the robot 100.
- a predetermined threshold e.g., 1 m or greater
- a predetermined threshold e.g., less than 1 m
- the approach information acquisition unit 152 further acquires the approach speed of the user 200 with respect to the robot
- the emotion level estimation unit 153 estimates the emotion level of the user 200 based on at least one of the facial image of the user 200 and information on at least one of the heart rate, breathing, blood pressure, and body temperature of the user 200. For example, if the emotion of the user 200 is classified as "neutral”, the emotion level estimation unit 153 estimates the emotion level as "neutral”, and if the emotion is classified as “happiness”, the emotion level estimation unit 153 estimates the emotion level as "very positive”. Also, if the emotion of the user 200 is classified as "sadness”, the emotion level estimation unit 153 estimates the emotion level as "negative”, and if the emotion is classified as “disgust", the emotion level estimation unit 153 estimates the emotion level as "very negative”.
- the contact time acquisition unit 154 acquires information about the time spent in contact with the user 200 based on various sensor information such as the haptic signal S. For example, the contact time acquisition unit 154 acquires the length of time spent in contact with the user 200 by calculating the total time of all on periods until the haptic signal S is completely turned off during a predetermined period after the robot 100 executes the action at.
- the result acquisition unit 123 acquires information regarding the result of the interaction with the user 200 (e.g., whether or not the user 200 approached, the emotional level of the user 200, and the length of time of interaction with the user 200) as a result of the action at of the robot 100.
- the learning unit 124 uses reinforcement learning to generate a learning model LM whose input is the state st of the user 200 (e.g., a combination of emotion and action) and whose output is the value Q(st, at) of the action at of the robot 100.
- the learning unit 124 also updates the learning model LM based on the result of the interaction with the user 200.
- the learning unit 124 obtains a reward r for the action at of the robot 100 based on the result of the interaction with the user 200, and updates the value Q (action value table TB3) of the action at for the state st of the user 200 based on the reward r.
- the learning unit 124 has a reward acquisition unit 155 and a value update unit 156.
- the reward acquisition unit 155 acquires a reward r for the action at of the robot 100 based on the result of the interaction with the user 200 (e.g., whether the user 200 approaches, the emotional level of the user 200, and the duration of the interaction with the user 200).
- the storage unit 126 stores information about a predetermined reward rn (n is the identification number of the reward r) based on the result of successful interaction with the user 200.
- Information about the reward rn is managed, for example, by a database table.
- Table 4 below is an example of a reward table TB4 indicating a predetermined reward rn.
- the reward table TB4 has a reward ID that identifies the reward rn, the result of successful interaction with the user 200, and a reward rn based on the result of successful interaction with the user 200. There are as many rewards rn as there are predefined results of successful interaction with the user 200.
- the reward acquisition unit 155 determines that contact with the user 200 has been established when the user 200 approaches the robot 100 (approach: yes) and the time of contact with the user 200 is equal to or longer than a predetermined threshold (e.g., 1 second or longer). In this case, the reward acquisition unit 155 acquires a predetermined reward rn according to the emotional level of the user 200 and the length of time of contact with the user 200. Although not shown in Table 4, the reward acquisition unit 155 may acquire a predetermined reward rn according to the approach speed of the user 200 in addition to the emotional level of the user 200 and the length of time of contact with the user 200.
- a predetermined threshold e.g. 1 second or longer.
- the reward rn may be defined as being more positive the longer the duration of contact with the user 200, and if the configuration of the robot 100 matches the inclinations of the user 200, it is expected that the frequency of contact with the user 200 will increase. Also, if the emotional level of the user 200 is negative, the reward rn may be defined as being more negative the longer the duration of contact with the user 200, and if the configuration of the robot 100 matches the inclinations of the user 200, it is expected that the frequency of contact with the user 200 will not decrease.
- the reward acquisition unit 155 determines that interaction with the user 200 has not occurred. In this case, the reward acquisition unit 155 acquires a reward rn of zero.
- the value update unit 156 updates the value Q of the action at of the robot 100 for the state st of the user 200 based on a predetermined reward rn.
- the value Q is updated according to the following formula 1.
- st is the state of user 200 at time t, and at is the action of robot 100 at time t. Due to the action at of robot 100, user 200's state changes to st+1 (t+1 is the next time).
- r is the reward obtained due to the change in user 200's state.
- the term with max is the value Q multiplied by the discount rate ⁇ (0 ⁇ 1) when selecting action at+1 with the highest value Q known at that time when the state is st+1.
- ⁇ is the learning coefficient (0 ⁇ 1) and adjusts the speed of learning.
- Equation 1 shows a method for updating the value Q(st, at) of an action at for a state st of the user 200 based on the reward r returned as a result of the action at of the robot 100. If the value Q of an action at of the robot 100 for a state st of the user 200 is smaller than the sum of the reward r and the discounted value Q of the best action at+1 for the next state st+1, the value Q(st, at) is increased.
- equation 1 makes the value Q of an action at in a state st approach the sum of the resulting reward r and the discounted value Q of the best action at+1 for the next state st+1.
- the value update unit 156 updates the value Q(sn, an) in the action value table TB3 using formula 1.
- the state observation unit 121 then observes the state st+1 of the next user 200.
- the action decision unit 122 determines the action at+1 of the robot 100 for the state st+1 of the next user 200 using the ⁇ -greedy method or the like, based on the value Q of the action at (in this example, the action value table TB3).
- the communication control unit 125 transmits a command to the robot 100 to execute the determined behavior at+1.
- the robot 100 receives the command for behavior at+1 from the learning device 300 via the communication control unit 102.
- the behavior control unit 112 then commands the motor control unit 107 or the output unit 108 to execute the behavior at+1 of the robot 100.
- the robot 100 executes the behavior at+1 that is appropriate for the state st+1 of the user 200.
- one method of expressing the value Q(st, at) on a computer is to store the value Q(st, at) for each combination of the states sn of all users 200 and the actions an of all robots 100 as an action value table TB3.
- the learning unit 124 uses deep reinforcement learning to generate a learning model of a neural network (DQN) in which the input is the state st of the user 200 (a combination of emotion and action) and the output is the value Q of the action at of the robot 100.
- DQN neural network
- Figure 9 is a diagram that shows a model of a neuron learning model
- Figure 10 is a diagram that shows a model of a three-layered neural network that combines the neurons shown in Figure 9.
- a neural network is composed of a calculation device and memory that mimics the model of a neuron (simple perceptron) as shown in Figure 9, for example.
- a neuron outputs an output (result) y for multiple inputs x (in Figure 9, inputs x1 to x3 are shown as an example).
- Each input x (x1, x2, x3) is multiplied by a weight w (w1, w2, w3) corresponding to this input x.
- the neuron outputs an output y expressed by the following equation 2.
- the input x, output y and weight w are all vectors.
- ⁇ is a bias
- fk is an activation function.
- FIG. 10 shows a three-layered neural network constructed by combining the neurons shown in FIG. 9.
- multiple inputs x here, inputs x1 to x3 are taken as an example
- results y here, outputs y1 to y3 are taken as an example
- W1 weights multiplied by these inputs
- Neurons N11 to N13 output z11 to z13, respectively.
- z11 to z13 are collectively referred to as feature vector Z1, and can be considered as a vector that extracts the features of an input vector.
- This feature vector Z1 is a feature vector between weights W1 and W2.
- z11 to z13 are multiplied by the corresponding weights and then input to two neurons N21 and N22.
- the weights multiplied by these feature vectors are collectively referred to as W2.
- Neurons N21 and N22 output z21 and z22, respectively.
- z21 and z22 are collectively referred to as feature vector Z2.
- This feature vector Z2 is a feature vector between weights W2 and W3.
- z21 and z22 are multiplied by the corresponding weights and then input to each of the three neurons N31 to N33.
- the weights multiplied by these feature vectors are collectively referred to as W3.
- neurons N31 to N33 output outputs y1 to y3, respectively.
- the neural network operates in a learning mode in which the neural network weights W1 to W3 are learned, and an estimation mode in which the outputs y1 to y3 are estimated from the inputs x1 to x3.
- weights W1 to W3 are learned using a learning data set, and in the estimation mode, the behavior at of the robot 100 is determined using these parameters. Note that although we have written estimation for convenience, it goes without saying that a variety of tasks such as detection and classification are possible.
- the weights W1 to W3 can be learned using backpropagation. Error information enters the neural network from the right side and flows to the left side.
- Backpropagation is a technique for adjusting (learning) the weights of each neuron so as to reduce the difference (error) between the output y when input x is input and the true output y (label data).
- Such neural networks can perform deep learning by adding more layers, even three or more. It is also possible to automatically obtain a computing device that has a convolutional neural network (CNN) that performs step-by-step feature extraction of the input, and a neural network that classifies or regresses the output, from training data alone.
- CNN convolutional neural network
- the learning unit 124 has two neural networks (DQN) including a target network TN (value Q(st,at)
- the two networks are stored in the storage unit 126.
- the structures of the two networks are the same, but the parameters ⁇ (corresponding to the weights mentioned above) are different.
- the input of both networks is the state st of the user 200, and the output is the value Q(st,at) of the action at of the robot 100.
- the state observing unit 121 observes the state st of the user 200 and outputs it to the action deciding unit 122 and the learning unit 124.
- the action deciding unit 122 inputs the state st of the user 200 to the target network TN, and decides the action at of the robot 100 by the ⁇ -greedy method or the like based on the value Q(st, at
- the communication control unit 125 transmits a command to the robot 100 to execute the decided action at, and the robot 100 executes the action at in response to the command to execute the action at.
- the result acquisition unit 123 acquires the result of the interaction with the user 200 (whether the user 200 approached, the emotional level of the user 200, and the duration of the interaction with the user 200) as a result of the action at of the robot 100, and outputs this to the learning unit 124.
- the learning unit 124 acquires a reward r based on the result of the interaction with the user 200.
- the state observation unit 121 also observes the next state st+1 of the user 200, and outputs this to the action decision unit 122 and the learning unit 124.
- the learning unit 124 saves the experience et ( ⁇ st, at, st+1, r>) of the robot 100 as an Experience Buffer in the storage unit 126.
- st is the state of the user 200
- at is the action of the robot 100
- st+1 is the next state of the user 200
- r is the reward. Note that it is preferable for the learning unit 124 to clip the reward r to the range of -1 to +1 so as not to overreact to outliers, etc. (so-called Reward Clipping).
- TD Temporal Difference
- the learning unit 124 reflects the parameter ⁇ of the Q network QN to the target network TN at any interval.
- the learning unit 124 may periodically copy all the parameters ⁇ of the Q network QN together to the target network TN, or may reflect the parameter ⁇ of the Q network QN little by little each time the parameter ⁇ of the Q network QN is updated.
- the behavior decision unit 122 inputs the next state st+1 of the user 200 to the target network TN. Then, the behavior decision unit 122 decides the behavior at+1 of the robot 100 by the ⁇ -greedy method or the like based on the value Q(st+1, at+1
- the communication control unit 125 transmits a command to execute the decided behavior at+1 to the robot 100, and the robot 100 executes the behavior at+1 in response to the command to execute the behavior at+1.
- the estimation unit 111 can perform deep reinforcement learning to estimate the behavior at of the robot 100 that is appropriate for the state st of the user 200.
- Fig. 11 is a flowchart illustrating the processing of the control unit 13.
- Fig. 11 shows the processing of instructing the control unit 13 to execute an action at that induces contact with the user 200 in accordance with the state st of the user 200.
- the control unit 13 acquires, by the acquisition unit 101, at least one of a captured image Im of the user 200 and biometric information B of the user 200.
- the captured image Im includes at least one of a facial image and a whole-body image of the user 200
- the biometric information B includes information on at least one of the heart rate, respiration, blood pressure, and body temperature of the user 200.
- step S10 power is supplied from the battery 15 to the camera 11, tactile sensor 12, first capacitance sensor 21, second capacitance sensor 31, and vital sensor 14.
- step S10 power is supplied from the battery 15 to the camera 11, tactile sensor 12, first capacitance sensor 21, second capacitance sensor 31, and vital sensor 14.
- power does not need to be supplied to the servo motor 35, display 24, speaker 25, and light 26.
- step S11 the control unit 13 uses the estimation unit 111 to estimate a predetermined behavior at of the robot 100 suited to the state st of the user 200 based on at least one of the captured image Im and the biometric information B. It is preferable that the control unit 13 uses the estimation unit 111 to estimate a predetermined behavior at of the robot 100 suited to the state st of the user 200 while performing reinforcement learning or by using a learned learning model. Note that the process in step S11 is not essential for the control unit 13, but can be executed by an external device (a learning device described below) communicatively connected to the robot 100. The detailed process in step S11 will be described separately with reference to FIG. 12.
- step S12 the control unit 13 instructs the behavior control unit 112 to execute behavior at that induces contact with the user 200 in accordance with the state st of the user 200.
- the control unit 13 repeats the processes of steps S10 to S12, thereby inducing contact with the user 200 and providing healing to the user 200.
- control unit 13 performs processing to command the execution of an action that induces contact with the user 200 according to the state st of the user 200.
- the function of the estimation unit 111 is handled by a learning device 300 that is communicatively connected to the robot 100, the processing of step S11 will be executed by the learning device 300.
- the servo motor 35, the display 24, the speaker 25, and the light 26 may be in a standby state (sleep state) in which the amount of power supplied is reduced.
- the control unit 13 it is preferable for the control unit 13 to reduce the power consumption of the battery 15 by waking up various devices as necessary from a standby state in which the power supply is reduced.
- Fig. 12 is a flowchart showing the processing of the estimation unit 111 (e.g., the learning device 300).
- Fig. 12 shows the processing in which the estimation unit 111 performs reinforcement learning to estimate a predetermined action at of the robot 100 suitable for the state st of the user 200.
- Each step shown in Fig. 12 is a detailed processing of step S11 shown in Fig. 11.
- the estimation unit 111 observes the state st of the user 200 based on at least one of the captured image Im and the biometric information B by the state observation unit 121.
- the estimation unit 111 estimates the emotion of the user 200 based on at least one of a facial image of the user 200 and information on at least one of the user 200's heart rate, breathing, blood pressure, and body temperature.
- the estimation unit 111 also estimates the behavior of the user 200 based on skeletal movement estimated from a whole-body image of the user 200. It is preferable that the estimation unit 111 observes a predetermined state st of the user 200 classified by a combination of the emotion and behavior of the user 200.
- step S21 the estimation unit 111 determines an action at of the robot 100 appropriate for the state st of the user 200 based on the value Q of the action at-1 (the action value table TB3 or the learning model LM such as DQN described above) by the action decision unit 122.
- the estimation unit 111 outputs a command to execute the action at to the action control unit 112 or transmits it to the robot 100 via the communication control unit 125, whereby the robot 100 executes the action at (step S12).
- steps S20 and S21 are estimation phases in which the behavior at of the robot 100 appropriate for the state of the user 200 is estimated, and the other steps are learning phases.
- step S22 the estimation unit 111 acquires information on the result of the interaction with the user 200 as a result of the action at of the robot 100, by the result acquisition unit 123.
- the result of the interaction with the user 200 preferably includes, for example, whether or not the user 200 has approached, the emotional level of the user 200, and the duration of the interaction with the user 200.
- step S23 the estimation unit 111 acquires a reward r for the action at of the robot 100 based on the result of the interaction with the user 200 through the reward acquisition unit 155.
- step S24 the estimation unit 111 uses the value update unit 156 to update the value Q of the action at of the robot 100 for the state st of the user 200 based on the reward r.
- step S12 the process returns to step S20, and the estimation unit 111 observes the state st+1 of the next user 200 using the state observation unit 121. Then, in step S21, the estimation unit 111 determines, using the action decision unit 122, an action at+1 of the robot 100 that is suitable for the state st+1 of the next user 200 based on the value Q of the updated action at. The robot 100 then executes the next action at+1 (step S12).
- the estimation unit 111 may provide a step in which the value update unit 156 determines whether the value Q of the action at has converged (i.e., whether learning has converged). If the estimation unit 111 determines that learning has converged, it does not need to execute the learning phase in the subsequent processing. In other words, the estimation unit 111 executes only the estimation phase, and uses the learned learning model LM (action value table TB3 or DQN, etc.) to estimate the action at+n of the robot 100 that is suitable for the state st+n of the user 200 (t+n is the time n times later).
- the learned learning model LM action value table TB3 or DQN, etc.
- Fig. 13 is a block diagram showing a functional configuration of an estimation unit 111 of a modified example.
- the estimation unit 111 of the modified example differs from the functional configuration of the estimation unit 111 shown in Fig. 8 in that it estimates an action at of the robot 100 suitable for a state st of the user 200 by performing supervised learning. That is, the learning unit 124 has a teacher data recording unit 157, an error calculation unit 158, and a learning model update unit 159. Only the points different from the configuration of the estimation unit 111 shown in Fig. 8 will be described below.
- the functions of the teacher data recording unit 157 can be realized by a non-volatile memory such as the HDD/SSD 304.
- the functions of the error calculation unit 158 and the learning model update unit 159 can be realized by a processor such as the CPU 301 executing processing defined in a program stored in a non-volatile memory such as the ROM 302.
- the learning unit 124 can use a decision tree (regression tree), a neural network, logistic regression, or the like as the learning model LM for supervised learning.
- a decision tree regression tree
- a neural network logistic regression
- logistic regression logistic regression
- the teacher data recording unit 157 stores teacher data previously obtained, for example, from other robots 100 or through simulations.
- the teacher data is data with results (labels) including the state st-n of the user 200 (t-n is the time n times ago), the action at-n of the robot 100, and the value Q of the action at-n (corresponding to a label).
- the estimation unit 111 receives teacher data from other robots 100 or from another external device via the communication control unit 125 or the like.
- the estimation unit 111 may also store experiences that the robot 100 itself has had as teacher data.
- the error calculation unit 158 first obtains teacher data from the teacher data recording unit 157, and calculates the error L of the value Q of the action at based on the teacher data. For example, if interaction with the user 200 actually occurred, the error calculation unit 158 calculates the error L assuming that there is an error of -log(Q(st,at)). Also, if interaction with the user 200 did not actually occur, the error calculation unit 158 calculates the error L assuming that there is an error of -log(1-Q(st,at)).
- the learning model update unit 159 updates the parameters (such as the weights mentioned above) of the learning model LM of the neural network so as to minimize the error L.
- the learning model LM can be updated using the error backpropagation method mentioned above. In this way, the learning unit 124 generates a learning model LM that has been trained to a certain level using teacher data.
- the estimation unit 111 uses the learning model LM generated by supervised learning to estimate an action at appropriate for the state st of the actual user 200. Then, the robot 100 executes an action at that induces contact with the user 200 according to the state st of the user 200.
- the state observation unit 121 observes the state st of the user 200, and the action decision unit 122 uses the learning model LM to decide a predetermined action at appropriate for the state st of the user 200.
- the communication control unit 125 then transmits a command to execute the action at to the robot 100, and the robot 100 executes the action at in response to the received command to execute the action at.
- the result acquisition unit 123 acquires the result of the interaction with the user 200 as a result of the action at of the robot 100.
- the error calculation unit 158 calculates the error of the value Q of the action at based on the result of the interaction with the user 200, and the learning model update unit 159 further updates the learning model LM of the neural network so as to minimize the error L.
- the behavior decision unit 122 uses the learning model LM to decide the behavior at+1 of the robot 100 that is appropriate for the next state st+1 of the user 200.
- the estimation unit 111 can estimate the behavior of the robot 100 appropriate for the state st of the user 200, using the learning model LM that has been learned to a certain level through supervised learning. For example, even if the robot 100 breaks down and is replaced with a robot 100 of the same model number, the replaced robot 100 will be able to learn from past experiences based on the teacher data of the breakdown and immediately execute the behavior at appropriate for the emotional state st of the user 200. Furthermore, the robot 100 will be able to execute the behavior at appropriate to a certain extent for the state st of the user 200, even when encountering a user 200 for the first time.
- Fig. 14 is a flowchart showing the process of the estimation unit 111 (learning device 300) according to a modified example.
- Fig. 14 shows the process in which the estimation unit 111 performs supervised learning to estimate the action at of the robot 100 suited to the state st of the user 200.
- Each step shown in Fig. 14 is a detailed process of step S11 shown in Fig. 11.
- step S30 the estimation unit 111 acquires teacher data from the teacher data recording unit 157 using the error calculation unit 158, and calculates the error L of the value Q of the action at of the robot 100 based on the teacher data.
- step S31 the estimation unit 111 uses the learning model update unit 159 to update the parameters (such as the weights described above) of the neural network learning model LM so as to minimize the error L. This allows the estimation unit 111 to estimate the action at appropriate for the state st of the actual user 200, using the learning model LM that has been trained to a certain level using teacher data.
- the estimation unit 111 observes the actual state st of the user 200 based on at least one of the captured image Im and the biometric information B by the state observation unit 121.
- the estimation unit 111 estimates the emotion of the user 200 based on at least one of a facial image of the user 200 and information on at least one of the heart rate, breathing, blood pressure, and body temperature of the user 200.
- the estimation unit 111 also estimates the behavior of the user 200 based on skeletal movement estimated from a whole-body image of the user 200. It is preferable that the estimation unit 111 observes a predetermined state st of the user 200 classified by a combination of the emotion and behavior of the user 200.
- step S33 the estimation unit 111 determines, through the action decision unit 122, an action at of the robot 100 that is appropriate for the state st of the user 200, based on the value Q of the action at-1 (learning model LM such as a neural network).
- the estimation unit 111 outputs a command to execute the action at to the action control unit 112, or transmits it to the robot 100 via the communication control unit 125.
- the robot 100 executes the action at according to the state st of the user 200 (step S12).
- steps S32 and S33 are estimation phases in which the behavior at of the robot 100 appropriate for the state of the user 200 is estimated, and the other steps are learning phases.
- step S34 the estimation unit 111 acquires information regarding the result of the interaction with the user 200 as a result of the action at of the robot 100, by the result acquisition unit 123.
- the information regarding the result of the interaction with the user 200 preferably includes whether or not the user 200 has approached, the emotional level of the user 200, and the duration of the interaction with the user 200.
- the estimation unit 111 calculates the error L of the value Q of the action at based on the result of the interaction with the user 200 using the error calculation unit 158.
- step S31 the estimation unit 111 updates the parameters (weights, etc.) of the learning model LM based on the error L using the learning model update unit 159.
- step S32 the estimation unit 111 observes the state st+1 of the next user 200 using the state observation unit 121. Then, in step S33, the estimation unit 111 determines an action at+1 of the robot 100 that is suitable for the state st+1 of the next user 200 based on the value Q of the updated action at using the action decision unit 122. The robot 100 then executes the next action at+1 (step S12).
- the estimation unit 111 may include a step in which the learning model update unit 159 determines whether the value Q of the action at has converged (i.e., whether the learning has converged). If the estimation unit 111 determines that the learning has converged, it is not necessary to execute the learning phase in the subsequent processing. In other words, the estimation unit 111 executes only the estimation phase, and uses the learned learning model LM (neural network, etc.) to estimate the action at+n of the robot 100 that is appropriate for the state st+n of the user 200 (t+n is the time n times later).
- the learning model update unit 159 determines whether the value Q of the action at has converged (i.e., whether the learning has converged). If the estimation unit 111 determines that the learning has converged, it is not necessary to execute the learning phase in the subsequent processing. In other words, the estimation unit 111 executes only the estimation phase, and uses the learned learning model LM (neural network, etc.) to estimate the action at+
- the robot 100 estimates a predetermined action at suitable for the state st of the user 200 based on at least one of the captured image Im of the user 200 and the biometric information B of the user 200. Then, the robot 100 executes an action at that induces contact with the user 200 according to the state st of the user 200. Therefore, the robot 100 can induce contact with the user 200 at an appropriate timing. As a result, contact with the user 200 can be continuously established, and healing can be continuously provided to the user 200.
- the captured image Im includes at least one of a facial image and a whole-body image of the user 200
- the biometric information B includes information on at least one of the heart rate, breathing, blood pressure, and body temperature of the user 200.
- the state st of the user 200 includes the user's emotions classified based on at least one of the facial image of the user 200 and information on at least one of the user's 200 heart rate, breathing, blood pressure, and body temperature. Even if the user 200 smiles momentarily, this does not necessarily mean that the user 200 is in a state of positive emotion. Therefore, by taking into account not only the facial image of the user 200 but also information on at least one of the user's 200 heart rate, breathing, blood pressure, and body temperature, the state st of the user 200 can be observed with high accuracy.
- the state st of the user 200 includes the behavior of the user 200 that is classified based on the skeletal movement estimated from a whole-body image of the user 200. Even if the user 200 has positive emotions, the user 200 may be busy with housework, work, or the like. Therefore, by observing the state st of the user 200 while taking into account not only the emotions of the user 200 but also the behavior of the user 200, the state st of the user 200 can be observed with high accuracy.
- the user's state st is a predetermined state sn classified according to a combination of the emotions and actions of the user 200 estimated from at least one of the captured image Im and the biometric information B. This allows the state sn of the user 200 to be classified into tens to hundreds of types, thereby suppressing an increase in the memory space of the action value table TB3.
- the robot 100 also generates a learning model LM by machine learning (reinforcement learning, supervised learning, etc.) in which the input is the state st of the user 200 and the output is the value Q of the action at of the robot 100. Therefore, the robot 100 can learn the action at that is suitable for the state st of the user 200, and can execute the action at that induces contact with the user 200 at an appropriate timing. As a result, contact with the user 200 can be continuously established, and healing can be continuously provided to the user 200.
- machine learning reinforcement learning, supervised learning, etc.
- the robot 100 further has a result acquisition unit 123 that acquires information regarding the results of the interaction with the user 200, and the learning unit 124 updates the learning model LM based on the results of the interaction with the user 200. Therefore, the robot 100 can continuously learn actions at that are suitable for the state st of the user 200, and execute actions at that induce interaction with the user 200 at an appropriate timing. Furthermore, the learning model LM can increase the reliability of the learning ability of the robot 100 by using the action value table TB3 or a neural network (DQN), the effectiveness of which has already been proven.
- DQN neural network
- the information regarding the result of the interaction with the user 200 includes whether or not the user 200 approached, the emotional level of the user 200, and the duration of the interaction with the user 200. Therefore, the robot 100 can determine whether or not the interaction with the user 200 has been established based on whether or not the user 200 approached and the duration of the interaction with the user 200.
- the learning unit 124 then obtains a reward r for the action at of the robot 100 based on the result of the interaction with the user 200, and updates the value Q of the action at for the user's state st based on the reward r. Therefore, the robot 100 can learn an action at that is appropriate for the state st of the user 200 according to the emotional level of the user 200 and the duration of the interaction with the user 200.
- the robot 100 may also use a learning model LM that has been trained to a certain level by supervised learning to estimate the behavior at of the robot 100 that is appropriate for the state st of the user 200.
- a learning model LM that has been trained to a certain level by supervised learning to estimate the behavior at of the robot 100 that is appropriate for the state st of the user 200.
- the behavior an of the robot 100 that induces contact with the user 200 includes not only behaviors that explicitly induce contact, but also behaviors that draw the user 200's attention to the robot 100's movements, or behaviors that implicitly induce contact. Therefore, even if the user 200 is in a state st where he or she has negative feelings, or is busy st, the robot 100 is unlikely to cause stress to the user 200. Rather, the robot 100 can be made to have a positive impression on the user 200, such as being cute or interesting.
- the above-mentioned functions of the estimation unit 111 of the robot 100 may be provided in a learning device 300 communicatively connected to the robot 100 for distributed processing. This can improve the learning processing capacity of the computer. Furthermore, distributed processing by the learning device 300 can provide technical effects such as reduced power consumption of the battery 15 of the robot 100, reduced number of charging times, and reduced battery weight.
- the robot according to this embodiment is particularly suitable for use in promoting oxytocin secretion and providing healing (a sense of security or self-affirmation) to working people living alone, seniors whose children have become independent, frail elderly people who are the recipients of in-home medical care, etc.
- the robot is not limited to this use and can be used for providing healing to a variety of users.
- An acquisition unit that acquires at least one of a captured image of a user and biometric information of the user; a behavior control unit that commands the execution of a predetermined behavior that induces contact with the user in accordance with a state of the user, based on at least one of the captured image and the biological information;
- a robot having the above configuration.
- An estimation unit that estimates the predetermined behavior suitable for a state of the user,
- the estimation unit is a condition observing unit that observes a condition of the user based on at least one of the captured image and the biological information; a behavior determining unit that determines the predetermined behavior appropriate for the state of the user based on a value of the predetermined behavior;
- the robot according to ⁇ 1> above, ⁇ 3>
- the captured image includes at least one of a face image and a whole-body image of the user,
- ⁇ 4> The robot according to any one of ⁇ 1> to ⁇ 3>, wherein the state of the user includes an emotion of the user classified based on at least one of a facial image of the user and information relating to at least one of a heart rate, respiration, blood pressure, and body temperature of the user.
- ⁇ 5> The robot according to any one of ⁇ 1> to ⁇ 4>, wherein the state of the user includes a behavior of the user classified based on a skeletal movement estimated from a whole-body image of the user.
- ⁇ 6> The robot according to any one of ⁇ 1> to ⁇ 5>, wherein the state of the user is a predetermined state classified by a combination of emotions and actions of the user estimated from at least one of the captured image and the biometric information.
- the estimation unit has a learning unit that generates a learning model by machine learning, the learning model having an input as a state of the user and an output as a value of an action of the robot.
- the estimation unit further includes a result acquisition unit that acquires information regarding a result of an interaction between the robot and the user as a result of the action of the robot, The robot described in ⁇ 7>, wherein the learning unit updates the learning model based on the results of the interaction with the user.
- the learning model is a behavior-value table or a neural network.
- the information regarding the result of the contact with the user includes whether or not the user has approached, an emotion level of the user, and a duration of contact with the user,
- the learning unit is obtaining a reward for the action of the robot based on a result of the interaction with the user;
- a learning device communicatively connected to a robot, a state observation unit that observes a state of the user based on at least one of a captured image of the user and biometric information of the user; A learning unit that generates a learning model by machine learning, the learning model having an input of the user's state and an output of the value of the robot's behavior; A learning device having the above configuration.
- ⁇ 12> a behavior determination unit that determines the behavior of the robot appropriate for a state of the user based on a value of the behavior;
- a communication control unit that transmits a command to execute the action to the robot;
- the robot further includes a result acquisition unit that acquires information regarding a result of an interaction between the robot and the user as a result of the action of the robot, The learning device according to ⁇ 11> or ⁇ 12>, wherein the learning unit updates the learning model based on the result of the interaction.
- a method for controlling a robot comprising: acquiring at least one of a captured image of a user and biometric information of the user; executing a predetermined action to induce contact with the user in accordance with a state of the user based on at least one of the captured image and the biological information; A control method for performing the above.
- the computer that controls the robot acquiring at least one of a captured image of a user and biometric information of the user; a step of instructing the robot to perform a predetermined action that induces contact with the user in accordance with a state of the user based on at least one of the captured image and the biological information; A program to execute.
- Torso 2 Head 2a: Right eye 2b: Left eye 2c: Mouth 2d: Right cheek 2e: Left cheek 3: Arm 3a: Right arm 3b: Left arm 4: Leg 4a: Right leg 4b: Left leg 10: Exterior member 11: Camera 12: Touch sensor 13: Control unit 14: Vital sensor (electromagnetic wave sensor) 141 Microwave emitter 142 Microwave receiver 15 Battery 16 Torso frame 17 Torso mount 21 First capacitance sensor 22 Head frame 23 Head mount 24 Display 24a Right eye display 24b Left eye display 25 Speaker 26 Light 26a Right cheek light 26b Left cheek light 27 Head connection mechanism 31 Second capacitance sensor 32a Right arm frame 32b Left arm frame 33 Right arm mount 34a Right arm connection mechanism 34b Left arm connection mechanism 35 Servo motor 35a Right arm servo motor 35b Left arm servo motor 35c Head servo motor 35d Right leg servo motor 35e Left leg servo motor 41a Right leg wheel 41b Left leg wheel 42a Right leg frame 42b Left leg frame 44a Right
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Electrically Operated Instructional Devices (AREA)
- Toys (AREA)
Abstract
適切なタイミングでユーザとの触れ合いを誘発する。ロボットは、ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得する取得部と、前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動の実行を指令する行動制御部と、を有する。
Description
本開示は、ロボット、学習装置、制御方法およびプログラムに関する。
従来から、ユーザとの触れ合いを想定したロボットが知られている。また、ユーザと触れ合うことにより癒しを提供するロボットが知られている。
特許文献1には、ユーザの体温を測定し、体温周期に基づいて体調を判定するロボットにおいて、女性の生理周期を参照することにより、配慮すべきタイミングに至ったときに行動態様を変化させることが開示されている。
しかし、特許文献1においては配慮すべきタイミングがユーザの体温周期を想定しており、限定的である。日常の様々な場面において体温周期に基づいてユーザにストレスを与えずにユーザに絡むタイミングを計ることは難しい。不適切なタイミングでユーザに絡むと、ユーザとの触れ合いに繋がらず、癒しを提供できない。
開示の技術は、適切なタイミングでユーザとの触れ合いを誘発することを目的とする。
本開示の一態様は、ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得する取得部と、前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動の実行を指令する行動制御部と、を有する、ロボットである。
本開示の他の態様は、ロボットに通信可能に接続する学習装置であって、ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方に基づき、前記ユーザの状態を観測する状態観測部と、入力を前記ユーザの状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部と、を有する、学習装置である。
本開示の他の態様は、ロボットに通信可能に接続する学習装置であって、ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方に基づき、前記ユーザの状態を観測する状態観測部と、入力を前記ユーザの状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部と、を有する、学習装置である。
本開示の一態様によれば、適切なタイミングでユーザとの触れ合いを誘発することができる。
以下、図面を参照して本開示の実施形態について詳細に説明する。各図面において、同一構成要素には同一符号を付与し、重複した説明を適宜省略する。
以下に示す実施形態は、本開示の技術思想を具体化するためのロボットを例示するものであって、本開示を以下に示す実施形態に限定するものではない。以下に記載されている構成部品の寸法、材質、形状、その相対的配置等は、特定的な記載がない限り、本開示の範囲をそれのみに限定する趣旨ではなく、例示することを意図したものである。また図面が示す部材の大きさや位置関係等は、説明を明確にするため、誇張している場合がある。
<ロボット100の全体構成例>
図1から図3を参照して、一実施形態に係るロボット100の構成について説明する。図1は、一実施形態に係るロボット100を例示する斜視図である。図2は、ロボット100の側面図である。図3は、図2におけるIII-III切断線に沿う断面図である。
図1から図3を参照して、一実施形態に係るロボット100の構成について説明する。図1は、一実施形態に係るロボット100を例示する斜視図である。図2は、ロボット100の側面図である。図3は、図2におけるIII-III切断線に沿う断面図である。
ロボット100は、外装部材10を有し、供給される電力により駆動可能なロボットである。本実施形態で例示するロボット100は、子熊を模した人形型のコミュニケーションロボットである。ロボット100は、ユーザが抱きかかえることに適した大きさおよび重量により製作されている。ここで、ユーザはロボット100のユーザを意味する。ユーザの代表的な一例には、一人暮らしの社会人、子供が独り立ちしたシニア、在宅医療の対象となるフレイル高齢者等が挙げられる。また、ユーザには、ロボット100の使用者のほか、ロボット100の管理者等の、単にロボット100に接触する接触者が含まれてもよい。
外装部材10は柔軟性を有する。外装部材10は、例えばロボット100のユーザがロボット100に触れた際に触り心地のよい軟質な素材を含んでいる。外装部材10の素材には、ウレタンフォーム、ゴム、樹脂、繊維等の有機材料を含むものを使用できる。外装部材10は、断熱性を有するウレタンフォーム材等の外装と、外装の外側表面を覆う柔らかい布材と、により構成されることが好ましい。
ロボット100は、一例として、胴部1と、頭部2と、腕部3と、脚部4と、を有する。頭部2は、右眼部2aと、左眼部2bと、口部2cと、右頬部2dと、左頬部2eと、を有する。腕部3は、右腕部3aと、左腕部3bと、を含み、脚部4は、右脚部4aと、左脚部4bと、を含む。ここで、胴部1はロボット本体に対応する。頭部2、腕部3および脚部4のそれぞれは、ロボット本体に対して相対的に変位可能に連結される駆動体に対応する。
本実施形態では、腕部3は、胴部1に対して変位可能に構成されている。例えば、ロボット100は、ユーザにより抱きかかえられた際に、右腕部3aおよび左腕部3bを変位させ、ユーザを抱擁するようにユーザの首や胴等に接触させる。この動作により、ユーザはロボット100に対して親近感を感じるため、ユーザとロボット100との触れ合いが促進される。なお、ユーザとの触れ合いとは、さする、タッピングする(触れる)およびハグする(抱きつく)等のようにユーザとロボット100が互いに触れ合う行為(接触する行為)を意味する。
胴部1、頭部2、腕部3および脚部4は、いずれも外装部材10により覆われている。胴部1における外装部材と、腕部3における外装部材と、は一体化しており、頭部2および脚部4における外装部材は、胴部1および腕部3における外装部材に対して分離している。但し、これらの構成に限定されるものではなく、例えばユーザに接触されやすいロボット100の部位のみが外装部材10により覆われていてもよい。また胴部1、頭部2、腕部3および脚部4それぞれにおける外装部材10の少なくとも1つが他の外装部材と分離されていてもよい。また頭部2、腕部3および脚部4のうちの変位しない部位が、その内側にセンサ等の構成部を含まず、外装部材10のみにより構成されてもよい。
ロボット100は、外装部材10の内側に、カメラ11と、触覚センサ12と、制御部13と、バイタルセンサ14と、バッテリ15と、第1静電容量センサ21と、第2静電容量センサ31と、を有する。またロボット100は、胴部1における外装部材10の内側に、カメラ11、触覚センサ12、制御部13、バイタルセンサ14およびバッテリ15を有する。さらにロボット100は、頭部2における外装部材10の内側に、第1静電容量センサ21を有し、腕部3における外装部材10の内側に、第2静電容量センサ31を有する。
またロボット100は、頭部2における外装部材10の内側に、ディスプレイ24と、スピーカ25と、ライト26と、を有する。さらにロボット100は、右眼部2aおよび左眼部2bにおける外装部材10の内側に、ディスプレイ24を有する。加えてロボット100は、口部2cにおける外装部材10の内側にスピーカ25を有し、右頬部2dおよび左頬部2eにおける外装部材10の内側にライト26を有する。
より詳しくは、図3に示すように、ロボット100は、胴部1における外装部材10の内側に、胴部フレーム16と、胴部載置台17と、を有する。またロボット100は、頭部2における外装部材10の内側に、頭部フレーム22と、頭部載置台23と、を有する。さらにロボット100は、右腕部3aにおける外装部材10の内側に、右腕部フレーム32aと、右腕部載置台33と、を有し、左腕部3bにおける外装部材10の内側に、左腕部フレーム32bを有する。加えてロボット100は、右脚部4aにおける外装部材10の内側に、右脚部フレーム42aを有し、左脚部4bにおける外装部材10の内側に、左脚部フレーム42bを有する。
胴部フレーム16、頭部フレーム22、右腕部フレーム32a、左腕部フレーム32b、右脚部フレーム42aおよび左脚部フレーム42bは、それぞれ複数の柱状部材を組合せて形成された構造体である。胴部載置台17、頭部載置台23、および右腕部載置台33は、載置面を有する板状部材である。胴部載置台17は胴部フレーム16に固定され、頭部載置台23は頭部フレーム22に固定され、右腕部載置台33は右腕部フレーム32aに固定されている。なお、胴部フレーム16、頭部フレーム22、右腕部フレーム32a、左腕部フレーム32b、右脚部フレーム42aおよび左脚部フレーム42bは、複数の板状部材を含む箱状に形成されてもよい。
右腕部フレーム32aは、右腕部連結機構34aを介して胴部フレーム16に連結しており、右腕部サーボモータ35aによって駆動されることにより、胴部フレーム16に対して相対的に変位可能である。右腕部フレーム32aが変位することにより、右腕部3aは胴部1に対して相対的に変位する。右腕部連結機構34aは、例えば右腕部サーボモータ35aの出力トルクを増加させる減速機を有することが好ましい。
本実施形態では、右腕部フレーム32aは、複数のフレーム部材と、複数の連結機構と、を含む多関節ロボットアームにより構成される。例えば右腕部フレーム32aは、右肩部フレームF1aと、右上腕部フレームF2aと、右肘部フレームF3aと、右前腕部フレームF4aと、を有している。胴部フレーム16、右肩部フレームF1a、右上腕部フレームF2a、右肘部フレームF3aおよび右前腕部フレームF4aは、それぞれ連結機構を介して互いに連結している。
右腕部サーボモータ35aは、複数のサーボモータの総称表記である。例えば右腕部サーボモータ35aは、右肩部サーボモータM1aと、右上腕部サーボモータM2aと、右肘部サーボモータM3aと、右前腕部サーボモータM4aと、を有している。右肩部サーボモータM1aは、胴部フレーム16に対して垂直な回転軸回りに右肩部フレームF1aを回動させる。右上腕部サーボモータM2aは、右肩部フレームF1aの回転軸に対して垂直な回転軸回りに右上腕部フレームF2aを回動させる。右肘部サーボモータM3aは、右上腕部フレームF2aの回転軸に対して垂直な回転軸回りに右肘部フレームF3aを回動させる。右前腕部サーボモータM4aは、右肘部フレームF3aの回転軸に対して垂直な回転軸回りに右前腕部フレームF4aを回動させる。
左腕部フレーム32bは、左腕部連結機構34bを介して胴部フレーム16に連結しており、左腕部サーボモータ35bによって駆動されることにより、胴部フレーム16に対して相対的に変位可能である。左腕部フレーム32bが変位することにより、左腕部3bは胴部1に対して相対的に変位する。左腕部連結機構34bは、例えば左腕部サーボモータ35bの出力トルクを増加させる減速機を有することが好ましい。
本実施形態では、左腕部フレーム32bは、複数のフレーム部材と、複数の連結機構と、を含む多関節ロボットアームにより構成される。例えば左腕部フレーム32bは、左肩部フレームF1bと、左上腕部フレームF2bと、左肘部フレームF3bと、左前腕部フレームF4bと、を有している。胴部フレーム16、左肩部フレームF1b、左上腕部フレームF2b、左肘部フレームF3bおよび左前腕部フレームF4bは、それぞれ連結機構を介して互いに連結している。
左腕部サーボモータ35bは、複数のサーボモータの総称表記である。例えば左腕部サーボモータ35bは、左肩部サーボモータM1bと、左上腕部サーボモータM2bと、左肘部サーボモータM3bと、左前腕部サーボモータM4bと、を有している。左肩部サーボモータM1bは、胴部フレーム16に対して垂直な回転軸回りに左肩部フレームF1bを回動させる。左上腕部サーボモータM2bは、左肩部フレームF1bの回転軸に対して垂直な回転軸回りに左上腕部フレームF2bを回動させる。左肘部サーボモータM3bは、左上腕部フレームF2bの回転軸に対して垂直な回転軸回りに左肘部フレームF3bを回動させる。左前腕部サーボモータM4bは、左肘部フレームF3bの回転軸に対して垂直な回転軸回りに左前腕部フレームF4bを回動させる。
このように腕部3が4軸の関節部を有することにより、ロボット100は、よりリアリティが高い動作を実現できる。例えばロボット100は、ニュートラルな感情を抱いた何もしていないユーザに対して腕部3を動かして「手を広げる」ことにより、ユーザとの触れ合いを誘発する行動が可能になる。またロボット100は、怒りの感情を抱いて歩いているユーザに対して腕部3を震わせて「怯える」ことにより、ユーザとの触れ合いを誘発する行動が可能になる。
頭部フレーム22は、頭部連結機構27を介して胴部フレーム16に連結しており、頭部サーボモータ35cによって駆動されることにより、胴部フレーム16に対して相対的に変位可能である。頭部フレーム22が変位することにより、頭部2は胴部1に対して相対的に変位する。頭部連結機構27は、例えば頭部サーボモータ35cの出力トルクを増加させる減速機を有することが好ましい。
本実施形態では、頭部フレーム22は、頸部フレームF1cと、顔部フレームF2cと、を有している。胴部フレーム16、頸部フレームF1cおよび顔部フレームF2cは、それぞれ連結機構を介して互いに連結している。
頭部サーボモータ35cは、複数のサーボモータの総称表記である。例えば頭部サーボモータ35cは、頸部サーボモータM1cと、顔部サーボモータM2cと、を有している。頸部サーボモータM1cは、胴部フレーム16に対して垂直な回転軸回りに頸部フレームF1cを回動させる。顔部サーボモータM2cは、頸部フレームF1cの回転軸に対して垂直な回転軸回りに顔部フレームF2cを回動させる。
このように頭部2が2軸の関節部を有することにより、ロボット100は、よりリアリティが高い動作を実現できる。例えばロボット100は、嫌悪の感情を抱いて携帯電話を操作しているユーザに対して頭部2を動かして「顔を見上げる」(注目する)ことにより、ユーザを心配している感情を表してユーザとの触れ合いを誘発する行動が可能になる。
右脚部フレーム42aは、右脚部連結機構44aを介して胴部フレーム16に連結しており、底面側に右脚部車輪41aを有している。ロボット100の姿勢を安定させるため、ロボット100は右脚部フレーム42aの前後方向に2個の右脚部車輪41aを有することが好ましい。右脚部車輪41aは、右脚部サーボモータ35dによって駆動されることにより、右脚部フレーム42aの前後方向に対して垂直な回転軸回りに回転可能である。右脚部車輪41aが回転することにより、ロボット100は走行が可能になる。右脚部連結機構44aは、例えば右脚部サーボモータ35dの出力トルクを増加させる減速機を有することが好ましい。
左脚部フレーム42bは、左脚部連結機構44bを介して胴部フレーム16に連結しており、底面側に左脚部車輪41bを有している。ロボット100の姿勢を安定させるため、ロボット100は左脚部フレーム42bの前後方向に2個の左脚部車輪41bを有することが好ましい。左脚部車輪41bは、左脚部サーボモータ35eによって駆動されることにより、左脚部フレーム42bの前後方向に対して垂直な回転軸回りに回転可能である。左脚部車輪41bが回転することにより、ロボット100は走行が可能になる。左脚部連結機構44bは、例えば左脚部サーボモータ35eの出力トルクを増加させる減速機を有することが好ましい。
本実施形態では、右脚部車輪41aおよび左脚部車輪41bを同時に前転または後転させることにより、ロボット100は前進または後進する。右脚部車輪41aと左脚部車輪41bのいずれか一方をブレーキにより制動させ、他方を前転または後転させることにより、ロボット100は右旋回または左旋回する。
このように脚部4により、ロボット100は、よりリアリティが高い動作を実現できる。例えばロボット100は、悲しみまたは驚きの感情を抱いて立ち止まっているユーザに対して脚部4を動かして「近づく」ことにより、ユーザとの触れ合いを誘発する行動が可能になる。
カメラ11は、胴部フレーム16に固定されている。触覚センサ12、制御部13、バイタルセンサ14およびバッテリ15は、胴部載置台17に固定されている。制御部13およびバッテリ15は、胴部載置台17における触覚センサ12およびバイタルセンサ14が固定された側とは反対側に固定されている。なお、ここでの制御部13およびバッテリ15の配置は、胴部載置台17上に配置可能なスペースの都合であって、必ずしも上記に限定されない。但し、胴部載置台17における触覚センサ12およびバイタルセンサ14が固定された側とは反対側にバッテリ15を固定すると、バッテリ15は他の構成部と比較して重いため、ロボット100の重心が低くなる。ロボット100の重心が低いと、ロボット100の位置および姿勢の少なくとも1つが安定し、かつバッテリ15の充電および交換の少なくとも1つが行いやすくなるため好ましい。
第1静電容量センサ21は、頭部載置台23に固定され、第2静電容量センサ31は右腕部載置台33に固定されている。ディスプレイ24は、右眼ディスプレイ24aと、左眼ディスプレイ24bと、を有している。右眼ディスプレイ24a、左眼ディスプレイ24bおよびスピーカ25は、頭部フレーム22に固定されている。ライト26は、右頬ライト26aと、左頬ライト26bと、を有している。右頬ライト26aおよび左頬ライト26bは、頭部フレーム22に固定されている。
なお、カメラ11、触覚センサ12、制御部13、バイタルセンサ14、バッテリ15、第1静電容量センサ21、第2静電容量センサ31等の固定は、ネジ部材または接着部材等により行うことができる。また右眼ディスプレイ24a、左眼ディスプレイ24b、スピーカ25、右頬ライト26a、左頬ライト26b等の固定も、ネジ部材または接着部材等により行うことができる。
胴部フレーム16、胴部載置台17、頭部フレーム22、頭部載置台23、右腕部フレーム32a、右腕部載置台33および左腕部フレーム32bの各材質に特段の制限はなく、樹脂材料または金属材料等を使用できる。但し、駆動時における強度を確保する観点では、胴部フレーム16、右腕部フレーム32aおよび左腕部フレーム32bには、アルミニウム等の金属材料を用いることが好ましい。一方、強度を確保可能であれば、ロボット100を軽量化するために、これら各部の材料には樹脂材料を用いることが好ましい。胴部載置台17、頭部フレーム22、頭部載置台23、右腕部載置台33および左腕部フレーム32bの各材質にも特段の制限はなく、樹脂材料または金属材料を使用できるが、ロボット100を軽量化する観点では、樹脂材料を用いることが好ましい。
制御部13は、カメラ11、触覚センサ12、バイタルセンサ14、第1静電容量センサ21、第2静電容量センサ31、右腕部サーボモータ35aおよび左腕部サーボモータ35bのそれぞれと、有線または無線により通信可能に接続している。また制御部13は、頭部サーボモータ35c、右脚部サーボモータ35dおよび左脚部サーボモータ35eのそれぞれにも、有線または無線により通信可能に接続している。さらに制御部13は、右眼ディスプレイ24a、左眼ディスプレイ24b、スピーカ25、右頬ライト26aおよび左頬ライト26bのそれぞれにも、有線または無線により通信可能に接続している。
カメラ11は、ロボット100周辺の撮影画像を制御部13に出力するイメージセンサである。本実施形態では、カメラ11は、ユーザを撮影する撮影部の一例である。カメラ11は、レンズと、該レンズによる像を撮像する撮像素子と、を含んでいる。撮像素子にはCCD(Charge Coupled Device)またはCMOS(Complementary Metal-Oxide Semiconductor)等を使用できる。撮影画像は、静止画または動画のいずれであってもよい。
またカメラ11は、ロボット100周辺の距離画像を制御部13に出力するTOF(Time Of Flight)カメラにより構成されることが好ましい。したがって、カメラ11から出力される撮影画像は、二次元の撮影画像に加えてまたは二次元の撮像画像の代わりに、三次元の撮影画像(距離画像)を含むこともある。撮影画像は、ユーザの存在または接近の検出、ロボット100からユーザまでの距離の検出、ユーザの認証、またはユーザの感情もしくは行動の推定等に用いられる。撮影画像は、ユーザを写した撮影画像の一例である。またロボット100は、カメラ11に加えて、超音波センサ、赤外線センサ、ミリ波レーダーまたはLiDAR(light Detection And Raging)等の人感センサを備えていてもよい。
触覚センサ12は、人間の手等に備わっている触覚が感じとる情報を検出し、電気信号である触覚信号に変換して制御部13に出力するセンサ素子である。例えば触覚センサ12は、ユーザがロボット100に接触することにより生じた圧力や振動の情報を圧電素子によって触覚信号に変換して制御部13に出力する。触覚センサ12から出力された触覚信号は、ロボット100に対するユーザ200の接触または存在の検出に用いられる。
バイタルセンサ14は、電磁波を利用してユーザの生体情報を取得する電磁波センサの一例である。バイタルセンサ14については、図4を参照して別途詳述する。
第1静電容量センサ21および第2静電容量センサ31は、ユーザがロボット100に接触または近接したことを静電容量の変化に基づき検出した静電容量信号を制御部13に出力するセンサ素子である。第1静電容量センサ21は、外装部材10の安定化の観点で可撓性を有さないリジッドセンサであることが好ましい。腕部3はユーザが触れやすい部位であるため、第2静電容量センサ31は、触り心地を良好にする観点において、導電糸等を含む可撓性を有するセンサであることが好ましい。第1静電容量センサ21および第2静電容量センサ31から出力された静電容量信号は、ロボット100に対するユーザの近接または存在の検出に用いられる。
右眼ディスプレイ24aおよび左眼ディスプレイ24bは、制御部13からの指令に応じて、文字、数字および記号等の文字列または画像を表示するディスプレイモジュールである。右眼ディスプレイ24aおよび左眼ディスプレイ24bは、例えば液晶ディスプレイモジュールにより構成される。右眼ディスプレイ24aおよび左眼ディスプレイ24bに表示される文字列または画像は、ロボット100の感情表現に用いられる。例えばロボット100は、幸福な感情を抱いて座っているユーザに対して右眼ディスプレイ24aおよび左眼ディスプレイ24bに「笑う」画像を表示して幸福を共感することにより、ユーザとの触れ合いを暗示的に誘発することが可能になる
スピーカ25は、制御部13からの音声信号を増幅して音声を出力するスピーカユニットである。スピーカ25から出力される音声は、ロボット100の言葉または鳴き声であり、ロボット100の感情表現に用いられる。例えばロボット100は、悲しみの感情を抱いて家事をしているユーザに対してスピーカ25から「(心配した)声を出す」音声を出力することにより、ユーザとの触れ合いを誘発する行動が可能になる。
右頬ライト26aおよび左頬ライト26bは、制御部13からのオンオフ信号に応じて明滅または色変更するライトモジュールである。右頬ライト26aおよび左頬ライト26bは、例えばLED(Light Emitting Diode)ライトモジュールにより構成される。右頬ライト26aおよび左頬ライト26bの明滅または色変更は、ロボット100の感情表現に用いられる。例えばロボット100は、悲しみの感情を抱いて座っているユーザに対して右頬ライト26aおよび左頬ライト26bを青色に明滅させて共感を表現することにより、ユーザとの触れ合いを誘発する行動が可能になる。
バッテリ15は、カメラ11、触覚センサ12、制御部13、バイタルセンサ14、第1静電容量センサ21、第2静電容量センサ31、右腕部サーボモータ35aおよび左腕部サーボモータ35bそれぞれに電力を供給する電源である。またバッテリ15は、頭部サーボモータ35c、右脚部サーボモータ35dおよび左脚部サーボモータ35eのそれぞれにも電力を供給する。さらにバッテリ15は、右眼ディスプレイ24a、左眼ディスプレイ24b、スピーカ25、右頬ライト26aおよび左頬ライト26bのそれぞれにも電力を供給する。バッテリ15には、リチウムイオン電池、リチウムポリマー電池等の各種二次電池を使用できる。
なお、ロボット100における第1静電容量センサ21および第2静電容量センサ31等の各種センサは必須の構成部ではない。ロボット100は、少なくともカメラ11、バイタルセンサ14および触覚センサ12を有していればよい。これらの設置位置も適宜変更可能である。さらにカメラ11、バイタルセンサ14および触覚センサ12等の各種センサは、ロボット100の外側に配置して無線を介してロボット100または外部装置に必要な情報を送信してもよい。例えばPC(Personal Computer)またはサーバにより構成される学習装置は、外部装置の一例である。
また、ロボット100は、制御部13を必ずしも外装部材10の内側に有さなくてもよく、制御部13は外装部材10の外側から無線を介して各機器と通信することもできる。バッテリ15は、外装部材10の外側から各構成部に電力供給することもできる。
本実施形態では、頭部2、腕部3および脚部4が変位可能である構成を例示しているが、これに限定されるものではなく、頭部2、腕部3および脚部4の少なくとも1つが変位可能であってもよい。また腕部3は、4軸の多関節ロボットアームにより構成されているが、6軸の多関節ロボットアームにより構成されてもよい。さらに腕部3は、ハンド等のエンドエフェクタを連結可能であることが好ましい。また脚部4は、車輪方式により構成されているが、クローラ方式または脚方式等により構成可能である。
ロボット100の構成および形状も、本実施形態で例示するものに限定されず、ユーザの嗜好やロボット100の使用形態等に応じて適宜変更可能である。例えばロボット100は、子熊を模した形態ではなく、産業用ロボット等のロボットアームの形態でもよいし、またはヒューマノイド等の人型の形態でもよい。またロボット100は、アーム、ディスプレイ、スピーカおよびライト等の少なくとも一つを有するドローンまたは車両等の移動装置の形態でもよい。
<バイタルセンサ14の構成例>
図4は、バイタルセンサ14の構成を例示する図である。バイタルセンサ14は、マイクロ波発射部141と、マイクロ波受信部142と、有するマイクロ波ドップラーセンサである。マイクロ波は電磁波の一例である。
図4は、バイタルセンサ14の構成を例示する図である。バイタルセンサ14は、マイクロ波発射部141と、マイクロ波受信部142と、有するマイクロ波ドップラーセンサである。マイクロ波は電磁波の一例である。
バイタルセンサ14は、ロボット100における外装部材10の内側から、マイクロ波発射部141によって、ユーザ200に向けてマイクロ波である発射波Msを発射する。またバイタルセンサ14は、発射波Msがユーザ200により反射された反射波Mrを、マイクロ波受信部142により受信する。
バイタルセンサ14は、発射波Msの周波数と反射波Mrの周波数との差から、ドップラー効果を利用して、ユーザ200の心臓の拍動等により体表面に生じる微小変位を非接触で検出する。バイタルセンサ14は、検出した微小変位からユーザ200の生体情報としての心拍、呼吸、脈波、血圧等の情報を取得し、取得した生体情報を制御部13に出力できる。
但し、バイタルセンサ14は、マイクロ波ドップラーセンサに限定されるものではなく、人体とアンテナの結合の変化を利用して体表面に生じる微小な変位を検出するものであってもよいし、近赤外光等のマイクロ波以外の電磁波を利用するものであってもよい。またバイタルセンサ14は、ミリ波レーダー、マイクロ波レーダー等であってもよい。さらにバイタルセンサ14は、ドップラーセンサに加え、ユーザ200から発する赤外線等を検知する非接触体温計を兼ね備えていることが好ましい。この場合、バイタルセンサ14は、心拍(脈拍)、呼吸、血圧および体温のうちの少なくとも一つに関する情報を含んだユーザ200の生体情報を検知する。
本実施形態では、外装部材10の内側にバイタルセンサ14が設けられているため、ユーザ200は、バイタルセンサ14を視認することはできない。これにより、生体情報を検出されることに対するユーザ200の抵抗感が抑制され、生体情報の円滑な取得が可能になる。また、バイタルセンサ14は非接触で生体情報を取得できるため、ユーザが同じ場所に一定期間接触することが求められる接触式のセンサとは異なり、ユーザがある程度動いたとしても生体情報を取得できる。
また、ロボット100の抱擁動作等によってユーザ200とロボット100との触れ合いを促進することにより、ロボット100は、ユーザ200に抱きかかえられ、ユーザ200に接触または近接した状態で生体情報を取得できる。これにより、ロボット100は、ノイズが抑制された信頼性が高い生体情報を取得できる。
<制御部13の構成例>
(ハードウェア構成例)
図5は、制御部13のハードウェア構成を示すブロック図である。制御部13は、コンピュータによって構築されており、CPU(Central Processing Unit)131と、ROM(Read Only Memory)132と、RAM(Random Access Memory)133と、を有する。また制御部13は、HDD/SSD(Hard Disk Drive/Solid State Drive)134と、機器接続I/F(Interface)135と、通信I/F136と、を有する。これらは、システムバスAを介して相互に通信可能に接続している。
(ハードウェア構成例)
図5は、制御部13のハードウェア構成を示すブロック図である。制御部13は、コンピュータによって構築されており、CPU(Central Processing Unit)131と、ROM(Read Only Memory)132と、RAM(Random Access Memory)133と、を有する。また制御部13は、HDD/SSD(Hard Disk Drive/Solid State Drive)134と、機器接続I/F(Interface)135と、通信I/F136と、を有する。これらは、システムバスAを介して相互に通信可能に接続している。
CPU131は、各種の演算処理を含む制御処理を実行する。ROM132は、IPL(Initial Program Loader)等のCPU131の駆動に用いられるプログラムを記憶する。RAM133は、CPU131のワークエリアとして使用される。HDD/SSD134は、プログラム等の各種情報、カメラ11により取得された撮像画像、バイタルセンサ14により取得された生体情報、触覚センサ12により取得された触覚信号等の各種センサによる検出情報等を記憶する。
機器接続I/F135は、制御部13を各種の外部機器と接続するためのインターフェースである。ここでの外部機器は、カメラ11、触覚センサ12、バイタルセンサ14、第1静電容量センサ21、第2静電容量センサ31、サーボモータ35およびバッテリ15等である。また外部機器には、ディスプレイ24、スピーカ25およびライト26等も含まれる。
ここでサーボモータ35は、右腕部サーボモータ35a、左腕部サーボモータ35b、頭部サーボモータ35c、右脚部サーボモータ35dおよび左脚部サーボモータ35eの総称表記である。またディスプレイ24は、右眼ディスプレイ24aおよび左眼ディスプレイ24bの総称表記である。さらにライト26は、右頬ライト26aおよび左頬ライト26bの総称表記である。
通信I/F136は、通信ネットワーク等を介して、外部装置との間で通信するためのインターフェースである。例えば、制御部13は、通信I/F136を介してインターネットに接続し、インターネットを介して外部装置との間で通信する。
なお、CPU131により実現される機能の少なくとも一部は、電気回路または電子回路により実現されてもよい。
(機能構成例)
図6は、制御部13の機能構成を示すブロック図である。制御部13は、取得部101と、通信制御部102と、格納部103と、認証部104と、登録部105と、開始制御部106と、モータ制御部107と、出力部108と、を有する。さらに制御部13は、検出部110、推定部111と、行動制御部112と、を有する。
図6は、制御部13の機能構成を示すブロック図である。制御部13は、取得部101と、通信制御部102と、格納部103と、認証部104と、登録部105と、開始制御部106と、モータ制御部107と、出力部108と、を有する。さらに制御部13は、検出部110、推定部111と、行動制御部112と、を有する。
制御部13は、取得部101および出力部108の各機能を機器接続I/F135等により実現し、通信制御部102の機能を通信I/F136等により実現できる。また、制御部13は、格納部103および登録部105の各機能をHDD/SSD134等の不揮発性メモリにより実現できる。さらに認証部104、開始制御部106およびモータ制御部107の各機能を、CPU131等のプロセッサがROM132等の不揮発性メモリに格納されたプログラムに規定された処理を実行すること等により実現できる。
また検出部110、推定部111および行動制御部112の各機能を、CPU131等のプロセッサがROM132等の不揮発性メモリに格納されたプログラムに規定された処理を実行すること等により実現できる。なお、制御部13が有する上記機能の一部は、PCまたはサーバ等の外部装置により実現されてもよいし、制御部13と外部装置との分散処理により実現されてもよい。例えば推定部111は、ロボット100に通信可能に接続する学習装置として構成されてもよい。
取得部101は、制御部13とカメラ11との間での通信を制御することにより、カメラ11からユーザ200を写した撮影画像Imを取得する。また取得部101は、制御部13と触覚センサ12との間での通信を制御することにより、触覚センサ12から触覚信号Sを取得する。さらに取得部101は、制御部13とバイタルセンサ14との間での通信を制御することにより、バイタルセンサ14からユーザ200の生体情報Bを取得する。
また取得部101は、制御部13と第1静電容量センサ21との間での通信を制御することにより、第1静電容量センサ21から第1静電容量信号C1を取得する。また取得部101は、制御部13と第2静電容量センサ31との間での通信を制御することにより、第2静電容量センサ31から第2静電容量信号C2を取得する。
通信制御部102は、通信ネットワーク等を介して外部装置との間で通信を制御する。例えば通信制御部102は、カメラ11により取得された撮影画像Im、バイタルセンサ14により取得された生体情報B、触覚センサ12により取得された触覚信号S等を、通信ネットワークを介して外部装置(例えば後述の学習装置)に送信できる。
格納部103は、バイタルセンサ14により取得された生体情報Bを格納する。格納部103は、取得部101がバイタルセンサ14から生体情報Bを取得している間、取得される生体情報Bを連続して格納する。また格納部103は、カメラ11による撮影画像Im、触覚センサ12からの触覚信号S、第1静電容量センサ21からの第1静電容量信号C1、および第2静電容量センサ31からの第2静電容量信号C2から得られる情報も格納できる。
認証部104は、カメラ11によるユーザ200の撮影画像Imに基づいてユーザ200を個人認証する。例えば認証部104は、カメラ11により撮影されたユーザ200の顔を含む撮影画像Imに基づき、登録部105に予め登録された顔画像の登録情報109を参照して顔認証する。これにより、現在、ロボット100に接触または近接しているユーザ200と、予め登録された個人情報と、を対応付け、バイタルセンサ14により取得される生体情報Bと、該個人情報と、を対応付けることができる。また、制御部13は、撮影画像Imに含まれる顔画像が登録部105に登録されていない場合には、バイタルセンサ14による生体情報の取得開始を中止するように制御することもできる。
開始制御部106は、バイタルセンサ14に生体情報Bの取得を開始させる。例えば、開始制御部106は、検出部110により、ロボット100に対するユーザ200の接触または近接が検出された場合に、バッテリ15からバイタルセンサ14へ電力供給するスイッチ等をオンする。これにより開始制御部106は、バイタルセンサ14に生体情報Bの取得を開始させる。
検出部110は、カメラ11による撮影画像Im等に基づき、ロボット100周辺のユーザ200の存在または接近を検出する。検出部110は、カメラ11による撮影画像Im(距離画像)に基づき、ロボット100からユーザ200までの距離を検出することが好ましい。また検出部110は、第1静電容量信号C1または第2静電容量信号C2に基づき、ロボット100に対するユーザ200の近接または存在を検出してもよい。さらに検出部110は、触覚センサ12からの触覚信号Sに基づき、ロボット100に対するユーザ200の接触または存在を検出する。
推定部111は、ユーザ200を写した撮像画像Imと、ユーザ200の生体情報Bとに基づき、ユーザ200の状態に適したロボット100の所定の行動an(nは行動aの識別番号)を推定する。本実施形態において、推定部111は、強化学習を行ってユーザ200の状態st(tは時刻)に適したロボット100の行動at(tは時刻)を推定する。但し、推定部111は、教師あり学習、半教師あり学習または教師なし学習等の他の機械学習を行ってユーザ200の状態stに適したロボット100の所定の行動atを推定してもよい。
強化学習を行う推定部111の構成については、図8を参照して別途詳述する。また教師あり学習を行う推定部111の構成については、図13を参照して別途詳述する。さらに推定部111は、学習が収束した場合には、学習済の学習モデル(本実施形態では行動価値テーブルまたはニューラルネットワーク)を用いてユーザ200の状態stに適したロボット100の行動atを推定してもよい。この場合、推定部111は、所定のロジックまたは所定のアルゴリズムによりユーザ200の状態stに適したロボット100の所定の行動atを推定することになる。
行動制御部112は、モータ制御部107または出力部108に対してロボット100の行動atの実行を指令する。また行動制御部112は、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動atの実行を指令する。ロボット100が適切なタイミングでユーザ200との触れ合いを誘発する行動を行うことにより、ユーザ200との触れ合いに繋がり、ユーザ200に癒しを提供することができる。
なお、ユーザ200との触れ合いを誘発する行動atは、例えば「手を広げる」または「手を振る」等のようにユーザ200との触れ合いを明示的に誘発する行動である。またユーザ200との触れ合いを誘発する行動atは、例えば「怯える」または「歌う」等のようにユーザ200との触れ合いを暗示的に誘発する行動でもよい。
格納部103は、事前に定義されたロボット100の行動anに関する情報を格納する。ロボット100の行動anに関する情報は、例えばデータベースのテーブルにより管理される。以下の表1は、ロボット100の行動anに関する行動テーブルTB1の一例である。行動テーブルTB1は、ロボット100の行動anを識別する行動IDと、ロボット100の行動内容と、行動anの指令内容と、1サイクル当たりの行動時間と、用途例と、を有する。
表1における指令内容における符号は、制御対象の符号を表す。また教示指令とは、オフラインティーチング、オンラインティーチングまたはダイレクトティーチング等の教示方法を用いて事前に教示される動作指令である。また追尾指令とは、撮影画像Im(距離画像)等の各種センサ情報に基づき、ユーザ200の位置および姿勢を追尾する動作指令である。
モータ制御部107は、行動制御部112からのロボット100の行動atの実行の指令に応じて、サーボモータ35の駆動を制御する。ロボット100の行動内容が例えば「手を広げる」の場合、モータ制御部107は、事前に教示された「手を広げる」動作指令を実行する。
出力部108は、行動制御部112からの行動atの実行の指令に応じて、制御部13とディスプレイ24との間で通信を制御する。ロボット100の行動内容が例えば「目で笑う」の場合、出力部108は、笑顔の画像データを右眼ディスプレイ24aおよび左眼ディスプレイ24bに出力する。
また出力部108は、行動制御部112からの行動atの実行の指令に応じて、制御部13とスピーカ25との間で通信を制御する。ロボット100の行動内容が例えば「(呼びかける)声を出す」の場合、出力部108は、呼びかける音声出力信号をスピーカ25に出力する。
さらに出力部108は、行動制御部112からの行動atの実行の指令に応じて、制御部13とライト26との間で通信を制御する。ロボット100の行動内容が例えば「頬を明滅する」の場合、出力部108は、オンオフ信号を右頬ライト26aおよび左頬ライト26bのスイッチング素子に出力する。
<推定部111の構成>
(ハードウェア構成例)
図7は、推定部111のハードウェア構成を示すブロック図である。図7は、図6に示す推定部111を、ロボット100に通信可能に接続する学習装置300として構成した例を示している。但し、推定部111の機能は、図6に示すようにロボット100の内部に設けてもよい。
(ハードウェア構成例)
図7は、推定部111のハードウェア構成を示すブロック図である。図7は、図6に示す推定部111を、ロボット100に通信可能に接続する学習装置300として構成した例を示している。但し、推定部111の機能は、図6に示すようにロボット100の内部に設けてもよい。
推定部111は、コンピュータによって構築されており、CPU301と、ROM302と、RAM303と、HDD/SSD304と、機器接続I/F305と、通信I/F306と、を有する。これらは、システムバスA′を介して相互に通信可能に接続している。なお、コンピュータの学習処理能力を向上させるため、学習装置300は、GPU(Graphics Processing Unit)を有するか、または複数のコンピュータを有するPCクラスタ等により構成されることが好ましい。
CPU301は、各種の演算処理を含む制御処理を実行する。ROM302は、IPL(Initial Program Loader)等のCPU301の駆動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。HDD/SSD304は、プログラム等の各種情報、カメラ11により取得された撮像画像Im、バイタルセンサ14により取得された生体情報B、または各種センサによる検出情報等を記憶する。
機器接続I/F305は、推定部111を各種の外部機器と接続するためのインターフェースである。ここでの外部機器は、カメラ11、触覚センサ12、バイタルセンサ14、第1静電容量センサ21、第2静電容量センサ31等である。但し、推定部111は、後述の通信I/F306を介して、これら各種センサの検出情報等をロボット100から取得してもよい。
通信I/F306は、通信ネットワーク等を介して、ロボット100等の外部装置との間で通信するためのインターフェースである。例えば推定部111は、通信I/F136を介してインターネットに接続し、インターネットを介して外部装置との間で通信する。また推定部111は、通信I/F306により外部装置と直接的に無線通信を行う。
なお、CPU301により実現される機能の少なくとも一部は、電気回路または電子回路により実現されてもよい。
(機能構成例)
図8は、推定部111の機能構成を示すブロック図である。推定部111は、状態観測部121と、行動決定部122と、結果取得部123と、学習部124と、通信制御部125と、格納部126と、を有する。なお、推定部111の機能をロボット100の内部に設ける場合は、通信制御部125および格納部126が不要になる。また推定部111が学習済の学習モデルLMを用いてまたは所定のアルゴリズムに基づいてユーザ200の状態stに適したロボット100の行動atを推定する場合、結果取得部123および学習部124が不要になる。
図8は、推定部111の機能構成を示すブロック図である。推定部111は、状態観測部121と、行動決定部122と、結果取得部123と、学習部124と、通信制御部125と、格納部126と、を有する。なお、推定部111の機能をロボット100の内部に設ける場合は、通信制御部125および格納部126が不要になる。また推定部111が学習済の学習モデルLMを用いてまたは所定のアルゴリズムに基づいてユーザ200の状態stに適したロボット100の行動atを推定する場合、結果取得部123および学習部124が不要になる。
状態観測部121、行動決定部122、結果取得部123および学習部124の各種機能は、CPU301等のプロセッサがROM302等の不揮発性メモリに格納されたプログラムに規定された処理を実行すること等により実現できる。また通信制御部125の機能は、通信I/F306等により実現できる。さらに格納部126の機能は、HDD/SDD304等の不揮発性メモリにより実現できる。
本実施形態の推定部111は、強化学習を行ってユーザ200の状態stに適したロボット100の行動atを推定する。強化学習のアルゴリズムとしては、Q学習、Sarsa、モンテカルロ法および深層強化学習(DQN(Deep-Q-Network)を用いた強化学習)等のうちのいずれか一つを用いることができる。以下では、Q学習および深層強化学習を例示して説明する。
状態観測部121は、ユーザ200の状態stを観測するための各種処理を実行する。状態観測部121は、ユーザ200を写した撮影画像Imと、ユーザ200の生体情報Bとの少なくとも一方に基づき、ユーザ200の状態stを観測する。撮像画像Imは、ユーザ200の顔画像および全身画像の少なくとも一方を含み、生体情報Bは、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報を含む。例えば生体情報Bは、ユーザ200の心拍数〔bpm〕、呼吸数〔回/分〕、血圧値〔mmHg〕および体温〔℃〕のうちの少なくとも一つを含む。
ユーザ200の状態stは、ユーザ200の顔画像と、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報と、の少なくとも一方に基づき分類される感情の状態を含む。またユーザ200の状態stは、ユーザ200の全身画像から推定された骨格の動作に基づき分類される行動の状態をさらに含むことが好ましい。つまりユーザ200の状態stは、撮影画像Imおよび生体情報Bの少なくとも一方から推定したユーザ200の感情および行動の組み合わせにより分類される所定の状態である。なお、ユーザ200の状態stは、撮影画像Imおよび生体情報Bから推定したユーザ200の感情の状態のみでもよいし、またはユーザ200を写した撮影画像Imから推定したユーザ200の行動の状態のみでもよい。
状態観測部121は、感情行動推定部151を有する。感情行動推定部151は、状態観測部121における一処理を担当する。なお、感情行動推定部151の機能は、学習装置300に通信可能に接続する別の外部装置が担当してもよい。感情行動推定部151は、ユーザ200の顔画像と、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報と、の少なくとも一方に基づき、ユーザ200の感情を推定する。ユーザ200の感情は、ユーザ200の顔画像と、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報とに基づき、所定の状態に分類される。例えばユーザ200の感情は、「ニュートラル」、「幸福」、「悲しみ」、「嫌悪」、「恐怖」、「驚き」および「怒り」のうちの少なくとも一つに分類されることが好ましい。ユーザ200の感情は、例えば「恐怖」および「驚き」などの組み合わせでもよい。
感情行動推定部151は、学習済の学習モデルを用いてまたは機械学習を行いながらユーザ200の感情の推定を行う。例えば感情行動推定部151は、教師データを用いて、入力をユーザ200の顔画像、心拍数および血圧値等とし、出力を「幸福」、「悲しみ」および「嫌悪」等のユーザ200の感情としたニューラルネットワークの学習モデルを深層学習する。これにより、ユーザ200が笑顔の時の新たな顔画像、心拍数および血圧値をニューラルネットワークの学習モデルに入力してAI(人工知能)解析すると、ユーザ200の感情を「幸福」に分類することができる。
また感情行動推定部151は、ユーザ200の全身画像から推定した骨格の動作に基づき、ユーザ200の行動を推定する。例えば感情行動推定部151は、ユーザ200の全身画像から各関節の位置を学習し、各関節の位置からユーザ200の骨格を推定し、推定した骨格の動作に基づき、ユーザ200の行動を推定する。骨格の動作は、「立つ」、「座る」、「しゃがむ」、「歩く」、「右腕前」、「左腕前」、「首を振る」等の基本動作により構成される。またユーザ200の行動は、骨格の一つまたは複数の基本動作の組み合わせおよび順序により構成される。例えばユーザ200の行動は、「何もしていない」、「歩いている」、「座っている」、「携帯電話を操作している」、「料理をしている」、「キーボードを打っている」、「テレビを見ている」および「寝ている」等のうちの少なくとも一つに分類される。
感情行動推定部151は、学習済の学習モデルを用いてまたは機械学習を行いながらユーザ200の行動の推定を行う。例えば感情行動推定部151は、教師データを用いて、入力をユーザ200の全身画像とし、出力をユーザ200の各関節の位置とする第1ニューラルネットワークの学習モデルを深層学習する。次に感情行動推定部151は、教師データを用いて、入力をユーザ200の骨格の変化(各関節の位置の変化)に関する情報とし、出力をユーザ200の骨格の基本動作とする第2ニューラルネットワークの学習モデルを深層学習する。そして感情行動推定部151は、骨格の基本動作の組み合わせおよび順序に基づき、ユーザ200の行動を推定する。これにより、ユーザ200が携帯電話を操作している時の新たな全身画像をニューラルネットワークの学習モデルに入力してAI解析すると、ユーザ200の行動を「携帯電話を操作している」に分類することができる。
格納部126は、ユーザ200の状態sn(nは状態sの識別番号)に関する情報を格納する。ユーザ200の状態snに関する情報は、例えばデータベースのテーブルにより管理される。以下の表2は、ユーザ200の状態snに関する状態テーブルTB2の一例である。状態テーブルTB2は、ユーザ200の状態snを識別する状態IDと、ユーザ200の状態内容と、を有する。ユーザ200の状態snは、事前に定義されたユーザ200の感情および行動の組み合わせの数だけ存在する。なお、推定部111の機能がロボット100の内部に設けられる場合、ロボット100の格納部103が状態テーブルTB2を格納する。
例えばユーザ200の状態stが「感情:ニュートラル,行動:キーボードを打っている」の場合には、ユーザ200がニュートラルな感情を抱いているが、仕事等により忙しい状態であると観測される。したがって、ロボット100が何か行動atを実行すると、ユーザ200にストレスを与える可能性がある。ユーザ200が「今はちょっと忙しい」または「鬱陶しい」といったネガティブな感情を抱いた場合、ユーザ200はロボット100に飽きてしまい、ロボット100はユーザ200に癒しを提供できなくなってしまう。
一方、ユーザ200の状態stが「感情:幸福,行動:座っている」の場合には、ユーザ200がポジティブな感情を抱いていて比較的忙しくない状態であると観測される。したがって、ロボット100がユーザ200との触れ合いを誘発する行動atを実行すると、ユーザ200にストレスを与えずにユーザ200と触れ合える可能性が高くなる。ユーザ200と触れ合える機会が増えると、ロボット100はユーザ200に癒しを提供することができる。このようにユーザ200の状態stと、ロボット100の行動atの価値Qとの間には、一定の相関関係があることが推認される。
行動決定部122は、行動at-1(t-1は前回の時刻)の価値Qに基づき、ユーザ200の状態stに対するロボット100の行動atを決定する。格納部126は、ユーザ200の状態snに対するロボットの行動anの価値Qを表す行動価値テーブルTB3を格納する。以下の表3は、或る時刻tにおける行動価値テーブルTB3の一例である。
行動価値テーブルTB3の初期状態(時刻t=0等)においては、ユーザ200の状態stに対するロボット100の行動atの価値Qが分かっていない。そこで、行動決定部122は、全ての行動anの価値Qを乱数により初期化し、所定の行動anの中から1つの行動atを選択することが好ましい。
また行動決定部122は、価値Qが最も高い行動atのみを選択し続けて学習を進めると、未だ経験したことがない状態st+1(t+1は次回の時刻)に遷移することがなくなってしまう。そこで、行動決定部122は、ε-greedy法等を用いて、確率1-εで価値Qが最も高い行動atを選択し、確率εで全ての行動anの中から1つの行動atを選択することが好ましい。
例えばユーザ200の状態stが「感情:悲しみ、行動:歩いている」の場合、行動決定部122は、0.9の確率(ε=0.1)で価値Qが最も高い「踊る」行動atを選択する。これにより、ユーザ200との触れ合いを誘発する可能性が高くなる。また行動決定部122は、0.1の確率で全ての行動anの中から任意の行動atを選択する。これにより、ユーザ200はロボット100が自由な意思の下で行動atを選択していると感じ、ロボット100に飽きなくなる。なお、最も高い価値Qがなく、同じ価値Qが複数ある場合は、行動決定部122は、最も高い同列の価値Qの中から乱数によりいずれか一つの行動atを選択する。
通信制御部125は、行動決定部122により決定された行動atの実行の指令をロボット100に送信する。ロボット100は、通信制御部102により、行動atの実行の指令を受信する。そして行動制御部112は、モータ制御部107または出力部108に対してロボット100の行動atの実行を指令する。これによりロボット100は、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動atを実行する。
結果取得部123は、ロボット100の行動atの結果として、ユーザ200との触れ合いの成立結果に関する情報を取得する。ユーザ200との触れ合いの成立結果に関する情報は、ユーザ200の接近に関する情報と、ユーザ200の感情に関する情報と、ユーザと触れ合った時間に関する情報と、を有することが好ましい。
ユーザ200の接近に関する情報は、少なくともユーザ200の接近有無(ユーザ200がロボット100に接近したか否か)を含む。またユーザ200の感情に関する情報は、少なくともユーザ200のポジティブまたはネガティブの感情レベルを含む。さらにユーザ200と触れ合った時間は、少なくともユーザ200と触れ合った時間長を含む。
結果取得部123は、接近情報取得部152と、感情レベル推定部153と、接触時間取得部154と、を有する。なお、接近情報取得部152、感情レベル推定部153および接触時間取得部154のうちの少なくとも一つの機能は、学習装置300に通信可能に接続する別の外部装置が担当してもよい。また感情レベル推定部153の機能は、感情行動推定部151が担当してもよい。
接近情報取得部152は、撮影画像Im(距離画像)、第1静電容量信号C1または第2静電容量信号C2等の各種センサ情報に基づき、ユーザ200の接近に関する情報(ユーザ200の接近有無)を取得する。例えば接近情報取得部152は、ロボット100からユーザ200までの距離が所定の閾値以上(例えば1m以上)の場合には、ユーザ200の接近無しという情報を取得する。また接近情報取得部152は、ロボット100からユーザ200までの距離が所定の閾値未満(例えば1m未満)になった場合には、ユーザ200の接近有りという情報を取得する。さらに接近情報取得部152は、ロボット100に対するユーザ200の接近速度をさらに取得することが好ましい。
感情レベル推定部153は、ユーザ200の顔画像と、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報と、の少なくとも一方に基づき、ユーザ200の感情レベルを推定する。例えば感情レベル推定部153は、ユーザ200の感情を「ニュートラル」に分類した場合は感情レベルを「ニュートラル」として推定し、「幸福」に分類した場合は感情レベルを「非常にポジティブ」として推定する。また感情レベル推定部153は、ユーザ200の感情を「悲しみ」に分類した場合は感情レベルを「ネガティブ」として推定し、「嫌悪」に分類した場合は感情レベルを「非常にネガティブ」として推定する。
接触時間取得部154は、触覚信号S等の各種センサ情報に基づき、ユーザ200と触れ合った時間に関する情報を取得する。例えば接触時間取得部154は、ロボット100が行動atを実行した後の所定の期間において、触覚信号Sが完全にオフになるまでの全てのオン期間を合計した時間を算出することによりユーザ200と触れ合った時間長を取得する。
以上により、結果取得部123は、ロボット100の行動atの結果として、ユーザ200との触れ合いの成立結果に関する情報(例えばユーザ200の接近有無、ユーザ200の感情レベルおよびユーザ200と触れ合った時間長)を取得する。
学習部124は、入力をユーザ200の状態st(例えば感情および行動の組み合わせ)とし、出力をロボット100の行動atの価値Q(st,at)とする学習モデルLMを強化学習により生成する。また学習部124は、ユーザ200との触れ合いの成立結果に基づき、学習モデルLMを更新する。本実施形態では、学習部124は、ユーザ200との触れ合いの成立結果に基づき、ロボット100の行動atに対する報酬rを取得し、報酬rに基づいてユーザ200の状態stに対する行動atの価値Q(行動価値テーブルTB3)を更新する。
学習部124は、報酬取得部155と、価値更新部156と、を有する。報酬取得部155は、ユーザ200との触れ合いの成立結果(例えばユーザ200の接近有無、ユーザ200の感情レベルおよびユーザ200と触れ合った時間長)に基づき、ロボット100の行動atに対する報酬rを取得する。
格納部126は、ユーザ200との触れ合いの成立結果に基づいた所定の報酬rn(nは報酬rの識別番号)に関する情報を格納する。報酬rnに関する情報は、例えばデータベースのテーブルにより管理される。以下の表4は、所定の報酬rnを示す報酬テーブルTB4の一例である。報酬テーブルTB4は、報酬rnを識別する報酬IDと、ユーザ200との触れ合いの成立結果と、ユーザ200との触れ合いの成立結果に基づく報酬rnと、を有する。報酬rnは、事前に定義されたユーザ200との触れ合いの成立結果の数だけ存在する。
報酬取得部155は、ユーザ200がロボット100に接近し(接近有無:有り)かつユーザ200と触れ合った時間が所定の閾値以上(例えば1秒以上)の場合に、ユーザ200との触れ合いが成立したと判定する。この場合、報酬取得部155は、ユーザ200の感情レベルおよびユーザ200との触れ合った時間長に応じた所定の報酬rnを取得する。また表4に示さないが、報酬取得部155は、ユーザ200の感情レベルおよびユーザ200との触れ合った時間長に加えて、ユーザ200の接近速度に応じた所定の報酬rnを取得してもよい。
報酬rnは、ユーザ200の感情レベルがポジティブな場合は、ユーザ200との触れ合った時間長が長い程、プラスの報酬rnを定義してもよく、係るロボット100の構成がユーザ200の志向と合致した場合に、ユーザ200との触れ合いの成立頻度の向上が期待される。また報酬rnは、ユーザ200の感情レベルがネガティブな場合は、ユーザ200との触れ合った時間長が長い程、マイナスの報酬rnを定義してもよく、係るロボット100の構成がユーザ200の志向と合致した場合に、ユーザ200との触れ合いの成立頻度の低下防止が期待される。
一方、報酬取得部155は、ユーザ200がロボット100に接近していない場合(接近有無:無し)、またはユーザ200と触れ合った時間長が所定の時間未満の場合には、ユーザ200との触れ合いが成立しなかったと判定する。この場合、報酬取得部155は、ゼロの報酬rnを取得する。
価値更新部156は、所定の報酬rnに基づき、ユーザ200の状態stに対するロボット100の行動atの価値Qを更新する。Q学習においては、次の式1により価値Qが更新される。
式1において、stは或る時刻tにおけるユーザ200の状態であり、atは或る時刻tにおけるロボット100の行動である。ロボット100の行動atにより、ユーザ200の状態はst+1(t+1は次回の時刻)に変化する。rは、そのユーザ200の状態の変化により得られる報酬である。また、maxの付いた項は、状態がst+1の下で、その時に分かっている最も高い価値Qの行動at+1を選択した場合の価値Qに割引率γ(0<γ≦1)を乗じたものである。またαは、学習係数(0<α≦1)であり、学習の速度を調節する。
式1は、ロボット100の行動atの結果として帰ってきた報酬rを元に、ユーザ200の状態stに対する行動atの価値Q(st,at)を更新する方法を表している。ユーザ200の或る状態stに対するロボット100の或る行動atの価値Qが、その報酬rと、次の状態st+1に対する最良の行動at+1の割引価値Qとの合計より小さい場合、価値Q(st,at)を大きくする。反対に、ユーザ200の状態stに対するロボット100の行動atの価値Q(st,at)が、その報酬rと、次の状態st+1に対する最良の行動at+1の割引価値Qとの合計より大きい場合、価値Q(st,at)を小さくする。したがって、式1は、或る状態stにおける或る行動atの価値Qを、結果としての報酬rと、次の状態st+1に対する最良の行動at+1の割引価値Qとの合計に近づけるようにしている。
価値更新部156は、式1により行動価値テーブルTB3の価値Q(sn,an)を更新する。そして状態観測部121は、次のユーザ200の状態st+1を観測する。行動決定部122は、行動atの価値Q(本例では行動価値テーブルTB3)に基づき、ε-greedy法等により、次のユーザ200の状態st+1に対するロボット100の行動at+1を決定する。
通信制御部125は、決定された行動at+1の実行の指令をロボット100に送信する。ロボット100は、通信制御部102を介して、学習装置300から行動at+1の指令を受信する。そして行動制御部112は、モータ制御部107または出力部108に対してロボット100の行動at+1の実行を指令する。これにより、ロボット100はユーザ200の状態st+1に適した行動at+1を実行する。
ここで、価値Q(st,at)の計算機上での表現方法には、前述のように、全てのユーザ200の状態snと、全てのロボット100の行動anとの組み合わせに対して、価値Q(st,at)を行動価値テーブルTB3として保存しておく方法がある。また行動価値テーブルTB3を近似するような行動価値関数を用意する方法もある。後者の方法は、確率勾配降下法等の手法により近似関数のパラメータを調整していくことにより実現できる。例えば近似関数として、学習部124は、入力をユーザ200の状態st(感情および行動の組み合わせ)とし、出力をロボット100の行動atの価値Qとしたニューラルネットワーク(DQN)の学習モデルを深層強化学習により生成することが好ましい。
以下では、深層強化学習について説明するが、その前にニューラルネットワークについて説明する。図9は、ニューロンの学習モデルを模式的に示す図であり、図10は、図9に示すニューロンを組み合わせて構成した三層のニューラルネットワークの学習モデルを模式的に示す図である。ニューラルネットワークは、例えば図9に示すようなニューロン(単純パーセプトロン)のモデルを模した演算装置およびメモリ等で構成される。
図9に示すように、ニューロンは、複数の入力x(図9では、一例として入力x1~入力x3)に対する出力(結果)yを出力するものである。各入力x(x1,x2,x3)には、この入力xに対応する重みw(w1,w2,w3)が掛けられる。これにより、ニューロンは、次の式2により表現される出力yを出力する。なお、入力x、出力yおよび重みwは、すべてベクトルである。また、下記の式2において、θはバイアスであり、fkは活性化関数である。
図10には、図9に示すニューロンを組み合わせて構成した三層のニューラルネットワークが示されている。図10に示すように、ニューラルネットワークの左側から複数の入力x(ここでは、一例として入力x1~入力x3)が入力され、右側から結果y(ここでは、一例として出力y1~出力y3)が出力される。具体的に、入力x1,x2,x3は、3つのニューロンN11~N13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてW1と表記されている。
ニューロンN11~N13は、それぞれ、z11~z13を出力する。図10において、これらz11~z13は、まとめて特徴ベクトルZ1と表記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルZ1は、重みW1と重みW2との間の特徴ベクトルである。z11~z13は、2つのニューロンN21およびN22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW2と表記されている。
ニューロンN21,N22は、それぞれz21,z22を出力する。図10において、これらz21,z22は、まとめて特徴ベクトルZ2と表記されている。この特徴ベクトルZ2は、重みW2と重みW3との間の特徴ベクトルである。z21,z22は、3つのニューロンN31~N33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW3と表記されている。
最後に、ニューロンN31~N33は、それぞれ出力y1~出力y3を出力する。ニューラルネットワークの動作には、ニューラルネットワークの重みW1~重みW3を学習する学習モードと、入力x1~x3から出力y1~y3を推定する推定モードとがある。例えば学習モードにおいて、学習データセットを用いて重みW1~W3を学習し、そのパラメータを用いて推定モードにおいて、ロボット100の行動atの決定を行う。なお、便宜上、推定と書いたが、検出および分類等の多様なタスクが可能なのはいうまでもない。
また、重みW1~W3は、誤差逆伝播法(Backpropagation:バックプロパゲーション)により学習可能である。誤差の情報は、ニューラルネットワークの右側から入り左側に流れる。誤差逆伝播法は、各ニューロンについて、入力xが入力されたときの出力yと、真の出力y(ラベルデータ)との差分(誤差)を小さくするように、それぞれの重みを調整(学習)する手法である。
このようなニューラルネットワークは、三層以上に、さらに層を増やして深層学習を行うことも可能である。また入力の特徴抽出を段階的に行う畳み込みニューラルネットワーク(CNN)と、出力を分類または回帰するニューラルネットワークと、を有する演算装置を、教師データのみから自動的に獲得することも可能である。
前述の行動価値テーブルTB3では、ユーザ200の状態snの数と、ロボット100の行動anの数とが膨大になった時に、行動価値テーブルTB3のメモリ空間が大きくなり過ぎてしまうことがある。そこで、行動価値テーブルTB3をニューラルネットワーク(DQN)で関数近似することにより、メモリ空間の増大を防止することができる。
図8を再び参照して、深層強化学習を行う推定部111の構成について説明する。学習部124は、ターゲットネットワークTN(価値Q(st,at)|θ-)と、QネットワークQN(価値Q(st,at)|θ)と、を含む2つのニューラルネットワーク(DQN)を有する。2つのネットワークは格納部126に格納される。2つのネットワークの構造は同一であるが、パラメータθ(前述の重みに相当)は異なる。2つのネットワークの入力はいずれもユーザ200の状態stであり、出力はロボット100の行動atの価値Q(st,at)である。
状態観測部121は、ユーザ200の状態stを観測して、行動決定部122および学習部124に出力する。行動決定部122は、ユーザ200の状態stをターゲットネットワークTNに入力してターゲットネットワークTNから出力された行動atの価値Q(st,at|θ-)に基づき、ε-greedy法等によりロボット100の行動atを決定する。通信制御部125は、決定された行動atの実行の指令をロボット100に送信し、ロボット100は、行動atの実行の指令に応じて行動atを実行する。
結果取得部123は、ロボット100の行動atの結果として、ユーザ200との触れ合いの成立結果(ユーザ200の接近有無、ユーザ200の感情レベルおよびユーザ200との触れ合い時間長)を取得し、学習部124に出力する。学習部124は、ユーザ200との触れ合いの成立結果に基づき、報酬rを取得する。また状態観測部121は、次のユーザ200の状態st+1を観測して、行動決定部122および学習部124に出力する。
学習部124は、ロボット100の経験et(<st,at,st+1,r>)をExperience Bufferとして格納部126に保存する。ここで、stは、ユーザ200の状態であり、atはロボット100の行動であり、st+1は次のユーザ200の状態であり、rは報酬である。なお、学習部124は、外れ値等に過剰に反応しないように報酬rを-1~+1の範囲にクリップすることが好ましい(いわゆるReward Clipping)。
学習部124は、定期的に格納部103(Experience Buffer)から任意の経験etを取得し、QネットワークQNを学習させる。例えば学習部124は、格納部126からミニバッチ学習Bのための経験(B=e0~en)を取得する。そして学習部124は、以下の式3に示すTD(Temporal Difference)誤差L(θ)を最小化するようにQネットワークQNのパラメータθを更新する(いわゆるExperience Replay)。
次いで学習部124は、任意の間隔でQネットワークQNのパラメータθをターゲットネットワークTNに反映させる。学習部124は、定期的にQネットワークQNの全てのパラメータθをまとめてターゲットネットワークTNに複製してもよいし、またはQネットワークQNのパラメータθを更新する度に少しずつQネットワークQNのパラメータθを反映させてもよい。
行動決定部122は、次のユーザ200の状態st+1をターゲットネットワークTNに入力する。そして行動決定部122は、ターゲットネットワークTNから出力された行動at+1の価値Q(st+1,at+1|θ-)に基づき、ε-greedy法等によりロボット100の行動at+1を決定する。通信制御部125は、決定された行動at+1の実行の指令をロボット100に送信し、ロボット100は、行動at+1の実行の指令に応じて行動at+1を実行する。
以上により、推定部111は、深層強化学習を行ってユーザ200の状態stに適したロボット100の行動atを推定することができる。
<制御部13による処理例>
図11は、制御部13の処理を例示するフローチャートである。図11は、制御部13により、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動atの実行を指令する処理を示している。
図11は、制御部13の処理を例示するフローチャートである。図11は、制御部13により、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動atの実行を指令する処理を示している。
まずステップS10において、制御部13は、取得部101により、ユーザ200を写した撮影画像Imと、ユーザ200の生体情報Bと、の少なくとも一方を取得する。撮影画像Imは、ユーザ200の顔画像および全身画像の少なくとも一方を含み、生体情報Bは、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報を含む。
なお、ステップS10においては、カメラ11、触覚センサ12、第1静電容量センサ21、第2静電容量センサ31およびバイタルセンサ14には、バッテリ15から電力が供給されている。しかし、バッテリ15の消費電力を削減するため、サーボモータ35、ディスプレイ24、スピーカ25およびライト26には電力が供給されていなくてもよい。
次いでステップS11において、制御部13は、推定部111により、撮影画像Imおよび生体情報Bの少なくとも一方に基づき、ユーザ200の状態stに適したロボット100の所定の行動atを推定する。制御部13は、推定部111により、強化学習を行いながらまたは学習済の学習モデルを用いてユーザ200の状態stに適したロボット100の所定の行動atを推定することが好ましい。なお、ステップS11における処理は、制御部13の必須の処理ではなく、ロボット100に通信可能に接続する外部装置(後述の学習装置)において実行することができる。ステップS11における詳細な処理については、図12を参照して別途詳述する。
そしてステップS12において、制御部13は、行動制御部112により、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動atの実行を指令する。ロボット100が行動atを実行した後、制御部13は、ステップS10~ステップS12の処理を繰り返すことにより、ユーザ200との触れ合いを誘発してユーザ200に癒しを提供することができる。
以上のようにして、制御部13は、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動の実行を指令する処理を行う。なお、学習処理能力の向上のためまたはバッテリ15の消費電力を抑制するため、推定部111の機能を、ロボット100に通信可能に接続する学習装置300が担当する場合、ステップS11の処理は、学習装置300により実行されることになる。
また図11に示す処理の開始時において、サーボモータ35、ディスプレイ24、スピーカ25およびライト26は、供給電力量が抑制された待機状態(スリープ状態)であってもよい。つまり、制御部13は、供給電力が抑制された待機状態から必要に応じて各種機器を復帰させることにより、バッテリ15の消費電力を抑制することが好ましい。
<推定部111による処理>
図12は、推定部111(例えば学習装置300)の処理を示すフローチャートである。図12は、推定部111が強化学習を行ってユーザ200の状態stに適したロボット100の所定の行動atを推定する処理を示している。図12に示す各ステップは、図11に示すステップS11の詳細な処理である。
図12は、推定部111(例えば学習装置300)の処理を示すフローチャートである。図12は、推定部111が強化学習を行ってユーザ200の状態stに適したロボット100の所定の行動atを推定する処理を示している。図12に示す各ステップは、図11に示すステップS11の詳細な処理である。
まずステップS20において、推定部111は、状態観測部121により、撮影画像Imおよび生体情報Bの少なくとも一方に基づき、ユーザ200の状態stを観測する。推定部111は、ユーザ200の顔画像と、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報と、の少なくとも一方に基づき、ユーザ200の感情を推定する。また推定部111は、ユーザ200の全身画像から推定した骨格の動作に基づき、ユーザ200の行動を推定する。そして推定部111は、ユーザ200の感情および行動の組み合わせにより分類されるユーザ200の所定の状態stを観測することが好ましい。
次いでステップS21において、推定部111は、行動決定部122により、行動at-1の価値Q(前述した行動価値テーブルTB3またはDQN等の学習モデルLM)に基づき、ユーザ200の状態stに適したロボット100の行動atを決定する。推定部111は、行動atの実行の指令を、行動制御部112に出力するか、または通信制御部125を介してロボット100に送信することにより、ロボット100は行動atを実行する(ステップS12)。
なお、ステップS20およびステップS21は、ユーザ200の状態に適したロボット100の行動atを推定する推定フェーズであり、それ以外のステップは学習フェーズである。
ステップS22において、推定部111は、結果取得部123により、ロボット100の行動atの結果として、ユーザ200との触れ合いの成立結果に関する情報を取得する。ユーザ200との触れ合いの成立結果は、例えばユーザ200の接近有無、ユーザ200の感情レベル、およびユーザ200との触れ合い時間長を含むことが好ましい。
ステップS23において、推定部111は、報酬取得部155により、ユーザ200との触れ合いの成立結果に基づき、ロボット100の行動atに対する報酬rを取得する。
ステップS24において、推定部111は、価値更新部156により、報酬rに基づき、ユーザ200の状態stに対するロボット100の行動atの価値Qを更新する。
学習後、ステップS20に戻り、推定部111は、状態観測部121により、次のユーザ200の状態st+1を観測する。そしてステップS21において、推定部111は、行動決定部122により、更新された行動atの価値Qに基づき、次のユーザ200の状態st+1に適したロボット100の行動at+1を決定する。そしてロボット100は、次の行動at+1を実行する(ステップS12)。
なお、ステップS24の後、推定部111は、価値更新部156により、行動atの価値Qが収束したか(つまり学習が収束したか)を判定するステップを設けてもよい。推定部111は、学習が収束したと判定した場合は、以降の処理において学習フェーズを実行しなくてよい。つまり推定部111は、推定フェーズのみを実行し、学習済の学習モデルLM(行動価値テーブルTB3またはDQN等)を用いて、ユーザ200の状態st+nに適したロボット100の行動at+nを推定する(t+nはn回後の時刻)。
<変形例の推定部111の構成>
図13は、変形例の推定部111の機能構成を示すブロック図である。変形例の推定部111は、教師あり学習を行ってユーザ200の状態stに適したロボット100の行動atを推定する点で、図8に示す推定部111の機能構成とは異なる。つまり学習部124は、教師データ記録部157と、誤差算出部158と、学習モデル更新部159と、を有する。以下では、図8に示す推定部111の構成とは異なる点についてのみ説明する。
図13は、変形例の推定部111の機能構成を示すブロック図である。変形例の推定部111は、教師あり学習を行ってユーザ200の状態stに適したロボット100の行動atを推定する点で、図8に示す推定部111の機能構成とは異なる。つまり学習部124は、教師データ記録部157と、誤差算出部158と、学習モデル更新部159と、を有する。以下では、図8に示す推定部111の構成とは異なる点についてのみ説明する。
教師データ記録部157の機能は、HDD/SSD304等の不揮発性メモリにより実現できる。また誤差算出部158および学習モデル更新部159の各機能は、CPU301等のプロセッサがROM302等の不揮発性メモリに格納されたプログラムに規定された処理を実行すること等により実現できる。
学習部124は、教師あり学習を行う学習モデルLMとして、決定木(回帰木)、ニューラルネットワークまたはロジスティック回帰等を用いることができる。以下では、学習部124が、入力をユーザ200の状態stとし、出力をロボット100の行動atの価値Qとしたニューラルネットワークの学習モデルLMを教師あり学習により生成する例について説明する。
教師データ記録部157は、例えば他のロボット100またはシミュレーション等により過去に得られた教師データを保存する。教師データは、ユーザ200の状態st-n(t-nはn回前の時刻)と、ロボット100の行動at-nと、行動at-nの価値Q(ラベルに相当)と、を含む、結果(ラベル)付きデータである。推定部111は、通信制御部125等を介して、他のロボット100または別の外部装置から教師データを受信する。また推定部111は、ロボット100自体が体験した経験を教師データとして保存してもよい。
誤差算出部158は、まず教師データ記録部157から教師データを取得し、教師データに基づき、行動atの価値Qの誤差Lを算出する。例えば誤差算出部158は、実際にはユーザ200との触れ合いが成立していた場合は、-log(Q(st,at))の誤差があるとみなして誤差Lを算出する。また誤差算出部158は、実際にはユーザ200との触れ合いが成立していなかった場合は、-log(1-Q(st,at))の誤差があるとみなして誤差Lを算出する。
学習モデル更新部159は、誤差Lを最小化するようにニューラルネットワークの学習モデルLMのパラメータ(前述の重み等)を更新する。学習モデルLMの更新には、前述の誤差逆伝播法(バックプロパゲーション)を用いることができる。これにより学習部124は、教師データにより一定レベルまで学習した学習モデルLMを生成する。
その後、推定部111は、教師あり学習により生成した学習モデルLMを用いて、実際のユーザ200の状態stに適した行動atを推定する。そしてロボット100は、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動atを実行する。
より具体的には、状態観測部121がユーザ200の状態stを観測し、行動決定部122が学習モデルLMを用いてユーザ200の状態stに適した所定の行動atを決定する。そして通信制御部125は、行動atの実行の指令をロボット100に送信し、ロボット100は、受信した行動atの実行の指令に応じて行動atを実行する。
結果取得部123は、ロボット100の行動atの結果として、ユーザ200との触れ合いの成立結果を取得する。誤差算出部158は、ユーザ200との触れ合いの成立結果に基づき、行動atの価値Qの誤差を算出し、学習モデル更新部159は、誤差Lを最小化するようにニューラルネットワークの学習モデルLMをさらに更新する。そして行動決定部122は、学習モデルLMを用いて、次のユーザ200の状態st+1に適したロボット100の行動at+1を決定する。
以上のように、推定部111は、教師あり学習により一定レベルまで学習した学習モデルLMを用いて、ユーザ200の状態stに適したロボット100の行動を推定することができる。例えばロボット100が故障して同じ型番のロボット100に交換する場合であっても、交換後のロボット100は、故障した教師データに基づき過去の経験を学習してユーザ200の感情の状態stに適した行動atを即座に実行できるようになる。またロボット100は、初めて接するユーザ200に対しても、ユーザ200の状態stに適した行動atをある程度実行できるようになる。
<変形例の推定部111による処理>
図14は、変形例の推定部111(学習装置300)の処理を示すフローチャートである。図14は、推定部111が教師あり学習を行ってユーザ200の状態stに適したロボット100の行動atを推定する処理を示している。図14に示す各ステップは、図11に示すステップS11の詳細な処理である。
図14は、変形例の推定部111(学習装置300)の処理を示すフローチャートである。図14は、推定部111が教師あり学習を行ってユーザ200の状態stに適したロボット100の行動atを推定する処理を示している。図14に示す各ステップは、図11に示すステップS11の詳細な処理である。
まずステップS30において、推定部111は、誤差算出部158により、教師データ記録部157から教師データを取得し、教師データに基づき、ロボット100の行動atの価値Qの誤差Lを算出する。
次いでステップS31において、推定部111は、学習モデル更新部159により、誤差Lを最小化するようにニューラルネットワークの学習モデルLMのパラメータ(前述した重み等)を更新する。これにより推定部111は、教師データにより一定レベルまで学習した学習モデルLMを用いて、実際のユーザ200の状態stに適した行動atを推定することができる。
その後、ステップS32において、推定部111は、状態観測部121により、撮影画像Imおよび生体情報Bの少なくとも一方に基づき、実際のユーザ200の状態stを観測する。推定部111は、ユーザ200の顔画像と、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報と、の少なくとも一方に基づき、ユーザ200の感情を推定する。また推定部111は、ユーザ200の全身画像から推定した骨格の動作に基づき、ユーザ200の行動を推定する。そして推定部111は、ユーザ200の感情および行動の組み合わせにより分類されるユーザ200の所定の状態stを観測することが好ましい。
次いでステップS33において、推定部111は、行動決定部122により、行動at-1の価値Q(ニューラルネットワーク等の学習モデルLM)に基づき、ユーザ200の状態stに適したロボット100の行動atを決定する。推定部111は、行動atの実行の指令を、行動制御部112に出力するか、または通信制御部125を介してロボット100に送信する。これにより、ロボット100はユーザ200の状態stに応じた行動atを実行する(ステップS12)。
なお、ステップS32およびステップS33は、ユーザ200の状態に適したロボット100の行動atを推定する推定フェーズであり、それ以外のステップは学習フェーズである。
ステップS34において、推定部111は、結果取得部123により、ロボット100の行動atの結果として、ユーザ200との触れ合いの成立結果に関する情報を取得する。ユーザ200との触れ合いの成立結果に関する情報は、ユーザ200の接近有無、ユーザ200の感情レベル、およびユーザ200との触れ合い時間長を含むことが好ましい。
次いでステップS30に戻り、推定部111は、誤差算出部158により、ユーザ200との触れ合いの成立結果に基づき、行動atの価値Qの誤差Lを算出する。
そしてステップS31において、推定部111は、学習モデル更新部159により、誤差Lに基づき、学習モデルLMのパラメータ(重み等)を更新する。
学習後、ステップS32において、推定部111は、状態観測部121により、次のユーザ200の状態st+1を観測する。そしてステップS33において、推定部111は、行動決定部122により、更新された行動atの価値Qに基づき、次のユーザ200の状態st+1に適したロボット100の行動at+1を決定する。そしてロボット100は、次の行動at+1を実行する(ステップS12)。
なお、ステップS31の後、推定部111は、学習モデル更新部159により、行動atの価値Qが収束したか(つまり学習が収束したか)を判定するステップを設けてもよい。推定部111は、学習が収束したと判定した場合は、以降の処理において学習フェーズを実行しなくてよい。つまり推定部111は、推定フェーズのみを実行し、学習済の学習モデルLM(ニューラルネットワーク等)を用いて、ユーザ200の状態st+n(t+nはn回後の時刻)に適したロボット100の行動at+nを推定することになる。
<本実施形態の作用効果>
以上のように、ロボット100は、ユーザ200を写した撮影画像Imと、ユーザ200の生体情報Bとの少なくとも一方に基づき、ユーザ200の状態stに適した所定の行動atを推定する。そしてロボット100は、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動atを実行する。したがって、ロボット100は、適切なタイミングでユーザ200との触れ合いを誘発することができる。ひいてはユーザ200との触れ合いが継続的に成立し、ユーザ200に癒しを継続的に提供することができる。
以上のように、ロボット100は、ユーザ200を写した撮影画像Imと、ユーザ200の生体情報Bとの少なくとも一方に基づき、ユーザ200の状態stに適した所定の行動atを推定する。そしてロボット100は、ユーザ200の状態stに応じてユーザ200との触れ合いを誘発する行動atを実行する。したがって、ロボット100は、適切なタイミングでユーザ200との触れ合いを誘発することができる。ひいてはユーザ200との触れ合いが継続的に成立し、ユーザ200に癒しを継続的に提供することができる。
また撮影画像Imは、ユーザ200の顔画像および全身画像の少なくとも一方を含み、生体情報Bは、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報を含んでいる。撮像画像Imのみまたは生体情報Bのみからユーザの状態stを観測する場合に比べ、ユーザ200の状態stを精度良く観測することができる。
特にユーザ200の状態stは、ユーザ200の顔画像と、ユーザ200の心拍、呼吸、血圧および体温の少なくとも一つに関する情報と、の少なくとも一方に基づいて分類されるユーザの感情を含むことが好ましい。ユーザ200は、たとえ顔が一時的に笑顔であっても、必ずしもポジティブな感情を抱いた状態であるとは限らない。したがって、ユーザ200の顔画像だけでなく、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報を加味することにより、ユーザ200の状態stを精度良く観測することができる。
またユーザ200の状態stは、ユーザ200の全身画像から推定した骨格の動作に基づいて分類されるユーザ200の行動を含むことが好ましい。ユーザ200は、たとえポジティブな感情を抱いていても、家事または仕事等により忙しい状態かもしれない。したがって、ユーザ200の状態stを、ユーザ200の感情だけでなく、ユーザ200の行動を加味して観測することにより、ユーザ200の状態stを精度良く観測することができる。
さらにユーザの状態stは、撮影画像Imおよび生体情報Bの少なくとも一方から推定したユーザ200の感情および行動の組み合わせにより分類される所定の状態snである。これにより、ユーザ200の状態snが数十種類~数百種類に分類されるため、行動価値テーブルTB3のメモリ空間の増大を抑制することができる。
またロボット100は、入力をユーザ200の状態stとし、出力をロボット100の行動atの価値Qとする学習モデルLMを機械学習(強化学習または教師あり学習等)により生成する。したがって、ロボット100は、ユーザ200の状態stに適した行動atを学習することができ、適切なタイミングでユーザ200との触れ合いを誘発する行動atを実行することができる。ひいてはユーザ200との触れ合いが継続的に成立し、ユーザ200に癒しを継続的に提供することができる。
さらにロボット100は、ユーザ200との触れ合いの成立結果に関する情報を取得する結果取得部123をさらに有し、学習部124は、ユーザ200との触れ合いの成立結果に基づき、学習モデルLMを更新する。したがって、ロボット100は、ユーザ200の状態stに適した行動atを継続的に学習して、適切なタイミングでユーザ200との触れ合いを誘発する行動atを実行することができる。また学習モデルLMは、既に効果が実証されている行動価値テーブルTB3またはニューラルネットワーク(DQN)を用いることにより、ロボット100の学習能力の信頼性を高めることができる。
またユーザ200との触れ合いの成立結果に関する情報は、ユーザ200の接近有無と、ユーザ200の感情レベルと、ユーザ200と触れ合った時間長と、を含む。したがって、ロボット100は、ユーザ200の接近有無およびユーザ200と触れ合った時間長に基づき、ユーザ200との触れ合いが成立したかを判定することができる。そして学習部124は、ユーザ200との触れ合いの成立結果に基づき、ロボット100の行動atに対する報酬rを取得して報酬rに基づいてユーザの状態stに対する行動atの価値Qを更新する。したがって、ロボット100は、ユーザ200の感情レベルおよびユーザ200と触れ合った時間長に応じてユーザ200の状態stに適した行動atを学習することができる。
またロボット100は、教師あり学習により一定レベルまで学習した学習モデルLMを用いて、ユーザ200の状態stに適したロボット100の行動atを推定してもよい。これにより、例えばロボット100が故障して同じ型番のロボット100に交換する場合であっても、交換後のロボット100は、教師データに基づき過去の経験を学習してユーザ200の状態stに適した行動atを即座に実行できる。またロボット100は、初めて接するユーザ200に対しても、ユーザ200の状態stに適した行動atを一定レベルで実行できるようになる。
さらにユーザ200との触れ合いを誘発するロボット100の行動anは、明示的に触れ合いを誘発する行動だけではなく、ユーザ200をロボット100の動作に注目させる行動、または暗示的に触れ合いを誘発する行動を含む。したがって、ユーザ200がネガティブな感情を抱いている状態stであっても、あるいは忙しい状態stであっても、ユーザ200にストレスを与え難い。むしろロボット100に対して可愛いまたは面白いといったポジティブな印象をユーザ200に抱かせることができる。
以上のロボット100の推定部111の機能は、ロボット100に通信可能に接続する学習装置300に設けて分散処理させてもよい。これにより、コンピュータによる学習処理能力を高めることができる。また学習装置300による分散処理により、ロボット100のバッテリ15の消費電力削減、充電回数削減、およびバッテリ重量削減という技術的な効果を得ることができる。
以上、好ましい実施の形態について詳説したが、上述した実施の形態に制限されることはなく、特許請求の範囲に記載された範囲を逸脱することなく、上述した実施の形態に種々の変形および置換を加えることができる。
また、上述した実施形態の説明で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
本実施形態に係るロボットは、一人暮らしの社会人、子供が独り立ちしたシニア、在宅医療の対象となるフレイル高齢者等のオキシトシン分泌を促進して癒し(安心感または自己肯定感)を提供する用途に特に好適である。但し、この用途に限定されるものではなく、様々なユーザに癒しを提供する用途に使用できる。
本開示の態様は、例えば以下の通りである。
<1> ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得する取得部と、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動の実行を指令する行動制御部と、
を有する、ロボット。
<2> 前記ユーザの状態に適した前記所定の行動を推定する推定部をさらに有し、
前記推定部は、
前記撮影画像および前記生体情報の少なくとも一方に基づいて前記ユーザの状態を観測する状態観測部と、
前記所定の行動の価値に基づき、前記ユーザの状態に適した前記所定の行動を決定する行動決定部と、
を有する、前記<1>に記載のロボット。
<3> 前記撮影画像は、前記ユーザの顔画像および全身画像の少なくとも一方を含み、
前記生体情報は、前記ユーザの心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報を含む、前記<1>または<2>に記載のロボット。
<4> 前記ユーザの状態は、前記ユーザの顔画像と、前記ユーザの心拍、呼吸、血圧および体温の少なくとも一つに関する情報と、の少なくとも一方に基づいて分類される前記ユーザの感情を含む、前記<1>~<3>のいずれか一項に記載のロボット。
<5> 前記ユーザの状態は、前記ユーザの全身画像から推定した骨格の動作に基づいて分類される前記ユーザの行動を含む、前記<1>~<4>のいずれか一つに記載のロボット。
<6> 前記ユーザの状態は、前記撮影画像および前記生体情報の少なくとも一方から推定した前記ユーザの感情および行動の組み合わせにより分類される所定の状態である、前記<1>~<5>のいずれか一つに記載のロボット。
<7> 前記推定部は、入力を前記ユーザの状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部を有する、前記<2>に記載のロボット。
<8> 前記推定部は、前記ロボットの行動の結果として、前記ユーザとの触れ合いの成立結果に関する情報を取得する結果取得部をさらに有し、
前記学習部は、前記ユーザとの触れ合いの成立結果に基づき、前記学習モデルを更新する、前記<7>に記載のロボット。
<9> 前記学習モデルは、行動価値テーブルまたはニューラルネットワークである、前記<7>または<8>に記載のロボット。
<10> 前記ユーザとの触れ合いの成立結果に関する情報は、前記ユーザの接近有無と、前記ユーザの感情レベルと、前記ユーザと触れ合った時間長とを含み、
前記学習部は、
前記ユーザとの触れ合いの成立結果に基づき、前記ロボットの前記行動に対する報酬を取得し、
前記報酬に基づいて前記ユーザの状態に対する前記行動の価値を更新する、前記<8>に記載のロボット。
<11> ロボットに通信可能に接続する学習装置であって、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方に基づき、前記ユーザの状態を観測する状態観測部と、
入力を前記ユーザの状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部と、
を有する、学習装置。
<12> 前記行動の価値に基づき、前記ユーザの状態に適した前記ロボットの前記行動を決定する行動決定部と、
前記行動の実行の指令を前記ロボットに送信する通信制御部と、
をさらに有する、前記<11>に記載の学習装置。
<13> 前記ロボットの前記行動の結果として、前記ユーザとの触れ合いの成立結果に関する情報を取得する結果取得部をさらに有し、
前記学習部は、前記触れ合いの成立結果に基づいて前記学習モデルを更新する、前記<11>または<12>に記載の学習装置。
<14> ロボットの制御方法であって、前記ロボットが、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得するステップと、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動を実行するステップと、
を実行する、制御方法。
<15> ロボットを制御するコンピュータに、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得するステップと、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動の実行を指令するステップと、
を実行させる、プログラム。
<1> ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得する取得部と、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動の実行を指令する行動制御部と、
を有する、ロボット。
<2> 前記ユーザの状態に適した前記所定の行動を推定する推定部をさらに有し、
前記推定部は、
前記撮影画像および前記生体情報の少なくとも一方に基づいて前記ユーザの状態を観測する状態観測部と、
前記所定の行動の価値に基づき、前記ユーザの状態に適した前記所定の行動を決定する行動決定部と、
を有する、前記<1>に記載のロボット。
<3> 前記撮影画像は、前記ユーザの顔画像および全身画像の少なくとも一方を含み、
前記生体情報は、前記ユーザの心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報を含む、前記<1>または<2>に記載のロボット。
<4> 前記ユーザの状態は、前記ユーザの顔画像と、前記ユーザの心拍、呼吸、血圧および体温の少なくとも一つに関する情報と、の少なくとも一方に基づいて分類される前記ユーザの感情を含む、前記<1>~<3>のいずれか一項に記載のロボット。
<5> 前記ユーザの状態は、前記ユーザの全身画像から推定した骨格の動作に基づいて分類される前記ユーザの行動を含む、前記<1>~<4>のいずれか一つに記載のロボット。
<6> 前記ユーザの状態は、前記撮影画像および前記生体情報の少なくとも一方から推定した前記ユーザの感情および行動の組み合わせにより分類される所定の状態である、前記<1>~<5>のいずれか一つに記載のロボット。
<7> 前記推定部は、入力を前記ユーザの状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部を有する、前記<2>に記載のロボット。
<8> 前記推定部は、前記ロボットの行動の結果として、前記ユーザとの触れ合いの成立結果に関する情報を取得する結果取得部をさらに有し、
前記学習部は、前記ユーザとの触れ合いの成立結果に基づき、前記学習モデルを更新する、前記<7>に記載のロボット。
<9> 前記学習モデルは、行動価値テーブルまたはニューラルネットワークである、前記<7>または<8>に記載のロボット。
<10> 前記ユーザとの触れ合いの成立結果に関する情報は、前記ユーザの接近有無と、前記ユーザの感情レベルと、前記ユーザと触れ合った時間長とを含み、
前記学習部は、
前記ユーザとの触れ合いの成立結果に基づき、前記ロボットの前記行動に対する報酬を取得し、
前記報酬に基づいて前記ユーザの状態に対する前記行動の価値を更新する、前記<8>に記載のロボット。
<11> ロボットに通信可能に接続する学習装置であって、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方に基づき、前記ユーザの状態を観測する状態観測部と、
入力を前記ユーザの状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部と、
を有する、学習装置。
<12> 前記行動の価値に基づき、前記ユーザの状態に適した前記ロボットの前記行動を決定する行動決定部と、
前記行動の実行の指令を前記ロボットに送信する通信制御部と、
をさらに有する、前記<11>に記載の学習装置。
<13> 前記ロボットの前記行動の結果として、前記ユーザとの触れ合いの成立結果に関する情報を取得する結果取得部をさらに有し、
前記学習部は、前記触れ合いの成立結果に基づいて前記学習モデルを更新する、前記<11>または<12>に記載の学習装置。
<14> ロボットの制御方法であって、前記ロボットが、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得するステップと、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動を実行するステップと、
を実行する、制御方法。
<15> ロボットを制御するコンピュータに、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得するステップと、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動の実行を指令するステップと、
を実行させる、プログラム。
この出願は、2022年9月29日に日本国特許庁に出願された日本国特許出願第2022-156758号に基づいて、その優先権を主張するものであり、この日本国特許出願の全内容を含む。
1 胴部
2 頭部
2a 右眼部
2b 左眼部
2c 口部
2d 右頬部
2e 左頬部
3 腕部
3a 右腕部
3b 左腕部
4 脚部
4a 右脚部
4b 左脚部
10 外装部材
11 カメラ
12 触覚センサ
13 制御部
14 バイタルセンサ(電磁波センサ)
141 マイクロ波発射部
142 マイクロ波受信部
15 バッテリ
16 胴部フレーム
17 胴部載置台
21 第1静電容量センサ
22 頭部フレーム
23 頭部載置台
24 ディスプレイ
24a 右眼ディスプレイ
24b 左眼ディスプレイ
25 スピーカ
26 ライト
26a 右頬ライト
26b 左頬ライト
27 頭部連結機構
31 第2静電容量センサ
32a 右腕部フレーム
32b 左腕部フレーム
33 右腕部載置台
34a 右腕部連結機構
34b 左腕部連結機構
35 サーボモータ
35a 右腕部サーボモータ
35b 左腕部サーボモータ
35c 頭部サーボモータ
35d 右脚部サーボモータ
35e 左脚部サーボモータ
41a 右脚部車輪
41b 左脚部車輪
42a 右脚部フレーム
42b 左脚部フレーム
44a 右脚部連結機構
44b 左脚部連結機構
100 ロボット
101 取得部
102 通信制御部
103 格納部
104 認証部
105 登録部
106 開始制御部
107 モータ制御部
108 出力部
109 登録情報
110 検出部
111 推定部
112 行動制御部
121 状態観測部
122 行動決定部
123 結果取得部
124 学習部
125 通信制御部
126 格納部
131 CPU
132 ROM
133 RAM
134 HDD/SSD
135 機器接続I/F
136 通信I/F
151 感情行動推定部
152 接近情報取得部
153 感情レベル推定部
154 接触時間取得部
155 報酬取得部
156 価値更新部
157 教師データ記録部
158 誤差算出部
159 学習モデル更新部
200 ユーザ
300 学習装置
301 CPU
302 ROM
303 RAM
304 HDD/SSD
305 機器接続I/F
306 通信I/F
A、A′ システムバス
B 生体情報
C1 第1静電容量信号
C2 第2静電容量信号
F1a 右肩部フレーム
F2a 右上腕部フレーム
F3a 右肘部フレーム
F4a 右前腕部フレーム
F1b 左肩部フレーム
F2b 左上腕部フレーム
F3b 左肘部フレーム
F4b 左前腕部フレーム
F1c 頸部フレーム
F2c 顔部フレーム
Im 撮影画像
L 誤差
LM 学習モデル
Ms 発射波
Mr 反射波
M1a 右肩部サーボモータ
M2a 右上腕部サーボモータ
M3a 右肘部サーボモータ
M4a 右前腕部サーボモータ
M1b 左肩部サーボモータ
M2b 左上腕部サーボモータ
M3b 左肘部サーボモータ
M4b 左前腕部サーボモータ
M1c 頸部サーボモータ
M2c 顔部サーボモータ
Q 価値
S 触覚信号
s 状態
a 行動
r 報酬
2 頭部
2a 右眼部
2b 左眼部
2c 口部
2d 右頬部
2e 左頬部
3 腕部
3a 右腕部
3b 左腕部
4 脚部
4a 右脚部
4b 左脚部
10 外装部材
11 カメラ
12 触覚センサ
13 制御部
14 バイタルセンサ(電磁波センサ)
141 マイクロ波発射部
142 マイクロ波受信部
15 バッテリ
16 胴部フレーム
17 胴部載置台
21 第1静電容量センサ
22 頭部フレーム
23 頭部載置台
24 ディスプレイ
24a 右眼ディスプレイ
24b 左眼ディスプレイ
25 スピーカ
26 ライト
26a 右頬ライト
26b 左頬ライト
27 頭部連結機構
31 第2静電容量センサ
32a 右腕部フレーム
32b 左腕部フレーム
33 右腕部載置台
34a 右腕部連結機構
34b 左腕部連結機構
35 サーボモータ
35a 右腕部サーボモータ
35b 左腕部サーボモータ
35c 頭部サーボモータ
35d 右脚部サーボモータ
35e 左脚部サーボモータ
41a 右脚部車輪
41b 左脚部車輪
42a 右脚部フレーム
42b 左脚部フレーム
44a 右脚部連結機構
44b 左脚部連結機構
100 ロボット
101 取得部
102 通信制御部
103 格納部
104 認証部
105 登録部
106 開始制御部
107 モータ制御部
108 出力部
109 登録情報
110 検出部
111 推定部
112 行動制御部
121 状態観測部
122 行動決定部
123 結果取得部
124 学習部
125 通信制御部
126 格納部
131 CPU
132 ROM
133 RAM
134 HDD/SSD
135 機器接続I/F
136 通信I/F
151 感情行動推定部
152 接近情報取得部
153 感情レベル推定部
154 接触時間取得部
155 報酬取得部
156 価値更新部
157 教師データ記録部
158 誤差算出部
159 学習モデル更新部
200 ユーザ
300 学習装置
301 CPU
302 ROM
303 RAM
304 HDD/SSD
305 機器接続I/F
306 通信I/F
A、A′ システムバス
B 生体情報
C1 第1静電容量信号
C2 第2静電容量信号
F1a 右肩部フレーム
F2a 右上腕部フレーム
F3a 右肘部フレーム
F4a 右前腕部フレーム
F1b 左肩部フレーム
F2b 左上腕部フレーム
F3b 左肘部フレーム
F4b 左前腕部フレーム
F1c 頸部フレーム
F2c 顔部フレーム
Im 撮影画像
L 誤差
LM 学習モデル
Ms 発射波
Mr 反射波
M1a 右肩部サーボモータ
M2a 右上腕部サーボモータ
M3a 右肘部サーボモータ
M4a 右前腕部サーボモータ
M1b 左肩部サーボモータ
M2b 左上腕部サーボモータ
M3b 左肘部サーボモータ
M4b 左前腕部サーボモータ
M1c 頸部サーボモータ
M2c 顔部サーボモータ
Q 価値
S 触覚信号
s 状態
a 行動
r 報酬
Claims (15)
- ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得する取得部と、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動の実行を指令する行動制御部と、
を有する、ロボット。 - 前記ユーザの状態に適した前記所定の行動を推定する推定部をさらに有し、
前記推定部は、
前記撮影画像および前記生体情報の少なくとも一方に基づいて前記ユーザの状態を観測する状態観測部と、
前記所定の行動の価値に基づき、前記ユーザの状態に適した前記所定の行動を決定する行動決定部と、
を有する、請求項1に記載のロボット。 - 前記撮影画像は、前記ユーザの顔画像および全身画像の少なくとも一方を含み、
前記生体情報は、前記ユーザの心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報を含む、請求項1または2に記載のロボット。 - 前記ユーザの状態は、前記ユーザの顔画像と、前記ユーザの心拍、呼吸、血圧および体温の少なくとも一つに関する情報と、の少なくとも一方に基づいて分類される前記ユーザの感情の状態を含む、請求項1または2に記載のロボット。
- 前記ユーザの状態は、前記ユーザの全身画像から推定した骨格の動作に基づいて分類される前記ユーザの行動の状態を含む、請求項1または2に記載のロボット。
- 前記ユーザの状態は、前記撮影画像および前記生体情報の少なくとも一方から推定した前記ユーザの感情および行動の組み合わせにより分類される所定の状態である、請求項1または2に記載のロボット。
- 前記推定部は、入力を前記ユーザの状態とし、出力を前記ロボットの前記行動の価値とする学習モデルを機械学習により生成する学習部を有する、請求項2に記載のロボット。
- 前記推定部は、前記ロボットの前記行動の結果として、前記ユーザとの触れ合いの成立結果に関する情報を取得する結果取得部をさらに有し、
前記学習部は、前記ユーザとの触れ合いの成立結果に基づき、前記学習モデルを更新する、請求項7に記載のロボット。 - 前記学習モデルは、行動価値テーブルまたはニューラルネットワークである、請求項7に記載のロボット。
- 前記ユーザとの触れ合いの成立結果に関する情報は、前記ユーザの接近有無と、前記ユーザの感情レベルと、前記ユーザと触れ合った時間長とを含み、
前記学習部は、
前記ユーザとの触れ合いの成立結果に基づき、前記ロボットの前記行動に対する報酬を取得し、
前記報酬に基づいて前記ユーザの状態に対する前記行動の価値を更新する、請求項8に記載のロボット。 - ロボットに通信可能に接続する学習装置であって、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方に基づき、前記ユーザの状態を観測する状態観測部と、
入力を前記ユーザの状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部と、
を有する、学習装置。 - 前記行動の価値に基づき、前記ユーザの状態に適した前記ロボットの前記行動を決定する行動決定部と、
前記行動の実行の指令を前記ロボットに送信する通信制御部と、
をさらに有する、請求項11に記載の学習装置。 - 前記ロボットの前記行動の結果として、前記ユーザとの触れ合いの成立結果に関する情報を取得する結果取得部をさらに有し、
前記学習部は、前記触れ合いの成立結果に基づいて前記学習モデルを更新する、請求項11または12に記載の学習装置。 - ロボットの制御方法であって、前記ロボットが、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得するステップと、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動を実行するステップと、
を実行する、制御方法。 - ロボットを制御するコンピュータに、
ユーザを写した撮影画像と、前記ユーザの生体情報との少なくとも一方を取得するステップと、
前記撮影画像および前記生体情報の少なくとも一方に基づき、前記ユーザの状態に応じて前記ユーザとの触れ合いを誘発する所定の行動の実行を指令するステップと、
を実行させる、プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022156758 | 2022-09-29 | ||
JP2022-156758 | 2022-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024071164A1 true WO2024071164A1 (ja) | 2024-04-04 |
Family
ID=90477820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/035067 WO2024071164A1 (ja) | 2022-09-29 | 2023-09-27 | ロボット、学習装置、制御方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW202421382A (ja) |
WO (1) | WO2024071164A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10289006A (ja) * | 1997-04-11 | 1998-10-27 | Yamaha Motor Co Ltd | 疑似感情を用いた制御対象の制御方法 |
JP2016012340A (ja) * | 2014-06-05 | 2016-01-21 | ソフトバンク株式会社 | 行動制御システム及びプログラム |
WO2017199662A1 (ja) * | 2016-05-20 | 2017-11-23 | Groove X株式会社 | 自律行動型ロボット及びコンピュータプログラム |
US20200009739A1 (en) * | 2019-08-08 | 2020-01-09 | Lg Electronics Inc. | Robot and method of recognizing mood using the same |
JP2021019966A (ja) * | 2019-07-30 | 2021-02-18 | 株式会社リビングロボット | パーソナルアシスタント制御システム |
-
2023
- 2023-09-27 WO PCT/JP2023/035067 patent/WO2024071164A1/ja unknown
- 2023-09-27 TW TW112136954A patent/TW202421382A/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10289006A (ja) * | 1997-04-11 | 1998-10-27 | Yamaha Motor Co Ltd | 疑似感情を用いた制御対象の制御方法 |
JP2016012340A (ja) * | 2014-06-05 | 2016-01-21 | ソフトバンク株式会社 | 行動制御システム及びプログラム |
WO2017199662A1 (ja) * | 2016-05-20 | 2017-11-23 | Groove X株式会社 | 自律行動型ロボット及びコンピュータプログラム |
JP2021019966A (ja) * | 2019-07-30 | 2021-02-18 | 株式会社リビングロボット | パーソナルアシスタント制御システム |
US20200009739A1 (en) * | 2019-08-08 | 2020-01-09 | Lg Electronics Inc. | Robot and method of recognizing mood using the same |
Also Published As
Publication number | Publication date |
---|---|
TW202421382A (zh) | 2024-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111902077B (zh) | 利用神经肌肉信号进行手部状态表示建模的校准技术 | |
US10842407B2 (en) | Camera-guided interpretation of neuromuscular signals | |
Ajoudani et al. | Tele-impedance: Teleoperation with impedance regulation using a body–machine interface | |
CN112005198A (zh) | 基于多个输入的手部状态重建 | |
JP4609584B2 (ja) | ロボット装置、顔認識方法及び顔認識装置 | |
US11327566B2 (en) | Methods and apparatuses for low latency body state prediction based on neuromuscular data | |
JP2003266351A (ja) | ロボット装置及びロボット装置の動作制御方法 | |
Liu et al. | Human motion sensing and recognition | |
Maeda et al. | Wearable robotics as a behavioral interface-the study of the parasitic humanoid | |
Oguz et al. | A hybrid framework for understanding and predicting human reaching motions | |
JP2004302644A (ja) | 顔識別装置、顔識別方法、記録媒体、及びロボット装置 | |
WO2024071164A1 (ja) | ロボット、学習装置、制御方法およびプログラム | |
WO2024071165A1 (ja) | ロボット、学習装置、制御方法およびプログラム | |
WO2024071171A1 (ja) | ロボット、学習装置、制御方法およびプログラム | |
WO2024204484A1 (ja) | ロボット | |
WO2024204481A1 (ja) | 心理状態情報取得装置、およびロボット | |
US20230020835A1 (en) | Method and system for the generation and management of tactile commands for tactile sensation | |
Nishimura et al. | Design support system for emotional expression of robot partners using interactive evolutionary computation | |
JP2003271958A (ja) | 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置 | |
Balaji et al. | Smart phone accelerometer sensor based wireless robot for physically disabled people | |
Zsolczay et al. | Vague gesture control: Implications for burns patients | |
KR20220146927A (ko) | 원격 공간 내 자율 반응형 가상 아바타를 이용한 상호 작용 방법 및 장치 | |
WO2024071169A1 (ja) | ロボット、制御方法およびプログラム | |
Tan et al. | Communication through movement: An alternative method of interaction for HRI | |
Ang et al. | Gesture, Posture, Facial Interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23872386 Country of ref document: EP Kind code of ref document: A1 |