WO2024071171A1 - ロボット、学習装置、制御方法およびプログラム - Google Patents

ロボット、学習装置、制御方法およびプログラム Download PDF

Info

Publication number
WO2024071171A1
WO2024071171A1 PCT/JP2023/035074 JP2023035074W WO2024071171A1 WO 2024071171 A1 WO2024071171 A1 WO 2024071171A1 JP 2023035074 W JP2023035074 W JP 2023035074W WO 2024071171 A1 WO2024071171 A1 WO 2024071171A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
robot
contact
unit
state
Prior art date
Application number
PCT/JP2023/035074
Other languages
English (en)
French (fr)
Inventor
健吾 山内
理人 福島
啓太 清島
裕介 清水
Original Assignee
日東電工株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日東電工株式会社 filed Critical 日東電工株式会社
Publication of WO2024071171A1 publication Critical patent/WO2024071171A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H11/00Self-movable toy figures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls 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 the robot detects contact between the user and the surface of its body, determines whether the contact is a comfortable action based on the location and strength of the contact, and changes the robot's behavior based on the result of the determination.
  • the robot's behavior changes depending on whether the user's contact is comfortable for the robot, making it difficult for the robot to behave in a way that matches the user's desired way of interacting. If the robot behaves in a way that does not match the user's way of interacting, the communication will be unnatural for the user. Ultimately, the robot will not be able to interact with the user for a long time, and will not be able to provide healing.
  • the disclosed technology aims to reduce behavior that is inconsistent with the user's interaction style.
  • One aspect of the present disclosure is a robot having an acquisition unit that acquires information about a user's contact with the robot, and a behavior control unit that commands the execution of a predetermined behavior that induces a favorable reaction from the user according to the state of the user's contact based on the information about the contact.
  • Another aspect of the present disclosure is a learning device communicatively connected to a robot, the learning device having a state observation unit that observes the state of the user's interaction based on information about the user's contact with the robot, and a learning unit that generates a learning model by machine learning, the learning model having the state of the user's interaction as an input and the value of the robot's behavior as an output.
  • 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 gently "hug" a user who has hugged it gently for a relatively long time, thereby enabling it to behave in a way that matches the user's image of interaction. The robot 100 can also move the arm 3 to "rub" it for a short period of time for a user who has only rubbed it for a relatively short period of time, enabling it to behave in a way that matches the situation of a busy 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 the face of a user who has been holding it for a relatively short period of time, allowing it to behave in a way that matches the way the user interacts with it.
  • 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 a rotation axis 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 achieve more realistic movements. For example, when the robot 100 is petted by a user for a relatively long period of time, the robot 100 can move the legs 4 to "entrust its body" to the user, enabling it to behave in a way that matches the user's image of interaction.
  • 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 first capacitance sensor 21 is fixed to the head rest 23, and the second capacitance sensor 31 is fixed to the right arm rest 33.
  • the display 24 has a right eye display 24a and a left eye display 24b.
  • the right eye display 24a, the left eye display 24b and the speaker 25 are fixed to the head frame 22.
  • the light 26 has a right cheek light 26a and a left cheek light 26b.
  • the right cheek light 26a and the left cheek light 26b are fixed to the head frame 22.
  • 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, etc.
  • the captured image is an example of an image of the user's face.
  • 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 of the human hand, etc., converts it into a tactile signal, which is an electrical signal, and outputs it to the control unit 13. From the viewpoint of improving the tactile feel of the robot 100, it is preferable that the tactile sensor 12 is configured so as not to interfere with the user's tactile sense. For example, it is preferable that the tactile sensor 12 is configured to be flexible and is configured so as to be able to deform in response to deformation of the exterior member 10 of the robot 100. For example, the tactile sensor 12 converts information about pressure and vibrations generated by the 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 an example of information regarding the user's touch 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 the 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. From the viewpoint of improving the tactile feel of the robot 100, it is preferable that the first capacitance sensor 21 and the second capacitance sensor 31 are configured so as not to interfere with the user's tactile sensation.
  • the first capacitance sensor 21 and the second capacitance sensor 31 are configured as flexible sensors including conductive threads or the like fixed in a mesh-like shape to the exterior member 10.
  • the capacitance signals output from the first capacitance sensor 21 and the second capacitance sensor 31 are an example of information regarding the user's contact with the robot 100.
  • information regarding the user's contact includes information regarding at least one of the contact site, contact range, contact time, and contact strength, which is detected from information from a sensor that detects the user's contact, such as a tactile signal or a capacitance signal.
  • the information regarding the contact site, contact range, contact time, and contact strength is defined as follows:
  • Information about "contact parts” is, for example, information about the parts of the body of the robot 100 that are touched by the user in one interaction by the user. For example, if the user strokes the head 2 of the robot 100, the “contact parts” are the head 2, and if the user hugs the robot 100, the “contact parts” are the torso 1 and the arms 3.
  • the “contact parts” may change over time in one interaction by the user, but in this case, it may be the body part of the robot 100 with the greatest number of contact parts.
  • “one interaction by the user” is the duration of contact from when the user touches the robot 100 until the user leaves the robot 100 for a predetermined time (for example, one second). For example, even if the user touches the robot 100 twice in succession, it is counted as one interaction as long as there is no gap of a predetermined time (for example, one second) between the first and second touches.
  • the information on the "contact area” is not a major category such as the torso 1, head 2, arm 3, or leg 4, but a medium or small category of these.
  • the "contact area” is a medium or small category of the torso 1 such as the chest, abdomen, back, and waist, and a medium or small category of the head 2 such as the eyes, nose, mouth, chin, cheeks, forehead, top of the head, side of the head, and back of the head.
  • the "contact area" is a medium or small category of the arm 3 such as the shoulder, upper arm, forearm, and hand of the right arm 3a or left arm 3b, and a medium or small category of the leg 4 such as the thigh, knee, lower leg, and foot of the right leg 4a or left leg 4b. Therefore, it is preferable that the tactile sensor 12, the first capacitance sensor 21, and the second capacitance sensor 31 can detect body parts of a major, medium, or small category.
  • Information on the "contact range” is, for example, information on at least one of the surface area and surface area of the robot 100 touched by the user in one interaction by the user.
  • the "contact range” is the surface area including the connection information of the body parts of the robot 100 touched by the user, such as the chest (torso 1) -> right upper arm and left upper arm (arm 3) -> back (torso 1).
  • the "contact range” is the total surface area of the robot 100 touched by the user at the chest (torso 1), right upper arm (arm 3), left upper arm (arm 3), and back (torso 1).
  • the "contact range” may change over time in one interaction by the user, but in this case, it may be the contact range of the robot 100 that is the largest in one interaction by the user.
  • Information about “contact time” is, for example, information about the duration of one contact by the user.
  • Contact time does not refer to the duration during which the user continuously touches one body part of the robot 100, but rather, for example, if the user strokes the arm 3 of the robot 100 and then immediately hugs it, it is the duration from when the user strokes the robot 100 to when the hug ends.
  • Information about “contact time” may also include at least one of the user's contact speed and contact acceleration with respect to the robot 100 (hereinafter referred to as the user's "contact change rate").
  • Information about “contact time” may also include the frequency of the user's contact methods, such as the number of times the user hugs the robot per day or the number of times the user strokes the robot per day.
  • Information regarding "contact intensity” is, for example, information regarding the strength applied by the user to the surface of the robot 100 in a single interaction by the user.
  • the "contact intensity” is the maximum or average value of the strength applied by the user to the chest (torso 1), the upper right arm (arm 3), the upper left arm (arm 3), and the back (torso 1).
  • "contact intensity” may change over time during a single interaction by the user, in which case it may be the maximum or average value of the strength applied by the user during a single interaction by the user.
  • the right eye display 24a and the left eye display 24b are display modules that display characters 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 configured, for example, from liquid crystal display modules.
  • the characters 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 behave in a way that matches the way the user interacts with it by displaying an image on the right eye display 24a and the left eye display 24b that "changes its facial expression" (opens and closes its eyes) in response to a user holding it tightly for a relatively short period of time.
  • 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 "make a sound" (call out) from the speaker 25 to a user who has given it a one-touch, thereby enabling the robot 100 to behave in a way that matches the way the user interacts with it.
  • 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 configured, for example, with an LED (Light Emitting Diode) light module.
  • the blinking or color change of the right cheek light 26a and the left cheek light 26b is used to express the emotions of the robot 100.
  • the robot 100 can behave in a way that matches the way the user interacts with it by making the right cheek light 26a and the left cheek light 26b blink red when the user holds it in their arms.
  • 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 installation positions of the tactile sensor 12, first capacitance sensor 21, second capacitance sensor 31, camera 11, and vital sensor 14 in the robot 100 can be changed as appropriate. Furthermore, various sensors such as the camera 11 and vital sensor 14 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 be configured as crawlers or legs.
  • 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, and information detected by various sensors, such as biological information acquired by the vital sensor 14.
  • 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 electrical 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 also detects information regarding the user 200's contact with the robot 100 based on the tactile signal S from the tactile sensor 12. Furthermore, the detection unit 110 may detect information regarding the user 200's contact with the robot 100 based on the first capacitance signal C1 or the second capacitance signal C2.
  • the estimation unit 111 estimates a predetermined behavior an (n is the identification number of behavior a) of the robot 100 suitable for the interaction state st (t is time) of the user 200 based on information about the contact of the user 200 with the robot 100.
  • the estimation unit 111 performs reinforcement learning to estimate a predetermined behavior at (t is time) of the robot 100 suitable for the interaction state st of the user 200.
  • 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 interaction state st of the user 200.
  • the estimation unit 111 may estimate an action at of the robot 100 that is suitable for the interaction state st of the user 200 using a learned learning model (in this embodiment, a learned action value table or a learned neural network). In this case, the estimation unit 111 will estimate a predetermined action at of the robot 100 that is suitable for the interaction state st of the user 200 using a predetermined logic or a predetermined algorithm.
  • a learned learning model in this embodiment, a learned action value table or a learned neural network.
  • the estimation unit 111 will estimate a predetermined action at of the robot 100 that is suitable for the interaction state st of the user 200 using a predetermined logic or a predetermined algorithm.
  • 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 a predetermined action at that induces a good reaction from the user 200 according to the state st of the user's 200 interaction.
  • a predetermined action at that matches the user's 200 interaction it is possible to reduce behavior that is unnatural to the user 200. This in turn allows the user 200 to interact with the robot 100 over a long period of time, providing a sense of healing to the user 200.
  • the predetermined behavior at of the robot 100 is preferably a behavior that imitates the way the user 200 interacts with the robot, such as "hugging" for a relatively long period of time as a reaction to the user 200 hugging the robot for a relatively long period of time.
  • the predetermined behavior at of the robot 100 is also preferably a behavior that imitates at least one of the duration of the interaction by the user 200, the rate of change of the user 200's contact (contact speed or contact acceleration), and the contact strength of the user 200.
  • the predetermined behavior at of the robot 100 is preferably a behavior that matches the situation of the busy user 200, such as "changing facial expression” (blinking cheeks or smiling eyes) for a relatively short time in response to a relatively short one-touch by the user 200.
  • the predetermined behavior at of the robot 100 is preferably a behavior that matches the way the user 200 interacts with the robot, such as "making a sound” (making a calling voice) for a relatively short time in response to the user 200 gently stroking the head for a relatively short time.
  • the predetermined behavior at of the robot 100 is preferably a behavior that matches the way the user 200 plays or plays, such as “getting scared” or “changing facial expression” (shedding tears or opening and closing eyes) in response to being hit by the user 200.
  • 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.
  • Tables 1A and 1B below are examples 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 according to the command content of the action at of the robot 100 from the action control unit 112. If the action content of the robot 100 is, for example, "hug", the motor control unit 107 controls the position and posture of the robot 100 relative to the position and posture of the user 200 by a tracking command, and then executes the action command of "hug" that was taught in advance.
  • the output unit 108 controls communication between the control unit 13 and the display 24 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 "smile with eyes", the output unit 108 outputs a command to display a smiling image 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 from the behavior control unit 112 to execute the behavior at of the robot 100. For example, if the behavior content of the robot 100 is "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 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 "blink 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 the 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 interaction 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 behavior at of the robot 100 that is appropriate for the interaction 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 to observe the state st of the user 200.
  • the state observation unit 121 observes the state st of the user 200's way of touching based on information about the user 200's contact with the robot 100.
  • the information about the user 200's contact is a haptic signal S, but it may also be a first capacitance signal S1 or a second capacitance signal S2.
  • the state observation unit 121 has a touching style estimation unit 151.
  • the touching style estimation unit 151 is responsible for one process in the state observation unit 121.
  • the function of the touching style estimation unit 151 may be handled by another external device communicatively connected to the learning device 300.
  • the touching style estimation unit 151 estimates the touching style state st of the user 200 based on information about the touch of the user 200.
  • the touching style of the user 200 is classified into a predetermined state based on information about at least one of the contact part, contact range, contact time, and contact strength in the robot 100.
  • the touching style of the user 200 is classified into a predetermined state sn including any one of “hugging,” “tapping,” “stroking,” “hitting,” “pushing,” “holding hands,” “rubbing face against,” “stroking,” and “shaking hands.”
  • the touching style of the user 200 may be substantially the same as the behavior of the robot 100 shown in Tables 1A and 1B.
  • the touching style estimation unit 151 estimates the touching style using a trained learning model or by performing machine learning. For example, the touching style estimation unit 151 uses teacher data to deep-learn a neural network learning model in which the input is information about the touch of the user 200 (information about the contact part, contact area, and contact time) and the output is the touching style of the user 200. As a result, when new information about the touch when the user 200 hugs is input into the neural network learning model and analyzed by AI (artificial intelligence), the touching style of the user 200 can be classified as "hugging.”
  • AI artificial intelligence
  • the storage unit 126 stores information about the interaction state sn (n is an identification number of the state s) of the user 200.
  • Information about the interaction state sn is managed, for example, by a database table.
  • Table 2 below is an example of a state table TB2 related to the interaction state sn of the user 200.
  • the state table TB2 has a state ID that identifies the interaction state sn of the user 200, and state content of the interaction state of the user 200.
  • the state details of the user's 200 interaction include the user's 200 interaction, the duration of interaction, and the intensity of interaction, but may also include the rate of change in the interaction of the user 200 with the robot 100 (e.g., the interaction speed and interaction acceleration) and the frequency of the user's interaction (e.g., the number of times the user hugs the robot per day).
  • the robot 100 executes, for example, a "hugging" action at for a relatively long time, the action becomes unnatural to the user 200. If the user 200 feels that he is just interacting with the robot 100, he will eventually tire of the robot 100 and stop interacting with it. On the other hand, if the robot 100 executes, for example, a "hugging" action at for a relatively short time, it is highly likely to elicit a favorable response from the user 200.
  • the behavior decision unit 122 determines the behavior at of the robot 100 with respect to the interaction state st of the user 200 based on the value Q of the behavior at-1 (t-1 is the previous time).
  • the storage unit 126 stores an action value table TB3 that indicates the value Q of the robot's action an with respect to the interaction 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 be possible to transition to a state st+1 (t+1 is the next time) of an interaction 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 behavior 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 behavior 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 a favorable reaction from the user 200 according to the state st of the user's interaction.
  • the result acquisition unit 123 acquires information regarding the result of the user's 200 reaction as a result of the action at of the robot 100.
  • the information regarding the result of the user's 200 reaction preferably includes information regarding the emotions of the user 200.
  • the information regarding the emotions of the user 200 includes at least the positive or negative emotional level of the user 200.
  • the result acquisition unit 123 has an emotion level estimation unit 152.
  • the function of the emotion level estimation unit 152 may be performed by another external device communicatively connected to the learning device 300.
  • the emotion level estimation unit 152 estimates the emotion level of the user 200 based on a captured image Im (face image) of the user 200 and information on at least one of the user's 200 heart rate, respiration, blood pressure, and body temperature.
  • the emotion of user 200 is classified into a predetermined state based on the facial image of user 200 and at least one of user 200's heart rate [bpm], respiratory rate [breathing rate/min], blood pressure [mmHg], and body temperature [°C].
  • the emotion of user 200 is preferably classified into at least one of "neutral,” “happiness,” “sadness,” “disgust,” “fear,” “surprise,” and “anger.”
  • the emotion of user 200 may be, for example, a combination of "fear” and "surprise.”
  • the emotion level estimation unit 152 estimates emotions using a trained learning model or by performing machine learning. For example, the emotion level estimation unit 152 uses teacher data to deep-learn a neural network learning model in which the facial image, heart rate, and blood pressure value of the user 200 are input, and the emotions of the user 200, including "neutral,” “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 level estimation unit 152 estimates the emotion level as "neutral” if the emotion of the user 200 is classified as “neutral”, and estimates the emotion level as "very positive” if the emotion is classified as “happiness”. The emotion level estimation unit 152 also estimates the emotion level as "negative” if the emotion of the user 200 is classified as “sadness”, and estimates the emotion level as "very negative” if the emotion is classified as “disgust”.
  • the result acquisition unit 123 acquires a result of the user's 200 reaction (e.g., the emotional level of the user 200) as a result of the action at of the robot 100.
  • a result of the user's 200 reaction e.g., the emotional level of the user 200
  • the emotional level estimation unit 152 estimates that the emotional level of the user 200 is "positive”
  • the result acquisition unit 123 acquires a result that "the user 200 has a good reaction”.
  • the learning unit 124 uses reinforcement learning to generate a learning model LM whose input is the interaction state st of the user 200 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 user 200's reaction being good or bad.
  • the learning unit 124 obtains a reward r for the action at of the robot 100 based on the result of the user 200's reaction being good or bad, and updates the value Q (action value table TB3) of the action at for the interaction 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 user's 200 reaction (e.g., the emotional level of 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 the user 200's reaction.
  • 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 the user 200's reaction, and a reward rn based on the result of the user 200's reaction. There are as many rewards rn as there are predefined results of the user 200's reaction.
  • the reward acquisition unit 155 acquires a predetermined reward rn according to the emotional level of the user 200. It is preferable that the more "positive” the emotional level of the user 200, the more positive the reward rn defined. It is also preferable that the more "negative” the emotional level of the user 200, the more negative the reward rn defined. On the other hand, when the emotional level of the user 200 is "neutral", 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 with respect to the interaction 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 interaction state of the user 200 at a certain time t, and at is the action of the robot 100 at a certain time t. Due to the action at of the robot 100, the interaction state of the user 200 changes to st+1 (t+1 is the next time).
  • r is the reward obtained by the change in the interaction state.
  • the term with max is the value Q multiplied by the discount rate ⁇ (0 ⁇ 1) when the action at+1 with the highest value Q known at that time is selected when the interaction 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 the interaction 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 a certain action at of the robot 100 for a certain interaction state st of the user 200 is smaller than the sum of the reward r and the discount value Q of the best action at+1 for the next interaction state st+1, the value Q(st, at) is increased.
  • equation 1 makes the value Q of a certain action at in a certain interaction state st approach the sum of the resulting reward r and the discount value Q of the best action at+1 for the next interaction 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 interaction state st+1 of the next user 200.
  • the action decision unit 122 determines the action at+1 of the robot 100 for the interaction 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 to execute 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 interaction state st+1 of the user 200.
  • a method for expressing the value Q(st, at) on a computer there is a method of storing the value Q(st, at) for combinations of the interaction states sn of all users 200 and the actions an of all robots 100 as an action value table TB3.
  • the learning unit 124 generates a learning model of a neural network (DQN) by deep reinforcement learning, in which the input is the interaction state st of the user 200 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 inputs of both networks are the interaction 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 interaction 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 interaction 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 user's 200 reaction (e.g., the emotional level of the user 200) as a result of the robot's 100 action at, and outputs it to the learning unit 124.
  • the learning unit 124 acquires a reward r based on the result of the user's 200 reaction.
  • the state observation unit 121 also observes the next state st+1 of the user's 200 interaction, and outputs it 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 interaction of the user 200
  • at is the behavior of the robot 100
  • st+1 is the next state of interaction 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 interaction 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 interaction state st of the user 200.
  • Fig. 11 is a flowchart illustrating a process of the control unit 13.
  • Fig. 11 shows a process in which the control unit 13 instructs the execution of an action at that induces a favorable reaction from the user 200 in accordance with a contact state st of the user 200.
  • step S10 the control unit 13 acquires information about the touch of the user 200 with the robot 100 by the acquisition unit 101.
  • the information about the touch of the user 200 is, for example, at least one of the haptic signal S, the first capacitance signal C1, and the second capacitance signal C2.
  • step S10 power is supplied from the battery 15 to the tactile sensor 12, the first capacitance sensor 21, and the second capacitance sensor 31.
  • power does not need to be supplied to the camera 11, the vital sensor 14, the servo motor 35, the display 24, the speaker 25, and the 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 interaction state st of the user 200 based on information about the contact of the user 200. 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 interaction 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 commands the behavior control unit 112 to execute behavior at that induces a good reaction from the user 200 according to the state st of the user's 200 interaction.
  • the control unit 13 repeats the processes of steps S10 to S12, thereby allowing the robot 100 to accumulate behaviors at that do not feel strange to the user 200.
  • the accumulation of natural behaviors at leads to the impression of a good partner, making communication more natural. This in turn allows the user 200 to interact with the robot over the long term, providing healing to the user 200.
  • control unit 13 performs processing to execute the action at that induces a favorable reaction from the user 200 according to the state st of the user's 200 interaction.
  • 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 interaction state st of the user 200.
  • Each step shown in Fig. 12 is a detailed processing of step S11 shown in Fig. 11.
  • step S20 the estimation unit 111 observes the state st of the user 200's touching manner based on information about the user 200's touch with the robot 100 using the state observation unit 121. It is preferable that the estimation unit 111 estimates the user 200's touching manner and observes the state st of the touching manner based on information about at least one of the contact part, contact range, contact duration, and contact strength by the user 200.
  • the estimation unit 111 determines, by the action decision unit 122, an action at of the robot 100 that is appropriate for the state st of the interaction 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).
  • 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, so that 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 interaction state st of the user 200 is estimated, and the other steps are learning phases.
  • step S22 the estimation unit 111 acquires information on the positive or negative result of the user's 200 reaction (e.g., the emotional level of the user 200) as a result of the robot's 100 action at through the result acquisition unit 123.
  • the positive or negative result of the user's 200 reaction e.g., the emotional level of the user 200
  • step S23 the estimation unit 111 acquires a reward r for the robot 100's action at based on the result of the user's 200 reaction, using 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 with respect to the interaction 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 interaction 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 interaction 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 interaction 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 the estimation unit 111 performs supervised learning to estimate an action at of the robot 100 suitable for a state st of the interaction of the user 200. 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's 200 interaction (t-n is the time n times ago), the robot's 100's action at-n, and the value Q of the action at-n (corresponding to a label).
  • the estimation unit 111 acquires 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 the user 200's response was actually good, the error calculation unit 158 calculates the error L assuming that there is an error of -log(Q(st,at)). Also, if the user 200's response was not actually good, 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 that is suitable for the interaction state st of the actual user 200.
  • the robot 100 then executes an action at that induces a favorable reaction from the user 200 according to the interaction state st of the user 200.
  • the state observation unit 121 observes the interaction state st of the user 200, and the behavior decision unit 122 uses the learning model LM to decide a predetermined behavior at appropriate for the interaction state st of the user 200.
  • the communication control unit 125 then transmits a command to execute the behavior at to the robot 100, and the robot 100 executes the received command to execute the behavior at.
  • the result acquisition unit 123 acquires the result of the user's 200 reaction as a result of the robot's 100 action at.
  • the error calculation unit 158 calculates the error of the value Q of the action at based on the result of the user's 200 reaction, and the learning model update unit 159 further updates the neural network learning model LM so as to minimize the error L.
  • the behavior decision unit 122 uses the learning model LM to decide the robot's 100 action at+1 that is appropriate for the next interaction state st+1 of the user 200.
  • the estimation unit 111 estimates the behavior at of the robot 100 suitable for the interaction state st of the user 200, using the learning model LM that has been learned to a certain level by supervised learning.
  • the replaced robot 100 can learn from past experiences based on the teacher data of the broken robot 100 and immediately execute the behavior at suitable for the interaction state st of the user 200.
  • the robot 100 will be able to execute the behavior at suitable for the interaction state st of the user 200 at a certain level, even when interacting with 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 interaction 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 interaction state st of the actual user 200, using the learning model LM that has been trained to a certain level using teacher data.
  • step S32 the estimation unit 111 observes the actual state st of the user 200's touch based on information about the user 200's touch with the robot 100 via the state observation unit 121. It is preferable that the estimation unit 111 estimates the user 200's touch based on information about at least one of the contact part, contact range, contact time, and contact strength by the user 200, and observes the state st of the touch.
  • step S33 the estimation unit 111 determines, by the behavior decision unit 122, an action at of the robot 100 that is appropriate for the interaction 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 behavior control unit 112, or transmits it to the robot 100 via the communication control unit 125.
  • the robot 100 executes the action at that corresponds to the interaction 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 interaction of the user 200 is estimated, and the other steps are learning phases.
  • step S34 the estimation unit 111 acquires information on the positive or negative result of the user's 200 reaction (the emotional level of the user 200) as a result of the robot's 100 action at through the result acquisition unit 123.
  • the estimation unit 111 calculates the error L of the value Q of the action at based on the result of the user's 200 reaction 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 interaction state st+1 of the next user 200 using the state observation unit 121. Then, in step S33, the estimation unit 111 determines, using the action decision unit 122, an action at+1 of the robot 100 that is suitable for the interaction state st+1 of the next user 200 based on the value Q of the updated action at. Then, the robot 100 executes the next action at+1 (step S12).
  • the estimation unit 111 may provide 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 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 (neural network, etc.) to estimate the action at+n of the robot 100 that is appropriate for the interaction state st+n (t+n is the time n times later) of the user 200.
  • 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 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 (neural network, etc.) to estimate the action
  • the robot 100 executes the action at that induces a favorable reaction from the user 200 according to the state st of the user's interaction with the robot 100, based on information about the user's interaction with the robot 100. Therefore, it is possible to reduce actions that do not match the interaction with the user 200.
  • the accumulation of natural actions leads to the impression of a good partner, and communication becomes natural. This in turn allows the user 200 to interact with the robot 100 for a long period of time, providing healing to the user 200.
  • the information on the contact of the user 200 includes information on at least one of the contact part, contact range, contact time, and contact intensity on the robot 100. Even if the user 200 hugs the robot 100, the user 200 may not necessarily be in a state to touch the robot 100 slowly, and may be busy. The user 200 may also want to hug the robot 100 tightly. Therefore, by taking into account not only the information on the contact part and contact range, but also the information on the contact time and contact intensity, the state st of the user 200's way of touching can be observed with high accuracy.
  • the sensor that detects information related to the touch of the user 200 is preferably a sensor that does not interfere with the user 200's sense of touch, such as the tactile sensor 12, the first capacitance sensor 21, and the second capacitance sensor 31, in other words, a sensor that feels good to the touch.
  • the sensor has a flexible configuration that follows the contact changes of the exterior member 10 of the robot 100. This makes the user 200 want to touch the robot 100, and the frequency or number of times that the user 200 touches the robot 100 can be increased.
  • the state st of the user's 200 interaction is a predetermined state sn classified by a combination of the interaction estimated based on information about the user's 200 interaction and at least one of the interaction duration and intensity.
  • the interaction state st is a predetermined state sn of any one of "hugging,” “tapping,” “stroking,” “hitting,” “pushing,” “holding hands,” “rubbing one's face against,” “stroking,” and “shaking hands.” This allows the interaction state st of the user 200 to be classified into tens to hundreds of types, thereby suppressing an increase in memory space in the action value table TB3.
  • the predetermined behavior an of the robot 100 is a behavior that imitates the way the user 200 interacts with the robot.
  • the predetermined behavior an also imitates at least one of the duration of the interaction by the user 200, the rate of change in the interaction by the user 200, and the intensity of the interaction by the user 200.
  • the robot 100 performs an action that imitates the state st of the interaction by the user 200, and therefore can increase the possibility of eliciting a favorable response from the user 200.
  • 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's interaction and the output is the value Q of the robot 100's action at. Therefore, the robot 100 can learn the action at that is suitable for the user 200's interaction, and can reduce the awkwardness of communication. This in turn allows for continuous interaction with the user 200, providing healing 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 result of the user's 200 reaction, and the learning unit 124 updates the learning model LM based on the result of the user's 200 reaction. Therefore, the robot 100 can continuously learn the action at that is suitable for the state st of the user's 200 interaction and continuously execute the action that matches the user's 200 interaction, thereby reducing the awkwardness of communication.
  • the learning model LM can also increase the reliability of the robot's 100's learning ability by using the action value table TB3 or a neural network (DQN), the effectiveness of which has already been proven.
  • the information regarding the result of the user's 200 reaction includes the emotional level of the user 200 estimated from the facial image and biometric information of 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 user's 200 reaction (emotional level), and updates the value Q of the action at for the interaction state st of the user 200 based on the reward r. Therefore, the robot 100 can learn an action at that is appropriate for the interaction state st of the user 200 according to the emotional level of the user 200.
  • the robot 100 may also use a learning model LM that has been learned to a certain level by supervised learning to estimate the behavior at of the robot 100 that is suitable for the interaction state st of the user 200.
  • a learning model LM that has been learned to a certain level by supervised learning to estimate the behavior at of the robot 100 that is suitable for the interaction state st of the user 200.
  • 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 information regarding a user's contact with a robot; a behavior control unit that commands the execution of a predetermined behavior that induces a favorable reaction from the user according to a state of the user's contact based on the information about the contact;
  • a robot having the above configuration.
  • the device further includes an estimation unit that estimates the predetermined action suitable for the state of the manner of contact of the user based on the information about the contact,
  • the estimation unit is A state observation unit that observes a state of the user's interaction based on information about the contact;
  • a behavior determination unit that determines the predetermined behavior appropriate for the state of the interaction based on the value of the behavior;
  • ⁇ 3> The robot described in ⁇ 1> or ⁇ 2>, wherein the information about the contact includes information about at least one of the contact site, contact range, contact duration, and contact strength.
  • the robot described in any one of ⁇ 1> to ⁇ 3> further comprises a sensor that detects information related to the contact, the sensor being configured so as not to interfere with the user's sense of touch.
  • ⁇ 5> The robot according to any one of ⁇ 1> to ⁇ 4>, wherein the state of the manner of contact is a predetermined state classified by a combination of the manner of contact estimated based on the information on the contact and information on at least one of the duration and intensity of the manner of contact.
  • ⁇ 6> The robot described in any one of ⁇ 1> to ⁇ 5>, wherein the predetermined behavior is a behavior that imitates the manner of interaction of the user.
  • ⁇ 7> The robot according to any one of ⁇ 1> to ⁇ 6>, wherein the predetermined behavior is a behavior that imitates at least one of the duration of contact by the user, the rate of change in contact by the user, and the intensity of contact by the user.
  • the estimation unit has a learning unit that generates a learning model by machine learning, the learning model having the state of the user's interaction as an input and the value of the robot's behavior as an output.
  • the estimation unit further includes a result acquisition unit that acquires information on a result of a reaction of the user as a result of the action of the robot, The robot described in ⁇ 8>, wherein the learning unit updates the learning model based on the result of the reaction.
  • the acquisition unit further acquires a face image and biometric information of the user,
  • the information regarding the result of the reaction includes an emotion level of the user estimated from the face image and the biometric information
  • the learning unit is obtaining a reward for the action of the robot based on the result of the response;
  • the robot according to ⁇ 9> wherein a value of the action for the state of the user's interaction is updated based on the reward.
  • a learning device communicatively connected to a robot, a state observation unit that observes a state of the user's interaction with the robot based on information about the user's interaction with the robot; A learning unit that generates a learning model by machine learning, the learning model having an input of the interaction state of the user and an output of a value of the behavior of the robot; A learning device having the above configuration.
  • a behavior determination unit that determines the behavior of the robot appropriate for the state of the interaction based on a value of the behavior;
  • a communication control unit that transmits a command to execute the action to the robot;
  • a method for controlling a robot comprising: obtaining information about a user's contact with the robot; Executing a predetermined action that induces a favorable reaction from the user according to a state of the user's contact based on the information about the contact; A control method for performing the above.
  • the computer that controls the robot obtaining information about a user's contact with the robot; a step of instructing the execution of a predetermined action that induces a favorable reaction from the user according to a state of the user's contact based on the information about the contact; 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)
  • Toys (AREA)

