Device control device, device control method, and program

The control device optimizes charging efficiency and user interaction by monitoring battery voltage and managing power supply during charging, addressing the challenge of balancing system protection and user convenience.

JP7764932B2Active Publication Date: 2025-11-06CASIO COMPUTER CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2024174180
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-10-03
Publication Date
2025-11-06
Estimated Expiration
2041-03-16

AI Technical Summary

Technical Problem

Existing systems face challenges in balancing the need to prevent system malfunctions due to low battery voltage while allowing user interaction during charging, which can prolong charging times and inconvenience users.

Method used

A control device and method that monitors battery output voltage during charging, maintaining power supply cutoff if stopped by user operation, and limiting device operation to optimize charging efficiency and user interaction.

Benefits of technology

Enables faster charging and allows user interaction during charging, accommodating different user preferences by managing power supply and device operation based on user interaction and battery voltage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007764932000001
    Figure 0007764932000001
  • Figure 0007764932000002
    Figure 0007764932000002
  • Figure 0007764932000003
    Figure 0007764932000003
Patent Text Reader

Abstract

To allow a user to shorten a charging time and allow a user to use the device while charging.SOLUTION: A power supply control device of a robot 200 includes a power supply control unit 250 that acquires an output voltage of a battery 253 for supplying power to a main functional unit 290 provided in the robot 200, determines whether the power supply to the main functional unit 290 has been stopped due to user operation of the robot 200, and maintains the stop of the power supply while the battery 253 is being charged when it is determined that the power supply has been stopped due to user operation, even in a case in which the acquired output voltage is equal to or higher than a first reference voltage.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an apparatus The regulation The present invention relates to a control device, a control method for an apparatus, and a program. [Background technology]

[0002] In electronic devices powered by secondary batteries (hereinafter referred to as batteries) such as lithium-ion batteries, the output voltage of the battery gradually decreases as the electronic device is used. If this output voltage falls below the minimum guaranteed operating voltage of the system within the electronic device, the system may malfunction. Therefore, systems are prevented from malfunctioning by shutting them down before the battery output voltage falls below the minimum guaranteed operating voltage (see, for example, Patent Document 1).

