Robot, control method thereof and program

The autonomous robot addresses the challenge of scalability and realistic simulation by using two tables to store and retrieve growth parameters and gesture information, enabling seamless addition of new motions and sounds without program modifications.

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

Patent Information

Application Number
JP2023159318
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-25
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

Existing robots that simulate pet-like creatures face challenges in expanding new motions or sounds without modifying the program, limiting their scalability and ability to realistically simulate living creatures.

Method used

An autonomous robot with two tables: one storing growth parameters and gesture information, and another storing gesture information and action files, allowing the robot to perform operations based on acquired growth parameters and stored data, enhancing scalability.

Benefits of technology

The robot achieves excellent scalability and realistic simulation of living creatures by allowing easy addition of new motions and sounds without program modifications, enhancing user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025050493000001_ABST
    Figure 2025050493000001_ABST
Patent Text Reader

Abstract

To provide a robot with excellent extensibility capable of realistically imitating living things, a control method thereof, and a program.SOLUTION: A robot 200 operating autonomously, comprises a first table, a second table and a control part 110. The first table stores growth parameters indicating a growth of the robot 200 and data indicating gesture information that specifies an operation of the robot 200 with associating them with each other. The second table stores data indicating gesture information and data indicating an operation file which defines an operation of the robot 200 with associating them with each other. The control part 110 acquires the growth parameters, and allows the robot 200 to perform an operation corresponding to the acquired growth parameters on the basis of the data stored in the first table and the data stored in the second table.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a robot, a control method for a robot, and a program. [Background technology]

[0002] There are known robots that mimic living creatures such as pets. For example, Patent Document 1 discloses a robot device that can give a user a sense of simulated growth by executing a scenario corresponding to the value of a growth parameter. [Prior art documents] [Patent documents]

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

[0004] The robot disclosed in Patent Document 1 can simulate the growth of a living creature by executing a scenario corresponding to the value of a growth parameter. To simulate the growth of a living creature, the robot changes its behavior according to the number of days it has been growing, its personality, its emotions, and the like. This behavior is realized by registering motions and cries, incorporating these basic actions into a program according to various situations, and selecting and combining them. However, in order to add new actions such as motions or cries, the program needs to be modified, making expansion difficult.

[0005] The present invention has been made to solve the above-mentioned problems, and has an object to provide a robot, a robot control method, and a program that have excellent scalability and are capable of realistically imitating living creatures. [Means for solving the problem]

[0006] In order to achieve the above object, one aspect of the robot according to the present invention is to A robot that operates autonomously, a first table for storing growth parameters indicating the growth of the robot and data indicating gesture information for specifying an action of the robot according to the growth parameters in a corresponding manner; a second table that stores data indicating the gesture information and data indicating an action file that defines an action of the robot in association with each other; Obtaining the growth parameters; a control unit that causes the robot to execute an operation corresponding to the acquired growth parameter based on the data stored in the first table and the data stored in the second table; Equipped with. Effect of the Invention

[0007] According to the present invention, it is possible to provide a robot having excellent expandability and capable of realistically imitating living creatures, as well as a method and program for controlling the robot. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram showing an external appearance of a robot according to an embodiment. [Diagram 2] 1 is a cross-sectional side view of a robot according to an embodiment. [Diagram 3] FIG. 2 is a diagram showing a housing of the robot according to the embodiment. [Figure 4] FIG. 1 is a first diagram showing the movement of a twist motor of a robot according to an embodiment; [Diagram 5] FIG. 11 is a second diagram showing the movement of the twist motor of the robot according to the embodiment. [Figure 6] FIG. 2 is a first diagram showing the movement of an up and down motor of the robot according to the embodiment. [Figure 7] FIG. 11 is a second diagram showing the movement of the up and down motor of the robot according to the embodiment. [Figure 8] 1 is a block diagram showing a configuration of a robot according to an embodiment. [Figure 9] FIG. 2 is a diagram illustrating an example of an emotion map according to an embodiment. [Figure 10] FIG. 13 is a diagram showing an example of a personality value radar chart according to the embodiment. [Figure 11] FIG. 11 is a diagram illustrating an example of a selection table according to the embodiment. [Figure 12] FIG. 11 is a diagram illustrating an example of a gesture table according to the embodiment. [Figure 13] FIG. 11 is a diagram illustrating an example of an operation table according to the embodiment. [Figure 14] 10 is a flowchart showing a flow of a robot control process according to the embodiment. [Figure 15] 10 is a flowchart showing a flow of an operation control process according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

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

[0010] 1 to 3 show the external appearance of a robot 200 according to this embodiment. The robot 200 is a device that operates autonomously without direct operation by a user. As shown in FIG. 1, the robot 200 is a pet robot that imitates a small animal. The robot 200 has an exterior 201 that includes decorative parts 202 that imitate eyes and fluffy fur 203.

[0011] 2 and 3, the robot 200 includes a housing 207. The housing 207 is covered by an exterior 201 and is stored inside the exterior 201. The housing 207 includes a head 204, a connecting portion 205, and a body portion 206. The connecting portion 205 connects the head 204 and the body portion 206 together.

[0012] Exterior 201 is an example of an exterior member, and is long in the front-rear direction, and has a bag-like shape capable of housing 207 therein. Exterior 201 is formed in a cylindrical shape from head 204 to body 206, and integrally covers body 206 and head 204. With exterior 201 of such a shape, robot 200 is formed in a crawling shape.

[0013] The outer surface of exterior 201 is made of artificial pile fabric that imitates fur 203 of a small animal in order to simulate the feel of the skin of a small animal. The lining of exterior 201 is made of synthetic fiber, natural fiber, natural leather, artificial leather, a synthetic resin sheet material, a rubber sheet material, or the like. Since exterior 201 is made of such a flexible material, it follows the movement of housing 207. Specifically, exterior 201 follows the rotation of head 204 relative to body 206.

