Robot, robot control method, and program

The robot's ability to detect external stimuli and adjust action probabilities based on growth level and user interaction improves its sense of life and realism, offering a more engaging experience.

JP2026100091APending Publication Date: 2026-06-18CASIO COMPUTER CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CASIO COMPUTER CO LTD
Filing Date
2026-04-15
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Existing robots that simulate growth lack the ability to dynamically adjust their actions and personality based on user interaction, leading to a less engaging and realistic experience.

Method used

An autonomously operating robot equipped with detection means to sense external stimuli, motion control to perform actions based on a growth level, and selection probability adjustment to change action selection probabilities in response to detected stimuli.

Benefits of technology

Enhances the sense of life and realism in robots by allowing them to adapt their actions and personality based on user interaction, providing a more engaging and personalized experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026100091000001_ABST
    Figure 2026100091000001_ABST
Patent Text Reader

Abstract

This invention provides a robot capable of enhancing the sense of life in a robot that performs actions according to its growth level, as well as a robot control method and program. [Solution] In an autonomously operating robot 200, the sensor unit 210 detects external stimuli. When a predetermined action trigger is met, the motion control unit 115 causes the robot 200 to execute an action selected from a list of candidate actions corresponding to the action trigger, with a selection probability that depends on the growth level, which represents the degree of the robot 200's simulated growth. If the sensor unit 210 detects an external stimulus within a predetermined time after the motion control unit 115 has the robot 200 execute the selected action, the selection probability of selecting that action from the candidate action list changes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot, a method for controlling the robot, and a program.

Background Art

[0002] Robots that simulate living things such as pets and humans are known. For example, Patent Document 1 discloses a robot device that can express the growth of a living thing by operating a scenario corresponding to the value of the growth level and make the user feel pseudo-growth.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In a robot that executes operations according to the growth level as described above, there is a desire to improve the sense of a living thing not by fixing the pseudo-growth method of the robot, but by giving personality to the pseudo-growth method of the robot.

[0005] The present invention is for solving the above problems, and an object thereof is to provide a robot, a method for controlling the robot, and a program capable of improving the sense of a living thing in a robot that executes operations according to the growth level.

Means for Solving the Problems

[0006] To achieve the above objective, one embodiment of the robot according to the present invention is an autonomously operating robot comprising: detection means for detecting external stimuli; motion control means for causing the robot to execute an action selected from a list of candidate selections corresponding to a predetermined motion trigger with a selection probability that depends on a growth level representing the degree of pseudo-growth of the robot when a predetermined motion trigger is met; and selection probability adjustment means for changing the selection probability of selecting the action from the list of candidate selections if the detection means detects the external stimulus within a predetermined time elapsed after the motion control means causes the robot to execute the action. [Effects of the Invention]

[0007] According to the present invention, it is possible to enhance the sense of life in a robot that performs actions according to its growth level. [Brief explanation of the drawing]

[0008] [Figure 1] This figure shows the external appearance of the robot according to Embodiment 1. [Figure 2] This is a cross-sectional view of the robot according to Embodiment 1, seen from the side. [Figure 3] This is a block diagram showing the configuration of the robot according to Embodiment 1. [Figure 4] This figure shows an example of an emotion map according to Embodiment 1. [Figure 5] This figure shows an example of a personality value radar chart according to Embodiment 1. [Figure 6] This diagram shows the configuration of the operation selection table according to Embodiment 1. [Figure 7] This figure shows an example of an initial table according to Embodiment 1. [Figure 8] This figure shows an example of an operation content table according to Embodiment 1. [Figure 9] This figure shows an example of a motion table according to Embodiment 1. [Figure 10] This figure shows an example of a classification table according to Embodiment 1. [Figure 11] It is a first diagram showing an example of an adjustment table according to Embodiment 1. [Figure 12] It is a diagram showing an example of a growth index table according to Embodiment 1. [Figure 13] It is a second diagram showing an example of an adjustment table according to Embodiment 1. [Figure 14] It is a flowchart showing the flow of robot control processing according to Embodiment 1. [Figure 15] It is a flowchart showing the flow of operation control processing according to Embodiment 1. [Figure 16] It is a flowchart showing the flow of selection probability adjustment processing according to Embodiment 1. [Figure 17] It is a diagram showing an example of a priority table according to Embodiment 2.

Mode for Carrying Out the Invention

[0009] Hereinafter, embodiments 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) FIGS. 1 and 2 show the appearance of the robot 200 according to Embodiment 1. The robot 200 is a device that operates autonomously without direct operation by the user.

[0011] The robot 200 according to Embodiment 1 includes an exterior 201, decorative parts 202, fluffy hair 203, a head 204, a connecting part 205, a body part 206, a housing 207, a touch sensor 211, an acceleration sensor 212, a microphone 213, an illuminance sensor 214, and a speaker 231, which are the same as those of the robot 200 disclosed in Japanese Patent Application Laid-Open No. 2023-115370, and the description thereof will be omitted. The shape of the head 204 may be the shape shown in FIG. 2 or, for example, the shape disclosed in FIG. 2 of Japanese Patent Application Laid-Open No. 2023-115370.

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

[0013] The robot 200 includes a gyro sensor 215. The robot 200 can detect changes in its own posture by means of an acceleration sensor 212 and a gyro sensor 215, and can also detect being lifted, turned in orientation, or thrown by a user.

[0014] Note that at least a part of the acceleration sensor 212, the microphone 213, the gyro sensor 215, the illuminance sensor 214, and the speaker 231 is not limited to the body part 206, and may be provided in the head part 204, or may be provided in both the body part 206 and the head part 204.

[0015] Next, referring to FIG. 3, the functional configuration of the robot 200 will be described. As shown in FIG. 3, the robot 200 includes a control device 100, a sensor unit 210, a drive unit 220, an output unit 230, and an operation unit 240. These units are connected via a bus line BL as an 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 includes a control unit 110, a storage unit 120, and a communication unit 130. The control device 100 controls the operation of the robot 200 by means of the control unit 110 and the storage unit 120.

[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 performs various processes and calculations. In the control unit 110, the CPU reads the control program stored in ROM and controls the operation of the entire robot 200, which is the device itself, using RAM as work memory. Although not shown in the figures, the control unit 110 also has a clock function, a timer function, etc., and can measure the date and time. The control unit 110 may also be called a "processor".

[0018] The storage unit 120 includes ROM (Read Only Memory), RAM (Random Access Memory), flash memory, etc. The storage unit 120 stores programs and data used by the control unit 110 to perform various processes, including the OS (Operating System) and application programs. The storage unit 120 also stores data generated or acquired by the control unit 110 as a result of various processes.

[0019] The sensor unit 210 includes the aforementioned 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 means for detecting external stimuli.

[0020] The touch sensor 211 includes, for example, a pressure sensor or a capacitance sensor, and detects when an object comes into contact with it. Based on the values ​​detected by the touch sensor 211, the control unit 110 can detect whether the robot 200 is being stroked or tapped by the user.

[0021] The acceleration sensor 212 detects the acceleration applied to the torso 206 of the robot 200. The acceleration sensor 212 detects acceleration in the X-axis, Y-axis, and Z-axis directions, i.e., acceleration in all three axes.

[0022] For example, the acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary. Based on the gravitational acceleration detected by the acceleration sensor 212, the control unit 110 can detect the current posture of the robot 200. In other words, based on the gravitational acceleration detected by the acceleration sensor 212, the control unit 110 can detect whether or not the housing 207 of the robot 200 is tilted from the horizontal. Thus, the acceleration sensor 212 functions as a tilt detection means for detecting the tilt of the robot 200.

[0023] Furthermore, if the user lifts or throws the robot 200, the acceleration sensor 212 detects the acceleration associated with the movement of the robot 200 in addition to the acceleration due to gravity. Therefore, the control unit 110 can detect the movement of the robot 200 by removing the component of acceleration due to gravity from the detected value obtained by the acceleration sensor 212.

[0024] The gyro sensor 215 detects the angular velocity when rotation is applied to the torso 206 of the robot 200. Specifically, the gyro sensor 215 detects the angular velocity of rotations around three axes: the X-axis, the Y-axis, and the Z-axis. By combining the values ​​detected by the acceleration sensor 212 and the values ​​detected by the gyro sensor 215, the movement of the robot 200 can be detected with greater accuracy.

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

[0026] The microphone 213 detects sounds around the robot 200. Based on the sound components detected by the microphone 213, the control unit 110 can detect, for example, that a user is calling out to the robot 200 or clapping their hands.

[0027] The illuminance sensor 214 detects the illuminance around the robot 200. Based on the illuminance detected by the illuminance sensor 214, the control unit 110 can detect whether the area around the robot 200 has become brighter or darker.

[0028] The control unit 110 acquires detection values ​​from the various sensors in the sensor unit 210 as external stimuli via the bus line BL. External stimuli are stimuli that act on the robot 200 from outside the robot 200. Examples of external stimuli include "a loud noise," "someone talking to you," "someone stroking you," "someone lifting you up," "someone turning you upside down," "it got brighter," "it got darker," etc.

[0029] For example, the control unit 110 acquires external stimuli such as "a loud noise" or "being spoken to" using the microphone 213, and external stimuli such as "being stroked" using the touch sensor 211. In addition, the control unit 110 acquires external stimuli such as "being lifted" or "being turned upside down" using the accelerometer 212 and gyro sensor 215, and external stimuli such as "it getting brighter" or "it getting darker" using the illuminance sensor 214.

[0030] The sensor unit 210 may also include sensors other than the touch sensor 211, acceleration sensor 212, gyro sensor 215, and microphone 213. By increasing the types of sensors included in the sensor unit 210, the types of external stimuli that the control unit 110 can acquire can be increased.

[0031] The drive unit 220 includes a twist motor 221 and an up / down motor 222, which are 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) around the front-back direction as the axis relative to the body 206. The up / down motor 222 is a servo motor for rotating the head 204 in the up-down direction (height direction) around the left-right direction as the axis relative to the body 206. The robot 200 can express a sideways twisting motion of the head 204 using the twist motor 221, and can express an up-and-down motion of the head 204 using the up / down motor 222.