[0003] Furthermore, when charging the battery of an electronic device after a shutdown due to a drop in battery output voltage, the system is automatically powered on when the battery is charged to an output voltage that is sufficient to drive the system within the electronic device (for example, Non-Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-320478 [Non-patent literature]

[0005] [Non-Patent Document 1] "When charging with the Walkman (registered trademark) turned off, it turns on automatically," [online], [searched January 20, 2021], Internet<URL:https: / / knowledge.support.sony.jp / electronics / support / articles / con / 00248943> Summary of the Invention [Problem to be solved by the invention]

[0006] If the system is turned on while charging, the system consumes power, which increases the time it takes to charge. However, if the system is always turned off while charging, it can be inconvenient for users who want to use the system while charging.

[0007] Therefore, the present invention has been made in consideration of the above circumstances, and provides a device that can accommodate users who want to shorten the charging time and users who want to use the device while charging. The regulation The present invention aims to provide a control device, a control method for an apparatus, and a program. [Means for solving the problem]

[0008] In order to achieve the above object, one aspect of the device control device according to the present invention comprises: Obtaining the output voltage of a battery that supplies power to a main functional unit of the device; determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device; When it is determined that the power supply has been stopped due to the user operation during charging of the battery, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage; Charging the battery and when the power is supplied, processing is performed to limit the operation of the device. If it is determined that the power supply has not been stopped due to the user operation and the acquired output voltage is equal to or higher than a first reference voltage, the power supply is continued. Equipped with a power supply control unit. [Effects of the Invention]

[0009] According to the present invention, it is possible to accommodate users who want to shorten the charging time and users who want to continue using the device while it is being charged. [Brief explanation of the drawings]

[0010] [Figure 1]1 is a diagram illustrating an external appearance of a robot according to an embodiment. [Figure 2] FIG. 2 is a cross-sectional view of the robot according to the embodiment, as seen from the side. [Figure 3] FIG. 2 is a diagram illustrating a housing of the robot according to the embodiment. [Figure 4] 10A and 10B are diagrams illustrating an example of the movement of a twist motor of the robot according to the embodiment. [Figure 5] 10A and 10B are other diagrams illustrating an example of the movement of the twist motor of the robot according to the embodiment. [Figure 6] 10A and 10B are diagrams illustrating an example of the movement of an up and down motor of the robot according to the embodiment. [Figure 7] 10A and 10B are other diagrams illustrating an example of the movement of the up and down motors of the robot according to the embodiment. [Figure 8] FIG. 2 is a block diagram showing the functional configuration of the robot according to the embodiment. [Figure 9] FIG. 2 is a block diagram showing the configuration of a power supply control unit according to the embodiment. [Figure 10] FIG. 2 is a diagram illustrating an example of an emotion map according to the embodiment. [Figure 11] FIG. 10 is a diagram illustrating an example of a personality value radar chart according to the embodiment. [Figure 12] FIG. 10 is a diagram illustrating an example of a growth table according to the embodiment. [Figure 13] FIG. 10 is a diagram illustrating an example of an operation content table according to the embodiment. [Figure 14] FIG. 2 is a diagram illustrating an example of a motion table according to the embodiment. [Figure 15] 10 is a flowchart of an operation control process according to the embodiment. [Figure 16] 10 is a flowchart of an action selection process according to the embodiment. [Figure 17] 10 is a flowchart of a personality correction value adjustment process according to the embodiment. [Figure 18] FIG. 10 is a diagram illustrating an example of a setting screen for an alarm function according to the embodiment. [Figure 19]10 is a flowchart of an alarm control process according to the embodiment. [Figure 20] 10 is a flowchart of a sleep control process according to the embodiment. [Figure 21] 10 is a flowchart of a hard sleep process according to the embodiment. [Figure 22] 10 is a flowchart of a power supply control process according to the embodiment. [Figure 23] 4 is a flowchart of a motor control process according to the embodiment. [Figure 24] FIG. 10 is a block diagram showing the functional configuration of a device control device and a robot according to a modified example. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings, in which the same or corresponding parts are designated by the same reference numerals.

[0012] (Embodiment) An embodiment in which a device control device according to the present invention is applied to a robot 200 shown in FIG. 1 will be described with reference to the drawings. The robot 200 according to the embodiment is a pet robot modeled after a small animal and powered by a rechargeable battery. As shown in FIG. 1, the robot 200 is covered with an exterior 201 equipped with decorative parts 202 that resemble eyes and fluffy fur 203. A housing 207 of the robot 200 is housed within the exterior 201. As shown in FIG. 2, the housing 207 of the robot 200 is composed of a head 204, a connecting part 205, and a body 206, and the head 204 and the body 206 are connected via the connecting part 205.

[0013] In the following description, it is assumed that the robot 200 is normally placed on a placement surface such as a floor, and the direction of the part of the robot 200 that corresponds to its face (the part of the head 204 opposite the torso 206) is referred to as the front, and the direction of the part that corresponds to its buttocks (the part of the torso 206 opposite the head 204) is referred to as the back. Furthermore, the direction of the part that comes into contact with the placement surface when the robot 200 is normally placed on the placement surface is referred to as the down, and the opposite direction is referred to as the up. The direction that is perpendicular to a line extending in the front-to-back direction of the robot 200 and also perpendicular to a line extending in the up-to-down direction is referred to as the width direction.

[0014] As shown in Fig. 2, the body 206 extends in the front-rear direction. The body 206 comes into contact with a support surface, such as a floor or a table, on which the robot 200 is placed, via the exterior 201. As shown in Fig. 2, a twist motor 221 is provided at the front end of the body 206, and the head 204 is connected to the front end of the body 206 via a connecting part 205. The connecting part 205 is provided with an up-down motor 222. Although the twist motor 221 is provided in the body 206 in Fig. 2, it may be provided in the connecting part 205 or the head 204.

[0015] The connecting portion 205 connects the body portion 206 and the head portion 204 to be rotatable (by the twist motor 221) about a first rotation axis that passes through the connecting portion 205 and extends in the front-to-rear direction of the body portion 206. As shown in FIGS. 4 and 5 as front views of the housing 207, the twist motor 221 rotates the head portion 204 clockwise (rightward) about the first rotation axis within a forward rotation angle range, and rotates the head portion 204 counterclockwise (leftward) within a reverse rotation angle range, relative to the body portion 206. Note that in this description, clockwise refers to the clockwise direction when looking from the body portion 206 toward the head portion 204. Also, clockwise rotation will be referred to as a "twist rotation to the right" and counterclockwise rotation will be referred to as a "twist rotation to the left." The maximum angle of twist rotation to the right or left is arbitrary, but in this embodiment, it is assumed that the head portion 204 can rotate up to 90 degrees in both directions. 4 and 5, the angle of head 204 when head 204 is not twisted to the right or left as shown in Fig. 3 (hereinafter referred to as "twist reference angle") is set to 0 degrees. The angle when head 204 is twisted and rotated to the farthest right (clockwise) is set to -90 degrees, and the angle when head 204 is twisted and rotated to the farthest left (counterclockwise) is set to +90 degrees.

[0016] Furthermore, the connecting portion 205 connects the body portion 206 and the head portion 204 to be rotatable (by the vertical motor 222) about a second rotation axis that passes through the connecting portion 205 and extends in the width direction of the body portion 206. As shown in FIGS. 6 and 7 as side views of the housing 207, the vertical motor 222 rotates the head portion 204 upward within a forward rotation angle range (forward rotation) and downward within a reverse rotation angle range (reverse rotation) about the second rotation axis. The maximum angle of the upward or downward rotation is arbitrary, but in this embodiment, the head portion 204 can be rotated up to 75 degrees both upward and downward. In FIGS. 6 and 7, the angle of the head portion 204 when not rotated upward or downward (hereinafter referred to as the "vertical reference angle") shown in FIG. 2 is set to 0 degrees, the angle when rotated most downward is set to -75 degrees, and the angle when rotated most upward is set to +75 degrees. When head 204 rotates vertically around the second rotation axis to the vertical reference angle or below the vertical reference angle, head 204 can come into contact with a support surface such as a floor or table on which robot 200 is placed, via exterior 201. Note that, although an example is shown in Fig. 2 in which the first rotation axis and the second rotation axis are orthogonal to each other, the first and second rotation axes do not have to be orthogonal to each other.

[0017] 2, the robot 200 is provided with a touch sensor 211 on the head 204, which can detect when the user strokes or hits the head 204. The robot 200 is also provided with a touch sensor 211 on the body 206, which can detect when the user strokes or hits the body 206.

[0018] The robot 200 also includes an acceleration sensor 212 on the body 206, which can detect the posture of the robot 200 itself and detect when the robot 200 has been picked up, turned around, or thrown by a user. The robot 200 also includes a microphone 213 on the body 206, which can detect external sounds. The robot 200 also includes a speaker 231 on the body 206, which can be used to make the robot 200 make sounds or sing songs.

[0019] The robot 200 is also provided with an illuminance sensor 214 on the body 206, which can detect the brightness of the surroundings. Since the exterior 201 is made of a light-transmitting material, the robot 200 can detect the brightness of the surroundings with the illuminance sensor 214 even when covered with the exterior 201.

[0020] The robot 200 also includes a battery (see FIG. 9) as a power source for the twist motor 221, the up-down motor 222, etc., and a wireless power supply receiving circuit 255. The wireless power supply receiving circuit 255 is provided in the body 206, and receives power from a wireless charging device (not shown) provided separately from the robot 200 when charging the battery.

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

[0022] Furthermore, in this embodiment, the robot 200 has the housing 207 covered by the exterior 201, and therefore the head 204 and the torso 206 are in indirect contact with a support surface, such as a floor or a table, on which the robot 200 is placed, via the exterior 201. However, the present invention is not limited to this configuration, and the head 204 and the torso 206 may be in direct contact with the support surface. For example, the lower portion (the portion that contacts the support surface) of the exterior 201 may not exist, and the lower portion (the portion that contacts the support surface) of the housing 207 may be exposed, or the exterior 201 may not exist at all, and the entire housing 207 may be exposed.

[0023] Next, the functional configuration of the robot 200 will be described. As shown in Fig. 8, the robot 200 includes an equipment control device 100, a sensor unit 210, a drive unit 220, an output unit 230, an operation unit 240, and a power supply control unit 250. The equipment control device 100 includes a processing unit 110, a storage unit 120, and a communication unit 130. In Fig. 8, the equipment control device 100, the sensor unit 210, the drive unit 220, the output unit 230, the operation unit 240, and the power supply control unit 250 are connected via a bus line BL, but this is just an example. The equipment control device 100, the sensor unit 210, the drive unit 220, the output unit 230, the operation unit 240, and the power supply control unit 250 may also be connected via a wired interface such as a USB (Universal Serial Bus) cable or a wireless interface such as Bluetooth (registered trademark). 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.

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

[0025] The processing unit 110 is configured with, for example, a CPU (Central Processing Unit) or the like, and executes various processes described below using programs stored in the storage unit 120. The processing unit 110 supports a multi-thread function that executes multiple processes in parallel, and is therefore able to execute various processes described below in parallel. The processing unit 110 also has a clock function and a timer function, and is able to measure the date and time, etc.

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

[0027] The communication unit 130 includes a communication module compatible with wireless LAN (Local Area Network), Bluetooth (registered trademark), etc., and performs data communication with external devices such as smartphones. The contents of the data communication include, for example, alarm setting data and sleep setting data used to set the alarm function and sleep function, which will be described later.

[0028] The sensor unit 210 includes the touch sensor 211, acceleration sensor 212, microphone 213, and illuminance sensor 214 described above. The processing unit 110 acquires, via the bus line BL, detection values ​​detected by the various sensors included in the sensor unit 210 as external stimulus data representing external stimuli acting on the robot 200. Note that the sensor unit 210 may include sensors other than the touch sensor 211, acceleration sensor 212, microphone 213, and illuminance sensor 214. Increasing the types of sensors included in the sensor unit 210 allows for an increase in the types of external stimuli that the processing unit 110 can acquire.

[0029] The touch sensor 211 detects contact with some object. The touch sensor 211 is configured by, for example, a pressure sensor or a capacitance sensor. The processing unit 110 acquires contact strength and contact duration based on detection values ​​from the touch sensor 211, and can detect external stimuli, such as the robot 200 being stroked or hit by a user, based on these values ​​(see, for example, Japanese Patent Application Laid-Open No. 2019-217122). Note that the processing unit 110 may detect these external stimuli using a sensor other than the touch sensor 211 (see, for example, Japanese Patent Application Laid-Open No. 6575637).

[0030] The acceleration sensor 212 detects acceleration in three axes of the front-to-back direction, width (left-to-right) direction, and up-to-down direction of the body 206 of the robot 200. The acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary, and therefore 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, for example, when a user lifts or throws the robot 200, the acceleration sensor 212 detects acceleration accompanying the movement of the robot 200 in addition to the gravitational acceleration. Therefore, the processing unit 110 can detect the movement of the robot 200 by removing the gravitational acceleration component from the detection value detected by the acceleration sensor 212.

[0031] 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, whether the user is calling out to the robot 200 or clapping their hands.

[0032] The illuminance sensor 214 includes a light receiving element such as a photodiode, and detects the brightness (illuminance) of the surroundings. For example, when the illuminance sensor 214 detects that the surroundings are dark, the processing unit 110 can perform control to put the robot 200 to sleep (to enter a sleep control mode).

[0033] The driving unit 220 includes a twist motor 221 and an up / down motor 222 as moving parts for expressing the movement of the robot 200 (own robot). The driving 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 specifies an operation time and an operation angle and instructs the rotation, they operate to rotate to a position of the specified operation angle within the specified operation time. Note that the driving unit 220 may also include other appropriate actuators as moving parts, such as a fluid pressure motor. By the processing unit 110 controlling the driving unit 220, the robot 200 can 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 motions is recorded in a motion table 125, which will be described later, and the motions of the robot 200 are controlled based on the detected external stimuli, growth values, etc., which will be described later.

[0034] The output unit 230 includes a speaker 231, and when the processing unit 110 inputs sound data to the output unit 230, sound is output from the speaker 231. For example, when the processing unit 110 inputs data of the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry. This cry data is also recorded in the motion table 125, and the cry is selected based on the detected external stimuli, a growth value (to be described later), and the like. The output unit 230, which is configured with the speaker 231, is also called a sound output unit.

[0035] Furthermore, instead of or in addition to the speaker 231, the output unit 230 may be provided with a display such as a liquid crystal display or a light-emitting unit such as an LED (Light Emitting Diode), and an image based on the detected external stimulus or the growth value described later may be displayed on the display or the LED may be illuminated.

[0036] The operation unit 240 is composed of, for example, operation buttons, a volume knob, etc. The operation unit 240 is an interface for accepting operations by a user (owner or borrower), such as turning the power on / off and adjusting the volume of the output sound. In order to enhance the lifelike feel of the robot 200, the operation unit 240 may include only a power switch 241 on the inside of the exterior 201, and may not include other operation 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 supply control unit 250, which will be described in detail later, includes a sub-microcomputer 251 and other components as shown in FIG. 9, and performs power supply control such as charging the battery 253 of the robot 200 and controlling the ON / OFF of the power supply to a main function unit 290 that realizes the main functions of the robot 200. The main function unit 290 refers to the functional units constituting the robot 200 excluding the power supply control unit 250, and includes the processing unit 110, drive unit 220, and other components. In the robot 200, the battery is charged wirelessly without connecting a charging cable or the like, in order to give the robot 200 a lifelike appearance. Any wireless charging method may be used, but in this embodiment, an electromagnetic induction method is used.

[0038] When the robot 200 is placed on the wireless charging device 256, 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 256, causing charging. In the electromagnetic induction method, if the robot 200 moves during charging and the distance between the wireless power supply receiving circuit 255 and the wireless charging device 256 increases, normal charging cannot be performed. For this reason, a signal (operation limiting signal) that limits the operation of the robot 200 (drive unit 220) is transmitted from the sub-microcomputer 251 to the processing unit 110 during charging, and the processing unit 110 controls the robot 200 to limit its operation. This mechanism will also be described later.

[0039] Returning to FIG. 8, among the data stored in the memory unit 120, the emotion data 121, emotion change data 122, growth table 123, action content table 124, motion table 125, and growth days data 126, which are characteristic data of this embodiment, will be explained in order.

[0040] The emotion data 121 is data for making the robot 200 have simulated emotions, and is data (X, Y) that indicates coordinates on the emotion map 300. As shown in FIG. 10, the emotion map 300 is expressed as a two-dimensional coordinate system with the X-axis 311 representing relief (anxiety) and the Y-axis 312 representing excitement (lethargy). The origin 310 (0, 0) on the emotion map represents a normal emotion. The larger the absolute value of the positive X-coordinate value (X value), the higher the relief, and the larger the absolute value of the positive Y-coordinate value (Y value), the higher the excitement. The larger the absolute value of the negative X-value, the higher the anxiety, and the larger the absolute value of the negative Y-value, the higher the lethargy.

[0041] The emotion data 121 represents a plurality of different pseudo-emotions (four in this embodiment). In this embodiment, of the values ​​representing the pseudo-emotions, the relief and anxiety levels are represented together on one axis (X-axis), and the excitement and lethargy levels are represented together on another axis (Y-axis). Therefore, the emotion data 121 has two values: an X value (relief, anxiety level) and a Y value (excitement, lethargy level), and a point on the emotion map 300 represented by the X value and the Y value represents the pseudo-emotion of the robot 200. The initial value of the emotion data 121 is (0,0).

[0042] Emotion data 121 is data that represents the simulated emotions of robot 200. Note that although emotion map 300 is represented in a two-dimensional coordinate system in FIG. 10, emotion map 300 may have any number of dimensions. Emotion map 300 may be defined in one dimension, and one value may be set as emotion data 121. Alternatively, emotion map 300 may be defined in a coordinate system of three or more dimensions by adding other axes, and emotion data 121 may be set to have the same number of values ​​as the number of dimensions of emotion map 300.

[0043] In this embodiment, as shown in frame 301 of FIG. 10 , the initial size of the emotion map 300 has a maximum value of 100 and a minimum value of −100 for both the X and Y values. Then, during the first period, each time the number of days of simulated growth of the robot 200 increases by one day, both the maximum and minimum values ​​of the emotion map 300 are increased by 2. Here, the first period is a period during which the robot 200 grows in a simulated manner, and is, for example, a period of 50 days from the simulated birth of the robot 200. The simulated birth of the robot 200 refers to the first activation by a user of the robot 200 after it is shipped from the factory. When the number of days of growth reaches 25 days, the maximum values ​​of the X and Y values ​​become 150 and the minimum values ​​become −150, as shown in frame 302 of FIG. 10 . Then, when the first period (50 days in this example) has passed, the pseudo-growth of the robot 200 is deemed complete, and the maximum value of both the X and Y values ​​becomes 200 and the minimum value becomes -200, as shown in box 303 in FIG. 10, and the size of the emotion map 300 is fixed.

[0044] The settable range of emotion data 121 is defined by emotion map 300. Therefore, as the size of emotion map 300 increases, the settable range of emotion data 121 also increases. Expanding the settable range of emotion data 121 allows for richer emotional expression, and thus the simulated growth of robot 200 is expressed by expanding the size of emotion map 300. The size of emotion map 300 is then fixed after the first period has elapsed, thereby terminating the simulated growth of robot 200. The condition for halting the simulated growth of robot 200 is not limited to the aforementioned "stop after the first period has elapsed," and other conditions may be added. For example, it may be "stop when any of the four personality values ​​reaches 10 (maximum)." Stopping growth under this condition fixes the personality when only one of the four personalities reaches its maximum, allowing a specific personality to be emphasized.

[0045] Emotion change data 122 is data that sets the amount of change by which each of the X value and Y value of emotion data 121 is increased or decreased. In this embodiment, emotion change data 122 corresponding to the X of emotion data 121 includes DXP, which increases the X value, and DXM, which decreases the X value, and emotion change data 122 corresponding to the Y value of emotion data 121 includes DYP, which increases the Y value, and DYM, which decreases the Y value. In other words, emotion change data 122 is made up of the following four variables, and is data that indicates the degree to which the simulated emotion of robot 200 is changed. DXP: Ease of feeling at ease (the tendency for the X value on the emotion map to change in a positive direction) DXM: Anxiety (the tendency for the X value on the emotional map to change in a negative direction) DYP: Excitability (the tendency for the Y value on the emotion map to change in a positive direction) DYM: Tendency to become lethargic (the tendency for the Y value on the emotion map to change in the negative direction)

[0046] In this embodiment, as an example, the initial values ​​of these variables are all set to 10, and are increased up to a maximum of 20 by a process for learning emotion change data in the motion control process described below. 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, and any condition can be set as long as it 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 simulated emotion of the robot 200 represented by the emotion data 121). Because this learning process changes the emotion change data 122, i.e., the degree of emotional change, 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 depending on how the user interacts with the robot 200.

[0047] Therefore, in this embodiment, each personality data (personality value) is derived by subtracting 10 from each emotion change data 122. That is, the personality value (cheerful) is calculated by subtracting 10 from DXP, which indicates the tendency to feel at ease; the personality value (shy) is calculated by subtracting 10 from DXM, which indicates the tendency to become anxious; the personality value (active) is calculated by subtracting 10 from DYP, which indicates the tendency to become excited; and the personality value (spoiled) is calculated by subtracting 10 from DYM, which indicates the tendency to become lethargic. As a result, for example, as shown in FIG. 11 , 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 (spoiled) on axis 414.

[0048] Since the initial value of each personality value is 0, the initial personality of robot 200 is represented by origin 410 of personality value radar chart 400. Then, as robot 200 grows, each personality value changes up to an upper limit of 10 depending on external stimuli (how the user interacts with robot 200) detected by sensor unit 210. When the four personality values ​​change from 0 to 10 as in this embodiment, 11 to the fourth power = 14641 different personalities can be expressed.

[0049] In this embodiment, the largest value among these four personality values ​​is used as growth degree data (growth value) indicating the pseudo-degree of growth of the robot 200. Then, the processing unit 110 controls the robot 200 so that variations occur in the operation details of the robot 200 as the robot 200 pseudo-grows (as the growth value increases). Data used by the processing unit 110 for this purpose is the growth table 123.

[0050] As shown in FIG. 12, the growth table 123 records the types of actions that the robot 200 performs in response to action triggers such as external stimuli detected by the sensor unit 210, and the probability that each action will be selected in response to a growth value (hereinafter referred to as "action selection probability"). The action selection probability is set so that while the growth value is small, a basic action set in response to the action trigger is selected regardless of the personality value, and as the growth value increases, a personality action set in response to the personality value is selected. The action selection probability is also set so that the types of basic actions that can be selected increase as the growth value increases. Note that in FIG. 12, one personality action is selected for each action trigger, but the types of character actions that can be selected may increase as the personality value increases, as with the basic actions.