[0014] In order for exterior 201 to follow the movement of housing 207, exterior 201 is attached to housing 207 with snap buttons (not shown). Specifically, at least one snap button is provided in the front of head 204, and at least one snap button is provided in the rear of body 206. Snap buttons that fit with the snap buttons provided on head 204 and body 206 are also provided in corresponding positions on exterior 201, and exterior 201 is fastened to housing 207 by the snap buttons and attached. Note that the number and positions of the snap buttons are merely examples and can be changed as desired.

[0015] The body 206 extends in the front-rear direction, and comes into contact with a support surface, such as a floor or a table, on which the robot 200 is placed, via the exterior 201. The body 206 is provided with a twist motor 221 at its front end. The head 204 is connected to the front end of the body 206 via a connecting part 205. The connecting part 205 is provided with an up-down motor 222. Note that, although the twist motor 221 is provided in the body 206 in FIG. 2, it may be provided in the connecting part 205. The twist motor 221 and the up-down motor 222 connect the head 204 to the body 206 so as to be rotatable about axes in the left-right and front-rear directions of the robot 200.

[0016] As the XYZ coordinate axes, the X-axis and Y-axis are set in a horizontal plane, and the Z-axis is set in the vertical direction. The positive direction of the Z-axis corresponds to the vertical upward direction. For ease of explanation, the following description will be given assuming that the robot 200 is placed on the placement surface with the left-right direction (width direction) of the robot 200 being the X-axis direction, and the front-rear direction of the robot 200 being the Y-axis direction.

[0017] The connecting part 205 connects the body part 206 and the head 204 to be rotatable about a first rotation axis that passes through the connecting part 205 and extends in the front-rear direction (Y direction) of the body part 206. As shown in Fig. 4 and Fig. 5, the twist motor 221 rotates the head 204 (forward rotation) clockwise (right-handed) around the first rotation axis within a forward rotation angle range relative to the body part 206 and rotates the head 204 (reverse rotation) counterclockwise (left-handed) within a reverse rotation angle range.

[0018] In this description, clockwise refers to the clockwise direction when looking from the body 206 toward the head 204. Clockwise rotation is also called "right-handed twist rotation" and counterclockwise rotation is also called "left-handed twist rotation". The maximum angle of right-handed or left-handed twist rotation is arbitrary. In Figs. 4 and 5, the angle of the head 204 when the head 204 is not twisted to the right or left (hereinafter "twist reference angle") is represented by 0. The angle when the head 204 is twisted to the left most (counterclockwise rotation) is represented by -100, and the angle when the head is twisted to the right most (clockwise rotation) is represented by +100.

[0019] Furthermore, the connecting part 205 connects the body part 206 and the head part 204 to be rotatable about a second rotation axis that passes through the connecting part 205 and extends in the left-right direction (width direction, X direction) of the body part 206. The up-down motor 222 rotates the head part 204 upward within a forward rotation angle range (forward rotation) and rotates the head part 204 downward within a reverse rotation angle range (reverse rotation) about the second rotation axis, as shown in Figs. 6 and 7 .

[0020] The maximum angle of upward or downward rotation is arbitrary, but in Figures 6 and 7, the angle of head 204 when head 204 is not rotated upward or downward (hereinafter referred to as the "vertical reference angle") is represented as 0, the angle when head 204 is rotated most downward is represented as -100, and the angle when head 204 is rotated most upward is represented as +100.

[0021] 2 and 3, the robot 200 is provided with touch sensors 211 on the head 204 and the torso 206. The touch sensors 211 enable the robot 200 to detect when the user strokes or hits the head 204 or the torso 206.

[0022] The robot 200 includes an acceleration sensor 212, a microphone 213, a gyro sensor 214, an illuminance sensor 215, and a speaker 231 on the torso 206. The robot 200 can detect a change in the posture of the robot 200 itself by the acceleration sensor 212 and the gyro sensor 214, and can also detect that the robot 200 has been lifted up, turned around, or thrown by a user. The robot 200 can detect the illuminance around the robot 200 by the illuminance sensor 215. The robot 200 can detect external sounds by the microphone 213. The robot 200 can emit cries by the speaker 231.

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

[0024] Next, the functional configuration of the robot 200 will be described with reference to Fig. 8. As shown in Fig. 8, 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 to each other via a bus line BL, for example. Note that instead of the bus line BL, a wired interface such as a USB (Universal Serial Bus) cable or a wireless interface such as Bluetooth (registered trademark) may be used.

[0025] The control device 100 includes a control unit 110 and a storage unit 120. The control device 100 controls the operation of the robot 200 by the control unit 110 and the storage unit 120.

[0026] The control unit 110 includes a CPU (Central Processing Unit). The CPU is, for example, a microprocessor, and is a central processing unit that executes various processes and calculations. In the control unit 110, the CPU reads out a control program stored in a ROM, and controls the operation of the entire robot 200, which is the control unit, while using a RAM as a work memory. Although not shown, the control unit 110 also includes a clock function, a timer function, and the like, and can measure the date and time. The control unit 110 may also be called a "processor."

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

[0028] The sensor unit 210 includes the above-mentioned touch sensor 211, acceleration sensor 212, gyro sensor 214, illuminance sensor 215, and microphone 213. The control unit 110 acquires, via the bus line BL, detection values ​​detected by the various sensors included in the sensor unit 210 as external stimuli. Note that the sensor unit 210 may include sensors other than the touch sensor 211, acceleration sensor 212, gyro sensor 214, and microphone 213. By increasing the types of sensors included in the sensor unit 210, it is possible to increase the types of external stimuli that the control unit 110 can acquire.