[0032] The output unit 230 is equipped with a speaker 231, and when the control unit 110 inputs sound data to the output unit 230, sound is output from the speaker 231. For example, when the control unit 110 inputs data of the robot 200's vocalizations to the output unit 230, the robot 200 emits a simulated vocalization.

[0033] Furthermore, the output unit 230 may be equipped with a display such as a liquid crystal display or a light-emitting unit such as an LED (Light Emitting Diode) in place of or in addition to the speaker 231, to display emotions such as joy or sadness on the display or to express them through the color and brightness of the emitted light.

[0034] The control unit 240 includes control buttons, a volume knob, and the like. The control unit 240 is an interface for receiving user operations such as turning the power on and off, and adjusting the output volume.

[0035] Next, the functional configuration of the control unit 110 will be described. As shown in Figure 3, the control unit 110 functionally comprises a parameter setting unit 113, which is an example of parameter setting means; an operation control unit 115, which is an example of operation control means; and a selection probability adjustment unit 117, which is an example of selection probability adjustment means. In the control unit 110, the CPU functions as each of these units by reading the program stored in ROM into RAM and executing that program to control it.

[0036] Furthermore, the memory unit 120 stores parameter data 121, an operation selection table 123, an operation content table 124, a motion table 125, and a classification table 127.

[0037] The parameter setting unit 113 sets the parameter data 121. The parameter data 121 is data that defines various parameters related to the robot 200. Specifically, the parameter data 121 includes (1) emotional parameters, (2) personality parameters, (3) growth days, and (4) growth level.

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

[0039] As shown in Figure 4, the Emotion Map 300 is represented in a two-dimensional coordinate system with the X-axis representing the level of security (anxiety) and the Y-axis representing the level of excitement (apathy). The origin (0,0) on the Emotion Map represents the normal state of mind. The value of the X-coordinate (X value) is positive, and the larger its absolute value, the higher the level of security; the larger its absolute value, the higher the level of anxiety. The value of the Y-coordinate (Y value) is positive, and the larger its absolute value, the higher the level of excitement; the larger its absolute value, the higher the level of apathy.

[0040] The emotional parameters represent multiple distinct pseudo-emotions. In Figure 4, the values ​​representing the pseudo-emotions, such as security and anxiety, are grouped together on one axis (X-axis), while the values ​​representing excitement and apathy are grouped together on another axis (Y-axis). Therefore, the emotional parameters have two values: X-values ​​(security, anxiety) and Y-values ​​(excitement, apathy). The points on the emotional map 300, represented by the X-values ​​and Y-values, represent the pseudo-emotions of the robot 200. The initial value of the emotional parameters is (0,0).

[0041] In Figure 4, the emotion map 300 is represented in a two-dimensional coordinate system, but the number of dimensions of the emotion map 300 is arbitrary. The emotion map 300 may be defined in one dimension, with one value set as the emotion parameter. Alternatively, the emotion map 300 may be defined in a coordinate system of three or more dimensions by adding other axes, with a number of values ​​equal to the number of dimensions of the emotion map 300 set as the emotion parameter.

[0042] The parameter setting unit 113 calculates the emotion change amount, which is the amount of change that increases or decreases the X and Y values ​​of the emotion parameter. The emotion change amount is expressed by the following four variables: DXP and DXM increase and decrease the X value of the emotion parameter, respectively. DYP and DYM increase and decrease the Y value of the emotion parameter, respectively. DXP: Ease of feeling safe (ease of positive change in the X value on the emotion map) DXM: Susceptibility to anxiety (ease of the X value in the emotion map changing in a negative direction) DYP: Excitability (ease of change in the positive direction of the Y value on the emotion map) DYM: Proneness to lethargy (ease of the Y value in the emotion map changing in the negative direction)

[0043] The parameter setting unit 113 updates the emotion parameters by adding or subtracting a value from the emotion change amounts DXP, DXM, DYP, and DYM that corresponds to the external stimulus to the current emotion parameters. For example, when the head 204 is stroked, the robot 200's simulated emotion becomes reassuring, so the parameter setting unit 113 adds DXP to the X value of the emotion parameters. Conversely, when the head 204 is struck, the robot 200's simulated emotion becomes anxious, so the parameter setting unit 113 subtracts DXM from the X value of the emotion parameters. The amount of emotion change associated with various external stimuli can be arbitrarily set. An example is shown below. Being petted on head 204 (feels reassuring): X = X + DXP Hitting the head 204 (causing anxiety): X=X-DXM (These external stimuli can be detected by the touch sensor 211 on the head 204.) When the torso 206 is stroked (excited): Y=Y+DYP The torso 206 is struck (becomes lethargic): Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 on the torso 206.) Being held with the head up (happy): X=X+DXP and Y=Y+DYP Suspended upside down (sad): X=X-DXM and Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 and the accelerometer 212.) A gentle voice calls out (peace is restored): X=X+DXP and Y=Y-DYM Being yelled at loudly (irritating): X=X-DXM and Y=Y+DYP (These external stimuli can be detected by microphone 213.)

[0044] The sensor unit 210 acquires multiple external stimuli of different types using multiple sensors. The parameter setting unit 113 derives various emotion change amounts DXP, DXM, DYP, and DYM according to each of these multiple external stimuli, and updates the emotion parameters according to the derived emotion change amounts.

[0045] Specifically, the parameter setting unit 113 adds 1 to DXP if the X value of the emotion parameter is set to the maximum value of the emotion map 300 at least once during the day, and adds 1 to DYP if the Y value of the emotion parameter is set to the maximum value of the emotion map 300 at least once. In addition, the parameter setting unit 113 adds 1 to DXM if the X value of the emotion parameter is set to the minimum value of the emotion map 300 at least once during the day, and adds 1 to DYM if the Y value of the emotion parameter is set to the minimum value of the emotion map 300 at least once.

[0046] In this way, the parameter setting unit 113 changes the emotion change amounts DXP, DXM, DYP, and DYM according to conditions based on whether the value of the emotion parameter has reached the maximum or minimum value of the emotion map 300. As an example, the initial value of each variable of the emotion change amount is set to 10. The parameter setting unit 113 increases each variable up to a maximum of 20 through the emotion change amount update described above. This update process changes the emotion change amount, that is, the degree of emotion change.

[0047] For example, if only the head 204 is stroked repeatedly, only the DXP emotion change amount increases, while other emotion change amounts remain unchanged, making the robot 200 more reassuring. Conversely, if only the head 204 is tapped repeatedly, only the DXM emotion change amount increases, while other emotion change amounts remain unchanged, making the robot 200 more prone to anxiety. In this way, the parameter setting unit 113 changes the emotion change amounts in response to various external stimuli.

[0048] (2) Personality parameters The personality parameters are parameters that represent the simulated personality of the robot 200. The personality parameters include multiple personality values, each representing a different degree of personality. The parameter setting unit 113 changes the emotion parameters in response to external stimuli detected by the sensor unit 210 and sets the personality parameters based on the emotion parameters.

[0049] To explain in more detail, the parameter setting unit 113 calculates four personality values ​​according to the following (Equation 1). Specifically, the value obtained by subtracting 10 from DXP, which indicates ease of reassurance, is set as the personality value (cheerful); the value obtained by subtracting 10 from DXM, which indicates susceptibility to anxiety, is set as the personality value (shy); the value obtained by subtracting 10 from DYP, which indicates excitability, is set as the personality value (active); and the value obtained by subtracting 10 from DYM, which indicates susceptibility to lethargy, is set as the personality value (clingy). Personality Value (Cheerful) = DXP - 10 Personality Value (Shy) = DXM - 10 Personality score (active) = DYP - 10 Personality Value (Clingy) = DYM-10 …(Formula 1)

[0050] As a result, as shown in Figure 5, 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 (clingy) on the fourth axis. Since each variable for the amount of emotion change starts at 10 and increases up to a maximum of 20, the range of personality values ​​is between 0 and 10.