Abstract

ユーザの触れ合い方に合わない行動を低減する。ロボットは、ロボットに対するユーザの接触に関する情報を取得する取得部と、前記接触に関する情報に基づき、前記ユーザの触れ合い方の状態に応じて前記ユーザの良好な反応を誘発する所定の行動の実行を指令する行動制御部と、を有する。

Description

ロボット、学習装置、制御方法およびプログラム
 本開示は、ロボット、学習装置、制御方法およびプログラムに関する。
 従来から、ユーザとの触れ合いを想定したロボットが知られている。また、ユーザと触れ合うことにより癒しを提供するロボットが知られている。
 特許文献1には、ロボットの体表面に対するユーザの接触を検出し、接触箇所および接触強度に応じて快適行為か否かを判定し、判定結果に応じてロボットの行動を変化させることが開示されている。
特開2019-72495号公報
 しかし、特許文献1においてはユーザの接触がロボットにとって快適行為か否かに応じてロボットの行動を変化させるため、ユーザが求める触れ合い方に合った行動を行うことは困難である。ロボットがユーザの触れ合い方に合わない行動を行うと、ユーザにとって違和感のあるコミュニケーションになってしまう。ひいてはユーザに長期的に触れ合ってもらえず、癒しを提供することができない。
 開示の技術は、ユーザの触れ合い方に合わない行動を低減することを目的とする。
 本開示の一態様は、ロボットに対するユーザの接触に関する情報を取得する取得部と、前記接触に関する情報に基づき、前記ユーザの触れ合い方の状態に応じて前記ユーザの良好な反応を誘発する所定の行動の実行を指令する行動制御部と、を有する、ロボットである。
 本開示の他の態様は、ロボットに通信可能に接続する学習装置であって、前記ロボットに対するユーザの接触に関する情報に基づき、前記ユーザの触れ合い方の状態を観測する状態観測部と、入力を前記ユーザの前記触れ合い方の状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部と、を有する、学習装置である。
 本開示の一態様によれば、ユーザの触れ合い方に合わない行動を低減することができる。
