Apparatus control device, apparatus control method, and program

The device control device addresses the limitation of existing sound-responsive devices by adjusting its pseudo emotions based on the characteristics of a performance sound, thereby creating a more lifelike interaction with the user.

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

Patent Information

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

AI Technical Summary

Technical Problem

Existing sound-responsive devices, such as toys and pet-shaped robots, lack the ability to provide users with a sense of a living creature, as they primarily operate based on mechanical responses to sound rhythms.

Method used

A device control device that determines the characteristics of a performance sound, such as its speed and key, to adjust the pseudo emotions of the device, allowing it to respond in a more lifelike manner to the user.

Benefits of technology

The device can create a more immersive experience for the user by simulating the emotions and behaviors of a living creature, enhancing the user's interaction with the device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025052720000001_ABST
    Figure 2025052720000001_ABST
Patent Text Reader

Abstract

To activate an apparatus that reacts to sound so that a user can feel like a living thing.SOLUTION: An apparatus control device 100 includes a control part 110 that determines a certain degree of performance speed of performance sound or a tone of performance by performance sound as characteristics of the performance sound around a robot 200 that is an apparatus, and changes a pseudo feeling of the apparatus according to the characteristics of the determined performance sound.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] There are known devices such as toys and pet-type robots that move in response to sound. For example, Patent Document 1 describes an operating device that samples sounds detected by a sound sensor, determines changes in the rhythm of the volume, and operates a moving part in a movement pattern according to the changes in the rhythm. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 3-123581 Summary of the Invention [Problem to be solved by the invention]

[0004] The operating device described in Patent Document 1 only operates mechanically with an operating pattern corresponding to the rhythm of the detected sound. Therefore, when this operating device is applied to a pet-type robot, it is insufficient to give the user a sense of life, like a real pet.

