Robots, methods of expression, and programs

JP7898481B2Inactive Publication Date: 2026-07-31CASIO COMPUTER CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CASIO COMPUTER CO LTD
Filing Date
2024-07-04
Publication Date
2026-07-31
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Benefits of technology

【0007】 本発明によれば、生き物感を失うことを抑制しつつ充電残量レベルを知らせることができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007898481000001
    Figure 0007898481000001
  • Figure 0007898481000002
    Figure 0007898481000002
  • Figure 0007898481000003
    Figure 0007898481000003
Patent Text Reader

Abstract

To express a shaking motion without using a vibration motor.SOLUTION: A robot 200 comprises: a trunk that can come into contact with a mounting surface; a head that is connected to the front end of the trunk to be rotatable about a first rotation axis extending in the cross direction of the trunk and to be rotatable about a second rotation axis extending in the width direction of the trunk and that can come into contact with the mounting surface; a drive unit 220 that rotates independently about the first rotation axis and about the second rotation axis to drive the head; and a processing unit 110 that executes preparation control for rotating the head at a preparation angle about the second rotation axis and vibration control for alternately repeating forward rotation and reverse rotation of the head about the first rotation axis by controlling the drive unit 220.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 representation method, and a program.

Background Art

[0002] Robots that can express a sense of life by having an appearance and movement similar to those of living organisms have been developed. For example, Patent Document 1 discloses a pet-type robot that can express a sense of life, such as driving legs to walk and wagging a tail, by using motors.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] The pet-type robot described in Patent Document 1 can express a sense of life by using motors, but it does not disclose anything regarding shaking the body in order to further improve the sense of life. 。

[0005] This invention provides a way to indicate the remaining charge level while suppressing the loss of a sense of life. An object of the present invention is to provide a robot, a representation method, and a program that can achieve this.

Means for Solving the Problems

[0006] To achieve the above objective, a robot according to a first embodiment of the present invention comprises a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, and has a biological appearance, and comprises a first detection means for detecting the remaining charge of the battery, and a control means for controlling the robot to perform a trembling gesture as a gesture to indicate the remaining charge, wherein the control means causes the trembling gesture to be performed a predetermined number of times when the remaining charge detected by the first detection means falls below a predetermined first threshold, and causes the trembling gesture to be performed more than the predetermined number of times when the remaining charge detected by the first detection means falls below a second threshold set to a value smaller than the first threshold The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. It is characterized by the following: Furthermore, a robot according to a second embodiment of the present invention comprises a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, and has a biological appearance, and comprises a first detection means for detecting the remaining charge of the battery, and a control means for controlling the robot to perform a trembling gesture as a gesture to indicate the remaining charge, wherein the control means causes the trembling gesture to be performed for a predetermined duration when the remaining charge detected by the first detection means falls below a predetermined first threshold, and causes the trembling gesture to be performed for a longer duration than the predetermined duration when the remaining charge detected by the first detection means falls below a second threshold set to a value smaller than the first threshold The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. It is characterized by the following: Furthermore, a third embodiment of the present invention is a robot having a biological appearance and equipped with a rechargeable battery, comprising: a housing in which the head is connected to the body via a connecting portion; a first detection means for detecting the remaining charge of the battery; and a control means for controlling the robot to perform a trembling gesture as a gesture to indicate the remaining charge, wherein the control means controls the connecting portion so that the housing bends between the head and the body prior to the start of the trembling gesture, and increases the number of times the trembling gesture is performed when the remaining charge detected by the first detection means falls below a predetermined threshold. Furthermore, a first embodiment of the present invention is a method of expression performed by a robot having a biological appearance, comprising a housing in which the head is connected to the body via a connecting part, and a rechargeable battery, and includes a control process that controls the robot to perform a trembling gesture as a gesture to indicate the remaining charge amount detected by a detection means, wherein the control process causes the trembling gesture to be performed a predetermined number of times when the remaining charge amount detected by the detection means falls below a predetermined first threshold, and causes the trembling gesture to be performed more than the predetermined number of times when the remaining charge amount detected by the detection means falls below a second threshold set to a value smaller than the first threshold The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. It is characterized by the following: Furthermore, a second embodiment of the present invention is a method of expression performed by a robot having a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, and includes a control process that controls the robot to perform a trembling gesture as a gesture to indicate the remaining charge amount detected by a detection means, wherein the control process causes the trembling gesture to be performed for a predetermined duration when the remaining charge amount detected by the detection means falls below a predetermined first threshold, and causes the trembling gesture to be performed for a longer duration than the predetermined duration when the remaining charge amount detected by the detection means falls below a second threshold set to a value smaller than the first threshold The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. It is characterized by the following: Furthermore, a third embodiment of the present invention is a method of expression performed by a robot having a biological appearance, comprising a housing in which the head is connected to the body via a connecting portion, and a rechargeable battery, the method of expression being performed by a robot, the robot being controlled to perform a trembling gesture as a gesture to indicate the remaining charge amount detected by a detection means, the control process being characterized in that, prior to the start of the trembling gesture, the connecting portion is controlled so that the housing bends between the head and the body, and when the remaining charge amount detected by the detection means falls below a predetermined threshold, the number of times the trembling gesture is performed is increased. Furthermore, the program of the first embodiment of the present invention comprises a housing in which the head is connected to the body via a connecting part, and a rechargeable battery, and the computer of the robot having a biological appearance is controlled by a control means to control the robot to perform a trembling gesture as a gesture to indicate the remaining charge amount detected by the detection means, the control means to perform the trembling gesture a predetermined number of times when the remaining charge amount detected by the detection means falls below a predetermined first threshold, and to perform the trembling gesture more than the predetermined number of times when the remaining charge amount detected by the detection means falls below a second threshold set to a value smaller than the first threshold The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. It is characterized by the following: Furthermore, a program according to a second aspect of the present invention comprises a housing in which the head is connected to the body via a connecting part, and a rechargeable battery, and the computer of a robot having a biological appearance is controlled by a control means to control the robot to perform a trembling gesture as a gesture to indicate the remaining charge level detected by a detection means, the control means to perform the trembling gesture for a predetermined duration when the remaining charge level detected by the detection means falls below a predetermined first threshold, and to perform the trembling gesture for a longer duration than the predetermined duration when the remaining charge level detected by the detection means falls below a second threshold set to a value smaller than the first threshold The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. It is characterized by the following: Furthermore, a third aspect of the present invention is a program that controls a robot having a biological appearance, comprising a housing in which the head is connected to the body via a connecting portion, and a rechargeable battery, by having a computer that controls the robot to perform a trembling gesture as a gesture to indicate the remaining charge amount detected by a detection means, wherein the control means controls the connecting portion so that the housing bends between the head and the body prior to the start of the trembling gesture, and increases the number of times the trembling gesture is performed when the remaining charge amount detected by the detection means falls below a predetermined threshold. [Effects of the Invention]

[0007] According to the present invention, It displays the remaining battery level while minimizing the loss of a sense of life. it is possible.

Brief Description of Drawings

[0008] [Figure 1] It is a diagram showing the appearance of the robot according to the embodiment. [Figure 2] It is a cross-sectional view seen from the side of the robot according to the embodiment. [Figure 3] It is a diagram for explaining the housing of the robot according to the embodiment. [Figure 4] It is a diagram for explaining an example of the movement of the twisting motor of the robot according to the embodiment. [Figure 5] It is another diagram for explaining an example of the movement of the twisting motor of the robot according to the embodiment. [Figure 6] It is a diagram for explaining an example of the movement of the vertical motor of the robot according to the embodiment. [Figure 7] It is another diagram for explaining an example of the movement of the vertical motor of the robot according to the embodiment. [Figure 8] It is a block diagram showing the functional configuration of the robot according to the embodiment. [Figure 9] It is a diagram for explaining an example of the emotion map according to the embodiment. [Figure 10] It is a diagram for explaining an example of the personality value radar chart according to the embodiment. <00000-81>It is a diagram for explaining an example of the growth table according to the embodiment. [Figure 12] It is a diagram for explaining an example of the operation content table according to the embodiment. [Figure 13] It is a diagram for explaining an example of the motion table according to the embodiment. [Figure 14] It is the first part of the flowchart of the operation control process according to the embodiment. [Figure 15] It is the second part of the flowchart of the operation control process according to the embodiment. [[ID=5!]] [Figure 16] It is a flowchart of the operation selection process according to the embodiment. [Figure 17] It is a flowchart of the remaining amount notification operation process according to the embodiment. [Figure 18] It is a flowchart of the remaining amount confirmation process according to the embodiment. [Figure 19] It is a flowchart of the temperature confirmation process according to the embodiment. [Figure 20] It is a flowchart of the vibration operation process according to the embodiment. [Figure 21] It is a diagram for explaining an example of the state where the head of the robot according to the embodiment is lowered. [Figure 22] It is a diagram for explaining an example of the state where the head of the robot according to the embodiment rotates forward. [Figure 23] It is a diagram for explaining an example of the state where the head of the robot according to the embodiment rotates backward. [Figure 24] It is a block diagram showing the functional configuration of the control device of the equipment and the robot according to the modification example.

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) An embodiment in which the control device of the equipment in the present invention is applied to the robot 200 shown in FIG. 1 will be described with reference to the drawings. The robot 200 according to the embodiment is a small pet robot that is driven by a rechargeable battery and mimics a small animal. As shown in FIG. 1, the robot 200 is covered with an exterior 201 provided with decorative parts 202 mimicking eyes and fluffy hair 203. Further, inside the exterior 201, the housing 207 of the robot 200 is housed. As shown in FIG. 2, the housing 207 of the robot 200 is composed of a head 204, a connecting portion 205, and a body portion 206, and the head 204 and the body portion 206 are connected by the connecting portion 205.

[0011] In the following explanation, assuming that the robot 200 is placed normally on a surface such as a floor, the direction of the part corresponding to the face of the robot 200 (the part of the head 204 opposite to the body 206) is defined as the front, and the direction of the part corresponding to the buttocks (the part of the body 206 opposite to the head 204) is defined as the back. Also, the direction of the part that contacts the surface when the robot 200 is placed normally is defined as the bottom, and the opposite direction is defined as the top. Furthermore, the direction that is perpendicular to the straight line extending in the front-to-back direction of the robot 200 and also perpendicular to the straight line extending in the up-to-down direction is defined as the width direction.