一実施形態のロボットの斜視図である。 一実施形態のロボットの側面図である。 一実施形態のIII-III切断線に沿うロボットの断面図である。 一実施形態のバイタルセンサの構成を示す図である。 一実施形態の制御部のハードウェア構成を示すブロック図である。 一実施形態の制御部の機能構成を示すブロック図である。 一実施形態の推定部(学習装置)のハードウェア構成を示すブロック図である。 一実施形態の推定部(学習装置)の機能構成を示すブロック図である。 一実施形態のニューロンの学習モデルの模式図である。 一実施形態のニューラルネットワークの学習モデルの模式図である。 一実施形態の制御部の処理を示すフローチャートである。 一実施形態の推定部(学習装置)の処理を示すフローチャートである。 変形例の推定部(学習装置)の機能構成を示すブロック図である。 変形例の推定部(学習装置)の処理を示すフローチャートである。
 以下、図面を参照して本開示の実施形態について詳細に説明する。各図面において、同一構成要素には同一符号を付与し、重複した説明を適宜省略する。
 以下に示す実施形態は、本開示の技術思想を具体化するためのロボットを例示するものであって、本開示を以下に示す実施形態に限定するものではない。以下に記載されている構成部品の寸法、材質、形状、その相対的配置等は、特定的な記載がない限り、本開示の範囲をそれのみに限定する趣旨ではなく、例示することを意図したものである。また図面が示す部材の大きさや位置関係等は、説明を明確にするため、誇張している場合がある。
 <ロボット100の全体構成例>
 図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の触り心地を良好にする観点において、ユーザの触感を邪魔しないように構成されることが好ましい。例えば、触覚センサ12は可撓性を有するように構成され、ロボット100の外装部材10の変形に対し、追従して変形可能に構成されることが好ましい。例えば触覚センサ12は、ユーザがロボット100に接触することにより生じた圧力や振動の情報を圧電素子によって触覚信号に変換して制御部13に出力する。触覚センサ12から出力された触覚信号は、ロボット100に対するユーザの接触に関する情報の一例である。
 バイタルセンサ14は、電磁波を利用してユーザの生体情報を取得する電磁波センサの一例である。バイタルセンサ14については、図4を参照して別途詳述する。
 第1静電容量センサ21および第2静電容量センサ31は、ユーザがロボット100に接触または近接したことを静電容量の変化に基づき検出した静電容量信号を制御部13に出力するセンサ素子である。第1静電容量センサ21および第2静電容量センサ31は、ロボット100の触り心地を良好にする観点において、ユーザの触感を邪魔しないように構成されることが好ましい。例えば第1静電容量センサ21および第2静電容量センサ31は、外装部材10に網の目状に固定された導電糸等を含む可撓性のセンサとして構成される。なお、第1静電容量センサ21および第2静電容量センサ31から出力された静電容量信号は、ロボット100に対するユーザの接触に関する情報の一例である。
 なお、「ユーザの接触に関する情報」は、触覚信号または静電容量信号等のユーザの接触を検知するセンサの情報から検出される、接触部位、接触範囲、接触時間および接触強度のうちの少なくとも一つに関する情報を含む。これら接触部位、接触範囲、接触時間および接触強度に関する情報は、次のように定義される。
 「接触部位」に関する情報は、例えば1回のユーザによる触れ合いにおいてユーザにより触れられたロボット100の身体部位の情報である。例えばユーザがロボット100の頭部2をなでた場合は、「接触部位」は頭部2になり、例えばユーザがロボット100をハグした場合は、「接触部位」は、胴部1および腕部3になる。また「接触部位」は、1回のユーザによる触れ合いにおいて時間と共に変化することがあるが、この場合、接触部位の数が最大となるロボット100の身体部位でよい。なお、「1回のユーザによる触れ合い」とは、ユーザがロボット100に触れてから所定の時間(例えば1秒間)離れるまでの接触の継続期間である。例えばユーザがロボット100を連続して2回タッチしても、1回目のタッチと2回目のタッチの間が所定の時間以上(例えば1秒以上)空いていなければ、1回の触れ合いになる。
 また「接触部位」に関する情報は、胴部1、頭部2、腕部3または脚部4等のように大分類ではなく、これらの中分類または小分類であることが好ましい。例えば「接触部位」は、胸部、腹部、背中部および腰部等のように胴部1の中分類または小分類であり、眼部、鼻部、口部、顎部、頬部、額部、頭頂部、側頭部および後頭部等のように頭部2の中分類または小分類である。また例えば「接触部位」は、右腕部3aまたは左腕部3bの肩部、上腕部、前腕部および手部等のように腕部3の中分類または小分類であり、右脚部4aまたは左脚部4bの大腿部、膝部、下腿部および足部等のように脚部4の中分類または小分類である。したがって、触覚センサ12、第1静電容量センサ21および第2静電容量センサ31は、大分類、中分類または小分類の身体部位を検知できることが好ましい。
 「接触範囲」に関する情報は、例えば1回のユーザによる触れ合いにおいてユーザにより触れられたロボット100の表面領域および表面積の少なくとも一方の情報である。例えばユーザがロボット100をハグした場合、「接触範囲」は、胸部(胴部1)->右上腕部および左上腕部(腕部3)->背部(胴部1)といったユーザにより触れられたロボット100の身体部位の連結情報を含む表面領域になる。またユーザがロボット100をハグした場合、「接触範囲」は、胸部(胴部1)と、右上腕部(腕部3)と、左上腕部(腕部3)と、背部(胴部1)とにおいてユーザによりそれぞれ触れられたロボット100の各表面積を合計した表面積になる。また「接触範囲」は、1回のユーザによる触れ合いにおいて時間と共に変化することがあるが、この場合、1回のユーザによる触れ合いにおいて接触範囲が最大となるロボット100の接触範囲でよい。
 「接触時間」に関する情報は、例えば1回のユーザによる触れ合いにおける継続時間の情報である。「接触時間」は、ユーザがロボット100の一つの身体部位を継続的に触れた継続時間ではなく、例えばユーザがロボット100の腕部3をさすった後にすぐハグをした場合は、ユーザがロボット100をさすってからハグを終えるまでの継続期間になる。また「接触時間」に関する情報には、ロボット100に対するユーザの接触速度および接触加速度のうちの少なくとも一方が含まれていてもよい(以下、ユーザの「接触変化率」と称する。)。さらに「接触時間」に関する情報には、ユーザが1日当たりにハグした回数またはユーザが1日当たりになでた回数等のユーザの触れ合い方の頻度が含まれていてもよい。
 「接触強度」に関する情報は、例えば1回のユーザによる触れ合いにおいてユーザがロボット100の表面に加えた強さの情報である。例えばユーザがロボット100をハグした場合、「接触強度」は、胸部(胴部1)と、右上腕部(腕部3)と、左上腕部(腕部3)と、背中部(胴部1)と、においてユーザによりそれぞれ加えられた強さの最大値または平均値である。また「接触強度」は、1回のユーザによる触れ合いにおいて時間と共に変化することがあるが、この場合、1回のユーザによる触れ合いにおいてユーザにより加えられた強さの最大値または平均値でよい。
 右眼ディスプレイ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における触覚センサ12、第1静電容量センサ21、第2静電容量センサ31、カメラ11およびバイタルセンサ14の設置位置は適宜変更可能である。さらにカメラ11およびバイタルセンサ14等の各種センサは、ロボット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と、有するマイクロ波ドップラーセンサである。マイクロ波は電磁波の一例である。
 バイタルセンサ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を介して相互に通信可能に接続している。
 CPU131は、各種の演算処理を含む制御処理を実行する。ROM132は、IPL(Initial Program Loader)等のCPU131の駆動に用いられるプログラムを記憶する。RAM133は、CPU131のワークエリアとして使用される。HDD/SSD134は、プログラム等の各種情報、カメラ11により取得された撮像画像、バイタルセンサ14により取得された生体情報等の各種センサによる検出情報等を記憶する。
 機器接続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と、を有する。
 制御部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は、触覚センサ12からの触覚信号Sに基づき、ロボット100に対するユーザ200の接触に関する情報を検出する。さらに検出部110は、第1静電容量信号C1または第2静電容量信号C2に基づき、ロボット100に対するユーザ200の接触に関する情報を検出してもよい。
 推定部111は、ロボット100に対するユーザ200の接触に関する情報に基づき、ユーザ200の触れ合い方の状態st(tは時刻)に適したロボット100の所定の行動an(nは行動aの識別番号)を推定する。本実施形態において、推定部111は、強化学習を行ってユーザ200の触れ合い方の状態stに適したロボット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の触れ合い方に合った所定の行動atを行うことにより、ユーザ200にとって違和感のある行動を低減することができる。ひいてはロボット100がユーザ200に長期的に触れ合ってもらえるようになり、ユーザ200に癒しを提供することができる。
 なお、ロボット100の所定の行動atは、例えばユーザ200が比較的長時間ハグした時の反応として、比較的長時間「ハグする」等のようにユーザ200の触れ合い方を模倣した行動であることが好ましい。またロボット100の所定の行動atは、ユーザ200による触れ合いの継続時間と、ユーザ200の接触変化率(接触速度または接触加速度)と、ユーザ200の接触強度とのうちの少なくとも一つを模倣した行動であることが好ましい。
 またロボット100の所定の行動atは、例えばユーザ200が比較的短時間ワンタッチした時の反応として比較的短時間「表情を変える」(頬を明滅するまたは目で笑う)等のように忙しいユーザ200の状況に合った行動であることが好ましい。さらにロボット100の所定の行動atは、例えばユーザ200が比較的短時間優しく頭をなでた時の反応として、比較的短時間「声を出す」(呼びかける声を出す)等のようにユーザ200の触れ合い方に合った行動であることが好ましい。またロボット100の所定の行動atは、例えばユーザ200にたたかれた時の反応として、「怯える」または「表情を変える」(涙を流すまたは目を開閉する)等のようにユーザ200の戯れ方または遊び方に合った行動であることが好ましい。
 格納部103は、事前に定義されたロボット100の行動anに関する情報を格納する。ロボット100の行動anに関する情報は、例えばデータベースのテーブルにより管理される。以下の表1Aおよび表1Bは、ロボット100の行動anに関する行動テーブルTB1の一例である。行動テーブルTB1は、ロボット100の行動anを識別する行動IDと、ロボット100の行動内容と、行動anの指令内容と、1サイクル当たりの行動時間と、用途例と、を有する。
