Robot, control method and program

The electronic device addresses the challenge of realistically simulating gesture memorization by incorporating a control system that adjusts gesture execution accuracy based on proficiency, allowing for more realistic creature-like interactions.

JP2025049855AActive Publication Date: 2025-04-04CASIO COMPUTER CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023158316
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-22
Publication Date
2025-04-04
Estimated Expiration
2043-09-22

AI Technical Summary

Technical Problem

Existing electronic devices that simulate creatures lack the ability to realistically express the process of memorizing gestures.

Method used

An electronic device equipped with a control system that allows it to perform, accurately or inaccurately, a prescribed gesture, and to derive the level of proficiency based on the number of times the gesture is performed, the time since simulated birth, and the device's state, with the frequency of accurate gesture execution changing according to proficiency level.

Benefits of technology

Enables the electronic device to realistically simulate the process of remembering gestures, enhancing its ability to interact and mimic creature-like behavior.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025049855000001_ABST
    Figure 2025049855000001_ABST
Patent Text Reader

Abstract

To provide an electronic device capable of expressing the process of memorizing gestures, a control method thereof, and a program.SOLUTION: A robot 200 comprises a control part 110 that allows an own device to perform prescribed gestures. The control part 110, when allowing the own device to perform a gesture(s), performs either of first control that allows the own device to accurately perform the gesture(s) and second control that allows the own device to inaccurately perform the gesture(s) or does not allow the own device to perform the gesture(s), and derives the familiarity of the own device with the gesture(s) on the basis of at least any one of the frequency of the gesture(s) performed by the own device, the time elapsed since the pseudo-birth of the own device, and the state of the own device. The control part 110 changes the frequency of performing the first control according to the familiarity of the own device with the gesture(s) when allowing the own device to perform the gesture(s).SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

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 mimic living things such as pets, humans, etc. For example, Patent Document 1 discloses a robot device that, when a specific input is given, exhibits a specific action associated with the specific input. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2003-159681 A Summary of the Invention [Problem to be solved by the invention]

[0004] In electronic devices that imitate living creatures as described above, there is a demand for expressing the process of learning behaviors in order to more realistically imitate living creatures.

[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 are capable of expressing the process of learning gestures. [Means for solving the problem]

[0006] In order to achieve the above object, one aspect of the electronic device according to the present invention is to A control means for causing the player's own device to execute a predetermined gesture; The control means When making the player's own device execute the gesture, either a first control for making the player's own device execute the gesture accurately or a second control for making the player's own device execute the gesture inaccurately or not execute the gesture, and derive a proficiency level of the player's own device for the gesture based on at least one of the number of times the player's own device executes the gesture, the elapsed time from the pseudo birth of the player's own device, and a state of the player's own device; The frequency of performing the first control when the player's device is caused to execute the gesture is changed according to the level of proficiency. Effect of the Invention

[0007] According to the present invention, it is possible to provide an electronic device capable of expressing the process of learning a gesture, and a control method and program for the electronic device. [Brief description of the drawings]

[0008] [Figure 1] 1 is a diagram showing an outline of the overall configuration of a robot system according to a first embodiment. [Diagram 2] 1 is a cross-sectional side view of a robot according to a first embodiment. [Diagram 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 a configuration of a terminal device according to a first embodiment. [Diagram 5] FIG. 11 is a diagram showing an example of a creation screen for 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. 4 is a first diagram showing 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. 1 is a first diagram showing an example of a mastery table according to the first embodiment. [Figure 12] FIG. 2 is a second diagram showing an example of a mastery table according to the first embodiment. [Figure 13] 4 is a flowchart showing a flow of a robot control process according to the first embodiment. [Figure 14] 5 is a flowchart showing the flow of a gesture control process according to the first embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.

[0010] (Embodiment 1) 1 shows a schematic configuration of a robot system 1 according to the embodiment 1. 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 embodiment 1.

[0011] The robot 200 according to the first embodiment is equipped with an exterior 201, decorative parts 202, fluffy fur 203, a head 204, a connecting part 205, a torso part 206, a housing 207, a touch sensor 211, an acceleration sensor 212, a microphone 213, an illuminance sensor 214, and a speaker 231 similar to those of the robot 200 disclosed in JP 2023-115370 A, and the description thereof will be omitted.

[0012] The robot 200 according to the first embodiment includes a twist motor 221 and an up-down motor 222 similar to those of the robot 200 disclosed in Japanese Patent Application Laid-Open No. 2023-115370, and the description thereof will be omitted. The twist motor 221 and the up-down motor 222 of the robot 200 according to the first embodiment operate in the same manner as the robot 200 disclosed in Japanese Patent Application Laid-Open No. 2023-115370.

[0013] The robot 200 includes a gyro sensor 215. With the acceleration sensor 212 and the gyro sensor 215, the robot 200 can detect a change in the posture of the robot 200 itself, and can also detect that the robot 200 has been lifted up, changed in direction, or thrown by a user.

[0014] At least a portion of the acceleration sensor 212, microphone 213, illuminance sensor 214, gyro sensor 215 and speaker 231 may be provided in the head 204, not limited to the torso 206, or in both the torso 206 and the head 204.

[0015] 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 driving unit 220, an output unit 230, and an operation unit 240. These units are connected to each other 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.

[0016] 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.

[0017] 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 a ROM, and controls the operation of the entire robot 200, which is the control unit, while using a RAM as a work memory. Although not shown, the control unit 110 also includes a clock function, a timer function, and the like, and can measure the date and time. The control unit 110 may also be called a "processor."

[0018] 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, including an OS (Operating System) and application programs, that are used by the control unit 110 to perform various processes. The storage unit 120 also stores data that is generated or acquired by the control unit 110 performing various processes.

[0019] 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 LAN (Local Area Network), BLE (Bluetooth Low Energy (registered trademark)), and NFC (Near Field Communication).

[0020] 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.

[0021] The touch sensor 211 includes, for example, a pressure sensor or a capacitance sensor, and detects contact with some 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.

[0022] 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.

[0023] 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 means that detects the tilt of the robot 200.

[0024] Furthermore, when the user lifts or throws the robot 200, the acceleration sensor 212 detects the acceleration accompanying the movement of the robot 200 in addition to the gravitational acceleration. 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.

[0025] 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 about the X-axis direction, rotation about the Y-axis direction, and rotation about 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.

[0026] The touch sensor 211, the acceleration sensor 212, and the gyro sensor 215 detect the strength of contact, the acceleration, and the angular velocity, respectively, at synchronized timing (for example, every 0.25 seconds), and output the detection values ​​to the control unit 110.

[0027] The microphone 213 detects sounds around the robot 200. Based on the components of the sound 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 his hands.

[0028] The illuminance sensor 214 detects the illuminance of the surroundings of the robot 200. Based on the illuminance detected by the illuminance sensor 214, the control unit 110 can detect whether the surroundings of the robot 200 have become brighter or darker.

[0029] The control unit 110 acquires, as an external stimulus, detection values ​​detected by various sensors included in the sensor unit 210 via the bus line BL. The external stimulus is a stimulus that acts on the robot 200 from outside the robot 200. Examples of the external stimulus include "a loud noise was heard," "someone spoke to," "someone stroked," "someone lifted up," "someone turned upside down," "it became brighter," "it became darker," and the like.

[0030] For example, the control unit 110 obtains an external stimulus caused by "a loud noise being made" or "being spoken to" through the microphone 213, and obtains an external stimulus caused by "being stroked" through the touch sensor 211. In addition, the control unit 110 obtains an external stimulus caused by "being lifted" or "being turned upside down" through the acceleration sensor 212 and gyro sensor 215, and obtains an external stimulus caused by "it becoming brighter" or "it becoming darker" through the illuminance sensor 214.

[0031] 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.

[0032] 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) with respect to the torso unit 206, with the front-rear 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) with respect to the torso unit 206, with the left-right direction as an axis. The robot 200 can express the motion of twisting the head 204 sideways by the twist motor 221, and can express the motion of raising and lowering the head 204 by the up-down motor 222.

