Device control system, device control method, and program

The control device uses external stimulus data to estimate wake-up times, addressing the limitations of conventional alarm devices by ensuring timely and comfortable wake-ups based on user behavior.

JP7848848B2Active Publication Date: 2026-04-21CASIO COMPUTER CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CASIO COMPUTER CO LTD
Filing Date
2024-12-05
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Conventional alarm devices require setting a wake-up time range in advance and may fail to wake the user appropriately if the sleep depth does not reach the REM sleep stage within this range.

Method used

A control device that acquires external stimulus data to estimate user information and determines an appropriate wake-up time without pre-setting, using sensors like touch, acceleration, illuminance, and gyro sensors to adjust operations accordingly.

Benefits of technology

Enables operation at the optimal timing by adapting to user behavior, ensuring a comfortable wake-up without requiring advance timing settings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007848848000001
    Figure 0007848848000001
  • Figure 0007848848000002
    Figure 0007848848000002
  • Figure 0007848848000003
    Figure 0007848848000003
Patent Text Reader

Abstract

To allow a device to be activated at appropriate time without having to set activation time in advance.SOLUTION: A device control unit 100 is provided, comprising a processing unit 110 configured to acquire external stimulus data indicative of an external stimulus acting on a device, estimate user information of the device on the basis of the acquired external stimulus data, and set activation time for activating the device according to the estimated user information.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a control device for equipment, a control method for equipment, and a program.

Background Art

[0002] Conventionally, an alarm clock has been used as a device for waking up a user. Many conventional alarm clocks wake up the user by making a loud sound at a specified time. Therefore, in many cases, the user wakes up while feeling uncomfortable with this loud sound. In order to eliminate this discomfort, for example, Patent Document 1 discloses an alarm device that provides a comfortable awakening by vibrating a waking part based on a biological signal.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] The alarm device disclosed in Patent Document 1 continuously detects the sleep depth based on the user's biological signal, and when the sleep depth reaches the REM sleep stage within a preset wake-up time range, the waking part is operated to prompt the user to wake up. However, this alarm device needs to set a wake-up time range in advance, and when the sleep depth does not reach the REM sleep stage within the preset wake-up time range, it cannot prompt the user to wake up.

[0005] Therefore, the present invention has been made in view of such circumstances, and an object thereof is to provide a control device for equipment, a control method for equipment, and a program that can operate the equipment at an appropriate timing without setting the operation timing in advance.

Means for Solving the Problems

[0006] To achieve the above objective, one form of the control device for the device according to the present invention is: We acquire external stimulus data that represents the external stimuli acting on the device. Based on the acquired external stimulus data, the user information of the device is estimated. Information of the estimated user From this, the user's wake-up time is estimated, The estimated wake-up time of the user is stored in association with the date. The device is instructed to perform an alarm operation at the time corresponding to the attribute of the associated date among the stored wake-up times. It is equipped with a processing unit. [Effects of the Invention]

[0007] According to the present invention, the device can be operated at the appropriate timing without having to set the operating timing in advance. [Brief explanation of the drawing]

[0008] [Figure 1] This figure shows the external appearance of the robot according to the embodiment. [Figure 2] This is a cross-sectional view of the robot according to the embodiment, seen from the side. [Figure 3] This is a block diagram showing the functional configuration of a robot according to an embodiment. [Figure 4] This figure shows an example of log data according to the embodiment. [Figure 5] This figure shows an example of sleep data according to the present invention. [Figure 6] This figure shows an example of alarm control data according to the embodiment. [Figure 7] This is a flowchart of the logging process according to the embodiment. [Figure 8] This is a flowchart of the sleep data calculation process according to the embodiment. [Figure 9] This is a flowchart of the alarm control data calculation process according to the embodiment. [Figure 10] This is a flowchart of the alarm process according to the embodiment. [Figure 11]This is a diagram showing an example of an alarm setting screen when the alarm is ON. [Figure 12] This is a diagram showing an example of an alarm setting screen when the alarm is automatic. [Figure 13] This is a flowchart of the notification process according to the embodiment. [Figure 14] This is a diagram showing an example of the afternoon nap wake-up control data according to Modification 1. [Figure 15] This is a flowchart of the afternoon nap wake-up process according to Modification 1. [Figure 16] This is a block diagram showing the control device of the device and the functional configuration of the robot according to Modification 3.

Mode for Carrying Out the Invention

[0009] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.

[0010] (Embodiment) An embodiment in which the control device of the device in the present invention is applied to the robot 200 shown in FIG. 1 will be described with reference to the drawings. The robot 200 according to the embodiment is a small pet robot that is driven by a rechargeable battery and mimics a small animal. As shown in FIG. 1, the robot 200 is covered with an exterior 201 having decorative parts 202 mimicking eyes and fluffy hair . Further, inside the exterior 201, the housing 207 of the robot 200 is housed. As shown in FIG. 2, the housing 207 of the robot 200 is composed of a head 204, a connecting 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 part 205 connects the body part 206 and the head part 204 so as to be rotatable (by the twisting motor 221) about a first rotation axis that passes through the connecting part 205 and extends in the front-rear direction of the body part 206. Also, the connecting part 205 connects the body part 206 and the head part 204 so as to be rotatable (by the up-down motor 222) about a second rotation axis that passes through the connecting part 205 and extends in the width direction of the body part 206. In FIG. 2, an example is shown in which the first rotation axis and the second rotation axis are orthogonal to each other, but the first and second rotation axes may not be orthogonal to each other.

[0012] Also, as shown in FIG. 2, the robot 200 includes a touch sensor 211 in the head part 204 and can detect when a user strokes or taps the head part 204. Also, the body part 2o6 also includes a touch sensor 211 and can detect when a user strokes or taps the body part 206.