Figure JPOXMLDOC01-appb-T000001

Figure JPOXMLDOC01-appb-T000002
 表1Aおよび表1Bにおける指令内容における符号は、制御対象の符号を表す。また教示指令とは、オフラインティーチング、オンラインティーチングまたはダイレクトティーチング等の教示方法を用いて事前に教示される動作指令である。また追尾指令とは、撮影画像Im(距離画像)等の各種センサ情報に基づき、ユーザ200の位置および姿勢を追尾する動作指令である。
 モータ制御部107は、行動制御部112からのロボット100の行動atの指令内容に応じて、サーボモータ35の駆動を制御する。ロボット100の行動内容が例えば「ハグする」の場合、モータ制御部107は、追尾指令によりユーザ200の位置および姿勢に対するロボット100の位置および姿勢を制御した後、事前に教示された「ハグする」動作指令を実行する。
 出力部108は、行動制御部112からのロボット100の行動atの実行の指令に応じて、制御部13とディスプレイ24との間で通信を制御する。ロボット100の行動内容が例えば「目で笑う」の場合、出力部108は、笑顔の画像の表示指令を右眼ディスプレイ24aおよび左眼ディスプレイ24bに出力する。
 また出力部108は、行動制御部112からのロボット100の行動atの実行の指令に応じて、制御部13とスピーカ25との間で通信を制御する。ロボット100の行動内容が例えば「(呼びかける)声を出す」の場合、出力部108は、呼びかける音声出力信号をスピーカ25に出力する。
 さらに出力部108は、行動制御部112からのロボット100の行動atの実行の指令に応じて、制御部13とライト26との間で通信を制御する。ロボット100の行動内容が例えば「頬を明滅する」の場合、出力部108は、オンオフ信号を右頬ライト26aおよび左頬ライト26bのスイッチング素子に出力する。
 <推定部111の構成>
 (ハードウェア構成例)
 図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が不要になる。
 状態観測部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は、ロボット100に対するユーザ200の接触に関する情報に基づき、ユーザ200の触れ合い方の状態stを観測する。本例のユーザ200の接触に関する情報は、触覚信号Sであるが、第1静電容量信号S1または第2静電容量信号S2でもよい。
 状態観測部121は、触れ合い方推定部151を有する。触れ合い方推定部151は、状態観測部121における一処理を担当する。触れ合い方推定部151の機能は、学習装置300に通信可能に接続する別の外部装置が担当してもよい。触れ合い方推定部151は、ユーザ200の接触に関する情報に基づき、ユーザ200の触れ合い方の状態stを推定する。ユーザ200の触れ合い方は、ロボット100における接触部位、接触範囲、接触時間および接触強度のうちの少なくとも一つに関する情報に基づき、所定の状態に分類される。例えばユーザ200の触れ合い方は、「ハグする」、「タッピングする」、「さする」、「たたく」、「押す」、「手を握る」、「顔を擦り付ける」、「なでる」および「お手をする」等のうちのいずれか一つを含む所定の状態snに分類される。なお、ユーザ200の触れ合い方は、表1Aおよび表1Bに示すロボット100の行動内容と実質的に同じでよい。
 触れ合い方推定部151は、学習済の学習モデルを用いてまたは機械学習を行いながら触れ合い方の推定を行う。例えば触れ合い方推定部151は、教師データを用いて、入力をユーザ200の接触に関する情報(接触部位、接触範囲および接触時間に関する情報)とし、出力をユーザ200の触れ合い方としたニューラルネットワークの学習モデルを深層学習する。これにより、ユーザ200がハグした時の新たな接触に関する情報をニューラルネットワークの学習モデルに入力してAI(人工知能)解析すると、ユーザ200の触れ合い方を「ハグする」に分類することができる。
 格納部126は、ユーザ200の触れ合い方の状態sn(nは状態sの識別番号)に関する情報を格納する。触れ合い方の状態snに関する情報は、例えばデータベースのテーブルにより管理される。以下の表2は、ユーザ200の触れ合い方の状態snに関する状態テーブルTB2の一例である。状態テーブルTB2は、ユーザ200の触れ合い方の状態snを識別する状態IDと、ユーザ200の触れ合い方の状態内容と、を有する。ユーザ200の触れ合い方の状態snは、事前に定義されたユーザ200の触れ合い方の種類の数だけ存在する。なお、推定部111の機能がロボット100の内部に設けられる場合、ロボット100の格納部103が状態テーブルTB2を格納する。