[0033] 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 on the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry.

[0034] Incidentally, instead of or in addition to the speaker 231, the 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.

[0035] 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.

[0036] The battery 250 is a rechargeable secondary battery, and stores power used in the robot 200. The battery 250 is charged when the robot 200 moves to a charging station.

[0037] The position information acquisition unit 260 includes a position information sensor such as a Global Positioning System (GPS) 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.

[0038] The control unit 110 functionally comprises a gesture information acquisition unit 111 which is an example of a gesture information acquisition means, a state parameter acquisition unit 112 which is an example of a state parameter acquisition means, a gesture control unit 113 which is an example of a gesture control means, and a skill setting unit 114 which is an example of a skill setting means. In the control unit 110, the CPU functions as each of these units by reading a program stored in the ROM into the RAM and executing and controlling the program.

[0039] The storage unit 120 also stores gesture information 121, state parameters 122, log information 123, a coefficient table 124, and a skill level table 125.

[0040] 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.

[0041] 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 be called a "processor."

[0042] 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 performing various processes.

[0043] 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.

[0044] 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.

[0045] 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.

[0046] The control unit 510 functionally includes a gesture information creating unit 511 which is an example of a gesture information creating means. In the control unit 510, the CPU reads a program stored in the ROM into the RAM, and executes and controls the program, thereby functioning as each of these units.

[0047] 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, action, etc. of the robot 200. Specifically, the gestures are composed of a combination of multiple elements, each of which is a movement or a voice output.

[0048] The movement means a physical movement (motion) of the robot 200 executed 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 sound output means outputting various sounds such as cries from the speaker 231 of the output unit 230.

[0049] The gesture information 121 defines the gesture to be performed by the robot 200 by a combination of such actions or voice output (cries). 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.

[0050] 4, the gesture information creation unit 511 creates the 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.

[0051] 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, for example, as shown in FIG.

[0052] In the action column and the sound column on the creation screen, the execution order and execution timing of the actions and sound output (cries) to be performed by the robot 200 can be set, respectively. While viewing such a creation screen, the user can freely program the behavior to be performed by the robot 200 by selecting and combining actions and sounds from the menus.

[0053] Specifically, in the example of Fig. 5, the gesture named "Test 1" is set to move the head 204 up, down, left, and right in this order, and then output sounds 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.

[0054] More specifically, the gesture information 121 created by such user operations has a configuration as shown in Fig. 6. More 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 execution in association with each other.

[0055] A trigger is a condition for the robot 200 to execute a gesture. When a trigger defined for a certain gesture is established, the gesture is executed by the robot 200. In the example of Fig. 5, the gesture of "Test 1" is executed "upon voice recognition", and the gesture of "Test 2" is executed "upon voice recognition" or "when the head is stroked".

[0056] 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. Moreover, "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.

[0057] The trigger is not limited to these, and various conditions are possible. For example, the trigger may be when the microphone 213 detects that "a loud noise has been made," when the acceleration sensor 212 and the gyro sensor 215 detect that "the robot is lifted" or "held upside down," or when the illuminance sensor 214 detects that "it has become brighter" or "it has become darker." These can be said to be triggers based on external stimuli detected by the sensor unit 210. Alternatively, the trigger may be that "a specific time has arrived" or "the robot 200 has moved to a specific location." These can be said to be triggers that are not based on external stimuli.

[0058] 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.

[0059] The behavior control parameters are parameters for causing the robot 200 to execute each behavior. The behavior control parameters include the following items: movement, cry, execution start timing, movement parameters, and cry parameters.

[0060] The action item defines the type and order of actions constituting each gesture. The cry item defines the type and order of sound output constituting each gesture. The execution start timing defines the timing for executing each action or cry constituting each gesture. Specifically, the execution start timing defines the execution start timing and execution time for each action or cry.

[0061] 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.

[0062] 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 incremented by 1 each time the robot 200 executes the gesture. The last execution date and time is the date and time when each gesture was last executed by the robot 200.

[0063] The gesture information creating unit 511 creates the gesture information 121 having such a data configuration based on an instruction from a user. After creating the gesture information 121, the gesture information creating 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 acquiring 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.

[0064] Returning to Fig. 3, the state parameter acquisition unit 112 acquires state parameters 122. The state parameters 122 are parameters for expressing 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 of growth (number of days of training).

[0065] (1) Emotion parameters The emotion parameters are parameters that represent simulated emotions for the robot 200. The emotion parameters are represented by coordinates (X, Y) on the emotion map 300.