[0005] The present invention has been made in consideration of the above-mentioned situation, and aims to provide an equipment control device, an equipment control method, and a program that can operate a sound-responsive device in a way that gives the user the feeling that it is alive. [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 is to determining a constant speed of the sound being played or a key of the sound being played as a characteristic of the sound being played around the device; changing the simulated emotion of the device according to the determined characteristics of the performance sound; A control unit is provided. It is characterized by: Effect of the Invention

[0007] According to the present invention, a device that responds to sound can be operated in a way that gives the user the sensation of it being alive. [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 for explaining a housing of the robot according to the embodiment. [Figure 4] 1 is a block diagram showing a functional configuration of a robot according to an embodiment. [Diagram 5] FIG. 2 is a diagram illustrating an example of an emotion map according to the embodiment. [Figure 6] FIG. 11 is a diagram illustrating an example of a control content table according to the embodiment. [Figure 7] 11 is a flowchart of an operation control process according to the embodiment. [Figure 8] 11 is a flowchart of a performance linkage process according to the embodiment. [Figure 9] 13 is a configuration example of a linkage action adjustment table according to the embodiment. [Figure 10] 11 is a flowchart of a performance information acquisition process according to the embodiment. [Figure 11] FIG. 13 is a block diagram showing a functional configuration of a control device for a robot and an apparatus 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, which is an example of a performance information acquisition device shown in Fig. 1, will be described with reference to the drawings. As shown in Fig. 1, the robot 200 according to the embodiment is a pet robot imitating a small animal, and is covered with an exterior 201 equipped with decorative parts 202 imitating 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] As shown in FIG. 2, the body 206 is provided with a servo motor called a twist motor 221 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 a servo motor called an up-down motor 222. In FIG. 2, the twist motor 221 is provided in the body 206, but it may be provided in the connecting part 205 or in the head 204. In FIG. 2, the up-down motor 222 is provided in the connecting part 205, but it may be provided in the body 206 or in the head 204. In any case, the twist motor 221 and the up-down motor 222 are provided inside the housing 207.

[0012] The twist motor 221 can rotate the head 204 at any rotation speed relative to the body 206, around a first rotation axis that passes through the connecting part 205 and extends in the front-rear direction of the body 206. The up-down motor 222 can rotate the head 204 upward or downward at any rotation speed relative to the body 206, around a second rotation axis that passes through the connecting part 205 and extends in the width direction of the body 206.

[0013] The robot 200 also includes a touch sensor 211, and can detect when the user has stroked or hit the robot 200. More specifically, as shown in Fig. 2, the head 204 is provided with a touch sensor 211H, and can detect when the user has stroked or hit the head 204. As shown in Figs. 2 and 3, the body 206 includes touch sensors 211LF and 211LR at the front and rear of the left side surface, respectively, and touch sensors 211RF and 211RR at the front and rear of the right side surface, respectively, so that it can detect when the body 206 has been stroked or hit by the user.

[0014] The robot 200 also includes an acceleration sensor 212 on the torso 206, which can detect the posture (direction) of the robot 200 and detect whether the robot 200 has been lifted up, turned around, or thrown by a user. The robot 200 also includes a gyro sensor 213 on the torso 206, which can detect whether the robot 200 is vibrating, rolling, or rotating.

[0015] The robot 200 also includes a microphone 214 on the body 206, and is capable of detecting external sounds. As shown in Fig. 2, the microphone 214 is provided on the surface of the housing 207 at a position suitable for acquiring external environmental sounds. The microphone 214 may also have a directivity with sound collection characteristics that make it difficult to pick up sounds from the servo motors (the twist motor 221 and the up / down motor 222).

[0016] Furthermore, an illuminance sensor 215 is provided on the surface of the exterior 201 of the robot 200, and is capable of detecting the brightness of the surroundings. The decorative part 202 may also be configured with the illuminance sensor 215.

[0017] The robot 200 also includes a position sensor 216 equipped with a GPS module or the like on the torso 206, and is capable of acquiring position information of the robot 200.

[0018] Furthermore, the robot 200 is provided with a speaker 231 on the body 206, and can use the speaker 231 to make sounds and sing songs.

[0019] In this embodiment, the acceleration sensor 212, the gyro sensor 213, the microphone 214, the illuminance sensor 215, the position sensor 216, 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 gyro sensor 213, the microphone 214, the illuminance sensor 215, the position sensor 216, 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.

[0020] Next, the functional configuration of the robot 200 will be described. As shown in FIG. 4, the robot 200 includes an appliance control device 100, a sensor unit 210, an operating unit 220, an audio output unit 230, an operation input unit 240, a power supply control unit 250, and a battery 260. The appliance control device 100 includes a control unit 110, a storage unit 120, and a communication unit 130. In FIG. 4, the appliance control device 100, the sensor unit 210, the operating unit 220, the audio output unit 230, the operation input 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 operating unit 220, the audio output unit 230, the operation input unit 240, and the power supply control unit 250 may be connected via a wired interface such as a Universal Serial Bus (USB) cable, or a wireless interface such as Bluetooth (registered trademark). The control unit 110 may be connected to the storage unit 120 and the communication unit 130 via a bus line BL.

[0021] The device control device 100 controls the operation of the device (robot 200) by the control unit 110 and the storage unit 120. Since the robot 200 is a device controlled by the device control device 100, it is also called a controlled device.

[0022] The control unit 110 is composed of a processor such as a CPU (Central Processing Unit), and executes various processes described below according to programs stored in the storage unit 120. Note that the control unit 110 supports a multi-thread function that executes multiple processes in parallel, and therefore can execute various processes described below in parallel. The control unit 110 also has a clock function and a timer function, and can measure the date and time, etc.

[0023] The storage unit 120 is composed of a ROM (Read Only Memory), a flash memory, a RAM (Random Access Memory), and the like. The ROM stores programs executed by the CPU of the control 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. The storage unit 120 stores, for example, emotion data 121, emotion change data 122, a control content table 123, a linked action adjustment table 124, and behavior history data 125, which will be described later.

[0024] The communication unit 130 includes a communication module compatible with short-range wireless communication such as Bluetooth (registered trademark), and communicates data with external devices such as smartphones and electronic musical instruments around the robot 200, and other robots of the same type as the robot 200. The communication unit 130 may communicate with external devices via a wired connection.

[0025] The sensor unit 210 includes the touch sensor 211, the acceleration sensor 212, the gyro sensor 213, the microphone 214, the illuminance sensor 215, and the position sensor 216 described above. The control unit 110 acquires 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 gyro sensor 213, the microphone 214, the illuminance sensor 215, and the position sensor 216. By increasing the types of sensors included in the sensor unit 210, the types of external stimuli that the control unit 110 can acquire can be increased. For example, the sensor unit 210 may include an image acquisition unit such as a CCD (Charge-Coupled Device) image sensor. In this case, the control unit 110 can recognize the image acquired by the image acquisition unit and determine who is around (for example, the owner, the person who always takes care of the robot, a stranger, etc.).

[0026] The touch sensor 211 detects that some object has come into contact with the touch sensor 211. The touch sensor 211 is configured by, for example, a pressure sensor or a capacitance sensor. The control 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 control unit 110 may detect these external stimuli with a sensor other than the touch sensor 211 (see, for example, Japanese Patent Publication No. 6575637).

[0027] The acceleration sensor 212 detects acceleration in three axial directions consisting of the front-back direction (X-axis direction), width (left-right) direction (Y-axis direction), and up-down direction (Z-axis direction) of the body 206 of the robot 200. The acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary, so the control 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 control unit 110 can detect the movement of the robot 200 by removing the gravitational acceleration component from the detection value detected by the acceleration sensor 212.

[0028] The gyro sensor 213 detects three-axis angular velocities of the robot 200. From the three-axis angular velocities, the control unit 110 can determine the rotation state of the robot 200. In addition, from the maximum value of the three-axis angular velocities, the control unit 110 can determine the vibration state of the robot 200.

[0029] The control unit 110 can determine the current posture of the robot 200 (horizontal, upside-down, facing up, facing down, sideways, etc.) based on the angular velocity detected by the gyro sensor 213 and the gravitational acceleration detected by the acceleration sensor 212.

[0030] The microphone 214 is a sound acquisition unit that detects sounds around the robot 200. When the sound detected by the microphone 214 is some kind of performance sound, the control unit 110 can acquire characteristics of the performance sound such as the speed (BPM), key, and beat by analyzing the performance sound. Note that the "performance sound" of the present invention is not limited to a sound played by a musical instrument, but also includes a sound with some kind of melody or rhythm emitted from an external device such as a smartphone or a PC, rhythmic clapping sounds, singing sounds, and the like. In addition, when the external device that is emitting the performance sound has a performance information transmission function, the control unit 110 can receive performance information from the external device via the communication unit 130 and acquire the BPM, key, beat, and the like from the performance information.

[0031] The operating unit 220 includes a twist motor 221 and an up-down motor 222, and is driven by the control unit 110. By the control unit 110 controlling the operating unit 220, the robot 200 can express movements such as lifting the head 204 (rotating it upward around the second rotation axis) or twisting it sideways (twisting and rotating it to the right or left around the first rotation axis). Control data (motion data) for performing these movements is recorded in the storage unit 120, and the movements of the robot 200 are controlled based on the detected external stimuli, emotion data 121 (described later), and the like.

[0032] Moreover, the control unit 110 executes the performance-linked processing to control the operation unit 220 to repeatedly execute the performance-linked action at a cycle corresponding to the BPM of the performance sound while the microphone 214 is detecting the performance sound. Control data for the performance-linked action is also recorded in the storage unit 120. At this time, the control unit 110 adjusts the control content of the performance-linked action according to the robot 200 and the situation around the robot 200. Note that the "situation" of the robot 200 here includes the "state" of the robot 200, such as emotions, personality, etc. Details of the performance-linked processing will be described later.

[0033] The above is an example of the operating unit 220. The operating unit 220 may be a moving means such as wheels or crawlers. The robot 200 may also be equipped with members such as limbs and a tail, and the operating unit 220 may move these members (limbs, tail, etc.). By the operation of the operating unit 220, the positional relationship of the head 204 and members such as limbs with respect to the body 206 of the housing 207 is changed.

[0034] The sound output unit 230 includes a speaker 231, and when the control unit 110 inputs sound data to the sound output unit 230, sound is output from the speaker 231. For example, when the control unit 110 inputs data of the cry of the robot 200 to the sound output unit 230, the robot 200 emits a pseudo cry. This cry data is also recorded in the storage unit 120 as control data (sound effect data), and the cry is selected based on the detected external stimulus, emotion data 121 (described later), and the like.

[0035] The operation input unit 240 is composed of, for example, operation buttons, a volume knob, etc. The operation input 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 robot 200 to have only a power switch as the operation input unit 240 on the inside of the exterior 201, and not to have 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.

[0036] The power supply control unit 250 controls the power supply, such as charging the battery 260 of the robot 200 and supplying power from the battery 260 to each unit.

[0037] This concludes the description of the functional configuration of the robot 200. Next, the emotion data 121, emotion change data 122, control content table 123, linked action adjustment table 124, and action history data 125, which are data stored in the storage unit 120, will be described in order.

[0038] The emotion data 121 is data for making the robot 200 have a pseudo emotion, and is data (X, Y) indicating coordinates on the emotion map 300. As shown in FIG. 5, 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 (apathy). The origin 310 (0, 0) on the emotion map 300 represents a normal emotion. The positive X-coordinate value (X value) represents a higher degree of security, and the positive Y-coordinate value (Y value) represents a higher degree of excitement. The negative X-value represents a higher absolute value of anxiety, and the negative Y-value represents a higher absolute value of apathy. The X-value and Y-value are limited, and cannot be outside the frame 301 shown in FIG. 5. Therefore, the maximum value of the X-value is 200, the minimum value is -200, and the maximum value of the Y-value is 200, and the minimum value is -200. In addition, although the emotion map 300 is represented in a two-dimensional coordinate system in FIG. 5, the emotion map 300 may have any number of dimensions.

[0039] Here, in this embodiment, the emotion of the robot 200 whose X value on the emotion map 300 is equal to or greater than a predetermined value is defined as "relief", and the emotion of the robot 200 whose X value is equal to or less than a predetermined value is defined as "anxiety". Similarly, the emotion of the robot 200 whose Y value on the emotion map 300 is equal to or greater than a predetermined value is defined as "excitement", and the emotion of the robot 200 whose X value is equal to or less than a predetermined value is defined as "lethargic". Furthermore, the emotion of the robot 200 whose X value and Y value on the emotion map 300 are equal to or greater than a predetermined value is defined as "joy", and the emotion of the robot 200 whose X value and Y value are equal to or less than a predetermined value is defined as "sadness". Furthermore, the emotion of the robot 200 whose X value on the emotion map 300 is equal to or greater than a predetermined value and whose Y value is equal to or less than a predetermined value is defined as "calm", and the emotion of the robot 200 whose X value is equal to or less than a predetermined value and whose Y value is equal to or greater than a predetermined value is defined as "irritation". Furthermore, the emotion of the robot 200 whose X value and Y value are other than the above is defined as "normal". It should be noted that the above is merely an example, and the simulated emotions of the robot 200 can be defined in any way.

[0040] 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 300 to change in a positive direction) DXM: Tendency to become anxious (tenacity of the X value on the Emotion Map 300 to change in the negative direction) DYP: Excitability (the tendency for the Y value in Emotion Map 300 to change in the positive direction) DYM: Tendency to become apathetic (tenacity of the Y value on Emotion Map 300 to change in the negative direction)