[0051] Since the initial value of each personality value is 0, the personality of robot 200 at birth is represented by the origin of the personality value radar chart 400. As robot 200 grows, the four personality values ​​change up to a maximum of 10 based on external stimuli detected by the sensor unit 210 (how the user interacts with robot 200). This allows for 11 to the power of 4 = 14641 possible personalities to be represented. In this way, robot 200 has various personalities depending on how the user interacts with it. In other words, the personality of robot 200 is formed individually and differently depending on how the user interacts with it.

[0052] These four personality values ​​are fixed once the childhood period is over and the robot 200's simulated growth is complete. In the subsequent adult period, the parameter setting unit 113 adjusts the four personality correction values ​​(cheerfulness correction value, activeness correction value, shyness correction value, and clinginess correction value) to adjust the robot 200's personality according to how the user interacts with it.

[0053] The parameter setting unit 113 adjusts the four personality correction values ​​according to conditions based on which area on the emotion map 300 has the longest duration of the emotion parameter. Specifically, it adjusts the four personality correction values ​​as follows: (A) to (E). (A) If the longest existing area is a safe area on the emotion map 300, the parameter setting unit 113 adds 1 to the cheerful correction value and subtracts 1 from the shy correction value. (B) If the longest existing area is an excited area on the emotion map 300, the parameter setting unit 113 adds 1 to the activity correction value and subtracts 1 from the clingy correction value. (C) If the longest existing area is an anxiety area on the emotion map 300, the parameter setting unit 113 adds 1 to the shy correction value and subtracts 1 from the cheerful correction value. (D) If the longest existing area is a lethargic area on the emotion map 300, the parameter setting unit 113 adds 1 to the clinginess correction value and subtracts 1 from the activity correction value. (E) If the longest existing area is the central area on the emotion map 300, the parameter setting unit 113 decreases the absolute value of all four personality correction values ​​by 1.

[0054] Once four personality correction values ​​are set, the parameter setting unit 113 calculates the four personality values ​​according to the following (Equation 2). Personality Value (Cheerful) = DXP - 10 + Cheerful Correction Value Personality Value (Shy) = DXM - 10 + Shy Correction Value Personality Value (Active) = DYP - 10 + Activity Correction Value Personality Value (Clingy) = DYM - 10 + Clingy Correction Value …(Formula 2)

[0055] (3) Number of growth days The growth days represent the number of days for the simulated growth of Robot 200. Robot 200 is simulated to be born when it is first activated by the user after leaving the factory, and grows from a child to an adult over a predetermined growth period. The growth days correspond to the number of days since Robot 200's simulated birth.

[0056] The initial value of the growth days is 1, and the state parameter acquisition unit 112 adds 1 to the growth days each day that passes. The growth period for robot 200 to grow from a child to an adult is, for example, 50 days, and the period of 50 days from the simulated birth is called the "childhood period". Once the childhood period has elapsed, the simulated growth of robot 200 is complete. The period after the completion of the childhood period is called the "adulthood period".

[0057] During the childhood period, the state parameter acquisition unit 112 increases both the maximum and minimum values ​​of the emotion map 300 by 2 for each day the robot 200's simulated growth period increases. The initial size of the emotion map 300 is such that both the X and Y values ​​have a maximum of 100 and a minimum of -100, as shown in frame 301 of Figure 4. When half of the childhood period (for example, 25 days) has passed, both the X and Y values ​​have a maximum of 150 and a minimum of -150, as shown in frame 302 of Figure 4. After the childhood period has elapsed, the simulated growth of the robot 200 stops. At this point, both the X and Y values ​​have a maximum of 200 and a minimum of -200, as shown in frame 303 of Figure 4. After that, the size of the emotion map 300 is fixed.

[0058] The configurable range of emotional parameters is determined by the emotion map 300. Therefore, as the size of the emotion map 300 increases, the range of configurable emotional parameters also increases. This expansion of the configurable range of emotional parameters allows for richer emotional expression, and thus the simulated growth of the robot 200 is represented by the expansion of the emotion map 300.

[0059] (4) Growth level The growth level is a value that represents the degree of simulated growth of the robot 200. The parameter setting unit 113 sets the growth level based on the personality parameters. Specifically, the growth level is 0 at the time of the robot 200's simulated birth. Subsequently, the parameter setting unit 113 increases the growth level by 1 every day or several days. In this way, the parameter setting unit 113 increases the growth level to a maximum of 10 during the childhood period (for example, 50 days from the simulated birth). When the childhood period ends, the parameter setting unit 113 stops increasing the growth level.

[0060] More specifically, the parameter setting unit 113 sets the growth level to the largest value among the multiple personality values ​​(four in the example above) included in the personality parameter. For example, in the example in Figure 5, the personality value (cheerful) is 3, the personality value (active) is 8, the personality value (shy) is 5, and the personality value (clingy) is 4, so the parameter setting unit 113 sets the growth level to the value of the personality value (active), which is the largest value among these, which is 8. Note that the growth level is not limited to the maximum value; the sum of the multiple personality values, the average value, the mode, etc., may also be used.

[0061] Since the personality parameters change depending on how the user interacts with the robot 200, setting the growth level based on these personality parameters allows for the robot 200 to simulate growth based on how the user interacts with it.

[0062] Returning to Figure 3, the motion control unit 115 causes the robot 200 to perform various actions based on the parameter data 121 set by the parameter setting unit 113. Here, the actions that the motion control unit 115 causes the robot 200 to perform correspond to at least one of the following: controlling the drive unit 220 to make the robot 200 perform various motions, and controlling the output unit 230 to output various sounds such as cries.

[0063] The motion control unit 115 determines whether any of the predetermined motion triggers have been met, and if any of the triggers have been met, it causes the robot 200 to execute the action corresponding to the met motion trigger. Here, the motion trigger is the condition under which the robot 200 operates. The motion triggers include triggers based on external stimuli detected by the sensor unit 210 and triggers that are not based on external stimuli.

[0064] Examples of action triggers include "a loud noise," "being spoken to," "being petted," "being shaken," "being hugged," "being hit," "being scolded," "being turned upside down," "it getting brighter," and "it getting darker." These action triggers are triggers based on external stimuli and are detected by the sensor unit 210. For example, "being spoken to" and "being scolded" are detected by the microphone 213. "Being petted" and "being hit" are detected by the touch sensor 211 located on the head 204 or torso 206. "Being shaken," "being hugged," and "being turned upside down" are detected by the acceleration sensor 212 or gyro sensor 215. "It getting brighter" and "it getting darker" are detected by the illuminance sensor 214. Note that action triggers may also be those not based on external stimuli, such as "a specific time has arrived" or "the robot 200 has moved to a specific location."

[0065] More specifically, the motion control unit 115 determines that the user has been "spoken to" if a relatively quiet sound is detected by the microphone 213, and that the user has been "scolded" if a relatively loud sound is detected by the microphone 213. Furthermore, the motion control unit 115 determines that the user has been "petted" if a relatively small value is detected by the touch sensor 211, and that the user has been "hit" if a relatively large value is detected by the touch sensor 211. In addition, the motion control unit 115 determines whether the user has been "shaken," "hugged," or "suspended" based on the values ​​detected by the acceleration sensor 212 or the gyro sensor 215.

[0066] The motion control unit 115 determines, based on the detection results from the sensor unit 210, whether or not one of a predetermined set of motion triggers has been activated. If, as a result of the determination, any of the motion triggers has been activated, the motion control unit 115 causes the robot 200 to perform the action corresponding to the activated motion trigger. In this way, the motion control unit 115 causes the robot 200 to perform various actions in response to the activation of motion triggers. This allows the user and the robot 200 to interact in ways such as, for example, by making a sound in response to a call from the user, performing an action to show pleasure when petted by the user, or performing an action to show displeasure when turned upside down by the user.

[0067] When any of the action triggers is met, the motion control unit 115 instructs the robot 200 to execute an action selected from a list of candidate actions corresponding to the met action trigger, with a probability that depends on the growth level, which is the simulated degree of growth of the robot 200. In order to select the action to be executed by the robot 200, the motion control unit 115 refers to the action selection table 123 stored in the memory unit 120.

[0068] The action selection table 123 is data that defines, for each of the multiple action triggers, multiple options for the action that the robot 200 will perform when each action trigger is met, and the selection probability for each option. Specifically, as shown in Figure 6, the action selection table 123 includes three tables: the initial table 131, the growth index table 133, and the adjustment table 132.

[0069] As shown in Figure 7, the initial table 131 defines a list of selection candidates, which are multiple options for the actions that the robot 200 will perform when each action trigger is met. In the example in Figure 7, the selection candidate list corresponding to the "petted" action trigger defines five actions as options: basic action 0-0 to basic action 0-3 and personality action 0-0. The selection candidate list corresponding to the "spoken to" action trigger defines three actions as options: basic action 1-0, basic action 1-1, and personality action 1-0.