[0066] As shown in Fig. 7, the emotion map 300 is represented by a two-dimensional coordinate system with the X-axis representing the degree of relief (degree of anxiety) and the Y-axis representing the degree of excitement (degree of 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 value, the higher the emotion of relief; the larger the absolute value of the negative value, the higher the emotion of anxiety. The larger the absolute value of the Y-coordinate (Y value), the more positive the value, the higher the emotion of excitement; the larger the absolute value of the negative value, the higher the emotion of lethargy.

[0067] The emotion parameters represent a plurality of different pseudo emotions (four in this embodiment). In Fig. 7, among the values ​​representing the pseudo emotions, the relief and anxiety are collectively represented on one axis (X-axis), and the excitement and lethargy are collectively represented on another axis (Y-axis). Therefore, the emotion parameters have two values, an X value (relief, anxiety) and a Y value (excitement, lethargy), and a point on the emotion map 300 represented by the X value and the Y value represents the pseudo emotion of the robot 200. The initial value of the emotion parameter is (0,0).

[0068] 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, and one value may be 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, and a value equal to the number of dimensions of emotion map 300 may be set as the emotion parameter.

[0069] 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 respectively increase and decrease the X value of emotion parameters. DYP and DYM respectively increase and decrease the Y value of emotion parameters.

[0070] DXP: Ease of feeling at ease (the ease with which the X value in the emotion map changes in the positive direction) DXM: Tendency to become anxious (the tendency for the X value on the emotion map to change in the negative direction) DYP: Excitability (the tendency for the Y value on the emotion map to change in the positive direction) DYM: Tendency to become apathetic (tenacity of the Y value on the emotion map to change in the negative direction)

[0071] The state parameter acquisition unit 112 updates the emotion parameter by adding or subtracting a value corresponding to the external stimulus from among the emotion change amounts DXP, DXM, DYP, and DYM to the current emotion parameter. 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 what emotion change amounts correspond to various external stimuli. An example is shown below.

[0072] Head 204 is stroked (feels safe): X=X+DXP Hit on the head 204 (feels anxious): X=X-DXM (These external stimuli can be detected by the touch sensor 211 on the head 204.) The torso 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 torso 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 (irritated): X=X-DXM and Y=Y+DYP (These external stimuli can be detected by microphone 213.)

[0073] The sensor unit 210 acquires a plurality of different types of external stimuli using a plurality of sensors. The state parameter acquisition unit 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.

[0074] The initial value of each of the emotion variation amounts DXP, DXM, DYP, DYM is 10 and can increase up to a maximum of 20. The state parameter acquisition section 112 updates each variable of the emotion variation amounts DXP, DXM, DYP, DYM in response to an external stimuli detected by the sensor section 210.

[0075] 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 even 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 even once in a day. Also, 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 even 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 even once in a day.

[0076] 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. State parameter acquisition section 112 increases each variable up to a maximum of 20 by updating the emotion change amount as described above. This update process changes the emotion change amount, i.e., the degree of change in emotion.

[0077] For example, when only the head 204 is stroked repeatedly, only the emotion change amount DXP increases, and the other emotion change amounts do not change, so that the robot 200 has a personality that is easy to feel at ease. When only the head 204 is hit repeatedly, only the emotion change amount DXM increases, and the other emotion change amounts do not change, so that the robot 200 has a personality that is easy to feel anxious. In this way, the state parameter acquisition unit 112 changes the emotion change amount in response to various external stimuli.

[0078] (2) Personality parameters The personality parameters are parameters that represent the pseudo personality of the robot 200. The personality parameters include a plurality of personality values ​​each representing a different degree 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.

[0079] 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 the tendency to feel at ease, the personality value (shy) is calculated by subtracting 10 from DXM, which indicates the tendency to become anxious, the personality value (active) is calculated by subtracting 10 from DYP, which indicates the tendency to become excited, and the personality value (spoiled) is calculated by subtracting 10 from DYM, which indicates the tendency to become lethargic.

[0080] Personality score (cheerful) = DXP-10 Personality score (shy) = DXM-10 Personality score (active) = DYP-10 Personality score (spoiled) = DYM-10 …(Formula 1)

[0081] 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. Since the initial value of each variable of the amount of emotion change is 10 and increases up to a maximum of 20, the range of the personality value is 0 to 10.

[0082] 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 makes it possible to express 11 to the fourth power = 14641 different personalities.

[0083] In this way, the robot 200 has various personalities depending on how the user interacts with the robot 200. In other words, the personalities of the robots 200 are formed differently depending on how the user interacts with them.

[0084] 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 attitude toward 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 spoiled correction value).

[0085] State parameter acquisition section 112 adjusts the four personality correction values ​​according to a condition (a 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).

[0086] (A) If the longest presence area is a safe area on the emotion map 300, the state parameter acquisition section 112 adds 1 to the cheerful correction value and subtracts 1 from the shy correction value. (B) If the longest existence area is an excited area on the emotion map 300, the state parameter acquisition section 112 adds 1 to the active correction value and subtracts 1 from the spoiled correction value. (C) If the longest existing area is an anxious area on the emotion map 300, the state parameter acquisition section 112 adds 1 to the shy correction value and subtracts 1 from the cheerful correction value. (D) If the longest existence area is a lethargic area on the emotion map 300, the state parameter acquisition section 112 adds 1 to the spoiled 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 of the four personality correction values ​​by one.

[0087] Note that the relief, excitement, anxiety, lethargy, and center areas are merely examples, and the emotion map 300 may be divided into more detailed areas, such as joy, excitement, irritation, sadness, calm, and normal areas.

[0088] When the four personality correction values ​​are set, the state parameter acquisition unit 112 calculates the four personality values ​​according to the following (Equation 2).

[0089] Personality value (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)

[0090] (3) Battery level The remaining battery level 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 on the current remaining battery level from a power supply control unit that controls charging and discharging of the battery 250.

[0091] (4) Current location The current location is the location where the robot 200 is currently located. The state parameter acquisition unit 112 acquires information on the current location of the robot 200 by the position information acquisition unit 260.

[0092] 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 behavior data of the robot 200. Specifically, the log information 123 includes data indicating transitions of the state parameters 122 such as the past position information, emotion parameters, personality parameters, and battery level of the robot 200, and sleep data indicating the past wake-up times, bedtimes, and the like of the robot 200.

