Action control system and program
The behavior control system allows robots to assess question difficulty and adapt their responses with gestures and sounds, improving user interaction by providing appropriate and engaging responses.
Patent Information
- Application Number
- JP2023111715
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-06
- Publication Date
- 2025-01-20
AI Technical Summary
Robots struggle to appropriately respond to questions from users, lacking the ability to assess question difficulty and adapt their responses accordingly.
A behavior control system that includes a behavior recognition unit, difficulty estimation unit, and a behavior determining unit to select gestures and sounds based on the difficulty of a user's question, ensuring appropriate responses.
Enables robots to take proud or entertaining actions and provide clear answers to questions, enhancing user engagement and understanding.
Smart Images

Figure 2025009014000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a behavior control system and a program. [Background technology]
[0002] A behavior control system is known that includes a behavior information storage unit that stores decision information for deciding an action based on a user's state, a user state recognition unit that recognizes the user's state, a behavior decision unit that decides an action to be performed based on the user's state recognized by the user state recognition unit and the decision information, a reaction recognition unit that recognizes the user's reaction to performing the action decided by the behavior decision unit, a transmission unit that transmits the user's state recognized by the user state recognition unit, the action decided by the behavior decision unit, and the user's reaction recognized by the reaction recognition unit to an external server, a receiving unit that receives from the server an action appropriate to the user's state recognized by the user state recognition unit when the behavior decision unit is unable to decide an action to be performed based on the user's state and the decision information, and a behavior information update unit that updates the decision information based on the action received by the receiving unit from the server (see, for example, Patent Document 1).
[0003] [Prior art document]
[0004] [Patent documents]
[0005] [Patent Document 1] Patent No. 6053847 Summary of the Invention [Problem to be solved by the invention]
[0006] It is desirable to have a robot perform appropriate actions in response to questions from a user. [Means for solving the problem]
[0007] According to a first aspect of the present invention, there is provided a behavior control system, comprising: a behavior recognition unit that recognizes a user's behavior; a difficulty estimation unit that estimates the difficulty of the question when the user's behavior is recognized as a question; and a behavior determination unit that determines, when a score according to the difficulty is equal to or greater than a threshold, at least one of a behavior of the robot making a predetermined gesture and a behavior of outputting a specific voice, and an action to answer the question, as a behavior to be executed by the robot; Includes.
[0008] When the cumulative value of the score is equal to or greater than a threshold value, the behavior decision unit may select as the specified gesture at least one of a gesture that calls the user's attention, a gesture that entertains the user, and a gesture that expresses the content of the answer to the user.
[0009] When the accumulated score is equal to or greater than a threshold value, the behavior determining unit may select, as the specific sound, at least one of music and sound effects having a lower output than the sound of the answer to the user.
[0010] In a second aspect, there is provided a program that causes a computer to function as the above-mentioned behavior control system.
[0011] The above summary of the invention does not list all of the necessary features of the present invention. Also, subcombinations of these features may also be inventions. [Brief description of the drawings]
[0012] [Figure 1] 1 illustrates an example of a system 5 according to a first embodiment. [Diagram 2] 2 shows a schematic functional configuration of the robot 100. [Diagram 3] 2 shows an example of an operation flow of the robot 100 according to the first embodiment. [Figure 4] 11A to 11C are image diagrams showing examples of gestures taken by the robot 100 of the second embodiment. [Diagram 5] 13 is a schematic diagram showing an example of an operation flow of the robot 100 according to the second embodiment. [Figure 6] 1 illustrates an example of a hardware configuration of a computer 1200. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0014] (First embodiment) FIG. 1 is a schematic diagram of an example of a system 5 according to the present embodiment. The system 5 includes a robot 100, a robot 101, a robot 102, and a server 300. A user 10a, a user 10b, a user 10c, and a user 10d are users of the robot 100. A user 11a, a user 11b, and a user 11c are users of the robot 101. A user 12a and a user 12b are users of the robot 102. In the description of the present embodiment, the user 10a, the user 10b, the user 10c, and the user 10d may be collectively referred to as the user 10. The user 11a, the user 11b, and the user 11c may be collectively referred to as the user 11. The user 12a and the user 12b may be collectively referred to as the user 12. The robot 101 and the robot 102 have substantially the same functions as the robot 100. Therefore, the system 5 will be described by mainly focusing on the functions of the robot 100.
[0015] The robot 100 converses with the user 10 and provides images to the user 10. At this time, the robot 100 cooperates with a server 300 or the like with which it can communicate via a communication network 20 to converse with the user 10 and provide images, etc. to the user 10. For example, the robot 100 not only learns appropriate conversation by itself, but also cooperates with the server 300 to learn how to have a more appropriate conversation with the user 10. The robot 100 also causes the server 300 to record captured image data, etc. of the user 10, and requests the server 300 for the image data, etc. as necessary, and provides the data, etc. to the user 10.
[0016] The robot 100 also has an emotion value that indicates the type of its own emotion. For example, the robot 100 has emotion values that indicate the intensity of each of the emotions of "joy", "anger", "sorrow", "pleasure", "discomfort", "relief", "anxiety", "sadness", "excitement", "concern", "relief", "fulfillment", "emptiness", and "neutral". When the robot 100 converses with the user 10 in a state where the emotion value of excitement is high, for example, the robot 100 utters sounds at a fast speed. In this way, the robot 100 can express its own emotion through actions.
[0017] The robot 100 also has a function of recognizing the behavior of the user 10. The robot 100 recognizes the behavior of the user 10 by analyzing a facial image of the user 10 acquired by a camera function and a voice of the user 10 acquired by a microphone function. The robot 100 determines the behavior to be performed by the robot 100 based on the recognized behavior of the user 10, etc.
[0018] The robot 100 stores rules that define actions that the robot 100 will execute based on the actions of the user 10, and performs various actions according to the rules.
[0019] Specifically, the robot 100 has reaction rules for determining the behavior of the robot 100 based on the behavior of the user 10. For example, the reaction rules define the behavior of the robot 100 as "laughing" when the behavior of the user 10 is "laughing". The reaction rules also define the behavior of the robot 100 as "apologizing" when the behavior of the user 10 is "getting angry". The reaction rules also define the behavior of the robot 100 as "answering" when the behavior of the user 10 is "asking a question". The reaction rules also define the behavior of the robot 100 as "calling out" when the behavior of the user 10 is "getting sad".
[0020] When the robot 100 recognizes that the behavior of the user 10 is "laughing" based on the reaction rules, the robot 100 selects the behavior of "laughing" defined by the reaction rules as the behavior to be executed by the robot 100. For example, when the robot 100 selects the behavior of "laughing", the robot 100 performs a "laughing" motion and outputs a sound representing laughter. This allows the robot 100 to laugh together with the user 10.
[0021] The robot 100 also transmits to the server 300 user reaction information indicating that this action has elicited a positive reaction from the user 10. The user reaction information includes, for example, the user action of "laughing", the robot 100 action of "laughing", the fact that the reaction of the user 10 was positive, and attributes of the user 10.
[0022] The server 300 stores the user reaction information received from the robot 100. The server 300 receives and stores user reaction information not only from the robot 100, but also from each of the robots 101 and 102. The server 300 analyzes the user reaction information from the robots 100, 101, and 102, and updates the reaction rules.
[0023] The robot 100 receives the updated reaction rules from the server 300 by inquiring about the updated reaction rules from the server 300. The robot 100 incorporates the updated reaction rules into the reaction rules stored in the robot 100. This allows the robot 100 to incorporate the reaction rules acquired by the robot 101, the robot 102, etc. into its own reaction rules.
[0024] 2 shows a schematic functional configuration of the robot 100. The robot 100 includes a sensor unit 200, a sensor module unit 210, a storage unit 220, a user state recognition unit 230, a behavior recognition unit 232, a difficulty estimation unit 234, a behavior determination unit 236, a behavior control unit 250, a control target 252, and a communication processing unit 280.
[0025] The control target 252 includes a display device, a speaker, LEDs in the eyes, and motors for driving the arms, hands, legs, etc. The posture and gestures of the robot 100 are controlled by controlling the motors of the arms, hands, legs, etc. Some of the emotions of the robot 100 can be expressed by controlling these motors. Some of the emotions of the robot 100 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 100. The posture, gestures, and facial expressions of the robot 100 are examples of the attitude of the robot 100.
[0026] The sensor unit 200 includes a microphone 201, a 3D depth sensor 202, a 2D camera 203, and a distance sensor 204. The microphone 201 continuously detects sound and outputs sound data. The microphone 201 may be provided on the head of the robot 100 and may have a function of performing binaural recording. The 3D depth sensor 202 detects the contour of an object by continuously irradiating an infrared pattern and analyzing the infrared pattern from infrared images continuously captured by the infrared camera. The 2D camera 203 is an example of an image sensor. The 2D camera 203 captures an image using visible light and generates visible light video information. The distance sensor detects the distance to an object by irradiating, for example, a laser or ultrasonic waves. The sensor unit 200 may also include a clock, a gyro sensor, a touch sensor, a sensor for motor feedback, and the like.
[0027] 2, the components other than the control target 252 and the sensor unit 200 are examples of components included in a behavior control system included in the robot 100. The behavior control system of the robot 100 controls the control target 252.
[0028] The storage unit 220 includes reaction rules 221. At least a part of the storage unit 220 is implemented by a storage medium such as a memory. It may include a person DB that stores the face image of the user 10, attribute information of the user 10, and the like. Among the components of the robot 100 shown in FIG. 2, the functions of the components excluding the control target 252, the sensor unit 200, and the storage unit 220 can be realized by a CPU operating based on a program. For example, the functions of these components can be implemented as the operation of a CPU by an operating system (OS) and a program operating on the OS.
[0029] The sensor module unit 210 includes a voice emotion recognition unit 211, a speech understanding unit 212, a facial expression recognition unit 213, and a face recognition unit 214. Information detected by the sensor unit 200 is input to the sensor module unit 210. The sensor module unit 210 analyzes the information detected by the sensor unit 200, and outputs the analysis result to the user state recognition unit 230.
[0030] The voice emotion recognition unit 211 of the sensor module unit 210 analyzes the voice of the user 10 detected by the microphone 201 and recognizes the emotion of the user 10. For example, the voice emotion recognition unit 211 extracts feature amounts such as frequency components of the voice and recognizes the emotion of the user 10 based on the extracted feature amounts. The speech understanding unit 212 analyzes the voice of the user 10 detected by the microphone 201 and outputs text information representing the content of the utterance of the user 10.
[0031] The facial expression recognition unit 213 recognizes the facial expression and emotion of the user 10 from the image of the user 10 captured by the 2D camera 203. For example, the facial expression recognition unit 213 recognizes the facial expression and emotion of the user 10 based on the shapes, positional relationship, etc. of the eyes and mouth.
[0032] The face recognition unit 214 recognizes the face of the user 10. The face recognition unit 214 recognizes the user 10 by matching a face image stored in a person DB (not shown) with a face image of the user 10 captured by the 2D camera 203.
[0033] The user state recognition unit 230 recognizes the state of the user 10 based on the information analyzed by the sensor module unit 210. For example, the user state recognition unit 230 mainly performs processing related to perception using the analysis results of the sensor module unit 210. For example, it generates perceptual information such as "Daddy is alone" or "There is a 90% chance that Daddy is not smiling." It performs processing to understand the meaning of the generated perceptual information. For example, it generates semantic information such as "Daddy is alone and looks lonely."
[0034] The user behavior recognition unit 232 recognizes the behavior of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the user state recognition unit 230. For example, the information analyzed by the sensor module unit 210 and the recognized state of the user 10 are input to a pre-trained neural network, the probability of each of a plurality of predetermined behavior classifications (for example, "laughing," "getting angry," "asking a question," and "getting sad") is obtained, and the behavior classification with the highest probability is recognized as the behavior of the user 10.
[0035] When the user behavior recognized by the user behavior recognition unit 232 is recognized as "asking a question," the difficulty estimation unit 234 estimates a score according to the difficulty of the question based on the text information representing the content of the user 10's utterance among the information analyzed by the sensor module unit 210. For example, the text information representing the content of the user 10's utterance is input to a pre-trained neural network to obtain a score according to the difficulty of the question. Note that the score is assumed to be higher as the difficulty of the question increases.
[0036] The behavior determining unit 236 determines the behavior of the robot 100 based on the user behavior recognized by the user behavior recognizing unit 232 and the reaction rules 221. At this time, if the score according to the difficulty estimated by the difficulty estimating unit 234 is equal to or greater than a threshold, the behavior determining unit 236 determines, as the behavior to be executed, a behavior of being pleased to be asked a question by the user 10 and a behavior of answering the question. Here, "a behavior of being pleased to be asked a question by the user" is, for example, a proud behavior (a boastful behavior) when asked a question by the user.
[0037] The behavior control unit 250 controls the control target 252 based on the behavior determined by the behavior determination unit 236. For example, when the behavior determination unit 236 determines an behavior including speaking, the behavior control unit 250 outputs a sound from a speaker included in the control target 252. At this time, the behavior control unit 250 may determine the speaking speed of the sound based on the emotion value of the robot 100.
[0038] In addition, when the behavior decision unit 236 decides on "behavior that is pleasing to be asked a question by the user," the behavior control unit 250 outputs a voice that expresses pride (for example, "I'm good at answering questions like this") from the speaker, and expresses a posture and gesture of the robot 100 that expresses pride (for example, the movement of slowly raising one hand) by driving the motors of the arms, hands, legs, etc.
[0039] The behavior control unit 250 may recognize a change in the user 10's emotion in response to the execution of the behavior determined by the behavior determination unit 236. For example, the change in emotion may be recognized based on the voice or facial expression of the user 10. In addition, the change in emotion of the user 10 may be recognized based on the detection of an impact by a touch sensor included in the sensor unit 200. When an impact is detected by the touch sensor included in the sensor unit 200, the emotion of the user 10 may be recognized as having worsened, and when the reaction of the user 10 is determined to be laughing or happy, etc., based on the detection result of the touch sensor included in the sensor unit 200, the emotion of the user 10 may be recognized as having improved. Information indicating the reaction of the user 10 is output to the communication processing unit 280.
[0040] The communication processing unit 280 is responsible for communication with the server 300. As described above, the communication processing unit 280 transmits user reaction information to the server 300. In addition, the communication processing unit 280 receives updated reaction rules from the server 300. When the communication processing unit 280 receives the updated reaction rules from the server 300, it updates the reaction rules 221.
[0041] The server 300 communicates between the robots 100, 101, and 102 and the server 300, receives user reaction information transmitted from the robot 100, and updates the reaction rules based on reaction rules that include actions that have received positive reactions.
[0042] Fig. 3 shows an example of an operation flow for determining an action of the robot 100. The operation flow shown in Fig. 3 is repeatedly executed. At this time, it is assumed that information analyzed by the sensor module unit 210 is input. Note that "S" in the operation flow indicates a step to be executed.
[0043] First, in step S100 , the user state recognition unit 230 recognizes the state of the user 10 based on the information analyzed by the sensor module unit 210 .
[0044] In step S102 , the user behavior recognition unit 232 recognizes a behavior classification of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the user state recognition unit 230 .
[0045] In step S104, it is determined whether the behavior classification of the user 10 recognized in step S102 is "asking a question". If the behavior classification of the user 10 recognized in step S102 is "asking a question", the process proceeds to step S108. On the other hand, if the behavior classification of the user 10 recognized in step S102 is not "asking a question", the process proceeds to step S106.
[0046] In step S106, the behavior determining unit 236 determines the behavior of the robot 100 based on the user's behavior recognized by the user behavior recognizing unit 232 and the reaction rule 221.
[0047] In step S108, the difficulty level estimation unit 234 estimates a score according to the difficulty level of the question based on the text information expressing the content of the utterance of the user 10, out of the information analyzed by the sensor module unit 210.
[0048] In step S110, it is determined whether the score according to the difficulty of the question estimated in step S108 is equal to or greater than a threshold. If the score according to the difficulty of the question estimated in step S108 is equal to or greater than the threshold, the process proceeds to step S112. On the other hand, if the score according to the difficulty of the question estimated in step S108 is less than the threshold, the process proceeds to step S114.
[0049] In step S112, the behavior determining unit 236 determines, as the behavior to be executed, a behavior of being happy to be asked a question by the user 10 and a behavior of answering the question.
[0050] In step S114, the behavior determining section 236 determines, based on the reaction rules 221, an action to be executed, which is to answer the question.
[0051] In step S 116 , the behavior control unit 250 controls the control target 252 based on the behavior determined by the behavior determining unit 236 .
[0052] As described above, the robot 100 can act in a boastful manner at an appropriate time in response to a question from a user. That is, when the difficulty of a question is higher than a threshold, the robot can adopt a boastful expression and appearance. For example, when asked the answer to a difficult calculation or when asked about a good restaurant, the robot will adopt a boastful expression and appearance while answering the question. On the other hand, when the difficulty of a question is lower than the threshold, for example, when asked a low-difficulty question such as "What time is it now?" or "What's the weather today?", the robot will answer the question without adopting a boastful expression or appearance.
[0053] In addition, when the cumulative value of the score according to the difficulty level is equal to or greater than a threshold value, or when the number of times that the score according to the difficulty level is equal to or greater than the threshold value exceeds a predetermined number of times, the behavior decision unit 236 may decide that the behavior to be executed is a behavior of being pleased to be asked a question by the user, and a behavior of answering the question.
[0054] Second embodiment The second embodiment is characterized in that when the robot 100 is asked a question by the user 10, if the score according to the difficulty of the question is equal to or greater than a threshold, the robot 100 performs a predetermined gesture and outputs a specific voice as an action to be executed. When the level of difficulty of a question is high, it is expected that the robot 100's answer explanation will be long and it will take a long time for the user 10, who is the questioner, to understand the question. Therefore, in this embodiment, it is possible to make the robot 100 perform gestures and output sounds while answering and explaining a question of high level of difficulty. The following describes the differences from the first embodiment, in which the same components are given the same reference numerals and detailed descriptions are omitted.
[0055] The behavior determining unit 236 determines the behavior of the robot 100 based on the behavior of the user 10 recognized by the user behavior recognizing unit 232 and the reaction rules 221. At this time, when the behavior of the user 10 is "asking a question" and the score according to the difficulty estimated by the difficulty estimating unit 234 is equal to or greater than a threshold, the behavior determining unit 236 determines the behavior of making a gesture and the behavior of outputting a voice as the behavior to be executed.
[0056] The difficulty level estimation unit 234 estimates a score according to the difficulty level of the question and determines whether the score is equal to or greater than a threshold. When the score according to the difficulty level estimated by the difficulty level estimation unit 234 is equal to or greater than a threshold, the difficulty level of the question for the user 10 is high.
[0057] FIG. 4 is an image diagram of an example of a gesture of the robot 100 when the behavior determining unit 236 determines that the robot 100 should take a predetermined gesture. The predetermined gestures as the behavior of the robot 100 include (1) a gesture to call attention, (2) a cheerful and entertaining gesture, (3) a gesture to express the contents of the explanation, (4) a gesture to emphasize the part of the explanation, and (5) a gesture to dance on its own. Note that the behaviors of the robot 100 are not limited to the examples listed. Here, (1) a gesture to call attention is an example of a gesture to call the user's attention. Also, (2) a cheerful and entertaining gesture and (5) a gesture to dance on its own are examples of gestures to entertain the user. Furthermore, (3) a gesture to express the contents of the explanation and (4) a gesture to emphasize the part of the explanation are examples of gestures to express the contents of the answer to the user.
[0058] FIG. 4(a) is an image diagram of (1) a gesture that draws attention. For example, this is a gesture that the user 10 makes when he or she becomes bored with the length of the answer explanation given by the robot 100 and moves away or looks away. Specifically, the robot 100 raises the upper arm of the robot 100 to a high position and further bends and straightens the wrist joint, thereby making a gesture to draw the interest of the user 10 toward the robot 100. This is the same gesture as a human would make when saying, "Look at me."
[0059] Figure 4(b) is an image diagram of (2) cheerful and entertaining gestures. For example, this is a gesture that the user 10 may make when he or she finds the answer explanation of the robot 100 boring and has a gloomy expression or looks down. Specifically, the robot 100 bends the joints of its arms and moves them rhythmically to evoke a feeling of joy in the user 10 .
[0060] FIG. 4(c) is an image diagram of (3) gestures that express the contents of an explanation. For example, this is a gesture that the user 10 makes when he or she finds the answer explanation of the robot 100 difficult and cannot keep up with it, groaning or tilting their head. Specifically, the robot 100 expresses numbers with the fingers of its hands, and expresses the contents of an explanation through gestures, thereby allowing the user 10 to keep up with the understanding.
[0061] FIG. 4(d) is an image diagram of (4) a gesture for emphasizing an explanation point. For example, this is a gesture that the user 10 may adopt when the robot 100's answer explanation is so long that the user 10 does not understand the key point, and the user 10 looks blank or sleepy. Specifically, in the middle of explaining the answer, the robot 100 outputs a voice saying, "This is important," and takes a pose to emphasize the point, so as to convey the key point of the answer explanation to the user 10.
[0062] In addition to the above, the robot 100 can perform various other actions, such as dancing while explaining the answer (not shown), thereby increasing the interest of the user 10.
[0063] In this way, the robot 100 can assist the user's understanding by making certain gestures while answering and explaining questions from the user 10, and can also entertain and liven up the user. The certain gestures include gestures that call attention, cheerful and entertaining gestures, gestures that express the contents of the explanation, gestures that emphasize the parts of the explanation, and dancing gestures, as well as various other variations. For example, the gestures include gestures that think together, gestures that laugh, gestures that nod or show affirmation, etc.
[0064] Furthermore, when the behavior determining unit 236 determines that the robot 100 should output a particular sound, the robot 100 outputs the sound. The robot 100 may output two types of sounds: (1) background music (BGM) and (2) sound effects.
[0065] (1) BGM refers to background music, and can be a melody played on an instrument or natural sounds such as birds chirping or a babbling brook. Specifically, when the user 10 becomes bored with the length of the answer explanation given by the robot 100, the robot 100 plays catchy music to heighten the user 10's interest. More specifically, when the user 10 finds the answer explanation of the robot 100 difficult to follow, the robot 100 plays relaxing music to ease the tension of the user 10.
[0066] (2) Sound effects are sounds other than the background music emitted by the robot 100 and are added as part of the performance. Specifically, when the user 10 becomes bored with the length of the answer explanation of the robot 100, the robot 100 outputs a "beep" sound effect to increase the user's interest. More specifically, when the robot 100's answer explanation is long and there is a point in the explanation that needs to be emphasized, the robot 100 may output a sound effect such as a drum roll "ta-dah!" to highlight the emphasized point or to add excitement.
[0067] The BGM and sound effects as specific sounds output by the robot 100 are configured to have a lower volume or sound pressure than the voice of the answer to the question. In other words, the BGM and sound effects are set so as not to interrupt the voice of the answer. The action of the robot 100 outputting voice is expected to bring about the following effects for the user 10. Focus on answer explanations Relax and make it easier to listen · Liven up the atmosphere · Exciting -Easy to explain answers
[0068] The behavior of the robot 100 performing a gesture and the behavior of outputting a voice are not limited to being performed alone, and the behavior determining unit 236 may determine to perform both in combination. In addition, although the above description has been given with reference to an example in which the robot 100 gives a long answer and explanation, the present invention is not limited to this example and can also be applied to cases in which it takes a long time for the user 10 to understand or when the user 10 is silent.
[0069] The operation of the robot 100 according to this embodiment will be described below. The robot 100 executes a behavior decision process shown in Fig. 5. The process in the robot 100 is executed by the CPU 1212 functioning as a user state recognition unit 230, a behavior recognition unit 232, a difficulty estimation unit 234, a behavior decision unit 236, a behavior control unit 250, and a communication processing unit 280.
[0070] FIG. 5 is a flowchart showing the behavior decision process of the robot 100. The CPU 1212 repeatedly executes the flowchart shown in FIG.
[0071] First, in step S200, the CPU 1212 recognizes the state of the user 10 based on the information analyzed by the sensor module unit 210.
[0072] In step S202 , the CPU 1212 recognizes the behavior classification of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the user state recognition unit 230 .
[0073] In step S204, the CPU 1212 determines whether the behavior classification of the user 10 recognized in the above step S202 is "asking a question." If the CPU 1212 determines that the behavior classification of the user 10 recognized in the above step S202 is "asking a question" (step S204: YES), the process proceeds to step S206. On the other hand, if the CPU 1212 determines that the behavior classification of the user 10 recognized in the above step S202 is not "asking a question" (step S204: NO), the process proceeds to step S216.
[0074] In step S206, the CPU 1212 estimates a score according to the difficulty level of the question based on the text information expressing the content of the utterance of the user 10, out of the information analyzed by the sensor module unit 210.
[0075] In step S208, CPU 1212 determines whether the score according to the difficulty of the question estimated in step S206 is equal to or greater than a threshold. If CPU 1212 determines that the score according to the difficulty of the question estimated in step S206 is equal to or greater than the threshold (step S208: YES), CPU 1212 proceeds to step S210. On the other hand, if CPU 1212 determines that the score according to the difficulty of the question estimated in step S206 is not equal to or greater than the threshold, i.e., is less than the threshold (step S208: NO), CPU 1212 proceeds to step S214.
[0076] In step S210, the CPU 1212 determines, as the actions to be executed, an action of being pleased to be asked a question by the user 10 and an action of answering the question.
[0077] In step S212, the CPU 1212 determines, as the actions to be executed, an action of making a gesture and an action of outputting a sound. Note that it may be both or either one of them.
[0078] In step S214, the CPU 1212 determines, based on the reaction rules 221, an action to be performed, which is to answer the question.
[0079] In step S216, the CPU 1212 determines the behavior of the robot 100 based on the user's behavior recognized by the user behavior recognition unit 232 and the reaction rule 221.
[0080] In step S218, the behavior control unit 250 controls the control target 252 based on the behavior determined by the behavior determining unit 236. Then, the CPU 1212 ends the processing of this flowchart.
[0081] The robot 100 is an example of an electronic device equipped with a behavior control system. The application of the behavior control system is not limited to the robot 100, and the behavior control system can be applied to various electronic devices. The functions of the server 300 may be implemented by one or more computers. At least a part of the functions of the server 300 may be implemented by a virtual machine. At least a part of the functions of the server 300 may be implemented in the cloud.
[0082] 6 shows an example of a hardware configuration of a computer 1200 functioning as the robot 100 and the server 300. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "parts" of an apparatus according to the present embodiment, or cause the computer 1200 to execute operations or one or more "parts" associated with the apparatus according to the present embodiment, and / or cause the computer 1200 to execute a process or steps of the process according to the present embodiment. Such a program can be executed by the CPU 1212 to cause the computer 1200 to execute specific operations associated with some or all of the blocks of the flowcharts and block diagrams described herein.
[0083] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are connected to each other by a host controller 1210. The computer 1200 also includes input / output units such as a communication interface 1222, a storage device 1224, a DVD drive 1226, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive 1226 may be a DVD-ROM drive, a DVD-RAM drive, or the like. The storage device 1224 may be a hard disk drive, a solid state drive, or the like. The computer 1200 also includes a legacy input / output unit such as a ROM 1230 and a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.
[0084] The CPU 1212 operates according to a program stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphic controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into itself, and causes the image data to be displayed on the display device 1218.
[0085] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive 1226 reads programs or data from a DVD-ROM 1227 or the like and provides the programs or data to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.
[0086] The ROM 1230 stores therein a boot program or the like that is executed by the computer 1200 upon activation, and / or a program that depends on the hardware of the computer 1200. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via a USB port, a parallel port, a serial port, a keyboard port, a mouse port, and the like.
[0087] The programs are provided by a computer-readable storage medium such as a DVD-ROM 1227 or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, the RAM 1214, or the ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. Information processing described in these programs is read by the computer 1200, and brings about cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be constructed by implementing operations or processing of information according to the use of the computer 1200.
[0088] For example, when communication is performed between the computer 1200 and an external device, the CPU 1212 may execute a communication program loaded in the RAM 1214 and instruct the communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 1212, the communication interface 1222 reads transmission data stored in a transmission buffer area provided in the RAM 1214, the storage device 1224, the DVD-ROM 1227, or a recording medium such as an IC card, and transmits the read transmission data to a network, or writes reception data received from the network to a reception buffer area or the like provided on the recording medium.
[0089] Furthermore, the CPU 1212 may cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, the DVD drive 1226 (DVD-ROM 1227), an IC card, etc. to be read into the RAM 1214, and perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.
[0090] Various types of information, such as various types of programs, data, tables, and databases, may be stored in the recording medium and undergo information processing. The CPU 1212 may perform various types of processing on the data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequence of the program, and write back the results to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. in the recording medium. For example, when a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in the recording medium, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the plurality of entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0091] The above-described programs or software modules may be stored in a computer-readable storage medium on the computer 1200 or in the vicinity of the computer 1200. In addition, a recording medium such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.
[0092] The blocks in the flowcharts and block diagrams in the present embodiment may represent stages of a process in which an operation is performed or "parts" of an apparatus responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and / or analog hardware circuits, and may include integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as, for example, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), and the like, including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements.
[0093] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by a suitable device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture that includes instructions that can be executed to create means for performing the operations specified in the flowcharts or block diagrams. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), electrically erasable programmable read-only memories (EEPROMs), static random access memories (SRAMs), compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), Blu-ray disks, memory sticks, integrated circuit cards, and the like.
[0094] The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, JAVA, C++, etc., and conventional procedural programming languages such as the "C" programming language or similar programming languages.
[0095] Computer readable instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or to a programmable circuit, either locally or over a local area network (LAN), a wide area network (WAN), such as the Internet, etc., to cause the processor of the general purpose computer, special purpose computer, or other programmable data processing apparatus, or to a programmable circuit, to execute the computer readable instructions to generate means for performing the operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
[0096] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is clear to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the description of the claims that such modifications and improvements can also be included in the technical scope of the present invention.
[0097] It should be noted that the order of execution of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before" or "prior to," and that the process may be performed in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, it does not mean that the process must be performed in this order. [Explanation of symbols]
[0098] 5 system, 10, 11, 12 user, 20 communication network, 100, 101, 102 robot, 200 sensor unit, 201 microphone, 202 depth sensor, 203 camera, 204 distance sensor, 210 sensor module unit, 211 voice emotion recognition unit, 212 speech understanding unit, 213 facial expression recognition unit, 214 face recognition unit, 220 storage unit, 221 reaction rule, 230 user state recognition unit, 232 behavior recognition unit, 232 user behavior recognition unit, 234 difficulty estimation unit, 236 behavior decision unit, 250 behavior control unit, 252 control target, 280 communication processing unit, 300 server, 1200 computer, 1210 host controller, 1212 CPU, 1214 RAM, 1216 graphic controller, 1218 display device, 1220 I / O controller, 1222 communication interface, 1224 storage device, 1226 DVD drive, 1227 DVD-ROM, 1230 ROM, 1240 I / O chip
Claims
1. A behavior recognition unit that recognizes a user's behavior; a difficulty level estimation unit that estimates a difficulty level of the question when the user's behavior is recognized as a question; a behavior decision unit that decides, when the score according to the difficulty level is equal to or greater than a threshold, at least one of a behavior of the robot making a predetermined gesture and a behavior of outputting a specific voice, and an behavior of answering the question, as a behavior to be executed by the robot; A behavior control system including:
2. The behavior control system of claim 1, wherein when the score is equal to or greater than a threshold value, the behavior decision unit selects as the specified gesture at least one of a gesture that alerts the user, a gesture that entertains the user, and a gesture that expresses the content of the response to the user.
3. The behavior control system according to claim 1 , wherein the behavior decision unit selects, as the specific sound, at least one of music and sound effects having a lower output than the sound of the response to the user when the score is equal to or greater than a threshold value.
4. A program for causing a computer to function as the behavior control system according to any one of claims 1 to 3.