[0013] Also, the robot 200 includes an acceleration sensor <unk>212 and a gyro sensor 215 in the body part 206 and can detect the posture of the robot 200 itself, as well as being lifted, turned in orientation, or thrown by a user. Also, the robot 200 includes a microphone 213 in the body part 206 and can detect external sounds. Further, the robot 200 includes a speaker 231 in the body part 206 and can use the speaker 231 to make the robot 200 emit a cry or sing a song.

[0014] Also, the robot 200 includes an illuminance sensor 214 in the body part 206 and can detect the ambient brightness. Since the exterior 201 is made of a material that allows light to pass through, the robot 200 can detect the ambient brightness with the illuminance sensor 214 even when covered by the exterior 201.

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

[0016] Next, the functional configuration of the robot 200 will be described. As shown in Figure 3, the robot 200 comprises a device control unit 100, a sensor unit 210, a drive unit 220, an output unit 230, and an operation unit 240. The device control unit 100 comprises a processing unit 110, a storage unit 120, and a communication unit 130. In Figure 3, the device control unit 100, the sensor unit 210, the drive unit 220, the output unit 230, and the operation unit 240 are connected via a bus line BL, but this is just one example. The device control unit 100, the sensor unit 210, the drive unit 220, the output unit 230, 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). Also, the processing unit 110 may be connected to the storage unit 120 and the communication unit 130 via a bus line BL, etc.

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

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

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

[0020] The communication unit 130 is equipped with a communication module that supports wireless LAN (Local Area Network), Bluetooth (registered trademark), etc., and communicates data with external devices such as smartphones.

[0021] The sensor unit 210 includes the aforementioned touch sensor 211, acceleration sensor 212, microphone 213, illuminance sensor 214, and gyro sensor 215. The processing unit 110 acquires the detection values ​​detected by the various sensors in the sensor unit 210 via the bus line BL as external stimulus data representing external stimuli acting on the robot 200. The sensor unit 210 may also include sensors other than the touch sensor 211, acceleration sensor 212, microphone 213, illuminance sensor 214, and 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, if fewer types of external stimuli are required, the number of sensors may be reduced, in which case the sensor unit 210 only needs to include at least one of the touch sensor 211, acceleration sensor 212, microphone 213, illuminance sensor 214, and gyro sensor 215.

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

[0023] The acceleration sensor 212 detects acceleration in three axes: the front-to-back direction, the width direction (left-to-right direction), and the up-and-down direction of the robot's torso 206. When the robot 200 is stationary, the acceleration sensor 212 detects gravitational acceleration, so the processing unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212.

[0024] Furthermore, for example, if a user lifts or throws the robot 200, the acceleration sensor 212 detects the acceleration due to the movement of the robot 200 in addition to the acceleration due to gravity. Therefore, the processing unit 110 can acquire the detected value from the acceleration sensor 212 as acceleration information, and by removing the component of acceleration due to gravity from this detected value, it can detect the movement of the robot 200. In addition, the processing unit 110 can calculate the movement speed of the robot 200 by integrating the acceleration due to the movement of the robot 200, and can also calculate the distance traveled by 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, that a user is calling out to the robot 200 or clapping their hands.

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

[0027] The gyro sensor 215 detects the angular velocity of the robot 200. Based on the detected value from 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 drive unit 220 includes a twist motor 221 and an up / down motor 222 as movable parts for expressing the movement of the robot 200 (the robot itself). The drive unit 220 (twist motor 221 and up / down motor 222) is driven by the processing unit 110. The twist motor 221 and up / down motor 222 are servo motors and operate to rotate to an instructed angle according to instructions from the processing unit 110. The drive unit 220 may also include other suitable actuators as movable parts, such as a fluid pressure motor. By the processing unit 110 controlling the drive unit 220, the robot 200 can express actions such as lifting the head 204 (rotating it upward around the second rotation axis) or twisting it to the side (twisting and rotating it to the right or left around the first rotation axis). The motion control data for performing these actions is pre-recorded in the storage unit 120.

[0029] The output unit 230 is equipped with 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 robot 200's cry to the output unit 230, the robot 200 emits a simulated cry. This cry data is also recorded in the memory unit 120, and a cry is selected based on detected external stimuli or the alarm operation mode described later. The output unit 230, which is composed of the speaker 231, is also called the sound output unit.

[0030] Furthermore, the output unit 230 may be equipped with a display such as a liquid crystal display, a light-emitting unit such as an LED (Light Emitting Diode), or a vibrator, in place of or in addition to the speaker 231. The processing unit 110 may then perform an alarm function by displaying some image on the display, illuminating the LED, or vibrating the vibrator.

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

[0032] Next, we will describe, in order, the log data 121, sleep data 122, and alarm control data 123, which are characteristic data of this embodiment among the data stored in the memory unit 120.

[0033] As shown in Figure 4, log data 121 is data that records the timing when the processing unit 110 put the robot 200 into sleep mode based on external stimuli detected by the sensor unit 210 (the date and time when sleep mode was turned ON) and the timing when it was returned to normal mode (the date and time when sleep mode was turned OFF).

[0034] As shown in Figure 5, the sleep data 122 is data calculated by the processing unit 110 based on the log data 121, and records data related to the user's sleep (start time of sleep, end time of sleep, sleep duration, time until the user turns off the alarm (stop time), information on whether or not it was a nap (nap), etc.).

[0035] As shown in Figure 6, the alarm control data 123 is data calculated by the processing unit 110 based on the sleep data 122, which includes data such as the time at which the robot 200 should perform the alarm function (average bedtime, average wake-up time, average sleep duration, average rest time, etc.), and is recorded for each date attribute (day of the week, public holidays, etc.).

[0036] Next, the logging process performed by the processing unit 110 of the device's control unit 100 will be explained with reference to the flowchart shown in Figure 7. The logging process is the process by which the device's control unit 100 logs the timing of when it transitions the robot 200 to sleep mode or returns it to normal mode based on detected values ​​from the sensor unit 210, etc. When the user powers on the robot 200, the execution of this logging process thread begins in parallel with other processes of the robot 200 (for example, robot control processes, etc.).