[0093] When the current location matches the location most frequently recorded, the state parameter acquisition unit 112 determines that the current location is the home. When the current location is not the 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, the state parameter acquisition unit 112 determines that the current location is a familiar location if the number of times the location has been recorded in the past is five or more, and determines that the current location is a less familiar location if the number of times the location has been recorded in the past is less than five.

[0094] (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.

[0095] 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 and determines whether the current time is immediately after today's wake-up time or immediately before today's bedtime.

[0096] The log information 123 includes sleep data. Although not shown, the sleep data includes a sleep log and sleep summary data. The sleep log records the robot 200's past wake-up time and bedtime for each day. The summary sleep data is data obtained by summarizing the sleep log, and records the average wake-up time and average bedtime for each day of the week.

[0097] 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 just after today's wake-up time. Also, if the current time is within 30 minutes before the average bedtime in the past, the state parameter acquisition unit 112 determines that the current time is just before bedtime.

[0098] 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.

[0099] (6) Number of days to grow (number of days to grow) The number of days of growth indicates the number of days of the pseudo growth of the robot 200. The robot 200 is pseudo-born when the user starts it for the first time after being shipped 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.

[0100] 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 every time a day passes. The growth period during which the robot 200 grows from a child to an adult is, for example, 50 days, and the period of 50 days of pseudo-growth from birth is referred to as the "child period (first period)". When the child period has elapsed, the pseudo-growth of the robot 200 is completed. The period after the child period is completed is referred to as the "adult period (second period)".

[0101] During the child 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 a maximum of 100 and a minimum of -100 for both the X and Y values, as shown in a frame 301 in FIG. 7. When the number of days of growth reaches half the child period (for example, 25 days), the maximum of both the X and Y values ​​becomes 150 and the minimum of -150, as shown in a frame 302 in FIG. 7. When the child period has elapsed, the simulated growth of the robot 200 stops. At this time, the maximum of both the X and Y values ​​becomes 200 and the minimum of -200, as shown in a frame 303 in FIG. 7. After that, the size of the emotion map 300 is fixed.

[0102] 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 increases. By expanding the settable range of emotion parameters, richer emotional expression becomes possible, and thus the pseudo growth of robot 200 is expressed by expanding the size of emotion map 300.

[0103] 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.

[0104] The gesture control unit 113 judges whether or not any of the triggers of the multiple gestures defined in the gesture information 121 has been established based on the detection result by the sensor unit 210, etc. For example, the gesture control unit 113 judges whether or not 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. As a result of the judgment, if any of the triggers has been established, the gesture control unit 113 causes the robot 200 to perform a gesture corresponding to the established trigger.

[0105] When any of the triggers is established, the gesture control unit 113 refers to the gesture information 121 to identify 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 driving unit 220 based on the identified gesture control parameters, or outputs sound from the speaker 231, thereby causing the robot 200 to execute the gesture corresponding to the established trigger.

[0106] 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 makes it possible to change the gestures according to the current state of the robot 200, and to realistically imitate living creatures.

[0107] To correct the gesture control parameters, the gesture control unit 113 refers to the coefficient table 124. As shown in Fig. 9 and Fig. 10, the coefficient table 124 defines a correction coefficient for each of the state parameters 122, that is, (1) emotion parameters, (2) personality parameters, (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.

[0108] The correction coefficient is a coefficient for correcting the gesture control parameter identified from the gesture information 121. Specifically, the correction coefficient is determined by the action direction and weighting coefficient for each of 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.

[0109] 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 by using a correction coefficient corresponding to the current state of the robot 200.

[0110] (1) Which of the following emotional parameters of the robot 200 corresponds to: happiness, frustration, sadness, lethargy, or normal. In other words, whether the coordinates (X, Y) representing the emotional parameters are located in the areas marked "happiness," "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, cheerful, lively, shy, or clingy, 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 robot 200 is currently located at home, in a familiar location, in an unfamiliar location, or in a new location. (5) Whether the current time is just after waking up, during a nap, or just before going to bed.

[0111] 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 value 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.

[0112] 10, the direction of action of the action start time lag is set to "+" and the weighting coefficient is set to "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 performing correction using such a correction coefficient, it is possible to express that the gesture is executed slightly slower than the normal motion when the user is in a sleepy state immediately after waking up.

[0113] The gesture control unit 113 specifies the correction coefficients for the corresponding states of (1) emotion parameters, (2) personality parameters, (3) remaining battery level, and (4) current location in addition to (5) the current time from the coefficient table 124. Then, the gesture control unit 113 corrects the gesture control parameters using the sum of the corresponding correction coefficients for (1) to (5).

[0114] As a specific example, a case will be described 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.

[0115] In this case, referring to the coefficient table 124 shown in Fig. 9 and Fig. 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 lengthens 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 lengthens 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.

[0116] 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% from the normal timing, using the value acquired from the gesture information 121 as a reference.

[0117] Although not shown, the coefficient table 124 also defines correction coefficients for cries in the same manner as for actions. To be more specific, the gesture control unit 113 corrects the volume, which is a cries parameter set for a gesture corresponding to the established trigger in the gesture information 121, by using a correction coefficient corresponding to the state parameter 122 acquired by the state parameter acquisition unit 112.

[0118] 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.

[0119] More specifically, when the gesture control unit 113 causes the robot 200 to perform a gesture corresponding to a trigger that has been established, the gesture control unit 113 performs, depending on the situation, either (1A) a first control that causes the robot 200 to perform the gesture accurately, or (1B) a second control that causes the robot 200 to perform the gesture inaccurately or does not perform the gesture.

[0120] (1A) In the first control, making the robot 200 accurately execute a gesture means controlling the robot 200 according to a procedure determined for the gesture. Specifically, the first control corresponds to driving the actuator 220 accurately according to the gesture control parameter corrected by the correction coefficient, or outputting a sound from the speaker 231, when making the robot 200 execute a gesture corresponding to a trigger that has been established.

[0121] (1B) In contrast to this, in the second control, making the robot 200 perform a gesture inaccurately 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 actuator 220 not exactly according to the gesture control parameter corrected by the correction coefficient, or outputting a sound from the speaker 231, when making the robot 200 perform a gesture corresponding to the established trigger.

[0122] 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 the gesture. Specifically, performing a gesture incorrectly corresponds to omitting the execution of at least one element among the multiple elements (movements or sounds) that constitute the gesture, replacing the execution order of at least one element with another element, or changing the gesture control parameter of at least one element.

[0123] As a specific example, the gesture of "Test 1" shown in Figs. 5 and 6 has a procedure of moving the head 204 up, down, left, and right in this order, and then outputting sounds in the order of cry 1, cry 2, cry 3, and cry 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 of the movements of up, down, left, and right and cries 1 to 4. In addition, replacing the execution order of at least one element in the gesture with another element corresponds to, for example, replacing the execution order of the movements of up, down, left, and right, or replacing the execution order of cries 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 determined for that element (for example, shortening the distance for driving the motor or shortening the time for outputting cries).

[0124] In this way, the gesture control unit 113 executes the first control or the second control according to 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 individuality to be expressed and improving the likeness of a living thing.

[0125] Returning to Fig. 3, in the control device 100 of the robot 200, the proficiency setting unit 114 sets the proficiency. Here, the proficiency indicates the degree of familiarity with performing a gesture by the robot 200. The proficiency is defined for each gesture in the gesture information 121 shown in Fig. 6, and increases as the number of times the corresponding gesture is performed increases.

[0126] Specifically, the proficiency setting unit 114 calculates the proficiency of each of a plurality of gestures that the robot 200 can perform according to a predetermined rule, and stores the proficiency in the storage unit 120 as a proficiency table 125. As shown in Fig. 11, the proficiency table 125 defines a proficiency for each of a plurality of gestures that the robot 200 can perform.

[0127] When the device itself executes any gesture, the skill setting unit 114 calculates a new skill level of the executed gesture according to the following (Equation 3). Then, the skill setting unit 114 updates the skill level of the executed gesture included in the gesture information 121 to the calculated new skill level.

[0128] New proficiency = current proficiency + proficiency coefficient + correction value from external stimuli …(Formula 3)

[0129] In the above formula (3), the proficiency coefficient is a coefficient for calculating the proficiency of each gesture. As shown in Fig. 12, the proficiency table 125 defines a proficiency coefficient for each state of the robot 200 represented by the state parameters 122 in addition to the proficiency of each gesture.

[0130] In the above (Equation 3), the product of the proficiency coefficients is the product of the proficiency coefficients corresponding to the current state of the robot 200 at each of (1) the emotion parameter, (2) the personality parameter, (3) the remaining battery level, (4) the current location, and (5) the current time. The proficiency setting unit 114 refers to the proficiency table 125 and calculates the product of the proficiency coefficients corresponding to the current state of the robot 200.

[0131] Specifically, as an example similar to the above, if (1) the current emotion parameter corresponds to joy, (2) the current personality parameter corresponds to cheerfulness, (3) the current battery level is 30% or less, (4) the current location corresponds to a new place, and (5) the current time corresponds to immediately after waking up, the proficiency coefficients corresponding to each state in the proficiency table 125 are determined to be 1.2, 1.2, 0.6, 0.7, and 0.6. Therefore, the proficiency setting unit 114 calculates the product of the proficiency coefficients as "1.2 x 1.2 x 0.6 x 0.7 x 0.6 ≈ 0.36".

[0132] The proficiency setting unit 114 adds the product of the proficiency coefficients calculated in this way to the proficiency every time the robot 200 performs a gesture. Since the product of the proficiency coefficients is added to the proficiency of the gesture every time the robot 200 performs a gesture, the proficiency of the gesture increases as the number of times the gesture is performed increases.

[0133] 9 and 10, the skill coefficients (1) to (5) are set to different values ​​depending on the state of the robot 200. By using such skill coefficients, the skill setting unit 114 changes the increase in the skill of the gesture based on the state of the robot when the robot is made to perform the gesture. In this way, the skill setting unit 114 derives the skill based on the state of the robot.

[0134] For example, in the coefficient table 124 shown in FIG. 9, when the emotion parameter corresponds to joy, the proficiency coefficient is larger than in that case. Also, when the emotion parameter corresponds to lethargy, the proficiency coefficient is smaller than in that case. Also, when the personality value of active or cheerful among the four personality values ​​in the personality parameter is the highest, the proficiency coefficient is larger than when the personality value of shy or spoiled is the highest. This makes it possible to express the likeness of a living thing, in that when the character is in a good mood or has a proactive personality, the increase in proficiency is large and the character learns gestures quickly, but when the character is in a bad mood or has a passive personality, the increase in proficiency is small and the character learns gestures slowly.

[0135] Furthermore, in the coefficient table 124 shown in Fig. 10, when the remaining battery level is 30% or less, the mastery coefficient is smaller than in other cases. When the current location of the own device is at home, the mastery coefficient is larger than in other locations. When the current time is immediately after waking up, the mastery coefficient is smaller than in other times. This expresses that the robot can quickly learn gestures at home, but has difficulty learning gestures when hungry or immediately after waking up.

[0136] In addition, in the above (Equation 3), the correction value due to the external stimulus is a correction value for correcting the proficiency due to an external stimulus for a gesture performed by the robot 200. When the sensor unit 210 detects an external stimulus while performing the first control, or when the sensor unit 210 detects an external stimulus within a predetermined time after performing the first control, the proficiency setting unit 114 corrects the proficiency based on the external stimulus.

[0137] Specifically, the mastery setting unit 114 detects the user's response to the executed gesture as an external stimulus using the sensor unit 210. For example, the user responds to the gesture executed by the robot 200 by giving a positive response such as stroking or praising, or a negative response such as hitting or getting angry. The mastery setting unit 114 detects such a user's response using various sensors in the sensor unit 210 while the robot 200 is executing the gesture and for a predetermined time (e.g., one minute) after the robot 200 is executed.

[0138] More specifically, the mastery setting unit 114 detects the strength of the user's contact with the robot 200 using the touch sensor 211, and determines whether the user is stroking or hitting, i.e., whether the user's response is positive (stroking) or negative (hitting), based on the strength of the contact. The mastery setting unit 114 also detects the user's voice using the microphone 213, performs voice recognition on the detected voice, and determines whether the user is praising or angry, i.e., whether the user's response is positive or negative. The mastery setting unit 114 may also detect the user's voice using the microphone 213, detect the volume of the detected voice, and determine that the user is praising (positive) if the volume is less than a predetermined value, and that the user is angry (negative) if the volume is equal to or greater than a predetermined value. Furthermore, the mastery setting unit 114 may determine whether the robot has been gently shaken, strongly shaken, held, turned upside down, etc., based on the detection value of the acceleration sensor 212 or the gyro sensor 215. The proficiency setting unit 114 may then determine that the user's response is positive if the user is gently rocked or held, and may determine that the user's response is negative if the user is violently rocked or held upside down.

[0139] When the proficiency setting unit 114 detects such a user response as an external stimulus, it sets a correction value for the external stimulus in the above (Equation 3). Then, the gesture control unit 113 corrects the proficiency by the set correction value. For example, when the user responds positively to a gesture performed by the robot 200, the proficiency setting unit 114 sets the correction value for the external stimulus to a positive value. On the other hand, when the user responds negatively to a gesture performed by the robot 200, the proficiency setting unit 114 sets the correction value for the external stimulus to a negative value.

[0140] In this way, the proficiency setting unit 114 increases the proficiency when the user's response is positive, and decreases the proficiency when the user's response is negative. In other words, when the sensor unit 210 detects a positive response from the user as the external stimulus, the proficiency setting unit 114 increases the amount of increase in the proficiency compared to when the sensor unit 210 detects a negative response from the user as the external stimulus.

[0141] Furthermore, the proficiency setting unit 114 may control the correction value of the external stimulus in the above formula 3 according to the brightness detected by the illuminance sensor 214 when the gesture is performed. Specifically, the proficiency setting unit 114 may increase the amount of increase in the proficiency when the illuminance sensor 214 detects brightness equal to or greater than an arbitrary threshold value, compared to when the illuminance sensor 214 detects brightness less than the arbitrary threshold value.

[0142] As described above, the skill setting unit 114 increases the skill of each gesture as the number of times the gesture is performed increases, and updates the skill in accordance with the current state of the device and the user's response to the gesture.

[0143] When the gesture control unit 113 causes the player's device to execute a gesture corresponding to the established trigger, the gesture control unit 113 determines the frequency of performing the first control out of the first control and the second control based on the proficiency level set for that gesture by the proficiency level setting unit 114. In other words, the frequency of performing the first control when the gesture control unit 113 causes the player's device to execute a gesture corresponding to the established trigger varies depending on the proficiency level for that gesture.

[0144] When any one of the multiple gesture triggers defined in the gesture information 121 is established, the gesture control unit 113 derives the frequency of performing the first control according to the current proficiency of the gesture before performing the gesture corresponding to the established trigger.

[0145] For example, the gesture control unit 113 derives a frequency of 0.5 when the current proficiency level of the gesture to be performed is equal to or greater than 0 and less than 5, derives a frequency of 0.8 when the current proficiency level of the gesture to be performed is equal to or greater than 5 and less than 10, and derives a frequency of 1.0 when the current proficiency level of the gesture to be performed is equal to or greater than 10. In this way, the gesture control unit 113 derives a higher frequency for performing the first control as the current proficiency level of the gesture is higher.

[0146] When the frequency is derived, the gesture control unit 113 determines whether to perform the first control or the second control when making the robot 200 execute the gesture corresponding to the established trigger based on the derived frequency. For example, when the derived frequency is 0.5, the gesture control unit 113 determines to perform the first control with a probability of 50% and to perform the second control with a probability of the remaining 50%. When the derived frequency is 0.8, the gesture control unit 113 determines to perform the first control with a probability of 80% and to perform the second control with a probability of the remaining 20%. When the derived frequency is 1.0, the gesture control unit 113 determines to perform the first control with a probability of 100% and not to perform the second control. In this way, the gesture control unit 113 determines to perform the first control with a higher probability as the derived frequency is higher.

[0147] 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 when making the robot 200 perform a gesture corresponding to the established trigger, precisely in accordance with the gesture control parameters corrected by the correction coefficient for all of the multiple elements (movements or sounds) that make up the gesture.

[0148] 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 a sound from the speaker 231 when making the robot 200 execute some of the elements (movements or cries) 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.

[0149] When the robot 200 is caused to execute an element other than the above-mentioned part of the multiple elements constituting the gesture corresponding to the established trigger, the gesture control unit 113 drives the drive unit 220 or outputs sound from the speaker 231 precisely in accordance with the gesture control parameters corrected by the correction coefficient.

[0150] Here, among the multiple elements constituting the gesture corresponding to the established trigger, some elements that are not executed correctly may be selected randomly or according to a specific rule.

[0151] Next, the flow of the robot control process will be described with reference to Fig. 13. The robot control process shown in Fig. 13 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 method for controlling an electronic device.

[0152] 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 growth to an initial value (for example, 0). On the other hand, when the robot is started for the second time or later, the control unit 110 reads out the values ​​of each parameter saved in step S106 of the previous robot control process (described later) and sets them as the state parameters 122. However, the emotion parameters may all be initialized to 0 every time the power is turned on.

[0153] 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 basis of a user's operation in the terminal device 50 (step S102). Note that if the gesture information 121 has already been saved in the storage unit 120, step S102 may be skipped.

[0154] When the control unit 110 acquires the gesture information 121, the control unit 110 determines whether or not any one of the multiple gesture triggers defined in the gesture information 121 has been established (step S103).

[0155] When any of the triggers is established (step S103; YES), the control unit 110 causes 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. 14. Step S104 is an example of a control step.

[0156] When the gesture control process shown in FIG. 14 is started, 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 the external stimulus. Then, control unit 110 updates the emotion parameter by adding or subtracting the derived emotion change amount to or from the current emotion parameter. Furthermore, during the child period, control unit 110 calculates each personality value of the personality parameter 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 parameter from the emotion change amount updated in step S108 and the personality correction value according to the above-mentioned (Equation 2).

[0157] When the state parameters 122 are updated, the control unit 110 refers to the gesture information 121 to acquire gesture control parameters of 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.

[0158] 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. Then, the control unit 110 corrects the movement parameters, the cry parameters, and the execution start timing based on the calculated sum of the correction coefficients.

[0159] After correcting the gesture control parameter, the control unit 110 determines whether or not to accurately execute the gesture corresponding to the established trigger (step S204). Specifically, the control unit 110 refers to the proficiency of the gesture corresponding to the established trigger in the gesture information 121, and derives the frequency of performing the first control according to the proficiency. Then, based on the derived frequency, the control unit 110 determines whether to perform the first control for accurately executing the gesture, or the second control for inaccurately executing the gesture.

[0160] If the gesture is to be executed correctly (step S204; YES), the control unit 110 causes the device to execute the gesture corresponding to the established trigger correctly (step S205). Specifically, the control unit 110 drives the driving unit 220 or outputs sound from the speaker 231 in accordance with the gesture control parameter corrected in step S204.

[0161] When the device accurately executes the gesture, the control unit 110 judges whether or not a response from the user is detected during the execution of the gesture or within a predetermined time after the execution of the gesture (step S206). Specifically, the control unit 110 judges whether or not a response such as a touch or a call from the user is detected by the sensor unit 210 as an external stimulus.

[0162] When the user's response is detected (step S206; YES), the control unit 110 sets a correction value for the proficiency of the performed gesture based on the user's response (step S207). For example, when the user responds positively to the gesture performed by the robot 200, such as stroking or praising, the control unit 110 sets a positive value as the correction value. On the other hand, when the user responds negatively to the gesture performed by the robot 200, such as hitting or getting angry, the control unit 110 sets a negative value as the correction value.

[0163] If a response from the user is not detected (step S206; NO), the control unit 110 skips the process of step S207.

[0164] On the other hand, if the gesture is not executed correctly (step S204; NO), the control unit 110 determines which of the gestures corresponding to the established trigger the actions or sounds that are not executed correctly (step S208). To be more specific, the control unit 110 determines which of the multiple elements (actions or sounds) that constitute the gesture corresponding to the established trigger the elements that are not executed correctly, randomly or according to a specific rule.

[0165] Next, the control unit 110 makes the robot itself inaccurately execute the gesture corresponding to the established trigger (step S209). Specifically, the control unit 110 omits execution, changes the execution order, changes gesture control parameters, etc., for the actions or cries determined in step S208. Then, for the other actions or cries 1, the control unit 110 drives the drive unit 220 or outputs sound from the speaker 231 in accordance with the gesture control parameters.

[0166] When the gesture is performed, control unit 110 updates the proficiency of the performed gesture (step S210). Specifically, control unit 110 calculates the product of proficiency coefficients based on state parameters 122 updated in step S201. Then, control unit 110 calculates a new proficiency from the current proficiency, the product of the calculated proficiency coefficients, and the correction value set in step S207 according to the above (Equation 3). Control unit 110 updates the proficiency of the performed gesture in proficiency table 125 to the new proficiency.

[0167] When the gesture is executed, the control unit 110 updates the gesture information 121 (step S211). Specifically, the control unit 110 adds 1 to the number of times the gesture was executed in the gesture information 121, and updates the previous execution date and time of the executed gesture to the current date and time in the gesture information 121. This ends the gesture control process shown in FIG.

[0168] Returning to FIG. 13, in step S103, if none of the multiple gesture triggers is established (step S103; NO), control unit 110 skips step S104.

[0169] Next, the control unit 110 determines whether or not to end the process (step S105). For example, when the operation unit 240 receives an instruction from the user to turn off the power of the robot 200, the process ends. If the process ends (step S105; YES), the control unit 110 stores the current state parameters 122 in the non-volatile memory of the storage unit 120 (step S106) and ends the robot control process shown in FIG.

[0170] If the process does not end (step S105; NO), the control unit 110 judges whether the date has changed by the clock function (step S107). If the date has not changed (step S107; NO), the process returns to step S103.

[0171] If the date has changed (step S107; YES), the control unit 110 updates the state parameters 122 (step S108). Specifically, if it is during the child period (for example, 50 days after birth), the control unit 110 changes the values ​​of the emotion changes DXP, DXM, DYP, and DYM depending on whether the emotion parameters have reached the maximum or minimum values ​​of the emotion map 300. Also, if it is during the child period, the control unit 110 expands both the maximum and minimum values ​​of the emotion map 300 by a predetermined increment (for example, 2). On the other hand, if it is during the adult period, the control unit 110 adjusts the personality correction value.

[0172] After updating the state parameter 122, the control unit 110 adds 1 to the number of days of 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.

[0173] As described above, when the robot 200 according to the first embodiment executes a gesture, it performs either the first control for executing the gesture accurately or the second control for executing the gesture inaccurately. The frequency of executing the first control changes depending on the robot's own proficiency with the gesture. In this way, whether the robot 200 executes the gesture accurately or inaccurately changes depending on the proficiency with the gesture, so that it is possible to express the process in which the robot 200 learns the gesture.

[0174] In particular, when the robot 200 according to the first embodiment detects an external stimulus during execution of the first control or within a predetermined time after execution of the first control, the robot 200 updates the proficiency level in response to the external stimulus. As a result, even if an external stimulus is given to execute a specific gesture, the robot 200 does not execute some steps as specified at the beginning when the proficiency level is low, and executes the gesture awkwardly. In contrast, if the user responds positively when the robot executes an accurate gesture, the proficiency level increases, and the robot gradually executes the gesture accurately more frequently. As a result, it is possible to simulate the growth of a living thing.

[0175] (Embodiment 2) Next, a description will be given of embodiment 2. Descriptions of configurations and functions similar to those of embodiment 1 will be omitted where appropriate.

[0176] In the first embodiment, the proficiency setting unit 114 updates the proficiency of each gesture in accordance with the current state of the own machine and the user's response to the gesture. In contrast, in the second embodiment, instead of or in addition to the features of the first embodiment, the proficiency setting unit 114 increases the proficiency in accordance with the elapsed time from the pseudo-birth of the own machine.

[0177] Here, the time elapsed since the virtual birth of the robot itself corresponds to, for example, the number of days of growth in the state parameter 122. The mastery setting unit 114 sets the mastery level low immediately after the virtual birth of the robot itself, and increases the mastery level as the number of days of growth increases. In this way, by increasing the mastery level according to the number of days of growth of the robot 200, it is possible to express the process of the robot 200 learning gestures as it grows.

[0178] Furthermore, the skill setting unit 114 may increase the skill level in accordance with the increase in the number of days of growth during the child period, while stopping the increase in the skill level in accordance with the increase in the number of days of growth during the adult period. This allows the robot 200 to realistically express the likeness of a living being, since the robot 200 performs gestures inaccurately and awkwardly during the child period, and performs gestures accurately more frequently during the adult period.

[0179] (Modification) Although the embodiment of the present invention has been described above, the above embodiment is merely an example, and the scope of application of the present invention is not limited to this. In other words, the embodiment of the present invention can be applied in various ways, and all embodiments are included in the scope of the present invention.

[0180] For example, in the first embodiment, the proficiency setting unit 114 derives the proficiency for the gesture based on the number of times the gesture is performed by the own device and the state of the own device. Also, in the second embodiment, the proficiency setting unit 114 derives the proficiency for the gesture based further on the elapsed time from the pseudo-birth of the own device. However, the method of deriving the proficiency is not limited to the above. In other words, the proficiency setting unit 114 may derive the proficiency for the gesture based on at least one of the number of times the gesture is performed by the own device, the elapsed time from the pseudo-birth of the own device, and the state of the own device.

[0181] 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) without being 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.

[0182] 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 has a crawling shape. However, the robot 200 is not limited to imitating a crawling creature. For example, the robot 200 may have a shape with arms and legs and imitate a four-legged or two-legged creature.

[0183] 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 if the electronic device is other than the robot 200, it can be described in the same manner as the above embodiment by having the same configuration and function as the above-mentioned robot 200.

[0184] 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 the program stored in the ROM. Also, in the control unit 510, the CPU functions as each unit such as the gesture information creation unit 511 by executing the 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 by a single hardware. Also, some of the functions of each unit may be realized by dedicated hardware, and the other parts may be realized by software or firmware.

[0185] It is possible to provide the robot 200 or the terminal device 50 equipped with a configuration for realizing the functions according to the present invention, and also possible to make an existing information processing device or the like function as the robot 200 or the terminal device 50 according to the present invention by applying a program. 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, it is possible to make it function as the robot 200 or the terminal device 50 according to the present invention.

[0186] Moreover, the method of applying such a program is arbitrary. For example, the program can be applied by storing it in 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 posted and distributed on a bulletin board (BBS: Bulletin Board System) on a communication network. Then, the program can be started and executed under the control of an OS (Operating System) in the same way as other application programs, thereby enabling the above-mentioned processing to be executed.

[0187] The above describes preferred embodiments of the present invention. However, 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]