[0029] The touch sensor 211 includes, for example, a pressure sensor or a capacitance sensor, and detects contact with some object. Based on the detection value of the touch sensor 211, the control unit 110 can detect whether the robot 200 is being stroked or hit by the user.

[0030] The acceleration sensor 212 detects acceleration applied to the body 206 of the robot 200. The acceleration sensor 212 detects acceleration in each of the X-axis direction, the Y-axis direction, and the Z-axis direction, that is, acceleration in three axes.

[0031] For example, the acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary. The control unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212. In other words, the control unit 110 can detect whether the housing 207 of the robot 200 is tilted from the horizontal direction based on the gravitational acceleration detected by the acceleration sensor 212. In this way, the acceleration sensor 212 functions as a tilt detection means that detects the tilt of the robot 200.

[0032] Furthermore, when the user lifts or throws the robot 200, the acceleration sensor 212 detects the acceleration accompanying the movement of the robot 200 in addition to the gravitational acceleration. Therefore, the control unit 110 can detect the movement of the robot 200 by removing the gravitational acceleration component from the detection value detected by the acceleration sensor 212.

[0033] The gyro sensor 214 detects the angular velocity when rotation is applied to the body 206 of the robot 200. Specifically, the gyro sensor detects the angular velocity of three-axis rotation, namely, rotation about the X-axis direction, rotation about the Y-axis direction, and rotation about the Z-axis direction. By combining the detection values ​​detected by the acceleration sensor 212 and the detection values ​​detected by the gyro sensor 214, the movement of the robot 200 can be detected with higher accuracy.

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

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

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

[0037] The driving unit 220 includes a twist motor 221 and an up-down motor 222, and is driven by the control unit 110. The twist motor 221 is a servo motor for rotating the head 204 in the left-right direction (width direction) with respect to the torso unit 206, with the front-rear direction as an axis. The up-down motor 222 is a servo motor for rotating the head 204 in the up-down direction (height direction) with respect to the torso unit 206, with the left-right direction as an axis. The robot 200 can express the motion of twisting the head 204 sideways by the twist motor 221, and can express the motion of raising and lowering the head 204 by the up-down motor 222.

[0038] The output unit 230 includes a speaker 231, and when the control unit 110 inputs sound data to the output unit 230, sound is output from the speaker 231. For example, when the control unit 110 inputs data on the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry.

[0039] Incidentally, instead of or in addition to speaker 231, output unit 230 may include a display such as a liquid crystal display or a light-emitting unit such as an LED (Light Emitting Diode), and emotions such as joy and sadness may be displayed on the display or expressed by the color and brightness of the emitted light.

[0040] The operation unit 240 includes operation buttons, a volume knob, etc. The operation unit 240 is an interface for accepting user operations such as turning the power on and off, adjusting the volume of the output sound, etc.

[0041] Next, a functional configuration of the control unit 110 will be described. As shown in Fig. 8, the control unit 110 functionally includes an external stimulus acquisition unit 111 which is an example of an external stimulus acquisition means, a parameter setting unit 113 which is an example of a parameter setting means, and an operation control unit 114 which is an example of an operation control means. In the control unit 110, the CPU reads out a program stored in the ROM into the RAM, and executes and controls the program, thereby functioning as each of these units.

[0042] The storage unit 120 also stores parameter data 121, a selection table 123, a gesture table 124, and an action table 125. The selection table 123 is an example of a first table. The gesture table 124 is an example of a second table.

[0043] The external stimulus acquisition unit 111 acquires an external stimulus. The external stimulus is a stimulus that acts on the robot 200 from outside the robot 200. Examples of the external stimulus include "a loud noise was heard," "someone spoke to," "someone stroked," "someone lifted up," "someone turned upside down," "it became brighter," "it became darker," and the like. The external stimulus is also referred to as an "event" below.

[0044] The external stimulus acquisition unit 111 acquires an external stimulus based on a detection value by the sensor unit 210. More specifically, the external stimulus acquisition unit 111 acquires a plurality of external stimuli of different types from each other by a plurality of sensors (a touch sensor 211, an acceleration sensor 212, a microphone 213, a gyro sensor 214, and an illuminance sensor 215) provided in the sensor unit 210.

[0045] For example, the external stimulus acquisition unit 111 acquires an external stimulus caused by "a loud noise being heard" or "being spoken to" through the microphone 213. The external stimulus acquisition unit 111 acquires an external stimulus caused by "being stroked" through the touch sensor 211. The external stimulus acquisition unit 111 acquires an external stimulus caused by "being lifted" or "being turned upside down" through the acceleration sensor 212 and gyro sensor 214. The external stimulus acquisition unit 111 acquires an external stimulus caused by "it becoming brighter" or "it becoming dark" through the illuminance sensor 215.

[0046] The parameter setting unit 113 sets the parameter data 121. The parameter data 121 is data that determines various parameters related to the robot 200. Specifically, the parameter data 121 includes (1) the number of days of growth, (2) emotion parameters, (3) emotion change amount, and (4) personality parameters.

[0047] (1) Number of days to grow The number of days of growth indicates the number of days of the pseudo growth of the robot 200. The robot 200 is pseudo-born when the user starts it for the first time after being shipped from the factory, and grows from a baby to an adult over a predetermined growth period. The number of days of growth corresponds to the number of days from the pseudo birth of the robot 200. The number of days of growth is an example of a growth parameter that indicates the growth of a robot.

[0048] The initial value of the number of days of growth is 0, and the parameter setting unit 113 adds 1 to the number of days of growth every time one day passes. The first startup is an example of a reference date and time, and the number of days of growth is an example of the time elapsed from the reference date and time, which indicates the growth of the robot.