[0070] Here, basic actions depend on the simulated growth of robot 200, but not on the simulated personality of robot 200. In other words, basic actions do not change depending on how the user interacts with (raises) robot 200. In contrast, personality actions depend on both the simulated growth and the simulated personality of robot 200. In other words, personality actions change depending on how the user interacts with (raises) robot 200.

[0071] The initial table 131 defines the selection probability for each action in the selection candidate list defined for each action trigger, according to the robot 200's growth level, when the corresponding action trigger is met. In the example in Figure 7, when the "petted" action trigger is met, at growth level = 0, the selection probability for basic actions 0-0 is 100%, and the selection probability for other actions is 0%. At growth level = 5, the selection probabilities for basic actions 0-0 to 0-3 and personality actions 0-0 are set to 30%, 50%, 20%, 0%, and 0%, respectively. Furthermore, at growth level = 10, the selection probabilities for basic actions 0-0 to 0-3 and personality actions 0-0 are set to 10%, 10%, 20%, 20%, and 40%, respectively.

[0072] Thus, the initial table 131 defines the selection probabilities such that basic actions are more likely to be selected when the growth level is low, and personality actions are more likely to be selected as the growth level increases. Furthermore, the initial table 131 defines the selection probabilities such that the number of types of basic actions that can be selected increases as the growth level increases. As a result, as the growth level of the robot 200 increases, the content of the actions that the robot 200 performs becomes more varied.

[0073] Here, the selection probability of each action defined in the initial table 131 is an initial value (default value), which is the value when there is no adjustment of the selection probability by the selection probability adjustment unit 117, which will be described later. In other words, the initial table 131 sets an initial value of the selection probability for each action in the selection candidate list corresponding to each action trigger, according to the growth level. If there is no adjustment of the selection probability by the selection probability adjustment unit 117, the action control unit 115 selects the action to be executed by the robot 200 according to the selection probabilities defined in the initial table 131.

[0074] As a concrete example, let's consider the case where microphone 213 detects a loud sound. In this case, the action trigger "A loud sound was detected" is met. Referring to the selection probability associated with the action trigger "A loud sound was detected" in the initial table 131 shown in Figure 7, at growth level = 0, the selection probability of basic action 2-0 is 100%, and the selection probability of other actions is 0%. Therefore, at growth level = 0, the action control unit 115 selects basic action 2-0 with 100% probability.

[0075] At growth level 1, the probability of selecting basic action 2-0 is 90%, and the probability of selecting basic action 2-1 is 10%. Therefore, at growth level 1, the motion control unit 115 selects basic action 2-0 with a 90% probability and basic action 2-1 with a 10% probability. At growth level 2, the probability of selecting basic action 2-0 is 80%, and the probability of selecting basic action 2-1 is 20%. Therefore, at growth level 2, the motion control unit 115 selects basic action 2-0 with an 80% probability and basic action 2-1 with a 20% probability.

[0076] Furthermore, as shown in Figure 5, if the current personality values ​​of robot 200 are 3 for cheerful, 8 for active, 5 for shy, and 4 for clingy, then the growth level is 8, which is the maximum value among the four personality values. At growth level 8, the selection probability of basic action 2-0 is 20%, the selection probability of basic action 2-1 is 20%, the selection probability of basic action 2-2 is 40%, and the selection probability of personality action 2-0 is 20%. Therefore, at growth level 8, the motion control unit 115 selects basic action 2-0, basic action 2-1, and personality action 2-0 with a 20% probability each, and selects basic action 2-2 with a 40% probability.

[0077] Once a basic operation or characteristic operation is selected in this manner, the operation control unit 115 refers to the operation content table 124 and the motion table 125 and causes the robot 200 to perform an operation corresponding to the selected basic operation or characteristic operation.

[0078] The action content table 124, as shown in Figure 8, is a table that defines the specific action content for each action. However, the action content table 124 defines the action content for personality actions separately for each of the four personality values ​​(cheerful, active, shy, and clingy). When "Personality Action 2-0" is selected, the action control unit 115 further selects one of the four personality actions according to the four personality values.

[0079] The motion control unit 115 calculates the selection probability for each personality action by dividing the personality value corresponding to that personality action by the sum of the four personality values. For example, if the personality value (cheerful) is 3, the personality value (active) is 8, the personality value (shy) is 5, and the personality value (clingy) is 4, the sum of these values ​​is 3 + 8 + 5 + 4 = 20. In this case, the motion control unit 115 selects the "cheerful" personality action with a probability of 3 / 20 = 15%, the "active" personality action with a probability of 8 / 20 = 40%, the "shy" personality action with a probability of 5 / 20 = 25%, and the "clingy" personality action with a probability of 4 / 20 = 20%.

[0080] As shown in Figure 9, the motion table 125 is a table that defines how the motion control unit 115 controls the twist motor 221 and the up / down motor 222 for each operation defined in the initial table 131. Specifically, for each operation, the motion table 125 defines the operation time (milliseconds), the operating angle of the twist motor 221 after the operation time, and the operating angle of the up / down motor 222 after the operation time. Furthermore, for each operation, the motion table 125 defines the audio data to be output from the speaker 231.

[0081] For example, if basic operation 2-0 is selected, the operation control unit 115 first controls the twist motor 221 and the up / down motor 222 to an angle of 0 degrees after 100 milliseconds, and then controls the up / down motor 222 to an angle of -24 degrees after another 100 milliseconds. Then, the operation control unit 115 does not rotate for the next 700 milliseconds, and after 500 milliseconds controls the twist motor 221 to an angle of 34 degrees and the up / down motor 222 to an angle of -24 degrees. Then, after 400 milliseconds, the operation control unit 115 controls the twist motor 221 to an angle of -34 degrees, and after another 500 milliseconds controls both the twist motor 221 and the up / down motor 222 to an angle of 0 degrees, completing the operation of basic operation 2-0. Furthermore, in parallel with driving the twist motor 221 and the up-and-down motor 222, the motion control unit 115 plays a short "peep" sound from the speaker 231 using audio data of a short "peep" sound.

[0082] In this way, the motion control unit 115 causes the robot 200 to perform actions that depend on the simulated growth of the robot 200. Even in real living creatures, actions such as gestures and vocalizations differ between when they are juveniles and when they are adults. For example, real living creatures perform vigorous movements and make high-pitched sounds when they are juveniles, but as they become adults, their movements become less vigorous and their vocalizations become lower in pitch. The motion control unit 115 expresses these differences in actions that correspond to the growth of living creatures.

[0083] Returning to Figure 3, the selection probability adjustment unit 117 changes the selection probability of the selected action from the selection candidate list if the sensor unit 210 detects an external stimulus within a predetermined time after the motion control unit 115 has the robot 200 perform an action. As described above, the selection probability values ​​defined for each action in the initial table 131 shown in Figure 7 correspond to the initial values ​​of the selection probability. Based on the external stimulus detected by the sensor unit 210 when the robot 200 performs an action, the selection probability of the next action to be selected changes from the initial value.

[0084] To explain in more detail, the selection probability adjustment unit 117 determines whether or not an external stimulus has been detected by the sensor unit 210 during the period from when the motion control unit 115 causes the robot 200 to perform an action until a predetermined time has elapsed. Here, the period from when the motion control unit 115 causes the robot 200 to perform an action until a predetermined time has elapsed corresponds to the period from when the robot 200 starts its action until a predetermined time has elapsed. In other words, the period from when the motion control unit 115 causes the robot 200 to perform an action until a predetermined time has elapsed includes not only after the robot 200 has finished its action, but also while the robot 200 is performing its action. The predetermined time is the time required to check the user's reaction to the action after the robot 200 has performed the action, and is, for example, a length of 10 seconds, 30 seconds, 1 minute, etc.

[0085] The selection probability adjustment unit 117 determines whether an external stimulus is a first-type external stimulus, a second-type external stimulus, or another type of external stimulus if an external stimulus is detected within a predetermined time after the robot 200 has performed an action. To do this, the selection probability adjustment unit 117 refers to the classification table 127 stored in the memory unit 120.

[0086] As shown in Figure 10, the classification table 127 classifies the multiple external stimuli that may be detected by the sensor unit 210 into Type 1, Type 2, and Other types. Type 1 external stimuli are stimuli detected when the user gives a positive response to an action performed by the robot 200. Examples of Type 1 external stimuli include "being praised," "being petted," "being gently shaken," and "being hugged." In contrast, Type 2 external stimuli are stimuli detected when the user gives a negative response to an action performed by the robot 200. Examples of Type 2 external stimuli include "being scolded," "being hit," "being shaken hard," and "being turned upside down." Other types of external stimuli are external stimuli other than the Type 1 and Type 2 described above. Examples of other types of external stimuli include "it got brighter," "it got darker," "a specific time arrived," and "it moved to a specific location."

[0087] If an external stimulus is detected within a predetermined time after the robot 200 has performed an action, the selection probability adjustment unit 117 refers to such a classification table 127 to determine the type of external stimulus detected.