[0041] In this embodiment, as an example, the initial values ​​of these variables are all set to 10, and are increased up to a maximum of 20 by a process of learning the emotion change data 122 in the motion control process described later. Since the emotion change data 122, i.e., the degree of emotion change, changes by this learning process, the robot 200 will have various personalities depending on the way the user interacts with the robot 200 and the characteristics of the detected performance sounds.

[0042] In this embodiment, the simulated personality of the robot 200 whose DXP, which indicates ease of feeling at ease, is equal to or greater than a predetermined value is defined as "cheerful". Hereinafter, the simulated personality of the robot 200 whose DXM, which indicates ease of feeling anxious, is equal to or greater than a predetermined value is defined as "shy", the simulated personality of the robot 200 whose DYP, which indicates ease of getting excited, is equal to or greater than a predetermined value is defined as "active", and the simulated personality of the robot 200 whose DYM, which indicates ease of becoming lethargic, is equal to or greater than a predetermined value is defined as "spoiled". Note that the above is just an example, and any method can be adopted to define the simulated personality of the robot 200 from various values ​​of the emotion change data 122.

[0043] 6, the control content table 123 stores control conditions and control data in correspondence with each other. When a control condition (for example, some external stimulus is detected) is satisfied, the control unit 110 controls the operation unit 220 and the sound output unit 230 based on the corresponding control data (motion data for expressing an operation by the operation unit 220 and sound effect data for outputting sound effects from the sound output unit 230).

[0044] 6, the motion data is a series of sequence data (in the order of "time (milliseconds): rotation angle (degrees) of up / down motor 222: rotation angle (degrees) of twist motor 221") that controls operation unit 220. For example, when the body is stroked, control unit 110 controls operation unit 220 in such a way that the rotation angles of up / down motor 222 and twist motor 221 are set to 0 degrees (up / down reference angle and twist reference angle) at first (0 seconds), head 204 is raised so that the rotation angle of up / down motor 222 is 60 degrees at 0.5 seconds, and head 204 is twisted so that the rotation angle of twist motor 221 is 60 degrees at 1 second.

[0045] 6, for ease of understanding, sentences explaining each sound effect data are written, but in reality, the sound effect data itself (sampled sound data) explained in these sentences is stored as the sound effect data in the control content table 123. Although not shown in FIG. 6, the control content table 123 also stores the control data for the performance-linked operation described above.

[0046] 6 does not include a condition related to emotion (represented by coordinates on the emotion map 300) in the control conditions, but the control data may be changed according to emotion by including a condition related to emotion. Also, the control data may be changed according to personality by including a condition related to personality (represented by the value of emotion change data 122) in the control conditions of the control content table 123. This makes it possible to control the movement of the robot 200 according to the emotion (emotion data 121) and personality (emotion change data 122) of the robot 200 that are changed based on the characteristics of the performance sounds in the movement control process and performance interlocking process described later.

[0047] The linked action adjustment table 124 is a table in which control coefficients are set for adjusting the control content of the performance linked action according to the situation of the robot 200 or the surroundings of the robot 200. The linked action adjustment table 124 will be described in detail with specific examples in the explanation of the performance linked process described later.

[0048] The behavior history data 125 is log data in which the history of the behavior, experience, state, etc. of the robot 200 is recorded together with date and time information. For example, the behavior history data 125 records the position information of the robot 200, the simulated sleep time (wake-up time, bedtime, etc.), the characteristics of the performance sound detected by the microphone 214 (BPM, key, etc.), the detection time, etc. as history.

[0049] Next, the operation control process executed by the control unit 110 of the device control device 100 will be described with reference to the flowchart shown in FIG. 7. The operation control process is a process in which the control unit 110 controls the operation (movement, cry, etc.) of the robot 200 based on the detection value from the sensor unit 210, etc. When the user operates the operation input unit 240 of the robot 200 to turn on the power, a thread of this operation control process is started to be executed in parallel with other necessary processes. The operation control process controls the operation unit 220 and the sound output unit 230, and the movement of the robot 200 is expressed and sound effects such as cry are output. In addition, the behavior history data 125 is appropriately updated by processing of a separate thread for behavior recording according to the detection of the movement of the robot 200 and the sound of the performance in the operation control process.