[0049] (2) Emotion parameters The parameter setting unit 113 sets emotion parameters. The emotion parameters are parameters that represent simulated emotions for the robot 200. The emotion parameters are expressed by coordinates (X, Y) on the emotion map 300.

[0050] As shown in Fig. 9, the emotion map 300 is represented by a two-dimensional coordinate system with the X-axis representing the degree of relief (degree of anxiety) and the Y-axis representing the degree of excitement (degree of lethargy). The origin (0,0) on the emotion map represents normal emotions. The larger the absolute value of the X-coordinate (X value), the more positive the value, the higher the emotion of relief; and the larger the absolute value of the negative value, the higher the emotion of anxiety. The larger the absolute value of the Y-coordinate (Y value), the more positive the value, the higher the emotion of excitement; and the larger the absolute value of the negative value, the higher the emotion of lethargy.

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

[0052] 9, emotion map 300 is represented in a two-dimensional coordinate system, but emotion map 300 may have any number of dimensions. Emotion map 300 may be defined in one dimension, and one value may be set as the emotion parameter. Alternatively, emotion map 300 may be defined in a coordinate system of three or more dimensions by adding other axes, and a value equal to the number of dimensions of emotion map 300 may be set as the emotion parameter.

[0053] The initial size of emotion map 300 has a maximum value of 100 and a minimum value of -100 for both X and Y values, as shown in frame 301 in Fig. 9. During the growth period of robot 200 (e.g. 50 days), the parameter setting unit 113 increases both the maximum and minimum values ​​of emotion map 300 by 2 each time the number of days of simulated growth of robot 200 increases by one day.

[0054] When the number of days of growth reaches half the growth period (for example, 25 days), the maximum value of both the X value and the Y value becomes 150 and the minimum value becomes -150, as shown in frame 302 in Fig. 9. Then, when the growth period (for example, 50 days) has passed, the pseudo growth of the robot 200 stops. At this time, the maximum value of both the X value and the Y value becomes 200 and the minimum value becomes -200, as shown in frame 303 in Fig. 9. After that, the size of the emotion map 300 is fixed.

[0055] The settable range of emotion parameters is determined by emotion map 300. Therefore, the settable range of emotion parameters expands as the size of emotion map 300 increases. By expanding the settable range of emotion parameters, richer emotional expression becomes possible, and thus the pseudo growth of robot 200 is expressed by expanding the size of emotion map 300.

[0056] The condition for stopping the simulated growth of the robot 200 is not limited to the passage of a growth period, and other conditions may be added.

[0057] (3) Changes in Emotions The emotion change amount is data indicating the degree to which the simulated emotion of the robot 200 is changed, and determines the amount of change by which each of the X value and Y value of the emotion parameter is increased or decreased. 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.

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

[0059] Each of these emotion variation amounts DXP, DXM, DYP, DYM has an initial value of 10 and is updated through learning, which will be described later. Parameter setting section 113 updates the emotion parameter by adding or subtracting a value corresponding to an external stimulus, out of the emotion variation amounts DXP, DXM, DYP, DYM, to the current emotion parameter.

[0060] For example, when the head 204 is stroked, the simulated emotion of the robot 200 is relief, so the parameter setting unit 113 adds DXP to the X value of the emotion parameter. Conversely, when the head 204 is hit, the simulated emotion of the robot 200 is anxiety, so the parameter setting unit 113 subtracts DXM from the X value of the emotion parameter. It is possible to arbitrarily set what emotion change amount is associated with various external stimuli. An example is shown below.

[0061] Head 204 is stroked (feels safe): X=X+DXP Hit on the head 204 (feels anxious): X=X-DXM (These external stimuli can be detected by the touch sensor 211 on the head 204.) The torso 206 is stroked (excited): Y=Y+DYP Hitting the torso 206 (becoming lethargic): Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 on the torso 206.) Head up (happy): X=X+DXP and Y=Y+DYP Hanging head down (sad): X=X-DXM and Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 and the acceleration sensor 212.) A gentle voice calls out to you (becomes peaceful): X=X+DXP and Y=Y-DYM Being yelled at loudly (irritated): X=X-DXM and Y=Y+DYP (These external stimuli can be detected by microphone 213.)

[0062] The external stimulus acquisition section 111 acquires a plurality of different types of external stimuli by a plurality of sensors included in the sensor section 210. Therefore, the parameter setting section 113 derives various amounts of emotion change according to each of the plurality of external stimuli, and sets emotion parameters according to the derived amounts of emotion change.

[0063] Note that the maximum and minimum values ​​of the X and Y values ​​of the emotion parameters are determined by the size of emotion map 300. Therefore, if the above calculation results in a value exceeding the maximum value of emotion map 300, the maximum value is set, and if the value falls below the minimum value of emotion map 300, the minimum value is set.

[0064] Parameter setting section 113 updates each variable of emotion change amounts DXP, DXM, DYP, and DYM in response to the external stimulus acquired by external stimulus acquisition section 111. Specifically, parameter setting section 113 adds 1 to DXP if the X value of the emotion parameter is set to the maximum value of emotion map 300 at least once in a day, and adds 1 to DYP if the Y value of the emotion parameter is set to the maximum value of emotion map 300 at least once in a day. Also, parameter setting section 113 adds 1 to DXM if the X value of the emotion parameter is set to the minimum value of emotion map 300 at least once in a day, and adds 1 to DYM if the Y value of the emotion parameter is set to the minimum value of emotion map 300 at least once in a day.

[0065] In this way, parameter setting unit 113 changes the emotion change amount according to a condition based on whether the emotion parameter value has reached the maximum or minimum value of emotion map 300. Such updating of each variable is called learning the emotion change amount. As an example, the initial value of each emotion change amount variable is set to 10. Parameter setting unit 113 increases each variable up to a maximum of 20 through the above-mentioned updating (learning). This learning process changes the emotion change amount, i.e., the degree of emotion change.

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