[0088] Specifically, when the selection probability adjustment unit 117 detects sound via the microphone 213, it performs voice recognition on the detected sound to determine whether the animal was praised or scolded. Furthermore, when the selection probability adjustment unit 117 detects contact with the head 204 or torso 206 via the touch sensor 211, it determines whether the animal was stroked or hit based on the strength of the detected contact. Additionally, when the selection probability adjustment unit 117 detects acceleration or angular velocity via the acceleration sensor 212 or gyro sensor 215, it determines, based on the detected acceleration or angular velocity, whether the animal was gently shaken, strongly shaken, hugged, or turned upside down. In this way, the selection probability adjustment unit 117 determines whether the type of external stimulus detected by the sensor unit 210 corresponds to type 1 or type 2.

[0089] Furthermore, the selection probability adjustment unit 117 determines that the detected external stimulus falls under "other" category if, for example, the illuminance sensor 214 detects that it has become brighter or darker, the type of external stimulus detected by the sensor unit 210 does not fall under either the first or second category.

[0090] If the selection probability adjustment unit 117 detects a first type of external stimulus within a predetermined time after the motion control unit 115 has the robot 200 perform an action, it increases the selection probability of that action being selected from the selection candidate list, within a range below a predetermined upper limit. In other words, if the user gives a positive response such as praise or petting to an action performed by the robot 200, the selection probability adjustment unit 117 increases the selection probability of that action being selected thereafter, beyond the initial value defined in the initial table 131.

[0091] This allows the robot 200 to perform actions more frequently if, for example, the user finds an action performed by the robot 200 to be desirable. As a result, the robot 200's actions can reflect the user's preferences.

[0092] Here, the predetermined upper limit is a limit value set so that even if the selection probability adjustment unit 117 increases the selection probability, the selection probability does not deviate significantly from the initial value. The predetermined upper limit is set based on the initial value of the selection probability set for the action performed by the robot 200 when the growth level is lower than the current level.

[0093] For example, in the initial table 131 shown in Figure 7, the probability of selecting basic action 0-0 when the current growth level is "6" is "20%". In this case, the predetermined upper limit when the selection probability adjustment unit 117 increases the selection probability of basic action 0-0 is set to "30%", which is the case when the growth level is one level lower than the current level, "5".

[0094] Furthermore, the predetermined upper limit is not limited to the initial value of the selection probability when the growth level is only one level lower than the current level; it may also be the initial value of the selection probability when the growth level is two or more levels lower than the current level. In the basic operation 0-0 example above, if the current value of the growth level is "6", the predetermined upper limit may be set to "80%", which corresponds to the growth level being "3", three levels lower than the current level. Thus, the initial value for how much lower the growth level must be from the current level can be determined in any way. Below, as an example, we will explain the case where the initial value of the selection probability when the growth level is only one level lower than the current level is used as the predetermined upper limit.

[0095] More specifically, if the selection probability adjustment unit 117 detects a first type of external stimulus within a predetermined time after the motion control unit 115 has the robot 200 perform an action, it compares the selection probability set for that action at the current growth level with the selection probability set for that action at the growth level immediately preceding the current growth level in the selection candidate list corresponding to the established action trigger in the initial table 131. The selection probability adjustment unit 117 then determines whether the selection probability at the current growth level, set for the action performed by the robot 200 in the initial table 131, is less than the selection probability at the growth level immediately preceding the current growth level. In other words, the selection probability adjustment unit 117 determines whether the initial value of the selection probability at the current growth level is less than the initial value of the selection probability at the growth level immediately preceding the current growth level.

[0096] Based on the determination, (i) if the selection probability at the current growth level is less than the selection probability at the previous growth level, the selection probability adjustment unit 117 increases the selection probability of the action performed by the robot 200 being selected from the selection candidate list, using the selection probability at the previous growth level as a predetermined upper limit. Conversely, (ii) if the selection probability at the current growth level is equal to or greater than the selection probability at the previous growth level, the selection probability adjustment unit 117 determines that the selection probability at the current growth level is the upper limit and does not increase the selection probability of the action performed by the robot 200 being selected from the selection candidate list.

[0097] As a concrete example, let's explain the case where the action trigger "a loud noise was heard" is met at the current growth level = 8. In this case, the action control unit 115 refers to the initial table 131 shown in Figure 7 and selects basic action 2-0 with a 20% probability, basic action 2-1 with a 20% probability, basic action 2-2 with a 40% probability, and personality action 2-0 with a 20% probability. The action control unit 115 then has the robot 200 execute one of the selected actions. If the selection probability adjustment unit 117 detects a first type of external stimulus within a predetermined time after the execution of such an action, it refers to the initial table 131 and compares the selection probability of that action at the current growth level = 8 with the selection probability of that action at the previous growth level = 7.

[0098] (i) As a first example, if the motion control unit 115 selects basic motion 2-0 and has the robot 200 execute it, in the initial table 131, the selection probability of basic motion 2-0 at growth level = 8 = 20% is smaller than the selection probability of basic motion 2-0 at growth level = 7 = 30%. In this case, if the first type of external stimulus is detected for the execution of basic motion 2-0, the selection probability adjustment unit 117 sets the upper limit of the selection probability of basic motion 2-0 to the selection probability at growth level = 7 = 30%. Therefore, the selection probability adjustment unit 117 increases the selection probability of basic motion 2-0 at growth level = 8 from 20% to an upper limit of 30%.

[0099] Specifically, the adjustment of selection probabilities by the selection probability adjustment unit 117 will be explained with reference to the adjustment table 132 shown in Figure 11. Note that the adjustment table 132 shown in Figure 11 shows an example where the selection probabilities at growth levels 0 to 7 have not been adjusted by the selection probability adjustment unit 117. Therefore, the selection probabilities for each action at growth levels 0 to 7 in the adjustment table 132 are the same as the corresponding selection probabilities in the initial table 131.

[0100] When the selection probability adjustment unit 117 detects a first type of external stimulus by the sensor unit 210 when basic operation 2-0 is executed, it increases the selection probability of basic operation 2-0 at growth level = 8 by a predetermined increase value ΔP. The increase value ΔP can be any value, such as 0.1%, 0.5%, or 1%, but in the following explanation, it will be explained using 0.3% as an example. As shown in the adjustment table 132 in Figure 11, the selection probability adjustment unit 117 increases the selection probability of basic operation 2-0 at growth level = 8 for the operation trigger "a loud noise was heard" from 20% to 20.3%.

[0101] In this way, the selection probability adjustment unit 117 increases the selection probability of the action performed by the robot 200, while simultaneously decreasing the selection probability of each of the multiple actions other than the action performed by the robot 200 being selected from the selection candidate list. Specifically, the selection probability adjustment unit 117 decreases the selection probabilities of basic action 2-1, basic action 2-2, and personality action 2-0, which are actions other than basic action 2-0 in the selection probability list for the action trigger "a loud noise was heard".

[0102] More specifically, the selection probability adjustment unit 117 determines the reduction value for the selection probabilities of each basic action 2-1, basic action 2-2, and personality action 2-0 so that the sum of the selection probabilities of each action after adjustment is 100%. The selection probability adjustment unit 117 evenly distributes the increase value ΔP of the selection probability of basic action 2-0 among basic action 2-1, basic action 2-2, and personality action 2-0, and determines the reduction value for the selection probability of each action to be ΔP / 3. Then, the selection probability adjustment unit 117 reduces the selection probabilities of each basic action 2-1, basic action 2-2, and personality action 2-0 by the determined reduction value ΔP / 3. In the example of the adjustment table 132 shown in Figure 11, the selection probability adjustment unit 117 reduces the selection probabilities of each basic action 2-1, basic action 2-2, and personality action 2-0 by 0.1% each at growth level = 8.

[0103] In this way, each time the selection probability adjustment unit 117 detects a first type of external stimulus for basic action 2-0, it increases the selection probability of basic action 2-0 by an increment of ΔP = 0.3%, and decreases the selection probabilities of basic action 2-1, basic action 2-2, and personality action 2-0 by a decrease of ΔP / 3 = 0.1%. This makes it possible to maintain a total selection probability of 100% for each action included in a single selection candidate list, while increasing the probability that the robot 200 will execute basic action 2-0 if the action trigger "a loud noise was heard" is met in the future.

[0104] Furthermore, if the multiple actions to be reduced include an action with a selection probability of 0%, the selection probability of that action cannot be reduced. In this case, the selection probability adjustment unit 117 determines the reduction value by evenly distributing the increase value ΔP among at least one action with a selection probability other than 0%, and reduces the selection probability of at least one action with a selection probability other than 0%. Also, if the selection probability adjustment unit 117 determines the reduction value by evenly distributing the increase value ΔP and the selection probability of any action becomes a negative value, it adjusts the reduction value so that none of the selection probabilities become negative. In this way, the selection probability adjustment unit 117 reduces the selection probability of each of the multiple actions other than the action performed by the robot 200 being selected from the selection candidate list, under the constraints that the sum of the selection probabilities of multiple actions included in one selection candidate list is maintained at 100%, and that none of the selection probabilities of any action become negative.

