Device control unit, device control method, and program
Patent Information
- Application Number
- JP2024211963
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-04-02
- Estimated Expiration
- 2042-03-24
AI Technical Summary
【0007】 本発明によれば、予め作動タイミングを設定しなくても、適切なタイミングで機器を作動させることができる。
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a device control apparatus, a device control method, and a program. [Background technology]
[0002] Conventionally, alarm clocks have been used as devices for waking up users. Many conventional alarm clocks wake up users by sounding a loud sound at a specified time. For this reason, users often wake up feeling uncomfortable due to the loud sound. In order to eliminate this discomfort, for example, Patent Document 1 discloses an alarm device that provides a comfortable awakening by vibrating an awakening unit based on a biological signal. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2016-7446 A Summary of the Invention [Problem to be solved by the invention]
[0004] The alarm device disclosed in Patent Document 1 continues to detect the depth of sleep from the user's biological signals, and when the depth of sleep reaches the REM sleep stage within a preset wake-up time range, it activates the awakening unit to wake up the user. However, this alarm device requires the wake-up time range to be set in advance, and cannot wake up the user if the depth of sleep does not reach the REM sleep stage within the preset wake-up time range.
[0005] Therefore, the present invention has been made in consideration of the above circumstances, and aims to provide an equipment control device, an equipment control method, and a program that can operate the equipment at appropriate timing without having to set the operation timing in advance. [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: Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; setting an activation time, which is a time when the device is activated, based on the estimated user information; A processing unit is provided. Effect of the Invention
[0007] According to the present invention, it is possible to operate a device at an appropriate timing without setting the operation timing in advance. [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] 1 is a block diagram showing a functional configuration of a robot according to an embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of log data according to the embodiment. [Diagram 5] FIG. 4 is a diagram showing an example of sleep data according to the embodiment. [Figure 6] FIG. 4 is a diagram showing an example of alarm control data according to the embodiment. [Figure 7] 11 is a flowchart of a log recording process according to the embodiment. [Figure 8] 13 is a flowchart of a sleep data calculation process according to the embodiment. [Figure 9] 11 is a flowchart of an alarm control data calculation process according to the embodiment. [Figure 10] 4 is a flowchart of an alarm process according to the embodiment. [Figure 11] FIG. 13 is a diagram showing an example of an alarm setting screen when the alarm is ON. [Figure 12] FIG. 13 is a diagram showing an example of an alarm setting screen when an alarm is set automatically. [Figure 13] 11 is a flowchart of a notification process according to the embodiment. [Figure 14] FIG. 11 is a diagram showing an example of nap alarm control data according to Modification 1. [Figure 15] 13 is a flowchart of a nap alarm process according to the first modification. [Figure 16] FIG. 11 is a block diagram showing the functional configuration of a device control device and a robot according to Modification 3. 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] The connecting portion 205 connects the body portion 206 and the head portion 204 to be rotatable (by the twist motor 221) about a first rotation axis that passes through the connecting portion 205 and extends in the front-rear direction of the body portion 206. The connecting portion 205 also connects the body portion 206 and the head portion 204 to be rotatable (by the up-down motor 222) about a second rotation axis that passes through the connecting portion 205 and extends in the width direction of the body portion 206. 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.
[0012] 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.
[0013] The robot 200 also includes an acceleration sensor 212 and a gyro sensor 215 in the torso 206, and can detect the posture of the robot 200 itself and detect when the robot 200 has been lifted up, turned around, or thrown by the user. The robot 200 also includes a microphone 213 in the torso 206, and can detect external sounds. The robot 200 also includes a speaker 231 in the torso 206, and can use the speaker 231 to make sounds that the robot 200 makes or sings.
[0014] 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.
[0015] In this embodiment, the acceleration sensor 212, the microphone 213, the illuminance sensor 214, the gyro 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 gyro 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.
[0016] Next, the functional configuration of the robot 200 will be described. As shown in FIG. 3, the robot 200 includes a device control device 100, a sensor unit 210, a driving unit 220, an output unit 230, and an operation unit 240. The device control device 100 includes a processing unit 110, a storage unit 120, and a communication unit 130. In FIG. 3, the device control device 100, the sensor unit 210, the driving unit 220, the output unit 230, and the operation unit 240 are connected via a bus line BL, but this is an example. The device control device 100, the sensor unit 210, the driving unit 220, the output unit 230, and the operation unit 240 may be connected via a wired interface such as a USB (Universal Serial Bus) cable, or a wireless interface such as Bluetooth (registered trademark). The processing unit 110, the storage unit 120, and the communication unit 130 may be connected via a bus line BL, etc.
[0017] The device control device 100 controls the operation of the robot 200 via the processing unit 110 and the memory unit 120 .
[0018] 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.
[0019] 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.
[0020] 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.
[0021] The sensor unit 210 includes the touch sensor 211, the acceleration sensor 212, the microphone 213, the illuminance sensor 214, and the gyro 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 gyro sensor 215. By increasing the types of sensors included in the sensor unit 210, the types of external stimuli that the processing unit 110 can acquire can be increased. Conversely, when fewer types of external stimuli are acceptable, the types of sensors may be reduced. In this case, the sensor unit 210 may include at least one sensor among the touch sensor 211, the acceleration sensor 212, the microphone 213, the illuminance sensor 214, and the gyro sensor 215.
[0022] 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).
[0023] The acceleration sensor 212 detects acceleration in three axial directions consisting of the front-rear direction, width direction (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.
[0024] Furthermore, for example, when the user lifts or throws the robot 200, the acceleration sensor 212 detects the acceleration accompanying the movement of the robot 200 in addition to the gravitational acceleration. Therefore, the processing unit 110 can acquire the detection value detected by the acceleration sensor 212 as acceleration information, and can detect the movement of the robot 200 by removing the gravitational acceleration component from this detection value. The processing unit 110 can also calculate the movement speed of the robot 200 by integrating the acceleration accompanying the movement of the robot 200, and can also calculate the movement distance of the robot 200 by integrating the calculated speed.
[0025] 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.
[0026] The illuminance sensor 214 includes a light receiving element such as a photodiode, and detects the brightness (illuminance) of the surroundings. The processing unit 110 can acquire the illuminance detected by the illuminance sensor 214 as illuminance information. For example, when the illuminance sensor 214 detects that the surroundings are dark, the processing unit 110 can perform control to put the robot 200 to sleep (to a sleep state).
[0027] The gyro sensor 215 detects the angular velocity of the robot 200. Based on the detection value detected by the gyro sensor 215, the processing unit 110 can detect that the user is changing the orientation of the robot 200 (for example, rotating it).
[0028] 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 operate to rotate to a specified angle in response to an instruction from the processing unit 110. The driving unit 220 may include other appropriate actuators, such as a fluid pressure motor, as movable parts. By the processing unit 110 controlling the driving unit 220, the robot 200 can express movements such as lifting the head 204 (rotating it upward around the second rotation axis) and 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 the storage unit 120 in advance.
[0029] The output unit 230 includes a speaker 231, and when the processing unit 110 inputs sound data to the output unit 230, sound is output from the speaker 231. For example, when the processing unit 110 inputs data of the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry. This cry data is also recorded in the storage unit 120, and the cry is selected based on the detected external stimulus, an alarm operation mode described later, and the like. The output unit 230, which is configured with the speaker 231, is also called a sound output unit.
[0030] Furthermore, the output unit 230 may include a display such as a liquid crystal display, a light-emitting unit such as an LED (Light Emitting Diode), or a vibration unit such as a vibrator, instead of or in addition to the speaker 231. The processing unit 110 may display some image on the display, cause the LED to emit light, or vibrate the vibration unit, as an alarm clock operation.
[0031] 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 and adjusting the volume of the output sound. In order to enhance the feeling of life in the robot 200, the operation unit 240 may include only a power switch on the inside of the exterior 201, and may not include other operation buttons, volume knobs, etc. Even in this case, operations such as adjusting the volume of the robot 200 can be performed using an external smartphone or the like connected via the communication unit 130.
[0032] Next, of the data stored in the storage unit 120, the log data 121, the sleep data 122, and the alarm control data 123, which are characteristic of this embodiment, will be described in order.
[0033] As shown in FIG. 4, the log data 121 is data that records the timing when the processing unit 110 transitioned the robot 200 into a sleep state based on an external stimulus detected by the sensor unit 210 (date and time when the sleep state was turned ON) and the timing when the robot 200 was returned to a normal state (date and time when the sleep state was turned OFF).
[0034] As shown in FIG. 5, the sleep data 122 is recorded data related to the user's sleep (start time of sleep, end time of sleep, sleep duration, time until the user performs an operation to stop the alarm (stop time), information on whether or not it is a nap (nap), etc.) calculated by the processing unit 110 based on the log data 121.
[0035] As shown in FIG. 6, the alarm control data 123 is data calculated by the processing unit 110 based on the sleep data 122, such as data on the time at which the robot 200 is to be woken up (such as the user's average bedtime, average wake-up time, average sleep time, and average downtime), and is recorded for each date attribute (day of the week, holiday, etc.).
[0036] Next, the log recording process executed by the processing unit 110 of the device control device 100 will be described with reference to the flowchart shown in Fig. 7. The log recording process is a process in which the device control device 100 records in a log the timing at which the robot 200 is put into a sleep state or returned to a normal state based on the detection value from the sensor unit 210, etc. When the user turns on the power of the robot 200, the thread for this log recording process starts to be executed in parallel with other processes of the robot 200 (e.g., robot control process, etc.).
[0037] In addition, the robot control process, which starts to be executed in parallel with other processes when the robot 200 is turned on, is a process in which the processing unit 110 expresses the movement of the robot 200 and outputs sounds such as cries by controlling the driving unit 220 and the output unit 230 based on the detection value from the sensor unit 210. For details of this robot control process, please refer to, for example, Japanese Patent Application Laid-Open No. 2021-69767, and the like. The details will be omitted here, and the log recording process will be described below.
[0038] First, the processing unit 110 resets the timer value of the timer function to 0 (step S101). Next, the processing unit 110 acquires a value (sensor value) detected by the sensor unit 210 (step S102). If there is any external stimulus, it is reflected in the sensor value, and the sensor values acquired here are the detection values from the touch sensor 211, the acceleration sensor 212, the illuminance sensor 214, and the gyro sensor 215.
[0039] Then, the processing unit 110 judges whether or not the sensor value acquired in step S102 satisfies the sleep release condition (step S103). The user can arbitrarily set a desired condition in advance as the sleep release condition, but here it is assumed that the sleep release condition is set to be satisfied when an external stimulus such as "the robot 200 is lifted with its head 204 facing up" or "the robot 200 is moved a certain distance or more" is detected. Therefore, when the acceleration sensor 212 detects that the robot 200 is lifted with its head 204 facing up or that the robot 200 has moved a certain distance or more, the sleep release condition is satisfied.
[0040] If the sleep release condition is satisfied (step S103; Yes), the processing unit 110 resets the timer value (step S104). Then, the processing unit 110 judges whether the robot 200 is in a sleep state or not (step S105). If the robot 200 is not in a sleep state (step S105; No), it means that the robot 200 is already in a normal state, so the processing unit 110 returns to step S102.
[0041] If the robot 200 is in the sleep state (step S105; Yes), the processing unit 110 transitions the robot 200 to the normal state (step S106). Then, the processing unit 110 records the date and time and the fact that the sleep state is OFF as log data 121 in the storage unit 120 (step S107), and returns to step S102.
[0042] On the other hand, if the sleep release condition is not satisfied in step S103 (step S103; No), the processing unit 110 judges whether the timer value exceeds the sleep threshold and whether the sleep condition is satisfied (step S108). The sleep threshold can be set arbitrarily by the user in advance, but is set to 10 minutes, for example, here. The sleep condition can also be set arbitrarily by the user in advance, but is satisfied here when the surroundings are dark and the user has not touched the robot 200 or lifted or moved the robot 200 for a period of time equal to or longer than the sleep threshold. Therefore, the sleep condition is satisfied when the illuminance sensor 214 detects that the surroundings are dark and the touch sensor 211, the acceleration sensor 212, and the gyro sensor 215 detect nothing (more precisely, nothing other than gravitational acceleration is detected) for 10 minutes or more.
[0043] If the timer value is equal to or less than the sleep threshold value or if the sleep condition is not satisfied (step S108; No), the processing unit 110 returns to step S102.
[0044] On the other hand, if the timer value is greater than the sleep threshold and the sleep condition is satisfied (step S108; Yes), the processing unit 110 judges whether the robot 200 is in a normal state (step S109). If the robot 200 is not in a normal state (step S109; No), this means that the robot 200 is already in a sleep state, and the processing unit 110 returns to step S102.
[0045] If the robot 200 is in the normal state (step S109; Yes), the processing unit 110 causes the robot 200 to transition to a sleep state (step S110). Then, the processing unit 110 records the date and time and that the sleep state is ON as log data 121 in the storage unit 120 (step S111), and returns to step S102.
[0046] Through the above log recording process, log data 121, which is a history of the sleep state of the robot 200, is recorded in the storage unit 120 in a format such as that shown in Fig. 4. Since the robot 200 exists beside the user as a pet robot, it is assumed that the robot 200 goes into a sleep state when the user goes to sleep, and goes into a normal state when the user wakes up. Therefore, data related to the user's sleep (sleep data 122) can be calculated based on the log data 121.
[0047] In the log recording process, it is not always necessary to record the ON / OFF of the sleep state of the robot 200. For example, it is possible to have the user wear a bioinformation detection device (e.g., a wristwatch with a built-in biosensor) equipped with a biosensor (a sensor that detects the user's bioinformation such as pulse rate), and if it is determined that the user is asleep based on a signal from the bioinformation detection device, to record "sleep state ON" in the log data 121 together with the date and time to mean that "the user has gone to sleep", and if it is determined that the user has woken up based on the signal from the bioinformation detection device, to record "sleep state OFF" in the log data 121 together with the date and time to mean that "the user has woken up".
[0048] In addition, even if the user does not wear the biometric information detection device, when the microphone 213 detects the user's breathing, "sleep state ON" may be recorded in the log data 121 together with the date and time to mean that "the user has gone to sleep", and when the microphone 213 detects the user's voice saying "Good morning" or the like, "sleep state OFF" may be recorded in the log data 121 together with the date and time to mean that "the user has woken up".
[0049] Next, a sleep data calculation process in which the processing unit 110 calculates data related to the user's sleep (sleep data 122) based on the log data 121 will be described with reference to Fig. 8. The sleep data calculation process starts when the processing unit 110 transitions the robot 200 from the sleep state to the normal state (after recording the log data).
[0050] First, the processing unit 110 acquires the calculation date (step S201). This calculation date is usually the date on which the sleep data calculation process was performed. However, if the sleep data calculation process has not been performed for more than one day, the calculation date is the date on which the sleep data calculation process was last performed (the date on which the sleep data was last recorded in the sleep data 122), and thereafter, each time the processing unit 110 returns to step S201 from step S207 described below, the calculation date is advanced by one day.
[0051] Then, the processing unit 110 refers to the log data 121 to obtain the sleep start time of the calculation date (step S202). This sleep start time is obtained as the time when the sleep state is "ON" in the log data 121 of the calculation date. However, if the sleep state of the first log data 121 of the calculation date is "OFF", the time when the sleep state was last "ON" in the log data 121 of the day before the calculation date is obtained as the sleep start time of the calculation date.
[0052] Next, the processing unit 110 refers to the log data 121 to obtain the sleep end time of the calculation date (step S203). This sleep end time is obtained as the time when the sleep state is "OFF" in the log data 121 of the calculation date. Then, the processing unit 110 calculates the difference between the sleep end time and the sleep start time as the sleep time (step S204).
[0053] Then, the processing unit 110 judges whether all the sleep times for the calculation day have been calculated (step S205). If all the sleep times have not been calculated yet (step S205; No), the processing unit 110 returns to step S202. For example, if the user takes a nap, the sleep start time and sleep end time will each occur multiple times in one day, and therefore multiple sleep times will be calculated. However, the processing unit 110 may ignore sleeps with sleep times less than a nap judgment threshold (e.g., 15 minutes) (not judge that such sleep has occurred).
[0054] When all the sleep times for the calculation day have been calculated (step S205; Yes), the processing unit 110 records the sleep start time and sleep end time of the longest sleep time among the sleep times for the calculation day as the bedtime and wake-up time for the calculation day in the sleep data 122, and records the sleep start time and sleep end time of the other sleep times as the nap start time and end time for the calculation day in the sleep data 122 (step S206). Note that since naps may be taken more than once in a day, the processing unit 110 numbers the naps in the sleep data 122 in order of the earliest start time, starting from 1, so that each nap can be distinguished.
[0055] Then, the processing unit 110 records the total of all the times calculated as the sleeping time of that day as the sleeping time of the calculation day in the sleep data 122 (step S207). For example, if on a certain day the user goes to bed at 0:00, wakes up at 6:00, and takes a nap from 12:30 to 13:00, the sleeping time of that day is calculated as 6 hours + 30 minutes, which is 6 hours and 30 minutes.
[0056] Then, the processing unit 110 determines whether or not the log data 121 for the day following the calculation day exists (step S208). If the log data 121 for the day following the calculation day exists (step S208; Yes), the processing unit 110 returns to step S201, advances the calculation day by one, and repeats the calculation of the sleep data 122.
[0057] If the log data 121 for the next day does not exist (step S208; No), the sleep data calculation process ends. By the above sleep data calculation process, the sleep data 122 is recorded in the storage unit 120.
[0058] For example, assume that the sleep data calculation process is started when the robot 200 transitions to the normal state at 18:00 on October 30, and that the log data 121 (however, data up to October 30) as shown in Fig. 4 has been recorded by that time. In this case, the sleep time starting at 0:00 on October 30 is 5 hours and 20 minutes, the sleep time starting at 12:40 is 20 minutes, and the sleep time starting at 17:30 is 30 minutes.
[0059] The start time (0:00) of the longest sleep time (5 hours and 20 minutes) among these becomes the bedtime on October 30th, and the end time (5:20) becomes the wake-up time on October 30th. Then, a 20-minute nap (first nap) starts at 12:40 on October 30th, and a 30-minute nap (second nap) starts at 17:30, and the sleep times of these naps (20 minutes and 30 minutes) are added to the longest sleep time (5 hours and 20 minutes), resulting in "6 hours and 10 minutes," which are recorded in the sleep data 122 as the sleep time on October 30th.
[0060] As a result, for the longest sleep duration (5 hours and 20 minutes) on October 30th, 0:00 (as the time of going to bed) is recorded as the start time, 5:20 (as the time of waking up) is recorded as the end time, and 6 hours and 10 minutes is recorded as the sleep duration, as shown in Figure 5. Also, in order to be able to distinguish which nap a particular nap is, as shown in Figure 5, a "1" is recorded in the "nap" field of the sleep data 122 corresponding to the first nap, and a "2" is recorded in the "nap" field of the sleep data 122 corresponding to the second nap.
[0061] 5, the "stop time" is also recorded in the sleep data 122, but this is recorded in the alarm process described later. Before the alarm process is executed, nothing is recorded in the "stop time" of the sleep data 122.
[0062] Next, the alarm control data calculation process, which is a process for calculating the alarm control data 123 based on the sleep data 122, will be described with reference to Fig. 9. The alarm control data calculation process starts execution every time the processing unit 110 finishes execution of the sleep data calculation process.
[0063] First, the processing unit 110 determines whether the amount of sleep data 122 exceeds an accumulation threshold (e.g., about two weeks to about one month) (step S301). Specifically, the processing unit 110 determines whether the amount of sleep data 122 is greater than a preset accumulation threshold (e.g., 30 days).
[0064] If the amount of sleep data 122 is equal to or less than the accumulated days threshold (step S301; No), processing unit 110 determines that alarm control data 123 cannot yet be calculated, and ends the alarm control data calculation process.
[0065] If the amount of data in the sleep data 122 exceeds the accumulated days threshold (step S301; Yes), the processing unit 110 calculates the average bedtime for each day of the week and holiday based on the data accumulated in the sleep data 122 (step S302).
[0066] Specifically, processing unit 110 calculates the average bedtime on holidays by averaging the sleep start times of the longest sleep times on each holiday among the data stored in sleep data 122. Processing unit 110 also calculates the average bedtime on each day of the week other than holidays by averaging the sleep start times of the longest sleep times on each day of the week other than holidays among the data stored in sleep data 122. For example, if November 3rd is a Tuesday and a holiday, processing unit 110 uses the sleep start time on November 3rd to calculate the average bedtime on holidays, but does not use it to calculate the average bedtime on Tuesdays.
[0067] Next, processing unit 110 calculates the average wake-up time for each day of the week and holiday based on the data accumulated in sleep data 122 (step S303). Specifically, processing unit 110 calculates the average wake-up time for that day of the week / holiday by averaging the sleep end times of the longest sleep duration for each day of the week / holiday from the data accumulated in sleep data 122. Note that, similar to when calculating the average bedtime, for example, if November 3rd is a Tuesday and a holiday, processing unit 110 uses the sleep end time for November 3rd to calculate the average wake-up time for holidays, but does not use it to calculate the average wake-up time for Tuesdays.
[0068] Then, processing unit 110 calculates the average sleep time for each day of the week and holiday based on the data accumulated in sleep data 122 (step S304). Specifically, processing unit 110 calculates the average sleep time for that day / holiday by averaging the sleep times (total sleep times for that day) for each day of the week / holiday from the data accumulated in sleep data 122. Note that, similar to when calculating the average bedtime, for example, if November 3rd is a Tuesday and a holiday, processing unit 110 uses the sleep time on November 3rd to calculate the average sleep time for holidays, but does not use it to calculate the average sleep time for Tuesdays.
[0069] Next, the processing unit 110 calculates the average stop time for each day of the week and holiday based on the data stored in the sleep data 122 (step S305). Specifically, the processing unit 110 calculates the average stop time for that day of the week / holiday by averaging the stop times for each day of the week / holiday among the data stored in the sleep data 122. As in the case of calculating the average bedtime, for example, if November 3rd is a Tuesday and a holiday, the processing unit 110 uses the stop time for November 3rd to calculate the average stop time for holidays, but does not use it to calculate the average stop time for Tuesdays. Furthermore, since the stop time is not recorded unless the wake-up process described later is performed, the processing unit 110 calculates the average stop time using only the stop times that have already been recorded.
[0070] Then, the processing unit 110 stores the calculated average bedtime, average wake-up time, average sleep time, and average stop time in the storage unit 120 as the alarm control data 123 (step S306), and ends the alarm control data calculation process.
[0071] By the above-described alarm control data calculation process, the alarm control data 123 is stored in the storage unit 120 as shown in FIG.
[0072] If no holiday data is included in the sleep data 122, the processing unit 110 uses the Sunday data as holiday data as well and stores it as the alarm control data 123.
[0073] In addition, in the alarm control data calculation process shown in Fig. 9 and the alarm control data 123 shown in Fig. 6, the average value is used as the representative value of each time (bedtime, wake-up time, sleep time, stop time), but it is not necessary to use the average value. For example, the median or most frequent value (the most frequent value in 1-minute units) of each time may be used. In addition, when using the most frequent value, the most frequent value may be first obtained in a time width of a first period (e.g., 10 minutes), and then the most frequent value in 1-minute units is obtained again within the most frequent period and used as the representative value. In this way, the most frequent value may be obtained by dividing the time width into a plurality of stages, and the representative value obtained may be used.
[0074] Processing unit 110 may also obtain the variance of each time (start time, end time), and if the variance value exceeds a certain reference threshold, it may determine that no regularity can be found for that time and may not record a representative value (average value) for that time in alarm control data 123. If the representative value is not recorded in alarm control data 123, processing unit 110 may not execute the alarm function or notification function corresponding to that time (the function may be turned off) in the alarm processing and notification processing described below. For example, if the variance value of the wake-up times on Sundays exceeds a reference threshold, the automatic alarm function may not be executed for the wake-up times on Sundays.
[0075] Next, the alarm processing in which the alarm time is automatically set based on the alarm control data 123 will be described with reference to Fig. 10. Every day at 0:00, i.e., when the day changes, the thread for this alarm processing starts to run (it runs in parallel with other threads).
[0076] First, the processing unit 110 judges whether the alarm control data 123 has been calculated (step S401). If the alarm control data 123 has not been calculated (step S401; No), the alarm process ends.
[0077] If the alarm control data 123 has been calculated (step S401; Yes), the processing unit 110 acquires today's day of the week / holiday (step S402). Then, the processing unit 110 sets the alarm time (step S403). Specifically, the processing unit 110 refers to the alarm control data 123 and sets the average wake-up time for the day of the week / holiday acquired in step S402 as the alarm time.
[0078] Next, the processing unit 110 judges whether or not the current time is the alarm time by the clock function (step S404). If the current time is not the alarm time (step S404; No), the processing returns to step S404.
[0079] If the current time is the alarm time (step S404; Yes), the processing unit 110 sets the number of snoozes (for example, 2 times) to the variable S and sets the snooze time (for example, 5 minutes after the alarm time) (step S405). Note that the number of snoozes and the snooze time can be freely set by the user in advance.
[0080] Next, the processing unit 110 sets the alarm operation mode (step S406). Specifically, in setting the initial alarm operation mode, the processing unit 110 refers to the alarm control data 123, acquires the average stop time for the day of the week / holiday acquired in step S402, and sets the alarm operation mode according to the acquired average stop time.
[0081] For example, if there is no data on the average stop time, the medium operation mode (a medium volume cry and a medium speed alarm) is set. If the average stop time is less than a first time threshold (e.g., 1 minute), the small operation mode (no cry and a small, slow alarm) is set. If the average stop time is equal to or greater than the first time threshold and less than a second time threshold (e.g., 3 minutes), the average operation mode is set. If the average stop time is equal to or greater than the second time threshold, the large operation mode (a loud cry and a large, fast alarm) is set.
[0082] When returning from step S413 to step S406 to set the alarm operation mode, the processing unit 110 increases the operation mode according to the alarm duration (the time from when the alarm operation first starts). Specifically, if the alarm operation was initially started in the low operation mode, the operation mode is changed to the medium operation mode when the alarm duration becomes equal to or greater than the first time threshold, and the operation mode is changed to the high operation mode when the alarm duration becomes equal to or greater than the second time threshold. If the alarm operation was initially started in the medium operation mode, the operation mode is changed to the high operation mode when the alarm duration becomes equal to or greater than the second time threshold.
[0083] Then, the processing unit 110 executes an alarm operation by controlling the driving unit 220 and the speaker 231 in the alarm operation mode set in step S406 (step S407). The alarm operation is an operation in which, when the alarm time comes, the robot 200 moves restlessly by the driving unit 220 and makes a cry through the speaker 231. This alarm operation allows the user to wake up naturally without feeling uncomfortable.
[0084] Then, the processing unit 110 judges whether or not an alarm stop operation has been performed (step S408). Any operation can be specified as the alarm stop operation, but in this embodiment, it is judged that the alarm stop operation has been performed when the user lifts the head of the robot 200 or moves the robot 200 by a certain distance or more.
[0085] If the user performs an alarm stop operation (step S408; Yes), the processing unit 110 stops the alarm operation in response to the alarm stop operation (step S409). Then, the processing unit 110 records the time from the start of the alarm operation to the user performing the alarm stop operation as the stop time in the alarm control data 123 (step S410), and ends the alarm processing.
[0086] If the user has not performed an alarm stop operation (step S408; No), the processing unit 110 judges whether the value of the variable S, in which the remaining number of snoozes is set, is 1 or more (step S411). If the value of the variable S is 0 (step S411; No), the processing unit 110 proceeds to step S410. However, in this case, since the alarm stop operation has not yet been performed, a sufficiently large value such as "10 hours" is recorded in the alarm control data 123 as the stop time in step S410.
[0087] If the value of the variable S is 1 or more (step S411; Yes), the processing unit 110 judges whether the current time is the snooze time or not (step S412). If the current time is not the snooze time (step S412; No), the processing returns to step S408.
[0088] If it is the snooze time (step S412; Yes), the processing unit 110 decrements the value of the variable S by 1, updates the snooze time (for example, sets it to 5 minutes later) (step S413), and returns to step S406.
[0089] By performing the above-described alarm processing, the device control device 100 can wake up the user at an appropriate time with an appropriate operation, even if the user does not set an alarm time.
[0090] In the above-mentioned alarm process, each day of the week / holiday is distinguished, and the average wake-up time for that day / holiday is set as the alarm time. However, some days of the week may be treated as a group without distinction. For example, Monday through Friday may be treated as weekdays without distinction, and Saturday, Sunday, and holidays may be treated as holidays without distinction. In this case, the alarm time for weekdays is set to the average of all the wake-up times for Monday through Friday, and the alarm time for holidays is set to the average of all the wake-up times for Saturday, Sunday, and holidays.
[0091] The device control device 100 may also have a conventional normal alarm function in which the user sets the alarm time in advance. However, since the device control device 100 does not have a display screen, the alarm function is set using an application program of a smartphone connected via the communication unit 130. An example of an alarm function setting screen 301 in the smartphone application program is shown in FIG. 11. When the user wants to set the alarm time by himself, he turns on the alarm toggle switch 311 and sets the alarm time 313, as shown in FIG. 11.
[0092] In the example shown in FIG. 11, the user can set a toggle switch 311 for alarm ON / AUTO / OFF, the number of snoozes 312 (snooze OFF if 0), the alarm time 313, alarm ON / OFF for each day of the week, the alarm mode (strength of the robot 200's movement when the alarm sounds, etc.), ON / OFF of the robot 200's cry when the alarm sounds, etc. from a setting screen 301 displayed on the smartphone, and by sending these to the device control device 100, the user can input various setting values for the alarm function to the device control device 100.
[0093] 11 shows the setting screen 301 when the toggle switch 311 for the alarm is set to "ON", but when the toggle switch 311 is set to "automatic", a setting screen 302 as shown in Fig. 12 is displayed. This screen does not include settings for the alarm time, but displays the number of days of data accumulation 321 (the number of days of accumulation of sleep data 122), automatic alarm 322 (indicating whether the automatically set alarm function is ON or not; it is OFF if the number of days of data accumulation 321 is equal to or less than the accumulation number of days threshold (e.g. 30 days) and is ON when it exceeds the accumulation number of days threshold), automatic alarm setting time 323 for each day of the week / holiday (average wake-up time of the alarm control data 123), etc.
[0094] Additionally, "Weekday 5:46" is listed in the automatic alarm setting time 323, but this is the average of all wake-up times for the days of the week set in the weekday setting 324 displayed above it ("Mon. Tues. Wed. Thurs. Fri." in the example in FIG. 12), and indicates that these are treated collectively as "weekdays." If nothing is set in the weekday setting 324, each day of the week is treated separately, but the days set in the weekday setting 324 have their average wake-up times and are treated collectively. By doing this, the alarm time for the days combined in the weekday setting 324 can be made as consistent as possible.
[0095] Although not shown in FIG. 12, similar to the weekday setting 324, the holiday setting may be configured to set a plurality of days of the week / holidays that are collectively treated as "holidays" (for example, "Saturday and Sunday" and holidays).
[0096] Next, a notification process for notifying the user that bedtime is approaching in a natural way based on the alarm control data 123 will be described with reference to Fig. 13. Every day, when the robot 200 first transitions to the normal state (i.e., when the user is considered to have woken up), the thread for this notification process starts to be executed (in parallel with other threads).
[0097] First, the processing unit 110 judges whether the alarm control data 123 has been calculated (step S501). If the alarm control data 123 has not been calculated (step S501; No), the notification process ends.
[0098] If the alarm control data 123 has been calculated (step S501; Yes), the processing unit 110 acquires today's day / holiday (step S502). Then, the processing unit 110 refers to the alarm control data 123 to acquire the average bedtime and average sleep time for the day / holiday acquired in step S402 (step S503). The acquired average bedtime is also called the activation reference time because it is the reference time for determining the time to activate the drowsiness notification operation described below. The acquired average sleep time is also called the reference sleep time because it is the reference time for determining whether to activate the drowsiness notification operation.
[0099] Next, the processing unit 110 refers to the sleep data 122 to obtain the sleep time of today (step S504), and determines whether the sleep time of today is shorter than the average sleep time by a sleep time threshold value (e.g., 1 hour) or more (step S505). If the sleep time is not shorter than the sleep time threshold value (step S505; No), the processing unit 110 proceeds to step S507.
[0100] If the sleep time is shorter than the sleep time threshold (step S505; Yes), it is considered that the user is sleep deprived, and the processing unit 110 causes the robot 200 to execute a sleepiness notification action (step S506). The sleepiness notification action is an action that notifies the user that sleepiness is occurring due to lack of sleep or approaching bedtime, and is an action that imitates yawning or dozing off. For example, the processing unit 110 causes the driving unit 220 to perform an action as if the robot 200 is yawning (lifting the head 204 up or opening the mouth wide (if the robot 200 can open its mouth)), output the sound of yawning from the speaker 231, or perform an action as if the robot 200 is dozing off (moving the head 204 up and down slowly).
[0101] Then, the processing unit 110 judges whether or not bedtime is near (step S507). Specifically, if the time from the current time to the average bedtime is less than or equal to a bedtime threshold (e.g., 1 hour), the processing unit 110 judges that bedtime is near. If bedtime is not near (step S507; No), the processing unit 110 waits for a predetermined time (e.g., 30 minutes) (step S508) and returns to step S505.
[0102] If it is near bedtime (step S507; Yes), the user is about to become sleepy, so the processing unit 110 causes the robot 200 to execute a drowsiness notification operation (step S509). Then, the processing unit 110 determines whether the robot 200 is in a sleep state (step S510). If it is in a sleep state (step S510; Yes), the processing unit 110 determines that the robot 200 has transitioned to a sleep state as the user has gone to bed, and ends the notification process.
[0103] If the device is not in a sleep state (step S510; No), the processing unit 110 proceeds to step S508, and after waiting for a predetermined time, repeats the process from step S505. Note that the waiting time in step S508 when the determination in step S507 is No (the time interval for performing the drowsiness notification operation in the case of lack of sleep) and the waiting time in step S508 when the determination in step S510 is No (the time interval for performing the drowsiness notification operation when bedtime is approaching) may be set to different values.
[0104] Through the above notification process, the device control device 100 can notify the user that he or she is not getting enough sleep or that bedtime is approaching, with a natural movement that is typical of a pet robot.
[0105] (Variation 1) In the above embodiment, the alarm time is automatically set to the wake-up time corresponding to the longest sleep time, but the alarm time may also be automatically set to the end time of a short sleep time (nap). A first modified example having such an automatic nap alarm function will be described.
[0106] The device control device 100 according to the first modification stores in the storage unit 120 nap alarm control data 124 (for example, data as shown in FIG. 14) calculated by a nap alarm control data calculation process described below.
[0107] The nap alarm control data calculation process starts to be executed every time the processing unit 110 finishes executing the sleep data calculation process, similar to the above-described alarm control data calculation process shown in Fig. 9. The flow of the nap alarm control data calculation process is also similar to that of the alarm control data calculation process.
[0108] However, in steps S302 to S305 of the alarm control data calculation process (FIG. 9), the processing unit 110 calculates the average for "each day of the week and holiday", but in the nap alarm control data calculation process, the average is calculated for "each nap group" instead of "each day of the week and holiday". A nap group is a group of naps that occur on the same day of the week and have the same number of naps on that day. For example, data for the nap group "Tuesday 1" in the nap alarm control data 124 is the average start time, end time, and sleep duration of the first nap on Tuesday.
[0109] Then, in step S306 of the alarm control data calculation process (Figure 9), the processing unit 110 stores the calculated average value in the memory unit 120 as the alarm control data 123, whereas in the nap alarm control data calculation process, the processing unit 110 stores the calculated average value in the memory unit 120 as the nap alarm control data 124.
[0110] By this nap alarm control data calculation process, nap alarm control data 124 is stored in storage unit 120 as shown in FIG.
[0111] 15, a description will be given of the nap alarm process, which automatically sets the alarm time for a nap based on the nap alarm control data 124. As with the above-described alarm process, the thread for this alarm process starts to run at 0:00 every day, i.e., when the day changes (it runs in parallel with other threads).
[0112] First, the processing unit 110 determines whether the nap alarm control data 124 has been calculated (step S451). If the nap alarm control data 124 has not been calculated (step S451; No), the nap alarm process ends.
[0113] If nap alarm control data 124 has been calculated (step S451; Yes), processing unit 110 acquires today's day of the week / holiday (step S452). Then, processing unit 110 sets the alarm time (step S453). Specifically, processing unit 110 refers to nap alarm control data 124 and sets the average end time of the first nap group on the day of the week / holiday acquired in step S452 as the alarm time.
[0114] Steps S454 to S459 and steps S461 to S463 are similar to steps S404 to S409 and steps S411 to S413 in the alarm processing (FIG. 10), and therefore a description thereof will be omitted. However, when step S456 is executed for the first time, the processing unit 110 refers to the nap alarm control data 124, obtains the average stop time of the first nap group on the day of the week / holiday obtained in step S452, and sets the alarm operation mode according to the obtained average stop time.
[0115] In step S464, the processing unit 110 records the time from the start of the alarm operation to the user's operation to stop the alarm as the stop time in the nap alarm control data 124. Then, the processing unit 110 determines whether or not the next nap group for that day exists in the nap alarm control data 124 (step S465).
[0116] If the next nap group exists (step S465; Yes), the processing unit 110 returns to step S453 and sets the average end time of the next nap group as the alarm time.
[0117] If the next nap group does not exist (step S465; No), the processing unit 110 ends the nap alarm process.
[0118] By the above-described nap alarm process, the device control device 100 according to the first modification can wake up the user with an appropriate operation at the time when the user must wake up from a nap, even if the user does not set an alarm time.
[0119] The date attribute information used in calculating the alarm control data 123 and the nap alarm control data 124 may be updated as appropriate to accommodate the establishment of new holidays and the abolition or movement of holidays.
[0120] (Variation 2) In addition, for example, by applying the technology described in JP 2021-69767 A, the device control device 100 may be given pseudo-emotions and personalities, and when an alarm is activated, the operation content of the alarm operation may be changed based on the pseudo-emotions and personalities of the device control device 100 at that time. For example, when the pseudo-emotion is "irritation," the first time threshold and the second time threshold are made shorter than normal (when the pseudo-emotion is "normal"), and a relatively loud cry is made even in the medium operation mode, and a very loud cry is made in the large operation mode.
[0121] (Variation 3) In the above-described embodiment and modified example, 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. 16, 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 modified example, 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 and controls the drive unit 220 and the output unit 230 via the communication unit 130 and the communication unit 270.
[0122] 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.
[0123] (Variation 4) In the above-described embodiment and modified example, 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 a robot, and a wristwatch or the like is also conceivable. For example, the device to be controlled may be a wristwatch equipped with a buzzer as the output unit 230, a vibrator as the drive unit 220, and an acceleration sensor as the sensor unit 210. In this case, the device control device can perform control such as transitioning to a sleep state or a normal state based on acceleration detected by the acceleration sensor as an external stimulus, and waking up the user with a buzzer or vibrator.
[0124] In this way, the device control devices 100 and 101 can be applied to various devices, not just robots. By applying the device to various devices, an alarm function in which the alarm time is automatically set can be realized in the device.
[0125] (Variation 5) In the above-described embodiment and modified examples, the processing unit 110 records information related to the user's sleep in the log data 121, but the information recorded in the log data 121 is not limited to information related to sleep. While the user lives daily with the robot 200, the robot 200 may record information that it periodically detects as an external stimulus (for example, illuminance and sound when the curtains are opened, illuminance and sound when the curtains are closed, illuminance and sound in the kitchen when boiling water, etc.) in the log data 121.
[0126] In this case, the time to open and close the curtains, the time to boil water, etc. are stored in the log data 121, and by using this log data 121, the device control device 100 can issue messages to the user such as "Aren't you going to open the curtains today?", "Shouldn't you close the curtains soon?", "You boiled the water earlier than usual today," etc. Therefore, if the user forgets a habitual action, the robot 200 can tell him / her, which leads to preventing forgetfulness and careless mistakes.
[0127] (Effects, etc.) As described above, the processing unit 110 sets the activation time based on data relating to the user's sleep, so that the user does not need to set the activation time in advance and the device can be activated at an appropriate time.
[0128] Furthermore, since the processing unit 110 estimates the user's bedtime and wake-up time, the alarm can be activated at an appropriate time even if the user does not set the wake-up time in advance.
[0129] Furthermore, since the processing unit 110 sets the activation time based on the representative value of wake-up times with the same date attribute, the alarm can be activated at an appropriate time in response to changes in the user's wake-up time for each day of the week.
[0130] In addition, the processing unit 110 changes the content of the alarm action based on the time taken to stop the user's previous alarm action, so that if it is expected that the user will wake up soon, it can wake the user up with a small stimulus, and conversely, if it is expected that the user will take a long time to wake up, it can wake the user up with a large stimulus.
[0131] Furthermore, since the processing unit 110 sets the operation reference time based on the representative value of bedtimes with the same date attribute, it is possible to execute the drowsiness notification operation at an appropriate time in response to changes in the user's bedtime for each day of the week. Therefore, the device control device 100, 101 can naturally inform the user that it is almost time to go to bed by making the robot 200, 209 yawn, etc.
[0132] Furthermore, the processing unit 110 can execute a drowsiness notification operation when it is determined that the user is sleep-deprived by comparing the average sleep time with the sleep time of the day. Therefore, the device control device 100, 101 can naturally inform the user that the user is sleep-deprived today and that it may be better to take a nap by making the robot 200, 209 yawn, etc.
[0133] 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.
[0134] 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.
[0135] 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.
[0136] 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).
[0137] 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.
[0138] (Appendix 1) Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; setting an activation time, which is a time when the device is activated, based on the estimated user information; A processing unit is provided. Equipment control device.
[0139] (Appendix 2) The processing unit includes: As the information of the user, sleep data related to the sleep of the user is estimated. 2. A control device for the device described in Appendix 1.
[0140] (Appendix 3) The processing unit includes: The time when the external stimulus data satisfies a sleep condition is estimated as the bedtime of the user; A time when the external stimulus data satisfies a sleep release condition is estimated as a wake-up time of the user. 2. A control device for the device described in Appendix 2.
[0141] (Appendix 4) The processing unit includes: As the external stimulus data, illuminance information, which is information on illuminance around the device, and acceleration information, which is information on acceleration acting on the device, are acquired; A time when the illuminance information and the acceleration information satisfy the sleep condition is estimated as a bedtime of the user; A time when the acceleration satisfies the sleep release condition is estimated as a wake-up time of the user. 4. A control device for the device described in Appendix 3.
[0142] (Appendix 5) The processing unit includes: storing the estimated wake-up time of the user in association with a date; setting a representative value of the wake-up times having the same associated date attribute among the stored wake-up times as the operation time of the attribute; causing the device to execute an alarm action at the activation time on the date of the attribute; 5. A control device for an apparatus as described in appendix 3 or 4.
[0143] (Appendix 6) The processing unit includes: a stop time, which is a time from when the device executes the alarm operation to when the user stops the alarm operation, is stored in association with the activation time; changing content of the alarm operation when causing the device to execute the alarm operation based on the stop time; 6. A control device for the device described in Appendix 5.
[0144] (Appendix 7) The processing unit includes: When the user does not stop the alarm operation even after an alarm duration, which is a time from when the device is caused to execute the alarm operation, exceeds a time threshold, the content of the alarm operation being executed by the device is changed based on the alarm duration. 7. A control device for the device described in appendix 5 or 6.
[0145] (Appendix 8) The processing unit includes: storing the estimated bedtime of the user in association with a date; setting a representative value of bedtimes among the stored bedtimes for a date having the same attribute as the associated date as an operation reference time to be used as a reference for determining the operation time for the date of the attribute; If the time from the current time to the operation reference time is equal to or less than a bedtime threshold, the device executes a drowsiness notification operation. 8. A control device for an apparatus as described in any one of appendixes 3 to 7.
[0146] (Appendix 9) The processing unit includes: Calculating a user's sleep time based on the estimated bedtime and wake-up time of the user; storing the calculated user's sleep time in association with a date; setting a representative value of the sleep times among the stored sleep times having the same attribute for the corresponding date as a reference sleep time for the date of the attribute; If the sleep time of today is shorter than the reference sleep time by a sleep time threshold or more, the device is caused to execute a drowsiness notification operation. 9. A control device for an apparatus according to any one of claims 3 to 8.
[0147] (Appendix 10) The processing unit: Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; setting an activation time, which is a time when the device is activated, based on the estimated user information; How to control the device.
[0148] (Appendix 11) On the computer, Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; setting an activation time, which is a time when the device is activated, based on the estimated user information; A program that executes a process. [Explanation of symbols]
[0149] 100, 101...Device control device, 110, 260...Processing unit, 120...Memory unit, 121...Log data, 122...Sleep data, 123...Alarm control data, 124...Nap alarm control data, 130, 270...Communication unit, 200, 209...Robot, 201...Exterior, 202...Decorative parts, 203...Hur, 204...Head, 205...Connecting unit, 206...Torso, 207...Housing, 210...Sensor unit, 211...Touch sensor, 212...Acceleration Sensor, 213... microphone, 214... illuminance sensor, 215... gyro sensor, 220... drive unit, 221... twist motor, 222... up and down motor, 230... output unit, 231... speaker, 240... operation unit, 301, 302... setting screen, 311... toggle switch, 312... number of times, 313... alarm time, 321... number of days of data storage, 322... automatic alarm, 323... automatic alarm setting time, 324... weekday setting, BL... bus line
Claims
1. Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; Estimating a wake-up time of the user from the estimated user information; storing the estimated wake-up time of the user in association with a date; causing the device to execute an alarm operation at a time corresponding to an associated date attribute among the stored wake-up times; A processing unit is provided. Equipment control device.
2. Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; Estimating a bedtime of the user from the estimated user information; If the time from the present to the estimated bedtime of the user is equal to or less than a bedtime threshold, cause the device to execute a drowsiness notification operation. A processing unit is provided. Equipment control device.
3. Acquiring the external stimulus data representing the external stimulus acting on the device; Estimating a wake-up time from the estimated user information; Calculating the user's sleep time based on the estimated bedtime and wake-up time of the user; If the sleep time of today is shorter than a reference sleep time by a sleep time threshold or more, the device is caused to execute a drowsiness notification operation. A processing unit is provided. A device control device according to claim 2.
4. The processing unit includes: As the information of the user, sleep data related to the sleep of the user is estimated. A device for controlling an appliance according to any one of claims 1 to 3.
5. The processing unit includes: As the external stimulus data, at least one of illuminance information, which is information on illuminance around the device, and acceleration information, which is information on acceleration acting on the device, is acquired; A time when at least one of the illuminance information and the acceleration information satisfies a sleep condition is estimated as a bedtime of the user. A control device for the device according to claim 2 or 3.
6. The processing unit includes: As the external stimulus data, at least one of illuminance information, which is information on illuminance around the device, and acceleration information, which is information on acceleration acting on the device, is acquired; A time when the illuminance information and / or the acceleration satisfy at least one of a sleep cancel condition is estimated as a wake-up time of the user. A control device for the device according to claim 1 or 3.
7. The processing unit includes: a stop time, which is a time from when the device executes the alarm operation to when the user stops the alarm operation, is stored in association with the alarm operation; changing content of the alarm operation when causing the device to execute the alarm operation based on the stop time; A control device for an appliance according to claim 1.
8. The processing unit includes: When the user does not stop the alarm operation even after an alarm duration, which is a time from when the device is caused to execute the alarm operation, exceeds a time threshold, the content of the alarm operation being executed by the device is changed based on the alarm duration. A control device for the device according to claim 1 or 7.
9. The processing unit: Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; Estimating a wake-up time of the user from the estimated user information; storing the estimated wake-up time of the user in association with a date; executing an alarm operation at a time corresponding to the associated date attribute among the stored wake-up times; How to control the device.
10. The processing unit: Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; Estimating a bedtime of the user from the estimated user information; If the time from the present to the time corresponding to the estimated bedtime of the user is equal to or less than a bedtime threshold, cause the device to execute a drowsiness notification operation. How to control the device.
11. On the computer, Acquire external stimulus data representing an external stimulus acting on the device; Estimating information about a user of the device based on the acquired external stimulus data; Estimating a wake-up time of the user from the estimated user information; storing the estimated wake-up time of the user in association with a date; causing the device to execute an alarm operation at a time corresponding to an associated date attribute among the stored wake-up times; A program that executes a process.
12. On the computer, Acquire external stimulus data representing an external stimulus acting on the device; Estimating a bedtime of the user from the acquired external stimulus data; If the time from the present to the time corresponding to the user's bedtime is equal to or less than a bedtime threshold, cause the device to execute a drowsiness notification operation. A program that executes a process.