[0037] When the power to the robot 200 is turned on, the robot control process, which starts running in parallel with other processes, is a process in which the processing unit 110 controls the drive unit 220 and output unit 230 based on detected values ​​from the sensor unit 210, etc., to express the movements of the robot 200 and output sounds such as cries. For details of this robot control process, please refer to, for example, Japanese Patent Application Publication No. 2021-69767, and will omit the details here. 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 the value detected by the sensor unit 210 (sensor value) (step S102). When 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, acceleration sensor 212, illuminance sensor 214, and gyro sensor 215, respectively.

[0039] Then, the processing unit 110 determines whether the sensor value acquired in step S102 satisfies the sleep wake-up condition (step S103). The sleep wake-up condition can be arbitrarily set by the user in advance, but here it is set to be satisfied when an external stimulus such as "the head 204 is lifted upwards" or "the robot is moved more than a certain distance" is detected. Therefore, when the acceleration sensor 212 detects that the robot 200 has been lifted upwards with its head 204 or has moved more than a certain distance, the sleep wake-up condition is satisfied.

[0040] If the sleep wake-up condition is met (step S103; Yes), the processing unit 110 resets the timer value (step S104). Then, the processing unit 110 determines whether or not the robot 200 is in sleep mode (step S105). If it is not in sleep mode (step S105; No), it means that it is already in the normal state, so the processing unit 110 returns to step S102.