[0105] (ii) As a second example, if the motion control unit 115 selects basic motion 2-2 and has the robot 200 execute it, then in the initial table 131, the selection probability of basic motion 2-2 at growth level = 8 = 40% is greater than the selection probability of basic motion 2-2 at growth level = 7 = 20%. In this case, when the first type of external stimulus is detected for the execution of basic motion 2-2, the selection probability adjustment unit 117 sets the upper limit of the selection probability of basic motion 2-2 to the current selection probability at growth level = 8 = 40%. Therefore, the selection probability adjustment unit 117 maintains the selection probability of basic motion 2-2 at growth level = 8 at 40% and does not increase it.

[0106] In this way, the selection probability adjustment unit 117 increases the selection probability of an action performed by the robot 200 if the selection probability at the current growth level is less than the selection probability at a previous growth level, while not increasing the selection probability of an action if the selection probability at the current growth level is equal to or greater than the selection probability at a previous growth level. This makes it possible to maintain the probability of the user performing actions that were frequently performed when the robot 200 was at a lower growth level, i.e., when the robot 200 was young, and that the user likes, even after the robot 200 has grown.

[0107] Returning to Figure 6, in the motion selection table 123, the growth index table 133 is a table that shows the change value that changes the selection probability of each motion when the growth level of the robot 200 increases. Specifically, as shown in Figure 12, the growth index table 133 defines the change value (increase or decrease) of the selection probability for each motion in the selection candidate list defined for each motion trigger when the growth level increases by 1.

[0108] For example, when the "petted" action trigger is met, the growth level increases from 1 to 2. This reduces the selection probability of basic action 0-0 from 100% to 80%, and increases the selection probability of basic action 0-1 from 0% to 20%. Therefore, in the growth index table 133, at growth level 1 triggered by the "petted" action, the growth index for basic action 0-0 is set to -20%, and the growth index for basic action 0-1 is set to +20%.

[0109] When the growth level increases due to the parameter setting unit 113, the selection probability adjustment unit 117 updates the adjustment table 132 based on the growth index of each action defined in the growth index table 133. Specifically, when the growth level increases from n to n+1, the selection probability adjustment unit 117 adds the growth index of the corresponding action defined in the growth index table 133 for growth level = n to the selection probability of each action defined in the adjustment table 132 for growth level = n.

[0110] For example, in the growth index table 133, the growth index for basic action 0-0 at growth level = 1 is -20%, and the growth index for basic action 0-1 is +20%. Therefore, when the growth level increases from 1 to 2, the selection probability adjustment unit 117 subtracts 20% from the selection probability of basic action 0-0 at growth level = 1 (100%) to calculate the selection probability of basic action 0-0 at growth level = 2 as 80%. The selection probability adjustment unit 117 also adds 20% to the selection probability of basic action 0-1 at growth level = 1 (80%) to calculate the selection probability of basic action 0-1 at growth level = 2 as 100%.

[0111] When the growth level increases from n to n+1, the selection probability adjustment unit 117 calculates the selection probability of each action at growth level = n+1 in this manner. The selection probability adjustment unit 117 then updates the adjustment table 132 by entering the calculated selection probability values ​​into the column for the selection probability of each action at growth level = n+1 in the adjustment table 132.

[0112] More specifically, the selection probability adjustment unit 117 adds the growth index defined in the growth index table 133 to the selection probability of each action if the growth level increases after the selection probability has been changed from the initial value defined in the initial table 131. For example, the adjustment table 132 shown in Figure 13 shows an example where the selection probability of basic action 2-0 at growth level = 8 increases from the initial value of 20% to 26%, and the selection probabilities of basic action 2-1, basic action 2-2, and personality action 2-0 each decrease to their corresponding values.

[0113] If the growth level increases after the selection probability has been increased or decreased in this manner, the selection probability adjustment unit 117 adds the growth index defined for each operation in the growth index table 133 to the selection probability after the increase or decrease. In the example in Figure 13, if the growth level increases from 8 to 9 and then to 10, the selection probability adjustment unit 117 adds the growth index for growth level = 8 and growth level = 9 defined in the growth index table 133 to the selection probability after the increase or decrease at growth level = 8 in the adjustment table 132.

[0114] Thus, even after the selection probability adjustment unit 117 increases or decreases the selection probability of any action due to the first type of external stimulus, it continues to change the selection probability of each action based on the growth index that was initially set, as the growth level increases. As a result, if the selection probability of any action changes due to the first type of external stimulus, that change in selection probability is carried over even after the robot 200 has artificially grown. Therefore, even after the robot 200 has artificially grown, the actions it performs can be given individuality.

[0115] Next, the flow of the robot control process will be explained with reference to Figure 14. The robot control process shown in Figure 14 is executed by the control unit 110 of the control device 100 when the user turns on the power to the robot 200. The robot control process is an example of a method for controlling the robot 200.

[0116] When the robot control process starts, the control unit 110 functions as a parameter setting unit 113 and sets the parameter data 121 (step S101). When the robot 200 is first started (first start by the user after factory shipment), the control unit 110 sets the emotion parameter, personality parameter, growth days, and growth level parameters to their initial values ​​(e.g., 0). On the other hand, when starting up for the second time or later, the control unit 110 reads the values ​​of each parameter saved in step S105 of the previous robot control process and sets them in the parameter data 121. However, the emotion parameter may be initialized to 0 each time the power is turned on.

[0117] When parameter data 121 is set, the control unit 110 determines whether any of the multiple operation triggers have been activated (step S102). If any of the operation triggers are activated (step S102; YES), the control unit 110 causes the robot 200 to execute the operation corresponding to the activated operation trigger (step S103). Details of the operation control process in step S103 will be explained with reference to the flowchart in Figure 15.

[0118] When the operation control process shown in Figure 15 is started, the control unit 110 updates the emotion parameters, personality parameters, and growth level included in the parameter data 121 (step S201). Specifically, if the operation trigger established in step S102 is due to an external stimulus, the control unit 110 derives the amount of emotion change corresponding to that external stimulus. Then, the control unit 110 updates the emotion parameters by adding or subtracting the derived amount of emotion change to the current emotion parameters. Furthermore, during childhood, the control unit 110 calculates each personality value of the personality parameters from the amount of emotion change updated in step S107 according to (Equation 1) described above. On the other hand, during adulthood, the control unit 110 calculates each personality value of the personality parameters from the amount of emotion change updated in step S107 and the personality correction value according to (Equation 2) described above. In addition, the control unit 110 updates the growth level by setting the maximum value among the multiple personality values ​​included in the personality parameters to the new growth level.

[0119] When parameter data 121 is updated, the control unit 110 determines whether the growth level updated in step S201 has increased from the growth level before the update (step S202). If the growth level has increased (step S202; YES), the control unit 110 updates the selection probability in the adjustment table 132 (step S203). Specifically, the control unit 110 adds the corresponding growth index defined in the growth index table 133 to the selection probability of each action at the growth level before the increase in the adjustment table 132. As a result, the control unit 110 updates the selection probability of each action at the current growth level in the adjustment table 132. On the other hand, if the growth level has not increased (step S202; NO), the control unit 110 skips step S203 and does not update the selection probability.

[0120] Next, the control unit 110 refers to the adjustment table 132 and reads out the selection probability corresponding to the action trigger determined to have been met in step S102 and the current growth level (step S204). Then, based on the read selection probability, the control unit 110 uses random numbers to select an action to be performed by the robot 200 (step S205). For example, in the adjustment table 132 shown in Figure 11, if the current growth level is "8" and the action trigger is "a loud noise was heard", the control unit 110 selects basic action 2-0 with a probability of 20.3%, basic action 2-1 with a probability of 19.9%, basic action 2-2 with a probability of 39.9%, and personality action 2-0 with a probability of 19.9%. In this case, if the control unit 110 selects a personality action as the action to be performed by the robot 200, it calculates the selection probability of each personality based on the magnitude of the four personality values. Then, based on the calculated selection probability of each personality, the control unit 110 uses random numbers to select a personality action.

[0121] When an action to be performed by the robot 200 is selected, the control unit 110 causes the robot 200 to perform the selected action (step S206). Specifically, the control unit 110 causes the robot 200 to perform the action content defined in the action content table 124 by performing the motion and sound output defined in the motion table 125.

[0122] When the robot 200 is instructed to perform the selected action, the control unit 110 determines whether or not the sensor unit 210 has detected an external stimulus within a predetermined time from the start of the action (step S207). In other words, the control unit 110 determines whether or not it has detected a user response to the action performed by the robot 200 within a predetermined time from the start of the action.

[0123] If an external stimulus is detected within a predetermined time after the execution of an action (step S207; YES), the control unit 110 determines whether the detected external stimulus falls under the first type (step S208). Specifically, the control unit 110 refers to the classification table 127 shown in Figure 10 and determines whether the type of external stimulus detected in step S207 falls under the first type, which corresponds to a positive response to the action performed by the robot 200.