[0012] As shown in Figure 2, the torso 206 extends in the front-to-back direction. The torso 206 contacts the floor, table, or other surface on which the robot 200 is placed via the outer casing 201. Also, as shown in Figure 2, a twist motor 221 is provided at the front end of the torso 206, and the head 204 is connected to the front end of the torso 206 via a connecting part 205. The connecting part 205 is equipped with an up-and-down motor 222. Note that in Figure 2, the twist motor 221 is provided on the torso 206, but it may also be provided on the connecting part 205 or on the head 204.

[0013] The connecting section 205 connects the body section 206 and the head section 204 so that they can rotate freely (by the twist motor 221) around a first rotation axis that extends in the front-rear direction of the body section 206 through the connecting section 205. As shown in Figures 4 and 5, which are front views of the housing 207, the twist motor 221 rotates the head section 204 clockwise (rightward) around the first rotation axis within a forward rotation angle range (forward rotation) or counterclockwise (leftward) within a reverse rotation angle range (reverse rotation) relative to the body section 206. In this explanation, clockwise rotation refers to clockwise rotation when viewed from the body section 206 towards the head section 204. Clockwise rotation will also be called "twist rotation to the right," and counterclockwise rotation will be called "twist rotation to the left." The maximum value of the angle of twist rotation to the right or left is arbitrary, but in this embodiment, it is assumed that it can rotate up to 90 degrees to the left and right. In Figures 4 and 5, the angle of the head 204 in the state shown in Figure 3, where the head 204 is not twisted to the right or left, is defined as 0 degrees. The angle when twisted and rotated to the far right (clockwise) is defined as -90 degrees, and the angle when twisted and rotated to the far left (counterclockwise) is defined as +90 degrees.

[0014] Furthermore, the connecting portion 205 connects the body portion 206 and the head portion 204 so that they can rotate freely (by the up / down motor 222) around a second rotation axis that extends in the width direction of the body portion 206 through the connecting portion 205. As shown in Figures 6 and 7, which are side views of the housing 207, the up / down motor 222 rotates the head portion 204 upward within a forward rotation angle range (forward rotation) or downward within a reverse rotation angle range (reverse rotation) around the second rotation axis. The maximum value of the angle of rotation upward or downward is arbitrary, but in this embodiment, it is assumed that it can rotate up to 75 degrees in both directions. In Figures 6 and 7, the angle of the head portion 204 when it is not rotated upward or downward (hereinafter referred to as the "up / down reference angle") as shown in Figure 2 is 0 degrees, the angle when it is rotated as far downward as possible is -75 degrees, and the angle when it is rotated as far upward as possible is +75 degrees. When the head 204 is rotated to or below the vertical reference angle by vertical rotation around the second rotation axis, it can contact the mounting surface such as the floor or table on which the robot 200 is placed via the outer casing 201. In Figure 2, an example is shown where the first rotation axis and the second rotation axis are orthogonal to each other, but the first and second rotation axes do not have to be orthogonal to each other.

[0015] Furthermore, as shown in Figure 2, the robot 200 is equipped with a touch sensor 211 on its head 204, which can detect when the user strokes or taps the head 204. It is also equipped with a touch sensor 211 on its body 206, which can detect when the user strokes or taps the body 206.

[0016] Furthermore, the robot 200 is equipped with an acceleration sensor 212 on its torso 206, which can detect the robot's own posture and whether it is being lifted, turned, or thrown by the user. The robot 200 is also equipped with a microphone 213 on its torso 206, which can detect external sounds. In addition, the robot 200 is equipped with a speaker 231 on its torso 206, which can be used to emit sounds or sing songs.

[0017] Furthermore, the robot 200 is equipped with an illuminance sensor 214 on its torso 206, which allows it to detect ambient brightness. Since the outer casing 201 is made of a light-transmitting material, the robot 200 can still detect ambient brightness with the illuminance sensor 214 even when covered by the outer casing 201.

[0018] Furthermore, the robot 200 is equipped with a temperature sensor 215 on its torso 206, which allows it to acquire ambient temperature.

[0019] The robot 200 also includes a battery (not shown) to power the twist motor 221 and the up / down motor 222, and a wireless power supply receiving circuit 255. The wireless power supply receiving circuit 255 is located in the torso 206 and receives power from a wireless charging device (not shown) that is provided separately from the robot 200 when charging the battery.

[0020] In this embodiment, the acceleration sensor 212, microphone 213, illuminance sensor 214, temperature sensor 215, and speaker 231 are provided on the body 206, but all or some of these may be provided on the head 204. In addition, in addition to the acceleration sensor 212, microphone 213, illuminance sensor 214, temperature sensor 215, and speaker 231 provided on the body 206, all or some of these may also be provided on the head 204. Furthermore, the touch sensor 211 is provided on both the head 204 and the body 206, but it may be provided on only one of either the head 204 or the body 206. In addition, multiple touch sensors may be provided.

[0021] Furthermore, in this embodiment, since the housing 207 of the robot 200 is covered by the outer casing 201, the head 204 and torso 206 are indirectly in contact with the surface on which the robot 200 is placed, such as the floor or table, via the outer casing 201. However, the embodiment is not limited to this configuration, and the head 204 and torso 206 may be in direct contact with the surface on which the robot is placed. For example, the lower part of the outer casing 201 (the part that contacts the surface on which the robot is placed) may be absent, leaving the lower part of the housing 207 (the part that contacts the surface on which the robot is placed) exposed, or the outer casing 201 may be absent at all, leaving the entire housing 207 exposed.

[0022] Next, the functional configuration of the robot 200 will be described. As shown in Figure 8, the robot 200 comprises a device control unit 100, a sensor unit 210, a drive unit 220, an output unit 230, an operation unit 240, and a power control unit 250. The device control unit 100 comprises a processing unit 110, a storage unit 120, and a communication unit 130. In Figure 8, the device control unit 100, the sensor unit 210, the drive unit 220, the output unit 230, the operation unit 240, and the power control unit 250 are connected via a bus line BL, but this is just one example. The device control unit 100, the sensor unit 210, the drive unit 220, the output unit 230, the operation unit 240, and the power control unit 250 may be connected via a wired interface such as a USB (Universal Serial Bus) cable or a wireless interface such as Bluetooth®. Furthermore, the processing unit 110 may be connected to the storage unit 120 and the communication unit 130 via a bus line BL or the like.

[0023] The device control unit 100 controls the operation of the robot 200 using the processing unit 110 and the storage unit 120.

[0024] The processing unit 110 is composed of, for example, a CPU (Central Processing Unit) and executes various processes described later based on the program stored in the memory unit 120. The processing unit 110 supports multithreading, allowing it to execute multiple processes in parallel, thus enabling the various processes described later to be executed concurrently. Furthermore, the processing unit 110 also includes clock and timer functions, enabling it to measure dates and times.

[0025] The memory unit 120 consists of ROM (Read Only Memory), flash memory, RAM (Random Access Memory), etc. The ROM stores the program executed by the CPU of the processing unit 110 and the data necessary in advance for executing the program. The flash memory is a writable, non-volatile memory that stores data that should be preserved even after the power is turned off. The RAM stores data that is created or modified during program execution.

[0026] The communication unit 130 is equipped with a communication module compatible with wireless LAN (Local Area Network), Bluetooth (registered trademark), etc., and communicates data with external devices such as smartphones. Examples of data communication include receiving requests for battery level notifications and transmitting battery level information in order to display the remaining battery level of the robot 200 on a smartphone or the like.

[0027] The sensor unit 210 includes the aforementioned touch sensor 211, acceleration sensor 212, microphone 213, illuminance sensor 214, and temperature sensor 215. The processing unit 110 acquires the detection values ​​detected by the various sensors in the sensor unit 210 via the bus line BL as external stimulus data representing external stimuli acting on the robot 200. The sensor unit 210 may also include sensors other than the touch sensor 211, acceleration sensor 212, microphone 213, illuminance sensor 214, and temperature sensor 215. By increasing the types of sensors included in the sensor unit 210, the types of external stimuli that the processing unit 110 can acquire can be increased. Conversely, the sensor unit 210 does not necessarily need to include all of the above-mentioned sensors. For example, if control based on ambient brightness is not required, the sensor unit 210 does not need to include the illuminance sensor 214.

[0028] The touch sensor 211 detects when an object makes contact with it. The touch sensor 211 is composed of, for example, a pressure sensor or a capacitance sensor. Based on the values ​​detected from the touch sensor 211, the processing unit 110 obtains the contact strength and contact time, and based on these values, can detect external stimuli such as the robot 200 being stroked or tapped by the user (see, for example, Japanese Patent Application Publication No. 2019-217122). The processing unit 110 may also detect these external stimuli with sensors other than the touch sensor 211 (see, for example, Japanese Patent Application Publication No. 6575637).

[0029] The acceleration sensor 212 detects acceleration in three axes: the front-to-back, left-to-right, and up-and-down directions of the robot's torso 206. When the robot 200 is stationary, the acceleration sensor 212 detects gravitational acceleration, so the processing unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212. Furthermore, if, for example, a user lifts or throws the robot 200, the acceleration sensor 212 detects acceleration associated with the movement of the robot 200 in addition to gravitational acceleration. Therefore, the processing unit 110 can detect the movement of the robot 200 by removing the component of gravitational acceleration from the detected value obtained by the acceleration sensor 212.

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

[0031] The illuminance sensor 214 is equipped with a light-receiving element such as a photodiode and detects the ambient brightness (illuminance). For example, if the processing unit 110 detects that the surroundings are dark using the illuminance sensor 214, it can perform control to simulate putting the robot 200 to sleep (put it into sleep control mode).

[0032] The temperature sensor 215 is equipped with a thermocouple, resistance thermometer, etc., and acquires the ambient temperature. For example, if the processing unit 110 detects that the ambient temperature is low using the temperature sensor 215, it can perform control to make the robot 200 vibrate.

[0033] The drive unit 220 includes a twist motor 221 and an up / down motor 222 as movable parts for expressing the movement of the robot 200 (the robot itself). The drive unit 220 (twist motor 221 and up / down motor 222) is driven by the processing unit 110. The twist motor 221 and up / down motor 222 are servo motors, and when the processing unit 110 instructs them to rotate with a specified operating time and operating angle, they operate to rotate to a position with a specified operating angle by the specified operating time. The drive unit 220 may also be equipped with other suitable actuators as movable parts, such as a fluid pressure motor. By controlling the drive unit 220 from the processing unit 110, the drive unit 220 drives the head 204 of the robot 200. This allows the robot 200 to express movements such as lifting the head 204 (rotating it upward around the second rotation axis) or twisting it sideways (twisting and rotating it to the right or left around the first rotation axis). The motion control data for performing these actions is recorded in the motion table 125, which will be described later. Based on the detected external stimuli and growth values, which will be described later, the robot 200's movements are controlled.