Figure JPOXMLDOC01-appb-T000003
 なお、ユーザ200の触れ合い方の状態内容は、ユーザ200の触れ合い方と、接触時間および接触強度と、を有するが、ロボット100に対するユーザ200の接触変化率(接触速度および接触加速度等)と、ユーザの触れ合い方の頻度(ユーザが1日当たりにハグした回数等)と、をさらに有していてもよい。
 ユーザ200の触れ合い方の状態stが例えば「触れ合い方:ハグ、接触時間:1s-3s、接触強度:1N-3N」の場合には、比較的短時間のハグであるため、ユーザ200が比較的短時間の触れ合いを期待している状態であると観測される。したがって、ロボット100が例えば比較的長時間「ハグする」行動atを実行すると、ユーザ200にとって違和感のある行動になってしまう。ユーザ200が相手をしてあげているという感覚になると、最終的にはロボット100に飽きて相手をしなくなってしまう。一方、ロボット100が例えば比較的短時間「ハグする」行動atを実行すると、ユーザ200の良好な反応を誘発する可能性が高くなる。
 またユーザ200の触れ合い方の状態stが「触れ合い方:ハグ、接触時間:3s-5s、接触強度:3N-5N」の場合には、比較的強いハグであるため、ユーザ200が比較的強い触れ合いを期待している状態であると観測される。したがって、ロボット100が例えば比較的弱い「ハグする」行動atを実行すると、ユーザ200が求める触れ合いイメージに合わない可能性がある。ユーザ200の触れ合いイメージに合わないと、ユーザ200はロボット100とは合わない感覚を覚えるようになり、飽きて離れてしまう。一方、ロボット100が例えば比較的強く「ハグする」または「抜け出そうとする」等のようなユーザ200の触れ合い方に合った行動atを行うと、ユーザ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の一例である。