[0124] If the detected external stimulus type corresponds to the first type (step S208; YES), the control unit 110 adjusts the selection probability of a plurality of actions, including the action performed, based on the user's response (step S209). Details of the selection probability adjustment process in step S209 will be explained with reference to the flowchart in Figure 16.

[0125] When the selection probability adjustment process shown in Figure 16 is started, the control unit 110 refers to the initial table 131 and determines whether the selection probability at the current growth level set for the action performed by the robot 200 is less than the selection probability at the growth level one level prior to the current one (step S301).

[0126] If the selection probability at the current growth level is less than the selection probability at the growth level one level prior to the current one (step S301; YES), the control unit 110 increases the selection probability of the action performed by the robot 200 from the list of selection candidates corresponding to the action trigger that was established in step S102 in the adjustment table 132 by a predetermined increase value ΔP (step S302).

[0127] Next, the control unit 110 reduces the selection probability of at least one action other than the action performed by the robot 200 from the selection candidate list corresponding to the action trigger that was established in step S102 (step S303) in the adjustment table 132. Specifically, the control unit 110 determines the reduction value under the constraint that the sum of the selection probabilities of multiple actions included in the selection candidate list is maintained at 100%, and that the selection probability of any action does not become a negative value, and then reduces the selection probability of at least one action that is to be reduced.

[0128] Conversely, if the selection probability at the current growth level is greater than or equal to the selection probability at the growth level immediately preceding the current level (step S301; NO), the control unit 110 skips steps S302 and S303 and does not change the selection probability of each operation. With this, the selection probability adjustment process shown in Figure 16 is completed.

[0129] Returning to Figure 15, the operation control process shown in Figure 15 is terminated when the selection probability adjustment process in step S209 is executed. Note that if no external stimulus is detected within a predetermined time from the execution of the operation (step S207; NO), or if the type of detected external stimulus does not correspond to the first type (step S208; NO), the control unit 110 skips the process in step S209.

[0130] Returning to Figure 14, the control unit 110 determines whether to terminate the process if no operation triggers are met (step S102; NO) or if it executes the operation control process shown in Figure 15 (step S104). For example, if the operation unit 240 receives a user instruction to turn off the power of the robot 200, the process is terminated. If the process is terminated (step S104; YES), the control unit 110 saves the current parameter data 121 to the non-volatile memory (e.g., flash memory) of the storage unit 120 (step S105) and terminates the robot control process shown in Figure 14.

[0131] If the process is not terminated (step S104; NO), the control unit 110 uses the clock function to determine whether the date has changed (step S106). If the date has not changed (step S106; NO), the control unit 110 returns the process to step S102.

[0132] In contrast, if the date changes (step S106; YES), the control unit 110 updates the parameter data 121 (step S107). Specifically, if the child is in childhood (for example, 50 days after birth), the control unit 110 changes the values ​​of the emotion change amounts DXP, DXM, DYP, and DYM depending on whether the emotion parameters have reached the maximum or minimum value of the emotion map 300. Also, if the child is in childhood, the control unit 110 expands both the maximum and minimum values ​​of the emotion map 300 by a predetermined increase (for example, 2). In contrast, if the child is in adulthood, the control unit 110 adjusts the personality correction values.

[0133] When the parameter data 121 is updated, the control unit 110 adds 1 to the growth days (step S108) and returns to step S102. Then, as long as the robot 200 is operating normally, the control unit 110 repeats the process from step S102 to step S108.

[0134] As described above, when a predetermined action trigger is met, the robot 200 according to Embodiment 1 executes an action selected from a list of candidate actions corresponding to the action trigger with a selection probability that depends on the robot 200's growth level. If an external stimulus is detected within a predetermined time after the execution of an action, the selection probability of that action being selected from the candidate action list changes. In this way, the probability that an action executed by the robot 200 will be selected in the future changes depending on external stimuli such as interactions with the user, so the way the robot 200 simulates growth is not fixed, and the way the robot 200 simulates growth can be given individuality. Therefore, the robot 200 according to Embodiment 1 can more realistically simulate living things, thereby improving the sense of life.

[0135] In particular, the robot 200 according to Embodiment 1, when it detects a first type of external stimulus within a predetermined time elapsed since the execution of an action, increases the probability of selecting an action from the selection candidate list within a range below a predetermined upper limit. As a result, when the robot 200 performs an action preferred by the user, the user can increase the probability of that action being selected in the future by giving positive responses such as praise or petting. Therefore, in a robot 200 that performs actions according to its growth level, the user's preferences can be reflected in the actions of the robot 200.

[0136] (Embodiment 2) Next, Embodiment 2 will be described. Descriptions of the same configuration and functions as in Embodiment 1 will be omitted as appropriate.

[0137] In Embodiment 1 described above, when the selection probability adjustment unit 117 reduces the selection probability of each of the multiple actions other than the action performed by the robot 200 from the selection candidate list, it evenly distributes the increase value ΔP to determine the decrease in the selection probability of each of the multiple actions. In contrast, in Embodiment 2, the selection probability adjustment unit 117 determines the decrease in the selection probability of each of the multiple actions based on the priority assigned to each of the multiple actions in advance.

[0138] Figure 17 shows an example of a priority table 128 according to Embodiment 2. The priority table 128 is stored in the storage unit 120. The priority table 128 pre-assigns a priority to each action in the corresponding selection candidate list for each of the multiple action triggers. In the example in Figure 17, among the five actions in the selection candidate list corresponding to the "petted" action trigger, the basic action 0-0 has the lowest priority, and the personality action 0-0 has the highest priority. The higher the priority of an action, the more preferentially its selection probability is reduced.

[0139] The selection probability adjustment unit 117 increases the selection probability of the selected action from the selection candidate list if the sensor unit 210 detects a first type of external stimulus within a predetermined time after the motion control unit 115 has caused the robot 200 to perform an action. At the same time, the selection probability adjustment unit 117 determines a reduction value that decreases the selection probability of each of the multiple actions other than the action performed by the robot 200, according to the priority set in the priority table 128, and reduces the selection probability of each action.

[0140] Specifically, the selection probability adjustment unit 117 determines the reduction value of the selection probability for each action under the constraint that the sum of the selection probabilities of multiple actions included in a single selection candidate list is maintained at 100%, and that the selection probability of any action does not become negative. The reduction value increases as the priority set in the priority table 128 increases. By setting priorities in this way, the reduction values ​​of the selection probabilities can be designed more flexibly than distributing the reduction values ​​equally, as in Embodiment 1.

[0141] More specifically, the priority table 128 shown in Figure 17 assigns higher priority to actions that newly emerge as the growth level increases. Here, actions that newly emerge as the growth level increases are those whose selection probability is 0% at growth level = 0, but whose selection probability increases significantly as the growth level increases, such as personality actions. For this reason, the priority table 128 assigns higher priority to personality actions than to basic actions. Furthermore, among basic actions, the priority table 128 assigns higher priority to those whose selection probability increases significantly as the growth level increases.

[0142] Thus, actions that newly emerge as the growth level increases are given higher priority, and their selection probability is preferentially reduced. If the user wants to increase the selection probability of actions that newly emerge as the growth level increases, they should grow the robot 200. Conversely, if the user does not want to increase the selection probability of actions that newly emerge as the growth level increases, they can preferentially reduce the selection probability of actions performed by the robot 200 by giving a positive response to those actions.

[0143] (Embodiment 3) Next, Embodiment 3 will be described. Descriptions of the same configurations and functions as in Embodiments 1 and 2 will be omitted as appropriate.

[0144] In embodiments 1 and 2 described above, the selection probability adjustment unit 117 increased the selection probability of selecting an action from the selection candidate list if it detected a first type of external stimulus within a predetermined time after the motion control unit 115 caused the robot 200 to perform an action. Alternatively or in addition to this, in embodiment 3, the selection probability adjustment unit 117 decreased the selection probability of selecting an action from the selection candidate list if it detected a second type of external stimulus within a predetermined time after the motion control unit 115 caused the robot 200 to perform an action.

[0145] Here, the second type of external stimulus is a stimulus detected when the user gives a negative response to an action performed by the robot 200, such as being scolded or hit, as described in Embodiment 1. If an external stimulus is detected within a predetermined time after the robot 200 performs an action, the selection probability adjustment unit 117 refers to the classification table 127 and determines whether the external stimulus corresponds to the first type of external stimulus, the second type of external stimulus, or another type of external stimulus.

[0146] If the motion control unit 115 detects a second type of external stimulus within a predetermined time after executing an action, the selection probability adjustment unit 117 decreases the selection probability of that action being selected from the selection candidate list. At the same time, the selection probability adjustment unit 117 increases the selection probability of at least one other action from the selection candidate list being selected, within a range below a predetermined upper limit. The predetermined upper limit is set, as in Embodiment 1, based on the initial value of the selection probability set for actions executed by the robot 200 when the growth level is lower than the current level.