[0034] The output unit 230 is equipped with a speaker 231, and when the processing unit 110 inputs sound data (e.g., sampling data) to the output unit 230, sound is output from the speaker 231. For example, when the processing unit 110 inputs sampling data of the robot 200's vocalizations to the output unit 230, the robot 200 emits a simulated vocalization. This vocalization sampling data is also recorded in the motion table 125, and the vocalization is selected based on detected external stimuli and growth values, which will be described later. The output unit 230, which is composed of the speaker 231, is also called the sound output unit.

[0035] 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, and may display an image on the display or emit light from the LED or the like based on the detected external stimuli or growth values ​​described later.

[0036] The control unit 240 consists of, for example, control buttons, a volume knob, etc. The control unit 240 is an interface for receiving operations by the user (owner or borrower), such as turning the power on / off, adjusting the volume of the output sound, etc. In order to further enhance the sense of life, the robot 200 may have only a power switch inside the casing 201 as the control unit 240, and may not have any other control buttons, volume knobs, etc. Even in this case, operations such as adjusting the volume of the robot 200 can be performed using an external smartphone or the like connected via the communication unit 130.

[0037] The power control unit 250 includes a sub-microcontroller, a charging IC (Integrated Circuit), a power control IC, a wireless power supply receiving circuit 255, etc., and performs power control such as charging the robot 200's battery, obtaining the battery level, and controlling the ON / OFF of the power supply of the main function unit that realizes the main functions of the robot 200. The main function unit is the part of the robot 200 that is made up of functional units, excluding the power control unit 250, and includes the processing unit 110, the drive unit 220, etc.

[0038] In robot 200, in order to give it a lifelike appearance, the battery is charged wirelessly without connecting charging cables or the like. The wireless charging method is arbitrary, but in this embodiment, an electromagnetic induction method is used. When robot 200 is placed on the wireless charging device, an induced magnetic flux is generated between the wireless power supply receiving circuit 255 provided on the bottom surface of the body 206 and the external wireless charging device, and charging takes place.

[0039] Next, we will explain in order the data stored in the memory unit 120, which are characteristic of this embodiment: emotion data 121, emotion change data 122, growth table 123, action content table 124, motion table 125, and growth days data 126.

[0040] Emotional data 121 is data used to give the robot 200 simulated emotions, and it is data (X,Y) indicating coordinates on the emotion map 300. As shown in Figure 9, the emotion map 300 is represented by a two-dimensional coordinate system with the X axis 311 representing the degree of security (anxiety) and the Y axis 312 representing the degree of excitement (apathy). The origin 310(0,0) on the emotion map represents the normal emotion. A positive X coordinate value (X value) with a large absolute value represents a high degree of security, and a positive Y coordinate value (Y value) with a large absolute value represents a high degree of excitement. Similarly, a negative X value with a large absolute value represents a high degree of anxiety, and a negative Y value with a large absolute value represents a high degree of apathy.

[0041] The emotion data 121 represents multiple (four in this embodiment) pseudo-emotions that are different from each other. In this embodiment, among the values ​​representing pseudo-emotions, the sense of security and the sense of anxiety are represented together on one axis (X axis), and the sense of excitement and the sense of apathy are represented together on another axis (Y axis). Therefore, the emotion data 121 has two values, X values ​​(sense of security, sense of anxiety) and Y values ​​(sense of excitement, sense of apathy), and the points on the emotion map 300 represented by the X values ​​and Y values ​​represent the pseudo-emotions of the robot 200. The initial value of the emotion data 121 is (0,0).

[0042] Emotion data 121 is data representing the simulated emotions of the robot 200. In Figure 9, 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, and one value may be set as emotion data 121. Alternatively, the emotion map 300 may be defined in a coordinate system of three or more dimensions by adding other axes, and the number of values ​​corresponding to the number of dimensions of the emotion map 300 may be set as emotion data 121.

[0043] In this embodiment, the initial size of the emotion map 300 is such that both the X and Y values ​​have a maximum value of 100 and a minimum value of -100, as shown in frame 301 of Figure 9. During the first period, for every day the number of simulated growth days of the robot 200 increases, both the maximum and minimum values ​​of the emotion map 300 increase by 2. Here, the first period is the period during which the robot 200 simulates growth, and is, for example, 50 days from the simulated birth of the robot 200. The simulated birth of the robot 200 refers to the first time the robot 200 is started by the user after being shipped from the factory. When the number of growth days reaches 25, as shown in frame 302 of Figure 9, both the X and Y values ​​have a maximum value of 150 and a minimum value of -150. Then, once the first period (50 days in this example) has elapsed, the simulated growth of robot 200 is considered complete, and as shown in frame 303 of Figure 9, both the X and Y values ​​have a maximum value of 200 and a minimum value of -200, and the size of the emotion map 300 is fixed.

[0044] The configurable range of emotion data 121 is defined by the emotion map 300. Therefore, as the size of the emotion map 300 increases, the range of configurable emotion data 121 also increases. By expanding the configurable range of emotion data 121, richer emotional expression becomes possible, and the pseudo-growth of the robot 200 is represented by the expansion of the emotion map 300. The size of the emotion map 300 is then fixed after the first period has elapsed, and the pseudo-growth of the robot 200 ends. Note that the conditions for stopping the pseudo-growth of the robot 200 are not limited to the above-mentioned "stop after the first period has elapsed," and other conditions may be added. For example, "stop when any of the four personality values ​​reach 10 (maximum)" may be used. If growth is stopped under this condition, the personality will be fixed when only one of the four personality values ​​reaches its maximum, making it possible to strongly express a specific personality.

[0045] The emotion change data 122 is data that sets the amount of change to increase or decrease the X and Y values ​​of the emotion data 121, respectively. In this embodiment, the emotion change data 122 corresponding to the X of the emotion data 121 includes DXP, which increases the X value, and DXM, which decreases the X value, and the emotion change data 122 corresponding to the Y value of the emotion data 121 includes DYP, which increases the Y value, and DYM, which decreases the Y value. In other words, the emotion change data 122 consists of the following four variables and is data that indicates the degree to which the simulated emotions of the robot 200 are changed. 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)

[0046] In this embodiment, as an example, the initial values ​​of these variables are all set to 10, and are increased to a maximum of 20 through a process that learns emotion change data in the motion control process described later. In this learning process, the emotion change data is changed according to a condition (first condition based on external stimulus data) based on whether the value of the emotion data has reached the maximum or minimum value of the emotion map 300. Note that the first condition based on external stimulus data is not limited to the above condition, but any condition can be set as long as it is a condition that changes (learns) the emotion change data before the size of the emotion map 300 is fixed (for example, a condition related to the degree of the pseudo emotion of the robot 200 represented by emotion data 121). As a result of this learning process, the emotion change data 122, i.e., the degree of emotion change, changes, so the robot 200 will have various personalities depending on how the user interacts with the robot 200. In other words, the personality of the robot 200 will be formed differently for each individual depending on how the user interacts with it.

[0047] Therefore, in this embodiment, each personality data (personality value) is derived by subtracting 10 from each emotion change data 122. 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 tendency to become anxious, is set as the personality value (shy); the value obtained by subtracting 10 from DYP, which indicates tendency to become excitable, is set as the personality value (active); and the value obtained by subtracting 10 from DYM, which indicates tendency to become lethargic, is set as the personality value (clingy). As a result, for example, as shown in Figure 10, a personality value radar chart 400 can be generated by plotting the personality value (cheerful) on axis 411, the personality value (active) on axis 412, the personality value (shy) on axis 413, and the personality value (clingy) on axis 414.

[0048] Since the initial value of each personality value is 0, the initial personality of the robot 200 is represented at the origin 410 of the personality value radar chart 400. As the robot 200 grows, each personality value changes up to a maximum of 10 based on external stimuli detected by the sensor unit 210 (how the user interacts with the robot 200). In this embodiment, where the four personality values ​​change from 0 to 10, it is possible to represent 11 to the power of 4 = 14,641 different personalities.

[0049] In this embodiment, the largest of these four personality values ​​is used as growth degree data (growth value) indicating the simulated growth rate of the robot 200. The processing unit 110 then controls the robot 200 so that variations occur in its movements as it undergoes simulated growth (as the growth value increases). The data used by the processing unit 110 for this purpose is the growth table 123.

[0050] As shown in Figure 11, the growth table 123 records the types of actions performed by the robot 200 in response to action triggers such as external stimuli detected by the sensor unit 210, and the probability of each action being selected according to the growth value (hereinafter referred to as "action selection probability"). The action selection probability is set so that when the growth value is small, a basic action set according to the action trigger is selected, regardless of the personality value, and as the growth value increases, a personality action set according to the personality value is selected. Furthermore, the action selection probability is set so that the number of types of basic actions that can be selected increases as the growth value increases. Note that in Figure 11, only one personality action is selected for each action trigger, but similar to the basic actions, the number of types of personality actions that can be selected may be increased as the personality value increases.

[0051] For example, let's assume that the current personality values ​​of robot 200 are as shown in Figure 10: personality value (cheerful) is 3, personality value (active) is 8, personality value (shy) is 5, and personality value (clingy) is 4, and that a loud sound is detected by microphone 213. In this case, the growth value will be 8, which is the maximum value among the four personality values, and the action trigger will be "a loud sound is heard". Then, referring to the item in the growth table 123 shown in Figure 11 where the action trigger is "a loud sound is heard" and the growth value is 8, we can see that the action selection probabilities are 20% for "basic action 2-0", 20% for "basic action 2-1", 40% for "basic action 2-2", and 20% for "personality action 2-0".

[0052] In other words, in this case, "Basic Action 2-0" is selected 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. If "Personality Action 2-0" is selected, then, depending on the four personality values, one of the four types of personality actions shown in Figure 12 is selected. The robot 200 then executes the action selected at this point. This mechanism is realized by the action control processing described later. Note that the action mode in which an action is selected from among the personality actions is called the first action mode, and the action mode in which an action is selected from among the basic actions is called the second action mode.