[0067] The value added to each variable of the emotion change amount is not limited to 1. For example, the number of times each value of the emotion parameter is set to the maximum or minimum value of the emotion map 300 may be counted, and if the number of times is large, the value added to the emotion change amount may be increased. Furthermore, the conditions for learning the emotion change amount are not limited to the above. For example, the emotion change amount may be learned when the X value or Y value of the emotion parameter reaches a predetermined value (for example, 0.5 times the maximum value or 0.5 times the minimum value of the emotion map 300) even once. Furthermore, the period is not limited to the period of that day, but may be learned when the X value or Y value of the emotion parameter reaches a predetermined value even once in other periods such as half a day or one week. Furthermore, instead of a fixed period such as one day, the emotion change amount may be learned when the X value or Y value of the emotion parameter reaches a predetermined value even once in a period until the number of times an external stimulus is acquired reaches a predetermined number (for example, 50 times).

[0068] (4) Personality parameters The personality parameters are parameters that represent the simulated personality of the robot 200. The personality parameters include a plurality of personality values ​​each representing a different degree of personality. The parameter setting unit 113 changes the plurality of personality values ​​included in the personality parameters in response to the external stimulus acquired by the external stimulus acquisition unit 111.

[0069] Specifically, the parameter setting unit 113 calculates the four personality values ​​according to the following (Equation 1). That is, the personality value (cheerful) is calculated by subtracting 10 from DXP, which indicates how easily one feels at ease, the personality value (shy) is calculated by subtracting 10 from DXM, which indicates how easily one becomes anxious, the personality value (active) is calculated by subtracting 10 from DYP, which indicates how easily one becomes excited, and the personality value (spoiled) is calculated by subtracting 10 from DYM, which indicates how easily one becomes lethargic.

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

[0071] 10, a personality value radar chart 400 can be generated by plotting the personality value (cheerful) on the first axis, the personality value (active) on the second axis, the personality value (shy) on the third axis, and the personality value (spoiled) on the fourth axis. Since the initial value of each variable of the amount of emotion change is 10 and increases up to a maximum of 20, the range of the personality value is 0 to 10.

[0072] Since the initial value of each personality value is 0, the personality of robot 200 at birth is represented by the origin of personality value radar chart 400. As robot 200 grows, the four personality values ​​change up to an upper limit of 10 depending on external stimuli (how the user interacts with robot 200) detected by sensor unit 210. This makes it possible to express 11 to the fourth power = 14641 different personalities.

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

[0074] The movement control unit 114 causes the robot 200 to perform a movement based on the data stored in the selection table 123, the gesture table 124, and the movement table 125. The movement control unit 114 executes a movement control process using an external stimulus detected by the external stimulus acquisition unit 111 as a trigger (hereinafter, referred to as a "movement trigger"). The movement control unit 114 also executes spontaneous movements such as breathing.

[0075] When the motion control unit 114 starts the motion control process, it acquires the number of days of growth, and refers to the selection table 123 shown in FIG. 11 to read out the probability of selecting a motion corresponding to the motion trigger given when executing the motion control process and the number of days of growth. Then, the motion control unit 114 selects a type of motion using a random number based on the read probability of selecting a motion. Next, the motion control unit 114 selects a gesture ID (IDentification) from the selected motion. The gesture ID specifies the motion of the robot 200 according to the number of days of growth. The gesture ID is an example of gesture information. For example, when a "basic gesture" is selected, it selects from among gesture IDs 20 to 22 using a random number or the like. When a "personality gesture" is selected, it selects from among gesture IDs 30 to 33 based on a personality parameter. Specifically, the personality of the robot 200 is determined to be the largest value among the personality value (cheerful), personality value (shy), personality value (active), and personality value (spoiled). If the character is cheerful, gesture ID 30 is selected, if shy, gesture ID 31 is selected, if active, gesture ID 32 is selected, and if sweet, gesture ID 33 is selected (see FIG. 12). Also, if "emotion gesture" is selected, a gesture ID is selected from 40 to 42 using random numbers or the like.

[0076] Next, the movement control unit 114 acquires a movement file defined in the gesture table 124 based on the selected gesture ID. The movement file is stored in the movement table 125 shown in FIG. 13. The movement control unit 114 also acquires the sound data indicating the cry stored in the gesture table 124 at the same time as the movement file. Next, the movement control unit 114 operates the robot 200 based on the movement file and the data indicating the cry. When "0_m21_1.txt" is selected as the movement file, the movement control unit 114 refers to the movement table 125 shown in FIG. 13, and first controls the twist motor 221 and the up-down motor 222 so that the angle becomes 0 degrees after 100 milliseconds, and controls the angle of the up-down motor 222 so that the angle becomes -24 degrees after 100 milliseconds. Then, the operation control unit 114 does not rotate for 700 milliseconds thereafter, and 500 milliseconds later, controls the angle of the twist motor 221 to 34 degrees and the angle of the up-down motor 222 to -24 degrees. Then, 400 milliseconds later, the operation control unit 114 controls the angle of the twist motor 221 to -34 degrees, and 500 milliseconds later, controls both the twist motor 221 and the up-down motor 222 to 0 degrees, completing the operation. Also, in parallel with driving the twist motor 221 and the up-down motor 222, the operation control unit 114 plays a short beep from the speaker 231 using audio data of a short beep.

