Device control device, device control method, and program
Patent Information
- Application Number
- JP2022167718
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-10-19
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2041-03-16
AI Technical Summary
【0007】 本発明によれば、生き物感を失わせることのない機器の制御装置、機器の制御方法及びプログラムを提供することができる。
Smart Images

Figure 0007643431000001 
Figure 0007643431000002 
Figure 0007643431000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a device control apparatus, a device control method, and a program. [Background technology]
[0002] Various robots have been developed in the past, and in recent years, not only industrial robots but also consumer robots such as pet robots have been developed. For example, Patent Document 1 discloses a small robot system shaped like a dog that can be used as a wake-up robot dog or a guard dog. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2003-62776 A Summary of the Invention [Problem to be solved by the invention]
[0004] The small robot system described in Patent Document 1 is designed to automatically move to a charging device and charge the battery when the remaining battery power is low. However, a robot that cannot move to a destination needs to be set in a charging device by a user. Also, if a robot shows the remaining battery power on a display or the like, the robot loses its lifelike quality. However, if such a display is not provided, the user will not know when to start charging.
[0005] Therefore, the present invention has been made in consideration of such circumstances. , without losing the sense of life. An object of the present invention is to provide a device control device, a device control method, and a program. [Means for solving the problem]
[0006] In order to achieve the above object, one aspect of the device control device according to the present invention comprises: A processing unit is provided to control a driving unit that drives a movable unit for expressing a movement of the device, The processing unit includes: Obtaining the temperature around the device; When the acquired air temperature becomes less than a first air temperature threshold, the movable part is driven to vibrate the device. height, When the acquired temperature is equal to or lower than the first temperature threshold, each time the acquired temperature becomes lower than a plurality of preset temperature thresholds, a control is performed so as to increase the number of vibrations per predetermined time period for vibrating the device. It is characterized by: Effect of the Invention
[0007] According to the present invention, the feeling of life is lost. To provide a device control device, a device control method, and a program that prevent the device from being damaged. It is possible. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing an external appearance of a robot according to an embodiment. [Diagram 2] 1 is a cross-sectional view of a robot according to an embodiment, as viewed from the side. [Diagram 3] FIG. 2 is a diagram illustrating a housing of a robot according to an embodiment. [Figure 4] 10A to 10C are diagrams illustrating an example of the movement of a twist motor of the robot according to the embodiment. [Diagram 5] 13A to 13C are other diagrams illustrating an example of the movement of the twist motor of the robot according to the embodiment. [Figure 6] 10A to 10C are diagrams illustrating an example of the movement of an up and down motor of the robot according to the embodiment [Figure 7] 13A to 13C are other diagrams illustrating an example of the movement of the up and down motors of the robot according to [Figure 8] 1 is a block diagram showing a functional configuration of a robot according to an embodiment. [Figure 9] FIG. 2 is a diagram illustrating an example of an emotion map according to the embodiment. [Figure 10] FIG. 13 is a diagram illustrating an example of a personality value radar chart according to the embodiment. [Figure 11]FIG. 11 is a diagram illustrating an example of a growth table according to the embodiment. [Figure 12] FIG. 11 is a diagram illustrating an example of an operation content table according to the embodiment. [Figure 13] FIG. 2 is a diagram illustrating an example of a motion table according to the embodiment. [Figure 14] 11 is a first portion of a flowchart of an operation control process according to the embodiment. [Figure 15] 11 is a second part of the flowchart of the operation control process according to the embodiment. [Figure 16] 11 is a flowchart of an action selection process according to the embodiment. [Figure 17] 11 is a flowchart of a remaining amount notification operation process according to the embodiment. [Figure 18] 11 is a flowchart of a remaining amount confirmation process according to the embodiment. [Figure 19] 11 is a flowchart of a temperature confirmation process according to the embodiment. [Figure 20] 11 is a flowchart of a vibration operation process according to the embodiment. [Figure 21] 11A and 11B are diagrams illustrating an example of a state in which the head of the robot according to the embodiment is lowered. [Figure 22] 11A and 11B are diagrams illustrating an example of a state in which the head of the robot according to the embodiment is rotated forward. [Figure 23] 11A and 11B are diagrams illustrating an example of a state in which the head of the robot according to the embodiment is inverted. [Figure 24] FIG. 13 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 PREFERRED EMBODIMENTS
[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.
[0010] (Embodiment) An embodiment in which the device control device of 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, driven by a rechargeable battery. As shown in FIG. 1, the robot 200 is covered with an exterior 201 equipped with decorative parts 202 modeled after eyes and bushy fur 203. A housing 207 of the robot 200 is stored inside 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 part 206, and the head 204 and the body part 206 are connected by the connecting part 205.
[0011] 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 to the torso 206) is defined as the front, and the direction of the part that corresponds to its butt (the part of the torso 206 opposite to the head 204) is defined as the back. In addition, the direction of the part that contacts the placement surface when the robot 200 is normally placed on the placement surface is defined as the down, and the opposite direction is defined 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-down direction is defined as the width direction.
[0012] 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 in the head 204.
[0013] The connecting part 205 connects the body part 206 and the head part 204 to be rotatable (by the twist motor 221) about a first rotation axis that passes through the connecting part 205 and extends in the front-rear direction of the body part 206. As shown in Figs. 4 and 5 as front views of the housing 207, the twist motor 221 rotates the head part 204 clockwise (right-handed) around the first rotation axis within a forward rotation angle range, and rotates the head part 204 counterclockwise (left-handed) within a reverse rotation angle range, relative to the body part 206. Note that the clockwise direction in this description is the clockwise direction when looking from the body part 206 toward the head part 204. Also, the clockwise rotation is also referred to as a "right-handed twist rotation" and the counterclockwise rotation is also referred to as a "left-handed twist rotation". The maximum angle of the right-handed or left-handed twist rotation is arbitrary, but in this embodiment, it is assumed that the head part can rotate up to 90 degrees both to the left and right. 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 to the farthest right (clockwise) is set to -90 degrees, and the angle when head 204 is twisted to the farthest left (counterclockwise) is set to +90 degrees.
[0014] The connecting part 205 connects the body part 206 and the head part 204 so as to be rotatable (by the vertical motor 222) around a second rotation axis that passes through the connecting part 205 and extends in the width direction of the body part 206. As shown in Figs. 6 and 7 as side views of the housing 207, the vertical motor 222 rotates the head part 204 upward within a forward rotation angle range around the second rotation axis (forward rotation) and rotates the head part 204 downward within a reverse rotation angle range (reverse rotation). The maximum angle of the upward or downward rotation is arbitrary, but in this embodiment, the head part 204 can be rotated up to 75 degrees both upward and downward. In Figs. 6 and 7, the angle of the head part 204 when it is not rotated upward or downward (hereinafter referred to as the "vertical reference angle") shown in Fig. 2 is 0 degrees, the angle when it is rotated most downward is -75 degrees, and the angle when it is rotated most upward is +75 degrees. When the head 204 rotates vertically around the second rotation axis to the vertical reference angle or below the vertical reference angle, the head 204 can come into contact with a support surface such as a floor or a table on which the robot 200 is placed, via the exterior 201. Note that, although an example in which the first rotation axis and the second rotation axis are perpendicular to each other is shown in Fig. 2, the first and second rotation axes do not have to be perpendicular to each other.
[0015] 2, the robot 200 is provided with a touch sensor 211 on the head 204, and is capable of detecting that the user has stroked or hit the head 204. The body 206 is also provided with a touch sensor 211, and is capable of detecting that the user has stroked or hit the body 206.
[0016] The robot 200 also includes an acceleration sensor 212 on the torso 206, and is capable of detecting the posture of the robot 200 itself, and detecting that the robot 200 has been lifted up, turned around, or thrown by a user. The robot 200 also includes a microphone 213 on the torso 206, and is capable of detecting external sounds. The robot 200 also includes a speaker 231 on the torso 206, and is capable of using the speaker 231 to make sounds that the robot 200 makes, or sing songs.
[0017] The robot 200 is also provided with an illuminance sensor 214 on the body 206, and is capable of detecting the brightness of the surroundings. Since the exterior 201 is made of a material that transmits light, the robot 200 can detect the brightness of the surroundings with the illuminance sensor 214 even when covered with the exterior 201.
[0018] The robot 200 also includes a temperature sensor 215 on the torso 206, and is capable of acquiring the surrounding air temperature.
[0019] The robot 200 also includes a battery (not shown) 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.
[0020] In this embodiment, the acceleration sensor 212, the microphone 213, the illuminance sensor 214, the temperature sensor 215, and the speaker 231 are provided in the body 206, but all or some of these may be provided in the head 204. In addition to the acceleration sensor 212, the microphone 213, the illuminance sensor 214, the temperature sensor 215, and the speaker 231 provided in the body 206, all or some of these may also be provided in the head 204. In addition, the touch sensor 211 is provided in each of 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.
[0021] In this embodiment, since the housing 207 of the robot 200 is covered by the exterior 201, the head 204 and the torso 206 are indirectly in contact with a placement 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 form, and the head 204 and the torso 206 may be in direct contact with the placement surface. For example, the lower part (the part that contacts the placement surface) of the exterior 201 may not exist, and the lower part (the part that contacts the placement 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.
[0022] Next, the functional configuration of the robot 200 will be described. As shown in FIG. 8, the robot 200 includes an appliance control device 100, a sensor unit 210, a driving unit 220, an output unit 230, an operation unit 240, and a power supply control unit 250. The appliance control device 100 includes a processing unit 110, a storage unit 120, and a communication unit 130. In FIG. 8, the appliance control device 100, the sensor unit 210, the driving 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 an example. The appliance control device 100, the sensor unit 210, the driving unit 220, the output unit 230, the operation unit 240, and the power supply control unit 250 may be connected via a wired interface such as a USB (Universal Serial Bus) cable, or a wireless interface such as Bluetooth (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.
[0023] The device control device 100 controls the operation of the robot 200 via the processing unit 110 and the memory unit 120 .
[0024] The processing unit 110 is composed of, for example, a CPU (Central Processing Unit) and executes various processes described later using programs stored in the storage unit 120. The processing unit 110 supports a multi-thread function that executes multiple processes in parallel, and can therefore execute various processes described later in parallel. The processing unit 110 also has a clock function and a timer function, and can measure the date and time, etc.
[0025] 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, and stores data that is to be retained even after the power is turned off. The RAM stores data that is created or changed during program execution.
[0026] The communication unit 130 includes a communication module compatible with wireless LAN (Local Area Network), Bluetooth (registered trademark), etc., and communicates data with an external device such as a smartphone. The contents of the data communication include, for example, receiving a request for notification of the remaining battery level to display the remaining battery level of the robot 200 on a smartphone, etc., and transmitting information on the remaining battery level.
[0027] The sensor unit 210 includes the touch sensor 211, the acceleration sensor 212, the microphone 213, the illuminance sensor 214, and the temperature sensor 215 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. The sensor unit 210 may include sensors other than the touch sensor 211, the acceleration sensor 212, the microphone 213, the illuminance sensor 214, and the temperature sensor 215. By increasing the types of sensors included in the sensor unit 210, it is possible to increase the types of external stimuli that the processing unit 110 can acquire. Conversely, the sensor unit 210 does not necessarily need to include all of the sensors described above. For example, when control based on the brightness of the surroundings is not necessary, the sensor unit 210 does not need to include the illuminance sensor 214.
[0028] The touch sensor 211 detects that some object has come into contact with the touch sensor 211. The touch sensor 211 is, for example, a pressure sensor or a capacitance sensor. The processing unit 110 acquires the contact strength and contact time based on the detection value from the touch sensor 211, and can detect an external stimulus such as the robot 200 being stroked or hit by a user based on these values (see, for example, Japanese Patent Publication No. 2019-217122). Note that the processing unit 110 may detect these external stimuli with a sensor other than the touch sensor 211 (see, for example, Japanese Patent Publication No. 6575637).
[0029] The acceleration sensor 212 detects acceleration in three axial directions consisting of the front-rear direction, width (left-right) direction, and up-down direction of the body 206 of the robot 200. Since the acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary, the processing unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212. Also, for example, when the 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.
[0030] The microphone 213 detects sounds around the robot 200. Based on the sound components detected by the microphone 213, the processing unit 110 can detect, for example, whether the user is calling out to the robot 200 or clapping his hands.
[0031] 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 in a pseudo manner (to enter a sleep control mode).
[0032] The temperature sensor 215 includes a thermocouple, a resistance temperature detector, etc., and acquires the surrounding air temperature. For example, when the temperature sensor 215 detects that the surrounding air temperature is low, the processing unit 110 can perform control to make the robot 200 tremble (vibrate).
[0033] The driving unit 220 includes a twist motor 221 and an up-down motor 222 as movable parts for expressing the movement of the robot 200 (own machine). 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 designates an operation time and an operation angle and instructs rotation, they operate to rotate to a position of the designated operation angle within the designated operation time. The driving unit 220 may include other appropriate actuators as movable parts, such as a fluid pressure motor. The processing unit 110 controls the driving unit 220, so that the driving unit 220 drives the head 204 of the robot 200. As a result, the robot 200 can express an operation 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 movement control data for performing these movements is recorded in a motion table 125 described later, and the movements of the robot 200 are controlled based on the detected external stimuli and growth values described later.
[0034] The output unit 230 includes a speaker 231, and when the processing unit 110 inputs sound data (e.g., sampling data) to the output unit 230, sound is output from the speaker 231. For example, when the processing unit 110 inputs sampling data of the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry. This sampling data of the cry is also recorded in the motion table 125, and the cry is selected based on the detected external stimuli, a growth value 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 include a display such as a liquid crystal display or a light-emitting unit such as an LED (Light Emitting Diode), and may display an image based on the detected external stimuli or growth values described later on the display or may cause the LED to emit light.
[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 recipient), such as turning the power on / off, adjusting the volume of the output sound, etc. In order to enhance the feeling of life in the robot 200, it is possible for the operation unit 240 to include only a power switch 241 on the inside of the exterior 201, and not to 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 includes a sub-microcomputer, a charging IC (Integrated Circuit), a power supply control IC, a wireless power supply receiving circuit 255, etc., and performs power supply control such as charging the battery of the robot 200, acquiring the remaining battery level, and controlling ON / OFF of the power supply of the main functional unit that realizes the main function of the robot 200. Note that the main functional unit refers to the functional units constituting the robot 200 excluding the power supply control unit 250, and includes the processing unit 110, the driving unit 220, etc.
[0038] In the robot 200, in order to give it a lifelike appearance, the battery is charged by wireless charging without connecting a charging cable or the like. Any method of wireless charging may be used, but in this embodiment, an electromagnetic induction method is used. When the robot 200 is placed on a wireless charging device, an induced magnetic flux is generated between the wireless power supply receiving circuit 255 provided on the bottom surface of the body 206 and the external wireless charging device, and charging is performed.
[0039] Next, among the data stored in storage unit 120, 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 described in order.
[0040] The emotion data 121 is data for making the robot 200 have a pseudo emotion, and is data (X, Y) showing coordinates on the emotion map 300. As shown in FIG. 9, the emotion map 300 is expressed in a two-dimensional coordinate system having an X-axis 311 representing a degree of security (anxiety) and a Y-axis 312 representing a degree of excitement (lethargy). The origin 310 (0, 0) on the emotion map represents a normal emotion. The positive X-coordinate value (X value) represents a higher absolute value, which indicates a higher degree of security, and the positive Y-coordinate value (Y value) represents a higher absolute value, which indicates a higher degree of excitement. The negative X-value represents a higher absolute value, which indicates a higher degree of anxiety, and the negative Y-value represents a higher absolute value, which indicates a higher degree of lethargy.
[0041] The emotion data 121 represents a plurality of different pseudo emotions (four in this embodiment). In this embodiment, among the values representing the pseudo emotions, the relief level and anxiety level are collectively represented on one axis (X-axis), and the excitement level and lethargy level are collectively represented on another axis (Y-axis). Therefore, the emotion data 121 has two values, an X value (relief level, anxiety level) and a Y value (excitement level, lethargy level), and a point on the emotion map 300 represented by the X value and the Y value represents the pseudo emotion of the robot 200. The initial value of the emotion data 121 is (0,0).
[0042] Emotion data 121 is data that represents simulated emotions of robot 200. Although emotion map 300 is shown in a two-dimensional coordinate system in Fig. 9, 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. Furthermore, 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 a value equal to the number of dimensions of emotion map 300.
[0043] In this embodiment, the size of the emotion map 300 as the initial value is 100 for both the X value and the Y value, and -100 for both the minimum and maximum values. During the first period, each time the number of days of the simulated growth of the robot 200 increases by one day, both the maximum and minimum values of the emotion map 300 are expanded 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 is the first time the robot 200 is started by the user after being shipped from the factory. When the number of days of growth reaches 25 days, the maximum and minimum values of the X value and the Y value become 150 and -150, respectively, as shown in a frame 302 in FIG. Then, when the first period (50 days in this example) has passed, the pseudo-growth of the robot 200 is deemed to be complete, and the size of the emotion map 300 is fixed, with the maximum X and Y values both becoming 200 and the minimum becoming -200, as shown in frame 303 in FIG. 9.
[0044] The settable range of the emotion data 121 is defined by the emotion map 300. Therefore, as the size of the emotion map 300 increases, the settable range of the emotion data 121 increases. By increasing the settable range of the emotion data 121, richer emotional expression becomes possible, and the simulated growth of the robot 200 is expressed by increasing the size of the emotion map 300. The size of the emotion map 300 is fixed after the first period has elapsed, and the simulated growth of the robot 200 ends. The condition for stopping the simulated growth of the robot 200 is not limited to the above-mentioned "stop when the first period has elapsed", and other conditions may be added. For example, it may be "stop when any of the four personality values becomes 10 (maximum)". If the growth is stopped under this condition, the personality is fixed when only one of the four personalities becomes maximum, making it possible to emphasize a specific personality.
[0045] The emotion change data 122 is data that sets the amount of change by which each of the X value and Y value of the emotion data 121 is increased or decreased. In this embodiment, the emotion change data 122 corresponding to the X of the emotion data 121 includes DXP that increases the X value and DXM that decreases the X value, and the emotion change data 122 corresponding to the Y value of the emotion data 121 includes DYP that increases the Y value and DYM that decreases the Y value. In other words, the 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 the 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: Tendency to become anxious (the tendency for the X value on the emotion map to change in the negative direction) DYP: Excitability (the tendency for the Y value on the emotion map to change in the positive direction) DYM: Tendency to become apathetic (the tendency for the Y value on the emotion map to change in the negative direction)
[0046] In the present embodiment, as an example, the initial values of these variables are all set to 10, and are increased to a maximum of 20 by a process of learning the emotion change data in the motion control process described later. In this learning process, the emotion change data is changed according to a condition based on whether the value of the emotion data has reached the maximum or minimum value of the emotion map 300 (first condition based on external stimulus data). Note that the first condition based on the external stimulus data is not limited to the above condition, and any condition can be set as long as it is a condition for changing (learning) the emotion change data before the size of the emotion map 300 is fixed (for example, a condition related to the degree of the pseudo emotion of the robot 200 represented by the emotion data 121). Since the emotion change data 122, i.e., the degree of change in emotion, changes by this learning process, the robot 200 will have various personalities depending on how the user interacts with the robot 200. In other words, the personality of the robot 200 will be formed differently for each individual depending on how the user interacts with 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 obtained by subtracting 10 from DXP, which indicates ease of feeling at ease, the personality value (shy) is obtained by subtracting 10 from DXM, which indicates ease of feeling anxious, the personality value (active) is obtained by subtracting 10 from DYP, which indicates ease of getting excited, and the personality value (spoiled) is obtained by subtracting 10 from DYM, which indicates ease of feeling lethargic. As a result, for example, as shown in FIG. 10, the personality value (cheerful) is plotted on axis 411, the personality value (active) is plotted on axis 412, the personality value (shy) is plotted on axis 413, and the personality value (spoiled) is plotted on axis 414, respectively, to generate a personality value radar chart 400.
[0048] Since the initial value of each personality value is 0, the initial personality of the robot 200 is represented by the origin 410 of the personality value radar chart 400. Then, as the robot 200 grows, each personality value changes up to an upper limit of 10 depending on external stimuli (how the user interacts with the robot 200) detected by the 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 growth degree of the robot 200. Then, the processing unit 110 controls so that the operation content of the robot 200 varies as the pseudo growth of the robot 200 (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. 11, the growth table 123 records the types of actions performed by the robot 200 in response to action triggers such as external stimuli detected by the sensor unit 210, and the probability 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 set so that the types of basic actions that can be selected increase as the growth value increases. Note that, in FIG. 11, one personality action is selected for each action trigger, but the types of personality actions selected may be increased in response to an increase in the personality value, as in the case of basic actions.
[0051] For example, assume that the current personality values of the robot 200 are, as shown in Fig. 10, 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 noise is heard." Then, referring to the item in the growth table 123 shown in Fig. 11 where the action trigger is "a loud noise is heard" and the growth value is 8, it is found that the action selection probability is 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] That is, 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. 12 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 according to the magnitude of each of the four personality values, there is little variation in selection while the personality values are small (for example, most of them are 0). Therefore, in this embodiment, the maximum value of the four personality values is set as the growth value. This has the effect that the first action mode is selected when the variation of actions selected as personality actions becomes abundant. Note that, as well as the maximum value, the total value, average value, mode value, etc. can also be used as an index for determining whether the variation of actions selected by the personality values will become abundant, so the total value, average value, mode value, etc. of the personality values may be used as the growth value.
[0054] In addition, the growth table 123 may have any form as long as it can be defined as a function (growth function) that returns the action selection probability of 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 11.
[0055] As shown in Fig. 12, the action content table 124 is a table in which the specific action content of each action type defined in the growth table 123 is recorded. However, for personality actions, the 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 the 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] 13, the motion table 125 is a table that records how the processing unit 110 controls the twist motor 221 and the up-down motor 222 for each type of motion defined in the growth table 123. Specifically, as shown in Fig. 13, for each type of motion, in each row, 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 are recorded. Note that 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 later, the processing unit 110 first controls the twist motor 221 and the up-down motor 222 so that their angles become 0 degrees after 100 milliseconds, and controls the up-down motor 222 so that its angle becomes -24 degrees after 100 milliseconds. Then, the motors are not rotated for 700 milliseconds after that, and the angle of the twist motor 221 is controlled to become 34 degrees and the angle of the up-down motor 222 is controlled to become -24 degrees after 500 milliseconds. Then, the angle of the twist motor 221 is controlled to become -34 degrees after 400 milliseconds, and the angle of the twist motor 221 and the up-down motor 222 is controlled to become 0 degrees after 500 milliseconds, completing the operation of basic operation 2-0. In addition, the processing unit 110 reproduces a short beeping sound from the speaker 231 using the audio data of the short beeping sound in parallel with the driving of the twist motor 221 and the up-down motor 222 described above.
[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 from 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] Next, the motion control process executed by the processing unit 110 of the device control device 100 will be described with reference to the flowcharts shown in Fig. 14 and Fig. 15. The motion control process is a process in which the device control device 100 controls the drive unit and sound output of the robot 200 based on the detection value from the sensor unit 210, the remaining battery level, etc. When the user turns on the power of the robot 200, a thread for this motion control process starts to be executed in parallel with other necessary processes. The motion control process controls the drive unit 220 and the output unit 230 (sound output unit) to express the movement of the robot 200 and to output sounds such as cries and songs.
[0060] First, the processing unit 110 sets various data such as emotion data 121, emotion change data 122, and growth days data 126 (step S101). When the robot 200 is started for the first time (when the robot is started for the first time by the user after being shipped from the factory), these values are set to initial values (the initial values of emotion data 121, emotion change data 122, and growth days data 126 are all 0), but when the robot is started for the second time or later, the values of the data stored in step S109 of the previous robot control process, which will be described later, are set. However, the emotion data 121 may be initialized to 0 every time the power is turned on.
[0061] Next, the processing unit 110 determines whether or not there is an external stimulus detected by the sensor unit 210 (step S102). If there is an external stimulus (step S102; Yes), the processing unit 110 acquires the external stimulus from the sensor unit 210 (step S103).
[0062] Then, the processing unit 110 acquires emotion change data 122 to be added to or subtracted from the emotion data 121 in response to 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.
[0063] Then, the processing unit 110 sets the emotion data 121 according to the emotion change data 122 acquired in step S104 (step S105). Specifically, for example, if DXP has been acquired as the emotion change data 122 in step S104, the processing unit 110 adds the DXP of the emotion change data 122 to the X value of the emotion data 121. However, if the value (X value, Y value) of the emotion data 121 exceeds the maximum value of the emotion map 300 when the emotion change data 122 is added, the value of the emotion data 121 is set to the maximum value of the emotion map 300. Also, if the value of the emotion data 121 becomes less than the minimum value of the emotion map 300 when the emotion change data 122 is subtracted, the value of the emotion data 121 is set to the minimum value of the emotion map 300.
[0064] In steps S104 and S105, it is possible to arbitrarily set what emotion change data 122 is acquired for each external stimulus and what emotion data 121 is set, but here, an example is shown below. Note that the maximum and minimum values of the X and Y values of emotion data 121 are defined by the size of emotion map 300, so the following calculation sets the maximum value when it exceeds the maximum value of emotion map 300, and sets the minimum value when it falls below the minimum value of emotion map 300.
[0065] Head 204 is stroked (feels safe): X=X+DXP Hit on the head 204 (feels anxious): X=X-DXM (These external stimuli can be detected by the touch sensor 211 on the head 204.) The torso 206 is stroked (excited): Y=Y+DYP Hitting the torso 206 (becoming lethargic): Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 on the torso 206.) Being held with head up (happy): X=X+DXP and Y=Y+DYP Hanging head down (sad): X=X-DXM and Y=Y-DYM (These external stimuli can be detected by the touch sensor 211 and the acceleration sensor 212.) A gentle voice calls out to you (becomes peaceful): X=X+DXP and Y=Y-DYM Being yelled at loudly (irritated): X=X-DXM and Y=Y+DYP (These external stimuli can be detected by microphone 213.)
[0066] For example, when the head 204 is stroked, the simulated emotion of the robot 200 is one of relief, and 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, and the DXM of the emotion change data 122 is subtracted from the X value of the emotion data 121. In step S103, the processing unit 110 acquires a plurality of external stimuli of different types from each other by the plurality of sensors provided in the sensor unit 210, so that emotion change data 122 is acquired in response to each of the plurality of external stimuli, and the emotion data 121 is set in response to the acquired emotion change data 122.
[0067] 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. Note that, although the details of the action selection process will be described later, the action trigger is information on the external stimulus that triggers the robot 200 to perform some action.
[0068] On the other hand, if there is no external stimulus in step S102 (step S102; No), the processing unit 110 judges whether or not a spontaneous movement such as breathing is performed (step S107). Although the method of judging whether or not a spontaneous movement is performed is arbitrary, in this embodiment, the judgment in step S107 is set to Yes every first reference time (for example, 4 seconds).
[0069] 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.
[0070] If no spontaneous action is performed (step S107; No), the process proceeds to Fig. 15, where the processing unit 110 judges whether or not a remaining battery notification stimulus has been acquired (step S121). The remaining battery notification stimulus is an external stimulus that triggers an action to notify the remaining battery power, and in this embodiment, it is "being held with the head facing up and having head 204 stroked." This external stimulus (remaining battery notification stimulus) can be detected by the acceleration sensor 212 and the touch sensor 211 of the head 204.
[0071] If the remaining battery level notification stimulus is received (step S121; Yes), the processing unit 110 determines that the notification condition for notifying the remaining battery level is satisfied, and performs the remaining battery level notification operation process described later (step S122). Then, the process proceeds to step S123. If the remaining battery level notification stimulus is not received (step S121; No), the process proceeds to step S123.
[0072] In step S123, the processor 110 determines whether or not a remaining charge check time has elapsed since the previous remaining charge check process was executed. The remaining charge check time is a time interval for periodically checking the remaining battery charge, and is set to 10 minutes in this embodiment.
[0073] If the remaining amount confirmation time has elapsed (step S123; Yes), the processor 110 performs a remaining amount confirmation process (step S124) to be described later, and proceeds to step S125. If the remaining amount confirmation time has not elapsed (step S123; No), the processor 110 proceeds to step S125.
[0074] In step S125, the processing unit 110 determines whether or not a remaining battery level notification request has been received from an external smartphone or the like via the communication unit 130. The remaining battery level notification request is a request packet that requests the robot 200 to transmit information about the remaining battery level, and is transmitted from the smartphone or the like via a wireless LAN or the like.
[0075] If the remaining battery level notification request is received (step S125; Yes), the processing unit 110 transmits information on the remaining battery level to the device (external smartphone, etc.) that transmitted the remaining battery level notification request (step S126), and proceeds to step S127. If the remaining battery level notification request is not received (step S125; No), the processing unit 110 proceeds to step S127.
[0076] In step S127, the processor 110 determines whether or not a temperature check time has elapsed since the previous temperature check process was executed. The temperature check time is a time interval for periodically checking the temperature, and is set to 10 minutes in this embodiment.
[0077] If the temperature confirmation time has elapsed (step S127; Yes), the processing unit 110 performs a temperature confirmation process (step S128) to be described later, and then returns to Fig. 14 and proceeds to step S108. If the temperature confirmation time has not elapsed (step S127; No), returns to Fig. 14 and proceeds to step S108.
[0078] In step S108, the processing unit 110 judges whether or not to end the process. For example, when the operation unit 240 receives an instruction from the user to turn off the power of the robot 200, the process is ended. If the process is ended (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 operation control process. Note that the process of storing various data in a non-volatile memory when the power is turned off may be performed by separately operating a power OFF judgment thread in parallel with other threads such as the operation control process. If the power OFF judgment thread performs the process equivalent to steps S108 and S109, the process of steps S108 and S109 in the operation control process can be omitted.
[0079] If the process is not to be ended (step S108; No), the processing unit 110 judges whether or not the date has changed by the clock function (step S110). If the date has not changed (step S110; No), the process returns to step S102.
[0080] If the date has changed (step S110; Yes), the processing unit 110 judges whether or not it is within the first period (step S111). If the first period is, for example, 50 days from the pseudo-birth of the robot 200 (for example, the first activation by the user after purchase), the processing unit 110 judges that it is within the first period if the growth day data 126 is 50 or less. If it is not within the first period (step S111; No), the processing unit 110 proceeds to step S115.
[0081] 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 has been set to the maximum value of the emotion map 300 even once, 1 is added to the DXP of the emotion change data 122, if the Y value of the emotion data 121 has been set to the maximum value of the emotion map 300 even once, 1 is added to the DYP of the emotion change data 122, if the X value of the emotion data 121 has been set to the minimum value of the emotion map 300 even once, 1 is added to the DXM of the emotion change data 122, and if the Y value of the emotion data 121 has been set to the minimum value of the emotion map 300 even once, 1 is added to the DYM of the emotion change data 122, thereby updating the emotion change data 122. This update is also called learning of the emotion change data 122.
[0082] However, if each value of the emotion change data 122 becomes too large, the amount of change in one time of the 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 or less. 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 large, the value added to the emotion change data 122 may be increased.
[0083] The learning of emotion change data 122 in step S113 is based on whether or not emotion data 121 is set to the maximum or minimum value of emotion map 300 in step S105. Whether or not emotion data 121 is set to the maximum or minimum value of emotion map 300 in step S105 is based on the external stimulus acquired in step S103. In step S103, a plurality of different types of external stimuli are acquired by a plurality of sensors included in sensor unit 210, and therefore each piece of emotion change data 122 is learned in response to each of these plurality of external stimuli.
[0084] For example, when only the head 204 is stroked many times, only the DXP of the emotion change data 122 increases, and the other emotion change data 122 does not change, so that the robot 200 has a personality that is easy to feel at ease. When only the head 204 is hit many times, only the DXM of the emotion change data 122 increases, and the other emotion change data 122 does not change, so that the robot 200 has a personality that is easy to feel anxious. In this way, the processing unit 110 learns to make the emotion change data 122 different from each other in response to each external stimulus. In this embodiment, the personality value is calculated from the emotion change data 122, and the maximum value of the personality value becomes the growth value, so that the effect of the robot 200 growing pseudo based on the user's way of interacting with the robot 200 can be obtained.
[0085] In this embodiment, in step S105, if the X value or Y value of the emotion data 121 reaches the maximum value or minimum value of the emotion map 300 even once during the period of one day, the emotion change data 122 is learned. However, the condition for learning the emotion change data 122 is 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 even once (for example, 0.5 times the maximum value or 0.5 times the minimum value of the emotion map 300). In addition, the period is not limited to the period of one day, but if the X value or Y value of the emotion data 121 reaches a predetermined value even once during other periods such as half a day or one week, the emotion change data 122 may be learned. In addition, the emotion change data 122 may be learned if the X value or Y value of the emotion data 121 reaches a predetermined value even once during a period until the number of times an external stimulus is acquired reaches a predetermined number (for example, 50 times), instead of a fixed period such as one day.
[0086] Returning to FIG. 14, the processing unit 110 expands the emotion map 300 by 2 for both the maximum and minimum values (step S114). Note that, although the emotion map 300 is expanded by 2 for both the maximum and minimum values here, 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 1. The expansion value may not be the same for each axis of the emotion map 300, or for the maximum and minimum values. The processing unit 110 then adds 1 to the number of days of growth data 126, initializes both the X and Y values of the emotion data to 0 (step S115), and returns to step S102.
[0087] In FIG. 14, learning of emotion change data and expansion of emotion map are performed after it is determined that the date has changed in step S110, but they may be performed after it is determined that a reference time (for example, 9 p.m.) has been reached. Also, the determination in step S110 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, rather than on the actual date. For example, each time the accumulated time that the power has been on becomes a multiple of 24, the robot 200 may be considered to have grown by one day, and learning of emotion change data and expansion of the emotion map may be performed. Also, taking into consideration a user who tends to leave the robot 200 unattended (so that the growth of the robot 200 slows down when the robot is left unattended), the determination may be based on the number of times an external stimulus is acquired (for example, each time the number of acquisitions reaches 100, it may be considered to have grown by one day).
[0088] Next, the action selection process executed in step S106 of the above-mentioned action control process will be described with reference to FIG.
[0089] First, the processing unit 110 calculates a personality value based on the emotion change data 122 learned in step S113 (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, 10 is subtracted here to set the value range to 0 to 10. Personality score (cheerful) = DXP-10 Personality score (shy) = DXM-10 Personality score (active) = DYP-10 Personality score (spoiled) = DYM-10
[0090] 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).
[0091] 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, when the calculated growth value is 8 and the action trigger is "loud noise is made", "basic action 2-0" is selected with a 20% probability, "basic action 2-1" with a 20% probability, "basic action 2-2" with a 40% probability, and "personality action 2-0" with a 20% probability (see FIG. 12).
[0092] Then, the processing unit 110 judges 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 processing proceeds to step S208.
[0093] 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.
[0094] 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 sum of these 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%.
[0095] 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.
[0096] Next, the remaining amount notification operation process executed in step S122 of the above-mentioned operation control process will be described with reference to FIG.
[0097] First, the processing unit 110 acquires the remaining battery level from the power supply control unit 250 (step S130). Then, the processing unit 110 judges whether the acquired remaining battery level is equal to or greater than a first remaining battery level notification threshold (e.g., 80%) (step S131). If the remaining battery level is equal to or greater than the first remaining battery level notification threshold (step S131; Yes), the processing unit 110 executes a first notification operation, which is an operation indicating that the remaining battery level is equal to or greater than the first remaining battery level notification threshold (e.g., the remaining battery level is still sufficient) (step S132). Any operation can be selected as the first notification operation, but in this embodiment, the first notification operation is an operation of singing three times in a cheerful voice. Specifically, the processing unit 110 controls the driving unit 220 to move the head 204 energetically, and outputs audio data of the robot 200 singing in a cheerful voice from the speaker 231 three times. Then, the remaining battery level notification operation process ends, and the process proceeds to step S123 of the operation control process.
[0098] If the remaining battery level is less than the first remaining battery level notification threshold (step S131; No), the processing unit 110 judges whether the remaining battery level is equal to or greater than the second remaining battery level notification threshold (e.g., 40%) (step S133). If the remaining battery level is equal to or greater than the second remaining battery level notification threshold (step S133; Yes), the processing unit 110 executes a second notification operation which is an operation indicating that the remaining battery level is less than the first remaining battery level notification threshold and equal to or greater than the second remaining battery level notification threshold (e.g., the remaining battery level is about half) (step S134). The second notification operation may be any operation, but in this embodiment, the second notification operation is an operation of singing twice in a normal voice. Specifically, the processing unit 110 controls the driving unit 220 to move the head 204 normally, and outputs audio data of the robot 200 singing in a normal voice twice from the speaker 231. Then, the remaining battery level notification operation process ends, and the process proceeds to step S123 of the operation control process.
[0099] If the remaining battery level is less than the second remaining battery level notification threshold (step S133; No), the processing unit 110 executes a third notification operation which is an operation indicating that the remaining battery level is less than the second remaining battery level notification threshold (for example, the remaining battery level is less than half) (step S135). Any operation can be selected as the third notification operation, but in this embodiment, the third notification operation is an operation of singing once in a listless voice. Specifically, the processing unit 110 controls the driving unit 220 to move the head 204 in a listless manner, and outputs audio data of the robot 200 singing once in a listless voice from the speaker 231. Then, the remaining battery level notification operation process ends, and the process proceeds to step S123 of the action control process.
[0100] By the above-mentioned remaining battery level notification operation process, when the processing unit 110 detects a remaining battery level notification stimulus (for example, being held and having its head stroked), the control mode for controlling the driving unit 220 and the output unit 230 (sound output unit) is changed to a control mode for outputting a singing voice while moving the head 204 according to the remaining battery level. Therefore, when the user wants to know the remaining battery level, the user can know the remaining battery level by the reaction of the robot 200 when the remaining battery level notification stimulus (for example, holding the robot 200 and having its head stroked) is given to the robot 200. Since it is possible to set an operation like loving a pet as the remaining battery level notification stimulus, the robot 200 can notify the user of the remaining battery level without losing the feeling of life. In addition, the robot 200 sings less and loses energy in its singing voice as the remaining battery level decreases, so that the user can be notified of the degree of need for charging without losing the feeling of life.
[0101] It is assumed that the voice data of the robot 200 singing described above is generated in advance as sampling data of the singing voice of the robot 200 and stored in the storage unit 120. Also, depending on the personality of the robot 200 (for example, the personality corresponding to the largest value of the personality values), the voice data to be output may be changed, the way the head 204 is moved may be changed, or the notification action itself may be changed.
[0102] Next, the remaining amount confirmation process executed in step S124 of the above-mentioned operation control process will be described with reference to FIG.
[0103] First, the processing unit 110 acquires the remaining battery level from the power supply control unit 250 (step S140). Then, the processing unit 110 determines whether the remaining battery level is equal to or greater than a first remaining level threshold (e.g., 50%) (step S141). If the remaining battery level is equal to or greater than the first remaining level threshold (step S141; Yes), the remaining level confirmation process ends, and the process proceeds to step S125 of the operation control process.
[0104] If the remaining battery level is less than the first remaining level threshold (step S141; No), the processing unit 110 determines that the notification condition for notifying the remaining battery level is satisfied, and determines whether the remaining battery level is equal to or greater than the second remaining level threshold (e.g., 30%) (step S142). If the remaining battery level is equal to or greater than the second remaining level threshold (step S142; Yes), the processing unit 110 executes a first spontaneous notification action that spontaneously indicates that the remaining battery level is less than the first remaining level threshold and equal to or greater than the second remaining level threshold (e.g., the remaining battery level is less than half) (step S143). Any action can be selected as the first spontaneous notification action, but in this embodiment, the first spontaneous notification action is an action in which the robot 200 trembles for two seconds. Specifically, the processing unit 110 sets the vibration count N to a number of times corresponding to two seconds (e.g., 20) and executes a vibration action process, which will be described later, once. Then, the remaining battery level confirmation process is terminated, and the process proceeds to step S125 of the action control process.
[0105] If the remaining battery level is less than the second remaining level threshold (step S142; No), the processing unit 110 judges whether the remaining battery level is equal to or greater than the third remaining level threshold (e.g., 10%) (step S144). If the remaining battery level is equal to or greater than the third remaining level threshold (step S144; Yes), the processing unit 110 executes a second spontaneous notification operation, which is an operation for spontaneously indicating that the remaining battery level is less than the second remaining level threshold and equal to or greater than the third remaining level threshold (e.g., the remaining battery level is significantly reduced) (step S145). Any operation can be selected as the second spontaneous notification operation, but in this embodiment, the second spontaneous notification operation is an operation in which the robot 200 repeats a trembling operation for two seconds twice. Specifically, the processing unit 110 sets the vibration count N to a number of times corresponding to two seconds (e.g., 20), and executes the vibration operation process described later twice with an interval of about 0.5 seconds. Then, the remaining level confirmation process ends, and the process proceeds to step S125 of the operation control process.
[0106] If the remaining battery level is less than the third remaining level threshold (step S144; No), the processing unit 110 executes a third spontaneous notification action which is an action for spontaneously indicating that the remaining battery level is less than the third remaining level threshold (e.g., there is almost no remaining battery level) (step S146). Any action can be taken as the third spontaneous notification action, but in this embodiment, the third spontaneous notification action is an action in which the robot 200 trembles for five seconds. Specifically, the processing unit 110 sets the vibration count N to a number of times equivalent to five seconds (e.g., 50) and executes a vibration action process, which will be described later, once. Then, the remaining level confirmation process is terminated, and the process proceeds to step S125 of the action control process.
[0107] By the above-mentioned remaining charge confirmation process, the processing unit 110 changes the control mode for controlling the driving unit 220 and the output unit 230 (sound output unit) based on the remaining battery charge to a control mode for driving the movable unit to vibrate the robot 200. Therefore, by the above-mentioned spontaneous notification operation, when the remaining battery charge falls below the first remaining charge threshold, the robot 200 can notify the user that it needs to be charged by shaking its body. Even real pets may shake their bodies when they are not feeling well, and by shaking their bodies, the user can know that the robot 200 is not feeling well, that is, that it needs to be charged. Therefore, the robot 200 can notify the user that it needs to be charged without losing its sense of life. In addition, the lower the remaining battery charge, the more times the robot 200 vibrates its body or the longer the time for which it vibrates, so that the user can be informed of the degree of need for charging without losing its sense of life.
[0108] The spontaneous notification action may be changed according to the personality of the robot 200 (for example, the personality corresponding to the largest value of the personality values). For example, as a third spontaneous notification action indicating that the battery is almost low, the processing unit 110 may not only perform control to shake the body, but also control to output a sound according to the personality. In this case, for example, if the personality corresponding to the largest value of the personality values is "cheerful", a "sneezing sound" may be output, if it is "active", a "growling sound" may be output, if it is "shy", no sound may be output (no sound may be output), and if it is "spoiled", a "cuddling cry" may be output. By performing spontaneous notification actions according to the personality in this way, it is possible to express a more living creature-like feeling.
[0109] It is assumed that the sneezing sounds, growling sounds, whining sounds, and the like are generated in advance as sound sampling data and stored in the storage unit 120, similar to the singing voice of the robot 200 described above.
[0110] Next, the temperature confirmation process executed in step S128 of the above-mentioned operation control process will be described with reference to FIG.
[0111] First, the processing unit 110 acquires the temperature from the temperature sensor 215 (step S150). Then, the processing unit 110 determines whether the temperature is equal to or higher than a first temperature threshold (e.g., 18 degrees Celsius) (step S151). If the temperature is equal to or higher than the first temperature threshold (step S151; Yes), the temperature confirmation process ends, and the process proceeds to step S108 of the operation control process.
[0112] If the temperature is less than the first temperature threshold (step S151; No), the processing unit 110 determines that the temperature notification condition is satisfied and determines whether the temperature is equal to or greater than the second temperature threshold (e.g., 10 degrees Celsius) (step S152). If the temperature is equal to or greater than the second temperature threshold (step S152; Yes), the processing unit 110 executes a first temperature notification operation, which is an operation indicating that the temperature is less than the first temperature threshold and equal to or greater than the second temperature threshold (e.g., a little cold) (step S153). Any operation can be selected as the first temperature notification operation, but in this embodiment, the first temperature notification operation is an operation in which the robot 200 trembles once for one second. Specifically, the processing unit 110 executes a vibration operation process described later by setting the vibration count N to the number of vibrations corresponding to one second (e.g., 10). Then, the temperature confirmation process ends, and the process proceeds to step S108 of the operation control process.
[0113] If the temperature is less than the second temperature threshold (step S152; No), the processing unit 110 judges whether the temperature is equal to or greater than the third temperature threshold (e.g., 0 degrees Celsius) (step S154). If the temperature is equal to or greater than the third temperature threshold (step S154; Yes), the processing unit 110 executes a second temperature notification operation, which is an operation indicating that the temperature is less than the second temperature threshold and equal to or greater than the third temperature threshold (e.g., very cold) (step S155). The second temperature notification operation can be any operation, but in this embodiment, the second temperature notification operation is an operation in which the robot 200 repeats a trembling operation for one second twice. Specifically, the processing unit 110 sets the vibration count N to a number of times corresponding to one second (e.g., 10), and executes the vibration operation process described later twice with an interval of about 0.5 seconds. Then, the temperature confirmation process ends, and the process proceeds to step S108 of the operation control process.
[0114] If the temperature is less than the third temperature threshold (step S154; No), the processing unit 110 executes a third temperature notification action which is an action indicating that the temperature is less than the third temperature threshold (e.g., very cold) (step S156). Any action can be taken as the third temperature notification action, but in this embodiment, the third temperature notification action is an action in which the robot 200 repeats a shivering action for one second three times. Specifically, the processing unit 110 sets the vibration count N to a number of times equivalent to one second (e.g., 10) and executes a vibration action process, which will be described later, three times with an interval of about 0.5 seconds. Then, the temperature confirmation process ends, and the process proceeds to step S108 of the action control process.
[0115] By the above-described temperature notification process, the robot 200 shivers its body when the temperature drops, thereby notifying the user of the low temperature in a natural way and making the robot 200 look like a real living thing.
[0116] Next, a vibration action process executed by the processing unit 110 to make the body of the robot 200 tremble in the above-mentioned remaining amount confirmation process and temperature confirmation process will be described with reference to FIG.
[0117] First, the processing unit 110 sets the number of vibrations N (step S161). Then, the processing unit 110 issues an instruction to the up-down motor 222 of the driving unit 220 to rotate downward by a preparation angle 610 as shown in FIG. 21, and lowers the head 204 (step S162). The preparation angle 610 is an angle between 20 degrees and 60 degrees (e.g., 30 degrees). The control by the processing unit 110 to rotate the up-down motor 222 by the preparation angle 610 is called preparation control. By the processing unit 110 performing the preparation control, the robot 200 is in a position in which the rear end of the head 204 and the front end of the body 206 are raised above the placement surface 600 as shown in FIG. 21, and the front end of the head 204 and the rear end of the body 206 are in contact with the placement surface 600. By the robot 200 being in this position, the robot 200 can be efficiently vibrated by the vibration control performed thereafter.
[0118] Then, the processing unit 110 rotates the head 204 by issuing an instruction to the twist motor 221 of the driving unit 220 to rotate it forward by a first forward rotation angle 611, as shown in Fig. 22 (step S163). The first forward rotation angle 611 is an angle between 15 degrees and 60 degrees (for example, 30 degrees).
[0119] Next, the processing unit 110 waits for a first waiting time (step S164). The first waiting time is a time between 0.03 seconds and 0.1 seconds (for example, 50 milliseconds). Then, the processing unit 110 rotates the head 204 by issuing an instruction to the twist motor 221 of the driving unit 220 to reverse the rotation by a first reverse angle 612 as shown in Fig. 23 (step S165). The first reverse angle 612 is an angle between 15 degrees and 60 degrees (for example, 30 degrees).
[0120] Next, the processing unit 110 waits for a first waiting time (step S166). Then, the processing unit 110 decrements the number of vibrations N by 1 (step S167), and determines whether N is greater than 0 (step S168).
[0121] If the vibration count N is greater than 0 (step S168; Yes), the process returns to step S163. If the vibration count N is equal to or less than 0 (step S168; No), the processing unit 110 ends the vibration operation process.
[0122] In the vibration operation process described above, the control from step S163 to step S166 is called unit vibration control, and the control of repeating this unit vibration control for the number of vibrations N is called vibration control. By vibration control, the head 204 and the body 206 rotate alternately in opposite directions as shown in Figures 22 and 23, and by performing this at high speed, the processing unit 110 can vibrate the body of the robot 200 even without a vibration motor. The time required to complete one operation by unit vibration control is called the first unit time.
[0123] To effectively generate vibration, it is necessary to perform vibration control at high speed. Therefore, in order to make the robot 200 appear to be shaking its body in the above vibration operation process, it is desirable to set the first unit time to 0.3 seconds or less. In vibration control, the setting of the time until reversal is more important than the setting of the rotation angle, and in the above vibration operation process, high-speed reversal is realized by reversing the rotation of the twist motor 221 immediately after waiting for the first waiting time. If the first waiting time is too short, the rotation angle becomes too small and the vibration becomes small, but if it is too long, vibration control cannot be performed at high speed, so it is desirable to set the first unit time to a value of 0.03 seconds or more and 0.1 seconds or less.
[0124] In the vibration operation process described above, the processing unit 110 issues an instruction to the twist motor 221 of the drive unit 220 to rotate forward by the first forward rotation angle 611 in step S163, and then issues an instruction to rotate reversely by the first reverse angle 612 in step S165, but steps S163 and S165 may be performed in the reverse order. That is, the processing unit 110 may issue, to the twist motor 221 of the drive unit 220, one of an instruction to rotate forward by the first forward rotation angle 611 or an instruction to rotate reversely by the first reverse angle 612, and then issue the other of an instruction to rotate forward by the first forward rotation angle 611 or an instruction to rotate reversely by the first reverse angle 612.
[0125] In the remaining battery check process, the body of the robot 200 is made to shake by vibration action process according to the remaining battery power, so that the robot 200 can appear to be in poor health, and the user can be informed that the battery of the robot 200 needs to be charged without losing the sense of life.
[0126] In addition, in the temperature confirmation process, the body of the robot 200 is made to tremble according to the temperature through vibration operation process, so that the robot 200 can be made to look as if it is feeling cold, thereby further improving the sense of life.
[0127] In the above-mentioned action selection process, the emotion data 121 may be referenced when selecting an action of the robot 200, and the value of the emotion data 121 may be reflected in the selection of the action. 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 corresponding to the value of the emotion data 121 at that time, or the value of the action selection probability of 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 the current emotion.
[0128] Furthermore, if the determination in step S107 in FIG. 15 is Yes, in the movement selection process in step S106, a spontaneous movement such as a breathing movement or a movement associated with a personality is performed. In this case, the movement may be made according to the X value and the Y value of the emotion data 121.
[0129] In addition, 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 as a positive value, and may decrease the volume of the cry output from the speaker 231 as the Y value becomes smaller as a negative value.
[0130] 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 of 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 made downloadable from an external server or the like via the communication unit 130.
[0131] In the above-mentioned 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 growth days data 126 (for example, the growth value may be set by dividing the growth days data 126 by a predetermined value (for example, 10) and discarding the decimal point). The personality value of the robot 200 left by the user is often small, and if the maximum personality value is set as the growth value, a personality action may not be selected. Even in such a case, if the growth value is set based on the growth days 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. The growth value may also be set based on both the personality value and the growth days data 126 (for example, the growth value may be set by dividing the sum of the largest personality value and the growth days data 126 by a predetermined value and discarding the decimal point).
[0132] In the above embodiment, the personality value is set based on the emotion change data 122, but the method of setting the personality value is not limited to this method. For example, the personality value may be set directly from the external stimulus data, not based on the emotion change data 122. For example, a method is conceivable in which the personality value (active) is increased when the character is stroked, and the personality value (shy) is decreased when the character is hit. 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 the Y value of the emotion data 121.
[0133] 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 an external stimulus, each robot 200 will show different emotion changes in response to the external stimulus, and as a result, each robot 200 can be given a pseudo personality (personality value). Furthermore, since personality is derived from the emotion change data 122, it is also possible to generate a clone robot having 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 having the same personality can be reproduced by restoring the backup data.
[0134] As the growth value calculated based on the personality value increases, the variation of selectable actions becomes richer, and the robot 200 can express a richer variety of actions by pseudo-growth (increasing growth value). Furthermore, the robot 200 does not only perform the actions after growth as it progresses, but can select an action from all the actions it has performed before 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 makes the user feel more affection for it.
[0135] Furthermore, the simulated growth of the robot 200 is limited to a first period (e.g., 50 days), and the emotion change data 122 (personality) thereafter is fixed, so it cannot be reset like other ordinary devices, and this gives the user the feeling as if he or she were interacting with a real, living pet.
[0136] In addition, since 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), complex emotions and personalities can be expressed.
[0137] 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.
[0138] (Modification) The present invention is not limited to the above-described embodiment, and various modifications and applications are possible. For example, for a user who does not think that the robot 200 needs to have emotions or a personality, the processing related to emotions and personality may be omitted in the motion control processing. In this case, the growth value may be derived from the growth days data 126. The processing related to the growth value may also be omitted, and the growth table 123 may be configured so that the type of motion is uniquely determined for each motion trigger. In this case, the motion selection processing may execute the motion selected according to the motion trigger.
[0139] In addition, in the above-mentioned motion table 125, the operation (operation time and operation angle) and voice data of the driving unit 220 of the robot 200 are set, but only the operation of the driving unit 220 or only the voice data may be set. Also, control other than the operation of the driving unit 220 and the voice data may be set. For example, when the output unit 230 of the robot 200 is provided with an LED, control of the color and brightness of the LED to be lit may be considered as the control other than the operation and voice data of the driving unit 220. At least one of the driving unit 220 and the output unit 230 may be included as the controlled unit controlled by the processing unit 110. The output unit 230 may output only sound as a sound output unit, or may output only light by an LED or the like.
[0140] Furthermore, in the above embodiment, the size of emotion map 300 is expanded by 2 for both the maximum and minimum values of emotion map 300 each time the number of days of simulated growth of robot 200 increases by one day during the first period. However, the expansion of the size of emotion map 300 does not have to be performed evenly in this manner. For example, the way in which emotion map 300 is expanded may be changed depending on the way emotion data 121 changes.
[0141] To change the way emotion map 300 is expanded depending on how emotion data 121 changes, for example, the following process may be performed in step S114 of the motion control process (FIG. 14). If the value of emotion data 121 is set to the maximum value of emotion map 300 even once in step S105 during a certain day, then the maximum value of emotion map 300 is increased by 3 in the following 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 following step S114.
[0142] Similarly, for the minimum value of emotion map 300, if the value of emotion data 121 is set to the minimum value of emotion map 300 even once on that day, the minimum value of emotion map 300 is decreased by 3, and if the value of emotion data 121 does not reach the minimum value of emotion map 300 even once, 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.
[0143] In the above embodiment and modified example, the emotion map 300 is always expanded during the first period, but the change in the range of the emotion map 300 is not limited to expansion. For example, the range of the emotion map 300 may be reduced for the direction of an emotion that rarely occurs in response to an external stimulus.
[0144] In the above 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) without 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 an external stimulus detected by the sensor unit 210, acquires the remaining battery level from the power supply control unit 250, and controls the drive unit 220 and the output unit 230, via the communication unit 130 and the communication unit 270.
[0145] 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 are controlled by the processing unit 260, and complex operations are controlled by the processing unit 110 via the communication unit 270.
[0146] In the above embodiment, the device control device 100, 101 is a control device in which the device to be controlled is the robot 200, 209, but the device to be controlled is not limited to the robot 200, 209. The device to be controlled may be, for example, a wristwatch. For example, if the device to be controlled is a wristwatch capable of outputting voice and equipped with an acceleration sensor, an external stimulus may be an impact applied to the wristwatch detected by the acceleration sensor. The motion table 125 may record voice data to be output in response to the external stimulus. The emotion data 121 and emotion change data 122 may be updated in response to the external stimulus, and the voice data set in the motion table 125 may be output based on the detected external stimulus and the emotion change data 122 (personality) at that time.
[0147] In this way, 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, the watch will have a cheerful personality, but if the user handles them roughly, the watch will have a shy personality.
[0148] In this way, the device control devices 100 and 101 can be applied to various devices, not just robots. By applying the device to a device, the device can be endowed with pseudo-emotions and personalities, and the user can feel as if he or she is nurturing the device in a pseudo manner.
[0149] 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 to function as a device equivalent to the device control devices 100, 101 of the devices according to the above-described embodiment.
[0150] Such programs may be provided in any manner; for example, they may be stored 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, a USB memory, etc.) and distributed, or the programs may be stored in storage on a network such as the Internet and provided by downloading them.
[0151] Furthermore, when the above-mentioned processing is performed by sharing 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 in 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 above-mentioned program may be posted on a bulletin board system (BBS) on a network and distributed over the network. The above-mentioned processing may be performed by starting up this program and executing it under the control of the OS in the same way as other application programs.
[0152] In addition, the processing units 110 and 260 may be configured by any processor alone, such as a single processor, a multiprocessor, or a multicore processor, or may be configured by combining any of these processors with a processing circuit, such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array).
[0153] The present invention allows various embodiments and modifications without departing from the broad spirit and scope of the present invention. The above-described embodiments are for the purpose of explaining the present invention and do not limit the scope of the present invention. That is, the scope of the present invention is indicated by the claims, not the embodiments. Various modifications made within the scope of the claims and the scope of the invention equivalent thereto are considered to be within the scope of the present invention. The invention described in the original claims of this application is appended below.
[0154] (Appendix 1) a processing unit that controls a controlled unit including at least one of a driving unit that drives a movable unit to express a movement of an appliance and a sound output unit that outputs a sound from the appliance; The processing unit includes: Obtaining a remaining battery charge of the device; When a notification condition for notifying the remaining battery level of the device is satisfied, a control mode for controlling the controlled unit is changed based on the obtained remaining battery level. Equipment control device.
[0155] (Appendix 2) The processing unit includes: If the acquired remaining battery level is less than a first remaining battery level threshold, it is determined that the notification condition is satisfied, and a control mode for controlling the controlled unit is changed based on the acquired remaining battery level. 2. A control device for the device described in Appendix 1.
[0156] (Appendix 3) The processing unit includes: Obtaining an external stimulus acting on the device; If the acquired external stimulus is a predetermined remaining battery level notification stimulus, it is determined that the notification condition is satisfied, and a control mode for controlling the controlled unit is changed based on the acquired remaining battery level. 3. A control device for an apparatus as described in appendix 1 or 2.
[0157] (Appendix 4) The change in the control mode of controlling the controlled unit by the processing unit is a change to a control mode that drives the movable unit to vibrate the device. 4. A control device for an apparatus as described in any one of appendixes 1 to 3.
[0158] (Appendix 5) The processing unit includes: The smaller the acquired remaining battery level is, the more times the device is vibrated or the longer the duration of the vibration is. 5. A control device for the device described in Appendix 4.
[0159] (Appendix 6) The processing unit includes: Obtaining the temperature around the device; When the acquired temperature becomes less than a first temperature threshold, it is determined that a temperature notification condition is satisfied, and the movable part is driven to vibrate the device based on the acquired temperature. 6. A control device for an apparatus according to any one of claims 1 to 5.
[0160] (Appendix 7) A method for controlling an appliance including a controlled unit including at least one of a driving unit that drives a movable unit for expressing a movement of the appliance and a sound output unit that outputs a sound from the appliance, comprising: Obtaining a remaining battery charge of the device; When a notification condition for notifying the remaining battery level of the device is satisfied, a control mode for controlling the controlled unit is changed based on the obtained remaining battery level. How to control the device.
[0161] (Appendix 8) A computer that controls the device includes a processing unit that controls a controlled unit including at least one of a driving unit that drives a movable unit to express a movement of the device and a sound output unit that outputs sound from the device, Obtaining a remaining battery charge of the device; When a notification condition for notifying the remaining battery level of the device is satisfied, a control mode for controlling the controlled unit is changed based on the obtained remaining battery level. A program that executes a process. [Explanation of symbols]
[0162] 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 days data, 130, 270...Communication unit, 200, 209...Robot, 201...Exterior, 202...Decorative parts, 203...Hair, 204...Head, 205...Connecting unit, 206...Torso, 207...Housing, 210...Sensor unit, 211...Touch sensor, 212...Acceleration sensor, 213...Microphone, 214 ...illumination sensor, 215...temperature 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, 255...wireless power supply receiving circuit, 300...emotion map, 301, 302, 303...frame, 310, 410...origin, 311, 312, 411, 412, 413, 414...axis, 400...personality value radar chart, 600...placement surface, 610...preparation angle, 611...first normal rotation angle, 612...first reverse rotation angle, BL...bus line
Claims
1. A processing unit is provided to control a driving unit that drives a movable unit for expressing a movement of the device, The processing unit includes: Obtaining the temperature around the device; When the acquired air temperature becomes less than a first air temperature threshold, the movable part is driven to vibrate the device; When the acquired temperature is equal to or lower than the first temperature threshold, each time the acquired temperature becomes lower than a plurality of preset temperature thresholds, a control is performed so as to increase the number of vibrations per predetermined time period for vibrating the device. Equipment control device.
2. A method for controlling an appliance having a drive unit that drives a movable unit to express a movement of the appliance, comprising: Obtaining the temperature around the device; When the acquired air temperature becomes less than a first air temperature threshold, the movable part is driven to vibrate the device; When the acquired temperature is equal to or lower than the first temperature threshold, each time the acquired temperature becomes lower than a plurality of preset temperature thresholds, the number of vibrations per predetermined time period for vibrating the device is increased. How to control the device.
3. A computer that controls the device includes a processing unit that controls a drive unit that drives a movable unit to express the movement of the device, Obtaining the temperature around the device; When the acquired air temperature becomes less than a first air temperature threshold, the movable part is driven to vibrate the device; When the acquired temperature is equal to or lower than the first temperature threshold, each time the acquired temperature becomes lower than a plurality of preset temperature thresholds, the number of vibrations per predetermined time period for vibrating the device is increased. A program that executes a process.
Citation Information
Patent Citations
Device and method for controlling creature image display, and recording medium which records creature image display processing program
JP1999126014A
Small-sized robot communication system
JP2003062776A
Toy and method for manufacturing toy
JP2017153545A