Figure JPOXMLDOC01-appb-T000004
 行動価値テーブル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が「触れ合い方:ハグ、接触時間:5s以上、接触強度:1N-3N」の場合、行動決定部122は、0.9の確率(ε=0.1)で価値Qが最も高い「ハグする」行動a0を選択する。これにより、ユーザ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のポジティブまたはネガティブの感情レベルを含む。
 結果取得部123は、感情レベル推定部152を有する。感情レベル推定部152の機能は、学習装置300に通信可能に接続する別の外部装置が担当してもよい。感情レベル推定部152は、ユーザ200を写した撮影画像Im(顔画像)と、ユーザ200の心拍、呼吸、血圧および体温のうちの少なくとも一つに関する情報とに基づき、ユーザ200の感情レベルを推定する。
 例えばユーザ200の感情は、ユーザ200の顔画像と、ユーザ200の心拍数〔bpm〕、呼吸数〔回/分〕、血圧値〔mmHg〕および体温〔℃〕のうちの少なくとも一つとに基づき、所定の状態に分類される。例えばユーザ200の感情は、「ニュートラル」、「幸福」、「悲しみ」、「嫌悪」、「恐怖」、「驚き」および「怒り」のうちの少なくとも一つに分類されることが好ましい。ユーザ200の感情は、例えば「恐怖」および「驚き」の組み合わせでもよい。
 感情レベル推定部152は、学習済の学習モデルを用いてまたは機械学習を行いながら感情の推定を行う。例えば感情レベル推定部152は、教師データを用いて、入力をユーザ200の顔画像、心拍数および血圧値とし、出力を「ニュートラル」、「幸福」、「悲しみ」および「嫌悪」を含むユーザ200の感情としたニューラルネットワークの学習モデルを深層学習する。これにより、ユーザ200が笑顔の時の新たな顔画像、心拍数および血圧値をニューラルネットワークの学習モデルに入力してAI(人工知能)解析すると、ユーザ200の感情を「幸福」に分類することができる。
 そして感情レベル推定部152は、ユーザ200の感情を「ニュートラル」に分類した場合は感情レベルを「ニュートラル」として推定し、「幸福」に分類した場合は感情レベルを「非常にポジティブ」として推定する。また感情レベル推定部152は、ユーザ200の感情を「悲しみ」に分類した場合は感情レベルを「ネガティブ」として推定し、「嫌悪」に分類した場合は感情レベルを「非常にネガティブ」として推定する。
 以上により、結果取得部123は、ロボット100の行動atの結果として、ユーザ200の反応の良否結果(例えばユーザ200の感情レベル)を取得する。特に、感情レベル推定部152が、ユーザ200の感情レベルを「ポジティブ」と推定した場合、結果取得部123は、「ユーザ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の感情レベル)に基づき、ロボット100の行動atに対する報酬rを取得する。
 格納部126は、ユーザ200の反応の良否結果に基づいた所定の報酬rn(nは報酬rの識別番号)に関する情報を格納する。報酬rnに関する情報は、例えばデータベースのテーブルにより管理される。以下の表4は、所定の報酬rnを示す報酬テーブルTB4の一例である。報酬テーブルTB4は、報酬rnを識別する報酬IDと、ユーザ200の反応の良否結果と、ユーザ200の反応の良否結果に基づく報酬rnと、を有する。報酬rnは、事前に定義されたユーザ200の反応の良否結果の数だけ存在する。
Figure JPOXMLDOC01-appb-T000005
 報酬取得部155は、ユーザ200の感情レベルに応じた所定の報酬rnを取得する。報酬rnは、ユーザ200の感情レベルが「ポジティブ」な程、プラスの報酬rnが定義されることが好ましい。また報酬rnは、ユーザ200の感情レベルが「ネガティブ」な程、マイナスの報酬rnが定義されることが好ましい。一方、ユーザ200の感情レベルが「ニュートラル」の場合、報酬取得部155は、ゼロの報酬rnを取得する。
 価値更新部156は、所定の報酬rnに基づき、ユーザ200の触れ合い方の状態stに対するロボット100の行動atの価値Qを更新する。Q学習においては、次の式1により価値Qが更新される。
Figure JPOXMLDOC01-appb-M000006
 式1において、stは或る時刻tにおけるユーザ200の触れ合い方の状態であり、atは或る時刻tにおけるロボット100の行動である。ロボット100の行動atにより、ユーザ200の触れ合い方の状態はst+1(t+1は次回の時刻)に変化する。rは、その触れ合い方の状態の変化により得られる報酬である。また、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の価値が、その報酬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は活性化関数である。
Figure JPOXMLDOC01-appb-M000007
 図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は、誤差逆伝播法(バックプロパゲーション)により学習可能である。誤差の情報は、ニューラルネットワークの右側から入り左側に流れる。誤差逆伝播法は、各ニューロンについて、入力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の感情レベル)を取得し、学習部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)。