[0053] As will be explained later, since personality behaviors are selected with a probability corresponding to the magnitude of each of the four personality values, there is little variation in the selection when the personality values ​​are small (for example, mostly 0). Therefore, in this embodiment, the maximum value among the four personality values ​​is used as the growth value. This has the effect that the first behavior mode is selected when the variety of behaviors that can be selected as personality behaviors becomes richer. Note that, in addition to the maximum value, the sum, mean, mode, etc. can also be used as indicators to determine whether or not the variety of behaviors selected by the personality values ​​becomes richer, so the sum, mean, mode, etc. of the personality values ​​may be used as the growth value.

[0054] Furthermore, the growth table 123 can take any form as long as it can be defined as a function (growth function) that returns the action selection probability for each action type, taking the growth value as an argument for each action trigger; it does not necessarily have to be in the tabular format shown in Figure 11.

[0055] As shown in Figure 12, the Action Content Table 124 is a table that records the specific action details for each action type defined in the Growth Table 123. However, for personality actions, the action details are defined for each personality type. Note that the Action Content Table 124 is not mandatory data. For example, if the Growth Table 123 is structured so that the specific action details are directly recorded in the Action Type column of the Growth Table 123, the Action Content Table 124 is unnecessary.

[0056] As shown in Figure 13, the motion table 125 is a table that records how the processing unit 110 controls the twist motor 221 and the up / down motor 222 for each type of operation defined in the growth table 123. Specifically, as shown in Figure 13, for each type of operation, each row records 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. In this embodiment, audio data output from the speaker 231 for each type of operation is also recorded.

[0057] For example, if basic operation 2-0 is selected by the operation control process described later, the processing unit 110 first controls both the twist motor 221 and the up / down motor 222 to have an angle of 0 degrees after 100 milliseconds, and then controls the up / down motor 222 to have an angle of -24 degrees after another 100 milliseconds. Then, it does not rotate for 700 milliseconds, and after 500 milliseconds, it controls the twist motor 221 to have an angle of 34 degrees and the up / down motor 222 to have an angle of -24 degrees. Then, after 400 milliseconds, it controls the twist motor 221 to have an angle of -34 degrees, and after another 500 milliseconds, it controls both the twist motor 221 and the up / down motor 222 to have an angle of 0 degrees, completing the operation of basic operation 2-0. In parallel with driving the twist motor 221 and up / down motor 222 as described above, the processing unit 110 plays a short "peep" sound from the speaker 231 using audio data of a short "peep" sound.

[0058] The growth days data 126 starts at 1 and increases by 1 each day that passes. The growth days data 126 represents the pseudo growth days (pseudonym of days since birth) of robot 200.

[0059] Next, the motion control processing performed by the processing unit 110 of the device's control unit 100 will be explained with reference to the flowcharts shown in Figures 14 and 15. The motion control processing is the process by which the device's control unit 100 controls the drive unit and sound output of the robot 200 based on detected values ​​from the sensor unit 210, battery level, etc. When the user turns on the power to the robot 200, the thread for this motion control processing starts executing in parallel with other necessary processing. Through the motion control processing, the drive unit 220 and the output unit 230 (sound output unit) are controlled, and the robot 200's movements are expressed, and sounds such as cries and songs are output.

[0060] First, the processing unit 110 sets various data such as emotion data 121, emotion change data 122, and growth days data 126 (step S101). When the robot 200 is first started (the first time it is started by the user after being shipped from the factory), these values ​​are set to initial values ​​(the initial values ​​of emotion data 121, emotion change data 122, and growth days data 126 are all 0). However, for subsequent starts, the values ​​of the data saved in step S109, described later, of the previous robot control process are set. However, emotion data 121 may be initialized to 0 each time the power is turned on.

[0061] Next, the processing unit 110 determines whether or not there is an external stimulus detected by the sensor unit 210 (step S102). If there is an external stimulus (step S102; Yes), the processing unit 110 acquires the external stimulus from the sensor unit 210 (step S103).

[0062] Then, the processing unit 110 acquires emotion change data 122 to add to or subtract from emotion data 121 in response to the external stimulus acquired in step S103 (step S104). Specifically, for example, if the touch sensor 211 on the head 204 detects that the head 204 has been stroked as an external stimulus, the robot 200 will gain a pseudo-sense of security, so the processing unit 110 acquires DXP as emotion change data 122 to add to the X value of emotion data 121.

[0063] Then, the processing unit 110 sets the emotion data 121 according to the emotion change data 122 acquired in step S104 (step S105). Specifically, for example, if DXP was acquired as emotion change data 122 in step S104, the processing unit 110 adds the DXP of emotion change data 122 to the X value of emotion data 121. However, if adding emotion change data 122 would cause the value of emotion data 121 (X value, Y value) to exceed the maximum value of emotion map 300, the value of emotion data 121 is set to the maximum value of emotion map 300. Also, if subtracting emotion change data 122 would cause the value of emotion data 121 to be less than the minimum value of emotion map 300, the value of emotion data 121 is set to the minimum value of emotion map 300.

[0064] In steps S104 and S105, it is possible to arbitrarily set what kind of emotion change data 122 is acquired and how emotion data 121 is set for each external stimulus, but here is an example. Note that the maximum and minimum values ​​of the X and Y values ​​of emotion data 121 are determined by the size of the emotion map 300, so if the X and Y values ​​exceed the maximum value of the emotion map 300, the maximum value is set, and if they fall below the minimum value of the emotion map 300, the minimum value is set.

[0065] 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.)

[0066] For example, when the head 204 is stroked, the robot 200's simulated emotions become reassuring, so the DXP of the emotion change data 122 is added to the X value of the emotion data 121. Conversely, when the head 204 is struck, the robot 200's simulated emotions become anxious, and the DXM of the emotion change data 122 is subtracted from the X value of the emotion data 121. In step S103, the processing unit 110 acquires multiple external stimuli of different types from each other using the multiple sensors provided by the sensor unit 210. Therefore, emotion change data 122 is acquired according to each of these multiple external stimuli, and the emotion data 121 is set according to the acquired emotion change data 122.

[0067] Then, the processing unit 110 uses the information of the external stimulus acquired in step S103 as an action trigger to perform an action selection process (step S106), and then proceeds to step S108. The details of the action selection process will be described later, but an action trigger is information such as an external stimulus that causes the robot 200 to perform some kind of action.

[0068] On the other hand, if there is no external stimulus in step S102 (step S102; No), the processing unit 110 determines whether or not to perform a spontaneous action such as breathing (step S107). The method for determining whether or not to perform a spontaneous action is arbitrary, but in this embodiment, the determination in step S107 is set to Yes every first reference time (for example, 4 seconds).

[0069] If a voluntary action is to be performed (step S107; Yes), the processing unit 110 proceeds to step S106 and executes an action selection process using "elapsed first reference time" as the action trigger, and then proceeds to step S108.

[0070] If no voluntary action is taken (step S107; No), the process proceeds to Figure 15, where the processing unit 110 determines whether or not a remaining battery notification stimulus has been acquired (step S121). A remaining battery notification stimulus is an external stimulus that triggers an action to notify the remaining battery level, and in this embodiment, it is defined as "being held with the head up and having the head 204 stroked." This external stimulus (remaining battery notification stimulus) can be detected by the acceleration sensor 212 and the touch sensor 211 on the head 204.

[0071] If a remaining battery level notification stimulus is received (step S121; Yes), the processing unit 110 determines that the notification conditions for notifying the remaining battery level have been met and performs the remaining battery level notification operation process described later (step S122). Then, proceed to step S123. If a remaining battery level notification stimulus is not received (step S121; No), proceed to step S123.

[0072] In step S123, the processing unit 110 determines whether the remaining battery level check time has elapsed since the last remaining battery level check process was executed. The remaining battery level check time is the time interval at which the battery level is checked periodically, and in this embodiment, it is 10 minutes.

[0073] If the remaining charge check time has elapsed (step S123; Yes), the processing unit 110 performs the remaining charge check process described later (step S124) and proceeds to step S125. If the remaining charge check time has not elapsed (step S123; No), proceeds to step S125.

[0074] In step S125, the processing unit 110 determines, via the communication unit 130, whether or not it has received a battery level notification request from an external smartphone or the like. A battery level notification request is a request packet that requests the robot 200 to send information about the remaining battery level, and is sent from a smartphone or the like via Wi-Fi or the like.

[0075] If a battery level notification request is received (step S125; Yes), the processing unit 110 sends battery level information to the device that sent the battery level notification request (an external smartphone, etc.) (step S126), and proceeds to step S127. If no battery level notification request has been received (step S125; No), proceeds to step S127.

[0076] In step S127, the processing unit 110 determines whether or not the temperature check time has elapsed since the last temperature check process was executed. The temperature check time is the time interval at which the temperature is checked periodically, and in this embodiment, it is set to 10 minutes.

[0077] If the temperature check time has elapsed (step S127; Yes), the processing unit 110 performs the temperature check process described later (step S128), and then returns to Figure 14 and proceeds to step S108. If the temperature check time has not elapsed (step S127; No), returns to Figure 14 and proceeds to step S108.

[0078] In step S108, the processing unit 110 determines whether or not to terminate the process. For example, if the operation unit 240 receives a user instruction to turn off the power of the robot 200, the process will terminate. If the process is terminated (step S108; Yes), the processing unit 110 saves various data such as emotion data 121, emotion change data 122, and growth days data 126 to the non-volatile memory (e.g., flash memory) of the storage unit 120 (step S109), and terminates the operation control process. Note that the process of saving various data to the non-volatile memory when the power is turned off may be performed by running a separate power-off determination thread in parallel with other threads such as the operation control process. If the power-off determination thread performs the processing equivalent to steps S108 and S109, the processing in steps S108 and S109 of the operation control process can be omitted.

[0079] If the process is not terminated (step S108; No), the processing unit 110 determines whether the date has changed using the clock function (step S110). If the date has not changed (step S110; No), the process returns to step S102.

[0080] If the date has changed (step S110; Yes), the processing unit 110 determines whether or not it is the first period (step S111). If the first period is defined as a period of 50 days from the simulated birth of the robot 200 (for example, when it is first started by the user after purchase), the processing unit 110 determines that it is the first period if the growth days data 126 is 50 or less. If it is not the first period (step S111; No), the process proceeds to step S115.

[0081] If it is during the first period (step S111; Yes), the processing unit 110 learns the emotion change data 122 (step S113). Specifically, in step S105 of that day, if the X value of emotion data 121 is set to the maximum value of the emotion map 300 at least once, 1 is added to the DXP of the emotion change data 122; if the Y value of emotion data 121 is set to the maximum value of the emotion map 300 at least once, 1 is added to the DYP of the emotion change data 122; if the X value of emotion data 121 is set to the minimum value of the emotion map 300 at least once, 1 is added to the DXM of the emotion change data 122; and if the Y value of emotion data 121 is set to the minimum value of the emotion map 300 at least once, 1 is added to the DYM of the emotion change data 122, thereby updating the emotion change data 122. This update is also called learning the emotion change data 122.