[0188] 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, 114...proficiency setting unit, 120...storage unit, 121...gesture information, 122...state parameter, 123...log information, 124...coefficient table, 125...proficiency table, 130...communication unit, 200...robot, 201...exterior, 202...decorative part, 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... location information acquisition unit, 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 execute a predetermined gesture; The control means When making the player's own device execute the gesture, either a first control for making the player's own device execute the gesture accurately or a second control for making the player's own device execute the gesture inaccurately or not execute the gesture, and derive a proficiency level of the player's own device for the gesture based on at least one of the number of times the player's own device executes the gesture, the elapsed time from the pseudo birth of the player's own device, and a state of the player's own device; changing a frequency of performing the first control when causing the player's device to execute the gesture in accordance with the proficiency level; 1. An electronic device comprising:

2. A detection means for detecting an external stimulus, when the detection means detects the external stimulus as the state of the host device while the first control is being executed, or when the detection means detects the external stimulus as the state of the host device within a predetermined time after the first control is executed, the control means derives the proficiency level based on the external stimulus.

2. The electronic device according to claim 1 .

3. When the detection means detects a positive response from the user as the external stimulus as the state of the own device, the control means increases an increase in the proficiency level compared to when the detection means detects a negative response from the user as the external stimulus.

3. The electronic device according to claim 2.