Figure JPOXMLDOC01-appb-M000008
 次いで学習部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の実行を指令する処理を示している。
 まずステップS10において、制御部13は、取得部101により、ロボット100に対するユーザ200の接触に関する情報を取得する。ユーザ200の接触に関する情報は、例えば触覚信号S、第1静電容量信号C1および第2静電容量信号C2のうちの少なくとも一つである。
 なお、ステップS10においては、触覚センサ12、第1静電容量センサ21および第2静電容量センサ31には、バッテリ15から電力が供給されている。しかし、バッテリ15の消費電力を削減するため、カメラ11、バイタルセンサ14、サーボモータ35、ディスプレイ24、スピーカ25およびライト26には電力が供給されていなくてもよい。
 次いでステップS11において、制御部13は、推定部111により、ユーザ200の接触に関する情報に基づき、ユーザ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にとって違和感のない行動atを積み重ねることができる。自然な行動atの積み重ねが良きパートナーの印象に繋がり、コミュニケーションをとることが自然になる。ひいてはユーザ200に長期的に触れ合ってもらえるようになり、ユーザ200に癒しを提供することができる。
 以上のようにして、制御部13は、ユーザ200の触れ合い方の状態stに応じてユーザ200の良好な反応を誘発する行動atを実行する処理を行う。なお、学習処理能力の向上のためまたはバッテリ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の詳細な処理である。
 まずステップS20において、推定部111は、状態観測部121により、ロボット100に対するユーザ200の接触に関する情報に基づき、ユーザ200の触れ合い方の状態stを観測する。推定部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の触れ合い方の状態stに適したロボット100の行動atを推定する推定フェーズであり、それ以外のステップは学習フェーズである。
 ステップS22において、推定部111は、結果取得部123により、ロボット100の行動atの結果として、ユーザ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の構成とは異なる点についてのみ説明する。
 教師データ記録部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の実行の指令を実行する。
 結果取得部123は、ロボット100の行動atの結果として、ユーザ200の反応の良否結果を取得する。誤差算出部158は、ユーザ200の反応の良否結果に基づき、行動atの価値Qの誤差を算出し、学習モデル更新部159は、誤差Lを最小化するようにニューラルネットワークの学習モデルLMをさらに更新する。そして行動決定部122は、学習モデルLMを用いて、次のユーザ200の触れ合い方の状態st+1に適したロボット100の行動at+1を決定する。
 以上のように、推定部111は、教師あり学習により一定レベルまで学習した学習モデルLMを用いて、ユーザ200の触れ合い方の状態stに適したロボット100の行動atを推定する。これにより、例えばロボット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の詳細な処理である。
 まずステップS30において、推定部111は、誤差算出部158により、教師データ記録部157から教師データを取得し、教師データに基づき、ロボット100の行動atの価値Qの誤差Lを算出する。
 次いでステップS31において、推定部111は、学習モデル更新部159により、誤差Lを最小化するようにニューラルネットワークの学習モデルLMのパラメータ(前述した重み等)を更新する。これにより推定部111は、教師データにより一定レベルまで学習した学習モデルLMを用いて、実際のユーザ200の触れ合い方の状態stに適した行動atを推定することができる。
 その後、ステップS32において、推定部111は、状態観測部121により、ロボット100に対するユーザ200の接触に関する情報に基づき、実際のユーザ200の触れ合い方の状態stを観測する。推定部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の感情レベル)を取得する。
 次いでステップ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は、ロボット100に対するユーザ200の接触に関する情報に基づき、ユーザ200の触れ合い方の状態stに応じてユーザ200の良好な反応を誘発する行動atを実行する。したがって、ユーザ200の触れ合い方に合わない行動を低減することができる。自然な行動の積み重ねが良きパートナーの印象に繋がり、コミュニケーションをとることが自然になる。ひいてはユーザ200に長期的に触れ合ってもらえるようになり、ユーザ200に癒しを提供することができる。
 またユーザ200の接触に関する情報には、ロボット100における接触部位、接触範囲、接触時間および接触強度のうちの少なくとも一つに関する情報が含まれる。ユーザ200は、たとえロボット100をハグした場合であっても、必ずしもゆっくり触れ合える状態であるとは限らず、忙しい可能性がある。また、ユーザ200は、ロボット100を強くハグしたい可能性もある。したがって、接触部位および接触範囲に関する情報だけでなく、接触時間および接触強度に関する情報を加味することにより、ユーザ200の触れ合い方の状態stを精度良く観測することができる。
 なお、ユーザ200の接触に関する情報を検知するセンサは、触覚センサ12、第1静電容量センサ21および第2静電容量センサ31等のようにユーザ200の触感を邪魔しないセンサ、つまり触り心地が良好なセンサであることが好ましい。例えば、ロボット100の外装部材10の接触変化に追従するような、可撓性を有する構成であることが好ましい。これにより、ユーザ200はロボット100に触れ合いたくなり、ユーザ200がロボット100に触れ合う頻度または回数を増やすことができる。
 またユーザ200の触れ合い方の状態stは、ユーザ200の接触に関する情報に基づき推定される触れ合い方と、触れ合い方の接触時間および接触強度のうちの少なくとも一方と、の組み合わせにより分類される所定の状態snである。例えば触れ合い方の状態stは、「ハグする」、「タッピングする」、「さする」、「たたく」、「押す」、「手を握る」、「顔を擦り付ける」、「なでる」および「お手をする」等のうちのいずれか一つの所定の状態snである。これにより、ユーザ200の触れ合い方の状態stが数十種類~数百種類に分類されるため、行動価値テーブルTB3のメモリ空間の増大を抑制することができる。
 さらにロボット100の所定の行動anは、ユーザ200の触れ合い方を模倣した行動である。また所定の行動anは、ユーザ200による触れ合いの継続時間、ユーザ200の接触変化率および接触強度のうちの少なくとも一つを模倣した行動である。つまりロボット100は、ユーザ200の触れ合い方の状態stを模倣した行動を行うため、ユーザ200の良好な反応を誘発する可能性を高めることができる。
 またロボット100は、入力をユーザ200の触れ合い方の状態stとし、出力をロボット100の行動atの価値Qとする学習モデルLMを機械学習(強化学習または教師あり学習等)により生成する。したがって、ロボット100は、ユーザ200の触れ合い方に適した行動atを学習することができ、コミュニケーションの違和感を低減することができる。ひいてはユーザ200との継続的な触れ合いが実現し、ユーザ200に癒しを提供することができる。
 さらにロボット100は、ユーザ200の反応の良否結果に関する情報を取得する結果取得部123をさらに有し、学習部124は、ユーザ200の反応の良否結果に基づき、学習モデルLMを更新する。したがって、ロボット100は、ユーザ200の触れ合い方の状態stに適した行動atを継続的に学習して、ユーザ200の触れ合い方に合った行動を継続的に実行することができ、コミュニケーションの違和感を低減することができる。また学習モデルLMは、既に効果が実証されている行動価値テーブルTB3またはニューラルネットワーク(DQN)を用いることにより、ロボット100の学習能力の信頼性を高めることができる。
 またユーザ200の反応の良否結果に関する情報は、ユーザ200の顔画像および生体情報から推定されたユーザ200の感情レベルを含む。そして学習部124は、ユーザ200の反応の良否結果(感情レベル)に基づき、ロボット100の行動atに対する報酬rを取得して報酬rに基づいてユーザ200の触れ合い方の状態stに対する行動atの価値Qを更新する。したがって、ロボット100は、ユーザ200の感情レベルに応じてユーザ200の触れ合い方の状態stに適した行動atを学習することができる。
 またロボット100は、教師あり学習により一定レベルまで学習した学習モデルLMを用いて、ユーザ200の触れ合い方の状態stに適したロボット100の行動atを推定してもよい。これにより、例えばロボット100が故障して同じ型番のロボット100に交換する場合であっても、交換後のロボット100は、教師データに基づき過去の経験を学習してユーザ200の触れ合い方の状態stに適した行動atを即座に実行できる。またロボット100は、初めて接するユーザ200に対しても、ユーザ200の触れ合い方の状態stに適した行動atを一定レベルで実行できるようになる。
 以上のロボット100の推定部111の機能は、ロボット100に通信可能に接続する学習装置300に設けて分散処理させてもよい。これにより、コンピュータによる学習処理能力を高めることができる。また学習装置300による分散処理により、ロボット100のバッテリ15の消費電力削減、充電回数削減、およびバッテリ重量削減という技術的な効果を得ることができる。
 以上、好ましい実施の形態について詳説したが、上述した実施の形態に制限されることはなく、特許請求の範囲に記載された範囲を逸脱することなく、上述した実施の形態に種々の変形および置換を加えることができる。
 また、上述した実施形態の説明で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
 本実施形態に係るロボットは、一人暮らしの社会人、子供が独り立ちしたシニア、在宅医療の対象となるフレイル高齢者等のオキシトシン分泌を促進して癒し(安心感または自己肯定感)を提供する用途に特に好適である。但し、この用途に限定されるものではなく、様々なユーザに癒しを提供する用途に使用できる。
 本開示の態様は、例えば以下の通りである。
 <1> ロボットに対するユーザの接触に関する情報を取得する取得部と、
 前記接触に関する情報に基づき、前記ユーザの触れ合い方の状態に応じて前記ユーザの良好な反応を誘発する所定の行動の実行を指令する行動制御部と、
 を有する、ロボット。
 <2> 前記接触に関する情報に基づき、前記ユーザの前記触れ合い方の状態に適した前記所定の行動を推定する推定部をさらに有し、
 前記推定部は、
  前記接触に関する情報に基づいて前記ユーザの前記触れ合い方の状態を観測する状態観測部と、
  前記行動の価値に基づき、前記触れ合い方の状態に適した前記所定の行動を決定する行動決定部と、
 を有する、前記<1>に記載のロボット。
 <3> 前記接触に関する情報は、接触部位、接触範囲、接触時間および接触強度のうちの少なくとも一つに関する情報を含む、前記<1>または<2>に記載のロボット。
 <4> 前記接触に関する情報を検知するセンサをさらに有し、前記センサは前記ユーザの触感を邪魔しないセンサにより構成される、前記<1>~<3>のいずれか一つに記載のロボット。
 <5> 前記触れ合い方の状態は、前記接触に関する情報に基づき推定される前記触れ合い方と、前記触れ合い方の接触時間および接触強度のうちの少なくとも一方に関する情報と、の組み合わせにより分類される所定の状態である、前記<1>~<4>のいずれか一つに記載のロボット。
 <6> 前記所定の行動は、前記ユーザの前記触れ合い方を模倣した行動である、前記<1>~<5>のいずれか一つに記載のロボット。
 <7> 前記所定の行動は、前記ユーザによる触れ合いの継続時間、前記ユーザの接触変化率および前記ユーザの接触強度のうちの少なくとも一つを模倣した行動である、前記<1>~<6>のいずれか一つに記載のロボット。
 <8> 前記推定部は、入力を前記ユーザの前記触れ合い方の状態とし、出力を前記ロボットの前記行動の価値とする学習モデルを機械学習により生成する学習部を有する、前記<2>に記載のロボット。
 <9> 前記推定部は、前記ロボットの前記行動の結果として、前記ユーザの反応の良否結果に関する情報を取得する結果取得部をさらに有し、
 前記学習部は、前記反応の良否結果に基づき、前記学習モデルを更新する、前記<8>に記載のロボット。
 <10> 前記学習モデルは、行動価値テーブルまたはニューラルネットワークである、前記<8>または<9>に記載のロボット。
 <11> 前記取得部は前記ユーザの顔画像および生体情報をさらに取得し、
 前記反応の良否結果に関する情報は、前記顔画像および前記生体情報から推定された前記ユーザの感情レベルを含み、
 前記学習部は、
  前記反応の良否結果に基づき、前記ロボットの前記行動に対する報酬を取得し、
  前記報酬に基づいて前記ユーザの前記触れ合い方の状態に対する前記行動の価値を更新する、前記<9>に記載のロボット。
 <12> ロボットに通信可能に接続する学習装置であって、
 前記ロボットに対するユーザの接触に関する情報に基づき、前記ユーザの触れ合い方の状態を観測する状態観測部と、
 入力を前記ユーザの前記触れ合い方の状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部と、
 を有する、学習装置。
 <13> 前記行動の価値に基づき、前記触れ合い方の状態に適した前記ロボットの前記行動を決定する行動決定部と、
 前記行動の実行の指令を前記ロボットに送信する通信制御部と、
 を有する、前記<12>に記載の学習装置。
 <14> ロボットの制御方法であって、前記ロボットが、
 前記ロボットに対するユーザの接触に関する情報を取得するステップと、
 前記接触に関する情報に基づき、前記ユーザの触れ合い方の状態に応じて前記ユーザの良好な反応を誘発する所定の行動を実行するステップと、
 を実行する、制御方法。
 <15> ロボットを制御するコンピュータに、
 前記ロボットに対するユーザの接触に関する情報を取得するステップと、
 前記接触に関する情報に基づき、前記ユーザの触れ合い方の状態に応じて前記ユーザの良好な反応を誘発する所定の行動の実行を指令するステップと、
 を実行させる、プログラム。
 この出願は、2022年9月29日に日本国特許庁に出願された日本国特許出願第2022-156765号に基づいて、その優先権を主張するものであり、この日本国特許出願の全内容を含む。
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 感情レベル推定部
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.  ロボットに対するユーザの接触に関する情報を取得する取得部と、
     前記接触に関する情報に基づき、前記ユーザの触れ合い方の状態に応じて前記ユーザの良好な反応を誘発する所定の行動の実行を指令する行動制御部と、
     を有する、ロボット。
  2.  前記ユーザの前記触れ合い方の状態に適した前記所定の行動を推定する推定部をさらに有し、
     前記推定部は、
      前記接触に関する情報に基づいて前記ユーザの前記触れ合い方の状態を観測する状態観測部と、
      前記行動の価値に基づき、前記触れ合い方の状態に適した前記所定の行動を決定する行動決定部と、
     を有する、請求項1に記載のロボット。
  3.  前記接触に関する情報は、接触部位、接触範囲、接触時間および接触強度のうちの少なくとも一つに関する情報を含む、請求項1または2に記載のロボット。
  4.  前記接触に関する情報を検知するセンサをさらに有し、前記センサは前記ユーザの触感を邪魔しないように構成される、請求項1または2に記載のロボット。
  5.  前記触れ合い方の状態は、前記接触に関する情報に基づき推定される前記触れ合い方と、前記触れ合い方の接触時間および接触強度のうちの少なくとも一方に関する情報と、の組み合わせにより分類される所定の状態である、請求項1または2に記載のロボット。
  6.  前記所定の行動は、前記ユーザの前記触れ合い方を模倣した行動である、請求項1または2に記載のロボット。
  7.  前記所定の行動は、前記ユーザによる触れ合いの継続時間、前記ユーザの接触変化率および前記ユーザの接触強度のうちの少なくとも一つを模倣した行動である、請求項1または2に記載のロボット。
  8.  前記推定部は、入力を前記ユーザの前記触れ合い方の状態とし、出力を前記ロボットの前記行動の価値とする学習モデルを機械学習により生成する学習部を有する、請求項2に記載のロボット。
  9.  前記推定部は、前記ロボットの前記行動の結果として、前記ユーザの反応の良否結果に関する情報を取得する結果取得部をさらに有し、
     前記学習部は、前記反応の良否結果に基づき、前記学習モデルを更新する、請求項8に記載のロボット。
  10.  前記学習モデルは、行動価値テーブルまたはニューラルネットワークである、請求項8に記載のロボット。
  11.  前記取得部は前記ユーザの顔画像および生体情報をさらに取得し、
     前記反応の良否結果に関する情報は、前記顔画像および前記生体情報から推定された前記ユーザの感情レベルを含み、
     前記学習部は、
      前記反応の良否結果に基づき、前記ロボットの前記行動に対する報酬を取得し、
      前記報酬に基づいて前記ユーザの前記触れ合い方の状態に対する前記行動の価値を更新する、請求項9に記載のロボット。
  12.  ロボットに通信可能に接続する学習装置であって、
     前記ロボットに対するユーザの接触に関する情報に基づき、前記ユーザの触れ合い方の状態を観測する状態観測部と、
     入力を前記ユーザの前記触れ合い方の状態とし、出力を前記ロボットの行動の価値とする学習モデルを機械学習により生成する学習部と、
     を有する、学習装置。
  13.  前記行動の価値に基づき、前記触れ合い方の状態に適した前記ロボットの前記行動を決定する行動決定部と、
     前記行動の実行の指令を前記ロボットに送信する通信制御部と、
     を有する、請求項12に記載の学習装置。
  14.  ロボットの制御方法であって、前記ロボットが、
     前記ロボットに対するユーザの接触に関する情報を取得するステップと、
     前記接触に関する情報に基づき、前記ユーザの触れ合い方の状態に応じて前記ユーザの良好な反応を誘発する所定の行動を実行するステップと、
     を実行する、制御方法。
  15.  ロボットを制御するコンピュータに、
     前記ロボットに対するユーザの接触に関する情報を取得するステップと、
     前記接触に関する情報に基づき、前記ユーザの触れ合い方の状態に応じて前記ユーザの良好な反応を誘発する所定の行動の実行を指令するステップと、
     を実行させる、プログラム。