[0050] First, control unit 110 initializes various data such as emotion data 121, emotion change data 122, etc. (step S101).

[0051] Next, the control unit 110 determines whether the operation mode of the robot 200 is the sleep mode (step S102). If the operation mode is the sleep mode (step S102; Yes), the process proceeds to step S105.

[0052] On the other hand, if the robot 200 is not in the sleep mode (step S102; No), the control unit 110 determines whether the robot 200 satisfies a preset sleeping condition (step S103). For example, the control unit 110 determines that the sleeping condition is satisfied when the brightness of the surroundings of the robot 200 detected by the illuminance sensor 215 is below a threshold value for a certain period of time or more (for example, 15 minutes or more). Note that the manner in which the sleeping condition is set is not limited to the above. For example, even if the brightness of the surroundings of the robot 200 is below a threshold value for a certain period of time or more, if an external stimulus is acquired by the sensor unit 21 or a sound with a volume equal to or higher than the threshold value is detected, it may be determined that the sleeping condition is not satisfied. In addition, a sleeping time period such as 10 p.m. to midnight may be set in advance, and if the current time is after a time randomly selected from the sleeping time period, it may be determined that the sleeping condition is satisfied.

[0053] When the robot 200 satisfies the sleeping condition (step S103; Yes), the control unit 110 sets the operation mode of the robot 200 to the sleep mode (step S104). When the sleep mode is set, the control unit 110 makes the robot 200 execute an operation like a living thing sleeping. For example, the control unit 110 controls the operation unit 220 to control the robot 200 to a curled up state, or to execute a breathing operation that makes the robot 200 appear to be breathing with a longer breathing cycle than when awake. In addition, the behavior history data 125 is updated to the time when the sleep mode is set as the time when the robot 200 went to bed for that day.

[0054] Next, the control unit 110 determines whether the robot 200 satisfies a preset wake-up condition (step S105). For example, the control unit 110 determines that the wake-up condition is satisfied when the brightness of the surroundings of the robot 200 detected by the illuminance sensor 215 is equal to or higher than a threshold value and continues for a certain period of time or more (for example, 15 minutes or more). Note that the manner in which the wake-up condition is set is not limited to the above. For example, even if the brightness of the surroundings of the robot 200 is not equal to or higher than a threshold value, the control unit 110 may determine that the wake-up condition is satisfied when an external stimulus is acquired by the sensor unit 21 or a sound equal to or higher than a threshold value is detected. In addition, a wake-up time zone such as 6:00 to 8:00 may be preset, and the control unit 110 may determine that the wake-up condition is satisfied if the current time is later than a time randomly selected from the wake-up time zone.

[0055] If the robot 200 does not satisfy the wake-up condition (step S105; No), the robot 200 is in a pseudo-sleep state, so the performance response process described below and the like are skipped and the process proceeds to step S115.

[0056] On the other hand, if the robot 200 satisfies the wake-up condition (step S105; Yes), the control unit 110 cancels the sleep mode of the robot 200 (step S106). When the sleep mode is canceled, the control unit 110 causes the robot 200 to perform an action as if it had woken up. For example, the control unit 110 controls the operation unit 220 to cause the robot 200 to wake up from the curled up state, or to output a wake-up sound from the microphone 214. In addition, the behavior history data 125 is updated to the time when the sleep mode was canceled as the wake-up time of the day.

[0057] Next, the control unit 110 executes a performance-linked process for moving the robot 200 in response to a performance sound when the performance sound is present in the surroundings (step S107). The performance-linked process will be described in detail later.

[0058] Next, the control unit 110 judges whether or not an external stimulus has been acquired by the sensor unit 210 (step S108). If it is judged that an external stimulus has been acquired (step S108; Yes), the control unit 110 acquires emotion change data 122 to be added to or subtracted from the emotion data 121 according to the external stimulus (step S109). For example, when the control unit 110 detects that the head 204 has been stroked as an external stimulus, the robot 200 feels a pseudo sense of security, and therefore, the control unit 110 acquires DXP as emotion change data 122 to be added to the X value of the emotion data 121.

[0059] Then, the control unit 110 sets the emotion data 121 according to the emotion change data 122 acquired in step S109 (step S110). For example, if DXP was acquired as the emotion change data 122 in step S105, the control 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.

[0060] In steps S109 and S110, it is possible to arbitrarily set what emotion change data 122 is acquired and emotion data 121 is set for each external stimulus, but here, an example is shown below.

[0061] Head 204 is stroked (feels safe): X=X+DXP Hit on the head 204 (feels anxious): X=X-DXM (These external stimuli can be detected by the touch sensor 211H 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 214.)

[0062] Then, the control unit 110 refers to the control content table 123 and acquires control data corresponding to the control condition that is satisfied by the acquired external stimulus (step S111).

[0063] Then, the control unit 110 starts a control data playback thread and plays the control data acquired in step S111 (step S112). The control data playback thread is a thread that only plays the control data (controls the operation unit 220 based on the motion data and outputs sound from the audio output unit 230 based on the sound effect data), but by executing it as a thread separate from the operation control process, the operation control process can be carried out in parallel even when the robot 200 is operating based on the control data. Then, the process proceeds to step S115.

[0064] On the other hand, when it is determined that the external stimulus has not been acquired (step S108; No), the control unit 110 determines whether or not to perform a spontaneous motion such as a breathing motion that makes the robot 200 appear to be breathing by periodically driving the operation unit 220 at a certain rhythm (step S113). While the method of determining whether or not to perform a spontaneous motion is arbitrary, in this embodiment, the determination in step S113 becomes Yes every breathing cycle (for example, 2 seconds) and the breathing motion is performed.

[0065] When it is determined that a spontaneous movement is to be performed (step S113; Yes), the control unit 110 executes the spontaneous movement (for example, breathing movement) (step S114), and proceeds to step S115.

[0066] If it is determined that the device will not perform a spontaneous operation (step S113; No), the control unit 110 determines whether the date has changed using a built-in clock function (step S115). If it is determined that the date has not changed (step S115; No), the control unit 110 returns to step S102.