[0051] For example, assume that the current personality values ​​of the robot 200 are, as shown in FIG. 11, personality value (cheerful) 3, personality value (active) 8, personality value (shy) 5, and personality value (spoiled) 4, and a loud sound is detected by the microphone 213. In this case, the growth value is 8, which is the maximum value of the four personality values, and the action trigger is "a loud sound is heard." Then, by referring to the item in the growth table 123 shown in FIG. 12 where the action trigger is "a loud sound is heard" and the growth value is 8, it is found 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 probability of 20%, "basic action 2-1" with a probability of 20%, "basic action 2-2" with a probability of 40%, and "personality action 2-0" with a probability of 20%. If "personality action 2-0" is selected, one of four types of personality actions as shown in FIG. 13 is further selected according to the four personality values. Then, the robot 200 executes the action selected here. This mechanism is realized by the action control process described later. 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 described later, since personality actions are selected with a probability corresponding to the magnitude of each of the four personality values, there is little variation in selection when the personality values ​​are small (for example, most are 0). Therefore, in this embodiment, the maximum value of the four personality values ​​is used as the growth value. This has the effect of selecting the first action mode when the variation in actions selected as personality actions becomes abundant. Note that, as an index for determining whether the variation in actions selected by personality values ​​will become abundant, not only the maximum value but also the total value, average value, mode value, etc. can be used, so the total value, average value, mode value, etc. of the personality values ​​may also be used as the growth value.

[0054] 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 using a growth value as an argument for each action trigger, and does not necessarily have to be tabular data as shown in Figure 12.

[0055] As shown in FIG. 13, the action content table 124 is a table in which specific action content for each action type defined in the growth table 123 is recorded. However, for personality actions, action content is defined for each personality type. Note that the action content table 124 is not essential data. For example, if the growth table 123 is configured in such a way that specific action content is directly recorded in the action type item of the growth table 123, the action content table 124 is not necessary.

[0056] 14, 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 motion defined in the growth table 123. Specifically, as shown in Fig. 14, for each type of motion, each row records the motion time (milliseconds), the motion angle of the twist motor 221 after the motion time, and the motion angle of the up / down motor 222 after the motion time. In this embodiment, audio data to be output from the speaker 231 for each type of motion is also recorded.

[0057] For example, when basic operation 2-0 is selected by the operation control process described below, the processing unit 110 first controls both the twist motor 221 and the up-down motor 222 so that their angles become 0 degrees after 100 milliseconds, and then controls the up-down motor 222 so that its angle becomes -24 degrees after another 100 milliseconds. Then, after 700 milliseconds, the processing unit 110 controls the motors so that the angle of the twist motor 221 becomes 34 degrees and the angle of the up-down motor 222 becomes -24 degrees. Then, after 400 milliseconds, the processing unit 110 controls the angle of the twist motor 221 so that its angle becomes -34 degrees, and after 500 milliseconds, the processing unit 110 controls the angle of the twist motor 221 and the up-down motor 222 so that their angles become 0 degrees, completing basic operation 2-0. Furthermore, in parallel with driving the twist motor 221 and the up-down motor 222, the processing unit 110 plays a short beep from the speaker 231 using audio data for the short beep.

[0058] The growth days data 126 has an initial value of 1 and is incremented by 1 each time a day passes. The growth days data 126 represents the pseudo number of days of growth (the pseudo number of days since birth) of the robot 200. Here, the period of the number of days of growth represented by the growth days data 126 is referred to as the second period.

[0059] Although not shown, the storage unit 120 also stores four personality correction values ​​(a cheerful correction value, an active correction value, a shy correction value, and a spoiled child correction value) that are increased or decreased in a personality correction value adjustment process described below. Each personality value (a personality value (cheerful), a personality value (active), a personality value (shy), and a personality value (spoiled child)) is fixed when the simulated growth of the robot 200 is completed. However, even after the completion of growth, the personality correction values ​​serve as data (personality correction data) for correcting the personality depending on how the user interacts with the robot 200. As will be described later, the personality correction values ​​are set according to a condition (a second condition based on external stimulus data) based on the area on the emotion map 300 where the emotion data 121 has existed the longest. Note that the second condition based on the external stimulus data is not limited to the above condition, and any condition can be set as long as it corrects the personality after the size of the emotion map 300 is fixed (for example, a condition related to the frequency of occurrence of the simulated emotions of the robot 200 represented by the emotion data 121).

[0060] Next, the operation control process executed by the processing unit 110 of the device control device 100 will be described with reference to the flowchart shown in Fig. 15. The operation control process is a process in which the device control device 100 controls the operation and cry of the robot 200 based on the detection values ​​from the sensor unit 210, etc. When the user turns on the power of the robot 200, a thread for this operation control process starts to be executed in parallel with the alarm control process, sleep control process, etc., which will be described later. The operation control process controls the drive unit 220 and the output unit 230 (sound output unit), and the robot 200 expresses movement and outputs sounds such as cry.

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

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

[0063] Then, the processing unit 110 acquires emotion change data 122 to be added to or subtracted from the emotion data 121 in accordance with the external stimulus acquired in step S103 (step S104). Specifically, for example, when the touch sensor 211 of the head 204 detects that the head 204 has been stroked as an external stimulus, the robot 200 feels a pseudo sense of security, and therefore the processing unit 110 acquires DXP as emotion change data 122 to be added to the X value of the emotion data 121.

[0064] Then, processing unit 110 sets emotion data 121 according to 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, processing unit 110 adds DXP of emotion change data 122 to the X value of emotion data 121. However, if the value (X value, Y value) of emotion data 121 exceeds the maximum value of emotion map 300 when emotion change data 122 is added, the value of emotion data 121 is set to the maximum value of emotion map 300. Also, if the value of emotion data 121 becomes less than the minimum value of emotion map 300 when emotion change data 122 is subtracted, the value of emotion data 121 is set to the minimum value of emotion map 300.

[0065] In steps S104 and S105, it is possible to arbitrarily set what emotion change data 122 is acquired and emotion data 121 is set for each external stimulus, but one example is shown below. Note that the maximum and minimum values ​​of the X and Y values ​​of emotion data 121 are determined by the size of emotion map 300, so the following calculation sets the maximum value if it exceeds the maximum value of emotion map 300, and the minimum value if it falls below the minimum value of emotion map 300.

[0066] Petting the head 204 (feels reassuring): X = X + DXP Hit on the head 204 (makes me anxious): X=X-DXM (These external stimuli can be detected by the touch sensor 211 on the head 204.) Body part 206 is stroked (excited): Y=Y+DYP Hitting the torso 206 (becoming lethargic): Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 on the body 206.) Being held with head up (happy): X=X+DXP and Y=Y+DYP Hanging head down (sad): X=X-DXM and Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 and the acceleration sensor 212.) A gentle voice calls out to you (becomes peaceful): X=X+DXP and Y=Y-DYM Being yelled at loudly (irritating): X=X-DXM and Y=Y+DYP (These external stimuli can be detected by microphone 213)

[0067] For example, when the head 204 is stroked, the simulated emotion of the robot 200 is one of relief, 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 hit, the simulated emotion of the robot 200 is one of anxiety, so 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 a plurality of external stimuli of mutually different types using the plurality of sensors provided in the sensor unit 210, so that emotion change data 122 is acquired in accordance with each of these plurality of external stimuli, and emotion data 121 is set in accordance with the acquired emotion change data 122.

[0068] Then, the processing unit 110 executes an action selection process using the information on the external stimulus acquired in step S103 as an action trigger (step S106), and then proceeds to step S108. Details of the action selection process will be described later, but the action trigger is information on the external stimulus or the like that triggers the robot 200 to perform some action.

[0069] 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 movement such as breathing (step S107).While any method for determining whether or not to perform a spontaneous movement may be used, in this embodiment, the determination in step S107 becomes Yes every first reference time (for example, 5 seconds).

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

[0071] If the robot 200 does not move spontaneously (step S107; No), the processing unit 110 determines whether to end the processing (step S108). For example, if the operation unit 240 receives an instruction from the user to power off the robot 200, the processing ends. If the processing ends (step S108; Yes), the processing unit 110 stores various data, such as the emotion data 121, the emotion change data 122, and the growth days data 126, in a non-volatile memory (e.g., a flash memory) of the storage unit 120 (step S109), and ends the motion control processing. Note that the process of storing various data in the non-volatile memory when the power is turned off may be performed by a separate power-off determination thread running in parallel with other threads, such as the motion control processing. If the power-off determination thread performs processes equivalent to steps S108 and S109, the processes of steps S108 and S109 in the motion control processing can be omitted.