[0082] However, if each value in the emotion change data 122 becomes too large, the amount of change in the emotion data 121 in a single instance will become too large. Therefore, each value in the emotion change data 122 is limited to a maximum of, for example, 20. Also, although we have decided to add 1 to each value in the emotion change data 122 here, the value to be added is not limited to 1. For example, the number of times each value in the emotion data 121 is set to the maximum or minimum value of the emotion map 300 can be counted, and if that number is high, the value added to the emotion change data 122 can be increased.

[0083] The learning of emotion change data 122 in step S113 is based on whether or not emotion data 121 is set to the maximum or minimum value of emotion map 300 in step S105. Whether or not emotion data 121 is set to the maximum or minimum value of emotion map 300 in step S105 is based on the external stimuli acquired in step S103. In step S103, multiple external stimuli of different types are acquired by multiple sensors provided by the sensor unit 210, and each of the emotion change data 122 is learned according to each of these multiple external stimuli.

[0084] For example, if only the head 204 is stroked repeatedly, only the DXP of the emotion change data 122 increases, while the other emotion change data 122 remains unchanged, resulting in the robot 200 developing a more reassuring personality. Conversely, if only the head 204 is tapped repeatedly, only the DXM of the emotion change data 122 increases, while the other emotion change data 122 remains unchanged, resulting in the robot 200 developing a more anxious personality. In this way, the processing unit 110 learns to make the emotion change data 122 different from each other in response to each external stimulus. In this embodiment, a personality value is calculated from the emotion change data 122, and the maximum value of the personality value becomes the growth value, thus providing the effect of the robot 200 "pseudo-growing" based on how the user interacts with the robot 200.

[0085] In this embodiment, if the X or Y values ​​of the emotion data 121 reach the maximum or minimum values ​​of the emotion map 300 at least once during the 24-hour period in step S105, the emotion change data 122 is trained. However, the conditions for training the emotion change data 122 are not limited to this. For example, the emotion change data 122 may be trained if the X or Y values ​​of the emotion data 121 reach a predetermined value at least once (for example, 0.5 times the maximum value or 0.5 times the minimum value of the emotion map 300). Furthermore, the period is not limited to the 24-hour period; the emotion change data 122 may be trained if the X or Y values ​​of the emotion data 121 reach a predetermined value at least once during other periods such as half a day or a week. In addition, instead of a fixed period such as one day, the emotion change data 122 may be trained if the X or Y values ​​of the emotion data 121 reach a predetermined value at least once during the period until the number of external stimulus acquisitions reaches a predetermined number (for example, 50 times).

[0086] Returning to Figure 14, the processing unit 110 expands the emotion map 300 by 2 for both its maximum and minimum values ​​(step S114). Here, the emotion map 300 is expanded by 2 for both its maximum and minimum values, but this expansion value "2" is merely an example; it could be expanded by 3 or more, or by just 1. Also, the expansion value does not have to be the same for each axis of the emotion map 300, or for the maximum and minimum values. Then, the processing unit 110 adds 1 to the growth days data 126, and initializes the emotion data to 0 for both the X and Y values ​​(step S115), and returns to step S102.