[0067] On the other hand, when it is determined that the date has changed (step S115; Yes), the control unit 110 executes a learning process of the emotion change data 122 based on the external stimuli acquired on that day (the day before the date has changed) (step S116). The learning process of the emotion change data 122 here is specifically a process of increasing the corresponding emotion change data 122 if the value of the emotion data 121 reaches the maximum or minimum value of the emotion map 300 even once in step S110 on that day. For example, 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 has been set to the maximum value of the emotion map 300 even once, 1 is added to the DYP; if the X value has been set to the minimum value of the emotion map 300 even once, 1 is added to the DXM; and if the Y value has been set to the minimum value of the emotion map 300 even once, 1 is added to the DYM. However, if each value of the emotion change data 122 becomes too large, the amount of change in one instance of the emotion data 121 becomes too large, so each value of the emotion change data 122 is set to a maximum value of, for example, 20 and is not allowed to increase beyond that value.

[0068] Next, the control unit 110 learns the emotion change data 122 based on the performance sounds detected on that day (the day before the date changes) (step S117). For example, when the total detection time (major key detection time) of the performance sounds in a major key on that day recorded in the behavior history data 125 is equal to or greater than a threshold, the control unit 110 increases DXP and DYP or one of DXP and DYP by a predetermined amount. This allows the robot 200 to change its simulated personality in the direction of "cheerful" or "active" by listening to a bright major key performance sound. Similarly, when the total detection time (minor key detection time) of the performance sounds in a minor key on that day recorded in the behavior history data 125 is equal to or greater than a threshold, the control unit 110 increases DXM and DYM or one of DXM and DYM by a predetermined amount. This allows the robot 200 to change its simulated personality in the direction of "shy" or "spoiled" by listening to a darker minor key performance sound. The method of learning emotion change data from the detected performance sounds is not limited to the above example, and various methods can be adopted. For example, by comparing the major key detection time and the minor key detection time of the day, if the major key detection time is longer, DXP ​​and DYP may be increased by a predetermined amount, and if the minor key detection time is longer, DXM and DYM may be increased by a predetermined amount. Also, each value of the emotion change data 122 may be changed by a predetermined amount according to the ratio between the major key detection time and the minor key detection time.

[0069] Then, control unit 110 initializes both the X value and the Y value of emotion data 121 to 0 (step S118), and returns to step S102.

[0070] Next, the performance linkage process executed in step S107 of the action control process (FIG. 7) will be described with reference to FIG.

[0071] First, the control unit 110 determines whether or not a performance has started around the robot 200 (step S201). Specifically, the control unit 110 determines that a performance has started when it can be determined from the detection value of the microphone 214 that a sound with a volume equal to or greater than a threshold has continued for a predetermined time or more (for example, 30 seconds or more), and otherwise determines that a performance has not started. Note that even if a sound with a volume equal to or greater than a threshold has continued for a predetermined time or more, the control unit 110 may determine that a performance has not started if it can be determined that the sound is an environmental sound or noise as a result of analyzing the sound. Note that the method of determining whether or not a performance has started is not limited to the above method, and any other method can be adopted.

[0072] If performance has not started (step S201; No), the performance interlocking process ends and proceeds to step S108 of the operation control process (FIG. 7). On the other hand, if performance has started (step S201; Yes), the control unit 110 executes a performance information acquisition process to acquire performance information such as the BPM of the performance sound and the key (minor or major) (step S202). The performance information acquisition process will be described in detail later.

[0073] Next, the control unit 110 sets the emotion data of the robot 200 according to the key of the acquired performance sound (step S203). For example, when the key is a major key, the control unit 110 adds the emotion change data DXP to the X value of the emotion data and adds the emotion change data DYP to the Y value of the emotion data, thereby changing the simulated emotion of the robot 200 in the direction of joy. When the key is a minor key, the control unit 110 subtracts the emotion change data DXM from the X value of the emotion data and subtracts the emotion change data DYM from the Y value of the emotion data, thereby changing the simulated emotion of the robot 200 in the direction of sadness. Note that, when it is not possible to determine whether the key is major or minor, the control unit 110 may not change the emotion change data. Note that the above is an example, and how the emotion data is set according to the acquired key is arbitrary. Also, the emotion data may be set by adding or subtracting fixed values ​​to the X value and Y value of the emotion data without using the emotion change data.

[0074] Next, the control unit 110 calculates the uniformity of the performance speed from the acquired BPM (step S204). Specifically, the control unit 110 calculates the average value of the BPM repeatedly acquired in step S202 of the performance interlocking process. The control unit 110 then calculates the degree of agreement (matching rate) between the average BPM and the currently acquired BPM as the uniformity of the performance speed. Note that, since the number of times BPM is acquired is small and the error in the average value is relatively large immediately after the start of performance, the process may skip steps S204 and step S205 (described later) and proceed to step S206 until a predetermined time has elapsed since the start of the performance interlocking process.

[0075] Next, the control unit 110 sets the emotion parameters of the robot 200 based on the determined degree of constancy of the playing speed (step S205). Specifically, when the degree of constancy of the playing speed is 80% or more, the control unit 110 adds the emotion change data DXP to the X value of the emotion data and adds the emotion change data DYP to the Y value of the emotion data, thereby changing the simulated emotion of the robot 200 in the direction of joy. When the degree of constancy of the playing speed is 30% or less, the control unit 110 subtracts the emotion change data DXM from the X value of the emotion data and subtracts the emotion change data DYM from the Y value of the emotion data, thereby changing the simulated emotion of the robot 200 in the direction of sadness. Note that the above is just an example, and it is arbitrary how emotion data is set according to the obtained degree of constancy of the playing speed. For example, when the degree of consistency of the playing speed is 30% or less, the control unit 110 may subtract the emotion change data DXM from the emotion data X value and add the emotion change data DYP to the emotion data Y value, thereby changing the simulated emotion of the robot 200 in the direction of irritation. Also, when a degree of consistency of the playing speed of 80% or more is calculated consecutively a predetermined number of times or more, or when it is calculated at a predetermined frequency or more, the control unit 110 may increase the emotion data X value and Y value. Similarly, when a degree of consistency of the playing speed of 30% or less is calculated consecutively a predetermined number of times or more, or when it is calculated at a predetermined frequency or more, the control unit 110 may subtract the emotion data X value and Y value.

[0076] Next, the control unit 110 determines the current situation of the robot 200 and the surroundings of the robot 200 (step S206). Specifically, the control unit 110 determines the following (1) to (7) as the current situation of the robot 200.

[0077] (1) Pseudo-emotions The control unit 110 determines, as the state of the robot 200, from the X value and Y value indicated by the emotion data 121, whether the current simulated emotion of the robot 200 is “relieved,” “anxious,” “excited,” “lethargic,” “happy,” “sad,” “calm,” “irritated,” or “normal.”