[0077] As shown in FIG. 11, the selection table 123 stores data indicating a motion trigger, data indicating the number of days of growth, which is the elapsed time from a reference date and time, data indicating a gesture ID, and data indicating the probability that the gesture ID will be selected, in a corresponding manner. Here, an example of the motion trigger being "patted on the head" is illustrated, but the motion trigger is not particularly limited as long as it is an external stimulus given to the robot 200, and may include "a loud noise was made," "someone spoke to," "someone stroked the torso," "someone lifted up," "someone turned upside down," "it became bright," or "it became dark." In this case, the selection table 123 stores data indicating the number of days of growth, data indicating a gesture ID, and data indicating the probability that the gesture ID will be selected, in a corresponding manner, for each of these motion triggers. Also, in this example, if the number of days of growth is 0 to 2 days, "baby gesture" is selected. If the number of days of growth is 3 to 6 days, "baby gesture" or "basic gesture" is selected. If the number of days of growth is 4 days, "baby gesture" is selected with a probability of 60% and "basic gesture" with a probability of 40%. If the development period is 7 days or more, "Basic gestures", "Personality gestures" or "Emotion gestures" will be selected. If the development period is 16-20 days, "Basic gestures" will be selected 45%, "Personality gestures" will be selected 35%, and "Emotion gestures" will be selected 20% of the time.

[0078] 12, the gesture table 124 stores data indicating gesture IDs, data indicating action contents, data indicating action files defining the actions of the robot 200, audio data indicating cries, and data indicating emotion change amounts in a corresponding manner. The emotion change amounts stored in the gesture table 124 correspond to the action triggers stored in the selection table 123 by the gesture IDs. Therefore, the emotion change amounts correspond to external stimuli.

[0079] 13, the operation table 125 is a table that defines how the operation control unit 114 controls the twist motor 221 and the up-down motor 222 for each operation defined in the selection table 123. Specifically, the operation table 125 defines, for each operation, an operation time (milliseconds), an operation angle of the twist motor 221 after the operation time, and an operation angle of the up-down motor 222 after the operation time.

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

[0081] When the robot control process is started, the control unit 110 functions as the parameter setting unit 113 and sets the parameter data 121 (step S101). When the robot 200 is started for the first time (when the robot is started for the first time by the user after being shipped from the factory), the control unit 110 sets each of the parameters, namely, the number of days of growth, the emotion parameter, the amount of emotion change, and the personality parameter, to an initial value (for example, 0). On the other hand, when the robot is started for the second time or later, the control unit 110 reads out the values ​​of each parameter saved in step S110 of the previous robot control process (described later) and sets them as the parameter data 121. However, the emotion parameters may all be initialized to 0 every time the power is turned on.

[0082] After setting the parameter data 121, the control unit 110 determines whether or not there is an external stimulus detected by the sensor unit 210 (step S102). If it is determined that there is an external stimulus (step S102; YES), the control unit 110 functions as the external stimulus acquisition unit 111 and acquires the external stimulus from the sensor unit 210 (step S103).

[0083] Next, the control unit 110 executes an action control process using the external stimulus acquired in step S103 as a trigger (step S104), and then proceeds to step S107.

[0084] On the other hand, when it is determined in step S102 that there is no external stimulus (step S102; NO), the control unit 110 determines whether or not a spontaneous movement such as breathing is performed (step S105). While the method of determining whether or not a spontaneous movement is performed is arbitrary, for example, the determination in step S105 is assumed to be YES every first reference time (for example, 5 seconds).

[0085] When a spontaneous movement is to be performed (step S105; YES), the control unit 110 executes spontaneous movement processing including breathing movement and the like, using the "elapse of the first reference time" as an movement trigger (step S106), and then proceeds to step S107.

[0086] Next, the operation control process executed in step S104 will be described with reference to FIG.

[0087] When the operation control process starts, the control unit 110 acquires the number of days of growth (step S201).

[0088] Next, the control unit 110 refers to the selection table 123 shown in Fig. 11 and reads out the probability of selecting an action corresponding to the action trigger given when executing the action control process and the number of days of growth acquired in step S201 (step S202). Then, the control unit 110 selects the type of action using a random number based on the read probability of selecting the action (step S203).

[0089] For example, if the number of days of growth is 8 and the action trigger is "petting the head," the control unit 110 will select, as the type of action, a "basic gesture" with a 60% probability, a "personality gesture" with a 20% probability, and a "personality gesture" with a 20% probability (see FIG. 11).

[0090] Next, the control unit 110 selects a gesture ID from the selected action (step S204). For example, when "basic gesture" is selected, a gesture ID is selected from among 20 to 22 using random numbers or the like. When "personality gesture" is selected, a gesture ID is selected from among 30 to 33 based on the personality parameters. Specifically, the personality with the largest value among the personality value (cheerful), personality value (shy), personality value (active), and personality value (spoiled) is set as the personality of the robot 200. When the personality is cheerful, gesture ID 30 is selected; when the personality is shy, gesture ID 31 is selected; when the personality is active, gesture ID 32 is selected; and when the personality is spoiled, gesture ID 33 is selected (see FIG. 12). When "emotion gesture" is selected, a gesture ID is selected from among 40 to 42 using random numbers or the like.

[0091] Next, the control unit 110 acquires an action file defined in the action table 124 based on the selected action ID (step S205). The action file is stored in the action table 125 shown in Fig. 13. The control unit 110 also acquires audio data indicating a cry simultaneously with the action file. The audio data indicating a cry is stored in the action table 124.