[0147] The details of the processing of the selection probability adjustment unit 117 in Embodiment 3 can be explained similarly to Embodiment 1 by replacing "when a first type of external stimulus is detected" with "when a second type of external stimulus is detected," and by swapping the terms "increase" and "decrease" regarding the adjustment of the selection probability as explained in Embodiment 1. However, the predetermined upper limit in Embodiment 3 is used not when the selection probability of the action performed by the robot 200 increases, but when the selection probability of at least one action other than the action performed by the robot 200 increases.

[0148] Thus, in the third embodiment, if a second type of external stimulus is detected within a predetermined time after the execution of an action, the robot 200 reduces the probability of selecting an action from the list of selection candidates. As a result, for example, if the action performed by the robot 200 is one that the user does not like, the user will give a negative response to that action, causing the robot 200 to perform that action less often in the future. Consequently, the probability of the robot 200 performing actions that the user likes increases, thus allowing the robot 200's actions to reflect the user's preferences.

[0149] (modified version) Although embodiments of the present invention have been described above, these embodiments are merely examples, and the scope of application of the present invention is not limited thereto. In other words, the embodiments of the present invention can be applied in various ways, and all embodiments fall within the scope of the present invention.

[0150] For example, in the above embodiment, the parameter setting unit 113 sets the emotion parameter and the personality parameter, and sets the maximum value among the multiple personality values ​​included in the personality parameter as the growth level. However, the growth level is not limited to this and may be set based on any criteria. For example, the growth level is not limited to the personality parameter, but may be directly based on the number of growth days.

[0151] When setting the growth level without relying on personality parameters, the parameter setting unit 113 does not need to set personality parameters. Furthermore, the parameter setting unit 113 does not need to set emotional parameters for setting personality parameters. Even when emotional parameters and personality parameters are set, the emotional parameters and personality parameters described in the above embodiment are merely examples, and emotional parameters and personality parameters may be set in other ways.

[0152] In the above embodiment, the action selection table 123 defined multiple actions, which are either basic actions or characteristic actions, as a selection candidate list for each of the multiple action triggers. However, the actions executed by the robot 200 are not limited to basic actions and characteristic actions, and may be defined in any way. Also, in the above embodiment, only one characteristic action was selected for each action trigger, but similar to basic actions, the number of types of characteristic actions that can be selected may be increased in proportion to the increase in the characteristic value.

[0153] In the above embodiment, the exterior 201 was formed in a cylindrical shape from the head 204 to the torso 206, and the robot 200 had a prone position. However, the robot 200 is not limited to mimicking a creature with a prone position. For example, the robot 200 may have limbs and mimic a quadrupedal or bipedal creature.

[0154] In the above embodiment, the control device 100 was built into the robot 200, but the control device 100 may be a separate device (for example, a server) rather than being built into the robot 200. If 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 each other and controls the robot 200 as described in the above embodiment.

[0155] In the above embodiment, the control unit 110 functioned as the parameter setting unit 113, the operation control unit 115, and the selection probability adjustment unit 117 by the CPU executing a program stored in ROM. However, in the present invention, the control unit 110 may be equipped with dedicated hardware such as an ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), or various control circuits instead of a CPU, and this dedicated hardware may function as the parameter setting unit 113, the operation control unit 115, and the selection probability adjustment unit 117. In this case, each function of each part may be realized by separate hardware, or the functions of each part may be realized together by a single piece of hardware. Furthermore, some of the functions of each part may be realized by dedicated hardware, and other parts may be realized by software or firmware.

[0156] Furthermore, while it is possible to provide a robot pre-configured to realize the functions according to the present invention, it is also possible to make existing information processing devices, etc., function as robots according to the present invention by applying a program. That is, by applying a program to realize each functional configuration of the robot 200 exemplified in the above embodiment so that it can be executed by a CPU, etc. that controls an existing information processing device, etc., it can be made to function as a robot according to the present invention.

[0157] Furthermore, the method of applying such a program is arbitrary. The program can be stored and applied on a computer-readable storage medium such as a flexible disk, CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, or memory card. In addition, the program can be superimposed on a carrier wave and applied via a communication medium such as the Internet. For example, the program may be posted and distributed on a bulletin board system (BBS) on a communication network. The program can then be launched and executed under the control of the OS (Operating System), similar to other application programs, to perform the aforementioned processing.

[0158] Although preferred embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, and various modifications and substitutions can be made to the embodiments described above without departing from the scope of the claims. [Explanation of Symbols]

[0159] 100...Control device, 110...Control unit, 113...Parameter setting unit, 115...Motion control unit, 117...Selection probability adjustment unit, 120...Storage unit, 121...Parameter data, 123...Motion selection table, 124...Motion content table, 125...Motion table, 127...Classification table, 128...Priority table, 131...Initial table, 132...Adjustment table, 133...Growth index table, 200...Robot, 201...Exterior, 202...Decorative parts, 203...Hair, 204...Head, 205...Connecting part, 206...Body part, 207...Housing, 210...Sensor unit, 211...Touch sensor, 212...Accelerometer, 213...Microphone, 214...Illuminance sensor, 214...Gyro sensor, 220...Drive unit, 221...Twist motor, 222...Up / down motor, 230...Output unit, 231... Speaker, 240... Control panel, 300... Emotion map, 301-303... Frame, 400... Personality value radar chart, BL... Bus line

Claims

1. An autonomously operating robot, A detection means for detecting external stimuli, When a predetermined action trigger is met, the action control means causes the robot to execute an action selected from a list of candidate selections corresponding to the action trigger, with a selection probability that depends on the growth level representing the degree of the robot's simulated growth. If the detection means detects the external stimulus within a predetermined time elapsed after the motion control means causes the robot to perform the action, the selection probability adjustment means changes the selection probability of the action being selected from the selection candidate list. A robot characterized by being equipped with the following features.

2. The selection probability adjustment means increases the selection probability of selecting the action from the selection candidate list within a range below a predetermined upper limit if the detection means detects the first type of external stimulus within a predetermined time elapsed after the action control means causes the robot to perform the action. The robot according to feature 1.

3. Each operation in the aforementioned selection candidate list is set to have an initial value for the selection probability according to the growth level. The predetermined upper limit is determined based on the initial value set for the operation when the growth level is lower than the current value. The robot according to feature 2.

4. The selection probability adjustment means, when the detection means detects a first type of external stimulus between the time the motion control means causes the robot to perform the motion and the predetermined time has elapsed, If the selection probability set for the action at the current growth level is less than the selection probability set for the action at a lower growth level, the selection probability of the action being selected from the selection candidate list is increased by setting the value of the selection probability set for the action at a lower growth level as the predetermined upper limit. If the selection probability set for the action at the current growth level is greater than or equal to the selection probability set for the action when the growth level is lower than the current level, the selection probability of the action being selected from the list of candidate selections will not be increased. The robot according to feature 2.

5. The selection probability adjustment means increases the selection probability that the action is selected from the selection candidate list and decreases the selection probability that each of the multiple actions other than the action is selected from the selection candidate list if the detection means detects a first type of external stimulus between the time the action control means causes the robot to perform the action and the predetermined time has elapsed. Each of the aforementioned operations is assigned a priority when the selection probability is reduced. The decrease in the selection probability for each of the aforementioned multiple actions is determined based on the priority assigned to each of the aforementioned multiple actions. The robot according to any one of claims 2 to 4.

6. The selection probability adjustment means, when the detection means detects a second type of external stimulus after the motion control means causes the robot to perform the motion and before the predetermined time has elapsed, decreases the selection probability that the motion is selected from the selection candidate list, and increases the selection probability that at least one motion other than the motion is selected from the selection candidate list, within a range below a predetermined upper limit. The robot according to any one of claims 1 to 4.

7. The system further includes parameter setting means for setting personality parameters that represent the simulated personality of the robot, and setting the growth level based on the personality parameters. The robot according to any one of claims 1 to 4.

8. The aforementioned personality parameter includes multiple personality values, each representing a different degree of personality, The parameter setting means sets the growth level to the maximum value among the plurality of personality values. The robot according to feature 7.

9. The parameter setting means changes the emotion parameter representing the robot's simulated emotion in response to the external stimulus detected by the detection means, and sets the personality parameter based on the emotion parameter. The robot according to feature 7.

10. A method for controlling an autonomously operating robot, When a predetermined action trigger is met, the robot is instructed to execute an action selected from a list of candidates corresponding to the action trigger, with a selection probability that depends on the growth level, which represents the degree of the robot's simulated growth. If an external stimulus is detected within a predetermined time after the robot has performed the aforementioned action, the selection probability of the action being selected from the list of candidate selections is changed. A robot control method characterized by the following features.

11. The computer for an autonomously operating robot When a predetermined action trigger is met, an action control means causes the robot to execute an action selected from a list of candidate options corresponding to the action trigger, with a selection probability that depends on the growth level representing the degree of the robot's simulated growth. If an external stimulus is detected within a predetermined time after the motion control means has caused the robot to perform the motion, a selection probability adjustment means changes the selection probability of the motion being selected from the selection candidate list. A program designed to function as such.