[0072] If the process does not end (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.

[0073] If the date has changed (step S110; Yes), the processing unit 110 determines whether or not it is within the first period (step S111). If the first period is, for example, a 50-day period from the pseudo-birth of the robot 200 (for example, the first activation by the user after purchase), the processing unit 110 determines that it is within the first period if the growth day number data 126 is 50 or less. If it is not within the first period (step S111; No), the processing unit 110 executes a personality correction value adjustment process (step S112) and proceeds to step S115. Details of the personality correction value adjustment process will be described later.

[0074] If it is during the first period (step S111; Yes), the processing unit 110 performs learning of the emotion change data 122 (step S113). Specifically, in step S105 of that day, if the X value of the emotion data 121 was 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 the emotion data 121 was 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 the emotion data 121 was 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 the emotion data 121 was 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 updating is also referred to as learning the emotion change data 122.

[0075] However, if each value of the emotion change data 122 becomes too large, the amount of change in each emotion data 121 becomes too large, so each value of the emotion change data 122 is limited to a maximum value of, for example, 20 and not more than this. Also, although 1 is added to each piece of emotion change data 122 here, the value added is not limited to 1. For example, the number of times each value of the emotion data 121 is set to the maximum or minimum value of the emotion map 300 may be counted, and if this number is high, the value added to the emotion change data 122 may be increased.

[0076] The learning of emotion change data 122 in step S113 is based on whether emotion data 121 is set to the maximum or minimum value of emotion map 300 in step S105. Whether 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, a plurality of different types of external stimuli are acquired by the multiple sensors provided in sensor unit 210, and therefore each piece of emotion change data 122 is learned in response to each of these multiple external stimuli.

[0077] For example, when 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 personality that is easy to relax. On the other hand, when only the head 204 is hit 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 personality that is easy to become anxious. In this way, the processing unit 110 learns to make the emotion change data 122 different from one another 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, thereby achieving the effect of the robot 200 virtually growing based on how the user interacts with the robot 200.

[0078] In this embodiment, in step S105, if the X value or Y value of the emotion data 121 reaches the maximum or minimum value of the emotion map 300 at least once during that one-day period, the emotion change data 122 is learned. However, the conditions for learning the emotion change data 122 are not limited to this. For example, the emotion change data 122 may be learned if the X value or Y value of the emotion data 121 reaches 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 that one day, and the emotion change data 122 may be learned if the X value or Y value of the emotion data 121 reaches a predetermined value at least once during other periods such as half a day or one week. Furthermore, instead of a fixed period such as one day, the emotion change data 122 may be learned if the X value or Y value of the emotion data 121 reaches a predetermined value at least once during a period until the number of external stimuli acquired reaches a predetermined number (for example, 50 times).

[0079] Returning to FIG. 15, processing unit 110 expands both the maximum and minimum values ​​of emotion map 300 by 2 (step S114). Note that here, both the maximum and minimum values ​​of emotion map 300 are expanded by 2, but this expansion value of "2" is merely an example, and the emotion map 300 may be expanded by 3 or more, or may be expanded by just 1. Furthermore, the expansion value does not have to be the same for each axis of emotion map 300, or for the maximum and minimum values. Processing unit 110 then adds 1 to growth day number data 126, initializes both the X and Y values ​​of the emotion data to 0 (step S115), and returns to step S102.

[0080] 15, learning of emotion change data and expansion of the emotion map are performed after it is determined in step S110 that the date has changed, but they may also be performed after it is determined that a reference time (for example, 9:00 PM) has been reached. Furthermore, the determination in step S110 may not be based on the actual date, but may be based on a value accumulated by a timer function of the processing unit 110 for the time that the robot 200 has been powered on. For example, each time the accumulated time that the power has been on becomes a multiple of 24, it may be assumed that the robot 200 has grown by one day, and emotion change data learning and expansion of the emotion map may be performed. Furthermore, taking into consideration users who tend to leave the robot 200 unattended (so that the robot 200's growth slows down when it is left unattended), determination may also be made based on the number of times an external stimulus is received (for example, every 100 times it is received, it may be assumed that the robot 200 has grown by one day).

[0081] Next, the action selection process executed in step S106 of the above-mentioned action control process will be described with reference to FIG.

[0082] First, the processing unit 110 determines whether or not it is currently in the first period (step S200). If it is currently in the first period (step S200; Yes), the processing unit 110 calculates a personality value from the emotion change data 122 learned in step S113 (step S201). Specifically, four personality values ​​are calculated as follows: Each of the emotion change data 122 has an initial value of 10 and increases up to a maximum of 20, so here 10 is subtracted to set the value range from 0 to 10. Personality (cheerful) = DXP-10 Personality score (shy) = DXM-10 Personality score (active) = DYP-10 Personality score (spoiled) = DYM-10

[0083] On the other hand, if it is not during the first period (step S200; No), the processing unit 110 calculates a corrected personality value based on the emotion change data 122 learned in step S113 and the personality correction value adjusted in step S112 (step S201). Specifically, four personality values ​​are calculated as follows: Since the emotion change data 122 each has an initial value of 10 and increases up to a maximum of 20, here 10 is subtracted to make the value range between 0 and 10, and then each correction value is added. However, if the value after adding the correction value becomes negative, it is corrected to 0, and if it exceeds 10, it is corrected to 10, so that each personality value is between 0 and 10. Personality (cheerful) = DXP-10 + cheerfulness correction value Personality score (shy) = DXM-10 + shyness correction value Personality score (active) = DYP-10 + activeness correction value Personality score (spoiled) = DYM-10 + spoiled correction value

[0084] Next, the processing unit 110 calculates the largest value among these personality values ​​as a growth value (step S202). Then, the processing unit 110 refers to the growth table 123 and acquires the action selection probability of 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).

[0085] Next, the processing unit 110 selects an action type using a random number based on the action selection probability of each action type acquired in step S203 (step S204). For example, if the calculated growth value is 8 and the action trigger is "makes a loud noise", "basic action 2-0" will be 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 (see FIG. 12).

[0086] Then, the processing unit 110 determines whether or not a character action has been selected in step S204 (step S205). If a character action has not been selected, that is, if a basic action has been selected (step S205; No), the process proceeds to step S208.

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

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

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

[0090] Next, the personality correction value adjustment process executed in step S112 of the above-mentioned operation control process will be described with reference to FIG.

[0091] First, processing unit 110 calculates the area on emotion map 300 where emotion data 121 existed the longest during that day (until the determination in step S110 of FIG. 15 changed from No to Yes) (hereinafter referred to as the "longest existence area"), based on the history of changes in emotion data 121 (movement on emotion map 300) during that day (step S301).

[0092] Then, the processing unit 110 determines whether the longest presence area calculated in step S301 is a safe area (specifically, an area where the X value is 100 or more) on the emotion map 300 shown in Fig. 10 (step S302). If the longest presence area is a safe area on the emotion map 300 (step S302; Yes), the processing unit 110 adds 1 to the cheerful correction value of the personality correction value and subtracts 1 from the shy correction value (step S303), and proceeds to step S304.

[0093] If the longest presence area is not a safe area on the emotion map 300 (step S302; No), the processing unit 110 determines whether the longest presence area is an excited area on the emotion map 300 (specifically, an area with a Y value of 100 or more) (step S304). If the longest presence area is an excited area on the emotion map 300 (step S304; Yes), the processing unit 110 adds 1 to the activeness correction value of the personality correction value and subtracts 1 from the spoiled child correction value (step S305), and proceeds to step S306.

[0094] If the longest presence area is not an excited area on the emotion map 300 (step S304; No), the processing unit 110 determines whether the longest presence area is an anxious area on the emotion map 300 (specifically, an area with an X value of -100 or less) (step S306). If the longest presence area is an anxious area on the emotion map 300 (step S306; Yes), the processing unit 110 adds 1 to the shyness correction value of the personality correction value and subtracts 1 from the cheerfulness correction value (step S307), and proceeds to step S308.

[0095] If the longest presence area is not an anxious area on the emotion map 300 (step S306; No), the processing unit 110 determines whether the longest presence area is a lethargic area on the emotion map 300 (specifically, an area with an X value of -100 or less) (step S308). If the longest presence area is a lethargic area on the emotion map 300 (step S308; Yes), the processing unit 110 adds 1 to the spoiled correction value of the personality correction value and subtracts 1 from the active correction value (step S309), and proceeds to step S310.

[0096] If the longest presence area is not the lethargic area on the emotion map 300 (step S308; No), the processing unit 110 determines whether the longest presence area is the central area on the emotion map 300 (specifically, an area where the absolute values ​​of both the X value and the Y value are less than 100) (step S310). If the longest presence area is the central area on the emotion map 300 (step S310; Yes), the processing unit 110 decreases the absolute values ​​of all four personality correction values ​​by 1 (step S311) and proceeds to step S312.

[0097] If the longest existence area is not the central area on emotion map 300 (step S310; No), processing unit 110 limits the range of the four personality correction values ​​(step S312). Specifically, a personality correction value smaller than -5 is set to -5, and a personality correction value larger than +5 is set to +5. Then, processing unit 110 ends the personality correction value adjustment process and proceeds to step S115 of the action control process.

[0098] Through the above-described motion control process, the basic personality (basic personality data) is set for the simulated personality of the robot 200 during the first period in steps S113 and S201, and after the first period has elapsed, the personality value can be corrected without changing the basic personality in steps S112 and S209.

[0099] The personality during the first period corresponds to the emotion change data 122, that is, the speed of movement of the emotion data 121 on the emotion map 300. In other words, because the speed of emotion change is associated with the personality, this is an extremely natural way of expressing personality. Furthermore, in step S113, the emotion change data 122 only changes in an increasing direction, so the personality value can be thought of as reflecting past information (such as external stimuli received from the user during the first period). Furthermore, because all four pieces of emotion change data 122 can change in step S113, a personality that combines multiple personality traits can also be constructed.

[0100] After the first period has elapsed, the emotion change data 122 is fixed, and the basic personality is fixed. The correction value set in step S112 only increases or decreases by 1 depending on the longest presence area of ​​that day, so the change in personality value due to the correction value is more gradual than the change during the first period. When the robot 200 is left alone, the longest presence area becomes the central area, and the correction value approaches 0, returning the robot to its basic personality.

[0101] 15, the personality correction value adjustment process (step S112) is performed after it is determined in step S110 that the date has changed, that is, every time a one-day period has passed. However, this period is not limited to one day, and the personality correction value adjustment process may be performed every time another period, such as half a day or one week, has passed. Furthermore, instead of a fixed period such as one day, the personality correction value adjustment process may be performed every time the number of times the external stimulus has been acquired reaches a predetermined number (for example, 50 times).

[0102] Furthermore, in the personality correction value adjustment process (FIG. 17) described above, the personality correction value is adjusted based on the area in which emotion data 121 exists for the longest period on emotion map 300, but the adjustment method is not limited to this. For example, the number of times emotion data 121 exists in each of a plurality of areas on emotion map 300 may be counted per unit time, and when this number reaches a predetermined number, the personality correction value may be adjusted based on that area.

[0103] Furthermore, in the above-described operation control process, in steps S110 and S111, whether or not to learn the emotion change data 122 (change and set the basic personality data) is switched depending on whether or not the condition that the growth day data 126 is in the first period is satisfied. However, the condition for this switching is not limited to the condition that the growth day data 126 is in the first period, and the switching may be switched depending on whether or not a predetermined condition related to the simulated growth degree of the robot 200 is satisfied.

[0104] For example, instead of or together with (an OR condition) the condition that "the growth day data 126 is equal to or greater than a predetermined value," the predetermined condition may be "the largest value among the four personality values ​​is equal to or greater than a predetermined value as growth degree data representing the simulated growth degree of the robot 200." Furthermore, the growth degree data may be set according to the number of days, the number of times an external stimulus is detected, the personality value, or a combination of these (for example, the sum or average of these).

[0105] In the above-described action selection process, the emotion data 121 may be referenced when selecting an action for the robot 200, and the value of the emotion data 121 may be reflected in the action selection. For example, a plurality of growth tables 123 may be prepared according to the value of the emotion data 121, and types of actions that express emotions richly may be set, and an action may be selected using the growth table 123 that corresponds 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 allows the robot 200 to perform actions that better reflect its current emotions.

[0106] Furthermore, if the determination in step S107 in FIG. 15 is Yes, in the movement selection process in step S106, breathing movement or movement associated with personality is performed as a spontaneous movement, and in this case, the movement may be made according to the X value and Y value of emotion data 121.

[0107] Furthermore, since the Y value of the emotion data 121 corresponds to excitement in the positive direction and to lethargy 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 as the Y value of the emotion data 121 becomes larger in positive value, and decrease the volume of the cry output from the speaker 231 as the Y value becomes smaller in negative value.

[0108] Furthermore, the growth table 123 may be prepared in a plurality of variations depending on the use of the robot 200 (for example, for aesthetic education for young children, for dialogue with the elderly, etc.). Furthermore, in order to change the use of the robot 200, the growth table 123 may be downloadable from an external server or the like via the communication unit 130.

[0109] Furthermore, in the above-described action selection process, the largest value among the four personality values ​​is 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 number of days of growth data 126 (for example, the growth value may be obtained by dividing the number of days of growth data 126 by a predetermined value (for example, 10) and truncating the decimal point). A robot 200 left unattended by a user often has a small personality value, and if the maximum personality value is used as the growth value, a personality action may not be selected. Even in such cases, if the growth value is set based on the number of days of growth data 126, a personality action will be selected according to the number of days of growth, regardless of the frequency of care by the user. Furthermore, the growth value may be set based on both the personality value and the number of days of growth data 126 (for example, the growth value may be obtained by dividing the sum of the largest personality value and the number of days of growth data 126 by a predetermined value and truncating the decimal point).

[0110] Furthermore, in the above-described embodiment, the personality value is set based on the emotion change data 122, but the method for setting the personality value is not limited to this. For example, the personality value may be set directly from the external stimulus data, without being based on the emotion change data 122. For example, a method is conceivable in which the personality value (active) increases when petted and decreases when hit (shy). The personality value may also be set based on the emotion data 121. For example, a method is conceivable in which the personality value is set to 1 / 10 of the X value and Y value of the emotion data 121.

[0111] According to the above-described motion control process, the robot 200 can be given a pseudo-emotion (emotion data 121). Furthermore, by learning the emotion change data 122 that changes the emotion data 121 in response to external stimuli, each robot 200 will exhibit different emotional changes in response to external stimuli, and as a result, each robot 200 can be given a pseudo-personality (personality value). Furthermore, because personality is derived from the emotion change data 122, it is also possible to generate a clone robot with the same personality by copying the emotion change data 122. For example, if backup data of the emotion change data 122 is saved, even if the robot 200 breaks down, the robot 200 with the same personality can be recreated by restoring the backup data.

[0112] As the growth value calculated based on the personality value increases, the variety of selectable actions becomes greater, and the robot 200 is able to express a wider variety of actions as it grows (the growth value increases). Furthermore, as the robot 200 grows, it does not only perform the actions it has performed after it has grown, but can select an action from all of the actions it has performed previously according to the action selection probability defined in the growth table 123. Therefore, even after the robot 200 has grown, the user can occasionally see the actions it performed when it was first purchased, which allows the user to feel more affection for the robot.

[0113] Furthermore, the simulated growth of the robot 200 is limited to a first period (for example, 50 days), and the emotional change data 122 (personality) thereafter is fixed, so it cannot be reset like other ordinary devices, and the user can feel as if they are interacting with a real, living pet.

[0114] Furthermore, even after the personality is fixed, the personality correction value changes based on the user's subsequent interaction with the robot 200, and the robot 200 behaves based on the personality value corrected by the personality correction value. Therefore, even after the user has completed the simulated growth of the robot 200, the user can enjoy watching the robot 200's reactions change depending on how the user interacts with it. Furthermore, if the robot 200 is left alone, the longest existence area on the emotion map 300 will be near the center, and the personality correction value will return to 0, so the robot 200 can behave in a way that reflects its original personality after growth.

[0115] Furthermore, the pseudo emotions are represented by a plurality of emotion data (X and Y in the emotion data 121), and the pseudo personality is represented by a plurality of emotion change data (DXP, DXM, DYP, and DYM in the emotion change data 122), so that complex emotions and personalities can be expressed.

[0116] The emotion change data 122 for deriving this pseudo personality is learned in response to each of a plurality of different types of external stimuli acquired by a plurality of sensors provided in the sensor unit 210, so that a wide variety of pseudo personalities can be generated depending on how the user interacts with the robot 200.

[0117] Next, the sleep function, alarm function, and co-sleeping function of the robot 200 will be described in order.

[0118] Since the robot 200 is powered by a battery, energy-saving control is necessary. However, to create a lifelike appearance like a pet, it is better to control the robot 200 so that it appears as if it is sleeping, rather than simply stopping its operation. Hereinafter, a control mode that controls the robot 200 so that it appears as if it is sleeping is referred to as a sleep control mode. The sleep control mode realizes a sleep function that makes the robot 200 appear as if it is sleeping. When a sleep condition is met, such as when the surroundings become dark, the robot 200 transitions to a sleep state by stopping the thread of the movement control process shown in FIG. 15, thereby reducing power consumption. Then, when a specific external stimulus is subsequently received (or the alarm time is reached), the stopped thread of the movement control process is resumed and the robot transitions to a normal state. The normal state refers to a state in which all threads necessary for normal operation of the robot 200, such as the thread of the movement control process, are running, and the robot periodically breathes and performs actions in response to external stimuli.

[0119] Basically, when the illuminance sensor detects that the condition that the surroundings have become dark (second sleep condition) has been satisfied, the robot 200 enters a sleep control mode (transitions from the normal state to the sleep state) that reduces power consumption (particularly the energy consumed by the drive unit 220 and the output unit 230). Then, in order to ensure energy conservation, once the robot 200 enters the sleep control mode, it does not transition from the sleep state to the normal state even if the surroundings become brighter.

[0120] In the sleep state of the normal sleep control mode of this embodiment, when the user holds the robot 200 with its head 204 facing up, strokes it, or calls it loudly, the robot 200 cancels the sleep control mode and transitions from the sleep state to the normal state. Note that an external stimulus that cancels the normal sleep control mode (here, the external stimuli such as "being stood with its head 204 facing up," "being stroked," or "hearing a loud voice") is also referred to as a normal stimulus, and the normal sleep state is also referred to as a second sleep state.

[0121] However, there may be situations where you do not want the robot 200 to transition from the sleep state to the normal state, such as when you want to fully charge the battery of the robot 200 or when the user goes out with the robot 200. For such situations, the robot 200 also has a sleep control mode (hereinafter referred to as "hard sleep control mode") that makes it difficult to transition to the normal state.

[0122] In this embodiment, when a first sleep condition is satisfied, the robot 200 enters the hard sleep control mode (transitions from the normal state to the hard sleep state). The first sleep condition is satisfied when either of the following two conditions is satisfied: (1) The surroundings became dark while charging. (2) The surroundings became dark when the robot 200 was being made to stand by the user (held with the head 204 facing up). However, even if the surroundings are not actually dark, if the user covers the illuminance sensor 214 with their hand while charging or while the robot 200 is standing, the illuminance detected by the illuminance sensor 214 will decrease, and the robot 200 will determine that the first sleep condition is met and enter the hard sleep control mode.

[0123] In the hard sleep control mode, the robot 200 does not transition to the normal state even if the user strokes the robot 200 or calls out to it loudly. However, to create a sense of life, the processing unit 110 temporarily transitions to a quasi-sleep state and controls the driving unit 220 and the output unit 230 when it detects a predetermined specific external stimulus (in this embodiment, the external stimulus is "being stroked"). The processing unit 110 can then transition to the hard sleep state. For this reason, the hard sleep control mode has multiple levels (hereinafter referred to as "sleep levels"). In the quasi-sleep state, a first suppression mode is executed, in which the driving unit 220 and the output unit 230 are controlled (in this embodiment, the driving unit 220 emits breathing sounds or performs breathing movements) to reduce power consumption more than in the normal state. In the hard sleep state, a second suppression mode is executed, in which the driving unit 220 and the output unit 230 are controlled (in this embodiment, the driving unit 220 is stopped and no power is output from the output unit 230) to reduce power consumption even more than in the quasi-sleep state.

[0124] Sleep level 1 is a control mode that can minimize power consumption, but the robot 200 loses a sense of life, and the robot 200 does not move at all until the hard sleep control mode is released.

[0125] Sleep level 2 is a mode in which, upon receiving a specific external stimulus, the driving unit 220 is not operated and only sounds are used to create a lifelike appearance. In this embodiment, when the robot 200 is stroked by the user, it transitions to a quasi-sleep state, outputs the sound of breathing from the speaker 231 for a predetermined time (e.g., 5 seconds), and then returns to the hard sleep state. The quasi-sleep state refers to a state in which, in the hard sleep control mode, the robot 200 executes the first suppression mode (temporarily moves or emits sounds) to create a lifelike appearance. In the quasi-sleep state (while the first suppression mode is being executed), the robot 200 temporarily moves or emits sounds, but the thread of the movement control process shown in FIG. 15 remains stopped, and continuous driving of motors that consume power, large movements, output of large sounds, and the like are not executed. Therefore, movements in response to external stimuli and spontaneous movements are suppressed, and energy consumption by the driving unit 220 and the output unit 230 can be reduced compared to the normal state.

[0126] Sleep level 3 is a mode in which, upon receiving a specific external stimulus, the driving unit 220 is activated to give the robot a more lifelike appearance. In this embodiment, when the robot 200 is stroked by the user, the robot 200 transitions to a semi-sleep state for a predetermined time (e.g., 5 seconds), activates the driving unit 220, and performs breathing, and then returns to a hard sleep state.

[0127] In this way, even in the hard sleep control mode in which power consumption is reduced, when the sleep level of the robot 200 is 2 or 3, if the robot 200 receives a specific external stimulus (also referred to as a second stimulus), such as being stroked by the user, it transitions to a quasi-sleep state, snores, and breathes, allowing the user to feel that the robot 200 is a real living creature. When the quasi-sleep state continues for a predetermined time, the robot 200 returns from the quasi-sleep state to a hard sleep state, thereby enabling the state in which power consumption is reduced to continue. In this embodiment, the sound output in the quasi-sleep state is the sound of breathing, but other sounds, such as breathing, may also be output. Furthermore, in the quasi-sleep state, the sound of breathing or the sound of sleeping may be output in addition to breathing.

[0128] Note that any method can be set as the method for canceling the hard sleep control mode, but in this embodiment, when the user holds the robot 200 in an upright position (holds the robot 200 with the head 204 facing up), the robot 200 cancels the hard sleep control mode and transitions to the normal state. Note that the external stimulus that cancels the hard sleep control mode (here, the external stimulus of "standing the robot with the head 204 facing up") is also referred to as the first stimulus, and the hard sleep state is also referred to as the first sleep state.

[0129] In the hard sleep control mode, while neither the specific external stimulus nor the first stimulus is detected, the processing unit 110 executes a second suppression mode, controlling the driving unit 220 and the output unit 230 to reduce battery power consumption more than in the first suppression mode (in this embodiment, the robot does not move or emit any sound). Note that the second suppression mode is not limited to a complete stop, and the robot 200 may perform an action or output a sound that can reduce battery power consumption more than in the first suppression mode. The first suppression mode allows the robot 200 to express an action in response to the specific external stimulus, thereby further improving the sense of life. Furthermore, the second suppression mode allows the robot 200 to further reduce energy consumption.

[0130] Next, we will explain the alarm function and the co-sleeping function of the robot 200. As shown in Fig. 1, the robot 200 has an appearance like a stuffed toy, so the user can sleep with the robot 200 while holding it.

[0131] In this case, the robot 200 can wake up the user without making a sound by operating the driving unit 220. The alarm sound of a normal alarm clock often annoys users, but it is thought that many users would not find it so unpleasant if the robot 200, who is sleeping with them, wakes them up by moving around.

[0132] The robot 200 provides such an alarm function. However, if the user unconsciously strokes the robot 200 while sleeping, the robot 200 may move and wake up the user. Therefore, the sleeping-together function is a function that stops the operation of the robot 200 while the robot 200 is sleeping next to the user. However, in this embodiment, the sleeping-together function is realized by not simply stopping the operation of the robot 200 but by executing a suppression mode (hard sleep control mode in this embodiment) that suppresses the energy consumed by the drive unit 220 and the output unit 230 of the robot 200. This makes it possible to both avoid waking up the user while sleeping and suppress power consumption.

[0133] Since the robot 200 does not have a display screen or the like, the alarm function and the co-sleeping function are set by the user using an application program on a smartphone connected via the communication unit 130 of the robot 200. An example of the setting screen for the alarm function and the co-sleeping function in the smartphone application program is shown in FIG.

[0134] As shown in FIG. 18, the user can input various settings for the alarm function and the sleeping-together function into the robot 200 by inputting, on the smartphone screen 501, the alarm time, whether to turn the alarm on or off for each day of the week, the strength of the robot 200's movement when the alarm occurs, whether to turn the robot 200's cry when the alarm occurs, the number of snoozes (snoozes are turned off if 0), the sleeping-together mode level (corresponding to the level (sleep level) of the hard sleep control mode), the sleeping-together start time (the time when the sleeping-together function starts, also called the sleep start time), etc.

[0135] Note that FIG. 18 shows an example in which these setting data are set on one screen 501. Among these, alarm time, day of the week (ON / OFF), alarm strength, cry (ON / OFF), and number of snoozes are setting values ​​related to the alarm function, and are therefore referred to as alarm setting data. Furthermore, co-sleeping mode level and co-sleeping start time are setting values ​​related to the co-sleeping function, and are therefore referred to as co-sleeping setting data. A smartphone application program may be designed so that the setting screen for the alarm setting data and the setting screen for the co-sleeping setting data are separate screens. Note that alarm operation refers to the robot 200 moving squirmingly by the drive unit 220 or making a cry through the speaker 231 when the alarm time (the time the alarm is set) arrives.

[0136] Next, an alarm control process for realizing the alarm function of the robot 200 will be described with reference to the flowchart shown in Fig. 19. When the user turns on the power of the robot 200, this alarm control process starts in parallel with the above-mentioned operation control process, the sleep control process described later, and the like.

[0137] First, the processing unit 110 initializes various parameters (alarm parameters) related to the alarm function, such as the alarm time (step S401). Note that the alarm parameters may be stored in a flash memory of the storage unit 120 so that these values ​​are not initialized every time the robot 200 is powered on.

[0138] Next, the processing unit 110 determines whether or not alarm setting data has been received from the smartphone via the communication unit 130 (step S402). If the alarm setting data has been received (step S402; Yes), the processing unit 110 sets alarm parameters based on the received alarm setting data (step S403) and proceeds to step S404.

[0139] If alarm setting data has not been received (step S402; No), the processing unit 110 determines whether alarm parameters have been set (step S404). If alarm parameters have not been set (step S404; No), the processing unit 110 returns to step S402.

[0140] If the alarm parameters have been set (step S404; Yes), the processing unit 110 determines whether the current time is the alarm time and whether the alarm is set to ON for today's day of the week using the clock function (step S405). If the current time is not the alarm time or the alarm is not set to ON for today's day of the week (step S405; No), the process returns to step S402.

[0141] If the current time is the alarm time and the alarm is set to ON for today's day of the week (step S405; Yes), the processing unit 110 sets the number of snoozes set in the alarm parameters to variable S and also sets the snooze time (for example, 5 minutes after the alarm time) (step S406). Then, the processing unit 110 executes the alarm operation by controlling the driving unit 220 and the speaker 231 based on the values ​​of the alarm operation strength and sound ON / OFF set in the alarm parameters (step S407). Note that if the thread of the above-mentioned operation control process has been temporarily halted by the sleep control process described later, the processing unit 110 also executes a process of resuming (wake-up) the thread of the operation control process in step S407.

[0142] By executing the alarm action, the robot 200 moves squirmingly by the driving unit 220 and makes a sound through the speaker 231. This allows the user to wake up naturally without feeling uncomfortable. Furthermore, since the robot 200 returns to the normal state by restarting the action control process thread, the robot 200 resumes breathing and responds, for example, when the user strokes it. Therefore, even if the user is unable to wake up by the alarm action, the user can be woken up by the subsequent breathing action or natural reaction of the robot 200.

[0143] Then, the processing unit 110 determines whether or not an alarm stop operation has been performed (step S408). Any operation can be defined as the alarm stop operation, but in this embodiment, it is determined that the alarm stop operation has been performed when the user lifts the head of the robot 200 and stands the robot 200 up.

[0144] If the user performs an alarm stop operation (step S408; Yes), the processing unit 110 stops the alarm operation in response to this alarm stop operation (step S409), and the process returns to step S402.

[0145] If the user has not performed an alarm stop operation (step S408; No), the processing unit 110 determines whether the value of the variable S, which sets the remaining number of snoozes, is 1 or greater (step S410). If the value of the variable S is 0 (step S410; No), the process returns to step S402.

[0146] If the value of the variable S is 1 or more (step S410; Yes), the processing unit 110 determines whether the current time is the snooze time (step S411). If it is not the snooze time (step S411; No), the processing returns to step S408.

[0147] If it is the snooze time (step S411; Yes), the processing unit 110 decrements the value of the variable S by 1, updates the snooze time (for example, sets it to 5 minutes later) (step S412), and returns to step S407.

[0148] Next, a sleep control process for realizing the sleep control mode and co-sleeping function of the robot 200 will be described with reference to the flowchart shown in Fig. 20. When the user turns on the power of the robot 200, this sleep control process starts in parallel with the above-mentioned motion control process, alarm control process, etc.

[0149] The co-sleeping function in this embodiment is a function that, when the set co-sleeping start time arrives, determines that the robot 200 is sleeping with the user and executes the hard sleep control mode (suppression mode). As described above, the hard sleep control mode is also executed when the user covers the illuminance sensor 214 with their hand while the robot 200 is standing. Therefore, the user can also manually execute the co-sleeping function by this operation. That is, in this embodiment, the execution condition of the suppression mode is that the current time is the co-sleeping start time or the first sleep condition described above is met. Furthermore, the hard sleep control mode has three sleep levels, which are set by setting the co-sleeping mode level.

[0150] When the sleep control process starts, the processing unit 110 first initializes various parameters (hereinafter referred to as "sleep parameters") related to the sleep control mode, such as the level of the hard sleep control mode (sleep level), and various parameters (hereinafter referred to as "sleeping parameters") related to the co-sleeping function, such as the co-sleeping mode level and co-sleeping start time (step S501). The initialized values ​​are, for example, "Level 1" for the sleep level and co-sleeping mode level, and "Not set" for the co-sleeping start time. These parameters may be stored in the flash memory of the storage unit 120 so that they are not initialized each time the robot 200 is turned on.

[0151] Next, the processing unit 110 determines whether or not it has received co-sleeping setting data from the smartphone via the communication unit 130 (step S502). If the co-sleeping setting data has been received (step S502; Yes), the processing unit 110 sets co-sleeping parameters based on the received co-sleeping setting data (step S503) and proceeds to step S504. Note that in steps S502 and S503, sleep parameters may also be received and set in the same way as the co-sleeping parameters. However, in this embodiment, the sleep level uses the same value as the co-sleeping mode level set in the co-sleeping setting data.

[0152] If no co-sleeping setting data has been received (step S502; No), the processing unit 110 determines whether the current time is the co-sleeping start time set in step S503 (step S504). If no co-sleeping setting data has been received in the past, the co-sleeping start time will be "unset," and the determination in step S504 will never be "Yes." If the current time is the co-sleeping start time (step S504; Yes), the processing unit 110 determines that the execution conditions for the co-sleeping function are met, and executes the hard sleep process (described later) to execute the co-sleeping function (step S505). Because the execution conditions for the co-sleeping function are determined based on the time in this way, the robot 200 can reliably execute the co-sleeping function at the co-sleeping start time. Then, the process returns to step S502.

[0153] If the current time is not the co-sleeping start time (step S504; No), the processing unit 110 determines whether the brightness detected by the illuminance sensor 214 is darker than the reference illuminance (step S506). If the illuminance sensor 214 detects brightness equal to or greater than the reference illuminance (step S506; No), the process returns to step S502.

[0154] If the illuminance sensor 214 detects only brightness less than the reference illuminance (step S506; Yes), the processing unit 110 determines whether the battery 253 is charging or whether the head 204 is lifted (step S507). If the battery 253 is charging or the head 204 is lifted (step S507; Yes), the battery 253 is charging or the head 204 is lifted (step S507; Yes) and only brightness less than the reference illuminance is detected (step S506; Yes), so the processing unit 110 determines that the first sleep condition is met, executes hard sleep processing (step S508), which will be described later, and returns to step S502.

[0155] If the battery 253 is not being charged and the head 204 is not being lifted (step S507; No), the processing unit 110 determines that the second sleep condition is met because only brightness below the reference illuminance is detected (step S506; Yes), and suspends the thread of the above-mentioned movement control process (step S509). As a result, the robot 200 transitions to the second sleep state and stops normal movement (stopping the drive unit 220 and stopping sound output from the speaker 231), thereby reducing power consumption.

[0156] Then, the processing unit 110 determines whether the head 204 has been lifted (step S510). If the head 204 has been lifted (step S510; Yes), the processing unit 110 resumes the thread of the motion control process that was paused in step S509 (step S511), and returns to step S502.

[0157] If the head 204 is not lifted (step S510; No), the processing unit 110 determines whether the robot 200 has been stroked (step S512). If the robot 200 has been stroked (step S512; Yes), the process proceeds to step S511.

[0158] If the object is not being stroked (step S512; No), the processing unit 110 determines whether or not a loud sound is detected (step S513). If a loud sound is detected (step S513; Yes), the process proceeds to step S511.

[0159] If no loud sound is detected (step S513; No), the process returns to step S510.

[0160] Next, the hard sleep processing executed in steps S505 and S508 in the above-described processing will be described with reference to FIG.

[0161] First, the processing unit 110 suspends the thread of the above-described motion control process (step S521). As a result, the robot 200 transitions to a hard sleep state and stops normal operation (stopping the drive unit 220 and stopping sound output from the speaker 231), thereby reducing power consumption. Note that in this embodiment, some of the conditions for starting the hard sleep process and the condition for ending the hard sleep process are common (the head 204 is lifted). Therefore, although not shown in FIG. 21 , the processing unit 110 may perform processing or determination to prevent the hard sleep process from ending immediately after starting the hard sleep process. For example, between steps S521 and S522 in FIG. 21 , the processing unit 110 may wait until the head 204 is no longer lifted. Furthermore, the determination condition for ending the hard sleep state (steps S523, S528, and S531 in FIG. 21 ) may be set to "the illuminance sensor 214 detects brightness equal to or greater than a reference illuminance, and the head 204 is lifted."

[0162] Next, the processing unit 110 determines whether the sleep level set by the user (in this embodiment, the same as the co-sleeping mode level set in step S503) is 1 as shown in Fig. 18 (step S522). If the sleep level is 1 (step S522; Yes), the processing unit 110 determines whether the head 204 has been lifted (step S523). If the head 204 has not been lifted (step S523; No), the process returns to step S523.

[0163] If the head 204 is lifted (step S523; Yes), the processing unit 110 resumes the thread of the motion control process that was paused in step S521 (step S524), ends the hard sleep process, and returns to step S502 of the sleep control process.

[0164] On the other hand, if the sleep level is not 1 in step S522 (step S522; No), the processing unit 110 determines whether the sleep level is 2 or not (step S525). If the sleep level is 2 (step S525; Yes), the processing unit 110 determines whether the robot 200 has been stroked or not (step S526). If the robot 200 has not been stroked (step S526; No), the processing unit 110 proceeds to step S528. If the robot 200 has been stroked (step S526; Yes), the processing unit 110 transitions to a semi-sleep state, outputs the sound of breathing from the speaker 231, and returns to a hard sleep state (step S527). At this time, the thread of the motion control process remains stopped, and only the sound of breathing is output, so that power consumption in step S527 can be reduced more than in the normal state.

[0165] Then, the processing unit 110 determines whether the head 204 has been lifted (step S528). If the head 204 has not been lifted (step S528; No), the processing unit 110 returns to step S526. If the head 204 has been lifted (step S528; Yes), the processing unit 110 proceeds to step S524.

[0166] On the other hand, if the sleep level is not 2 in step S525 (step S525; No), the sleep level is 3, and the processing unit 110 determines whether the robot 200 has been stroked (step S529). If the robot 200 has not been stroked (step S529; No), the process proceeds to step S531. If the robot 200 has been stroked (step S529; Yes), the processing unit 110 transitions to a quasi-sleep state, controls the driving unit 220 to cause the robot 200 to breathe for a predetermined time (e.g., one minute), and then returns to a hard sleep state (step S530). At this time, the thread for the motion control process remains stopped, and the movement of the driving unit 220 during breathing is smaller than that in the normal state. Therefore, in step S530, although breathing is performed, power consumption can be reduced compared to the normal state.

[0167] Then, the processing unit 110 determines whether the head 204 has been lifted (step S531). If the head 204 has not been lifted (step S531; No), the processing unit 110 returns to step S529. If the head 204 has been lifted (step S531; Yes), the processing unit 110 proceeds to step S524.

[0168] The alarm control process described above allows the robot 200 to wake the user naturally through its movements without outputting an alarm sound. Furthermore, the sleep control process causes the robot 200 to enter hard sleep control mode after the co-sleeping start time, preventing it from performing unnecessary actions that might wake the user, allowing the user to sleep with the robot 200 in peace. In the sleep control mode, the robot 200 stops the motion control process shown in FIG. 15 , thereby reducing power consumption. Furthermore, by providing a hard sleep control mode that is less likely to transition to the normal state in addition to the normal sleep control mode, the sleep control process can more reliably reduce the power consumption of the robot 200 depending on the situation, such as when the robot is charging or out and about.

[0169] In the sleep control process described above, in step S504, the processing unit 110 determines whether the current time is the sleep-cohabitation start time. If it is the sleep-cohabitation start time, it determines that the execution condition for the sleep-cohabitation function is met, and starts the sleep-cohabitation function (hard sleep process). However, the timing for starting the sleep-cohabitation function is not limited to the sleep-cohabitation start time. For example, instead of or in addition to the sleep-cohabitation start time, the sleep-cohabitation setting data may be configured to set a period during which the user sleeps as a "sleeping-cohabitation period." Then, the processing unit 110 may determine that the execution condition for the sleep-cohabitation function is met if the current time is included in the "sleeping-cohabitation period." Furthermore, the execution condition for the sleep-cohabitation function is not limited to a condition based on the sleep-cohabitation setting data, such as the sleep-cohabitation start time, but any condition related to the user's sleep can be set.

[0170] For example, an example will be described in which the user wears a biometric information detection device (e.g., a wristwatch with a built-in biometric sensor) equipped with a biometric sensor (a sensor that detects the user's biometric information, such as pulse rate). In this case, in step S504, the processing unit 110 may acquire a signal from the biometric information detection device. If it determines that the user is sleeping based on the acquired signal, it may determine that the execution condition for the sleep-co-function is met and start the sleep-co-function. Note that if the biometric information detection device determines whether the user is sleeping based on the biometric information, the signal from the biometric information detection device may indicate either a value of "sleeping" or "not sleeping." In this example, the user needs to wear the biometric information detection device, but the sleep-co-function can be started even if the sleep-co-start time has not been set or if the user starts sleeping with the robot 200 at a time different from the sleep-co-start time.

[0171] Furthermore, the sleep-along function may be started when the user's breathing is detected by the microphone 213, even if the user does not wear the biological information detection device. In this case, in step S504, the processing unit 110 analyzes the sound data detected by the microphone 213, and if it determines as a result of the analysis that the sound is the user's breathing, it determines that the execution condition for the sleep-along function is met and starts the sleep-along function. Note that examples of methods for analyzing the sound data detected by the microphone 213 and determining whether the sound is the user's breathing include a method using a classifier that has been machine-learned using a large amount of breathing sound data, and a method of comparing the waveform and frequency components of the detected sound with the waveform and frequency components of typical breathing sounds.

[0172] Alternatively, for example, the robot 200 may include an image acquisition unit such as a camera equipped with a CCD (Charge-Coupled Device) image sensor, and the processing unit 110 may analyze the image acquired by the image acquisition unit. If the image analysis determines that the user's sleeping face or sleeping figure is captured in the image, the processing unit 110 may determine that the execution conditions for the sleep-along function are met and start the sleep-along function. In this case, the image acquisition unit is preferably a wide-angle camera (fisheye camera, omnidirectional camera) with an angle of view greater than 60 degrees so that the user's sleeping face or sleeping figure can be captured. Examples of methods for determining whether the user's sleeping face or sleeping figure is captured in the image acquired by the image acquisition unit include a method using a classifier trained by machine learning using a large amount of image data of sleeping faces or sleeping figures, and a method using template matching using template images of typical sleeping faces or sleeping figures.

[0173] Also, for example, the co-sleeping function may be started when the user issues a command to sleep together (e.g., a voice such as "Let's sleep together" or "Go to sleep"). In this case, in step S504, the processing unit 110 performs voice recognition on the voice data detected by the microphone 213, and if the recognition result is a command to sleep together, it determines that the execution conditions for the co-sleeping function are met and starts the function. Also, based on the detection results of the microphone 213 and the illuminance sensor 214, if the surroundings are dark and there is no sound for a reference time for sleeping together (e.g., 10 minutes), it may determine that the execution conditions for the co-sleeping function are met and start the function. In this way, the co-sleeping function can be executed even if the start time for sleeping together has not been set.

[0174] In the above embodiment, the predetermined specific external stimulus is "being stroked," and when the user strokes the robot 200, the processing unit 110 determines that the external stimulus is the specific external stimulus, but the specific external stimulus is not limited to being stroked. For example, the robot 200 may be equipped with an image acquisition unit such as a CCD image sensor, and the processing unit 110 may recognize an image acquired by the image acquisition unit and determine that the user has directed their gaze toward the robot 200.

[0175] As described above, even in the suppression mode that suppresses battery power consumption, the robot 200 can execute the first suppression mode, which suppresses power consumption while still performing movements and sound output in response to specific external stimuli. Therefore, the robot 200 can be controlled to operate in a precise response to external stimuli. Furthermore, the robot 200 can execute the sleep-side function, which is a function for sleeping next to the user without disturbing the user's sleep, by executing the suppression mode in accordance with the time the user goes to sleep. Furthermore, the robot 200 can more reliably execute the sleep-side function by executing the suppression mode when it determines that the user is sleeping using a biosensor, microphone 213, camera, etc. Furthermore, when stroked by the user, the robot 200 snores and makes breathing movements, allowing the user to feel as if the robot 200 is a real living creature. Furthermore, the robot 200 performs an alarm operation at the alarm time, causing the driving unit 220 to squirm and make sounds through the speaker 231. This allows the user to wake up naturally without feeling uncomfortable.

[0176] Next, power supply control of the robot 200 will be described. As described above, the robot 200 is provided with a power supply control unit 250, which controls charging of the battery 253 and ON / OFF of the power supply. Because the power supply control unit 250 can control ON / OFF of the power supply, the robot 200 can turn the power on and off by itself without the user having to use a power switch. The power supply control unit 250 can also be considered as a power supply control device that controls the power supply of the robot 200.

[0177] For example, the robot 200 automatically turns off the power when the battery voltage falls below a predetermined voltage (operating reference voltage), and automatically turns on the power when the battery voltage exceeds the predetermined voltage (start-up reference voltage). If the battery voltage remains above the predetermined voltage (operating reference voltage) when the power is on, the power remains on. This allows the robot 200 to feel more lifelike than other devices that require the user to manually turn the power on and off.

[0178] However, there may be cases where the user wants to manually turn off the power of the robot 200, for example, when charging the battery as quickly as possible. In such cases, it would be inconvenient if the power of the robot 200 were to be automatically turned on. Therefore, in such cases, the power supply control unit 250 also performs control to prevent the power of the robot 200 from being automatically turned on.

[0179] As shown in FIG. 9, the power supply control unit 250 includes a sub-microcomputer 251, a charging IC (Integrated Circuit) 252, a battery 253, a power supply control IC 254, and a wireless power supply receiving circuit 255.

[0180] The sub-microcomputer 251 is a microcontroller with a built-in low-power processor, and includes an AD (Analog-to-Digital) converter 2511 that monitors the output voltage of the battery 253, an input port 2512 that monitors a charging signal indicating whether the battery 253 is being charged by the charging IC 252, a power terminal 2513 of the sub-microcomputer 251 itself, an input port 2514 that monitors the pressing status of the power switch 241 of the robot 200, an output port 2515 that outputs an operation restriction signal to the processing unit 110, and an output port 2516 that outputs a power control signal to the power control IC 254 that controls the ON / OFF of the power supplied to the main function unit 290.

[0181] The charging IC 252 is an IC that receives power from the wireless power receiving circuit 255 and performs control to charge the battery 253. The charging IC 252 outputs a charging signal to the sub-microcomputer 251 that indicates whether the battery 253 is being charged.

[0182] The battery 253 is a rechargeable secondary battery that supplies the power necessary for the robot 200 to operate.

[0183] The power supply control IC 254 is an IC that controls whether or not power from the battery 253 is supplied to the main function unit 290 of the robot 200. It has an input port 2541 that receives a power supply control signal from the sub-microcomputer 251, and supplies or stops the supply of power to the main function unit 290 depending on whether the power supply control signal is ON or OFF.

[0184] The wireless power receiving circuit 255 receives power from an external wireless charging device 256 by electromagnetic induction, and supplies the received power to the charging IC 252 .

[0185] The power switch 241 is a switch for turning on / off the power of the robot 200. Even when the power of the robot 200 is turned off, power is supplied to the power control unit 250 in order to charge the battery 253 and automatically turn on the power of the robot 200 after charging is complete. Therefore, from the viewpoint of power supply, the robot 200 can be considered to be composed of two units: the power control unit 250 to which power is always supplied, and the main function unit 290 whose power is turned on / off by the power control unit 250.

[0186] The main function unit 290 is composed of the parts of the robot 200 other than the power supply control unit 250. In order to show the relationship between the power supply control unit 250 and the main function unit 290, Fig. 9 shows a power supply terminal 2901 to which power is supplied from the power supply control unit 250 and an input port 1101 of the processing unit 110 that receives an operation restriction signal transmitted from the sub-microcomputer 251.

[0187] Next, the power supply control process executed by the sub-microcomputer 251 of the power supply control unit 250 will be described with reference to Fig. 22. This process starts when the sub-microcomputer 251 starts up (when the voltage of the battery 253 reaches or exceeds the voltage at which the sub-microcomputer 251 can start up). Note that this process uses a manual OFF flag variable that indicates whether the user has manually pressed and held the power switch 241 to turn off the power supply of the robot 200.

[0188] First, the sub-microcomputer 251 outputs a power control signal to the power control IC 254 to instruct it to turn off the power supply to the main function unit 290 (step S601). Then, the sub-microcomputer 251 outputs an operation restriction signal to the processing unit 110 to instruct it to turn off the operation restriction (step S602). Then, the sub-microcomputer 251 initializes a manual OFF flag variable to 0 (step S603).

[0189] Next, the sub-microcomputer 251 determines whether or not the power supply to the main function unit 290 is ON (step S604). If the power supply is ON (step S604; Yes), the sub-microcomputer 251 determines whether or not the battery 253 is being charged (step S605). If the battery 253 is not being charged (step S605; No), the sub-microcomputer 251 outputs an operation restriction signal to the processing unit 110 to instruct it to turn off the operation restriction (step S606), and proceeds to step S608.

[0190] If the battery 253 is being charged (step S605; Yes), the sub-microcomputer 251 outputs an operation restriction signal to the processing unit 110 to instruct the operation restriction to be turned ON (step S607).

[0191] Then, the sub-microcomputer 251 determines whether the power switch 241 has been pressed and held down (step S608). If the power switch 241 has been pressed and held down (step S608; Yes), the sub-microcomputer 251 sets the manual OFF flag variable to 1 (step S609) and proceeds to step S611.

[0192] If the power switch 241 has not been pressed and held (step S608; No), the sub-microcomputer 251 determines whether the voltage of the battery 253 is equal to or higher than the operating reference voltage (step S610). The operating reference voltage is a voltage that is considered to be the minimum required for the robot 200 to operate normally, and is, for example, 75% of the voltage of the battery 253 when it is fully charged. The operating reference voltage is also called a second reference voltage.

[0193] If the voltage of the battery 253 is equal to or higher than the operating reference voltage (step S610; Yes), the process proceeds to step S604.

[0194] If the voltage of the battery 253 is less than the operating reference voltage (step S610; No), the sub-microcomputer 251 outputs a power supply control signal to the power supply control IC 254 to instruct it to turn off the power supply, thereby turning off the power supply to the main function unit 290 (step S611), and returns to step S604. In this way, when the voltage of the battery 253 falls below the operating reference voltage, the power supply control unit 250 automatically turns off the power supply to the robot 200, thereby preventing the operation of the robot 200 from becoming unstable and the battery 253 from being completely discharged.

[0195] On the other hand, if the power supply to the main function unit 290 is not ON in step S604 (step S604; No), the sub-microcomputer 251 determines whether the power switch 241 has been pressed (step S612). If the power switch 241 has been pressed (step S612; Yes), the process proceeds to step S615.

[0196] If the power switch 241 is not pressed (step S612; No), the sub-microcomputer 251 determines whether the battery 253 is being charged (step S613). If the battery 253 is not being charged (step S613; No), the process returns to step S604.

[0197] If the battery 253 is being charged (step S613; Yes), the sub-microcomputer 251 determines whether or not the manual OFF flag is 1 (step S614). If the manual OFF flag is 1 (step S614; Yes), the process returns to step S604.

[0198] If the manual OFF flag variable is not 1 (step S614; No), the sub-microcomputer 251 determines whether the voltage of the battery 253 is equal to or higher than the activation reference voltage (step S615). The activation reference voltage is a voltage at which it can be determined that the robot 200 may be automatically powered on during charging, and is, for example, 95% of the voltage of the battery 253 when fully charged. The activation reference voltage is also called a first reference voltage.

[0199] If the voltage of the battery 253 is less than the start reference voltage (step S615; No), the process returns to step S604.

[0200] If the voltage of the battery 253 is equal to or higher than the activation reference voltage (step S615; Yes), the sub-microcomputer 251 outputs a power control signal to the power control IC 254 to instruct it to turn on the power supply to the main function unit 290 (step S616). In this way, when the voltage of the battery 253 is equal to or higher than the activation reference voltage, the power control unit 250 automatically turns on the power supply to the robot 200, so that the user does not need to operate the power switch 241, and the lifelike feel of the robot 200 can be improved.

[0201] Next, the sub-microcomputer 251 outputs an operation restriction signal to the processing unit 110 to instruct the operation restriction to be ON (step S617). Then, the sub-microcomputer 251 sets the manual OFF flag variable to 0 (step S618) and returns to step S604.

[0202] The above power supply control process not only enables the robot 200 to automatically turn the power on and off, but also prevents the power from being automatically turned on during charging by the process of step S614, since the manual OFF flag variable becomes 1 when the user manually turns the power off. As a result, if the user wants to shorten the charging time, the robot 200 can be kept powered off during charging, thereby shortening the charging time.

[0203] As can be seen from the power supply control process described above, the sub-microcomputer 251 can determine, by referring to the manual OFF flag variable, whether the power supply to the robot 200 was cut off due to a user operation (the user manually turning off the power) (manual OFF flag is 1) or due to some other power cut-off factor (such as the power being turned off due to an event such as the voltage of the battery 253 falling below the operating reference voltage) (manual OFF flag is 0).

[0204] Furthermore, during charging, a signal to turn on the movement restriction is sent to the processing unit 110, thereby preventing the robot 200 from moving during charging and preventing normal charging.

[0205] Specifically, when the motion restriction is turned ON, the following two motion restrictions are implemented. The first motion restriction is a motion restriction to prevent the robot 200 from moving due to the momentum of the motor motion, causing the wireless power supply receiving circuit 255 and the wireless charging device 256 to become separated. Specifically, in this embodiment, the motion angles of the twist motor 221 and the up / down motor 222 are limited to 50% of the motion angles specified in the motion table.

[0206] The second operation restriction is an operation restriction to prevent the robot 200 from floating above the wireless charging device 256, which may cause the wireless power supply receiving circuit 255 to become separated from the wireless charging device 256. Specifically, in this embodiment, the angle of the twist motor 221 is fixed to 0 degrees, and the angle of the up / down motor 222 is limited to a range from 0 degrees to +30 degrees.

[0207] Even when the movement restriction is OFF, the angle of each motor is restricted due to structural restrictions of the robot 200 to prevent accidents such as the head 204 and the body 206 colliding with each other or fingers getting caught between the head 204 and the body 206. Specifically, in this embodiment, the angle of the twist motor 221 is restricted to the range of -90 degrees to +90 degrees, and the angle of the up / down motor 222 is restricted to the range of -60 degrees to +60 degrees.

[0208] For example, in the case of "spontaneous movement 0-0 (breathing movement)" shown in Figure 14, when movement restriction is ON, the rotation angle of each motor is restricted so that the angle of the up / down motor 222 after 750 milliseconds is 15 degrees, and the angle of the up / down motor after that is 12 degrees.

[0209] The motor control process including such operation restrictions will be described with reference to Fig. 23. This process is executed when the processing unit 110 controls the drive unit 220 in step S208 of the operation selection process, step S407 of the alarm control process, or step S530 of the hard sleep process.

[0210] First, the processing unit 110 performs initialization processing for motor control (step S701). For example, if necessary, the angles of the twist motor 221 and the up / down motor 222 are returned to the reference angle (0 degrees).

[0211] Next, the processing unit 110 determines whether the operational restriction is ON or OFF (step S702). The processing unit 110 can acquire whether the operational restriction is ON or OFF from the above-mentioned input port 1101 shown in FIG.

[0212] If the movement restriction is not ON (step S702; No), the processing unit 110 sets the movement range to the value when the movement restriction is OFF (step S703). Specifically, the angle of the twist motor 221 is limited to the range of -90 degrees to +90 degrees, and the angle of the up / down motor 222 is limited to the range of -60 degrees to +60 degrees.

[0213] If the movement restriction is ON (step S702; Yes), the processing unit 110 sets the movement range to the value when the movement restriction is ON (step S704). Specifically, the angle of the twist motor 221 is limited to 0 degrees, and the angle of the up / down motor 222 is limited to the range from 0 degrees to +30 degrees.

[0214] Then, the processing unit 110 reads one row of data from the motion table 125, and obtains the operation time, the operation angle of the twist motor 221, and the operation angle of the up / down motor 222 (step S705).

[0215] Then, the processing unit 110 again determines whether the operation restriction is ON (step S706). If the operation restriction is ON (step S706; Yes), the processing unit 110 restricts the value of the operation angle acquired in step S705 to 50% (step S707), and proceeds to step S708.

[0216] If the operation restriction is OFF (step S706; No), the processing unit 110 restricts the operation angle to within the operation range set in step S703 or step S704 (step S708).

[0217] Then, the processing unit 110 sets the operation angles determined in step S708 to the twist motor 221 and the up / down motor 222, respectively, to start the operation of the motors (step S709).

[0218] Then, the processing unit 110 determines whether the motion time read from the motion table 125 in step S705 has elapsed (step S710). If the motion time has not elapsed (step S710; No), the processing unit 110 returns to step S710 and waits for the motion time to elapse.

[0219] If the operation time has elapsed (step S710; Yes), the processing unit 110 determines whether or not reading of the motion table 125 has been completed (step S711). If reading of the motion table 125 has not been completed (step S711; No), the processing unit 110 returns to step S705. If reading of the motion table 125 has been completed (step S711; Yes), the processing unit 110 ends the motor control process.

[0220] By the above motor control process, the robot 200 can safely control the twist motor 221 and the up / down motor 222 regardless of the values ​​set in the motion table 125. Furthermore, by limiting the movement during charging, the robot 200 can be prevented from moving or floating away from the wireless charging device 256, and wireless charging can be performed stably.

[0221] (Variation) The present invention is not limited to the above-described embodiment, and various modifications and applications are possible. For example, for a user who thinks that it is better not to correct the personality of the robot 200 after the growth of the robot 200 is complete, step S112 of the action control process may be omitted, and the personality value may be calculated without correction in step S201 of the action selection process. In this way, the personality of the robot 200 can be completely fixed after the growth of the robot 200 is complete.

[0222] Furthermore, in the above-described motion table 125, the motion (motion time and motion angle) and audio data of the driving unit 220 of the robot 200 are set, but only the motion of the driving unit 220 or only the audio data may be set. Also, control other than the motion of the driving unit 220 and audio data may be set. For example, when the output unit 230 of the robot 200 is equipped with an LED, control of the color and brightness of the lit LED may be considered as control of the driving unit 220 other than the audio data. The controlled units controlled by the processing unit 110 may include at least one of the driving unit 220 and the output unit 230, and the output unit 230 may be a sound output unit that outputs only sound, or may output only light using an LED or the like.

[0223] Furthermore, in the above embodiment, the size of emotion map 300 was increased by two for each additional day of simulated growth of robot 200 during the first period, both in terms of maximum and minimum values ​​of emotion map 300. However, the size of emotion map 300 does not have to be increased evenly in this way. For example, the way emotion map 300 is increased may be changed depending on how emotion data 121 changes.

[0224] To change the way emotion map 300 is expanded in accordance with how emotion data 121 changes, for example, the following process can be performed in step S114 of the action control process (FIG. 15). If the value of emotion data 121 is set to the maximum value of emotion map 300 even once in step S105 during a given day, then the maximum value of emotion map 300 is increased by 3 in the subsequent step S114. If the value of emotion data 121 never reaches the maximum value of emotion map 300 in step S105, then the maximum value of emotion map 300 is increased by 1 in the subsequent step S114.

[0225] 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 even once that day, the minimum value of emotion map 300 is decreased by 3, and 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 the way emotion map 300 is expanded, the settable range of emotion data 121 is learned in response to external stimuli.

[0226] In the above-described embodiment and modified examples, emotion map 300 is constantly expanded during the first period, but the change in the range of emotion map 300 is not limited to expansion. For example, the range of emotion map 300 may be reduced for a direction of emotion that rarely occurs in response to external stimuli.

[0227] Furthermore, in the above-described embodiment, the robot 200 is configured to have the device control device 100 built in, but the device control device 100 does not necessarily have to be built in the robot 200. For example, as shown in FIG. 24 , the device control device 101 may be configured as a separate device (e.g., a server) rather than being built in the robot 209. In this modification, the robot 209 also includes a processing unit 260 and a communication unit 270, and is configured so that the communication unit 130 and the communication unit 270 can transmit and receive data to and from each other. The processing unit 110 acquires external stimuli detected by the sensor unit 210 and controls the drive unit 220 and the output unit 230 via the communication unit 130 and the communication unit 270.

[0228] In this way, when the device control device 101 and the robot 209 are configured as separate devices, the robot 209 may be controlled by the processing unit 260 as necessary. 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.

[0229] Furthermore, in the above-described embodiment, the device control devices 100 and 101 are control devices in which the robots 200 and 209 are controlled as devices to be controlled. However, the controlled devices are not limited to the robots 200 and 209. A wristwatch or the like can also be considered as a controlled device. For example, if the controlled device is a wristwatch capable of outputting audio and equipped with an acceleration sensor, an external stimulus can be an impact applied to the wristwatch detected by the acceleration sensor. The motion table 125 can record audio data to be output in response to the external stimulus. The emotion data 121 and emotion change data 122 can be updated in response to the external stimulus, and the audio data set in the motion table 125 can be output based on the detected external stimulus and the emotion change data 122 (personality) at that time.

[0230] This means that the watch will develop a personality (pseudo-characteristic) depending on how the user handles it. In other words, even if two watches have the same model number, if the user handles them carefully, they will have a cheerful personality, but if the user handles them roughly, they will have a shy personality.

[0231] In this way, the device control devices 100 and 101 can be applied to various devices, not just robots. By applying them to devices, the devices can be endowed with pseudo-emotions and personalities, and the user can feel as if they are nurturing the devices in a pseudo-manner.

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

[0233] Such programs may be provided in any manner, for example, by storing them on a computer-readable recording medium (such as a flexible disk, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, an MO (Magneto-Optical Disc), a memory card, or a USB memory stick) and distributing them, or by storing the programs in storage on a network such as the Internet and providing them by downloading them.

[0234] Furthermore, when the above-mentioned processing is performed by sharing the work between an OS (Operating System) and an application program, or by cooperation between the OS and the application program, only the application program may be stored on a recording medium or storage. It is also possible to superimpose the program on a carrier wave and distribute it over a network. For example, the program may be posted on a bulletin board system (BBS) on a network and distributed over the network. The program may then be started and executed under the control of the OS in the same way as other application programs, thereby enabling the above-mentioned processing to be performed.

[0235] Furthermore, the processing units 110 and 260 may be configured by any single processor such as a single processor, multiprocessor, or multicore processor, or may be configured by combining any of these processors with processing circuits such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array).

[0236] The present invention allows for various embodiments and modifications without departing from the broad spirit and scope of the present invention. Furthermore, the above-described embodiments are intended to illustrate the present invention and are not intended to limit the scope of the present invention. That is, the scope of the present invention is defined not by the embodiments but by the claims. Various modifications made within the scope of the claims and the meaning of the invention equivalent thereto are considered to be within the scope of the present invention. The invention as originally described in the claims of this application is set forth below.

[0237] (Appendix 1) Obtaining the output voltage of a battery that supplies power to a main functional unit of the device; determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device; When it is determined that the power supply has been stopped due to the user operation during charging of the battery, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage. A power supply control unit is provided. Power control device for equipment.

[0238] (Appendix 2) The power supply control unit determining whether or not the power supply to the main functional unit has been stopped due to an event other than a user operation of the device; During charging of the battery, if it is determined that the power supply has been stopped due to an event other than the user operation and the acquired output voltage is equal to or higher than a first reference voltage, the power supply is resumed. 1. A power control device for the device described in Appendix 1.

[0239] (Appendix 3) The power supply control unit When the power supply is on and the acquired output voltage is lower than a second reference voltage that is equal to or lower than the first reference voltage, the power supply is stopped. A power supply control device for the device described in Appendix 1 or 2.

[0240] (Appendix 4) The power supply control unit instructing the main function unit to limit the operation of a drive unit included in the main function unit while the battery is being charged; 4. A power supply control device for a device according to any one of appendices 1 to 3.

[0241] (Appendix 5) The instruction to limit the operation is an instruction to limit the rotation angle of the drive unit. 1. A power control device for a device as described in Appendix 4.

[0242] (Appendix 6) Obtaining the output voltage of a battery that supplies power to a main functional unit of the device; determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device; When it is determined that the power supply has been stopped due to the user operation during charging of the battery, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage. How to control the device.

[0243] (Appendix 7) The computer included in the device's control device acquiring an output voltage of a battery for supplying power to a main functional unit provided in the device; determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device; When it is determined that the power supply has been stopped due to the user operation during charging of the battery, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage. A program that executes a process. [Explanation of symbols]

[0244] 100, 101...Device control device, 110, 260...Processing unit, 120...Memory unit, 121...Emotion data, 122...Emotion change data, 123...Growth table, 124...Operation content table, 125...Motion table, 126...Growth day data, 130, 270...Communication unit, 200, 209...Robot, 201...Exterior, 202...Decorative parts, 203...Hur, 204...Head, 205...Connecting unit, 206...Torso, 207...Housing, 210...Sensor unit, 211...Touch sensor, 212...Acceleration sensor, 213...Microphone, 214...Illuminance sensor, 220...Drive unit, 221...Twist motor, 222...Up and down motor, 230...Output unit, 231...speaker, 240...operation unit, 241...power switch, 250...power control unit, 251...sub-microcomputer, 252...charging IC, 253...battery, 254...power control IC, 255...wireless power supply receiving circuit, 256...wireless charging device, 290...main function unit, 300...emotion map, 301, 302, 303...frame, 310, 410...origin, 311, 312, 411, 412, 413, 414...axis, 400...personality value radar chart, 501...screen, 1101, 2512, 2514, 2515, 2516, 2541...port, 2511...AD converter, 2513, 2901...power terminal, BL...bus line

Claims

1. Obtaining the output voltage of a battery that supplies power to a main functional unit of the device; determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device; When it is determined that the power supply has been stopped due to the user operation during charging of the battery, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage; When the battery is being charged and the power is being supplied, the device is processed to limit its operation, and when it is determined that the power supply has not been stopped due to the user operation and the acquired output voltage is equal to or higher than a first reference voltage, the device is continued to supply power. A power supply control unit is provided. Equipment control device.

2. When the battery is not being charged and the power is being supplied, the operation restriction of the device is turned off; The power supply control unit If it is determined that the power supply has been stopped due to the user operation during the power supply, the power supply is stopped. The device control device according to claim 1.

3. The device includes a motor, and limits the operating angle of the motor. The device control device according to claim 1.

4. Obtaining the output voltage of a battery that supplies power to a main functional unit of the device; determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device; If it is determined that the power supply has been stopped due to the user operation while the battery is being charged, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage; When the battery is being charged and the power is being supplied, the device is processed to limit its operation, and when it is determined that the power supply has not been stopped due to the user operation and the acquired output voltage is equal to or higher than a first reference voltage, the device is continued to supply power. How to control the device.

5. The computer included in the device's control device acquiring an output voltage of a battery for supplying power to a main functional unit provided in the device; determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device; If it is determined that the power supply has been stopped due to the user operation while the battery is being charged, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage; When the battery is being charged and the power is being supplied, the device is processed to limit its operation, and when it is determined that the power supply has not been stopped due to the user operation and the acquired output voltage is equal to or higher than a first reference voltage, the device is continued to supply power. A program that executes a process.

Citation Information

Patent Citations

  • JP1989144923U

  • Mobile phone

    JP2001320478A

  • Autonomous walking robot device

    JP2002059389A

  • Leg type mobile robot

    JP2003071763A

  • Robot with charging function by electromagnetic induction

    JP2003071772A