[0078] (2) Pseudo-personality The control unit 110 determines, as the state of the robot 200, from the value of the emotion change data 122, whether the current simulated personality of the robot 200 is "cheerful," "shy," "active," or "spoiled."

[0079] (3) Battery level The control unit 110 acquires the remaining charge of the battery 260 from the power supply control unit 250 as the status of the robot 200 .

[0080] (4) Posture The control unit 110 determines the current posture of the robot 200 as the state of the robot 200 from the detection values ​​of the touch sensor 211, the acceleration sensor 212, and the gyro sensor 213. Specifically, the control unit 110 determines whether the posture of the robot 200 is an "upside-down state" with the head 204 facing down, an "inside-out state" with the torso turned inside out, or a "held state" in which the robot is being picked up and stroked by a user.

[0081] (5) Location The control unit 110 determines the current location of the robot 200 from the detection value of the position sensor 216, etc., as the status of the robot 200. Specifically, when it is determined from the position information detected by the position sensor 216 that the robot 200 is at home, the location of which is registered in advance, or when the robot 200 is at a location recorded in the behavior history data 125 with high frequency, the control unit 110 determines the location of the robot 200 as "home". Furthermore, when the robot 200 is at a location other than "home", the control unit 110 refers to the frequency of the location recorded in the behavior history data 125 and determines whether the location of the robot 200 is a "familiar location" that the robot 200 has been to five or more times in the past, an "unfamiliar location" that the robot 200 has been to less than five times, or a "first-time location" that the robot 200 has never been to,

[0082] (6) Time The control unit 110 determines whether the current time is "just after waking up," "before going to bed," or "nap time" of the robot 200 as the state of the robot 200. For example, if the current time is within 30 minutes after today's wake-up time recorded in the behavior history data 125, the control unit 110 determines it as "just after waking up." In addition, the control unit 110 estimates today's bedtime from the daily bedtimes recorded in the behavior history data 125, and determines it as "before going to bed" if the current time is within 30 minutes before the estimated bedtime. Similarly, the control unit 110 estimates today's nap time from the behavior history data 125, and determines it as "nap" if the current time is within the estimated nap time.

[0083] (7) Simulated emotions of melee robots When the external situation of the robot 200 is that there is another robot of the same type (hereinafter also referred to as a proximate robot) in the vicinity with which the robot can communicate, the control unit 110 communicates data with the proximate robot via the communication unit 130 to obtain the simulated emotions of the proximate robot.

[0084] Next, the control unit 110 refers to the linked action adjustment table 124 shown in FIG. 9 and calculates a control coefficient for the performance-linked action from various states of the robot 200 acquired in step S206 (step S207). The performance-linked action is a specific action that is set in advance and is repeatedly executed at a period corresponding to the BPM of the performance sound. The performance-linked action is an action that combines the left and right rotation of the head 204 by driving the twist motor 221 and the up and down movement of the head 204 by driving the up and down motor 222. For example, if the BPM is 60, the driving of the twist motor 221 and the up and down motor 222 is controlled so that the performance-linked action is executed 60 times per minute, that is, repeatedly every second. This makes it possible to control the robot 200 to be linked with the performance sound.

[0085] The control coefficients of the performance-linked actions are coefficients for adjusting the movements of such performance-linked actions according to the state of the robot 200. The control coefficients of the performance-linked actions include an up-down movement amount coefficient, an up-down speed coefficient, a left-right movement amount coefficient, a left-right speed coefficient, and a timing coefficient.

[0086] The up / down movement amount coefficient indicates how much the amount of up / down movement of the head 204 in a performance-linked movement is increased or decreased from normal without adjustment. For example, a up / down movement amount coefficient of "+0.1" means that the amount of up / down movement of the head 204 in a performance-linked movement is increased by 10% from normal, and a up / down movement amount coefficient of "-0.1" means that the amount of up / down movement of the head 204 in a performance-linked movement is decreased by 10% from normal.

[0087] The up-down speed coefficient indicates how much the speed of the up-down movement of the head 204 during performance-linked motion should be increased or decreased from normal without adjustment. For example, a up-down speed coefficient of "+0.1" means that the speed of the up-down movement of the head 204 during performance-linked motion should be increased by 10% from normal, and a up-down speed coefficient of "-0.1" means that the speed of the up-down movement of the head 204 during performance-linked motion should be decreased by 10% from normal.

[0088] The left / right movement amount coefficient indicates how much the left / right rotation amount of the head 204 during performance-linked movement is increased or decreased from normal without adjustment. For example, a left / right movement amount coefficient of "+0.1" means that the left / right rotation amount of the head 204 during performance-linked movement is increased by 10% from normal, and a up / down movement amount coefficient of "-0.1" means that the left / right rotation amount of the head 204 during performance-linked movement is decreased by 10% from normal.

[0089] The left / right speed coefficient indicates how much the left / right rotation speed of the head 204 during a performance-linked action is increased or decreased from normal without adjustment. For example, a left / right speed coefficient of "+0.1" means that the left / right rotation speed of the head 204 during a performance-linked action is increased by 10% from normal, and a up / down speed coefficient of "-0.1" means that the left / right rotation speed of the head 204 during a performance-linked action is decreased by 10% from normal.

[0090] The timing coefficient indicates how much earlier or later the performance-linked action is executed than normal without adjustment. For example, a timing coefficient of "+0.1" means that the performance-linked action is executed 10% earlier than normal, and a timing coefficient of "-0.1" means that the performance-linked action is executed 10% later than normal.

[0091] In step S207, the control unit 110 can refer to the interlocking action adjustment table 124 shown in FIG.

[0092] For example, in the linked action adjustment table 124 shown in Fig. 9, when the emotion of the robot 200 is "joy", a positive control coefficient is set overall, and the robot 200 will perform a performance-linked action with larger and faster movements than normal. On the other hand, when the emotion of the robot 200 is "sadness" or "apathy", a negative control coefficient is set overall, and the robot 200 will perform a performance-linked action with smaller and slower movements than normal.

[0093] 9, when the personality of the robot 200 is "cheerful" or "active," a positive control coefficient is set overall, and the robot 200 will perform performance-linked actions with larger and faster movements than normal. When the personality of the robot 200 is "shy" or "spoiled," a negative control coefficient is set overall, and the robot 200 will perform performance-linked actions with smaller and slower movements than normal.

[0094] 9, when the remaining battery level of the robot 200 is "30% or less," negative control coefficients are set overall, and the robot 200 performs performance-linked actions that are smaller and slower than normal. This allows the robot 200 to show that its movements are slow due to a lack of energy.