4. the control means increases the proficiency level in accordance with the elapsed time from the pseudo-birth of the player's aircraft.

4. The electronic device according to claim 1, wherein the first and second electrodes are electrically connected to the first and second electrodes.

5. the control means increases the proficiency level as the number of times the gesture is performed by the own device increases, 4. The electronic device according to claim 1, wherein the first and second electrodes are electrically connected to the first and second electrodes.

6. the control means changes an increase in the proficiency level based on a state of the player's device when the player's device is caused to perform the gesture; 4. The electronic device according to claim 1, wherein the first and second electrodes are electrically connected to the first and second electrodes.

7. the state of the player's aircraft is represented by at least one of an emotion parameter indicating a simulated emotion of the player's aircraft, a personality parameter indicating a simulated personality of the player's aircraft, a remaining battery level of the player's aircraft, a current location of the player's aircraft, and a current time; 7. The electronic device according to claim 6.

8. the control means acquires gesture information created by a user, and causes the device to execute the gesture defined in the acquired gesture information; 4. The electronic device according to claim 1, wherein the first and second electrodes are electrically connected to the first and second electrodes.

9. A method for controlling an electronic device, comprising: A control step of causing the electronic device to execute a predetermined gesture, In the control step, When causing the electronic device to execute the gesture, a first control is performed to cause the electronic device to execute the gesture accurately, or a second control is performed to cause the electronic device to execute the gesture inaccurately or not execute the gesture, and a proficiency level of the own device for the gesture is derived based on at least one of the number of times the own device executes the gesture, the elapsed time from the pseudo birth of the own device, and the state of the own device; changing a frequency of performing the first control when causing the electronic device to execute the gesture in accordance with the proficiency level; 23. A method for controlling an electronic device comprising:

10. Computers, electronic devices The electronic device functions as a control unit for executing a predetermined gesture; The control means When causing the electronic device to execute the gesture, a first control is performed to cause the electronic device to execute the gesture accurately, or a second control is performed to cause the electronic device to execute the gesture inaccurately or not execute the gesture, and a proficiency level of the own device for the gesture is derived based on at least one of the number of times the own device executes the gesture, the elapsed time from the pseudo birth of the own device, and the state of the own device; changing a frequency of performing the first control when causing the electronic device to execute the gesture in accordance with the proficiency level; A program to make it function like this.

Citation Information

Patent Citations

  • Interactive learning device using web server and manufacturing method therefor

    JP2002099750A

  • Device / Method for processing information, recording medium and program

    JP2002337079A

  • Storage control system, system, and program

    JP2017204216A

  • Robot, control method, and program of the robot

    JP2017226044A

  • Management method for growth type toy using web server

    KR1020010104847A