[0041] If the robot is in sleep mode (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, time, and 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 wake-up condition is not met in step S103 (step S103; No), the processing unit 110 determines whether the timer value exceeds the sleep threshold and whether the sleep condition is met (step S108). The sleep threshold can be arbitrarily set by the user in advance, but here it is set to 10 minutes, for example. The sleep condition can also be arbitrarily set by the user in advance, but here it is assumed to be met 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 longer than the sleep threshold. Therefore, the sleep condition is met when the illuminance sensor 214 detects that the surroundings are dark and nothing is detected by the touch sensor 211, acceleration sensor 212, and gyro sensor 215 for 10 minutes or more (more precisely, nothing is detected except gravitational acceleration).

[0043] If the timer value is below the sleep threshold or the sleep condition is not met (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 met (step S108; Yes), the processing unit 110 determines whether the robot 200 is in a normal state or not (step S109). If it is not in a normal state (step S109; No), it means that it is already in a sleep state, so the processing unit 110 returns to step S102.

[0045] If the robot 200 is in a normal state (step S109; Yes), the processing unit 110 puts the robot 200 into sleep mode (step S110). Then, the processing unit 110 records the date, 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 logging process, log data 121, which is a history of the robot 200's sleep state, is recorded in the memory unit 120 in a format such as shown in Figure 4. As a pet robot, the robot 200 is present beside the user, so it is assumed that the robot 200 enters sleep mode when the user goes to sleep and returns to normal mode 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] It should be noted that logging does not necessarily require recording whether the robot 200 is in sleep mode or not. For example, the user could wear a biometric information detection device (e.g., a wristwatch with a built-in biometric sensor) equipped with a biometric sensor (a sensor that detects the user's biometric information such as pulse rate). If the system determines that the user is asleep based on the signal from the biometric information detection device, it could record "Sleep mode ON" along with the date and time in log data 121 to indicate that "the user has gone to sleep." If the system determines that the user has woken up based on the signal from the biometric information detection device, it could record "Sleep mode OFF" along with the date and time in log data 121 to indicate that "the user has woken up."

[0048] Furthermore, even without requiring the user to wear a biometric information detection device, if the microphone 213 detects the user's breathing while sleeping, "Sleep mode ON" may be recorded in the log data 121 along with the date and time, indicating that "the user has fallen asleep." Conversely, if the microphone 213 detects the user speaking, such as saying "Good morning," "Sleep mode OFF" may be recorded in the log data 121 along with the date and time, indicating that "the user has woken up."

[0049] Next, the 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 explained with reference to Figure 8. The sleep data calculation process is started when the processing unit 110 transitions the robot 200 from sleep state to normal state (after recording the log data).

[0050] First, the processing unit 110 obtains the calculation date (step S201). This calculation date is usually the day 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 becomes the day the sleep data calculation process was last performed (the day the sleep data was last recorded in 122). After that, each time the process returns from step S207 to step S201, as described later, the processing unit 110 advances the calculation date by one day.

[0051] Then, the processing unit 110 refers to the log data 121 to obtain the sleep start time for 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 for the calculation date. However, if the sleep state in the first log data 121 for the calculation date was "OFF", then the time when the sleep state was last "ON" in the log data 121 for the day before the calculation date is obtained as the sleep start time for the calculation date.

[0052] Next, the processing unit 110 refers to the log data 121 to obtain the sleep end time for 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 for the calculation date. Then, the processing unit 110 calculates the difference between the sleep end time and the sleep start time as the sleep duration (step S204).

[0053] The processing unit 110 then determines whether it has calculated all the sleep time for the calculation day (step S205). If it has not yet calculated all of the sleep time (step S205; No), the processing unit 110 returns to step S202. For example, if the user takes a nap, there will be multiple sleep start times and sleep end times in a single day, so multiple sleep times will be calculated. However, the processing unit 110 may ignore sleep with a sleep duration less than a nap threshold (e.g., 15 minutes) (it will not be determined that such sleep occurred).

[0054] Once all sleep times for the calculation day have been calculated (Step S205; Yes), the processing unit 110 records the start and end times of the longest sleep time on the calculation day as the bedtime and wake-up time for the calculation day in the sleep data 122, and records the start and end times of the remaining sleep times as the start and end times of naps for the calculation day in the sleep data 122 (Step S206). Since naps may occur more than once a day, the processing unit 110 numbers the naps from 1 onwards in order of when they started and records them in the sleep data 122 so that each nap can be distinguished.

[0055] Then, the processing unit 110 records the total of all the calculated sleep times for that day in the sleep data 122 as the sleep time for the calculation day (step S207). For example, if a user goes to bed at 0:00 and wakes up at 6:00, and takes a nap from 12:30 to 13:00, the sleep time for that day will be calculated as 6 hours + 30 minutes, resulting in 6 hours and 30 minutes.

[0056] Then, the processing unit 110 determines whether or not log data 121 for the day following the calculation day exists (step S208). If log data 121 for the next day exists (step S208; Yes), the process returns to step S201, advances the calculation day by one, and repeats the calculation of sleep data 122.

[0057] If log data 121 for the following day does not exist (step S208; No), the sleep data calculation process is terminated. Through the above sleep data calculation process, sleep data 122 is recorded in the memory unit 120.

[0058] For example, let's assume that when robot 200 returns to its normal state at 18:00 on October 30th, the sleep data calculation process begins, and by that time, log data 121 (data up to October 30th) as shown in Figure 4 has been recorded. In this case, the sleep time starting at 0:00 on October 30th would be 5 hours and 20 minutes, the sleep time starting at 12:40 would be 20 minutes, and the sleep time starting at 17:30 would be 30 minutes.

[0059] The start time (0:00) of the longest sleep duration (5 hours and 20 minutes) 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. The sleep durations of these naps (20 minutes and 30 minutes) are added to the longest sleep duration (5 hours and 20 minutes), resulting in "6 hours and 10 minutes," which is recorded in sleep data 122 as the total sleep time on October 30th.

[0060] As a result, as shown in Figure 5, the start time (as bedtime) for the longest sleep duration on October 30 (5 hours and 20 minutes) is recorded as 0:00, the end time (as wake-up time) as 5:20, and the sleep duration as 6 hours and 10 minutes. In addition, to distinguish which nap it is, as shown in Figure 5, the "nap" item in sleep data 122 corresponding to the first nap is recorded as "1," and the "nap" item in sleep data 122 corresponding to the second nap is recorded as "2."

[0061] Note that in Figure 5, the "stop time" is also recorded in the sleep data 122, but this is recorded during 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 calculates alarm control data 123 based on sleep data 122, will be explained with reference to Figure 9. This alarm control data calculation process is started each time the processing unit 110 finishes executing the sleep data calculation process.

[0063] First, the processing unit 110 determines whether the amount of sleep data 122 exceeds a data accumulation threshold (for example, from about two weeks to about one month) (step S301). Specifically, the processing unit 110 determines whether the sleep data 122 has accumulated for more than a preset data accumulation threshold (for example, 30 days).

[0064] If the amount of sleep data 122 is below the accumulation day threshold (step S301; No), the processing unit 110 determines that it cannot yet calculate the alarm control data 123 and terminates the alarm control data calculation process.

[0065] If the amount of data in the sleep data 122 exceeds the accumulation day threshold (step S301; Yes), the processing unit 110 calculates the average bedtime for each day of the week and public holiday based on the data accumulated in the sleep data 122 (step S302).

[0066] Specifically, the processing unit 110 calculates the average bedtime for holidays by averaging the sleep start times of the longest sleep durations for each holiday from the data stored in the sleep data 122. It also calculates the average bedtime for each day of the week (excluding holidays) by averaging the sleep start times of the longest sleep durations for each day of the week from the data stored in the sleep data 122. For example, if November 3rd is a Tuesday and a holiday, the processing unit 110 uses the sleep start time for November 3rd to calculate the average bedtime for holidays, but does not use it to calculate the average bedtime for Tuesdays.

[0067] Next, the processing unit 110 calculates the average wake-up time for each day of the week and public holiday based on the data stored in the sleep data 122 (step S303). Specifically, the processing unit 110 calculates the average wake-up time for each day of the week / public holiday by averaging the sleep end times of the longest sleep durations for each day of the week / public holiday from the data stored in the sleep data 122. As with the calculation of the average bedtime, for example, if November 3rd is a Tuesday and a public holiday, the processing unit 110 uses the sleep end time for November 3rd to calculate the average wake-up time for public holidays, but does not use it to calculate the average wake-up time for Tuesdays.

[0068] Then, the processing unit 110 calculates the average sleep time for each day of the week and public holiday based on the data stored in the sleep data 122 (step S304). Specifically, the processing unit 110 calculates the average sleep time for each day of the week / public holiday by averaging the sleep time (total sleep time for that day) for each day of the week / public holiday from the data stored in the sleep data 122. As with the calculation of the average bedtime, for example, if November 3rd is a Tuesday and a public holiday, the processing unit 110 uses the sleep time for November 3rd to calculate the average sleep time for public holidays, but does not use it to calculate the average sleep time for Tuesdays.

[0069] Next, the processing unit 110 calculates the average sleep time for each day of the week and public holiday based on the data stored in the sleep data 122 (step S305). Specifically, the processing unit 110 calculates the average sleep time for each day of the week / public holiday by averaging the sleep times for each day of the week / public holiday from the data stored in the sleep data 122. As with the calculation of the average bedtime, for example, if November 3rd is a Tuesday and a public holiday, the processing unit 110 uses the sleep time for November 3rd to calculate the average sleep time for public holidays, but not to calculate the average sleep time for Tuesdays. Also, since sleep time is not recorded unless the alarm process described later is performed, the processing unit 110 uses only the sleep times that have already been recorded when calculating the average sleep time.

[0070] Then, the processing unit 110 stores the calculated average bedtime, average waketime, average sleep duration, and average sleep stop duration in the storage unit 120 as alarm control data 123 (step S306), and ends the alarm control data calculation process.

[0071] As a result of the alarm control data calculation process described above, the alarm control data 123 is stored in the storage unit 120, for example, as shown in Figure 6.

[0072] If no holiday data exists in the sleep data 122, the processing unit 110 uses Sunday data as holiday data and stores it as alarm control data 123.

[0073] Furthermore, in the alarm control data calculation process shown in Figure 9 and the alarm control data 123 shown in Figure 6, the mean value is used as a representative value for each time (bedtime, wake-up time, sleep time, stop time), but it is not always necessary to use the mean value. For example, the median or mode (mode in one-minute increments) for each time may be used. Also, when using the mode, the mode may be calculated in multiple stages, such as first calculating the mode for a first period (e.g., 10 minutes), then calculating the mode again in one-minute increments within the most frequent period, and using that as the representative value.

[0074] Furthermore, the processing unit 110 may also calculate the variance for each time (start time, end time), and if the variance value exceeds a certain 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 the alarm control data 123. If a representative value is not recorded in the alarm control data 123, the processing unit 110 may, in the alarm processing and notification processing described later, not execute the alarm function or notification function corresponding to that time (the function will be turned OFF). For example, if the variance value for Sunday wake-up times exceeds a threshold, the automatic alarm function may not be executed for Sunday wake-up times.

[0075] Next, the alarm process, which automatically sets the alarm time based on the alarm control data 123, will be explained with reference to Figure 10. Every day at 0:00, that is, when the day changes, the execution of this alarm process thread begins (it runs in parallel with other threads).

[0076] First, the processing unit 110 determines whether or not the alarm control data 123 has already been calculated (step S401). If the alarm control data 123 has not been calculated (step S401; No), the alarm process is terminated.

[0077] If the alarm control data 123 has been calculated (step S401; Yes), the processing unit 110 obtains the day of the week / holiday for today (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 obtained in step S402 as the alarm time.

[0078] Next, the processing unit 110 uses its clock function to determine whether the current time is the alarm time (step S404). If the current time is not the alarm time (step S404; No), the process 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 (e.g., 2 times) to the variable S and sets the snooze time (e.g., 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 to obtain the average stop time for weekdays / holidays acquired in step S402, and sets the alarm operation mode according to the acquired average stop time.

[0081] For example, if data on average stop time is unavailable, the device will be set to medium operation mode (emitting a moderate volume of sound and a moderately fast alarm). Also, if the average stop time is less than the first hour threshold (e.g., 1 minute), it will be set to low operation mode (no sound and a small, slow alarm). Furthermore, if the average stop time is greater than or equal to the first hour threshold but less than the second hour threshold (e.g., 3 minutes), it will be set to average operation mode. Also, if the average stop time is greater than or equal to the second hour threshold, it will be set to high operation mode (emitting a loud sound and a loud, fast alarm).

[0082] When returning from step S413 to step S406, as described later, to set the alarm operation mode, the processing unit 110 increases the operation mode according to the alarm duration (time since the alarm operation was first started). Specifically, if the alarm operation was initially started in low operation mode, the operation mode is changed to medium operation mode when the alarm duration exceeds the first time threshold, and the operation mode is changed to high operation mode when the alarm duration exceeds the second time threshold. If the alarm operation was initially started in medium operation mode, the operation mode is changed to high operation mode when the alarm duration exceeds the second time threshold.

[0083] Then, the processing unit 110 controls the drive unit 220 and the speaker 231 in the alarm operation mode set in step S406 to execute the alarm operation (step S407). The alarm operation is an action in which, when the alarm time arrives, the robot 200 moves around by the drive unit 220 or emits a sound from the speaker 231. This alarm operation allows the user to wake up naturally without feeling any discomfort.

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

[0085] If the user performs an alarm stop operation (step S408; Yes), the processing unit 110 stops the alarm operation in response to this alarm stop operation (step S409). The processing unit 110 then records the time from the start of the alarm operation until the user performs the alarm stop operation as the stop time in the alarm control data 123 (step S410), and terminates the alarm process.

[0086] If the user does not perform an alarm stop operation (step S408; No), the processing unit 110 determines whether the value of variable S, which is set to the number of remaining snoozes, is 1 or greater (step S411). If the value of 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, in step S410, a sufficiently large value such as "10 hours" is recorded in the alarm control data 123 as the stop time.

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

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

[0089] Through the above alarm processing, the device's control unit 100 can wake the user at the appropriate time with the appropriate action, even if the user does not set an alarm time.

[0090] In the alarm process described above, each day of the week and public holiday is distinguished, and the average wake-up time for that day of the week or public holiday is set as the alarm time. However, it is also possible to treat several days of the week together without distinction. For example, Monday through Friday could be treated as weekdays without distinction, and Saturday, Sunday, and public holidays could be treated as holidays without distinction. In this case, on weekdays, the alarm time would be set to the average wake-up time for all days from Monday to Friday, and on holidays, the alarm time would be set to the average wake-up time for all days from Saturday, Sunday, and public holidays.

[0091] Furthermore, the device control unit 100 may also have a conventional alarm function in which the user pre-sets the alarm time. However, since the device control unit 100 does not have a display screen, the alarm function is set using an application program on a smartphone connected via the communication unit 130. An example of the alarm function setting screen 301 in this smartphone application program is shown in Figure 11. If the user wants to set the alarm time themselves, they will turn on the alarm toggle switch 311 and set the alarm time 313, as shown in Figure 11.

[0092] In the example shown in Figure 11, the user can set the ON / Auto / OFF toggle switch 311 for the alarm, the number of snoozes 312 (0 means snooze OFF), the alarm time 313, the ON / OFF status of the alarm for each day of the week, the alarm mode (e.g., the strength of the robot 200's movement when the alarm sounds), and the ON / OFF status of the robot 200's sound when the alarm sounds, etc., from the settings screen 301 displayed on the smartphone, and send these settings to the device's control unit 100, thereby inputting various settings for the alarm function to the device's control unit 100.

[0093] Figure 11 shows the settings screen 301 when the alarm toggle switch 311 is set to "ON". However, when the toggle switch 311 is set to "Automatic", the settings screen 302 shown in Figure 12 is displayed. This screen does not allow for setting the alarm time, but displays the number of days of data accumulation 321 (number of days of sleep data 122), automatic alarm 322 (indicates whether the automatic alarm function is ON or OFF if the number of days of data accumulation 321 is less than or equal to the accumulation threshold (e.g., 30 days), and automatic alarm setting time 323 for each day of the week / holiday (average wake-up time of alarm control data 123).

[0094] Furthermore, the automatic alarm setting time 323 shows "Weekdays 5:46," which is the average wake-up time for all days of the week (in the example in Figure 12, "Monday, Tuesday, Wednesday, Thursday, Friday") set in the weekday setting 324 displayed above it. This indicates that these days are treated together as "weekdays." If nothing is set in weekday setting 324, each day of the week is treated separately, but for days set in weekday setting 324, the average wake-up times are averaged and treated together. By doing this, the alarm time for days grouped by weekday setting 324 can be kept as consistent as possible.

[0095] Although not shown in Figure 12, similar to the weekday setting 324, it may be possible to set multiple days of the week / holidays (for example, "Saturdays and Sundays" and public holidays) to be treated together as "holidays" in the holiday setting.

[0096] Next, we will explain the notification process that informs the user in a natural way that bedtime is approaching, etc., based on the alarm control data 123, with reference to Figure 13. Every day, when the robot 200 first transitions to the normal state (i.e., the time when the user is thought to have woken up), the execution of this notification process thread begins (it runs in parallel with other threads).

[0097] First, the processing unit 110 determines whether or not the alarm control data 123 has already been calculated (step S501). If the alarm control data 123 has not been calculated (step S501; No), the notification process is terminated.

[0098] If the alarm control data 123 has been calculated (step S501; Yes), the processing unit 110 obtains the day of the week / holiday for today (step S502). Then, the processing unit 110 refers to the alarm control data 123 and obtains the average bedtime and average sleep duration for the day of the week / holiday obtained in step S402 (step S503). The obtained average bedtime is the reference time for determining when to activate the drowsiness notification function, which will be described later, and is therefore also called the activation reference time. The obtained average sleep duration is the reference time for determining whether or not to activate the drowsiness notification function, and is therefore also called the reference sleep duration.

[0099] Next, the processing unit 110 refers to the sleep data 122 to obtain today's sleep duration (step S504) and determines whether today's sleep duration is shorter than the average sleep duration by a sleep duration threshold (e.g., 1 hour) or more (step S505). If it is not shorter than the sleep duration threshold (step S505; No), the process proceeds to step S507.

[0100] If the sleep duration is shorter than the threshold (step S505; Yes), it is considered sleep deprivation, so the processing unit 110 causes the robot 200 to perform a sleepiness notification action (step S506). A sleepiness notification action is an action that notifies the user that sleepiness is occurring due to sleep deprivation or approaching bedtime, and is an action that mimics yawning or dozing off. For example, the processing unit 110 may cause the drive unit 220 to perform an action that mimics yawning (raising the head 204 upwards, or (if the robot 200 can open its mouth) opening its mouth wide), output a yawning sound from the speaker 231, or perform an action that mimics dozing off (slowly moving the head 204 up and down).

[0101] Then, the processing unit 110 determines whether or not bedtime is approaching (step S507). Specifically, if the time from the current time to the average bedtime is less than or equal to the bedtime threshold (e.g., 1 hour), the processing unit 110 determines that bedtime is approaching. If bedtime is not approaching (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 bedtime is approaching (step S507; Yes), the user is likely to be getting sleepy, so the processing unit 110 instructs the robot 200 to perform a sleep notification action (step S509). The processing unit 110 then determines whether the robot 200 is in sleep mode or not (step S510). If it is in sleep mode (step S510; Yes), the processing unit 110 determines that the robot 200 has also entered sleep mode because the user has gone to sleep, and terminates the notification process.

[0103] If the device is not in sleep mode (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 a sleepiness notification action in case of sleep deprivation) and the waiting time in step S508 when the determination in step S510 is No (the time interval for performing a sleepiness notification action when bedtime is approaching) may be set to different values.

[0104] Through the notification process described above, the device's control unit 100 can notify the user that they are sleep-deprived or that bedtime is approaching, using natural movements befitting a pet robot.

[0105] (Variation 1) In the above embodiment, the alarm time was automatically set to the wake-up time corresponding to the longest sleep duration. However, the alarm time may also be automatically set to the end time of a short sleep duration (nap). A modified example 1, which includes such an automatic wake-up function for naps, will be described below.

[0106] The control device 100 of the device according to Modification 1 stores the nap alarm control data 124 (for example, data as shown in Figure 14) calculated by the nap alarm control data calculation process described later in the storage unit 120.

[0107] The nap alarm control data calculation process is started each time the processing unit 110 finishes executing the sleep data calculation process, similar to the alarm control data calculation process shown in Figure 9 above. The flow of the nap alarm control data calculation process is also the same as that of the alarm control data calculation process.

[0108] However, in steps S302 to S305 of the alarm control data calculation process (Figure 9), the processing unit 110 calculates the average for each "day of the week and public holiday," but in the nap alarm control data calculation process, instead of calculating the average for each "day of the week and public holiday," it calculates the average for each "nap group." A nap group is a group formed by combining naps that fall on the same day of the week and whose nap number on that day matches. For example, the nap group "Tue 1" in the nap alarm control data 124 represents the average of the 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 as alarm control data 123 in the storage unit 120. However, in the nap alarm control data calculation process, the processing unit 110 stores the calculated average value as nap alarm control data 124 in the storage unit 120.

[0110] Through this nap alarm control data calculation process, nap alarm control data 124 is stored in the memory unit 120, for example, as shown in Figure 14.

[0111] The nap alarm process, which automatically sets the alarm time for a nap based on the nap alarm control data 124, will be explained with reference to Figure 15. Similar to the alarm process described above, the execution of this alarm process thread begins every day at 0:00, that is, when the day changes (it runs in parallel with other threads).

[0112] First, the processing unit 110 determines whether or not the nap alarm control data 124 has already been calculated (step S451). If the nap alarm control data 124 has not been calculated (step S451; No), the nap alarm process is terminated.

[0113] If the nap alarm control data 124 has been calculated (step S451; Yes), the processing unit 110 obtains the day of the week / holiday for today (step S452). Then, the processing unit 110 sets the alarm time (step S453). Specifically, the processing unit 110 refers to the nap alarm control data 124 and sets the average end time of the first nap group on the day of the week / holiday obtained in step S452 as the alarm time.

[0114] Steps S454-S459 and S461-S463 are the same as steps S404-S409 and S411-S413 of the alarm process (Figure 10), so their explanation is omitted. However, when step S456 is executed for the first time, the processing unit 110 refers to the nap alarm control data 124 to obtain the average rest 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 rest time.

[0115] In step S464, the processing unit 110 records the time from the start of the alarm operation until the user stops the alarm as the stop time in the nap alarm control data 124. Then, the processing unit 110 determines whether or not there is a nap group for the next day in the nap alarm control data 124 (step S465).

[0116] If there is another nap group (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 there is no next nap group (step S465; No), the processing unit 110 terminates the nap wake-up process.

[0118] Through the nap alarm process described above, the control device 100 of the device according to Modification 1 can wake the user at the appropriate time when the user must get up from their nap, even if the user does not set an alarm time.

[0119] Furthermore, the date attribute information used in calculating the alarm control data 123 and the nap alarm control data 124 may be updated as needed to accommodate the establishment of new holidays, the abolition or relocation of holidays.

[0120] (Modification 2) Furthermore, by applying the technology described in Japanese Patent Publication No. 2021-69767, for example, the device control unit 100 may be given a simulated emotion or personality, and when an alarm operation is performed, the content of the alarm operation may be changed based on the simulated emotion or personality of the device control unit 100 at that time. For example, if the simulated emotion is "irritated," the first time threshold and the second time threshold may be made shorter than usual (when the simulated emotion is "normal"), a relatively loud cry may be emitted even in the medium operation mode, and a very loud cry may be emitted in the high operation mode.

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

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

[0123] (Modification 4) Furthermore, in the embodiments and modifications described above, the device control devices 100 and 101 are control devices for robots 200 and 209, but the devices to be controlled are not limited to robots, and could also include a wristwatch. For example, a wristwatch equipped with a buzzer as an output unit 230, a vibrator as a drive unit 220, and an acceleration sensor as a sensor unit 210 could be the device to be controlled. In this case, the device control device can perform control such as transitioning to a sleep state or normal state based on the acceleration detected by the acceleration sensor as an external stimulus, and waking the user with a buzzer or vibrator.

[0124] Thus, the control devices 100 and 101 can be applied to various devices, not just robots. By applying them to various devices, it is possible to realize an alarm function in those devices where the alarm time is automatically set.

[0125] (Variation 5) Furthermore, in the embodiments and modifications described above, the processing unit 110 recorded information about the user's sleep in the log data 121, but the information recorded in the log data 121 is not limited to information about sleep. Information that the robot 200 periodically detects as external stimuli as the user lives with the robot 200 on a daily basis (for example, the illuminance and sound when the curtains are opened, the illuminance and sound when the curtains are closed, the illuminance and sound in the kitchen when water is boiled, etc.) may also be recorded in the log data 121.

[0126] In this case, the times when the curtains are opened and closed, the times when the water is boiled, etc., are stored in log data 121. Using this log data 121, the device's control unit 100 can send messages to the user such as, "Aren't you going to open the curtains today?", "Shall we close the curtains now?", and "You boiled the water earlier than usual today." As a result, if the user forgets an action they habitually perform, the robot 200 can remind them, which helps prevent forgetfulness and careless mistakes.

[0127] (Effects, etc.) As explained above, the processing unit 110 sets the operating time based on the user's sleep data, so the device can be activated at the appropriate time without the user having to set the operating time in advance.

[0128] Furthermore, since the processing unit 110 estimates the user's bedtime and wake-up time, the alarm function can be executed at an appropriate time even if the user does not set a wake-up time in advance.

[0129] Furthermore, since the processing unit 110 sets the operating time based on a representative value of wake-up times with the same date attribute, it can perform the alarm function at an appropriate time in response to changes in the user's wake-up time on each day of the week.

[0130] Furthermore, the processing unit 110 changes the content of the alarm operation based on the time it took for the user to stop the alarm operation in the past. Therefore, if the user is expected to wake up immediately, a small stimulus can be used to wake them up, and conversely, if the user is expected to have difficulty waking up, a larger stimulus can be used to wake them up.

[0131] Furthermore, the processing unit 110 sets the operating reference time based on representative values ​​of bedtimes with the same date attribute, so it can execute the drowsiness notification action at an appropriate time in response to changes in the user's bedtime on a daily basis. As a result, the device's control devices 100 and 101 can naturally inform the user that it is almost time to go to sleep by having the robots 200 and 209 yawn or perform other actions.

[0132] Furthermore, the processing unit 110 compares the average sleep time with the sleep time for the day and, if it determines that the user is sleep-deprived, it can execute a sleepiness notification action. Therefore, the device control units 100 and 101 can naturally inform the user that they are sleep-deprived today and might want to take a nap by having the robots 200 and 209 yawn or perform other actions.

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

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

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

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

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

[0138] (Note 1) We acquire external stimulus data that represents the external stimuli acting on the device. Based on the acquired external stimulus data, the user information of the device is estimated. Based on the estimated user information, the operating time, which is the time when the device operates, is set. Equipped with a processing unit, A control device for equipment.

[0139] (Note 2) The aforementioned processing unit, As information about the user, sleep data, which is data related to the user's sleep, is estimated. The control device for the equipment described in Appendix 1.

[0140] (Note 3) The aforementioned processing unit, The time when the aforementioned external stimulus data satisfies the sleep condition is estimated to be the user's bedtime. The time when the aforementioned external stimulus data satisfies the sleep wake-up condition is estimated to be the user's wake-up time. The control device for the equipment described in Appendix 2.

[0141] (Note 4) The aforementioned processing unit, As the external stimulus data, illuminance information, which is information about the illuminance around the device, and acceleration information, which is information about the acceleration acting on the device, are acquired. The time when the illuminance information and the acceleration information satisfy the sleep conditions is estimated to be the user's bedtime. The time at which the acceleration satisfies the sleep wake-up condition is estimated as the user's wake-up time. The control device for the equipment described in Appendix 3.

[0142] (Note 5) The aforementioned processing unit, The estimated wake-up time of the user is stored in association with the date. The representative value of the wake-up time among the stored wake-up times that has the same attribute as the associated date is set as the operation time of the attribute. The device is made to perform an alarm operation at the specified time on the date of the attribute. A control device for the equipment described in Appendix 3 or 4.

[0143] (Note 6) The aforementioned processing unit, The stop time, which is the time from when the device performs the alarm function until the user stops the alarm function, is stored in association with the operation time. The content of the alarm operation performed by the aforementioned device is changed based on the stop time. The control device for the equipment described in Appendix 5.

[0144] (Note 7) The aforementioned processing unit, If the user does not stop the alarm operation even after the alarm duration, which is the time elapsed since the device started the alarm operation, has exceeded a time threshold, the content of the alarm operation being performed by the device will be changed based on the alarm duration. A control device for the equipment described in Appendix 5 or 6.

[0145] (Note 8) The aforementioned processing unit, The estimated user's bedtime is stored in association with the date. The representative value of the bedtimes among the stored bedtimes that have the same attribute for the associated date is set as the operating reference time, which is used as the basis for determining the operating time for the date of the attribute. If the time from the current time to the aforementioned operating reference time is less than or equal to the bedtime threshold, the device will perform a sleepiness notification operation. A control device for any one of the devices described in Appendix 3 to 7.

[0146] (Note 9) The aforementioned processing unit, Based on the estimated user's bedtime and wake-up time, the user's sleep duration is calculated. The user's calculated sleep time is stored in association with the date, Among the stored sleep times, the representative value of the sleep time with the same attribute for the associated date is set as the reference sleep time for the date with that attribute. If today's sleep duration is shorter than the aforementioned standard sleep duration by a certain amount or more (i.e., a sleep duration threshold), the device will perform a sleepiness notification action. A control device for any one of the devices described in Appendix 3 to 8.

[0147] (Note 10) The processing unit, We acquire external stimulus data that represents the external stimuli acting on the device. Based on the acquired external stimulus data, the user information of the device is estimated. Based on the estimated user information, the operating time, which is the time when the device operates, is set. A method for controlling equipment.

[0148] (Note 11) On the computer, We acquire external stimulus data that represents the external stimuli acting on the device. Based on the acquired external stimulus data, the user information of the device is estimated. Based on the estimated user information, the operating time, which is the time when the device operates, is set. A program that executes a process. [Explanation of Symbols]

[0149] 100, 101... Device control unit, 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... Hair, 204... Head, 205... Connecting unit, 206... Torso unit, 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 / down motor, 230…Output unit, 231…Speaker, 240…Operation unit, 301, 302…Setting screen, 311…Toggle switch, 312…Count, 313…Alarm time, 321…Data storage days, 322…Automatic alarm, 323…Automatic alarm setting time, 324…Weekday setting, BL…Bus line

Claims

1. We acquire external stimulus data that represents the external stimuli acting on the device. Based on the acquired external stimulus data, the user information of the device is estimated. From the user information estimated above, the user's wake-up time is estimated, The estimated user's wake-up time is stored in association with the date, The device is instructed to perform an alarm operation at the time corresponding to the attribute of the associated date among the stored wake-up times. Equipped with a processing unit, A control device for equipment.

2. The aforementioned processing unit, As information about the user, sleep data, which is data related to the user's sleep, is estimated. A control device for the device described in claim 1.

3. The aforementioned processing unit, As the external stimulus data, at least one of the following is acquired: illuminance information, which is information about the illuminance around the device, and acceleration information, which is information about the acceleration acting on the device. The time at which the illuminance information and the acceleration satisfy at least one of the sleep wake-up conditions is estimated to be the user's wake-up time. A control device for the device described in claim 1.

4. The aforementioned processing unit, The device is instructed to perform the alarm function, and the stop time, which is the time from when the device is instructed to perform the alarm function until the user stops the alarm function, is stored in association with this time. The content of the alarm operation performed by the aforementioned device is changed based on the stop time. A control device for the device described in claim 1.

5. The aforementioned processing unit, If the user does not stop the alarm operation even after the alarm duration, which is the time elapsed since the device started the alarm operation, has exceeded a time threshold, the content of the alarm operation being performed by the device will be changed based on the alarm duration. A control device for the equipment according to claim 1 or 4.

6. The processing unit, We acquire external stimulus data that represents the external stimuli acting on the device. Based on the acquired external stimulus data, the user information of the device is estimated. From the user information estimated above, the user's wake-up time is estimated, The estimated user's wake-up time is stored in association with the date, The alarm function is to be executed at the time corresponding to the attribute of the date associated with the stored wake-up time. A method for controlling equipment.

7. On the computer, We acquire external stimulus data that represents the external stimuli acting on the device. Based on the acquired external stimulus data, the user information of the device is estimated. From the user information estimated above, the user's wake-up time is estimated, The estimated user's wake-up time is stored in association with the date, The device is instructed to perform an alarm operation at the time corresponding to the attribute of the associated date among the stored wake-up times. A program that executes a process.

Citation Information

Patent Citations

  • Body-worn device with sleep sensor

    JP2007199025A

  • Wake-up device

    JP2009045227A

  • Biological signal detector and wake-up device

    JP2016007446A

  • Information processing device, control method for information processing device, and control program

    WO2016052100A1