[0095] 9, when the location of the robot 200 is a "place that the robot 200 does not often go" or a "place that the robot 200 has never been to before," negative control coefficients are set overall, and the robot 200 performs performance-linked actions with smaller and slower movements than usual. This allows the robot 200 to appear tense and slow in its movements because it is in an unfamiliar place.

[0096] 9, when the current time is "after waking up", "nap time" or "before going to bed", negative control coefficients are set overall, and the performance-linked actions are performed with smaller and slower movements than usual. This allows the robot 200 to appear to be moving slowly due to drowsiness.

[0097] In reality, multiple situations of the robot 200 are acquired, so in step S207, the control unit 110 refers to the interlocking operation adjustment table 124 to identify the corresponding control coefficient for each situation of the robot 200, and calculates the final control coefficient for the interlocking operation by summing them up. For example, it is assumed that the emotion of the robot 200 is determined to be "joy", the remaining battery level is "30% or less", and the emotion of the nearby robot is "irritated". In this case, the interlocking operation adjustment table 124 identifies the up / down speed coefficient "+0.2", the up / down movement amount coefficient "+0.2", the left / right speed coefficient "+0.2", the left / right movement amount coefficient "+0.2", and the timing coefficient "±0" corresponding to the emotion of the "joy". The interlocking operation adjustment table 124 also identifies the up / down speed coefficient "-0.1", the up / down movement amount coefficient "-0.1", the left / right speed coefficient "-0.1", the left / right movement amount coefficient "-0.1", and the timing coefficient "-0.1" corresponding to the remaining battery level is "30% or less". Further, from the interlocking movement adjustment table 124, the following coefficients are specified, which correspond to the emotion of "irritation" of the proximate robot: up / down speed coefficient "+0.1", up / down movement amount coefficient "±0", left / right speed coefficient "+0.2", left / right movement amount coefficient "±0", and timing coefficient "±0". These are then summed up to calculate the final control coefficients: up / down speed coefficient "+0.2", up / down movement amount coefficient "+0.1", left / right speed coefficient "+0.3", left / right movement amount coefficient "+0.1", and timing coefficient "-0.1". Note that when multiple situations of the robot 200 are specified, instead of performing such summation, only the control coefficient corresponding to one randomly selected situation may be calculated, or a priority may be set for each situation, and only the control coefficient corresponding to the situation with the highest priority may be calculated.

[0098] In the interlocking action adjustment table 124 shown in Fig. 9, the control coefficient is set according to the emotion of the proximate robot, but even if the emotion of the proximate robot can be detected, the movement coefficient may be calculated from the emotion of the proximate robot only when the character of the robot itself 200 is "shy" or "spoiled" and easily influenced by others, or only when the location of the robot itself 200 is a "new place" where the robot itself is easily influenced by its surroundings. In addition, when there are multiple proximate robots and multiple emotions can be detected, the movement coefficient may be calculated from the interlocking action adjustment table 124 taking into account all emotions, or the movement coefficient may be calculated from the emotion detected most frequently, or the movement coefficient may be calculated from the emotion of the proximate robot that is closest. In addition, the control coefficient may be calculated taking into account not only the emotion of the proximate robot but also its character.

[0099] Returning to the flowchart of FIG. 8, the control unit 110 then controls the operation unit (the twist motor 221 and the up / down motor 222) to repeatedly execute the performance linked operation adjusted by the control coefficient of the linked operation calculated in step S207, at a period (time interval) corresponding to the BPM of the performance sound acquired in step S202 (step S208).

[0100] Next, the control unit 110 determines whether the performance has ended (step S209). For example, the control unit 110 may determine that the performance has ended when the microphone 214 has not detected a sound with a volume equal to or greater than the threshold for a predetermined period of time (for example, 10 seconds or more).

[0101] If the performance has not ended (step S209; No), the process returns to step S202. On the other hand, if the performance has ended (step S209; Yes), the control unit 110 stops the performance-linked operation being executed (step S210), the performance-linked process ends, and the process proceeds to step S108 of the operation control process (FIG. 7).

[0102] Next, the performance information acquisition process executed in step S202 of the performance linkage process (FIG. 8) will be described with reference to FIG.

[0103] First, the control unit 110 determines whether or not there is a connectable external device by using the communication search function of the communication unit 130 (step S301). If there is an external device (step S301; Yes), the control unit 110 determines whether or not the external device has a performance information output function (step S302). For example, the control unit 110 can determine whether or not the external device has a performance information output function by comparing a list of identification information (e.g., model number, name) of devices with a performance information output function that is pre-stored in the storage unit 120 with the identification information acquired from the connectable external device.

[0104] If the external device has a performance information output function (step S302; Yes), the control unit 110 determines whether there are a plurality of such external devices (step S303).

[0105] If there are multiple external devices having the performance information output function (step S303; Yes), the control unit 110 selects one external device that is closest to the robot 200 from the multiple external devices (step S304). For example, the control unit 110 can identify the external device that is closest to the robot 200 by receiving position information from each external device.

[0106] If there is only one external device having the performance information output function (step S303; No), or after selecting the nearest external device in step S304, the control unit 110 acquires performance information of the currently playing sound from this external device via the communication unit 130 (step S305). This performance information includes at least information indicating the BPM and key (major or minor) of the playing sound. Then, the process proceeds to step S203 of the performance linkage process.

[0107] On the other hand, if there is no connectable external device (step S301; No), or if the external device does not have a performance information output function (step S302; No), the control unit 110 analyzes the performance sounds continuously acquired by the microphone 214 to acquire performance information such as the BPM and key (step S306). For example, the control unit 110 acquires the BPM by analyzing the performance sounds and measuring the time intervals between peaks in volume. The control unit 110 can also perform frequency analysis of the performance sounds to determine the scale of the performance sounds and determine whether the key is minor or major from the scale. Then, the process proceeds to step S203 of the performance linkage process.

[0108] As described above, according to this embodiment, the performance interlocking process determines the situation of the robot 200 or the surroundings of the robot 200, and when the robot 200 is made to perform an interlocking action interlocked with a performance sound based on the BPM, the movement amount, speed, timing, etc. of the interlocking action are adjusted according to the determined situation. This makes it possible to perform an interlocking action that reflects the situation, and to operate a device that reacts to sound in a wider variety of patterns.

[0109] Furthermore, according to this embodiment, in the performance-linked processing, the robot 200 not only reacts to the performance sounds, but also changes the simulated emotions of the robot 200 according to the characteristics of the performance sounds (key, speed consistency), making it possible to operate a device that reacts to sounds in a way that gives the user a feeling of a living thing, like a real pet.