[0092] Next, the control unit 110 operates the robot 200 based on the data indicating the operation file and the cry (step S206). When ID20 is selected as the selected ID and "0_m21_1.txt" is selected as the operation file, the operation control unit 114 refers to the operation table 125 shown in Fig. 13, and first controls the twist motor 221 and the up-down motor 222 so that the angle becomes 0 degrees after 100 milliseconds, and controls the angle of the up-down motor 222 to -24 degrees after 100 milliseconds. Then, the operation control unit 114 controls the motors not to rotate for 700 milliseconds thereafter, and controls the angle of the twist motor 221 to 34 degrees and the angle of the up-down motor 222 to -24 degrees after 500 milliseconds. Then, 400 milliseconds later, the operation control unit 114 controls the angle of the twist motor 221 to -34 degrees, and 500 milliseconds later, controls both the twist motor 221 and the up-down motor 222 to have angles of 0 degrees, completing the operation. In addition, in parallel with driving the twist motor 221 and the up-down motor 222, the operation control unit 114 plays a short beep from the speaker 231 using audio data for the short beep.

[0093] Next, control unit 110 obtains the amount of emotion change defined in gesture table 124, and updates the emotion parameter by adding or subtracting the amount of emotion change to the current emotion parameter (step S207).

[0094] Next, control unit 110 sets personality parameters in accordance with the updated emotion parameters (step S208). Specifically, control unit 110 calculates each personality value of the personality parameters from the emotion change amount according to (Equation 1) described above.

[0095] Returning to FIG. 14, after executing step S104 or step S106, the control unit 110 judges whether or not to end the process (step S107). If the process is not to end (step S107; NO), the control unit 110 judges whether or not the date has changed by the clock function (step S108). If the date has not changed (step S108; NO), the process returns to step S102.

[0096] If the date has changed (step S108; YES), the control unit 110 adds 1 to the number of days of growth (step S109) and returns to step S102.

[0097] On the other hand, when the operation unit 240 receives an instruction from the user to power off the robot 200, the process ends. When the process ends (step S107; YES), the control unit 110 saves the current parameter data 121 in a non-volatile memory (e.g., a flash memory) of the storage unit 120 (step S110), and ends the robot control process shown in FIG.

[0098] As described above, the robot 200 according to the present embodiment has excellent expandability and can realistically simulate living things by including the selection table 123 and the gesture table 124. The selection table 123 stores data indicating an action trigger, data indicating the number of days of growth, data indicating a gesture ID, and data indicating the probability that the gesture ID will be selected, in correspondence with each other. This allows the control unit 110 to select an optimal gesture ID from the gesture IDs stored in the selection table 123, based on the action trigger and the number of days since birth. The gesture table 124 stores data indicating a gesture ID, data indicating an action file that defines the action of the robot 200, audio data indicating a cry, and data indicating an amount of emotion change, in correspondence with each other. This allows the control unit 110 to make the robot 200 execute an action defined in the gesture table 124 based on the selected gesture ID, and update the emotion parameter. In this way, by dividing the table into two tables, the selection table 123 for selecting the most suitable gesture ID from the action trigger and the number of days since birth, and the gesture table 124 that defines the action files corresponding to the gesture IDs, it is possible to easily expand and maintain the table, even if the number of types of data such as action files increases, compared to the case where the action is controlled by one table. This makes it possible for the robot 200 to realistically imitate a living thing. On the other hand, if the selection table 123 and the gesture table 124 are combined into one table, there are problems in that the information becomes complicated, it is not easy to expand, and maintenance is time-consuming.

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

[0100] In the above embodiment, the growth parameter is described as a pseudo-birth at the time of the first startup by the user after shipment from the factory, and is the number of days of growth from the birth. However, the growth parameter is not particularly limited as long as it indicates the pseudo growth of the robot 200. For example, the growth parameter may be a value obtained by accumulating the number of times an external stimulus is acquired, or may be determined based on the number of days of growth and a value obtained by accumulating the number of times an external stimulus is acquired. In this way, the robot 200 grows in response to external stimuli after the first startup, allowing the user to feel a pseudo growth.

[0101] In the above embodiment, an example in which the emotion change amount is stored in the gesture table 124 has been described, but the emotion change amount may be any amount that can change the simulated emotion of the robot 200. For example, the emotion change amount may be stored in the selection table 123 in association with a motion trigger. In this case, the parameter setting unit 113 updates the emotion parameter based on the emotion change amount corresponding to the motion trigger. After that, the parameter setting unit 113 sets a personality parameter indicating the simulated personality of the robot 200 in accordance with the updated emotion parameter, and sets the simulated personality of the robot based on the personality parameter. The parameter setting unit 113 may also update the emotion change amount in accordance with the external stimulus acquired by the external stimulus acquisition unit 111. In this manner, the robot 200 can realistically imitate a living thing.

[0102] In the above embodiment, the exterior 201 is formed in a cylindrical shape from the head 204 to the torso 206, and the robot 200 has a crawling shape. However, the robot 200 is not limited to imitating a crawling creature. For example, the robot 200 may have a shape with arms and legs and imitate a four-legged or two-legged creature.

[0103] In the above embodiment, the control device 100 is built into the robot 200, but the control device 100 may be a separate device (e.g., a server) without being built into the robot 200. When the control device 100 exists outside the robot 200, the robot 200 communicates with the control device 100 via a communication unit to transmit and receive data to and from the control device 100. Through such communication with the robot 200, the external stimulus acquisition unit 111 acquires the external stimulus detected by the sensor unit 210, and the operation control unit 114 controls the drive unit 220 and the output unit 230.

[0104] In the above embodiment, the control unit 110 functions as each of the external stimulus acquisition unit 111, the parameter setting unit 113, and the operation control unit 114 by the CPU executing the program stored in the ROM. However, in the present invention, the control unit 110 is not limited to being processed by only one CPU, and multiple CPUs may execute processing in cooperation. In addition, the control unit 110 may include dedicated hardware such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or various control circuits instead of a CPU, and the dedicated hardware may function as each of the external stimulus acquisition unit 111, the parameter setting unit 113, and the operation control unit 114. In this case, the functions of each unit may be realized by individual hardware, or the functions of each unit may be realized by a single hardware. In addition, some of the functions of each unit may be realized by dedicated hardware, and the other parts may be realized by software or firmware.