PCT/JP2023/035074 2022-09-29 2023-09-27 ロボット、学習装置、制御方法およびプログラム WO2024071171A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022156765 2022-09-29
JP2022-156765 2022-09-29

Publications (1)

Publication Number Publication Date
WO2024071171A1 true WO2024071171A1 (ja) 2024-04-04

Family

ID=90477869

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/035074 WO2024071171A1 (ja) 2022-09-29 2023-09-27 ロボット、学習装置、制御方法およびプログラム

Country Status (2)

Country Link
TW (1) TW202419234A (ja)
WO (1) WO2024071171A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289006A (ja) * 1997-04-11 1998-10-27 Yamaha Motor Co Ltd 疑似感情を用いた制御対象の制御方法
JP2006088276A (ja) * 2004-09-24 2006-04-06 Advanced Telecommunication Research Institute International 動作生成システム
JP2016012340A (ja) * 2014-06-05 2016-01-21 ソフトバンク株式会社 行動制御システム及びプログラム
JP2019135078A (ja) * 2016-05-20 2019-08-15 Groove X株式会社 自律行動型ロボット及びコンピュータプログラム
US20200009739A1 (en) * 2019-08-08 2020-01-09 Lg Electronics Inc. Robot and method of recognizing mood using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289006A (ja) * 1997-04-11 1998-10-27 Yamaha Motor Co Ltd 疑似感情を用いた制御対象の制御方法
JP2006088276A (ja) * 2004-09-24 2006-04-06 Advanced Telecommunication Research Institute International 動作生成システム
JP2016012340A (ja) * 2014-06-05 2016-01-21 ソフトバンク株式会社 行動制御システム及びプログラム
JP2019135078A (ja) * 2016-05-20 2019-08-15 Groove X株式会社 自律行動型ロボット及びコンピュータプログラム
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
TW202419234A (zh) 2024-05-16

Similar Documents

Publication Publication Date Title
CN111902077B (zh) 利用神经肌肉信号进行手部状态表示建模的校准技术
US10905350B2 (en) Camera-guided interpretation of neuromuscular signals
JP4609584B2 (ja) ロボット装置、顔認識方法及び顔認識装置
US11327566B2 (en) Methods and apparatuses for low latency body state prediction based on neuromuscular data
JP4239635B2 (ja) ロボット装置、その動作制御方法、及びプログラム
JP2003266351A (ja) ロボット装置及びロボット装置の動作制御方法
Kirchner et al. Intuitive interaction with robots–technical approaches and challenges
Maeda et al. Wearable robotics as a behavioral interface-the study of the parasitic humanoid
JP2024045160A (ja) 衣装を着用するロボット
Wang et al. Multimodal Human–Robot Interaction for Human‐Centric Smart Manufacturing: A Survey
Nakata et al. Development of ‘ibuki’an electrically actuated childlike android with mobility and its potential in the future society
WO2024071171A1 (ja) ロボット、学習装置、制御方法およびプログラム
WO2024071164A1 (ja) ロボット、学習装置、制御方法およびプログラム
WO2024071165A1 (ja) ロボット、学習装置、制御方法およびプログラム
US20230020835A1 (en) Method and system for the generation and management of tactile commands for tactile sensation
Kawato Brain controlled robots
JP2003271958A (ja) 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置
Weisz et al. A user interface for assistive grasping
Zsolczay et al. Vague gesture control: Implications for burns patients
Balaji et al. Smart phone accelerometer sensor based wireless robot for physically disabled people
TW202421382A (zh) 機器人、學習裝置、控制方法及程式
TW202421381A (zh) 機器人、學習裝置、控制方法及程式
Takimoto et al. A simple bi-layered architecture to enhance the liveness of a robot
WO2024071169A1 (ja) ロボット、制御方法およびプログラム
Wang et al. Gaze-Based Shared Autonomy Framework With Real-Time Action Primitive Recognition for Robot Manipulators

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: 23872393

Country of ref document: EP

Kind code of ref document: A1