Robot, control method and program
The robot system addresses the lack of lifelike interaction in existing devices by using sensor feedback to control gestures and emotions, enhancing user engagement through dynamic responses.
Patent Information
- Application Number
- JP2025152458
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-12
- Publication Date
- 2025-11-14
AI Technical Summary
Existing robot devices lack a lifelike feel due to uniform responses to inputs.
The robot system includes a control mechanism that allows for performing and omitting gestures and elements based on the device's state, using sensors to detect user interactions and environmental changes, and adjusting gesture execution based on emotion and personality parameters.
The system enhances the robot's lifelike behavior by dynamically responding to user inputs and environmental stimuli, providing a more engaging and personalized interaction experience.
Smart Images

Figure 2025170123000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an electronic device, a control method for an electronic device, and a program. [Background technology]
[0002] There are known electronic devices that simulate living creatures such as pets, humans, etc. For example, Patent Document 1 discloses a robot device that, when a specific input is given, performs a specific action associated with the specific input. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2003-159681 Summary of the Invention [Problem to be solved by the invention]
[0004] The robot device disclosed in Patent Document 1 loses its lifelike feel because it responds uniformly to inputs.
[0005] The present invention has been made to solve the above-mentioned problems, and has an object to provide an electronic device, a control method for an electronic device, and a program that can express a lifelike feel. [Means for solving the problem]
[0006] In order to achieve the above object, a first aspect of the electronic device according to the present invention comprises: a control means for causing the player's own device to perform a plurality of predetermined gestures; The control means causing the player's device to accurately perform at least one gesture among the plurality of gestures; causing the player's device to incorrectly perform gestures other than the at least one gesture among the plurality of gestures, or not causing the player's device to perform gestures other than the at least one gesture; The number of the at least one gesture is controlled based on the state of the own device.
[0007] In order to achieve the above object, a second aspect of the electronic device according to the present invention is a control means for causing the player's own device to execute a gesture composed of a plurality of elements; The control means causing the player's own device to accurately execute at least one element of the plurality of elements; causing the device to incorrectly execute elements other than the at least one element among the plurality of elements, or not causing the device to execute elements other than the at least one element; The number of the at least one element is controlled based on the state of the own device. [Effects of the Invention]
[0008] According to the present invention, it is possible to provide an electronic device capable of expressing a lifelike feel, a control method for an electronic device, and a program. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a diagram showing an outline of the overall configuration of a robot system according to a first embodiment. [Figure 2] 1 is a cross-sectional side view of a robot according to a first embodiment. [Figure 3] 1 is a block diagram showing a configuration of a robot according to a first embodiment. [Figure 4] 1 is a block diagram showing the configuration of a terminal device according to a first embodiment. [Figure 5] FIG. 10 is a diagram showing an example of a screen for creating gesture information according to the first embodiment. [Figure 6] FIG. 4 is a diagram showing an example of gesture information according to the first embodiment. [Figure 7] FIG. 3 is a diagram showing an example of an emotion map according to the first embodiment. [Figure 8] FIG. 2 is a diagram showing an example of a personality value radar chart according to the first embodiment. [Figure 9]FIG. 1 is a first diagram illustrating an example of a coefficient table according to the first embodiment. [Figure 10] FIG. 2 is a second diagram illustrating an example of a coefficient table according to the first embodiment. [Figure 11] FIG. 3 is a diagram showing an example of a personality table according to the first embodiment. [Figure 12] 4 is a flowchart showing the flow of a robot control process according to the first embodiment. [Figure 13] 10 is a flowchart showing the flow of gesture control processing according to the first embodiment. [Figure 14] 10 is a flowchart showing the flow of gesture control processing according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings, in which the same or corresponding parts are designated by the same reference numerals.
[0011] (Embodiment 1) 1 shows a schematic configuration of a robot system 1 according to the first embodiment. The robot system 1 includes a robot 200 and a terminal device 50. The robot 200 is an example of the electronic device according to the first embodiment.
[0012] The robot 200 according to the first embodiment includes an exterior 201, decorative parts 202, fluffy fur 203, a head 204, a connecting part 205, a body part 206, a housing 207, a touch sensor 211, an acceleration sensor 212, a microphone 213, an illuminance sensor 214, and a speaker 231, which are similar to those of the robot 200 disclosed in Japanese Patent Application Laid-Open No. 2023-115370, and the description of which will be omitted. The shape of the head 204 may be the shape shown in FIG. 2 or may be the shape disclosed in, for example, FIG. 2 of Japanese Patent Application Laid-Open No. 2023-115370.
[0013] The robot 200 according to the first embodiment includes a twist motor 221 and a vertical motor 222 similar to those of the robot 200 disclosed in Japanese Patent Application Laid-Open No. 2023-115370, and a description thereof will be omitted. The twist motor 221 and the vertical motor 222 of the robot 200 according to the first embodiment operate in the same manner as those of the robot 200 disclosed in Japanese Patent Application Laid-Open No. 2023-115370.
[0014] The robot 200 includes a gyro sensor 215. The acceleration sensor 212 and the gyro sensor 215 enable the robot 200 to detect changes in the posture of the robot 200 itself, and also to detect when the robot 200 is being lifted, turned around, or thrown by a user.
[0015] At least some of the acceleration sensor 212, microphone 213, gyro sensor 215, illuminance sensor 214, and speaker 231 may be provided not only in the torso 206 but also in the head 204, or may be provided in both the torso 206 and the head 204.
[0016] Next, the functional configuration of the robot 200 will be described with reference to Fig. 3. As shown in Fig. 3, the robot 200 includes a control device 100, a sensor unit 210, a drive unit 220, an output unit 230, and an operation unit 240. These units are connected via a bus line BL, for example. Note that instead of the bus line BL, a wired interface such as a USB (Universal Serial Bus) cable or a wireless interface such as Bluetooth (registered trademark) may be used.
[0017] The control device 100 is a device that controls the robot 200. The control device 100 includes a control unit 110, which is an example of a control means, a storage unit 120, which is an example of a storage means, and a communication unit 130, which is an example of a communication means.
[0018] The control unit 110 includes a CPU (Central Processing Unit). The CPU is, for example, a microprocessor, and is a central processing unit that executes various processes and calculations. In the control unit 110, the CPU reads out a control program stored in ROM and controls the overall operation of the robot 200, which is the control unit's own device, while using RAM as a work memory. Furthermore, although not shown, the control unit 110 includes a clock function, a timer function, etc., and can measure the date and time, etc. The control unit 110 may also be called a "processor."
[0019] The storage unit 120 includes a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, etc. The storage unit 120 stores programs and data used by the control unit 110 to perform various processes, including an OS (Operating System) and application programs. The storage unit 120 also stores data generated or acquired by the control unit 110 as a result of the control unit 110 performing various processes.
[0020] The communication unit 130 includes a communication interface for communicating with devices external to the robot 200. For example, the communication unit 130 communicates with external devices including the terminal device 50 in accordance with well-known communication standards such as wireless local area network (LAN), Bluetooth Low Energy (BLE (registered trademark)), and near field communication (NFC).
[0021] The sensor unit 210 includes the above-mentioned touch sensor 211, acceleration sensor 212, gyro sensor 215, illuminance sensor 214, and microphone 213. The sensor unit 210 is an example of a detection unit that detects an external stimulus.
[0022] The touch sensor 211 includes, for example, a pressure sensor or a capacitance sensor, and detects contact with an object. Based on the detection value of the touch sensor 211, the control unit 110 can detect whether the robot 200 is being stroked or hit by the user.
[0023] The acceleration sensor 212 detects acceleration applied to the body 206 of the robot 200. The acceleration sensor 212 detects acceleration in each of the X-axis direction, the Y-axis direction, and the Z-axis direction, that is, acceleration in three axes.
[0024] For example, the acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary. The control unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212. In other words, the control unit 110 can detect whether the housing 207 of the robot 200 is tilted from the horizontal direction based on the gravitational acceleration detected by the acceleration sensor 212. In this way, the acceleration sensor 212 functions as a tilt detection unit that detects the tilt of the robot 200.
[0025] Furthermore, when the user lifts or throws the robot 200, the acceleration sensor 212 detects not only the gravitational acceleration but also the acceleration accompanying the movement of the robot 200. Therefore, the control unit 110 can detect the movement of the robot 200 by removing the gravitational acceleration component from the detection value detected by the acceleration sensor 212.
[0026] The gyro sensor 215 detects the angular velocity when rotation is applied to the body 206 of the robot 200. Specifically, the gyro sensor 215 detects the angular velocity of three-axis rotation, namely, rotation around the X-axis direction, rotation around the Y-axis direction, and rotation around the Z-axis direction. By combining the detection values detected by the acceleration sensor 212 and the detection values detected by the gyro sensor 215, the movement of the robot 200 can be detected with higher accuracy.
[0027] The touch sensor 211, acceleration sensor 212, and gyro sensor 215 detect the strength of contact, acceleration, and angular velocity at synchronized timing (for example, every 0.25 seconds), and output the detected values to the control unit 110.
[0028] The microphone 213 detects sounds around the robot 200. Based on the sound components detected by the microphone 213, the control unit 110 can detect, for example, whether the user is calling out to the robot 200 or clapping their hands.
[0029] The illuminance sensor 214 detects the illuminance around the robot 200. Based on the illuminance detected by the illuminance sensor 214, the control unit 110 can detect whether the area around the robot 200 has become brighter or darker.
[0030] The control unit 110 acquires, via the bus line BL, detection values detected by the various sensors included in the sensor unit 210 as external stimuli. The external stimuli are stimuli that act on the robot 200 from outside the robot 200. Examples of external stimuli include "a loud noise was heard," "someone spoke to me," "someone stroked me," "someone lifted me up," "someone turned upside down," "it became brighter," and "it became darker."
[0031] For example, the control unit 110 acquires external stimuli caused by "a loud noise" or "being spoken to" using the microphone 213, and acquires external stimuli caused by "being stroked" using the touch sensor 211. The control unit 110 also acquires external stimuli caused by "being lifted" or "being turned upside down" using the acceleration sensor 212 and gyro sensor 215, and acquires external stimuli caused by "it getting brighter" or "it getting darker" using the illuminance sensor 214.
[0032] The sensor unit 210 may include sensors other than the touch sensor 211, the acceleration sensor 212, the gyro sensor 215, and the microphone 213. By increasing the types of sensors included in the sensor unit 210, it is possible to increase the types of external stimuli that the control unit 110 can acquire.
[0033] The driving unit 220 includes a twist motor 221 and an up-down motor 222, and is driven by the control unit 110. The twist motor 221 is a servo motor for rotating the head 204 in the left-right direction (width direction) relative to the body 206 around the front-to-back direction as an axis. The up-down motor 222 is a servo motor for rotating the head 204 in the up-down direction (height direction) relative to the body 206 around the left-to-right direction as an axis. The robot 200 can express the action of twisting the head 204 sideways by using the twist motor 221, and can express the action of raising and lowering the head 204 by using the up-down motor 222.
[0034] The output unit 230 includes a speaker 231, and when the control unit 110 inputs sound data to the output unit 230, sound is output from the speaker 231. For example, when the control unit 110 inputs data of the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry.
[0035] Note that instead of or in addition to speaker 231, output unit 230 may be provided with a display such as a liquid crystal display or a light-emitting unit such as an LED (Light Emitting Diode), and emotions such as joy and sadness may be displayed on the display or expressed by the color and brightness of the emitted light.
[0036] The operation unit 240 includes operation buttons, a volume knob, etc. The operation unit 240 is an interface for accepting user operations such as turning the power on and off, adjusting the volume of the output sound, etc.
[0037] The battery 250 is a rechargeable secondary battery that stores the power used by the robot 200. The battery 250 is charged when the robot 200 moves to a charging station.
[0038] The position information acquisition unit 260 is equipped with a position information sensor such as a GPS (Global Positioning System) and acquires current position information of the robot 200. Note that the position information acquisition unit 260 may acquire the position information of the robot 200 by a general method using wireless communication, not limited to GPS, or may acquire the position information of the robot 200 through application software of the terminal device 50.
[0039] Control unit 110 functionally comprises gesture information acquisition means and gesture information acquisition unit 111 which is an example of acquisition means, state parameter acquisition unit 112 which is an example of state parameter acquisition means, and gesture control unit 113 which is an example of gesture control means and control means. In control unit 110, the CPU functions as each of these units by reading a program stored in ROM into RAM and executing and controlling the program.
[0040] The storage unit 120 also stores gesture information 121, state parameters 122, log information 123, a coefficient table 124, and a personality table 125.
[0041] Next, the configuration of the terminal device 50 will be described with reference to Fig. 4. The terminal device 50 is an operation terminal operated by a user. The terminal device 50 is, for example, a general-purpose information processing device such as a personal computer, a smartphone, a tablet terminal, or a wearable terminal. As shown in Fig. 4, the terminal device 50 includes a control unit 510, a storage unit 520, an operation unit 530, a display unit 540, and a communication unit 550.
[0042] The control unit 510 includes a CPU. In the control unit 110, the CPU reads out a control program stored in a ROM and controls the overall operation of the terminal device 50 while using a RAM as a work memory. The control unit 510 may also be called a "processor."
[0043] The storage unit 520 includes a ROM, a RAM, a flash memory, etc. The storage unit 520 stores programs and data used by the control unit 510 to perform various processes. The storage unit 520 also stores data generated or acquired by the control unit 510 as a result of performing various processes.
[0044] The operation unit 530 includes input devices such as a keyboard, a mouse, buttons, a touch pad, and a touch panel, and receives operation inputs from the user.
[0045] Display unit 540 includes a display device such as a liquid crystal display, and displays various images under the control of control unit 510. Display unit 540 is an example of a display means.
[0046] The communication unit 550 includes a communication interface for communicating with devices external to the terminal device 50. For example, the communication unit 550 communicates with external devices including the robot 200 in accordance with well-known communication standards such as wireless LAN, BLE (registered trademark), and NFC.
[0047] Control unit 510 functionally includes gesture information creation unit 511, which is an example of a gesture information creation means. In control unit 510, a CPU reads a program stored in a ROM into a RAM, and executes and controls the program to function as each of these units.
[0048] Returning to Fig. 3, in the control device 100 of the robot 200, the gesture information acquisition unit 111 acquires gesture information 121. The gesture information 121 is information that determines gestures to be performed by the robot 200. Here, the gestures to be performed by the robot 200 are the behavior, actions, etc. of the robot 200. Specifically, the gestures are configured by a combination of multiple elements, each of which is a movement or a voice output.
[0049] The movement refers to a physical movement (motion) of the robot 200 that is performed by the driving unit 220. Specifically, the movement corresponds to moving the head 204 relative to the body 206 by the twist motor 221 or the up / down motor 222. The audio output refers to outputting various sounds, such as cries, from the speaker 231 of the output unit 230.
[0050] The gesture information 121 is a combination of such movements or voice outputs (cries) that defines the gestures that the robot 200 should perform. The gesture information 121 may be pre-installed in the robot 200, but can also be freely created by the user by operating the terminal device 50.
[0051] 4, the gesture information creation unit 511 creates gesture information 121 in accordance with a user's instruction. The user can create information on various gestures that the user wants the robot 200 to perform by operating the operation unit 530.
[0052] More specifically, the user operates the operation unit 530 to start up application software for programming that is pre-installed in the terminal device 50. As a result, the gesture information creation unit 511 displays a creation screen for the gesture information 121 on the display unit 540, as shown in FIG.
[0053] In the action column and sound column on the creation screen, it is possible to set the execution order and execution timing of the actions and sound output (cries) to be performed by the robot 200. While viewing such a creation screen, the user can freely program the gestures to be performed by the robot 200 by selecting and combining actions and sounds from the menus.
[0054] Specifically, in the example of FIG. 5, a gesture named "Test 1" is set as follows: the head 204 is moved up, down, left, and right in this order, and then sounds are output in the order of cry 1, cry 2, cry 3, and cry 4, and so on. Actions and sound outputs (crying sounds) that can be set on the creation screen are prepared in advance as a library. The user can select an action or sound output to be executed by the robot 200 from the library.
[0055] The gesture information 121 created by such user operations has a more detailed configuration as shown in Fig. 6. Specifically, the gesture information 121 defines, for each of a plurality of gestures, a gesture name, a trigger, a gesture control parameter, the number of times the gesture has been performed, and the date and time of the previous performance, in association with each other.
[0056] A trigger is a condition for the robot 200 to perform a gesture. When a trigger defined for a certain gesture is established, the gesture is performed by the robot 200. In the example of FIG. 5, the gesture of "Test 1" is performed "upon voice recognition," and the gesture of "Test 2" is performed "upon voice recognition" or "when the head is stroked."
[0057] Here, "during voice recognition" corresponds to a case where the voice recognition function of the robot 200 recognizes the name of a gesture from the user's voice detected by the microphone 213. Also, "when the head is stroked" corresponds to a case where the touch sensor 211 detects that the user has stroked the head 204 of the robot 200.
[0058] The trigger is not limited to these, and various conditions are possible. For example, the trigger may be when "a loud noise is heard" detected by the microphone 213, when "being lifted" or "being turned upside down" detected by the acceleration sensor 212 and the gyro sensor 215, or when "it has become brighter" or "it has become darker" detected by the illuminance sensor 214. These can be said to be triggers based on external stimuli detected by the sensor unit 210. Alternatively, the trigger may be when "a specific time has arrived" or when "the robot 200 has moved to a specific location." These can be said to be triggers not based on external stimuli.
[0059] Note that each gesture may be executed regardless of the trigger defined in the gesture information 121 when an execution instruction is received from the terminal device 50.
[0060] The gesture control parameters are parameters for causing the robot 200 to perform each gesture. The gesture control parameters include the following items: movement, cry, execution start timing, movement parameters, and cry parameters.
[0061] The action item defines the type and order of actions that make up each gesture. The cry item defines the type and order of audio outputs that make up each gesture. The execution start timing defines the timing for executing each action or cry that makes up each gesture. Specifically, the execution start timing defines the execution start time and execution time for each action or cry.
[0062] The movement parameters determine, for each movement constituting each gesture, the movement time and movement distance of the twist motor 221 or the up / down motor 222 when the movement is executed. The cry parameters determine, for each cry constituting each gesture, the volume of the sound output from the speaker 231 when the cry is executed.
[0063] The number of executions is the cumulative number of times each gesture has been executed by the robot 200. The initial value of the number of executions is 0. The number of executions of each gesture is increased by 1 each time the robot 200 executes that gesture. The last execution date and time is the date and time when each gesture was last executed by the robot 200.
[0064] The gesture information creation unit 511 creates gesture information 121 having such a data configuration based on an instruction from a user. After creating the gesture information 121, the gesture information creation unit 511 communicates with the robot 200 via the communication unit 550 and transmits the created gesture information 121 to the robot 200. In the robot 200, the gesture information acquisition unit 111 communicates with the terminal device 50 via the communication unit 130, acquires the gesture information 121 created in the terminal device 50, and stores it in the storage unit 120. In this way, the gesture information acquisition unit 111 acquires a plurality of gesture control parameters corresponding to a plurality of gestures that the robot 200 can perform. Note that the gesture control parameters are an example of gesture control information for causing the robot itself to perform gestures.
[0065] 3, the state parameter acquisition unit 112 acquires the state parameters 122. The state parameters 122 are parameters for representing the state of the robot 200. Specifically, the state parameters 122 include (1) emotion parameters, (2) personality parameters, (3) remaining battery power, (4) current location, (5) current time, and (6) number of days for growth (number of days for raising).
[0066] (1) Emotion parameters The emotion parameters are parameters that represent simulated emotions of the robot 200. The emotion parameters are expressed by coordinates (X, Y) on the emotion map 300.
[0067] As shown in Figure 7, the emotion map 300 is represented by a two-dimensional coordinate system with the X axis representing relief (anxiety) and the Y axis representing excitement (lethargy). The origin (0,0) on the emotion map represents normal emotions. The larger the absolute value of the X coordinate (X value), the more positive the X coordinate value, the higher the relief emotion, and the larger the absolute value of the negative coordinate value, the higher the anxiety emotion. The larger the absolute value of the Y coordinate (Y value), the more positive the Y coordinate value, the higher the excitement emotion, and the larger the absolute value of the negative coordinate value, the higher the lethargy emotion.
[0068] The emotion parameters represent multiple (four in this embodiment) different pseudo-emotions. In Fig. 7, of the values representing the pseudo-emotions, the relief and anxiety levels are shown together on one axis (X-axis), and the excitement and lethargy levels are shown together on another axis (Y-axis). Therefore, the emotion parameters have two values: an X value (relief, anxiety level) and a Y value (excitement, lethargy level), and the points on the emotion map 300 represented by the X and Y values represent the pseudo-emotions of the robot 200. The initial values of the emotion parameters are (0,0).
[0069] 7, emotion map 300 is represented in a two-dimensional coordinate system, but emotion map 300 may have any number of dimensions. Emotion map 300 may be defined in one dimension, with one value set as the emotion parameter. Alternatively, emotion map 300 may be defined in a coordinate system of three or more dimensions by adding other axes, with the same number of values set as the emotion parameter.
[0070] State parameter acquisition unit 112 calculates emotion change amounts, which are amounts of change that increase or decrease the X and Y values of emotion parameters. Emotion change amounts are expressed by the following four variables: DXP and DXM increase and decrease the X value of emotion parameters, respectively. DYP and DYM increase and decrease the Y value of emotion parameters, respectively.
[0071] DXP: Ease of feeling at ease (the tendency for the X value on the emotion map to change in a positive direction) DXM: Anxiety (the tendency for the X value on the emotional map to change in a negative direction) DYP: Excitability (the tendency for the Y value on the emotion map to change in a positive direction) DYM: Tendency to become lethargic (the tendency for the Y value on the emotion map to change in the negative direction)
[0072] The state parameter acquisition unit 112 updates the emotion parameters by adding or subtracting a value corresponding to the external stimulus from the emotion variations DXP, DXM, DYP, and DYM to the current emotion parameters. For example, when the head 204 is stroked, the simulated emotion of the robot 200 is one of relief, so the state parameter acquisition unit 112 adds DXP to the X value of the emotion parameter. Conversely, when the head 204 is hit, the simulated emotion of the robot 200 is one of anxiety, so the state parameter acquisition unit 112 subtracts DXM from the X value of the emotion parameter. It is possible to arbitrarily set which emotion variations correspond to various external stimuli. An example is shown below.
[0073] Petting the head 204 (feels reassuring): X = X + DXP Hit on the head 204 (makes me anxious): X=X-DXM (These external stimuli can be detected by the touch sensor 211 on the head 204.) Body part 206 is stroked (excited): Y=Y+DYP Hitting the torso 206 (becoming lethargic): Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 on the body 206.) Being held with head up (happy): X=X+DXP and Y=Y+DYP Hanging head down (sad): X=X-DXM and Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 and the acceleration sensor 212.) A gentle voice calls out to you (becomes peaceful): X=X+DXP and Y=Y-DYM Being yelled at loudly (irritating): X=X-DXM and Y=Y+DYP (These external stimuli can be detected by microphone 213)
[0074] Sensor section 210 acquires a plurality of different types of external stimuli using a plurality of sensors. State parameter acquisition section 112 derives various amounts of emotion change in response to each of the plurality of external stimuli, and sets emotion parameters in response to the derived amounts of emotion change.
[0075] The initial value of each of the emotion variation amounts DXP, DXM, DYP, and DYM is 10, and can increase up to a maximum of 20. The state parameter acquisition unit 112 updates each variable of the emotion variation amounts DXP, DXM, DYP, and DYM in response to external stimuli detected by the sensor unit 210.
[0076] Specifically, state parameter acquisition section 112 adds 1 to DXP if the X value of the emotion parameter is set to the maximum value of emotion map 300 at least once in a day, and adds 1 to DYP if the Y value of the emotion parameter is set to the maximum value of emotion map 300 at least once. Furthermore, state parameter acquisition section 112 adds 1 to DXM if the X value of the emotion parameter is set to the minimum value of emotion map 300 at least once in a day, and adds 1 to DYM if the Y value of the emotion parameter is set to the minimum value of emotion map 300 at least once.
[0077] In this way, state parameter acquisition section 112 changes the emotion change amount according to a condition based on whether the emotion parameter value has reached the maximum or minimum value of emotion map 300 (first condition based on external stimuli). As an example, the initial value of each emotion change amount variable is set to 10. By updating the emotion change amount as described above, state parameter acquisition section 112 increases each variable up to a maximum of 20. This update process changes the emotion change amount, i.e., the degree of change in emotion.
[0078] For example, if only the head 204 is stroked repeatedly, only the emotion change amount DXP increases, while the other emotion change amounts remain unchanged, so the robot 200 develops a reassuring personality. On the other hand, if only the head 204 is hit repeatedly, only the emotion change amount DXM increases, while the other emotion change amounts remain unchanged, so the robot 200 develops a personality that is prone to anxiety. In this way, the state parameter acquisition unit 112 changes the emotion change amount in response to various external stimuli.
[0079] (2) Personality parameters The personality parameters are parameters that represent the simulated personality of the robot 200. The personality parameters include a plurality of personality values that respectively represent different degrees of personality. The state parameter acquisition unit 112 changes the plurality of personality values included in the personality parameters in response to an external stimulus detected by the sensor unit 210.
[0080] Specifically, the state parameter acquisition unit 112 calculates the four personality values according to the following (Equation 1): That is, the personality value (cheerful) is calculated by subtracting 10 from DXP, which indicates how easily one feels at ease; the personality value (shy) is calculated by subtracting 10 from DXM, which indicates how easily one becomes anxious; the personality value (active) is calculated by subtracting 10 from DYP, which indicates how easily one becomes excited; and the personality value (spoiled) is calculated by subtracting 10 from DYM, which indicates how easily one becomes lethargic.
[0081] Personality (cheerful) = DXP-10 Personality score (shy) = DXM-10 Personality score (active) = DYP-10 Personality score (spoiled) = DYM-10 …(Formula 1)
[0082] 8, a personality value radar chart 400 can be generated by plotting the personality value (cheerful) on the first axis, the personality value (active) on the second axis, the personality value (shy) on the third axis, and the personality value (spoiled) on the fourth axis. Each variable of the amount of emotional change has an initial value of 10 and can increase up to a maximum of 20, so the range of the personality value is between 0 and 10.
[0083] Since the initial value of each personality value is 0, the personality of robot 200 at birth is represented by the origin of personality value radar chart 400. As robot 200 grows, the four personality values change up to an upper limit of 10 depending on external stimuli (how the user interacts with robot 200) detected by sensor unit 210. This allows for the expression of 11 to the fourth power = 14,641 different personalities.
[0084] In this way, the robot 200 has various personalities depending on how the user interacts with the robot 200. In other words, the personality of each robot 200 is formed differently depending on how the user interacts with the robot 200.
[0085] These four personality values are fixed when the child period has passed and the simulated growth of the robot 200 is completed. In order to correct the personality in the subsequent adult period according to the user's interaction with the robot 200, the state parameter acquisition unit 112 adjusts the four personality correction values (cheerful correction value, active correction value, shy correction value, and clingy correction value).
[0086] State parameter acquisition section 112 adjusts the four personality correction values in accordance with a condition (second condition based on external stimulus data) based on which area on emotion map 300 the emotion parameter has existed for the longest time. Specifically, the four personality correction values are adjusted as follows (A) to (E):
[0087] (A) If the longest presence area is a safe area on the emotion map 300, the state parameter acquisition unit 112 adds 1 to the cheerful correction value and subtracts 1 from the shy correction value. (B) If the longest presence area is an excited area on the emotion map 300, the state parameter acquisition unit 112 adds 1 to the active correction value and subtracts 1 from the spoiled child correction value. (C) If the longest existing area is an anxious area on the emotion map 300, the state parameter acquisition unit 112 adds 1 to the shy correction value and subtracts 1 from the cheerful correction value. (D) If the longest presence area is a lethargic area on the emotion map 300, the state parameter acquisition unit 112 adds 1 to the spoiled child correction value and subtracts 1 from the active correction value. (E) If the longest presence area is the central area on the emotion map 300, the state parameter acquisition section 112 decreases the absolute values of all four personality correction values by one.
[0088] Note that the relief, excitement, anxiety, lethargy, and center areas are examples, and the emotion map 300 may be divided into more detailed areas, such as joy, excitement, irritation, sadness, calm, and normal.
[0089] When the four character correction values are set, the state parameter acquisition unit 112 calculates the four character values according to the following (Equation 2).
[0090] Personality (cheerful) = DXP-10 + cheerfulness correction value Personality score (shy) = DXM-10 + shyness correction value Personality score (active) = DYP-10 + activeness correction value Personality score (spoiled) = DYM-10 + spoiled correction value …(Formula 2)
[0091] (3) Battery level The remaining battery capacity is the remaining amount of power stored in the battery 250, and is a parameter that indicates the pseudo hunger level of the robot 200. The state parameter acquisition unit 112 acquires information about the current remaining battery capacity from a power supply control unit that controls charging and discharging of the battery 250.
[0092] (4) Current location The current location is the location where the robot 200 is currently located. The state parameter acquisition unit 112 acquires information about the current location of the robot 200 using the position information acquisition unit 260.
[0093] More specifically, the state parameter acquisition unit 112 refers to past position information of the robot 200 recorded in the log information 123. The log information 123 is data recording past behavioral data of the robot 200. Specifically, the log information 123 includes data indicating changes in the state parameters 122 such as past position information, emotion parameters, personality parameters, and remaining battery power of the robot 200, and sleep data indicating past wake-up times, bedtimes, etc. of the robot 200.
[0094] If the current location matches the location most frequently recorded, the state parameter acquisition unit 112 determines that the current location is home. If the current location is not home, the state parameter acquisition unit 112 determines whether the current location is a new location, a familiar location, or a less familiar location, based on the number of times the location has been recorded in the past in the log information 123, and acquires the determination information. For example, if the number of times the location has been recorded in the past is five or more, the state parameter acquisition unit 112 determines that the current location is a familiar location, and if the number of times the location has been recorded in the past is less than five, the state parameter acquisition unit 112 determines that the current location is a less familiar location.
[0095] (5)Current time The current time is the current time. The state parameter acquisition unit 112 acquires the current time from a clock mounted on the robot 200. Note that, like the acquisition of position information, the acquisition of the current time is not limited to this method.
[0096] More specifically, the state parameter acquisition unit 112 refers to today's wake-up time and past average bedtime recorded in the log information 123 to determine whether the current time is immediately after today's wake-up time or immediately before bedtime.
[0097] The log information 123 includes sleep data. Although not shown, the sleep data includes a sleep log and aggregated sleep data. The sleep log records the robot 200's past wake-up times and bedtimes for each day. The aggregated sleep data is data obtained by aggregating the sleep logs and records the average wake-up times and average bedtimes for each day of the week.
[0098] For example, if the current time is within 30 minutes of today's wake-up time, the state parameter acquisition unit 112 determines that the current time is immediately after today's wake-up time. Also, if the current time is within 30 minutes of the past average bedtime, the state parameter acquisition unit 112 determines that the current time is immediately before bedtime.
[0099] Although not shown in the figure, the sleep data records past nap time periods of the robot 200. The state parameter acquisition unit 112 refers to the past nap time periods recorded in the log information 123 and determines whether the current time falls within a nap time period.
[0100] (6) Number of days for growth (number of days for development) The number of days of growth represents the number of days of pseudo-growth of the robot 200. The robot 200 is pseudo-born when the user activates it for the first time after shipping from the factory, and grows from a child to an adult over a predetermined growth period. The number of days of growth corresponds to the number of days from the pseudo-birth of the robot 200.
[0101] The initial value of the number of days of growth is 1, and the state parameter acquisition unit 112 adds 1 to the number of days of growth each time a day passes. The growth period in which the robot 200 grows from a child to an adult is, for example, 50 days, and the period of 50 days of growth from the simulated birth is referred to as the "child period (first period)." When the child period has elapsed, the simulated growth of the robot 200 is completed. The period after the child period is completed is referred to as the "adult period (second period)."
[0102] During the childhood period, the state parameter acquisition unit 112 increases both the maximum and minimum values of the emotion map 300 by 2 each time the number of days of simulated growth of the robot 200 increases by one day. The initial size of the emotion map 300 is such that the maximum value of both the X and Y values is 100 and the minimum value is -100, as shown in box 301 in FIG. 7. When the number of days of growth has reached half the childhood period (for example, 25 days), the maximum value of both the X and Y values becomes 150 and the minimum value becomes -150, as shown in box 302 in FIG. 7. When the childhood period has passed, the simulated growth of the robot 200 stops. At this time, the maximum value of both the X and Y values becomes 200 and the minimum value becomes -200, as shown in box 303 in FIG. 7. Thereafter, the size of the emotion map 300 is fixed.
[0103] The settable range of emotion parameters is determined by emotion map 300. Therefore, the settable range of emotion parameters expands as the size of emotion map 300 expands. Expanding the settable range of emotion parameters enables a richer range of emotion expression, and so the pseudo-growth of robot 200 is expressed by expanding the size of emotion map 300.
[0104] Returning to FIG. 3, the gesture control unit 113 causes the robot 200 to perform various gestures according to the situation, based on the gesture information 121 acquired by the gesture information acquisition unit 111.
[0105] The gesture control unit 113 determines whether any of the triggers for multiple gestures defined in the gesture information 121 has been established based on the detection result by the sensor unit 210 or the like. For example, the gesture control unit 113 determines whether any of the triggers defined in advance in the gesture information 121 has been established, such as whether the user's voice has been recognized, whether the head 204 of the robot 200 has been stroked, whether a specific time has arrived, whether the robot 200 has moved to a specific location, etc. If any of the triggers has been established as a result of the determination, the gesture control unit 113 causes the robot 200 to perform a gesture corresponding to the established trigger.
[0106] When any of the triggers is established, the gesture control unit 113 refers to the gesture information 121 and identifies gesture control parameters set for the gesture corresponding to the established trigger. Specifically, the gesture control unit 113 identifies, as the gesture control parameters, a combination of actions or cries that are elements constituting the gesture corresponding to the established trigger, the execution start timing of each element, and action parameters or cries parameters that are parameters of each element. Then, the gesture control unit 113 drives the drive unit 220 or outputs sound from the speaker 231 based on the identified gesture control parameters, thereby causing the robot 200 to perform the gesture corresponding to the established trigger.
[0107] More specifically, the gesture control unit 113 corrects the gesture control parameters identified from the gesture information 121 based on the state parameters 122 acquired by the state parameter acquisition unit 112. This allows the gestures of the robot 200 to be changed according to the current state of the robot 200, thereby enabling the robot 200 to realistically imitate a living creature.
[0108] To correct the gesture control parameters, the gesture control unit 113 refers to the coefficient table 124. As shown in Figures 9 and 10, the coefficient table 124 defines a correction coefficient for each of the state parameters 122, namely, (1) emotion parameter, (2) personality parameter, (3) remaining battery level, (4) current location, and (5) current time. Although not shown, the coefficient table 124 may also define a correction coefficient for (6) number of days of growth.
[0109] The correction coefficients are coefficients for correcting gesture control parameters identified from the gesture information 121. Specifically, the correction coefficients are determined by the action direction and weighting coefficients for the speed and amplitude of the up-down movement by the up-down motor 222, the speed and amplitude of the left-right movement by the twist motor 221, and the movement start time lag.
[0110] More specifically, the gesture control unit 113 determines which of the following (1) to (5) corresponds to the current state of the robot 200 indicated by the state parameters 122 acquired by the state parameter acquisition unit 112. Then, the gesture control unit 113 corrects the gesture control parameters using a correction coefficient corresponding to the current state of the robot 200.
[0111] (1) Whether the current emotional parameter of the robot 200 corresponds to joy, frustration, sadness, lethargy, or normal. In other words, whether the coordinates (X, Y) representing the emotional parameter are located in the areas marked "joy," "irritation," "sadness," "lethargy," or "normal" on the emotional map 300 shown in FIG. 7. (2) Which of the following personality parameters does the robot 200 currently have? Cheerful, lively, shy, or clingy? In other words, which of the four personality values is the largest? (3) Whether the current battery remaining capacity of the robot 200 is 70% or more, between 70% and 30%, or 30% or less. (4) Whether the current location of the robot 200 is at home, a familiar location, an unfamiliar location, or a new location. (5) Whether the current time is just after waking up, during a nap, or just before going to bed.
[0112] 10, when the current time corresponds to the time immediately after waking up, the action direction for both the speed and amplitude of the up-down movement and the left-right movement is set to "-" and the weighting coefficient is set to "0.2." Therefore, the gesture control unit 113 lengthens the movement time by 20% and shortens the movement distance by 20% based on the values acquired from the gesture information 121. In other words, the gesture control unit 113 makes the movement of the robot 200 20% slower and 20% shorter than usual.
[0113] 10, the coefficient table 124 defines the action direction of the action start time lag as "+" and the weighting coefficient as "0.2." Therefore, the gesture control unit 113 delays the execution start timing by 20% from the normal timing based on the value set in the gesture information 121. By making corrections using such correction coefficients, it is possible to express that gestures are performed slightly slower than normal movements when the user is in a drowsy state immediately after waking up.
[0114] In addition to (5) the current time, the gesture control unit 113 also identifies correction coefficients for the corresponding states of (1) emotion parameters, (2) personality parameters, (3) remaining battery level, and (4) current location from the coefficient table 124. The gesture control unit 113 then corrects the gesture control parameters using the sum of the corresponding correction coefficients for (1) to (5).
[0115] As a specific example, we will explain a case where (1) the current emotion parameter corresponds to joy, (2) the current personality parameter corresponds to cheerfulness, (3) the current battery level corresponds to 30% or less, (4) the current location corresponds to a new location, and (5) the current time corresponds to immediately after waking up.
[0116] 9 and 10, the sum of the correction coefficients for the speed and amplitude of the up-down movement is calculated as "+0.2+0.1-0.3-0.2-0.2=-0.4," and the sum of the correction coefficients for the speed and amplitude of the left-right movement is calculated as "+0.2+0-0.3-0.2-0.2=-0.5." Therefore, the gesture control unit 113 increases the movement time of the up-down motor 222 by 40% and shortens the movement distance by 40% based on the value set in the gesture information 121. Furthermore, the gesture control unit 113 increases the movement time of the twist motor 221 by 50% and shortens the movement distance by 50% based on the value acquired from the gesture information 121.
[0117] The sum of the correction coefficients for the action start time lag is calculated as +0+0+0.3+0.2+0.2=+0.7. Therefore, the gesture control unit 113 delays the execution start timing by 70% compared to normal, using the value acquired from the gesture information 121 as a reference.
[0118] Although not shown, the coefficient table 124 also defines correction coefficients for cries, similar to those for actions. Specifically, the gesture control unit 113 corrects the volume, which is a cries parameter set for the gesture corresponding to the established trigger in the gesture information 121, using a correction coefficient corresponding to the state parameter 122 acquired by the state parameter acquisition unit 112.
[0119] In this way, the gesture control unit 113 corrects the gesture control parameters based on the state parameters 122 acquired by the state parameter acquisition unit 112. Then, the gesture control unit 113 drives the driving unit 220 based on the corrected gesture control parameters or outputs a sound from the speaker 231, thereby causing the robot 200 to perform a gesture corresponding to the established trigger.
[0120] Furthermore, when the gesture control unit 113 causes the robot (robot 200) to perform a gesture corresponding to the trigger that has been established, it performs either (1A) a first control that causes the robot to accurately perform the gesture, or (1B) a second control that causes the robot to inaccurately perform the gesture or not perform the gesture, depending on the situation.
[0121] (1A) In the first control, making the robot 200 accurately execute a gesture means controlling the robot 200 in accordance with a procedure determined for that gesture. Specifically, the first control corresponds to driving the driving unit 220 or outputting sound from the speaker 231 in accordance with the gesture control parameter corrected by the correction coefficient when making the robot 200 execute a gesture corresponding to the established trigger.
[0122] (1B) In contrast to this, in the second control, causing the robot 200 to perform a gesture incorrectly means controlling the robot 200 to perform at least a part of the gesture in a procedure that is at least partially different from the procedure defined for that gesture, in other words, to perform at least a part of the gesture incorrectly. Specifically, the second control corresponds to driving the driving unit 220 or outputting sound from the speaker 231 without accurately following the gesture control parameters corrected by the correction coefficient when causing the robot 200 to perform a gesture corresponding to the established trigger.
[0123] Here, performing a gesture incorrectly, i.e., performing at least a part of a gesture incorrectly, means performing the gesture in a procedure that deviates from the procedure defined for that gesture. Specifically, performing a gesture incorrectly means performing the gesture at a speed different from the speed based on the gesture control parameters, or performing the gesture with control different from the control based on the gesture control parameters. More specifically, performing a gesture incorrectly corresponds to omitting the execution of at least one element of the multiple elements (movements or sounds) that make up the gesture, switching the execution order of at least one element with another element, or changing the gesture control parameters of at least one element.
[0124] As a specific example, the gesture of "Test 1" shown in FIGS. 5 and 6 has a defined sequence of moving the head 204 up, down, left, and right in this order, and then outputting sounds in the order of meow 1, meow 2, meow 3, and meow 4, and so on. Omitting at least one element in the gesture corresponds to omitting the execution of at least one element among the eight elements, i.e., the up, down, left, and right movements and meows 1 to 4. In addition, interchanging the execution order of at least one element in the gesture with another element corresponds to, for example, interchanging the execution order of the up, down, left, and right movements or the execution order of meows 1 to 4. In addition, changing the gesture control parameter of at least one element in the gesture corresponds to changing the gesture control parameter of at least one element to a parameter different from the gesture control parameter corrected by the correction coefficient defined for that element (for example, shortening the distance the motor is driven or shortening the time for outputting the meows).
[0125] In this way, the gesture control unit 113 executes the first control or the second control depending on the situation, so that the gesture is not executed exactly the same every time, but some gestures are made incorrectly or omitted depending on the situation. This prevents the gestures of the robot 200 from becoming uniform, allowing it to express individuality and life-likeness, i.e., a sense of life.
[0126] More specifically, (1A) when the robot 200 is caused to perform at least one gesture among a plurality of gestures that the robot 200 can perform, the gesture control unit 113 causes the robot 200 to perform the gesture accurately. That is, in this case, the gesture control unit 113 performs the first control. On the other hand, (1B) when the robot 200 is caused to perform a gesture other than the at least one gesture among a plurality of gestures that the robot 200 can perform, the gesture control unit 113 causes the robot 200 to perform the gesture inaccurately. That is, in this case, the gesture control unit 113 performs the second control.
[0127] Here, the plurality of gestures that the robot 200 can perform are gestures of the gesture information 121 created by the gesture information creation unit 511 or gestures of the gesture information 121 that are pre-installed in the robot 200. When the gesture control unit 113 makes the robot 200 perform each of the plurality of gestures that the robot 200 can perform, the gesture control unit 113 switches between making the robot 200 perform the gesture accurately (performing the first control) or inaccurately (performing the second control) depending on the gesture to be performed.
[0128] In the first embodiment, the gesture control unit 113 controls the number of at least one gesture to be subjected to the first control based on the state of the robot 200. For example, when the state of the robot 200 is the first state, the gesture control unit 113 causes the robot 200 to accurately perform all executable gestures, whereas when the state of the robot 200 is the second state, the gesture control unit 113 causes the robot 200 to accurately perform 80% of the executable gestures but inaccurately perform 20% of the gestures. In this way, the gesture control unit 113 changes the number of gestures to be subjected to the first control and the second control depending on the state of the robot 200.
[0129] Here, the state of the robot itself is specifically represented by state parameters 122 acquired by the state parameter acquisition unit 112. The gesture control unit 113 controls the number of gestures that are the targets of the first control and the second control among a plurality of gestures that the robot 200 can perform, based on at least one of the state parameters 122: (1) emotion parameters, (2) personality parameters, (3) remaining battery power, (4) current location, and (5) current time.
[0130] For example, the number of at least one gesture to be subjected to the first control may be increased as the value of the predetermined pseudo-emotion in the emotion parameter increases. Furthermore, the number of at least one gesture to be subjected to the first control may be decreased as the value of the predetermined pseudo-emotion decreases. Here, the value of the predetermined pseudo-emotion corresponds to, for example, the relief level or excitement level in the emotion map shown in FIG. 7.
[0131] Alternatively, the number of at least one gesture that is the target of the first control may change depending on which area, such as joy, frustration, sadness, lethargy, or normal, the coordinates (X, Y) representing the current emotion parameter of the robot 200 is located in on the emotion map 300. For example, when the emotion parameter is located in the joy area, the number of at least one gesture that is the target of the first control may be greater than when the emotion parameter is located in the frustration area, sadness area, or lethargy area.
[0132] As another example, the number of the at least one gesture to be subjected to the first control may vary depending on the largest personality value among the plurality of personality values in the personality parameter. As shown in FIG. 8, the robot 200 has personality parameters based on four personality values.
[0133] For example, if the personality value of active or cheerful is the highest among the four personality values, the gesture control unit 113 may subject all of the plurality of gestures that the robot 200 can perform to the first control. If the personality value of shy or clingy is the highest among the four personality values, the gesture control unit 113 may subject 80% of the plurality of gestures that the robot 200 can perform to the first control, and subject the remaining 20% of the gestures to the second control.
[0134] Furthermore, the higher the personality value of active or cheerful among the four personality values, the greater the number of gestures that will be the subject of the first control, and the higher the personality value of shy or clingy, the fewer the number of gestures that will be the subject of the first control.
[0135] Alternatively, the gesture control unit 113 may change the number of gestures to be subjected to the first control and the second control based on other parameters in the state parameters 122. For example, the gesture control unit 113 may increase the number of gestures to be subjected to the first control as the remaining battery level increases. Furthermore, with respect to the current location of the device, the gesture control unit 113 may increase the number of gestures to be subjected to the first control when the current location is at home, and decrease the number of gestures to be subjected to the first control as the current location becomes a familiar location, an unfamiliar location, or a new location. Furthermore, the gesture control unit 113 may increase the number of gestures to be subjected to the first control when the current time is just before going to sleep compared to when the current time is just after waking up or during a nap.
[0136] The correspondence between such state parameters 122 and the number of gestures to be subjected to the first control is determined, for example, in a personality table 125, and is stored in advance in the storage unit 120. As shown in Fig. 11, the personality table 125 determines whether each of a plurality of gestures that can be performed by the robot 200 is to be subjected to the first control or the second control for each state indicated by the state parameters 122. The gesture control unit 113 refers to such personality table 125 and determines whether to perform the first control or the second control when making the robot 200 perform a gesture corresponding to a trigger that has been established.
[0137] When it is decided to perform the first control, the gesture control unit 113 drives the drive unit 220 or outputs sound from the speaker 231 for all of the multiple elements (movements or sounds) that make up the gesture when the robot 200 performs the gesture corresponding to the trigger that has been established, in accordance with the gesture control parameters corrected by the correction coefficient.
[0138] On the other hand, when it is determined to perform the second control, the gesture control unit 113 drives the driving unit 220 or outputs sound from the speaker 231 when making the robot 200 execute some of the elements (movements or sounds) constituting the gesture corresponding to the established trigger, without precisely following the gesture control parameters corrected by the correction coefficient. Specifically, the gesture control unit 113 omits execution, changes the order of execution, changes the gesture control parameters, etc. for some of the elements constituting the gesture corresponding to the established trigger.
[0139] When the robot 200 is to execute elements other than the above-mentioned part of the multiple elements that make up the gesture corresponding to the established trigger, the gesture control unit 113 drives the drive unit 220 or outputs sound from the speaker 231 exactly in accordance with the gesture control parameters corrected by the correction coefficient.
[0140] Here, among the multiple elements that make up the gesture corresponding to the established trigger, some elements that are not executed correctly may be selected randomly or may be selected according to a specific rule.
[0141] Next, the flow of the robot control process will be described with reference to Fig. 12. The robot control process shown in Fig. 12 is executed by the control unit 110 of the control device 100 when the user turns on the power of the robot 200. The robot control process is an example of a control method for an electronic device.
[0142] When the robot control process is started, the control unit 110 sets the state parameters 122 (step S101). When the robot 200 is started for the first time (when the robot is started for the first time by the user after being shipped from the factory), the control unit 110 sets each of the emotion parameters, personality parameters, and number of days to an initial value (for example, 0). On the other hand, when the robot 200 is started for the second time or later, the control unit 110 reads out the values of each parameter saved in step S106 (described later) of the previous robot control process and sets them as the state parameters 122. However, the emotion parameters may all be initialized to 0 each time the power is turned on.
[0143] After setting the state parameters 122, the control unit 110 communicates with the terminal device 50 and acquires the gesture information 121 created on the terminal device 50 based on the user's operation (step S102). Note that if the gesture information 121 has already been saved in the storage unit 120, step S102 may be skipped. Step S102 is an example of an acquisition step.
[0144] When the gesture information 121 is acquired, the control unit 110 determines whether or not any one of the triggers of the plurality of gestures defined in the gesture information 121 has been established (step S103).
[0145] If any of the triggers is established (step S103; YES), the control unit 110 executes a gesture control process to cause the robot 200 to execute a gesture corresponding to the established trigger (step S104). Details of the gesture control process in step S104 will be described with reference to the flowchart in Fig. 13. Step S104 is an example of a control step.
[0146] When the gesture control process shown in FIG. 13 starts, control unit 110 updates state parameters 122 (step S201). Specifically, if the trigger established in step S103 is due to an external stimulus, control unit 110 derives an emotion change amount corresponding to that external stimulus. Control unit 110 then updates the emotion parameters by adding or subtracting the derived emotion change amount to or from the current emotion parameters. Furthermore, during the child period, control unit 110 calculates each personality value of the personality parameters from the emotion change amount updated in step S108 according to the above-mentioned (Equation 1). On the other hand, during the adult period, control unit 110 calculates each personality value of the personality parameters from the emotion change amount updated in step S108 and the personality correction value according to the above-mentioned (Equation 2).
[0147] After updating the state parameters 122, the control unit 110 refers to the gesture information 121 to acquire gesture control parameters for the gesture corresponding to the established trigger (step S202). Specifically, the control unit 110 acquires from the gesture information 121 a combination of actions or cries that are elements constituting the gesture corresponding to the established trigger, the execution start timing of each element, and the action parameters or cries parameters.
[0148] When the gesture control parameters are acquired, the control unit 110 corrects the gesture control parameters based on the correction coefficients defined in the coefficient table 124 (step S203). Specifically, the control unit 110 calculates the sum of the correction coefficients corresponding to the state parameters 122 updated in step S201, among the correction coefficients defined in the coefficient table 124 for (1) emotion parameters, (2) personality parameters, (3) remaining battery level, (4) current location, and (5) current time. The control unit 110 then corrects the movement parameters, cry parameters, and execution start timing using the calculated sum of the correction coefficients.
[0149] After correcting the gesture control parameters, the control unit 110 determines whether or not the gesture corresponding to the established trigger is accurately executed (step S204). Specifically, the control unit 110 refers to the personality table 125 and determines whether or not the gesture corresponding to the established trigger corresponds to the target of the first control in the state parameters 122 updated in step S201.
[0150] If the gesture is to be executed accurately (step S204; YES), the control unit 110 causes the device to accurately execute the gesture corresponding to the established trigger (step S205). Specifically, the control unit 110 drives the driving unit 220 or outputs sound from the speaker 231 accurately in accordance with the gesture control parameter corrected in step S204.
[0151] On the other hand, if the gesture is not performed correctly (step S204; NO), the control unit 110 determines which actions or sounds will not be performed correctly among the gestures corresponding to the established trigger (step S206). Specifically, the control unit 110 determines, randomly or according to a specific rule, some elements (actions or sounds) that will not be performed correctly among the multiple elements that make up the gesture corresponding to the established trigger.
[0152] Next, the control unit 110 causes the robot to inaccurately perform the gesture corresponding to the established trigger (step S207). Specifically, the control unit 110 omits execution, changes the execution order, or changes gesture control parameters for the actions or cries determined in step S206. Then, for other actions or cries, the control unit 110 drives the drive unit 220 or outputs sound from the speaker 231 in accordance with the gesture control parameters.
[0153] When the gesture is performed, the control unit 110 updates the gesture information 121 (step S208). Specifically, the control unit 110 adds 1 to the number of times the gesture has been performed in the gesture information 121, and updates the previous performance date and time of the gesture to the current date and time in the gesture information 121. This completes the gesture control process shown in FIG.
[0154] Returning to FIG. 12, in step S103, if none of the multiple gesture triggers is established (step S103; NO), control unit 110 skips step S104.
[0155] Next, the control unit 110 determines whether or not to end the process (step S105). For example, the process ends when the operation unit 240 receives an instruction from the user to power off the robot 200. If the process ends (step S105; YES), the control unit 110 saves the current state parameters 122 in the nonvolatile memory of the storage unit 120 (step S106), and ends the robot control process shown in FIG.
[0156] If the process does not end (step S105; NO), the control unit 110 determines whether the date has changed using the clock function (step S107). If the date has not changed (step S107; NO), the process returns to step S103.
[0157] If the date has changed (step S107; YES), control unit 110 updates state parameters 122 (step S108). Specifically, if the child is in the childhood period (for example, 50 days after birth), control unit 110 changes the values of emotion variations DXP, DXM, DYP, and DYM depending on whether the emotion parameters have reached the maximum or minimum values of emotion map 300. Also, if the child is in the childhood period, control unit 110 expands both the maximum and minimum values of emotion map 300 by a predetermined increment (for example, 2). On the other hand, if the child is in the adult period, control unit 110 adjusts the personality correction value.
[0158] After updating the state parameter 122, the control unit 110 adds 1 to the number of days for growth (step S109) and returns to step S103. Then, the control unit 110 repeats the processes from step S103 to step S109 as long as the robot 200 is operating normally.
[0159] As described above, when the robot 200 according to the first embodiment is made to perform at least one gesture among a plurality of gestures that can be performed, the robot 200 controls the robot according to a procedure defined for the gesture to be performed, and when the robot is made to perform a gesture other than the at least one gesture among a plurality of gestures that can be performed, the robot 200 controls the robot according to a procedure that is at least partially different from the procedure defined for the gesture to be performed. In this case, the number of at least one gestures for which the robot 200 controls the robot according to the procedure defined varies depending on the state parameter 122.
[0160] In this way, the number of gestures that the robot 200 accurately executes changes depending on the current state of the robot 200, so the gestures of the robot 200 do not become uniform. This allows the robot 200 to express its individuality and improves the lifelikeness of the robot. In particular, even in real living creatures, the accuracy varies depending on the physical condition, environment, etc. The robot 200 according to the first embodiment changes the number of gestures that the robot 200 accurately executes depending on the current state of the robot 200, so it is possible to express the differences in the dexterity of real living creatures.
[0161] (Embodiment 2) Next, a description will be given of embodiment 2. Descriptions of the same configurations and functions as embodiment 1 will be omitted where appropriate.
[0162] In the first embodiment, the number of gestures that the player's device can accurately execute varies depending on the state of the player's device. In contrast, in the second embodiment, the number of elements (movements or sounds) that the player's device can accurately execute varies depending on the state of the player's device.
[0163] In embodiment 2, when the gesture control unit 113 causes the own device to execute each of the multiple elements (movements or sounds) that make up the gesture corresponding to the trigger that has been established, it performs either (2A) a first element control that causes the own device to execute the element accurately, or (2B) a second element control that causes the own device to execute the element inaccurately or not execute the element.
[0164] Here, the first element control and the second element control correspond to the first control and the second control described in the first embodiment, respectively, in which "gesture" is replaced with "element." In other words, in the first embodiment, whether or not to perform accurately is determined on a gesture-by-gesture basis, whereas in the second embodiment, whether or not to perform accurately is determined on an element-by-element basis.
[0165] More specifically, (2A) when the user's own device is to execute at least one element of the elements constituting the gesture corresponding to the established trigger, the gesture control unit 113 causes the user's own device to execute the element accurately. That is, in this case, the gesture control unit 113 performs first element control. On the other hand, (2B) when the user's own device is to execute an element other than the at least one element of the elements constituting the gesture corresponding to the established trigger, the gesture control unit 113 causes the user's own device to execute the element inaccurately. That is, in this case, the gesture control unit 113 performs second element control.
[0166] In the second embodiment, the gesture control unit 113 controls the number of at least one element that is the target of the first element control based on the state of the own device. Here, the state of the own device is represented by the state parameter 122 acquired by the state parameter acquisition unit 112, as in the first embodiment. The number of elements that are the target of the first element control is determined for each of the multiple states represented by the state parameter 122. The correspondence relationship between the state parameter 122 and the number of elements that are the target of the first element control in the second embodiment is the same as the correspondence relationship between the state parameter 122 and the number of gestures that are the target of the first control in the first embodiment.
[0167] For example, the number of at least one element subject to first element control may be greater as the value of a predetermined pseudo-emotion in the emotion parameter increases, and may be less as the value of the predetermined pseudo-emotion decreases. The number of at least one element subject to first element control may also vary depending on the largest personality value among multiple personality values in the personality parameter. Alternatively, the number of at least one element subject to first element control may vary depending on the remaining battery level, current location, current time, etc.
[0168] Fig. 14 shows the flow of gesture control processing according to embodiment 2. In step S104, the robot 200 according to embodiment 2 executes gesture control processing shown in Fig. 14 instead of the gesture control processing described in embodiment 1 with reference to Fig. 13. Note that the processing other than step S104 in the robot control processing is the same as in embodiment 1, and therefore description thereof will be omitted.
[0169] 14 starts, the control unit 110 updates the state parameters 122 (step S301). Next, the control unit 110 refers to the gesture information 121 to acquire gesture control parameters for the gesture corresponding to the established trigger (step S302). Next, the control unit 110 corrects the gesture control parameters based on the correction coefficients defined in the coefficient table 124 (step S303). The processes of steps S301 to S303 are the same as steps S201 to S203 in the first embodiment.
[0170] After correcting the gesture control parameters, the control unit 110 determines the number of elements (movements or sounds) to be correctly executed from among the multiple elements (movements or sounds) that make up the gesture corresponding to the established trigger (step S304). Specifically, the control unit 110 determines the number of elements to be the targets of the first element control based on the state parameters 122 updated in step S201.
[0171] Next, control unit 110 determines which elements will be executed correctly and which elements will be executed incorrectly from among the multiple elements constituting the gesture corresponding to the established trigger (step S305). Specifically, control unit 110 determines the number of elements determined in step S304 from among the multiple elements constituting the gesture corresponding to the established trigger as elements to be executed correctly, and determines the remaining elements as elements to be executed incorrectly. At this time, control unit 110 may randomly determine which elements from the multiple elements will be executed correctly, or may determine them according to a specific rule.
[0172] Next, the control unit 110 causes the robot to perform a gesture corresponding to the established trigger (step S306). Specifically, the control unit 110 omits execution, changes the execution order, or changes gesture control parameters for the actions or cries determined in step S305. Then, for other actions or cries, the control unit 110 drives the drive unit 220 or outputs sound from the speaker 231 in accordance with the gesture control parameters.
[0173] When the gesture is performed, the control unit 110 updates the gesture information 121 (step S307). Specifically, the control unit 110 adds 1 to the number of times the gesture has been performed in the gesture information 121, and updates the previous performance date and time of the gesture to the current date and time in the gesture information 121. This completes the gesture control process shown in FIG.
[0174] As described above, when the robot 200 according to the second embodiment is made to perform at least one element gesture among a plurality of elements constituting a gesture, the robot 200 controls the robot according to a procedure defined for the element to be performed, and when the robot is made to perform an element other than the at least one element, the robot controls the robot according to a procedure that is at least partially different from the procedure defined for the element to be performed. In this case, the number of the at least one element that controls the robot according to the procedure defined varies depending on the state parameter 122.
[0175] In this way, the number of elements to be accurately executed changes depending on the current state of the robot 200, so the behavior of the robot 200 does not become uniform. This allows the individuality of the robot 200 to be expressed, and makes it more lifelike. In particular, in the second embodiment, the number of elements to be accurately executed in one behavior changes, so the individuality of the robot 200 can be expressed in more detail than in the first embodiment.
[0176] (Variation) Although the embodiments of the present invention have been described above, the above embodiments are merely examples, and the scope of application of the present invention is not limited to these. In other words, the embodiments of the present invention are applicable to various applications, and all embodiments are included in the scope of the present invention.
[0177] For example, the features of the first embodiment and the features of the second embodiment may be combined. In other words, both the number of gestures to be accurately executed and the number of elements to be accurately executed may vary depending on the state of the host machine. Specifically, when executing a gesture that is the target of the second control determined by the features of the first embodiment, the gesture control unit 113 determines the number of gestures to be the target of the first element control and the second element control depending on the state of the host machine, as described in the second embodiment. Then, the gesture control unit 113 may determine whether each of the multiple elements (movements or sounds) constituting the gesture to be executed is to be the target of the first element control or the second element control.
[0178] In the above embodiment, the control device 100 is built into the robot 200, but the control device 100 may be a separate device (e.g., a server) rather than built into the robot 200. When the control device 100 is located outside the robot 200, the control device 100 communicates with the robot 200 via the communication unit 130 to send and receive data to and from the robot 200, and controls the robot 200 as described in the above embodiment.
[0179] In the above embodiment, the exterior 201 is formed in a cylindrical shape from the head 204 to the torso 206, and the robot 200 is in a prone position. However, the robot 200 is not limited to being modeled after a prone position creature. For example, the robot 200 may be modeled after a creature with arms and legs, and may be modeled after a creature that walks on four legs or two legs.
[0180] Furthermore, the electronic device is not limited to the robot 200 that imitates a living creature. For example, the electronic device may be a wristwatch or the like, as long as it is a device that can express individuality by performing various gestures. Even electronic devices other than the robot 200 can be described in the same manner as the above embodiment, as long as they have the same configuration and functions as the robot 200 described above.
[0181] In the above embodiment, the control unit 110 functions as each unit, such as the gesture information acquisition unit 111, the state parameter acquisition unit 112, and the gesture control unit 113, by the CPU executing a program stored in the ROM. Furthermore, the control unit 510 functions as each unit, such as the gesture information creation unit 511, by the CPU executing a program stored in the ROM. However, in the present invention, the control units 110 and 510 may include dedicated hardware, such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or various control circuits, instead of a CPU, and the dedicated hardware may function as each unit, such as the gesture information acquisition unit 111. In this case, the functions of each unit may be realized by individual hardware, or the functions of each unit may be realized together by a single piece of hardware. Furthermore, some of the functions of each unit may be realized by dedicated hardware, and other parts may be realized by software or firmware.
[0182] It should be noted that the robot 200 or the terminal device 50 can be provided with a configuration for realizing the functions according to the present invention, and by applying a program, an existing information processing device or the like can be made to function as the robot 200 or the terminal device 50 according to the present invention. That is, by applying a program for realizing each functional configuration of the robot 200 or the terminal device 50 exemplified in the above embodiment so that it can be executed by a CPU or the like that controls the existing information processing device or the like, the robot 200 or the terminal device 50 can be made to function as the robot 200 or the terminal device 50 according to the present invention.
[0183] Furthermore, the application method of such a program is arbitrary. The program can be applied by storing it on a computer-readable storage medium such as a flexible disk, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, or a memory card. Furthermore, the program can be superimposed on a carrier wave and applied via a communication medium such as the Internet. For example, the program can be distributed by posting it on a bulletin board system (BBS) on a communication network. Then, the program can be started and executed under the control of an operating system (OS) in the same way as other application programs, thereby enabling the above-mentioned processing to be performed.
[0184] The above describes preferred embodiments of the present invention, but the present invention is not limited to the above-described embodiments, and various modifications and substitutions can be made to the above-described embodiments without departing from the scope of the claims. [Explanation of symbols]
[0185] 1...robot system, 50...terminal device, 100...control device, 110...control unit, 111...gesture information acquisition unit, 112...state parameter acquisition unit, 113...gesture control unit, 120...storage unit, 121...gesture information, 122...state parameters, 123...log information, 124...coefficient table, 125...personality table, 130...communication unit, 200...robot, 201...exterior, 202...decorative parts, 203...hair, 204...head, 205...connection unit, 206...torso unit, 207...casing, 210...sensor unit, 211...touch sensor, 212...acceleration sensor, 213...microphone, 214...illumination sensor, 215...gyro sensor, 220...drive unit, 221...twist motor, 222...up and down motor, 230...output unit, 231... Speaker, 240... operation unit, 250... battery, 260... position information sensor, 300... emotion map, 301 to 303... frames, 400... personality value radar chart, 510... control unit, 511... gesture information creation unit, 520... storage unit, 530... operation unit, 540... display unit, 550... communication unit, BL... bus line
Claims
1. a control means for causing the player's own device to perform a plurality of predetermined gestures; The control means causing the player's device to accurately perform at least one gesture among the plurality of gestures; causing the player's device to incorrectly perform gestures other than the at least one gesture among the plurality of gestures, or not causing the player's device to perform gestures other than the at least one gesture; The number of the at least one gesture is controlled based on the state of the player's device. An electronic device characterized by:
2. The control means the number of the at least one gesture is controlled based on at least one of an emotion parameter indicating a pseudo emotion of the player's device, a personality parameter indicating a pseudo personality of the player's device, a remaining battery level of the player's device, a current location of the player's device, and a current time, as the state of the player's device; 2. The electronic device according to claim 1, wherein the electronic device is a semiconductor device.
3. The control means control is performed such that the greater the value of a predetermined pseudo-emotion in the emotion parameter, the greater the number of the at least one gesture; and the smaller the value of the predetermined pseudo-emotion in the emotion parameter, the less the number of the at least one gesture.
3. The electronic device according to claim 2.
4. the personality parameters are based on a plurality of personality values each representing a different degree of personality; The control means controlling the number of the at least one gesture based on the largest personality value among the plurality of personality values; 4. The electronic device according to claim 2 or 3.
5. further comprising an acquisition means for acquiring gesture control information for causing the own device to execute a gesture; the control means causes the own device to perform a plurality of gestures based on the plurality of pieces of gesture control information acquired via the acquisition means; When causing the own device to inaccurately perform a gesture other than the at least one gesture, the own device causes the gesture other than the at least one gesture to be performed at a speed different from a speed based on the gesture control information, or the gesture other than the at least one gesture to be performed under a control different from a control based on the gesture control information.
4. The electronic device according to claim 1, wherein the first and second electrodes are electrically connected to the first and second electrodes.
6. a control means for causing the player's own device to execute a gesture composed of a plurality of elements; The control means causing the player's own device to accurately execute at least one element among the plurality of elements; causing the player's device to incorrectly execute elements other than the at least one element among the plurality of elements, or not causing the player's device to execute elements other than the at least one element; The number of the at least one element is controlled based on the state of the player's own aircraft. An electronic device characterized by:
7. The control means the number of the at least one gesture is controlled based on at least one of an emotion parameter indicating a pseudo emotion of the player's device, a personality parameter indicating a pseudo personality of the player's device, a remaining battery level of the player's device, a current location of the player's device, and a current time, as the state of the player's device; 7. The electronic device according to claim 6, wherein the electronic device is a semiconductor device.
8. The control means control is performed such that the greater the value of a predetermined pseudo-emotion in the emotion parameter, the greater the number of the at least one element; and the smaller the value of the predetermined pseudo-emotion in the emotion parameter, the smaller the number of the at least one element.
8. The electronic device according to claim 7,
9. the personality parameters are based on a plurality of personality values each representing a different degree of personality; The control means controlling the number of the at least one gesture based on the largest personality value among the plurality of personality values; 9. The electronic device according to claim 7 or 8.
10. further comprising an acquisition means for acquiring gesture control information for causing the own device to execute the gesture; the control means causes the own device to perform the gesture based on the gesture control information acquired via the acquisition means; When the device is caused to inaccurately execute an element other than the at least one element, the device is caused to execute the element other than the at least one element at a speed different from a speed based on the gesture control information, or the element other than the at least one element is executed by a control different from a control based on the gesture control information.
9. The electronic device according to claim 6, wherein the first and second electrodes are electrically connected to the first and second electrodes.
11. The gesture control information is created by a user.
11. The electronic device according to claim 5 or 10.
12. A method for controlling an electronic device, comprising: a control step of causing the electronic device to execute a plurality of predetermined gestures; In the control step, causing the electronic device to accurately perform at least one gesture among the plurality of gestures; causing the electronic device to incorrectly perform gestures other than the at least one gesture among the plurality of gestures, or not causing the electronic device to perform gestures other than the at least one gesture; controlling the number of the at least one gesture based on a state of the electronic device; A method for controlling an electronic device.
13. A method for controlling an electronic device, comprising: a control step of causing the electronic device to execute a gesture composed of a plurality of elements, In the control step, causing the electronic device to accurately execute at least one element of the plurality of elements; causing the electronic device to incorrectly execute elements other than the at least one element among the plurality of elements, or not causing the electronic device to execute elements other than the at least one element; controlling the number of the at least one element based on a state of the electronic device; A method for controlling an electronic device.
14. Electronic equipment computers, a control unit that causes the electronic device to execute a plurality of predetermined gestures; The control means causing the electronic device to accurately perform at least one gesture among the plurality of gestures; causing the electronic device to incorrectly perform gestures other than the at least one gesture among the plurality of gestures, or not causing the electronic device to perform gestures other than the at least one gesture; controlling the number of the at least one gesture based on a state of the electronic device; A program to make it work like this.
15. Electronic equipment computers, a control unit that causes the electronic device to execute a gesture composed of a plurality of elements; The control means causing the electronic device to accurately execute at least one element of the plurality of elements; causing the electronic device to incorrectly execute elements other than the at least one element among the plurality of elements, or not causing the electronic device to execute elements other than the at least one element; controlling the number of the at least one element based on a state of the electronic device; A program to make it work like this.
Citation Information
Patent Citations
Character training system and method for virtual human
CN111027215B
Intelligent robot simulating human beings
CN111723898A
Data holding device, robot device, modification device and modification method
JP2001191274A
Robot device and control method for robot device
JP2001212782A
Dummy creature system, action forming method for dummy creature for the same system and computer readable storage medium describing program for making the same system action
JP2002163631A