[0105] It is possible to provide a robot that is equipped with the configuration for realizing the functions according to the present invention, and also to make an existing information processing device or the like function as a robot according to the present invention by applying a program. That is, by applying a program for realizing each functional configuration of the robot 200 exemplified in the above embodiment so that it can be executed by a CPU or the like that controls an existing information processing device, it can function as a robot according to the present invention.

[0106] Moreover, the method of applying such a program is arbitrary. For example, the program can be applied by storing it in a computer-readable storage medium such as a flexible disk, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, or a memory card. Furthermore, the program can be superimposed on a carrier wave and applied via a communication medium such as the Internet. For example, the program can be posted and distributed on a bulletin board (BBS: Bulletin Board System) on a communication network. Then, the program can be started and executed under the control of an OS (Operating System) in the same way as other application programs, thereby enabling the above-mentioned processing to be executed.

[0107] The above describes preferred embodiments of the present invention. However, the present invention is not limited to the above-described embodiments, and various modifications and substitutions can be made to the above-described embodiments without departing from the scope of the claims. [Explanation of symbols]

[0108] 100...control device, 110...control unit, 111...external stimulus acquisition unit, 113...parameter setting unit, 114...motion control unit, 120...storage unit, 121...parameter data, 123...selection table, 124...gesture table, 125...motion table, 200...robot, 201...exterior, 202...decorative part, 203...hair, 204...head, 205...connection unit, 206...torso unit, 207...casing, 210...sensor unit, 211...touch sensor, 212...acceleration sensor, 213...microphone, 214...gyro sensor, 215...illuminance sensor, 220...drive unit, 221...twist motor, 222...up and down motor, 230...output unit, 231...speaker, 240...operation unit, 300...emotion map, 301 to 303...frames, 400...personality value radar chart, BL...bus line

Claims

1. A robot that operates autonomously, a first table for storing growth parameters indicating the growth of the robot and data indicating gesture information for specifying an action of the robot according to the growth parameters in a corresponding manner; a second table for storing data indicating the gesture information and data indicating an action file that defines an action of the robot in association with each other; Obtaining the growth parameters; a control unit that causes the robot to execute an operation corresponding to the acquired growth parameter based on the data stored in the first table and the data stored in the second table; A robot comprising:

2. the first table stores a growth parameter indicating a growth of the robot, data indicating the gesture information, and data indicating a probability that the gesture information will be selected, in association with each other; The control unit is causing the robot to execute any one of a plurality of actions corresponding to the growth parameter based on the probability, based on the data stored in the first table and the second table; The robot according to claim 1.

3. The control unit acquires an external stimulus, the first table further includes data indicating a trigger of an action corresponding to the external stimulus, and stores the data indicating the trigger, the growth parameter, the data indicating the gesture information, and data indicating a probability that the gesture information will be selected in correspondence with each other; When the control unit detects the external stimulus, the control unit causes the robot to perform an action based on the trigger.

3. The robot according to claim 2 .

4. the second table includes sound data indicating a cry corresponding to the behavior information, The control unit causes the robot to operate based on the action file and the voice data corresponding to the gesture information. The robot according to any one of claims 1 to 3.

5. The control unit sets parameters indicating simulated emotions and personalities of the robot, the second table includes data indicating an emotion change amount corresponding to the gesture information, the control unit updates an emotion parameter based on the emotion change amount corresponding to the gesture information, and, in response to the emotion parameter being updated, sets a personality parameter indicating a pseudo personality of the robot, and sets the pseudo personality of the robot based on the personality parameter. The robot according to any one of claims 1 to 3.

6. The control unit sets parameters indicating simulated emotions and personalities of the robot, the first table includes data indicating an amount of emotion change corresponding to a trigger, the control unit updates an emotion parameter based on the emotion change amount corresponding to the trigger, and as the emotion parameter is updated, sets a personality parameter indicating a pseudo personality of the robot, and sets the pseudo personality of the robot based on the personality parameter. The robot according to any one of claims 1 to 3.

7. the personality parameters include a plurality of personality values ​​each representing a different degree of personality; The control unit sets a pseudo personality of the robot based on the personality value.

6. The robot according to claim 5.

8. the first table includes gesture information depending on a pseudo personality of the robot; the control unit selects the gesture information corresponding to the personality based on the set pseudo personality of the robot, and causes the robot to perform an action based on the selected gesture information.

6. The robot according to claim 5.

9. The growth parameters include data indicating an elapsed time from a reference date and time.

3. The robot according to claim 1 or 2.

10. A method for controlling an autonomously operating robot, comprising: a first table for storing growth parameters indicating the growth of the robot and data indicating gesture information for specifying an action of the robot according to the growth parameters in a corresponding manner; a second table for storing data indicating the gesture information and data indicating an action file that defines an action of the robot in association with each other; A method for controlling an autonomously operating robot comprising: causing the robot to execute an operation corresponding to the acquired growth parameter based on the data stored in the first table and the data stored in the second table; A method for controlling a robot comprising the steps of:

11. a first table for storing growth parameters indicating the growth of a robot and data indicating gesture information for specifying an action of the robot in accordance with the growth parameters in a corresponding manner; a second table for storing data indicating the gesture information and data indicating an action file that defines an action of the robot in association with each other; A computer for an autonomously operating robot comprising: a control unit that causes the robot to execute an operation corresponding to the acquired growth parameter based on the data stored in the first table and the data stored in the second table; A program to function as a

Citation Information

Patent Citations

  • Robot

    JP2003285286A