[0110] Furthermore, according to this embodiment, when the microphone 214 acquires a performance sound, if the communication unit 130 can communicate with an external device having a performance information transmission function, the performance information is acquired from the external device via the communication unit 130, and if communication with the external device is not possible, the performance information is acquired by analyzing the performance sound acquired by the microphone 214. Therefore, it is possible to always acquire performance information using an optimal method without imposing a burden on the user.

[0111] Furthermore, according to this embodiment, when multiple such external devices are detected, performance information is obtained from the external device that is closest to the robot 200, so that performance information can be obtained from the external device that is most likely to be outputting performance sounds to the robot 200.

[0112] (Modification) The present invention is not limited to the above-described embodiment, but various modifications and applications are possible.

[0113] For example, in the above embodiment, the linked action linked to the performance sound is basically only one type, and the movement, speed, etc. of the linked action are changed depending on various situations of the robot 200, but multiple types of linked actions may be used. For example, linked actions for two beats, linked actions for three beats, linked actions for four beats, etc. are defined in the control content table 123 according to the beat. Then, in the performance linked process, the beat of the performance sound may be determined from the change in the peak volume of the performance sound, and the robot 200 may execute the linked action for the determined beat after reflecting various situations of the robot 200. Note that, in addition to the above, linked actions according to the range of BPM (linked actions for low tempo, linked actions for high tempo, etc.) may be executed, and linked actions according to the genre of the performance sound (linked actions for classical music, linked actions for pop music, etc.) may be executed.

[0114] In the above embodiment, (1) simulated emotions, (2) simulated personality, (3) remaining battery level, (4) posture, (5) location, (6) time, and (7) simulated emotions of a nearby robot are determined as the conditions of the robot 200 or the surroundings of the robot 200 for determining the control coefficient of the linked action, but these are merely examples, and the conditions of the robot 200 to be determined are not limited to these. For example, fewer types of conditions may be determined, or more types of conditions may be determined. It is necessary to prepare a linked action adjustment table 124 according to the type of conditions to be determined.

[0115] In addition, the user's reaction may be reflected in the performance-linked action executed by the robot 200 in the performance-linked process (FIG. 8). Specifically, when the sensor unit 210 detects the user's reaction of praising the robot 200 (for example, a voice such as "good job" or an action of stroking the robot 200), a predetermined value in the positive direction is added to the up / down movement amount coefficient and the up / down speed coefficient of the control coefficient calculated in step S207, and the performance-linked action of step S208 is executed. Alternatively, when the sensor unit 210 detects the user's reaction of praising the robot 200, the X value and the Y value of the emotion data 121 are increased to change the personality in the "joy" direction. In this way, the movement of the performance-linked action becomes larger every time the user praises the robot 200 during the performance-linked action, making it possible for the user to feel a sense of life like a real pet.

[0116] In the above embodiment, the physical movement of the head 204 of the robot 200 has been described as the performance-linked action, but the performance-linked action is not limited to a physical movement. For example, the performance-linked action may include an action of outputting a specific cry from the audio output unit 230. In this case, by setting in the linked action adjustment table 124 a control coefficient indicating how much louder or softer the cry should be than usual, and a coefficient indicating whether the timing of the cry should be earlier or later than usual, the cry output in the performance-linked action can be changed according to the determined situation.

[0117] In the above embodiment, the robot 200 is configured to have the device control device 100 for controlling the robot 200 built in (FIG. 4), but the device control device 100 for controlling the robot 200 does not necessarily need to be built in the robot 200. For example, as shown in FIG. 11, the device control device 100 may be configured as a device separate from the robot 200, and the robot 200 may also have a control unit 270 and a communication unit 280 separate from the control unit 110 and the communication unit 130 of the device control device 100. In this case, the communication unit 130 and the communication unit 280 are configured to be able to transmit and receive data to and from each other, and the control unit 110 acquires an external stimulus detected by the sensor unit 210 and controls the operation unit 220 and the sound output unit 230 via the communication unit 130 and the communication unit 280.

[0118] In the above embodiment, the device to be controlled by the device control device 100 is the robot 200, but the device to be controlled by the device control device 100 is not limited to the robot 200. For example, the device control device 100 may control a toy or the like.

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

[0120] 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.

[0121] 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.

[0122] In addition, the control unit 110 may be configured by any processor alone, such as a single processor, a multiprocessor, or a multi-core 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).

[0123] 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. [Explanation of symbols]

[0124] 100...Device control device, 110, 270...Control unit, 120...Memory unit, 121...Emotion data, 122...Emotion change data, 123...Control content table, 124...Linkage action adjustment table, 125...Action history data, 130, 280...Communication unit, 200...Robot, 201...Exterior, 202...Decorative parts, 203...Hur, 204...Head, 205...Connecting part, 206...Torso part, 207...Housing, 210...Sensor unit, 211, 211H ... 1LF, 211LR, 211RF, 211RR...touch sensor, 212...acceleration sensor, 213...gyro sensor, 214...microphone, 215...illuminance sensor, 216...position sensor, 220...operation unit, 221...twist motor, 222...up and down motor, 230...audio output unit, 231...speaker, 240...operation input unit, 300...emotion map, 301...frame, 310...origin, 311...X axis, 312...Y axis, BL...bus line

Claims

1. determining a constant speed of the sound being played or a key of the sound being played as a characteristic of the sound being played around the device; changing the simulated emotion of the device according to the determined characteristics of the performance sound; A control unit is provided. A control device for an appliance, comprising:

2. The control unit is changing the simulated character of the device in accordance with the determined characteristics of the played sound; 2. The device control device according to claim 1 .

3. The control unit is controlling an operation of the device in accordance with the changed pseudo-characteristic of the device; 3. The device control device according to claim 2.

4. The control unit is controlling an operation of the device in response to the changed simulated emotion of the device; 3. The device control apparatus according to claim 1 or 2.

5. determining a constant speed of the sound being played or a key of the sound being played as a characteristic of the sound being played around the device; changing the simulated emotion of the device according to the determined characteristics of the performance sound; A method for controlling an equipment, comprising:

6. On the computer, A process of determining a degree of uniformity of a performance speed of the performance sound or a key of the performance sound as a characteristic of the performance sound around the device; A process of changing the simulated emotion of the device in accordance with the determined characteristics of the performance sound; A program that executes the following.

Citation Information

Patent Citations

  • Movement device

    JP1991123581A