[0087] In Figure 14, the learning of emotion change data and expansion of the emotion map are performed after determining that the date has changed in step S110, but they may also be performed after determining that a reference time (for example, 9 PM) has been reached. Furthermore, the determination in step S110 may not be based on the actual date, but on a value accumulated by the timer function of the processing unit 110 for the time the robot 200 has been powered on. For example, the robot 200 may be considered to have grown by one day each time the cumulative power-on time reaches a multiple of 24, and the learning of emotion change data and expansion of the emotion map may be performed accordingly. In addition, considering users who tend to leave the robot 200 unattended (so that the robot 200's growth is slower if left unattended), the determination may be based on the number of times external stimuli are acquired (for example, one day of growth may be considered to have occurred each time the number of acquisitions reaches 100).

[0088] Next, the operation selection process performed in step S106 of the operation control process described above will be explained with reference to Figure 16.

[0089] First, the processing unit 110 calculates personality values ​​based on the emotion change data 122 learned in step S113 (step S201). Specifically, it calculates four personality values ​​as follows. Since each of the emotion change data 122 has an initial value of 10 and increases up to a maximum of 20, 10 is subtracted here to set the value range to between 0 and 10. Personality Value (Cheerful) = DXP - 10 Personality Value (Shy) = DXM - 10 Personality score (active) = DYP - 10 Personality Value (Clingy) = DYM-10

[0090] Next, the processing unit 110 calculates the largest value among these personality values ​​as the growth value (step S202). Then, the processing unit 110 refers to the growth table 123 and obtains the action selection probability for each action type corresponding to the action trigger given when executing the action selection process and the growth value calculated in step S202 (step S203).

[0091] Next, the processing unit 110 selects an action type using a random number based on the action selection probability for each action type obtained in step S203 (step S204). For example, if the calculated growth value is 8 and the action trigger is "a loud noise is made", then there is a 20% chance that "basic action 2-0" will be selected, a 20% chance that "basic action 2-1" will be selected, a 40% chance that "basic action 2-2" will be selected, and a 20% chance that "personality action 2-0" will be selected (see Figure 11).

[0092] Then, the processing unit 110 determines whether a characteristic operation was selected in step S204 (step S205). If a characteristic operation is not selected, that is, if a basic operation is selected (step S205; No), the process proceeds to step S208.

[0093] If a personality action is selected (step S205; Yes), the processing unit 110 obtains the selection probability for each personality based on the magnitude of each personality value (step S206). Specifically, for each personality, the selection probability for that personality is obtained by dividing the personality value corresponding to that personality by the sum of the four personality values.

[0094] Then, the processing unit 110 selects a personality action using a random number based on the selection probability of each personality obtained in step S206 (step S207). 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. Therefore, in this case, the personality action for "cheerful" will be selected with a probability of 3 / 20 = 15%, the personality action for "active" with a probability of 8 / 20 = 40%, the personality action for "shy" with a probability of 5 / 20 = 25%, and the personality action for "clingy" with a probability of 4 / 20 = 20%.

[0095] Next, the processing unit 110 executes the operation selected in step S204 or S207 (step S208), terminates the operation selection process, and proceeds to step S108 of the operation control process.

[0096] Next, the remaining battery level notification operation process, which is performed in step S122 of the operation control process described above, will be explained with reference to Figure 17.

[0097] First, the processing unit 110 obtains the battery level from the power control unit 250 (step S130). Then, the processing unit 110 determines whether the obtained battery level is equal to or greater than a first remaining charge notification threshold (e.g., 80%) (step S131). If the battery level is equal to or greater than the first remaining charge notification threshold (step S131; Yes), the processing unit 110 performs a first notification operation, which indicates that the battery level is equal to or greater than the first remaining charge notification threshold (e.g., there is still sufficient battery power) (step S132). The operation of the first notification operation is arbitrary, but in this embodiment, the first notification operation is singing three times in a cheerful voice. Specifically, the processing unit 110 controls the drive unit 220 to move the head 204 vigorously and outputs voice data of the robot 200 singing in a cheerful voice three times from the speaker 231. Then, the remaining charge notification operation process is completed and the process proceeds to step S123 of the operation control process.

[0098] If the battery level is below the first remaining charge notification threshold (step S131; No), the processing unit 110 determines whether the battery level is above the second remaining charge notification threshold (e.g., 40%) (step S133). If the battery level is above the second remaining charge notification threshold (step S133; Yes), the processing unit 110 performs a second notification operation, which indicates that the battery level is below the first remaining charge notification threshold and above the second remaining charge notification threshold (e.g., the battery level is about half full) (step S134). The operation of the second notification operation is arbitrary, but in this embodiment, the second notification operation is singing twice in a normal voice. Specifically, the processing unit 110 controls the drive unit 220 to move the head 204 normally and outputs audio data of the robot 200 singing in a normal voice twice from the speaker 231. Then, the remaining charge notification operation processing is terminated and the process proceeds to step S123 of the operation control processing.

[0099] If the battery level is below the second remaining charge notification threshold (step S133; No), the processing unit 110 performs a third notification operation (step S135) which indicates that the battery level is below the second remaining charge notification threshold (for example, the battery level is less than half). The operation of the third notification operation is arbitrary, but in this embodiment, the third notification operation is to sing once in a weak voice. Specifically, the processing unit 110 controls the drive unit 220 to move the head 204 in a weak manner, and outputs audio data of the robot 200 singing in a weak voice once from the speaker 231. Then, the remaining charge notification operation process is terminated, and the process proceeds to step S123 of the operation control process.

[0100] As described above, through the remaining battery notification process, when the processing unit 110 detects a remaining battery notification stimulus (for example, being held and having its head stroked), it changes the control mode for controlling the drive unit 220 and the output unit 230 (sound output unit) to a control mode that outputs a singing voice while moving the head 204, according to the remaining battery level. Therefore, when a user wants to know the remaining battery level, they can find out by the robot 200's reaction when given a remaining battery notification stimulus (for example, holding the robot 200 and stroking its head). Since it is possible to set operations similar to petting as the remaining battery notification stimulus, the robot 200 can inform the user of the remaining battery level without losing its sense of being alive. Furthermore, as the remaining battery level decreases, the robot 200 will reduce the number of times it sings and make its singing voice less energetic, so it can inform the user of the need to charge without losing its sense of being alive.

[0101] The voice data sung by the robot 200 is assumed to have been pre-generated as sampling data of the robot 200's singing voice and stored in the memory unit 120. Furthermore, the voice data to be output may be changed, the movement of the head 204 may be changed, or the notification operation itself may be changed depending on the robot 200's personality (for example, the personality corresponding to the largest value among the personality values).

[0102] Next, the remaining amount confirmation process performed in step S124 of the operation control process described above will be explained with reference to Figure 18.

[0103] First, the processing unit 110 obtains the battery level from the power control unit 250 (step S140). Then, the processing unit 110 determines whether the battery level is above a first remaining charge threshold (for example, 50%) (step S141). If the battery level is above the first remaining charge threshold (step S141; Yes), the remaining charge check process ends and the process proceeds to step S125 of the operation control process.

[0104] If the battery level is below the first remaining charge threshold (step S141; No), the processing unit 110 determines that the notification conditions for notifying the battery level have been met and determines whether the battery level is above the second remaining charge threshold (e.g., 30%) (step S142). If the battery level is above the second remaining charge threshold (step S142; Yes), the processing unit 110 performs a first spontaneous notification operation, which is an operation that spontaneously indicates that the battery level is below the first remaining charge threshold and above the second remaining charge threshold (e.g., the battery level is less than half) (step S143). The operation of the first spontaneous notification operation is arbitrary, but in this embodiment, the first spontaneous notification operation is an operation in which the robot 200 vibrates for 2 seconds. Specifically, the processing unit 110 performs the vibration operation process described later, setting the number of vibrations N to the number of times corresponding to 2 seconds (e.g., 20), and executes it once. Then, the remaining charge confirmation process is terminated and the process proceeds to step S125 of the operation control process.

[0105] If the battery level is below the second remaining charge threshold (step S142; No), the processing unit 110 determines whether the battery level is above the third remaining charge threshold (e.g., 10%) (step S144). If the battery level is above the third remaining charge threshold (step S144; Yes), the processing unit 110 performs a second spontaneous notification operation, which is an operation that spontaneously indicates that the battery level is below the second remaining charge threshold but above the third remaining charge threshold (e.g., the battery level is significantly reduced) (step S145). The operation of the second spontaneous notification operation is arbitrary, but in this embodiment, the second spontaneous notification operation is an operation in which the robot 200 vibrates for 2 seconds and repeats this operation twice. Specifically, the processing unit 110 sets the vibration operation process, described later, to a number of vibrations N equivalent to 2 seconds (e.g., 20), and executes it twice with an interval of about 0.5 seconds. Then, it finishes the remaining charge confirmation process and proceeds to step S125 of the operation control process.

[0106] If the battery level is below the third remaining charge threshold (step S144; No), the processing unit 110 performs a third spontaneous notification operation, which is an operation that spontaneously indicates that the battery level is below the third remaining charge threshold (for example, that there is almost no battery remaining) (step S146). The operation of the third spontaneous notification operation is arbitrary, but in this embodiment, the third spontaneous notification operation is an operation in which the robot 200 vibrates for 5 seconds. Specifically, the processing unit 110 performs the vibration operation process described later, setting the number of vibrations N to the number of times corresponding to 5 seconds (for example, 50), and executes it once. Then, it finishes the remaining charge check process and proceeds to step S125 of the operation control process.

[0107] Based on the battery level check process described above, the processing unit 110 changes the control mode for controlling the drive unit 220 and the output unit 230 (sound output unit) to a control mode that drives the movable parts to vibrate the robot 200, based on the remaining battery level. Therefore, as a result of the spontaneous notification operation described above, when the battery level falls below the first remaining level threshold, the robot 200 can vibrate to inform the user that it needs to be charged. In reality, pets and other animals sometimes vibrate when they are unwell, and by vibrating, the user can understand that the robot 200 is unwell, i.e., needs to be charged. Therefore, the robot 200 can inform the user that it needs to be charged without losing its sense of being alive. Furthermore, the lower the battery level, the more frequently the robot 200 vibrates and the longer the vibration time, so it can inform the user of the degree of need for charging without losing its sense of being alive.

[0108] Furthermore, the spontaneous notification actions may be changed according to the personality of the robot 200 (for example, the personality corresponding to the largest value among the personality values). For example, as a third spontaneous notification action to indicate that the battery level is almost low, the processing unit 110 may not only control the robot to shake its body, but also control the robot to output a sound according to its personality. As an example in this case, if the personality corresponding to the largest value among the personality values ​​is "cheerful", it may output a "sneezing sound", if it is "active", it may output a "growling sound", if it is "shy", it may not make any sound (no sound output), and if it is "clingy", it may output a "cuddly cry". By making the spontaneous notification actions according to the personality in this way, it becomes possible to express a sense of it being a living creature even more.

[0109] Furthermore, sounds such as sneezing, growling, and affectionate cries are pre-generated as sound sampling data and stored in the memory unit 120, similar to the singing voice of the robot 200 mentioned above.

[0110] Next, the temperature confirmation process performed in step S128 of the operation control process described above will be explained with reference to Figure 19.

[0111] First, the processing unit 110 obtains the temperature from the temperature sensor 215 (step S150). Then, the processing unit 110 determines whether the temperature is above a first temperature threshold (for example, 18 degrees Celsius) (step S151). If the temperature is above the first temperature threshold (step S151; Yes), the temperature confirmation process ends and the process proceeds to step S108 of the operation control process.

[0112] If the temperature is below the first temperature threshold (step S151; No), the processing unit 110 determines whether the temperature is above the second temperature threshold (e.g., 10 degrees Celsius) as the temperature notification condition has been met (step S152). If the temperature is above the second temperature threshold (step S152; Yes), the processing unit 110 performs a first temperature notification operation, which indicates that the temperature is below the first temperature threshold and above the second temperature threshold (e.g., it is a little cold) (step S153). The operation of the first temperature notification operation is arbitrary, but in this embodiment, the first temperature notification operation is an operation in which the robot 200 vibrates once for 1 second. Specifically, the processing unit 110 performs the vibration operation process described later, setting the number of vibrations N to the number of times corresponding to 1 second (e.g., 10). Then, it finishes the temperature confirmation process and proceeds to step S108 of the operation control process.

[0113] If the temperature is below the second temperature threshold (step S152; No), the processing unit 110 determines whether the temperature is above the third temperature threshold (e.g., 0 degrees Celsius) (step S154). If the temperature is above the third temperature threshold (step S154; Yes), the processing unit 110 performs a second temperature notification operation, which indicates that the temperature is below the second temperature threshold but above the third temperature threshold (e.g., it is quite cold) (step S155). The operation of the second temperature notification operation is arbitrary, but in this embodiment, the second temperature notification operation is an operation in which the robot 200 vibrates for 1 second twice. Specifically, the processing unit 110 performs the vibration operation process described later, setting the number of vibrations N to the number of vibrations corresponding to 1 second (e.g., 10), and performs it twice with an interval of about 0.5 seconds. Then, it finishes the temperature confirmation process and proceeds to step S108 of the operation control process.

[0114] If the temperature is below the third temperature threshold (step S154; No), the processing unit 110 performs a third temperature notification operation, which indicates that the temperature is below the third temperature threshold (for example, it is very cold) (step S156). The operation of the third temperature notification operation is arbitrary, but in this embodiment, the third temperature notification operation is an operation in which the robot 200 vibrates for 1 second, repeated three times. Specifically, the processing unit 110 sets the vibration operation process, described later, to a number of vibrations N equivalent to the number of vibrations per second (for example, 10), and executes it three times with an interval of about 0.5 seconds. Then, it finishes the temperature confirmation process and proceeds to step S108 of the operation control process.

[0115] The temperature notification process described above allows the robot 200 to shiver when the temperature drops, thus informing the user of the low temperature in a natural way and making the robot 200 appear like a real living creature.

[0116] Next, the vibration motion processing that the processing unit 110 performs when it causes the robot 200 to vibrate in the above-mentioned remaining amount confirmation process and temperature confirmation process will be explained with reference to Figure 20.

[0117] First, the processing unit 110 sets the number of vibrations N (step S161). Then, the processing unit 110 instructs the up and down motor 222 of the drive unit 220 to rotate downward by a preparation angle 610, as shown in Figure 21, and lowers the head 204 (step S162). The preparation angle 610 is an angle between 20 degrees and 60 degrees (for example, 30 degrees). The control by the processing unit 110 to make the up and down motor 222 rotate by a preparation angle 610 is called preparation control. As the processing unit 110 performs preparation control, the robot 200 is positioned such that the rear end of the head 204 and the front end of the body 206 are lifted off the mounting surface 600, as shown in Figure 21, and the front end of the head 204 and the rear end of the body 206 are in contact with the mounting surface 600. When the robot 200 is in this position, it becomes possible to make the robot 200 vibrate efficiently in the vibration control that is performed afterward.

[0118] Then, the processing unit 110 instructs the torsion motor 221 of the drive unit 220 to rotate forward by a first forward rotation angle 611, as shown in Figure 22, thereby rotating the head unit 204 (step S163). The first forward rotation angle 611 is an angle between 15 degrees and 60 degrees (for example, 30 degrees).

[0119] Next, the processing unit 110 waits for a first waiting time (step S164). The first waiting time is 0.03 seconds or more and 0.1 seconds or less (for example, 50 milliseconds). Then, the processing unit 110 rotates the head 204 by issuing an instruction to the twist motor 221 of the drive unit 220 to reverse direction by a first reversal angle 612, as shown in Figure 23 (step S165). The first reversal angle 612 is an angle of 15 degrees or more and 60 degrees or less (for example, 30 degrees).

[0120] Next, the processing unit 110 waits for a first waiting time (step S166). Then, the processing unit 110 decreases the number of vibrations N by 1 (step S167) and determines whether N is greater than 0 or not (step S168).

[0121] If the number of vibrations N is greater than 0 (step S168; Yes), the process returns to step S163. If the number of vibrations N is 0 or less (step S168; No), the processing unit 110 terminates the vibration operation process.

[0122] In the vibration motion processing described above, the control from step S163 to step S166 is called unit vibration control, and the control that repeats this unit vibration control for N vibration cycles is called vibration control. Due to vibration control, the head 204 and the torso 206 rotate alternately to opposite sides as shown in Figures 22 and 23, and by performing this at high speed, the processing unit 110 can vibrate the body of the robot 200 even without a vibration motor. The time required to complete one cycle of the unit vibration control is called the first unit time.

[0123] To effectively generate vibration, high-speed vibration control is necessary. Therefore, in order for the robot 200 to appear to be shaking in the vibration motion processing described above, it is desirable to set the first unit time to 0.3 seconds or less. In vibration control, the setting of the time until reversal is more important than the setting of the rotation angle. In the vibration motion processing described above, high-speed reversal is achieved by immediately reversing the rotation of the torsion motor 221 after waiting for the first waiting time. If the first waiting time is too short, the rotation angle becomes too small and the vibration becomes small, but if it is too long, it becomes impossible to perform vibration control at high speed, so it is desirable to set the value to between 0.03 seconds and 0.1 seconds.

[0124] Furthermore, in the vibration motion processing described above, the processing unit 110 issues an instruction to the torsion motor 221 of the drive unit 220 to rotate forward by a first forward rotation angle 611 in step S163, and then issues an instruction to reverse by a first reverse rotation angle 612 in step S165. However, steps S163 and S165 may be performed in the reverse order. That is, the processing unit 110 may issue an instruction to the torsion motor 221 of the drive unit 220 to rotate forward by a first forward rotation angle 611 or an instruction to reverse by a first reverse rotation angle 612, and then issue the other instruction to rotate forward by a first forward rotation angle 611 or an instruction to reverse by a first reverse rotation angle 612.

[0125] In the battery level check process, the robot 200's body is vibrated according to the remaining battery level, creating the illusion that the robot 200 is unwell. This allows the user to be notified that the robot 200's battery needs charging without losing its lifelike appearance.

[0126] Furthermore, the temperature checking process can be enhanced by using vibration processing to make the robot 200's body shake according to the temperature, creating the illusion that the robot 200 is feeling cold, thus further improving its lifelike appearance.

[0127] Furthermore, in the above-described motion selection process, when selecting an action for the robot 200, the emotion data 121 may be referenced, and the value of the emotion data 121 may be reflected in the motion selection. For example, multiple growth tables 123 may be prepared according to the value of the emotion data 121 to set the types of actions that express emotions richly, and an action may be selected using the growth table 123 corresponding to the value of the emotion data 121 at that time, or the value of the action selection probability for each action recorded in the motion table 125 may be adjusted according to the value of the emotion data 121. This will enable the robot 200 to perform actions that better reflect its current emotions.

[0128] Furthermore, if the determination in step S107 in Figure 14 is Yes, then in the action selection process in step S106, spontaneous actions such as breathing and actions associated with personality may be performed, and in this case, actions may be performed according to the X and Y values ​​of the emotion data 121.

[0129] Furthermore, since the Y value of the emotion data 121 corresponds to the degree of excitement in the positive direction and the degree of apathy in the negative direction, the volume of the cry output by the robot 200 may be changed according to the Y value. That is, the processing unit 110 may increase the volume of the cry output from the speaker 231 when the Y value of the emotion data 121 is a large positive value, and decrease the volume of the cry output from the speaker 231 when the Y value is a small negative value.

[0130] Furthermore, the growth table 123 may have multiple variations depending on the intended use of the robot 200 (for example, for emotional education for young children, for dialogue with the elderly, etc.). In addition, the growth table 123 may be downloadable from an external server via the communication unit 130 in case the intended use of the robot 200 needs to be changed.

[0131] Furthermore, in the action selection process described above, the largest value among the four personality values ​​was used as the growth value, but the growth value is not limited to this. For example, the growth value may be set based on the growth days data 126 (for example, by dividing the growth days data 126 by a predetermined value (e.g., 10) and truncating the decimal part). Robots 200 left unattended by users often have small personality values, and if the maximum value of the personality value is used as the growth value, personality actions may not be selected. Even in such cases, if the growth value is set based on the growth days data 126, personality actions will be selected according to the growth days, regardless of how often the user takes care of the robot. Alternatively, the growth value may be set based on both the personality value and the growth days data 126 (for example, by dividing the sum of the largest personality value and the growth days data 126 by a predetermined value and truncating the decimal part).

[0132] Furthermore, in the above-described embodiment, personality values ​​were set based on emotion change data 122, but the method of setting personality values ​​is not limited to this method. For example, personality values ​​may be set directly from external stimulus data without relying on emotion change data 122. For example, one method could be to increase the personality value (active) when petted and decrease the personality value (shy) when hit. Alternatively, personality values ​​may be set based on emotion data 121. For example, one method could be to use values ​​obtained by dividing the X and Y values ​​of emotion data 121 by 10 as the personality values.

[0133] As described above, the motion control process allows the robot 200 to be given pseudo-emotions (emotion data 121). Furthermore, by learning emotion change data 122 that changes the emotion data 121 in response to external stimuli, each robot 200 will express different emotional changes in response to external stimuli, resulting in each robot 200 being given a pseudo-personality (personality value). In addition, since personality is derived from emotion change data 122, it becomes possible to generate clone robots with the same personality by copying the emotion change data 122. For example, if backup data of emotion change data 122 is saved, even if the robot 200 malfunctions, a robot 200 with the same personality can be recreated by restoring the backup data.

[0134] Furthermore, as the growth value calculated based on the personality value increases, the variety of possible actions becomes richer. Thus, by simulating growth (increasing the growth value), robot 200 can express a wider range of actions. In addition, robot 200 does not only perform actions after it has grown; it can still select actions from all of its previously performed actions according to the action selection probability defined in the growth table 123. Therefore, even after robot 200 has grown, users can occasionally see its actions from when it was first purchased, allowing them to feel more attached to it.

[0135] Furthermore, the simulated growth of the robot 200 is limited to the first period (for example, 50 days), and the subsequent emotional change data 122 (personality) is fixed. This means it cannot be reset like other ordinary devices, giving the user the feeling of interacting with a truly living pet.

[0136] Furthermore, since simulated emotions are represented by multiple emotion data (X, Y of emotion data 121) and simulated personalities are represented by multiple emotion change data (DXP, DXM, DYP, DYM of emotion change data 122), it is possible to represent complex emotions and personalities.

[0137] Furthermore, the emotion change data 122 used to derive this pseudo-personality is learned in response to each of the multiple external stimuli of different types acquired by the multiple sensors provided by the sensor unit 210. Therefore, a wide variety of pseudo-personalities can be generated depending on how the user interacts with the robot 200.

[0138] (modified version) It should be noted that the present invention is not limited to the embodiments described above, and various modifications and applications are possible. For example, for users who do not believe that the robot 200 needs to have emotions or personality, the processing related to emotions and personality may be omitted in the motion control processing. In this case, the growth value may be derived from the growth days data 126. Alternatively, the processing related to the growth value may also be omitted, and the growth table 123 may be configured so that the type of operation is uniquely determined for each operation trigger. In this case, the operation selection process only needs to execute the operation selected according to the operation trigger.

[0139] Furthermore, although the motion table 125 described above had the operation (operation time and operation angle) and sound data of the drive unit 220 of the robot 200 set, it is also possible to set only the operation of the drive unit 220 or only the sound data. In addition, controls other than the operation of the drive unit 220 and sound data may be set. As controls other than the operation of the drive unit 220 and sound data, for example, if the output unit 230 of the robot 200 is equipped with an LED, it is possible to control the color and brightness of the LED to be lit. The controlled unit controlled by the processing unit 110 only needs to include at least one of the drive unit 220 and the output unit 230. The output unit 230 may output only sound as a sound output unit, or it may output only light from an LED or the like.

[0140] Furthermore, in the embodiment described above, the size of the emotion map 300 increased by 2 in both its maximum and minimum values ​​each time the number of simulated growth days of the robot 200 increased by 1 during the first period. However, the expansion of the emotion map 300 does not have to be carried out uniformly in this manner. For example, the way in which the emotion map 300 is expanded may be changed according to how the emotion data 121 changes.

[0141] To change how the emotion map 300 expands according to how the emotion data 121 changes, for example, in step S114 of the operation control process (Figure 14), the following processing can be performed: If, during a given day, the value of emotion data 121 is set to the maximum value of the emotion map 300 at least once in step S105, the maximum value of the emotion map 300 is increased by 3 in the subsequent step S114. If, in step S105, the value of emotion data 121 does not reach the maximum value of the emotion map 300 even once, the maximum value of the emotion map 300 is increased by 1 in the subsequent step S114.

[0142] Similarly, for the minimum value of emotion map 300, if the value of emotion data 121 is set to the minimum value of emotion map 300 at least once during the day, the minimum value of emotion map 300 is decreased by 3. If the value of emotion data 121 never reaches the minimum value of emotion map 300, the minimum value of emotion map 300 is decreased by 1. In this way, by changing how emotion map 300 is expanded, the settable range of emotion data 121 is learned in response to external stimuli.

[0143] In the embodiments and modifications described above, the emotion map 300 was always expanded during the first period, but the range of the emotion map 300 is not limited to expansion. For example, the range of the emotion map 300 may be reduced for emotional directions that rarely occur in response to external stimuli.

[0144] Furthermore, in the above-described embodiment, the device control unit 100 is built into the robot 200, but the device control unit 100 does not necessarily have to be built into the robot 200. For example, as shown in Figure 24, the device control unit 101 may be configured as a separate device (e.g., a server) instead of being built into the robot 209. In this modified example, the robot 209 also includes a processing unit 260 and a communication unit 270, and the communication unit 130 and the communication unit 270 are configured to send and receive data to and from each other. The processing unit 110 then acquires external stimuli detected by the sensor unit 210, obtains the battery level from the power control unit 250, and controls the drive unit 220 and the output unit 230 via the communication unit 130 and the communication unit 270.

[0145] Furthermore, if the control device 101 and the robot 209 are configured as separate devices, the robot 209 may be controlled by the processing unit 260 as needed. For example, simple operations may be controlled by the processing unit 260, and complex operations may be controlled by the processing unit 110 via the communication unit 270.

[0146] Furthermore, in the above-described embodiment, the device control devices 100 and 101 are control devices that control robots 200 and 209, but the devices that are to be controlled are not limited to robots 200 and 209. For example, a wristwatch could also be considered as a device to be controlled. For example, if a wristwatch capable of voice output and equipped with an accelerometer is used as the device to be controlled, then external stimuli could be impacts applied to the wristwatch detected by the accelerometer. The motion table 125 can then store voice data to be output in response to external stimuli. Then, emotion data 121 and emotion change data 122 can be updated in response to external stimuli, and the voice data set in the motion table 125 can be output based on the detected external stimuli and the emotion change data 122 (personality) at that time.

[0147] This means that the way the user treats the watch will give it a personality (a pseudo-personality). In other words, even watches of the same model number will have different personalities depending on how the user treats them: a watch with a cheerful personality will develop if treated carefully, and a watch with a shy personality if treated roughly.

[0148] Thus, the device control devices 100 and 101 can be applied to various devices, not just robots. By applying them to devices, it is possible to give the devices simulated emotions and personalities, and to make the user feel as if they are raising the device in a simulated way.

[0149] In the above-described embodiment, the operation program executed by the CPU of the processing unit 110 was pre-stored in the ROM of the storage unit 120. However, the present invention is not limited thereto, and the operation program for executing the above-described various processes may be implemented in an existing general-purpose computer or the like, thereby functioning as a device equivalent to the control devices 100 and 101 of the device according to the above-described embodiment.

[0150] The method of providing such programs is optional. For example, they may be distributed by storing them on a computer-readable storage medium (flexible disk, CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, MO (Magneto-Optical Disc), memory card, USB memory, etc.), or they may be stored on network storage such as the internet and provided for download.

[0151] Furthermore, when the above-mentioned processing is performed through a division of labor between the OS (Operating System) and the application program, or through collaboration between the OS and the application program, only the application program may be stored on a recording medium or storage device. It is also possible to superimpose the program onto a carrier wave and distribute it over a network. For example, the above program may be posted on a bulletin board system (BBS) on a network and distributed over the network. This program can then be launched and executed under the control of the OS, just like other application programs, to perform the above-mentioned processing.

[0152] Furthermore, the processing units 110 and 260 may consist of any single processor, such as a single processor, multi-processor, or multi-core processor, or they may be configured in combination with processing circuits such as ASICs (Application Specific Integrated Circuits) or FPGAs (Field-Programmable Gate Arrays).

[0153] This invention allows for various embodiments and modifications without departing from the broad spirit and scope of the invention. Furthermore, the embodiments described above are for illustrative purposes only and do not limit the scope of the invention. In other words, the scope of the invention is indicated not by the embodiments, but by the claims. Various modifications made within the scope of the claims and the equivalent scope of the meaning of the invention are considered to be within the scope of this invention. The invention described in the original claims of this application is listed below.

[0154] (Note 1) A body section that can come into contact with the mounting surface, A head is connected to the front end of the torso so as to be rotatable about a first rotation axis extending in the front-rear direction of the torso, and so as to be rotatable about a second rotation axis extending in the width direction of the torso, and is capable of contacting the aforementioned surface. A drive unit that drives the head by independently performing rotation around the first rotation axis and rotation around the second rotation axis, A processing unit that controls the drive unit to perform preparation control, which rotates the head to a preparation angle around the second rotation axis, and vibration control, which alternately rotates the head forward and backward around the first rotation axis. A robot equipped with [the following features].

[0155] (Note 2) The aforementioned preparation angle is the angle at which the rear end of the torso and the front end of the head are in contact with the aforementioned surface, and the front end of the torso and the rear end of the head are lifted off the aforementioned surface. The robot described in Appendix 1.

[0156] (Note 3) The vibration control described above is This control involves repeatedly performing unit oscillation control by first instructing the drive unit to rotate the head either forward or backward around the first rotation axis, and then instructing it to rotate the head the other way around the first rotation axis. The robot described in Appendix 2.

[0157] (Note 4) The aforementioned unit oscillation control is, The control unit issues an instruction to the drive unit to rotate the head forward around the first rotation axis to a first forward rotation angle or to rotate the head in the reverse direction around the first rotation axis to a first reverse direction angle, then waits for a first waiting time, and then issues the other instruction to rotate the head forward around the first rotation axis to a first forward rotation angle or to rotate the head in the reverse direction around the first rotation axis to a first reverse direction angle, and then waits for a first waiting time. The robot described in Appendix 3.

[0158] (Note 5) The aforementioned first waiting time is a time of 0.03 seconds or more and 0.1 seconds or less. The robot described in Appendix 4.

[0159] (Note 6) The processing unit controls the drive unit so that the operation by the unit vibration control is performed within a first unit time. A robot described in any one of the appendices 3 to 5.

[0160] (Note 7) The aforementioned first unit time is 0.3 seconds or less. The robot described in Appendix 6.

[0161] (Note 8) A body section that can come into contact with the mounting surface, A head is connected to the front end of the torso so as to be rotatable about a first rotation axis extending in the front-rear direction of the torso, and so as to be rotatable about a second rotation axis extending in the width direction of the torso, and is capable of contacting the aforementioned surface. A drive unit that drives the head by independently performing rotation around the first rotation axis and rotation around the second rotation axis, A method for controlling a robot equipped with, By controlling the drive unit, the head is rotated to a preparation angle around the second rotation axis. By controlling the drive unit, the head rotates alternately in the forward and reverse directions around the first rotation axis. Robot control methods.

[0162] (Note 9) A body section that can come into contact with the mounting surface, A head is connected to the front end of the torso so as to be rotatable about a first rotation axis extending in the front-rear direction of the torso, and so as to be rotatable about a second rotation axis extending in the width direction of the torso, and is capable of contacting the aforementioned surface. A drive unit that drives the head by independently performing rotation around the first rotation axis and rotation around the second rotation axis, The computer that controls the robot equipped with By controlling the drive unit, the head is rotated to a preparation angle around the second rotation axis. By controlling the drive unit, the head rotates alternately in the forward and reverse directions around the first rotation axis. A program that executes a process. [Explanation of Symbols]

[0163] 100, 101... Device control unit, 110, 260... Processing unit, 120... Memory unit, 121... Emotion data, 122... Emotion change data, 123... Growth table, 124... Action content table, 125... Motion table, 126... Growth days data, 130, 270... Communication unit, 200, 209... Robot, 201... Exterior, 202... Decorative parts, 203... Hair, 204... Head, 205... Connecting part, 206... Torso part, 207... Housing, 210... Sensor unit, 211... Touch sensor, 212... Acceleration sensor, 213... Microphone N, 214... Illuminance sensor, 215... Temperature sensor, 220... Drive unit, 221... Twist motor, 222... Up / down motor, 230... Output unit, 231... Speaker, 240... Operation unit, 250... Power supply control unit, 255... Wireless power supply receiving circuit, 300... Emotion map, 301, 302, 303... Frame, 310, 410... Origin, 311, 312, 411, 412, 413, 414... Axis, 400... Personality value radar chart, 600... Mounting surface, 610... Preparation angle, 611... First forward rotation angle, 612... First reverse rotation angle, BL... Bus line

Claims

1. A robot having a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, A first detection means for detecting the remaining charge of the aforementioned battery, Control means for controlling the robot to perform a trembling motion as a gesture to indicate the remaining charge level, Equipped with, The control means is When the remaining charge detected by the first detection means falls below a predetermined first threshold, the shaking motion is performed a predetermined number of times, and when the remaining charge detected by the first detection means falls below a second threshold set to a value smaller than the first threshold, the shaking motion is performed more than the predetermined number of times. The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. A robot characterized by the following features.

2. A robot having a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, A first detection means for detecting the remaining charge of the aforementioned battery, Control means for controlling the robot to perform a trembling motion as a gesture to indicate the remaining charge level, Equipped with, The control means is When the remaining charge detected by the first detection means falls below a predetermined first threshold, the shaking motion is performed for a predetermined duration, and when the remaining charge detected by the first detection means falls below a second threshold set to a value smaller than the first threshold, the shaking motion is performed for a longer duration than the predetermined duration. The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. A robot characterized by the following features.

3. A robot having a biological appearance and equipped with a rechargeable battery, A housing in which the head is connected to the body via a connecting part, A first detection means for detecting the remaining charge of the aforementioned battery, Control means for controlling the robot to perform a trembling motion as a gesture to indicate the remaining charge level, Equipped with, The control means is Prior to the initiation of the aforementioned trembling motion, the connecting portion is controlled so that the housing bends between the head and the torso. When the remaining charge detected by the first detection means falls below a predetermined threshold, the number of times the shaking motion is performed is increased. A robot characterized by the following features.

4. The control means controls the robot to perform the shaking motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. The robot according to feature 3.

5. It is equipped with a second detection means for detecting ambient temperature, The control means controls the robot to perform the trembling motion as a gesture to indicate the ambient temperature. The shaking motion used to indicate the remaining battery charge is set to last longer than the shaking motion used to indicate the ambient temperature. The robot according to any one of claims 1 to 4.

6. A method of expression performed by a robot having a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, The control process includes controlling the robot to perform a trembling motion as a gesture to indicate the remaining charge level detected by the detection means, The aforementioned control process is: When the remaining charge detected by the detection means falls below a predetermined first threshold, the shaking motion is performed a predetermined number of times, and when the remaining charge detected by the detection means falls below a second threshold set to a value smaller than the first threshold, the shaking motion is performed more than the predetermined number of times. The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. A method of expression characterized by the following features.

7. A method of expression performed by a robot having a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, The control process includes controlling the robot to perform a trembling motion as a gesture to indicate the remaining charge level detected by the detection means, The aforementioned control process is: When the remaining charge detected by the detection means falls below a predetermined first threshold, the shaking motion is performed for a predetermined duration, and when the remaining charge detected by the detection means falls below a second threshold set to a value smaller than the first threshold, the shaking motion is performed for a longer duration than the predetermined duration. The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. A method of expression characterized by the following features.

8. A method of expression performed by a robot having a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, The control process includes controlling the robot to perform a trembling motion as a gesture to indicate the remaining charge level detected by the detection means, The aforementioned control process is: Prior to the initiation of the aforementioned trembling motion, the connecting portion is controlled so that the housing bends between the head and the torso. When the remaining charge detected by the detection means falls below a predetermined threshold, the number of times the shaking motion is performed is increased. A method of expression characterized by the following features.

9. A computer for a robot with a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, The control means functions to control the robot to perform a trembling motion as a gesture to indicate the remaining charge level detected by the detection means. The control means is When the remaining charge detected by the detection means falls below a predetermined first threshold, the shaking motion is performed a predetermined number of times, and when the remaining charge detected by the detection means falls below a second threshold set to a value smaller than the first threshold, the shaking motion is performed more than the predetermined number of times. The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. A program characterized by the following features.

10. A computer for a robot with a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, The control means functions to control the robot to perform a trembling motion as a gesture to indicate the remaining charge level detected by the detection means. The control means is When the remaining charge detected by the detection means falls below a predetermined first threshold, the shaking motion is performed for a predetermined duration, and when the remaining charge detected by the detection means falls below a second threshold set to a value smaller than the first threshold, the shaking motion is performed for a longer duration than the predetermined duration. The robot is controlled to perform the trembling motion by controlling the connecting portion so that the housing repeatedly twists at the connecting portion. A program characterized by the following features.

11. A computer for a robot with a biological appearance, comprising a housing in which the head is connected to the torso via a connecting part, and a rechargeable battery, The control means functions to control the robot to perform a trembling motion as a gesture to indicate the remaining charge level detected by the detection means. The control means is Prior to the initiation of the aforementioned trembling motion, the connecting portion is controlled so that the housing bends between the head and the torso. When the remaining charge detected by the detection means falls below a predetermined threshold, the number of times the shaking motion is performed is increased. A program characterized by the following features.