Bed system with features to track body weight changes over sleep periods
By installing weight sensors and physiological sensors on the bed, combined with computer systems and data processing technology, monitoring and analyzing users' physiological changes and environmental factors, the problem of difficult to effectively monitor and analyze users' physiological changes during sleep periods in the prior art is solved, and personalized health guidance and sleep optimization suggestions are achieved.
Patent Information
- Application Number
- CN202380057173.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-26
- Filing Date
- 2023-07-18
- Publication Date
- 2025-03-14
AI Technical Summary
The prior art is difficult to effectively monitor and analyze the physiological changes and environmental factors of users during sleep periods, resulting in the inability to provide personalized health guidance and sleep optimization suggestions.
By installing weight sensors and physiological sensors on the bed, combining computer systems and data processing technology, users' weight changes, heart rate, respiratory rate, body temperature and other physiological indicators in real time, and integrating them with environmental data to generate users' physiological indicators and sleep quality reports.
It realizes accurate monitoring and analysis of physiological changes and environmental factors during the user's sleep period, provides personalized health guidance and sleep optimization suggestions, and improves the efficiency of sleep quality and user health management.
Smart Images

Figure CN119630340A_ABST
Abstract
Description
[0001] This document relates to the use of beds, including domestic beds used for sleeping every night, to sense physiological changes in a subject in the bed.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS
[0003] This application claims the benefit of U.S. Provisional Application Serial No. 63 / 392,326, filed on July 26, 2022. The disclosure of the prior application is considered part of the disclosure of the present application (and is incorporated by reference therein). Background Art
[0004] Typically, a bed is a piece of furniture for sleeping or relaxing. Many modern beds include a soft mattress on a bed frame. The mattress may include springs, foam materials, and / or air chambers to support the weight of one or more users. Summary of the invention
[0005] This document describes technology that is operable to sense sleep-session changes in the weight of a subject (e.g., a human user sleeping each night in their home bed equipped with the present technology). In addition, other physiological and / or environmental phenomena may be sensed, and physiological metrics may be generated for the user. Used alone from a single sleep session, or aggregated with other sleep-session data, the present technology may generate sensor readings, reports, and instructions for home automation devices that assist users in sleeping, provide health guidance, generate clinically relevant data related to, for example, sleep and metabolic diagnostics, and generate both population-wide data and personalized data.
[0006] A system of one or more computers may be configured to perform specific operations or actions by installing software, firmware, hardware, or a combination thereof on the system, which software, firmware, hardware, or a combination thereof causes or causes the system to perform an action in operation. One or more computer programs may be configured to perform specific operations or actions by including instructions that, when executed by a data processing device, cause the device to perform an action. A general aspect includes a bed. The system also includes one or more weight sensors configured to: sense the weight applied to the bed; and send a weight reading to a computer system. The system also includes a computer system having a memory and one or more processors, the computer system configured to: receive the weight reading; use the weight reading to determine the presence of a user on the bed; use the user presence to identify the user's sleep period; and use the weight reading and generate weight change data for a given sleep period that records the weight change of the user throughout the sleep period. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of the method.
[0007] Specific implementations may include one or more of the following features. In the system, the weight change data may include multiple weight values indexed by time in the sleep period. The weight change data may include a trend line of the user's weight change over time during the sleep period. The weight change data may include multiple weight values, each weight value is associated with a specific sleep stage in the sleep period, and the sleep stage may include i) rapid eye movement (REM) sleep stage and ii) non-REM (NREM) sleep stage. The computer system is further configured to use the weight readings and generate physiological data for a single sleep period, the physiological data record selected from at least one physiological metric of the group that may include the following: i) heart rate, ii) breathing rate, iii) total body movement, iv) body temperature of the user throughout the sleep period. The system may also include one or more physiological sensors configured to: sense at least one physiological phenomenon of the user during the sleep period; and send physiological readings to the computer system; and the computer system is further configured to: receive the physiological readings; and use the physiological readings and generate physiological data for a single sleep period, the physiological data recording at least one physiological metric selected from the group that may include the following: i) heart rate, ii) breathing rate, iii) total body movement, iv) body temperature of the user throughout the sleep period. The system may also include one or more environmental sensors configured to: sense at least one environmental phenomenon of the sleep environment during the sleep period; and send environmental readings to the computer system; and the computer system is further configured to: receive the environmental readings; and use the environmental readings to generate environmental data, the environmental data recording at least one environmental metric selected from the group that may include the following: i) ambient temperature, ii) humidity, iii) lighting level, iv) atmospheric pressure, v) atmospheric composition, and vi) noise level. The computer system is further configured to generate a physiological index of the user using at least one of the group that may include i) weight change data, ii) physiological data, and iii) environmental data to represent at least one metabolic index of the user, the metabolic index may include at least one of the group that may include the following items: i) basal metabolic rate (BMR); ii) sleep energy expenditure (SEE); iii) calories consumed during sleep period; iv) gas exchange rate; and v) skin electrode activity. The computer system is further configured to keep the weight reading in the memory for use in generating weight change data only for those weight readings corresponding to the presence of the user in the bed. The computer system is further configured to use the weight reading to determine the user's sleeping state, which identifies whether the user is awake or has fallen asleep; keep the weight reading in the memory for use in generating weight change data only for those weight readings corresponding to the sleeping state being asleep.The computer system is further configured to record a baseline weight of the bed based on the weight readings when the user is not in the bed; and to generate the weight change data, the computer system is further configured to remove the baseline weight of the bed from the weight readings. The computer system is further configured to classify periods of weight readings in the weight readings as high quality or low quality; and to generate the weight change data, the computer system is further configured to use only weight readings of high quality periods. To classify periods of weight readings, the computer system is configured to determine whether the total body movement of a given period of weight readings is less than a threshold. To classify periods of weight readings, the computer system is configured to determine the bed entry / bed exit state of a given period of weight readings. To classify periods of weight readings, the computer system is configured to determine that the weight reading is greater than a minimum threshold and less than a maximum threshold, the minimum threshold and the maximum threshold defining a set of values that can be generated by a weight sensor operating within specifications. To classify periods of weight readings, the computer system is configured to avoid classifying consecutive periods of weight readings as high quality. The system may include one or more air bags to receive pressure applied to the bed by the user; and the one or more weight sensors may include one or more air pressure sensors in fluid communication with one or more of the one or more air bags and configured to sense air pressure. The bed may include one or more support members; and the one or more weight sensors may include one or more load sensors configured to sense loads applied to the support members. The bed may include one or more support members; the system may include one or more air bags to receive pressure applied to the bed by the user; the one or more weight sensors may include one or more load sensors configured to sense loads applied to the support members; and the one or more weight sensors may include one or more air pressure sensors in fluid communication with one or more of the one or more air bags and configured to sense air pressure. The computer system is further configured to: display a report that may include at least one of the group that may include: i) weight change data, ii) physiological data, iii) environmental data; and iv) physiological indicators. The computer system may also include an automation controller configured to enable at least one automation device configured to modify the user's sleeping environment based on the weight change data. The automation controller is configured to enable the automation device during the sleep period before the end of the sleep period based on the weight change data before all weight change data for the sleep period is generated. The automation controller is configured to enable the automation device during the second sleep period based on at least one of the group that may include: i) weight change data; and ii) previous weight change data from a previous sleep period.The computer system is further configured to: determine that the second user has entered the bed; concurrently with using the weight reading and generating weight change data for a given sleep period that records the weight change of the user throughout the sleep period, using the weight reading and generating weight change data for a given sleep period that records the weight change of the second user throughout the sleep period. Specific implementations of the described technology may include hardware, methods or processes, or computer software on a computer-accessible medium.
[0008] One general aspect includes a system configured to determine a change in weight of a sleeper throughout a sleep period based on changes in the sleeper's exertion on the bed throughout the sleep period. Other embodiments of this aspect include corresponding computer systems, apparatuses, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of the method.
[0009] The details of one or more specific implementations are set forth in the accompanying drawings and the following description. Other features, aspects, and potential advantages will be apparent from the accompanying description and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The bed system can sense the weight applied by the user, which is tracked throughout the course of a sleep session to generate sleep and metabolic data for the user's sleep session. For example, a bed with air bladders and pressure sensors can sense the air pressure in the air bladders while the user is lying on the bed, and / or the bed legs can include force sensors that can sense the force applied to the bed legs by the user's weight. The readings from these sensors can be analyzed to identify high-quality periods.
[0011] Figure 1 An example air bed system is shown.
[0012] Figure 2 is a block diagram of an example of various components of an air bed system.
[0013] Figure 3 An example environment including a bed in communication with devices located in and throughout the home is shown.
[0014] Figure 4A and Figure 4B is a block diagram of an example data processing system that may be associated with a bed.
[0015] Figure 5 and Figure 6 is a block diagram of an example of a motherboard that may be used in a data processing system associated with a bed.
[0016] Figure 7 is a block diagram of an example of a daughter board that may be used in a data processing system associated with a bed.
[0017] Figure 8 is a block diagram of an example of a motherboard without a daughterboard that may be used in a data processing system associated with a bed.
[0018] Fig.9A is a block diagram of an example of a sensor array that may be used in a data processing system associated with a bed.
[0019] Fig. 9B is a schematic top view of an example bed having a sensor strip including one or more sensors that may be used in a data processing system associated with the bed.
[0020] Fig. 9C is a schematic diagram of an example bed with force sensors located at the bottom of the bed legs.
[0021] Fig.10 is a block diagram of an example of a control array that may be used in a data processing system associated with a bed.
[0022] Fig.11 is a block diagram of an example of a computing device that may be used in a data processing system associated with a bed.
[0023] Figures 12 to 16 is a block diagram of an example cloud service that may be used in a data processing system associated with a bed.
[0024] Fig.17 is a block diagram of an example of using a data processing system that may be associated with a bed to automate peripheral devices around the bed.
[0025] Fig.18 is a schematic diagram illustrating examples of computing devices and mobile computing devices.
[0026] Fig.19 is a schematic diagram of an example system for generating physiological data of a user's sleep period.
[0027] Fig. 20 is a graph of example data that can be used to generate physiological data over many sleep sessions.
[0028] Fig.21 is a swim lane diagram of an example process of generating physiological data of a user.
[0029] Like reference numbers in the various drawings indicate like elements. DETAILED DESCRIPTION
[0030] Example Air Bed Hardware
[0031] Figure 1An example air bed system 100 is shown that includes a bed 112. The bed 112 can be a mattress that includes at least one air chamber 114 surrounded by an elastic binding 116 and enclosed by a mattress cover 118. The elastic binding 116 can include any suitable material, such as foam. In some embodiments, the elastic binding 116 can be combined with one or more top foam layers ( Figure 1 In other embodiments, the mattress structure varies according to the needs of the application.
[0032] like Figure 1 As shown, the bed 112 can be a two-chamber design having a first fluid chamber and a second fluid chamber, such as a first air chamber 114A and a second air chamber 114B. Sometimes, the bed 112 may include chambers that utilize fluids other than air as required by the application. For example, the fluid may include a liquid. In some embodiments, such as a single bed or a crib, the bed 112 may include a single air chamber 114A or 114B or multiple air chambers 114A and 114B. Although not depicted, sometimes the bed 112 may include additional air chambers.
[0033] The first air chamber 114A and the second air chamber 114B may be in fluid communication with the pump 120. The pump 120 may be electrically connected to the remote control 122 via the control box 124. The control box 124 may include a wired or wireless communication interface for communicating with one or more devices (including the remote control 122). The control box 124 may be configured to operate the pump 120 based on commands entered by the user using the remote control 122 to cause an increase and decrease in the fluid pressure of the first air chamber 114A and the second air chamber 114B. In some specific implementations, the control box 124 is integrated into the housing of the pump 120. In addition, sometimes, the pump 120 may wirelessly communicate with the mobile device via the control box 124 (e.g., via a home network, WIFI, Bluetooth or other wireless network). The mobile device may include, but is not limited to, a user's smart phone, mobile phone, laptop, tablet computer, computer, wearable device, home automation device or other computing device. The mobile application may be presented at the mobile device and provide the user with the functionality of controlling the bed 112 and viewing information about the bed 112. The user may enter commands in the mobile application presented at the mobile device. The input commands may be transmitted to the control box 124, which may operate the pump 120 based on the commands.
[0034] The remote control 122 may include a display 126, an output selection mechanism 128, a pressure increase button 129, and a pressure decrease button 130. The remote control 122 may include one or more additional output selection mechanisms and / or buttons. The display 126 may present information about the settings of the bed 112 to the user. For example, the display 126 may present the pressure settings of both the first and second air chambers 114A and 114B or one of the first and second air chambers 114A and 114B. Sometimes, the display 126 may be a touch screen and may receive input from the user indicating one or more commands to control the pressure in the first and second air chambers 114A and 114B and / or other settings of the bed 112.
[0035] The output selection mechanism 128 may allow the user to switch the air flow generated by the pump 120 between the first and second air chambers 114A and 114B, thereby enabling the control of multiple air chambers using a single remote control 122 and a single pump 120. For example, the output selection mechanism 128 may be a physical control (e.g., a switch or button) or an input control presented on the display 126. Alternatively, a separate remote control unit may be provided for each air chamber 114A and 114B, and each remote control unit may include the ability to control multiple air chambers. The pressure increase and decrease buttons 129 and 130 may allow the user to increase or decrease the pressure in the air chamber selected using the output selection mechanism 128, respectively. Adjusting the pressure in the selected air chamber may result in a corresponding adjustment to the hardness of the corresponding air chamber. In some embodiments, the remote control 122 may be omitted or modified as needed for the application. For example, as mentioned above, the bed 112 may be controlled by a mobile device that communicates with the bed 112 by wire or wirelessly.
[0036] Figure 2 1 is a block diagram of various components of an air bed system. For example, these components may be used in the example air bed system 100. Figure 2 As shown, the control box 124 may include a power source 134, a processor 136, a memory 137, a switching mechanism 138, and an analog-to-digital (A / D) converter 140. The switching mechanism 138 may be, for example, a relay or a solid-state switch. In some implementations, the switching mechanism 138 may be located in the pump 120 instead of in the control box 124.
[0037] The pump 120 and the remote controller 122 can communicate bidirectionally with the control box 124. The pump 120 includes a motor 142, a pump manifold 143, a safety valve 144, a first control valve 145A, a second control valve 145B, and a pressure transducer 146. The pump 120 is fluidly connected to the first air chamber 114A and the second air chamber 114B via a first tube 148A and a second tube 148B, respectively. The first and second control valves 145A and 145B can be controlled by the switch mechanism 138 and can be operated to adjust the flow of fluid between the pump 120 and the first and second air chambers 114A and 114B, respectively.
[0038] In some implementations, the pump 120 and the control box 124 can be provided and packaged as a single unit. In some implementations, the pump 120 and the control box 124 can be provided as physically separate units. In still other implementations, the control box 124, the pump 120, or both can be integrated into or otherwise contained within a bed frame, base, or bed support structure supporting the bed 112. Sometimes, the control box 124, the pump 120, or both can be located outside the bed frame, base, or bed support structure (e.g., Figure 1 ).
[0039] Figure 2 The example air bed system 100 depicted in FIG. 1 includes Figure 1 1 and 120 and a single pump 120 are depicted in the air bed system 112. However, other specific implementations may include an air bed system having two or more air chambers and one or more pumps incorporated into the air bed system to control the air chambers. For example, a separate pump may be associated with each air chamber of the air bed system. As another example, a pump may be associated with multiple chambers of the air bed system. A first pump may, for example, be associated with an air chamber that extends longitudinally from the left side to the midpoint of the air bed system 100, and a second pump may be associated with an air chamber that extends longitudinally from the right side to the midpoint of the air bed system 100. A separate pump may allow each air chamber to be inflated or deflated independently and / or simultaneously. In addition, additional pressure transducers may be incorporated into the air bed system 100 so that, for example, a separate pressure transducer may be associated with each air chamber.
[0040] As an illustrative example, in use, the processor 136 may send a pressure reduction command to one of the air chambers 114A or 114B, and the switch mechanism 138 may convert the low voltage command signal sent by the processor 136 to a higher operating voltage sufficient to operate the safety valve 144 of the pump 120 and open the corresponding control valve 145A or 145B. Opening the safety valve 144 may allow air to escape from the air chamber 114A or 114B through the corresponding air tube 148A or 148B. During deflation, the pressure transducer 146 may send a pressure reading to the processor 136 via the A / D converter 140. The A / D converter 140 may receive analog information from the pressure transducer 146 and may convert the analog information into digital information that can be used by the processor 136. The processor 136 may send a digital signal to the remote control 122 to update the display 126 to convey the pressure information to the user. Processor 136 may also send the digital signal to one or more other devices in wired or wireless communication with the air bed system, including but not limited to mobile devices such as smart phones, mobile phones, tablets, computers, wearable devices, and home automation devices. Thus, instead of or in addition to remote control 122, a user may view pressure information associated with the air bed system at their mobile device.
[0041] As another example, the processor 136 may send an increase pressure command. The pump motor 142 may be energized in response to the increase pressure command and send air to a designated one of the air chambers 114A or 114B through the air tube 148A or 148B via electronically operating the corresponding valve 145A or 145B. When air is delivered to the designated air chamber 114A or 114B to increase the stiffness of the chamber, the pressure transducer 146 may sense the pressure within the pump manifold 143. Similarly, the pressure transducer 146 may send a pressure reading to the processor 136 via the A / D converter 140. The processor 136 may use the information received from the A / D converter 140 to determine the difference between the actual pressure in the air chamber 114A or 114B and the desired pressure. The processor 136 may send a digital signal to the remote control 122 to update the display 126 to convey pressure information to the user.
[0042] Generally speaking, during the inflation or deflation process, the pressure sensed within the pump manifold 143 can provide an approximation of the pressure within the corresponding air chamber in fluid communication with the pump manifold 143. An example method of obtaining a pump manifold pressure reading that is substantially equal to the actual pressure within the air chamber includes shutting down the pump 120, allowing the pressure within the air chamber 114A or 114B and the pump manifold 143 to equalize, and then sensing the pressure within the pump manifold 143 using the pressure transducer 146. Thus, providing a sufficient amount of time to allow the pressure within the pump manifold 143 and chamber 114A or 114B to equalize can result in a pressure reading that is an accurate approximation of the actual pressure within the air chamber 114A or 114B. In some implementations, the pressure of the air chambers 114A and / or 114B can be continuously monitored using multiple pressure sensors (not shown). The pressure sensors can be positioned within the air chambers 114A and / or 114B. Pressure sensors may also be fluidly connected to air chambers 114A and 114B, such as along air tubes 148A and 148B.
[0043] In some specific implementations, the information collected by the pressure transducer 146 may be analyzed to determine various states of the user lying on the bed 112. For example, the processor 136 may use the information collected by the pressure transducer 146 to determine the heart rate or breathing rate of the user lying on the bed 112. As an illustrative example, the user may lie on the side of the bed 112 that includes the chamber 114A. The pressure transducer 146 may monitor the pressure fluctuations of the chamber 114A, and this information may be used to determine the heart rate and / or breathing rate of the user. As another example, the collected data may be used to perform additional processing to determine the user's sleep state (e.g., awake, light sleep, deep sleep). For example, the processor 136 may determine when the user falls asleep and the various sleep states of the user when asleep (e.g., sleep stages). Based on the determined heart rate, breathing rate, and / or sleep state of the user, the computer system 136 may determine information about the user's sleep quality. The processor 136 may, for example, determine how well the user sleeps during a particular sleep cycle. The processor 136 may also determine the user's sleep cycle trend. Thus, processor 136 may generate recommendations to improve the user's sleep quality and overall sleep cycle. The determined information about the user's sleep cycle (e.g., heart rate, breathing rate, sleep state, sleep quality, recommendations to improve sleep quality, etc.) may be transmitted to the user's mobile device and presented in a mobile application, as described above.
[0044] Additional information associated with the user of the air bed system 100 that can be determined using information collected by the pressure transducer 146 includes the user's movement, the user's presence on the surface of the bed 112, the user's weight, the user's cardiac arrhythmia, snoring of the user or another user on the air bed system, and the user's apnea. One or more other health conditions of the user can also be determined based on the information collected by the pressure transducer 146. Taking user presence detection as an example, the pressure transducer 146 can be used to detect the presence of the user on the bed 112, such as via total pressure change determination and / or via one or more of a respiratory rate signal, a heart rate signal, and / or other biometric identification signals. Detection of the user's presence on the bed 112 can facilitate the processor 136 to determine one or more adjustments to the settings of the bed 112 (e.g., adjusting the hardness of the bed 112 to the user's preferred hardness setting when the user is present) and / or one or more adjustments to the settings of peripheral devices (e.g., turning off lights, activating heating or cooling systems, etc. when the user is present).
[0045] For example, a simple pressure detection process may identify an increase in pressure as an indication that a user is present on the bed 112. For another example, if the detected pressure increases above a specified threshold (to indicate that a person or other object above a certain weight is located on the bed 112), the processor 136 may determine that the user is present on the bed 112. For another example, the processor 136 may identify an increase in pressure in conjunction with detected slight, rhythmic pressure fluctuations as corresponding to the user's presence on the bed 112. The presence of rhythmic fluctuations may be identified as being caused by the user's breathing or heart rate (or both). Detection of breathing or heartbeats may distinguish between a user being on the bed and another object (e.g., a suitcase, a pet, a pillow, etc.) being placed on the bed.
[0046] In some implementations, pressure fluctuations can be measured at the pump 120. For example, one or more pressure sensors can be located within one or more internal cavities of the pump 120 to detect pressure fluctuations within the pump 120. Pressure fluctuations detected at the pump 120 can indicate pressure fluctuations in one or both of the chambers 114A and 114B. One or more sensors located at the pump 120 can be in fluid communication with one or both of the chambers 114A and 114B, and the sensors can be operable to determine the pressure within the chambers 114A and 114B. The control box 124 can be configured to determine at least one vital sign (e.g., heart rate, respiratory rate) based on the pressure within the chamber 114A or chamber 114B.
[0047] In some implementations, the control box 124 may analyze the pressure signals detected by one or more pressure sensors to determine the heart rate, breathing rate, and / or other vital signs of a user lying or sitting on chambers 114A and / or 114B. More specifically, when the user lies on the bed 112 and is positioned above chamber 114A, each of the user's heartbeat, breathing, and other movements (e.g., hands, arms, legs, feet, or other gross body movements) may generate forces on the bed 112 that are transmitted to chamber 114A. Due to the force input applied to chamber 114A from the user's movement, a wave may propagate through chamber 114A and enter pump 120. The pressure sensor located at pump 120 may detect the wave, and thus the pressure signal output by the sensor may indicate the heart rate, breathing rate, or other information about the user.
[0048] Regarding the sleep state, the air bed system 100 can determine the user's sleep state by using various biometric identification signals (such as the user's heart rate, breathing, and / or movement). When the user is sleeping, the processor 136 can receive one or more of the user's biometric identification signals (e.g., heart rate, breathing, movement, etc.), and can determine the user's current sleep state based on the received biometric identification signals. In some specific implementations, the signal indicating the pressure fluctuation in one or both of the chambers 114A and 114B can be amplified and / or filtered to allow more accurate detection of the heart rate and breathing rate.
[0049] At times, processor 136 may also receive additional biometric identification signals of the user from one or more other sensors or sensor arrays positioned on or otherwise integrated into air bed system 100. For example, one or more sensors may be attached or removably attached to the top surface of air bed system 100 and configured to detect signals such as the user's heart rate, breathing rate, and / or motion. Processor 136 may then combine the biometric identification signals received from the pressure sensor located at pump 120, pressure transducer 146, and / or sensors positioned throughout air bed system 100 to generate accurate and more precise heart rate, breathing rate, and other information about the user and the user's sleep quality.
[0050] Sometimes, the control box 124 may perform a pattern recognition algorithm or other calculation based on the amplified and filtered pressure signal to determine the user's heart rate and / or breathing rate. For example, the algorithm or calculation may be based on the following assumptions: the heart rate portion of the signal has a frequency in the range of 0.5 Hz to 4.0 Hz, and the breathing rate portion of the signal has a frequency in the range of less than 1 Hz. Sometimes, the control box 124 may use one or more machine learning models to determine the user's heart rate, breathing rate, or other health information. The model may be trained using training data including a training pressure signal and an expected heart rate and / or breathing rate. Sometimes, the control box 124 may determine the user's heart rate, breathing rate, or other health information by using a lookup table corresponding to the sensed pressure signal.
[0051] The control box 124 may also be configured to determine other characteristics of the user based on the received pressure signals, such as blood pressure, tossing and turning movements, tumbling movements, limb movements, the weight of the user, the presence or absence of the user, and / or the identity of the user.
[0052] For example, the pressure transducer 146 may be used to monitor the air pressure in the chambers 114A and 114B of the bed 112. If the user on the bed 112 is not moving, the air pressure changes in the air chambers 114A or 114B may be relatively minimal and may be attributed to breathing and / or heartbeat. However, when the user on the bed 112 is moving, the air pressure in the mattress may fluctuate by a much larger amount. Therefore, the pressure signal generated by the pressure transducer 146 and received by the processor 136 may be filtered and indicated as corresponding to movement, heartbeat, or breathing. The processor 136 may also attribute such air pressure fluctuations to the user's sleep quality. Such attribution may be determined based on applying one or more machine learning models and / or algorithms to the pressure signal generated by the pressure transducer 146. For example, if the user shifts and turns a lot during a sleep cycle (e.g., compared to the historical trend of the user's sleep cycle), the processor 136 may determine that the user experienced poor sleep during that particular sleep cycle.
[0053] In some implementations, rather than performing data analysis in the control box 124 using the processor 136, a digital signal processor (DSP) can be provided to analyze data collected by the pressure transducer 146. Alternatively, the data collected by the pressure transducer 146 can be sent to a cloud-based computing system for remote analysis.
[0054] In some implementations, the example air bed system 100 also includes a temperature controller configured to increase, decrease or maintain the temperature of the bed 112, such as for the comfort of the user. For example, a pad (e.g., a cushion, a layer, etc.) may be placed on top of or as part of the bed 112, or may be placed on top of or as part of one or both of the chambers 114A and 114B. Air may be pushed through the pad and exhausted to cool the user on the bed 112. Additionally or alternatively, the pad may include a heating element that can be used to keep the user warm. In some implementations, the temperature controller may receive a temperature reading from the pad. The temperature controller may determine whether the temperature reading is less than or greater than a certain threshold range and / or value. Based on this determination, the temperature controller may actuate a component to push air through the pad to cool the user or activate the heating element. In some implementations, separate pads are used for different sides of the bed 112 (e.g., corresponding to the positions of the chambers 114A and 114B) to provide different temperature controls for different sides of the bed 112. Thus, each pad may be selectively controlled by the temperature controller to provide cooling or heating as preferred by each user on a different side of the bed 112. For example, a first user on the left side of the bed 112 may prefer to have their side of the bed 112 cooled at night, while a second user on the right side of the bed 112 may prefer to have their side of the bed 112 heated at night.
[0055] In some implementations, a user of the air bed system 100 may use an input device (such as a remote control 122 or a mobile device as described above) to input a desired temperature for the surface of the bed 112 (or a portion of the surface of the bed 112, such as the foot region, the lower back or waist region, the shoulder region, and / or the head region of the bed 112). The desired temperature may be encapsulated in a command data structure that includes the desired temperature and also identifies the temperature controller as the desired component to be controlled. The command data structure may then be transmitted to the processor 136 via Bluetooth or another suitable communication protocol (e.g., WIFI, LAN, etc.). In various examples, the command data structure is encrypted before being transmitted. The temperature controller may then configure its components to increase or decrease the temperature of the pad according to the temperature input provided by the user at the remote control 122.
[0056] In some implementations, data may be transmitted from the components back to the processor 136 or one or more display devices, such as the display 126 of the remote control 122. For example, the current temperature, the pressure of the bed, the current position of the base, or other information as determined by a sensor element of the temperature controller may be transmitted to the control box 124. The control box 124 may then transmit the received information to the remote control 122, where the information may be displayed to the user (e.g., on the display 126). As described above, the control box 124 may also transmit the received information to a mobile device (e.g., a smartphone, mobile phone, laptop, tablet, computer, wearable device, or home automation device) for display to the user in a mobile application or other graphical user interface (GUI).
[0057] In some implementations, the example air bed system 100 also includes an adjustable base and an articulation controller configured to adjust the position of a bed (e.g., bed 112) by adjusting the adjustable base supporting the bed. For example, the articulation controller can adjust the bed 112 from a flat position to a position in which the head portion of the mattress of the bed is tilted upward (e.g., to facilitate a user sitting up in bed and / or watching television). The bed 112 may also include a plurality of portions that can be articulated individually. As an illustrative example, the bed 112 may include one or more of a head portion, a lumbar back / waist portion, a leg portion, and / or a foot portion, all of which may be articulated individually. For another example, portions of the bed 112 corresponding to the positions of chambers 114A and 114B may be articulated independently of one another to allow one user positioned on the surface of the bed 112 to stay in a first position (e.g., a flat position or other desired position) while a second user stays in a second position (e.g., a reclined position with the head raised from the waist at an angle or another desired position). Separate positions may also be set for two different beds (eg, two twin beds placed next to each other). The base of bed 112 may include more than one area that may be independently adjusted.
[0058] Sometimes, the bed 112 can be adjusted to one or more user-defined positions based on user input and / or user preferences. For example, the bed 112 can be automatically adjusted to one or more user-defined settings via an articulation controller. As another example, the user can control the articulation controller to adjust the bed 112 to one or more user-defined positions. Sometimes, the bed 112 can be adjusted to one or more positions that can provide improved sleep and sleep quality for the user or otherwise improve sleep and sleep quality. For example, when one or more sensors of the air bed system 100 detect that a user sleeping on one side of the bed 112 is snoring, the head portion on that side of the bed 112 can be automatically articulated via an articulation controller. Therefore, the user's snoring can be reduced so that the snoring does not wake up another user sleeping on the bed 112.
[0059] In some implementations, one or more devices in communication with or in place of the articulation controller may be used to adjust the bed 112. For example, a user may use the remote control 122 described above to change the position of one or more portions of the bed 112. The user may also adjust the bed 112 using a mobile application or other graphical user interface presented at the user's mobile computing device.
[0060] The articulation controller may also be configured to provide different levels of massage to one or more portions of the bed 112 for one or more users on the bed 112. The user may also adjust one or more massage settings for different portions of the bed 112 using the remote control 122 and / or a mobile device that communicates with the air bed system 100 as described above.
[0061] Example of a bed in a bedroom environment
[0062] Figure 3 An example environment 300 is shown that includes a bed 302 that communicates with devices located in and around the home. In the example shown, the bed 302 includes a pump 304 for controlling the air pressure within two air chambers 306a and 306b (as described above with respect to air chambers 114A and 114B). The pump 304 additionally includes a circuit 334 for controlling the inflation and deflation functions performed by the pump 304. The circuit 334 is also programmed to detect air pressure fluctuations of the air chambers 306a-b, and use the detected air pressure fluctuations to identify the bed presence of the user 308, the sleep state of the user 308, the movement of the user 308, and the biometric identification signals of the user 308 such as heart rate and breathing rate. The detected air pressure fluctuations can also be used to detect when the user 308 is snoring and whether the user 308 has sleep apnea or other health conditions. In addition, the detected air pressure fluctuations can be used to determine the overall sleep quality of the user 308.
[0063] In the example shown, the pump 304 is located within the support structure of the bed 302, and the control circuit 334 for controlling the pump 304 is integrated with the pump 304. In some implementations, the control circuit 334 is physically separated from the pump 304 and communicates with the pump 304 wirelessly or by wire. In some implementations, the pump 304 and / or the control circuit 334 are located outside the bed 302. In some implementations, various control functions may be performed by systems located in different physical locations. For example, the circuit for controlling the action of the pump 304 may be located within the pump housing of the pump 304, while the control circuit 334 for performing other functions associated with the bed 302 may be located in another part of the bed 302 or outside the bed 302. As another example, the control circuit 334 located within the pump 304 may communicate with the control circuit 334 at a remote location via a LAN or WAN (e.g., the Internet). As another example, the control circuit 334 may be included in a Figure 1 and 2 In the control box 124.
[0064] In some implementations, one or more devices in addition to or in addition to the pump 304 and the control circuit 334 may be used to identify the user's bed presence, sleep state, movement, biometric identification signals, and other information about the user 308 (e.g., sleep quality and / or health related). For example, the bed 302 may include a second pump in addition to the pump 304, each of which is connected to a corresponding air chamber in the air chambers 306a-b. For example, the pump 304 may be in fluid communication with the air chamber 306b to control the inflation and deflation of the air chamber 306b and detect user signals of the user located above the air chamber 306b, such as bed presence, sleep state, movement, and biometric identification signals. Then, the second pump may be in fluid communication with the air chamber 306a and used to control the inflation and deflation of the air chamber 306a and detect user signals of the user located above the air chamber 306a.
[0065] As another example, the bed 302 may include one or more pressure-sensitive pads or surface portions operable to detect movement, including user presence, user motion, breathing, and heart rate. A first pressure-sensitive pad may be incorporated into the surface of the bed 302 above the left portion of the bed 302 (where the first user is typically located during sleep), and a second pressure-sensitive pad may be incorporated into the surface of the bed 302 above the right portion of the bed 302 (where the second user is typically located during sleep). Movement detected by the one or more pressure-sensitive pads or surface portions may be used by the control circuit 334 to identify a user sleep state, bed presence, or biometric identification signal for each user. The pressure-sensitive pads may also be removable rather than incorporated into the surface of the bed 302.
[0066] The bed 302 may also include one or more temperature sensors and / or sensor arrays operable to detect temperatures in the microclimate of the bed 302. The detected temperatures in different microclimates of the bed 302 may be used by the control circuit 334 to determine one or more modifications to the sleeping environment of the user 308. For example, a temperature sensor located near the core area of the bed 302 where the user 308 rests may detect a high temperature value. Such a high temperature value may indicate that the user 308 is warm. In order to reduce the body temperature of the user in the microclimate, the control circuit 334 may determine that a cooling element of the bed 302 may be activated. As another example, the control circuit 334 may determine that a cooling unit in the home may be automatically activated to cool the ambient temperature in the environment 300.
[0067] The control circuit 334 may also process a combination of signals sensed by different sensors integrated into, positioned on, or otherwise in communication with the bed 112. For example, pressure and temperature signals may be processed by the control circuit 334 to more accurately determine one or more health conditions of the user 308 and / or the sleep quality of the user 308. Acoustic signals detected by one or more microphones or other audio sensors may also be used in combination with pressure or motion sensors to determine when the user 308 is snoring, whether the user 308 has sleep apnea, and / or the overall sleep quality of the user 308. Combinations of one or more other sensed signals are also possible for the control circuit 334 to more accurately determine one or more health and / or sleep conditions of the user 308.
[0068] Thus, information detected by one or more sensors or other components of the bed 112 (e.g., motion information) may be processed by the control circuit 334 and provided to one or more user devices such as the user device 310 for presentation to the user 308 or other users. The information may be presented in a mobile application or other graphical user interface at the user device 310. The user 308 may view different information processed and / or determined by the control circuit 334 and based on signals detected by components of the bed 302. For example, the user 308 may view their overall sleep quality during a particular sleep cycle (e.g., the previous night), historical trends in their sleep quality, and health information. The user 308 may also use the mobile application presented at the user device 310 to adjust one or more settings of the bed 302 (e.g., increase or decrease pressure in one or more areas of the bed 302, tilt different areas of the bed 302 up or down, turn on or off massage features of the bed 302, etc.).
[0069] exist Figure 3In the depicted example, the user device 310 is a mobile phone; however, the user device 310 may also be any of a tablet, a personal computer, a laptop, a smart phone, a smart television (e.g., the television 312), a home automation device, or other user devices capable of wired or wireless communication with the control circuit 334, one or more other components of the bed 302, and / or one or more devices in the environment 300. The user device 310 may communicate with the control circuit 334 of the bed 302 over a network or through direct point-to-point communication. For example, the control circuit 334 may be connected to a LAN (e.g., through a WIFI router) and communicate with the user device 310 over the LAN. As another example, both the control circuit 334 and the user device 310 may be connected to the Internet and communicate over the Internet. For example, the control circuit 334 may be connected to the Internet through a WIFI router, and the user device 310 may be connected to the Internet through communication with a cellular communication system. As another example, the control circuit 334 may communicate directly with the user device 310 through a wireless communication protocol (such as Bluetooth). As another example, control circuit 334 may communicate with user device 310 via a wireless communication protocol such as ZigBee, Z-wave, infrared, or another wireless communication protocol suitable for the application. As another example, control circuit 334 may communicate with user device 310 via a wired connection such as, for example, a USB connector, serial / RS232, or another wired connection suitable for the application.
[0070] As mentioned above, the user device 310 can display a variety of information and statistics related to sleep or the user 308's interaction with the bed 302. For example, the user interface displayed by the user device 310 can present information including the amount of sleep of the user 308 over a time period (e.g., a single night, a week, a month, etc.), the amount of deep sleep, the ratio of deep sleep to restless sleep, the time interval between the user 308 going to bed and the user 308 falling asleep, the total amount of time spent on the bed 302 over a given time period, the heart rate of the user 308 over a time period, the breathing rate of the user 308 over a time period, or other information related to the user 308 or one or more other users of the bed 302 interacting with the bed 302. In some implementations, information for multiple users can be presented on the user device 310, for example, information for a first user located above the air chamber 306a can be presented together with information for a second user located above the air chamber 306b. In some implementations, the information presented on the user device 310 can vary according to the age of the user 308. For example, the information presented on the user device 310 may evolve as the user 308 ages, such that different information is presented on the user device 310 as the user 308 ages as a child or an adult.
[0071] The user device 310 may also serve as an interface to the control circuitry 334 of the bed 302 to allow the user 308 to input information and / or adjust one or more settings of the bed 302. The information input by the user 308 may be used by the control circuitry 334 to provide better information to the user 308 or to various control signals used to control the functions of the bed 302 or other devices. For example, the user 308 may input information such as the weight, height, and age of the user 308. The control circuitry 334 may use this information to provide the user 308 with a comparison of the tracked sleep information of the user 308 with the sleep information of other persons having a similar weight, height, and / or age to the user 308. The control circuitry 308 may also use this information to more accurately determine the overall sleep quality and / or health of the user 308 based on information detected by one or more components (e.g., sensors) of the bed 302.
[0072] As another example, and as mentioned above, user 308 may use user device 310 as an interface for controlling the air pressure of air chambers 306a and 306b, for controlling various recline or tilt positions of bed 302, for controlling the temperature of one or more surface temperature control devices of bed 302, or for allowing control circuit 334 to generate control signals for other devices (as described in more detail below).
[0073] In some implementations, the control circuit 334 of the bed 302 can communicate with other devices or systems in addition to or in place of the user device 310. For example, the control circuit 334 can communicate with the television 312, the lighting system 314, the thermostat 316, the security system 318, home automation devices, and / or other home devices (including, but not limited to, the oven 322, the coffee maker 324, the table lamp 326, and / or the night light 328). Other examples of devices and / or systems with which the control circuit 334 can communicate include a system for controlling blinds 330, one or more devices for detecting or controlling the state of one or more doors 332 (such as detecting whether a door is open, detecting whether a door is locked, or automatically locking a door), and a system for controlling a garage door 320 (e.g., a control circuit 334 integrated with a garage door opener that identifies the open or closed state of the garage door 320 and causes the garage door opener to open or close the garage door 320). Communications between the control circuitry 334 of the bed 302 and other devices may occur over a network (e.g., a LAN or the Internet) or as point-to-point communications (e.g., using Bluetooth, radio communications, or a wired connection). In some implementations, the control circuitry 334 of different beds 302 may communicate with different sets of devices. For example, a child's bed may not communicate with and / or control the same devices as an adult bed. In some embodiments, the bed 302 may evolve as the user ages, such that the control circuitry 334 of the bed 302 communicates with different devices depending on the age of the user of the bed 302.
[0074] The control circuitry 334 may receive information and input from other devices / systems and use the received information and input to control the actions of the bed 302 and / or other devices. For example, the control circuitry 334 may receive information from the thermostat 316 indicating the current ambient temperature of the house or room in which the bed 302 is located. The control circuitry 334 may use the received information (along with other information, such as signals detected from one or more sensors of the bed 302) to determine whether the temperature of all or a portion of the surface of the bed 302 should be increased or decreased. The control circuitry 334 may then cause the heating or cooling mechanism of the bed 302 to increase or decrease the surface temperature of the bed 302. The control circuitry 334 may also cause the heating or cooling unit of the house or room in which the bed 302 is located to increase or decrease the ambient temperature surrounding the bed 302. Thus, by adjusting the temperature of the bed 302 and / or the room in which the bed 302 is located, the user 308 may experience a more improved sleep quality and comfort.
[0075] As an example, user 308 may indicate a desired sleeping temperature of 74 degrees, while a second user of bed 302 indicates a desired sleeping temperature of 72 degrees. Thermostat 316 may send a signal indicating the room temperature to control circuit 334 at a predetermined time. Thermostat 316 may also send a continuous stream of detected room temperature values to control circuit 334. The sent signal may indicate to control circuit 334 that the current temperature of the bedroom is 72 degrees. Control circuit 334 may identify that user 308 has indicated a desired sleeping temperature of 74 degrees, and may accordingly send a control signal to a heating pad located on the user 308 side of the bed to increase the temperature of the portion of the surface of bed 302 where user 308 is located until the desired temperature of user 308 is reached. In addition, control circuit 334 may send a control signal to thermostat 316 and / or a heating unit in the house to increase the temperature of the room where bed 302 is located.
[0076] The control circuitry 334 may generate control signals to control other devices and propagate control signals to other devices. In some implementations, the control signals are generated based on information collected by the control circuitry 334, including information related to user interactions of the user 308 and / or one or more other users with the bed 302. When generating control signals, information collected from one or more other devices other than the bed 302 may also be used. For example, when generating control signals for various devices that communicate with the control circuitry 334 of the bed 302, information related to environmental events (e.g., ambient temperature, ambient noise level, and ambient light level), time of day, time of year, day of the week, or other information may be used.
[0077] For example, information about the time of day may be combined with information about the movement of the user 308 and the presence of the bed to generate a control signal for the lighting system 314. The control circuit 334 may determine when the user 308 is currently on the bed 302 and when the user 308 has fallen asleep based on the detected pressure signals of the user 308 on the bed 302. Once the control circuit 334 determines that the user has fallen asleep, the control circuit 334 may send a control signal to the lighting system 314 to turn off the lights in the room where the bed 302 is located, lower the blinds 330 in the room, and / or activate the night light 328. In addition, the control circuit 334 may receive input from the user 308 indicating the time when the user 308 wants to wake up (e.g., via the user device 310). When the time is approaching, the control circuit 334 may send a control signal to one or more devices in the environment 300 to control the device that can wake the user 308. For example, the control signal may be sent to a home automation device that controls multiple devices in the home. The home automation device may be instructed by control circuitry 334 to raise blinds 330, turn off night light 328, turn on lighting under bed 302, start coffee maker 324, change the temperature in the house via thermostat 316, or perform some other home automation. The home automation device may also be instructed to activate an alarm that may wake user 308. At times, user 308 may enter information at user device 310 that indicates what action a home automation device or other device in environment 300 may take.
[0078] In some implementations, rather than providing control signals for one or more other devices, or in addition to providing control signals for one or more other devices, the control circuitry 334 can provide the collected information (e.g., information related to user movement, bed presence, sleep state, or biometric identification signals of the user 308) to the one or more other devices to allow the one or more other devices to utilize the collected information in generating control signals. For example, the control circuitry 334 of the bed 302 can provide information related to user interaction of the user 308 with the bed 302 to a central controller (not shown), which can use the provided information to generate control signals for various devices (including the bed 302).
[0079] The central controller may be, for example, a hub device that provides various information about the user 308 and control information associated with the bed 302 and one or more other devices in the house. The central controller may include one or more sensors that detect signals that can be used by the control circuit 334 and / or the central controller to determine information about the user 308 (e.g., biometric identification or other health data, sleep quality, etc.). The sensors may detect signals including, but not limited to, ambient light, temperature, humidity, volatile organic compounds, pulse, motion, and audio. These signals may be combined with signals detected by the sensors of the bed 302 to determine more accurate information about the health and sleep quality of the user 308. The central controller may provide control of the bed 302, determination and viewing of sleep quality and health information, smart alarm clocks, speakers or other home automation devices, smart photo frames, night lights, and one or more mobile applications that the user 308 can install and use at the central controller (e.g., user-defined, preset, automatic, user-initiated, etc.). The central controller may include a display screen that can output information and also receive input from the user 308. The display may output information such as the health of the user 308, sleep quality, weather information, security integrated features, lighting integrated features, heating and cooling integrated features, and other controls that automate devices in the house. The central controller may thus operate to provide the user 308 with functionality and control of a plurality of different types of devices in the house as well as the user's 308 bed 302.
[0080] Still reference Figure 3, the control circuit 334 of the bed 302 may generate and transmit control signals for controlling actions of other devices in response to information collected by the control circuit 334, including the bed presence of the user 308, the sleep state of the user 308, and other factors. For example, the control circuit 334 integrated with the pump 304 may detect a feature of the mattress of the bed 302, such as an increase in pressure in the air chamber 306b, and use the detected increase in air pressure to determine that the user 308 is present on the bed 302. In some implementations, the control circuit 334 may identify the heart rate or breathing rate of the user 308 to identify that the pressure increase is due to a person sitting, lying, or otherwise staying on the bed 302, rather than an inanimate object (such as a suitcase) being placed on the bed 302. In some implementations, information indicating the user's bed presence may be combined with other information to identify the current or future possible state of the user 308. For example, a detected user bed presence at 11:00am may indicate that the user is sitting up in bed (e.g., tying shoes or reading a book) and does not intend to fall asleep, while a detected user bed presence at 10:00pm may indicate that user 308 is in bed that night and intends to fall asleep soon. As another example, if control circuitry 334 detects user 308 leaving bed 302 at 6:30am (e.g., indicating that user 308 has woken up for the day), and then later detects user 308's presence in bed 302 at 7:30am, control circuitry 334 may use this information to determine that the newly detected presence is likely temporary (e.g., at this time user 308 is tying shoes before leaving for work), rather than an indication that user 308 intends to stay in bed 302 for an extended period of time.
[0081] If the control circuit 334 determines that the user 308 is likely to stay in the bed 302 for an extended period of time, the control circuit 334 may determine one or more home automation controls that may help the user 308 fall asleep and experience improved sleep quality throughout the sleep cycle of the user 308. For example, the control circuit 334 may communicate with the security system 318 to ensure that the door is locked. The control circuit 334 may communicate with the oven 322 to ensure that the oven 322 is turned off. The control circuit 334 may also communicate with the lighting system 314 to dim or otherwise turn off the lights in the room where the bed 302 is located and / or throughout the house, and the control circuit 334 may communicate with the thermostat 316 to ensure that the house is at the desired temperature of the user 308. The control circuit 334 may also determine one or more adjustments that may be made to the bed 302 to help the user 308 fall asleep and stay asleep (e.g., changing the position of one or more areas of the bed 302, foot warming, massage features, pressure / firmness in one or more areas of the bed 302, etc.).
[0082] In some implementations, the control circuitry 334 can use the collected information (including information about the user interaction of the user 308 with the bed 302, as well as environmental information, time information, and input received from the user 308) to identify the usage pattern of the user 308. For example, the control circuitry 334 can use information indicating the presence of the bed and the sleep state of the user 308 collected over a period of time to identify the user's sleep pattern. The control circuitry 334 can identify that the user 308 typically goes to bed between 9:30pm and 10:00pm, typically falls asleep between 10:00pm and 11:00pm, and typically wakes up between 6:30am and 6:45am based on information indicating the presence of the user and the biometric identification of the user 308 collected over a week or different time periods. The control circuitry 334 can use the identified patterns of the user 308 to better process and identify the user's interaction with the bed 302.
[0083] For example, given the user bed presence, sleeping, and waking patterns of user 308 of the above example, if user 308 is detected as being in bed 302 at 3:00 pm, control circuitry 334 may determine that user 308's presence in bed 302 is only temporary, and use this determination to generate a control signal that is different from the control signal that would be generated if control circuitry 334 determined that user 308 went into bed at night (e.g., at 3:00 pm, the head area of bed 302 may be raised to facilitate reading or watching television while in bed 302, while at night, bed 302 may be adjusted to a flat position to facilitate falling asleep). For another example, if control circuitry 334 detects that user 308 leaves bed at 3:00 am, control circuitry 334 may use the identified pattern of user 308 to determine that the user is only temporarily leaving bed (e.g., to go to the bathroom, or get a glass of water) rather than getting up to start the day. For example, control circuitry 334 may turn on under-bed lighting to help user 308 move carefully around bed 302 and within the room. Conversely, if the control circuit 334 identifies that the user 308 leaves the bed 302 at 6:40am, the control circuit 334 may determine that the user 308 is getting up to start the day and generate a different set of control signals than would be generated if it were determined that the user 308 only temporarily left the bed (such as when the user 308 leaves the bed 302 at 3:00am) (e.g., when it is determined that the user 308 is getting up to start the day, the control circuit 334 may turn on the lights 326 and / or raise the blinds 330 near the bed 302). For other users, leaving the bed 302 at 3:00am may be a normal wake-up time, which the control circuit 334 may learn and respond accordingly. Furthermore, if the bed 302 is used by two users, the control circuit 334 may learn and respond to each user's patterns.
[0084] As described above, the control circuit 334 of the bed 302 may generate control signals for control functions of various other devices. The control signals may be generated based at least in part on the detected interaction of the user 308 with the bed 302 and other information including time, date, temperature, etc. The control circuit 334 may communicate with the television 312, receive information from the television 312, and generate control signals for controlling functions of the television 312. For example, the control circuit 334 may receive an indication from the television 312 that the television 312 is currently on. If the television 312 is located in a different room from the bed 302, the control circuit 334 may generate a control signal to turn off the television 312 based on a determination that the user 308 has gone to bed or otherwise remained in the room of the bed 302 that night. For example, if the presence of the user 308 is detected on the bed 302 during a specific time range (e.g., between 8:00 pm and 7:00 am) and lasts longer than a threshold time period (e.g., 10 minutes), the control circuit 334 may determine that the user 308 has gone to bed that night. If the television 312 is on (as indicated by a communication received by the control circuit 334 of the bed 302 from the television 312), the control circuit 334 may generate a control signal to turn off the television 312. The control signal may be transmitted to the television (e.g., via a directional communication link between the television 312 and the control circuit 334 or via a network such as WIFI). As another example, rather than turning off the television 312 in response to detecting the presence of the user bed, the control circuit 334 may generate a control signal that causes the volume of the television 312 to be reduced by a pre-specified amount.
[0085] For another example, upon detecting that user 308 has left bed 302 during a specified time range (e.g., between 6:00am and 8:00am), control circuitry 334 may generate a control signal to cause television 312 to turn on and tune to a pre-specified channel (e.g., user 308 has indicated a preference to watch the morning news upon waking up). Control circuitry 334 may generate and transmit a control signal to television 312 to cause television 312 to turn on and tune to a desired station (which may be stored at control circuitry 334, television 312, or another location). For another example, upon detecting that user 308 has gotten out of bed to start the day, control circuitry 334 may generate and transmit a control signal to cause television 312 to turn on and begin playing a previously recorded program from a digital video recorder (DVR) in communication with television 312.
[0086] For another example, if the television 312 is in the same room as the bed 302, the control circuit 334 may not turn off the television 312 in response to detecting the presence of the user's bed. Instead, the control circuit 334 may generate and transmit a control signal to turn off the television 312 in response to determining that the user 308 is sleeping. For example, the control circuit 334 may monitor the biometric identification signal (e.g., movement, heart rate, breathing rate) of the user 308 to determine that the user 308 has fallen asleep. When it is detected that the user 308 is sleeping, the control circuit 334 generates and sends a control signal to turn off the television 312. For another example, the control circuit 334 may generate a control signal to turn off the television 312 after a threshold time period has passed since the user 308 has fallen asleep (e.g., 10 minutes after the user has fallen asleep). For another example, the control circuit 334 generates a control signal to reduce the volume of the television 312 after determining that the user 308 has fallen asleep. As another example, the control circuit 334 generates and sends a control signal to gradually reduce the volume of the television over a period of time and then turn off in response to determining that the user 308 is asleep. Any of the control signals described above with reference to the television 312 may also be determined by the central controller described previously.
[0087] In some implementations, the control circuit 334 can similarly interact with other media devices, such as computers, tablets, mobile phones, smartphones, wearable devices, stereo systems, etc. For example, upon detecting that the user 308 is asleep, the control circuit 334 can generate and send a control signal to the user device 310 to cause the user device 310 to turn off or lower the volume of a video or audio file being played by the user device 310.
[0088] The control circuit 334 may additionally communicate with the lighting system 314, receive information from the lighting system 314, and generate control signals for controlling functions of the lighting system 314. For example, upon detecting a user's bed presence on the bed 302 for longer than a threshold period of time (e.g., 10 minutes) during a particular time frame (e.g., between 8:00 pm and 7:00 am), the control circuit 334 of the bed 302 may determine that the user 308 is in bed that night. In response to this determination, the control circuit 334 may generate a control signal to turn off lights in one or more rooms other than the room in which the bed 302 is located. The control signal may then be transmitted to and executed by the lighting system 314 to turn off lights in the indicated rooms. For example, the control circuit 334 may generate and transmit a control signal to turn off lights in all common rooms, but not lights in other bedrooms. For another example, in response to determining that user 308 is in bed that night, the control signal generated by control circuit 334 may indicate that the lights in all rooms except the room where bed 302 is located are to be turned off, and one or more lights located outside the house containing bed 302 are to be turned on. Additionally, control circuit 334 may generate and transmit a control signal to turn on night light 328 in response to determining that user 308's bed is present or user 308 is asleep. For another example, control circuit 334 may generate a first control signal for turning off a first group of lights (e.g., lights in a common room) in response to detecting that user 308 is in bed, and generate a second control signal for turning off a second group of lights (e.g., lights in a room where bed 302 is located) in response to detecting that user 308 is asleep.
[0089] In some implementations, in response to determining that the user 308 has gone to bed for the night, the control circuitry 334 of the bed 302 can generate a control signal to cause the lighting system 314 to implement a sunset lighting scheme in the room where the bed 302 is located. The sunset lighting scheme can include, for example, dimming the lights (either gradually over time, or all at once) in combination with changing the color of the light in the bedroom environment (such as adding an amber hue to the lighting in the bedroom). When the control circuitry 334 has determined that the user 308 has gone to bed for the night, the sunset lighting scheme can help get the user 308 to sleep. Sometimes, the control signal can cause the lighting system 314 to dim the lights or change the color of the lighting in the bedroom environment, but not both.
[0090] The control circuit 334 may also be configured to implement a sunrise lighting scheme when the user 308 wakes up in the morning. The control circuit 334 may determine that the user 308 wakes up for the day, for example, by detecting that the user 308 has left the bed 302 (e.g., is no longer present on the bed 302) during a specified time frame (e.g., between 6:00am and 8:00am). As another example, the control circuit 334 may monitor the user 308's movement, heart rate, breathing rate, or other biometric identification signals to determine that the user 308 is awake or waking up, even if the user 308 has not left the bed. If the control circuit 334 detects that the user is awake or waking up during the specified time frame, the control circuit 334 may determine that the user 308 wakes up for the day. The specified time frame may be based on previously recorded user bed presence information collected over a period of time (e.g., two weeks), which indicates that the user 308 typically wakes up for the day between 6:30am and 7:30am. In response to the control circuit 334 determining that the user 308 is awake, the control circuit 334 may generate a control signal to cause the lighting system 314 to implement a sunrise lighting scheme in the bedroom where the bed 302 is located. The sunrise lighting scheme may include, for example, turning on a light (e.g., the table lamp 326 or other lights in the bedroom). The sunrise lighting scheme may also include gradually increasing the light level in the room where the bed 302 is located (or one or more other rooms). The sunrise lighting scheme may also include turning on only lights of a specified color. For example, the sunrise lighting scheme may include illuminating the bedroom with blue light to gently help the user 308 wake up and become active.
[0091] In some implementations, the control circuit 334 may generate different control signals for controlling the actions of one or more components, such as the lighting system 314, depending on the time of day when the user's interaction with the bed 302 is detected. For example, the control circuit 334 may use historical user interaction information of the interactions between the user 308 and the bed 302 to determine that the user 308 typically falls asleep between 10:00 pm and 11:00 pm on weekdays and typically wakes up between 6:30 am and 7:30 am. The control circuit 334 may use this information to generate a first set of control signals for controlling the lighting system 314 if the user 308 is detected as leaving at 3:00 am, and a second set of control signals for controlling the lighting system 314 if the user 308 is detected as leaving at 6:30 am. For example, if the user 308 leaves the bed before 6:30 am, the control circuit 334 may turn on lights that guide the user 308 to the bathroom. As another example, if user 308 leaves bed before 6:30am, control circuitry 334 may turn on lights that guide user 308 to the kitchen (this may include, for example, turning on nightlight 328, turning on under-bed lighting, turning on desk lamp 326, or turning on lights along the path of user 308 to the kitchen).
[0092] As another example, if the user 308 leaves the bed after 6:30am, the control circuit 334 may generate a control signal to cause the lighting system 314 to initiate a sunrise lighting scheme or turn on one or more lights in the bedroom and / or other rooms. In some implementations, if the user 308 is detected to have left the bed before the user's 308 designated morning wake-up time, the control circuit 334 may cause the lighting system 314 to turn on dimmer lights than the lights that would have been turned on by the lighting system 314 if the user 308 had left the bed after the designated morning wake-up time. Having the lighting system 314 turn on only dim lights when the user 308 leaves the bed at night (e.g., before the user's 308 normal wake-up time) may prevent other occupants of the house from being awakened by the lights while still allowing the user 308 to see clearly in order to reach the bathroom, kitchen, or another destination in the house.
[0093] Historical user interaction information of interactions between the user 308 and the bed 302 may be used to identify user sleep and wake time frames. For example, the user's bed presence time and sleep time may be determined for a set time period (e.g., two weeks, a month, etc.). The control circuit 334 may then identify a typical time range or time frame for the user 308 to go to bed, a typical time frame when the user 308 falls asleep, and a typical time frame when the user 308 wakes up (and in some cases, a different time frame when the user 308 wakes up and when the user 308 actually gets out of bed). In some implementations, buffer time may be added to these time frames. For example, if the user is identified as typically going to bed between 10:00 pm and 10:30 pm, a half-hour buffer time may be added before and after the time frame so that any detection of the user going to bed between 9:30 pm and 11:00 pm is interpreted as the user 308 going to bed that night. As another example, detection of the presence of the user's 308 bed extending from half an hour before the earliest typical time that the user 308 goes to bed until before the typical wake-up time of the user 308 (e.g., 6:30am) may be interpreted as the user 308 going to bed that night. For example, if the user 308 typically goes to bed between 10:00pm and 10:30pm, if the presence of the user's 308 bed is sensed at 12:30am on a night, this may be interpreted as the user 308 going to bed that night, even though this is outside the typical time range for the user 308 to go to bed because it occurs before the normal wake-up time of the user 308. In some implementations, different time frames are identified for different times of the year (e.g., earlier bedtimes during winter compared to summer) or different time frames are identified for different times of the week (e.g., the user 308 wakes up earlier on weekdays than on weekends).
[0094] The control circuit 334 can distinguish whether the user 308 is in bed for an extended period of time (such as sleeping at night) or is present in the bed 302 for a shorter period of time (such as napping) by sensing the duration of the user 308's presence (e.g., by detecting pressure signals and / or temperature signals of the user 308 on the bed 302 by one or more sensors integrated into the bed 302). In some examples, the control circuit 334 can distinguish whether the user 308 is in bed for an extended period of time (such as sleeping at night) or is present in the bed for a shorter period of time (such as napping) by sensing the sleep duration of the user 308. For example, the control circuit 334 can set a time threshold, whereby if the user 308 is sensed to be in the bed 302 for a time longer than the threshold, the user 308 is considered to have entered the bed that night. In some examples, the threshold can be about 2 hours, whereby if the user 308 is sensed to be in the bed 302 for more than 2 hours, the control circuit 334 registers it as an extended sleep event. In other examples, the threshold can be longer or shorter than two hours. The threshold may also be determined based on historical trends indicating how long the user 302 typically sleeps or otherwise stays in the bed 302 .
[0095] The control circuit 334 may detect repeated extended sleep events to automatically determine a typical bedtime range for the user 308, without requiring the user 308 to enter a bedtime range. This may allow the control circuit 334 to accurately estimate when the user 308 is likely to go to bed for an extended sleep event, regardless of whether the user 308 typically goes to bed using a traditional sleep schedule or a non-traditional sleep schedule. The control circuit 334 may then use the knowledge of the bedtime range of the user 308 to control one or more components (including components of the bed 302 and / or non-bed peripherals) based on sensing the presence of the bed during or outside of the bedtime range.
[0096] In some examples, the control circuit 334 may automatically determine the bedtime range of the user 308 without user input. In some examples, the control circuit 334 may automatically and in combination with user input (e.g., using one or more signals sensed by sensors of the bed 302 and / or the central controller described above) determine the bedtime range of the user 308. In some examples, the control circuit 334 may directly set the bedtime range according to user input. In some examples, the control circuit 334 may associate different bedtimes with different days of the week. In each of these examples, the control circuit 334 may control one or more components (such as the lighting system 314, the thermostat 316, the security system 318, the oven 322, the coffee machine 324, the table lamp 326, and the night light 328) according to the sensed presence of the bed and the bedtime range.
[0097] The control circuit 334 may additionally communicate with the thermostat 316, receive information from the thermostat 316, and generate control signals for controlling the functions of the thermostat 316. For example, depending on the sleep state or bed presence of the user 308, the user 308 may indicate a user preference for different temperatures at different times. For example, the user 308 may prefer an ambient temperature of 72 degrees when out of bed, an ambient temperature of 70 degrees when in bed but awake, and an ambient temperature of 68 degrees when sleeping. The control circuit 334 of the bed 302 may detect the bed presence of the user 308 at night and determine that the user 308 is in bed that night. In response to this determination, the control circuit 334 may generate a control signal to cause the thermostat 316 to change the temperature to 70 degrees. The control circuit 334 may then send the control signal to the thermostat 316. Upon detecting that the user 308 is in bed or sleeping during the bedtime range, the control circuit 334 may generate and transmit a control signal to cause the thermostat 316 to change the temperature to 68. The next morning, when it is determined that user 308 has awakened to start the day (eg, user 308 has left bed after 6:30am), control circuit 334 may generate and transmit a control signal to cause the thermostat to change the temperature to 72 degrees.
[0098] The control circuit 334 may also determine control signals to be sent to the thermostat 316 based on maintaining an improved or preferred sleep quality for the user 308. In other words, the control circuit 334 may determine adjustments to the thermostat 316 that are not based solely on preferences input by the user. For example, the control circuit 334 may determine that the user 308 experiences optimal sleep when the bedroom is at 74 degrees based on the historical sleep patterns and quality of the user 308 and by applying one or more machine learning models. The control circuit 334 may receive a temperature signal indicating the temperature of the bedroom from one or more devices and / or sensors in the bedroom. When the temperature is below 74 degrees, the control circuit 334 may determine a control signal that causes the thermostat 316 to activate a heating unit in the house to raise the temperature in the bedroom to 74 degrees. When the temperature is above 74 degrees, the control circuit 334 may determine a control signal that causes the thermostat 316 to activate a cooling unit in the house to lower the temperature back to 74 degrees. At times, control circuitry 334 may also determine a control signal that causes thermostat 316 to maintain the bedroom within a temperature range intended to keep user 308 in a particular sleep state and / or transition to a next preferred sleep state.
[0099] In some implementations, the control circuit 334 may generate control signals to cause one or more heating or cooling elements on the surface of the bed 302 to change temperature at various times in response to user interaction with the bed 302, at various preprogrammed times, based on user preferences, and / or in response to detecting the microclimate temperature of the user 308 on the bed 302. For example, when it is detected that the user 308 has fallen asleep, the control circuit 334 may activate the heating element to increase the temperature of one side of the surface of the bed 302 to 73 degrees. For another example, after determining that the user 308 has gotten up and started the day, the control circuit 334 may turn off the heating or cooling element. For another example, the user 308 may preprogram various times when the temperature at the surface of the bed should be increased or decreased. For example, the user 308 may program the bed 302 to increase the surface temperature to 76 degrees at 10:00 pm and decrease the surface temperature to 68 degrees at 11:30 pm. For another example, one or more temperature sensors on the surface of the bed 302 may detect the microclimate of the user 308 on the bed 302. When the detected microclimate of user 308 drops below a predetermined threshold temperature, control circuitry 334 may activate the heating element to raise the body temperature of user 308, thereby improving the comfort of user 308, maintaining user 308 in their sleep cycle, transitioning user 308 to the next preferred sleep state, and / or otherwise maintaining or improving the sleep quality of user 308.
[0100] In some implementations, in response to detecting the presence of a user bed of user 308 and / or user 308 sleeping, control circuitry 334 can cause thermostat 316 to change the temperature in different rooms to different values. For example, in response to determining that user 308 is in bed for the night, control circuitry 334 can generate and transmit control signals to cause thermostat 316 to set the temperature in one or more bedrooms of the house to 72 degrees and the temperature in other rooms to 67 degrees. Other control signals are possible and can be based on user preferences and user input.
[0101] The control circuit 334 may also receive temperature information from the thermostat 316 and use the temperature information to control the functions of the bed 302 or other devices. For example, as described above, the control circuit 334 may adjust the temperature of a heating element (e.g., a foot warmer) included in or otherwise attached to the bed 302 in response to the temperature information received from the thermostat 316.
[0102] In some implementations, the control circuit 334 can generate and transmit control signals for controlling other temperature control systems. For example, in response to determining that the user 308 wakes up for the day, the control circuit 334 can generate and transmit control signals to activate floor heating elements in the bedroom and / or other rooms in the house. For example, the control circuit 334 can turn on the floor heating system in the master bedroom in response to determining that the user 308 wakes up for the day. One or more control signals determined by the control circuit 334 described herein can also be determined by the central controller described above.
[0103] The control circuit 334 may additionally communicate with the security system 318, receive information from the security system 318, and generate control signals for controlling the functions of the security system 318. For example, in response to detecting that the user 308 has entered the bed for the night, the control circuit 334 may generate a control signal that causes the security system 318 to enable or disable the security functions. The control circuit 334 may then send the control signal to the security system 318 to enable the security system 318 (e.g., turn on security cameras along the perimeter of the house, automatically lock the doors in the house, etc.). For another example, the control circuit 334 may generate and transmit a control signal to disable the security system 318 in response to determining that the user 308 has awakened to start the day (e.g., the user 308 is no longer present in the bed 302 after 6:00am). In some specific implementations, the control circuit 334 may generate and transmit a first set of control signals to enable a first set of safety features for the security system 318 in response to detecting the presence of a user bed of the user 308, and may generate and transmit a second set of control signals to enable a second set of safety features for the security system 318 in response to detecting that the user 308 has fallen asleep.
[0104] In some implementations, the control circuit 334 may receive an alarm from the security system 318 and indicate the alarm to the user 308. For example, the control circuit 334 may detect that the user 308 has entered the bed for the night, and in response, generate and transmit a control signal to enable or disable the security system 318. The security system may then detect a security breach (e.g., someone opens the door 332 without entering a security code, or someone opens a window while the security system 318 is enabled). The security system 318 may communicate the security breach to the control circuit 334 of the bed 302. In response to receiving the communication from the security system 318, the control circuit 334 may generate a control signal to alert the user 308 of the security breach. For example, the control circuit 334 may cause the bed 302 to vibrate. As another example, the control circuit 334 may cause a portion of the bed 302 to articulate (e.g., raise or lower the head section) in order to wake the user 308 and alert the user of the security breach. As another example, the control circuit 334 may generate and transmit a control signal to cause the light 326 to flash at regular intervals to warn the user 308 of a security breach. As another example, the control circuit 334 may warn the user 308 of one bed 302 about a security breach in the bedroom of another bed, such as an open window in a child's bedroom. As another example, the control circuit 334 may send a warning to a garage door controller (e.g., to close and lock the door). As another example, the control circuit 334 may send a warning to disable security. The control circuit 334 may also trigger a smart alarm clock or other alarm device / clock near the bed 302. The control circuit 334 may transmit a push notification, text message, or other indication of a security breach to the user device 310. In addition, the control circuit 334 may send a notification of the security breach to the central controller described above. The central controller may then determine one or more responses to the security breach.
[0105] The control circuit 334 may additionally generate and transmit control signals for controlling the garage door 320 and receive information indicating the state (e.g., open or closed) of the garage door 320. For example, in response to determining that the user 308 is in bed for the night, the control circuit 334 may generate and transmit a request to a garage door opener or another device capable of sensing whether the garage door 320 is open. The control circuit 334 may request information about the current state of the garage door 320. If the control circuit 334 receives a response (e.g., from the garage door opener) indicating that the garage door 320 is open, the control circuit 334 may notify the user 308 that the garage door is open (e.g., by displaying a notification or other message at the user device 310, by outputting a notification at the central controller, etc.), and / or generate a control signal that causes the garage door opener to close the garage door 320. For example, the control circuit 334 may send a message to the user device 310 indicating that the garage door is open. As another example, the control circuit 334 may cause the bed 302 to vibrate. As another example, control circuit 334 may generate and transmit a control signal to cause lighting system 314 to cause one or more lights in the bedroom to flash to alert user 308 to check the warning of user device 310 (in this example, a warning that garage door 320 is open). Alternatively or additionally, control circuit 334 may generate and transmit a control signal to cause a garage door opener to close garage door 320 in response to identifying that user 308 is in bed that night and garage door 320 is open. The control signal may also vary according to the age of user 308.
[0106] The control circuit 334 may similarly send communications for controlling the door 332 or oven 322 and receive communications for status information associated with the door or oven. For example, upon detecting that the user 308 has entered the bed for the night, the control circuit 334 may generate and transmit to the device or system a request to detect the state of the door 332. The information returned in response to the request may indicate various states of the door 332, such as open, closed but not locked, or closed and locked. If the door 332 is open or closed but not locked, the control circuit 334 may warn the user 308 of the state of the door, such as in the manner described above with respect to the garage door 320. Alternatively, or in addition to warning the user 308, the control circuit 334 may generate and transmit a control signal to lock the door 332 or close and lock it. If the door 332 is closed and locked, the control circuit 334 may determine that no further action is required.
[0107] Similarly, when the user 308 is detected to be in bed that night, the control circuit 334 may generate and send a request to the oven 322 to request the state of the oven 322 (e.g., whether it is turned on or off). If the oven 322 is turned on, the control circuit 334 may warn the user 308 and / or generate and transmit a control signal to turn off the oven 322. If the oven is already turned off, the control circuit 334 may determine that no further action is required. In some specific implementations, different alarms may be generated for different events. For example, the control circuit 334 may cause the table lamp 326 (or one or more other lights via the lighting system 314) to flash in a first mode when the security system 318 detects a tampering, flash in a second mode when the garage door 320 is open, flash in a third mode when the door 332 is open, flash in a fourth mode when the oven 322 is turned on, and flash in a fifth mode when another bed detects that the user 308 of the bed has left the bed (e.g., the child of the user 308 leaves the bed at midnight, as sensed by a sensor in the child's bed). Other examples of alarms that may be processed by the control circuitry 334 of the bed 302 and communicated to the user (e.g., at the user device 310 and / or a central controller as described herein) include an alarm from a smoke detector detecting smoke (and communicating that smoke detection to the control circuitry 334), a carbon monoxide tester detecting carbon monoxide, a heater failure, or from any other device that is capable of communicating with the control circuitry 334 and detecting an event that should be brought to the attention of the user 308.
[0108] The control circuit 334 may also communicate with a system or device for controlling the state of the blinds 330. For example, in response to determining that the user 308 is in bed for the night, the control circuit 334 may generate and transmit a control signal to close the blinds 330. For another example, in response to determining that the user 308 is up for the day (e.g., the user leaves the bed after 6:30am) or the user 308 sets an alarm to wake up at a specific time, the control circuit 334 may generate and transmit a control signal to open the blinds 330. Conversely, if the user 308 leaves the bed before the normal wake-up time of the user 308, the control circuit 334 may determine that the user 308 is not awake for the day and may not generate a control signal to open the blinds 330. For another example, the control circuit 334 may generate and transmit a control signal to close the first set of blinds in response to detecting the presence of the user's bed of the user 308, and to close the second set of blinds in response to detecting that the user 308 is sleeping.
[0109] The control circuit 334 may generate and transmit control signals for controlling functions of other household devices in response to detecting user interaction with the bed 302. For example, in response to determining that the user 308 is awake to start the day, the control circuit 334 may generate and transmit a control signal to the coffee maker 324 to cause the coffee maker 324 to begin brewing coffee. As another example, the control circuit 334 may generate and transmit a control signal to the oven 322 to cause the oven 322 to begin preheating (for users who like freshly baked bread in the morning or who bake or prepare food in the morning). As another example, the control circuit 334 may generate and transmit a control signal to cause a car engine block heater to turn on using information indicating that the user 308 is awake to start the day and information indicating that the time of year is currently winter and / or the outdoor temperature is below a threshold.
[0110] As another example, control circuit 334 may generate and transmit a control signal to cause one or more devices to enter a sleep mode in response to detecting the presence of a user bed of user 308 or in response to detecting that user 308 is sleeping. For example, control circuit 334 may generate a control signal to cause a mobile phone of user 308 to switch to a sleep mode or night mode, such that notifications from the mobile phone are muted so as not to disturb the sleep of user 308. Control circuit 334 may then send the control signal to the mobile phone. Later, upon determining that user 308 is getting up to start the day, control circuit 334 may generate and transmit a control signal to cause the mobile phone to switch out of the sleep mode.
[0111] In some implementations, the control circuit 334 may communicate with one or more noise control devices. For example, upon determining that the user 308 has entered the bed for the night or that the user 308 is sleeping (e.g., based on a pressure signal received from the bed 302, an audio / decibel signal received from an audio sensor positioned on or around the bed 302, etc.), the control circuit 334 may generate and transmit a control signal to activate one or more noise cancellation devices. The noise cancellation device may, for example, be included as part of the bed 302 or located in a bedroom with the bed 302. For another example, upon determining that the user 308 has entered the bed for the night or that the user 308 is sleeping, the control circuit 334 may generate and transmit a control signal to turn on, turn off, increase, or decrease the volume of one or more sound generating devices (e.g., a stereo system radio, a television, a computer, a tablet computer, a mobile phone, etc.).
[0112] Additionally, the functionality of the bed 302 may be controlled by the control circuit 334 in response to user interaction with the bed 302. As mentioned throughout the text, the functionality of the bed 302 described herein may also be controlled by the user device 310 and / or a central controller (e.g., a hub device or other home automation device that controls multiple different devices in the home). As mentioned above, the bed 302 may include an adjustable base and an articulation controller configured to adjust the position of one or more portions of the bed 302 by adjusting the adjustable base supporting the bed 302. For example, the articulation controller can adjust the bed 302 from a flat position to a position in which the head portion of the mattress of the bed 302 is tilted upward (e.g., to facilitate the user to sit up, read and / or watch television in bed). In some embodiments, the bed 302 includes multiple sections that can be individually articulated. For example, the portions of the bed corresponding to the positions of the air chambers 306a and 306b may be articulated independently of one another to allow one person positioned on the surface of the bed 302 to rest in a first position (e.g., a flat position) while a second person rests in a second position (e.g., a reclined position with the head raised from the waist at an angle). In some implementations, separate positions may be set for two different beds (e.g., twin beds placed adjacent to one another). The base of the bed 302 may include more than one area that may be independently adjusted. The articulation controller may also be configured to provide different levels of massage to one or more users on the bed 302, or to vibrate the bed to communicate a warning to the user 308, as described above.
[0113] The control circuit 334 may adjust the position (e.g., tilt the position of the user 308 and / or additional users of the bed 302 upward and downward) in response to the user's interaction with the bed 302. For example, the control circuit 334 may cause the articulation controller to adjust the bed 302 to a first reclined position of the user 308 in response to sensing the user bed presence of the user 308. The control circuit 334 may cause the articulation controller to adjust the bed 302 to a second reclined position (e.g., a less reclined or flat position) in response to determining that the user 308 is sleeping. As another example, the control circuit 334 may receive a communication from the television 312 indicating that the user 308 has turned off the television 312, and in response, the control circuit 334 may cause the articulation controller to adjust the position of the bed 302 to a preferred user sleeping position (e.g., because the user turned off the television 312 while the user 308 was in the bed indicating that the user 308 wishes to fall asleep).
[0114] In some implementations, the control circuit 334 may control the articulation controller to wake up one user of the bed 302 without waking up another user of the bed 302. For example, the user 308 and the second user of the bed 302 may each set a different wake-up time (e.g., 6:30am and 7:15am, respectively). When the wake-up time of the user 308 is reached, the control circuit 334 may cause the articulation controller to vibrate or change the position of only the side of the bed where the user 308 is located to wake up the user 308 without disturbing the second user. When the wake-up time of the second user is reached, the control circuit 334 may cause the articulation controller to vibrate or change the position of only the side of the bed where the second user is located. Alternatively, when the second wake-up time is reached, the control circuit 334 may utilize other methods (such as an audio alarm or turning on a light) to wake up the second user because the user 308 is already awake and therefore will not be disturbed when the control circuit 334 attempts to wake up the second user.
[0115] Still reference Figure 3 , the control circuit 334 for the bed 302 may utilize information about the interactions of multiple users with the bed 302 to generate control signals for controlling the functions of various other devices. For example, the control circuit 334 may wait until both the user 308 and the second user are detected as being present on the bed 302 before generating control signals to, for example, enable the security system 318 or instruct the lighting system 314 to turn off the lights in various rooms. As another example, the control circuit 334 may generate a first set of control signals to cause the lighting system 314 to turn off the first set of lights when the presence of the bed of the user 308 is detected, and generate a second set of control signals to turn off the second set of lights in response to detecting the presence of the bed of the second user. As another example, the control circuit 334 may not generate control signals to open the blinds 330 until it is determined that both the user 308 and the second user have woken up for the day. As another example, in response to determining that user 308 has left bed 302 and awakened to start the day, but a second user is still asleep, control circuitry 334 may generate and transmit a first set of control signals to cause coffee maker 324 to begin brewing coffee, deactivate security system 318, turn on desk lamp 326, turn off night light 328, cause thermostat 316 to raise the temperature in one or more rooms to 72 degrees, and / or open blinds 330 in rooms other than the bedroom where bed 302 is located. Later, in response to detecting that the second user is no longer present in bed (or the second user is awake or waking up), control circuitry 334 may generate and transmit a second set of control signals to, for example, cause lighting system 314 to turn on one or more lights in the bedroom, cause blinds in the bedroom to open, and turn on television 312 and tune to a pre-specified channel. One or more other home automation control signals may be determined and generated by control circuitry 334, user device 310, and / or a central controller as described herein.
[0116] Example of a data processing system associated with a bed
[0117] Described here are examples of systems and components that can be used, for example, for data processing tasks associated with a bed. In some cases, multiple examples of a particular component or group of components are presented. Some of these examples are redundant and / or mutually exclusive alternatives. Connections between components are shown as examples to illustrate possible network configurations for allowing communication between components. Connections of different formats may be used depending on technical needs or expectations. Connections generally represent logical connections that can be created using any technically feasible format. For example, a network on a motherboard may be created using a printed circuit board, a wireless data connection, and / or other types of network connections. For clarity, some logical connections are not shown. For example, for simplicity, connections to a power source and / or a computer-readable memory may not be shown because many or all elements of a particular component may need to be connected to a power source and / or a computer-readable memory.
[0118] Figure 4A is compatible with bed systems (including Figures 1 to 3 1 and 1 . A block diagram of an example of a data processing system 400 associated with a computer (such as those described herein) is shown in FIG. 4 . The system 400 includes a pump motherboard 402 and a pump daughterboard 404. The system 400 includes a sensor array 406 having one or more sensors configured to sense physical phenomena of the environment and / or the bed and report such sensing back to the pump motherboard 402 for, for example, analysis. The sensor array 406 may include one or more different types of sensors, including but not limited to pressure sensors, temperature sensors, light sensors, movement (e.g., motion) sensors, and audio sensors. The system 400 also includes a controller array 408 having one or more controllers configured to control logically controlled devices of the bed and / or the environment (such as home automation devices, security systems, light systems, and reference Figure 3 The pump motherboard 400 may communicate with one or more computing devices 414 and one or more cloud services 410 via a local network, the Internet 412, or other technically appropriate means. Each of these components will be described in more detail below, with some of them having multiple example configurations.
[0119] In this example, the pump motherboard 402 and the pump daughterboard 404 are communicatively coupled. They can be conceptually described as the center or hub of the system 400, while the other components are conceptually described as spokes of the system 400. In some configurations, this can mean that each spoke component communicates primarily or exclusively with the pump motherboard 402. For example, the sensors in the sensor array 406 may not be configured or capable of communicating directly with the corresponding controller. Instead, each spoke component can communicate with the motherboard 402. The sensors in the sensor array 406 can report sensor readings to the motherboard 402, and the motherboard 402 can determine in response that the controllers in the controller array 408 should adjust some parameters of the logical controlled device or otherwise modify the state of one or more peripheral devices. In one case, if the temperature of the bed is determined to be overheated based on the temperature signal received from the sensor array 406, the pump motherboard 402 can determine that the temperature controller should cool the bed.
[0120] One advantage of a hub-and-spoke network configuration (also sometimes referred to as a star network) is that network traffic is reduced compared to, for example, a mesh network with dynamic routing. If a particular sensor generates a large, continuous stream of traffic, that traffic may be transmitted to the motherboard 402 via only one spoke of the network. The motherboard 402 may, for example, collate that data and compress it into a smaller data format for retransmission for storage in the cloud service 410. Additionally or alternatively, in response to the large stream, the motherboard 402 may generate a single, small command message to be sent along different spokes of the network. For example, if the large data stream is pressure readings transmitted from the sensor array 406 several times per second, the motherboard 402 may respond to the controller array with a single command message to increase the pressure in the air chamber of the bed. In this case, the single command message may be several orders of magnitude smaller than the stream of pressure readings.
[0121] As another advantage, the hub-and-spoke network configuration may allow for an expandable network that can adapt to the addition, removal, failure, etc. of components. This may allow, for example, more, fewer, or different sensors in sensor array 406, controllers in controller array 408, computing devices 414, and / or cloud services 410. For example, if a particular sensor fails or is obsoleted by the advent of an updated version of that sensor, system 400 may be configured such that only the relevant information for the replacement sensor needs to be updated to motherboard 402. This may allow, for example, product differentiation (where the same motherboard 402 may support an entry-level product with fewer sensors and controllers, a higher value product with more sensors and controllers) and customer personalization (where a customer may add components of their own choice to system 400).
[0122] Additionally, a line of air bed products may use system 400 with different components. In applications where each air bed in a production line includes both the central logic unit and the pump, motherboard 402 (and optionally daughterboard 404) may be designed to fit within a single common housing. Then, with each upgrade of a product in the production line, additional sensors, controllers, cloud services, etc. may be added. By designing all products in a production line from this base, design, manufacturing, and testing time may be reduced compared to a production line where each product has a customized logic control system.
[0123] Each of the components discussed above can be implemented in a wide variety of techniques and configurations. Below, some examples of each component will be further discussed. In some alternatives, two or more of the components of system 400 can be implemented in a single alternative component. Some components can be implemented in multiple separate components; and / or some functions can be provided by different components.
[0124] Figure 4B 412. is a block diagram illustrating some of the communication paths of the data processing system 400. As previously described, the motherboard 402 and the pump daughterboard 404 can act as a hub for the peripheral devices and cloud services of the system 400. In the event that the pump daughterboard 404 communicates with the cloud service or other components, the communication from the pump daughterboard 404 can be routed through the pump motherboard 402. This can allow, for example, a bed to have only a single connection to the Internet 412. The computing device 414 can also have a connection to the Internet 412, perhaps through the same gateway used by the bed and / or perhaps through a different gateway (e.g., a cell service provider).
[0125] A plurality of cloud services 410 are described previously. Figure 4B As shown, some cloud services such as cloud services 410d and 410e may be configured so that the pump motherboard 402 can communicate directly with the cloud services—that is, the motherboard 402 can communicate with the cloud service 410 without having to use another cloud service 410 as an intermediary. Additionally or alternatively, some cloud services 410, such as cloud service 410f, may only be reachable by the pump motherboard 402 through an intermediary cloud service (e.g., cloud service 410e). Although not shown here, some cloud services 410 may be reachable by the pump motherboard 402 directly or indirectly.
[0126] Additionally, some or all of the cloud services 410 may be configured to communicate with other cloud services. The communication may include data transfers and / or remote function calls according to any technically appropriate format. For example, one cloud service 410 may request a copy of the data of another cloud service 410, for example, for the purpose of backup, coordination, migration, or for performing calculations or data mining. In another example, many cloud services 410 may contain data indexed according to a specific user tracked by a user account cloud 410c and / or a bed data cloud 410a. When accessing data specific to a specific user or bed, these cloud services 410 may communicate with the user account cloud 410c and / or the bed data cloud 410a.
[0127] Figure 5 is available with the bed system (including Figures 1 to 3 4. A block diagram of an example of a motherboard 402 used in a data processing system associated with those described herein. In this example, the motherboard 402 is composed of relatively few parts and may be limited to providing a relatively limited set of features compared to other examples described below.
[0128] The motherboard 402 includes a power source 500, a processor 502, and a computer memory 512. In general, the power source 500 includes hardware for receiving electrical power from an external source and supplying it to the components of the motherboard 402. The power source may include, for example, a battery pack and / or a wall outlet adapter, an AC to DC converter, a DC to AC converter, a power conditioner, a capacitor bank, and / or one or more interfaces for providing power of the type of current, voltage, etc. required by the other components of the motherboard 402.
[0129] Processor 502 is generally a device for receiving input, performing logical determinations, and providing output. Processor 502 may be a central processing unit, a microprocessor, a general purpose logic circuit, an application specific integrated circuit, a combination of these, and / or other hardware for performing the desired functions.
[0130] Memory 512 is generally one or more devices for storing data. Memory 512 may include long-term stable data storage (e.g., on a hard disk), short-term volatile data storage (e.g., on random access memory), or any other technically appropriate configuration.
[0131] The motherboard 402 includes a pump controller 504 and a pump motor 506. The pump controller 504 may receive commands from the processor 502 and, in response, control the operation of the pump motor 506. For example, the pump controller 504 may receive a command from the processor 502 to increase the pressure of the air chamber by 0.3 pounds per square inch (PSI). In response, the pump controller 504 enables the valve so that the pump motor 506 is configured to pump air into the selected air chamber, and the pump motor 506 may be enabled for a length of time corresponding to 0.3 PSI or until the sensor indicates that the pressure has increased by 0.3 PSI. In an alternative configuration, the message may specify that the chamber should be inflated to a target PSI, and the pump controller 504 may enable the pump motor 506 until the target PSI is reached.
[0132] The valve solenoid 508 can control which air chamber the pump is connected to. In some cases, the solenoid 508 can be controlled directly by the processor 502. In some cases, the solenoid 508 can be controlled by the pump controller 504.
[0133] The remote interface 510 of the motherboard 402 may allow the motherboard 402 to communicate with other components of the data processing system. For example, the motherboard 402 may communicate with one or more daughter boards, peripheral sensors, and / or peripheral controllers via the remote interface 510. The remote interface 510 may provide any technically suitable communication interface, including but not limited to multiple communication interfaces such as WIFI, Bluetooth, and copper wire networks.
[0134] Figure 6 is available with the bed system (including Figures 1 to 3 A block diagram of an example of a motherboard 402 used in a data processing system associated with those described herein. Figure 5 Compared to the motherboard 402 described, Figure 6 The motherboard 402 in the embodiment may contain more components and provide more functions in some applications.
[0135] In addition to the power source 500, processor 502, pump controller 504, pump motor 506 and valve solenoid 508, the motherboard 402 is shown as having a valve controller 600, a pressure sensor 602, a universal serial bus (USB) stack 604, a WiFi radio 606, a low energy Bluetooth (BLE) radio 608, a ZigBee radio 610, a Bluetooth radio 612 and computer memory 512.
[0136] Similar to the way that pump controller 504 converts commands from processor 502 into control signals for pump motor 506, valve controller 600 can convert commands from processor 502 into control signals for valve solenoid 508. In one example, processor 502 can issue a command to valve controller 600 to connect a pump to a particular air chamber in a set of air chambers in an air bed. Valve controller 600 can control the position of valve solenoid 508 so that the pump is connected to the indicated air chamber.
[0137] The pressure sensor 602 may read pressure readings from one or more air chambers of the air bed. The pressure sensor 602 may also perform digital sensor conditioning. As described herein, a plurality of pressure sensors 602 may be included as part of the motherboard 402 or otherwise communicate with the motherboard 402.
[0138] The motherboard 402 may include a set of network interfaces 604, 606, 608, 610, 612, etc., including but not limited to Figure 6 These network interfaces may allow the motherboard to communicate with any number of devices, including but not limited to peripheral sensors, peripheral controllers, computing devices, and devices and services connected to the Internet 412, via a wired or wireless network.
[0139] Figure 7 is available with the bed system (including Figures 1 to 3 4 (described in detail in the accompanying drawings). In some configurations, one or more daughter boards 404 may be connected to the motherboard 402. Some daughter boards 404 may be designed to offload specific and / or divided tasks from the motherboard 402. This can be advantageous, for example, in cases where a specific task is computationally intensive, proprietary, or subject to future revisions. For example, a daughter board 404 may be used to calculate a specific sleep data indicator. The indicator may be computationally intensive, and calculating the sleep indicator on the daughter board 404 may release the resources of the motherboard 402 when the indicator is calculated. Additionally and / or alternatively, the sleep indicator may be subject to future revisions. In order to update the system 400 with a new sleep indicator, it may only be necessary to replace the daughter board 404 that calculates the indicator. In this case, the same motherboard 402 and other components can be used, thereby saving the need for unit testing of additional components other than the daughter board 404.
[0140] The daughter board 404 is shown as having a power source 700, a processor 702, a computer readable memory 704, a pressure sensor 706, and a WiFi radio 708. The processor 702 can use the pressure sensor 706 to collect information about the pressure of one or more air chambers of the air bed. Based on this data, the processor 702 can execute an algorithm to calculate a sleep index (e.g., sleep quality, whether the user is currently in bed, whether the user has fallen asleep, the user's heart rate, the user's breathing rate, the user's movement, etc.). In some examples, the sleep index can be calculated only from the pressure of the air chamber. In other examples, the sleep index can be calculated using signals from a variety of sensors (e.g., a motion sensor, a pressure sensor, a temperature sensor, and / or an audio sensor). In examples where different data is required, the processor 702 can receive the data from the appropriate sensor. These sensors can be inside the daughter board 404, can be accessed via the WiFi radio 708, or otherwise communicate with the processor 702. Once the sleep index is calculated, the processor 702 can report the sleep index to, for example, the motherboard 402. The motherboard 402 may then generate instructions or controls to control the bed system and / or peripheral devices for outputting the sleep metrics to the user or otherwise using the sleep metrics to determine one or more other information about the user.
[0141] Figure 8 is available with the bed system (including Figures 1 to 3 800 is a block diagram of an example of a motherboard 800 without a daughterboard used in a data processing system associated with those described above. In this example, the motherboard 800 can execute the reference Figure 6 The motherboard 402 and Figure 7 Most, all, or more of the features described for daughterboard 404 in .
[0142] Fig.9A is available with the bed system (including Figures 1 to 3 4. Block diagram of an example of a sensor array 406 for use in a data processing system associated with those described herein. In general, sensor array 406 is a conceptual grouping of some or all peripheral sensors that communicate with motherboard 402 but are not inherent to motherboard 402.
[0143] The peripheral sensors 902, 904, 906, 908, 910, etc. in the sensor array 406 can communicate with the motherboard 402 through one or more of the motherboard's network interfaces, including but not limited to the USB stack 604, WiFi radio 606, low-power Bluetooth (BLE) radio 608, ZigBee radio 610, and Bluetooth radio 612, as appropriate for the configuration of the particular sensor. For example, a sensor that outputs readings via a USB cable can communicate via the USB stack 604.
[0144] Some of the peripheral sensors in the sensor array 406 can be sensors 900 mounted on the bed, such as temperature sensors 906, light sensors 908, and sound sensors 910. The sensors 900 mounted on the bed can be, for example, embedded in the structure of the bed and sold with the bed, or attached to the structure of the bed later (e.g., a portion of a pressure sensing pad removably mounted on the top surface of the bed, a portion of a temperature sensing pad or heating pad removably mounted on the top surface of the bed, integrated into the top surface of the bed, attached along a connecting tube between a pump and an air chamber, within the air chamber, attached to the headboard of the bed, attached to one or more areas of an adjustable base, etc.). For another example, one or more of the sensors 902 can be load sensors or force sensors. Such sensors can be located at the bottom of a bed leg (e.g., four, six, eight, or another number of legs). The load sensor or force sensor can also be positioned between the bed leg and the platform or base of the bed. The load sensor or force sensor can also be positioned near the center of the bed leg. The disclosed techniques may be used to process signals detected by load sensors or force sensors (e.g., load flow, force flow) to generate parameters (e.g., sleep parameters, physiological indicators, health parameters) and additionally or alternatively control one or more home automation devices. Other sensors 902 and 904 may communicate with the motherboard 402, but are optionally not mounted to the bed. Other sensors 902 and 904 may include pressure sensors 902 and / or peripheral sensors 904. For example, sensors 902 and 904 may be integrated or otherwise part of a user's mobile device (e.g., a mobile phone, a wearable device, etc.). Sensors 902 and 904 may also be part of a central controller for controlling beds and peripheral devices in the home. Sometimes, sensors 902 and 904 may also be part of one or more home automation devices or other peripheral devices in the home.
[0145] In some cases, the bed mounted sensor 900 and / or some or all of the sensors 902 and 904 may share networking hardware, including tubing containing wires from each sensor, a multi-wire cable or plug that connects all associated sensors to the motherboard 402 when attached to the motherboard 402. In some embodiments, one, some, or all of the sensors 902, 904, 906, 908, and 910 may sense one or more characteristics of the mattress, such as pressure, temperature, light, sound, and / or one or more other characteristics of the mattress. In some embodiments, one, some, or all of the sensors 902, 904, 906, 908, and 910 may sense one or more characteristics of the exterior of the mattress. In some embodiments, the pressure sensor 902 may sense the pressure of the mattress, while some or all of the sensors 902, 904, 906, 908, and 910 may sense one or more characteristics of the mattress and / or the exterior of the mattress.
[0146] Fig. 9B 9 is a schematic top view of a bed 920 having an example sensor strip 932 including one or more sensors 934A-N that may be used in a data processing system associated with the bed 920. The bed 920 may include a mattress 922. The bed 920 may be the same as or similar to the air bed system 100 described throughout the present disclosure. The mattress 922 may be the same as or similar to the mattress 112 described throughout the present disclosure. For additional discussion of the bed 920 and the mattress 922, refer to Figure 1 The mattress 922 may have a foam basin 930 beneath the top of the mattress 922. The foam basin 930 may have at least one air chamber 923A and / or 923B positioned therein. The air chambers 923A and / or 923B may be the same or similar to any of the other air chambers described throughout this disclosure.
[0147] A sensor strip 932 having a plurality of sensors 934A-N may be attached from one side wall to an opposite side wall (e.g., from left to right) across the mattress top 924. The sensor strip 932 may be attached near the head section of the mattress 922 to measure temperature and / or humidity values around the chest area of the user 936. Sometimes, the strip 932 may be placed a shorter distance 938 to the head section of the mattress 922 than a longer distance 940 from the foot end of the mattress 922. The sensor strip 932 may also be placed at a center point (e.g., midpoint) of the mattress 922 so that the distances 938 and 940 are equal to each other. The sensor strip 932 may be placed at one or more other locations on the top of the mattress 922 to capture temperature and / or humidity values at the top of the mattress 922.
[0148] Sensor strip 932 includes a plurality of sensors 934A-N. The plurality of sensors 934A-N may be Fig.9A 930. In addition, the sensor strip 932 may include a carrier strip 933 having a first strip portion 933A and a second strip portion 933B. The carrier strip 933 may be releasably attached to the foam basin layer 920 and extend between the opposite lateral ends of the foam basin 920. The sensor strip 932 may have a plurality of first sensors 934A-N and a plurality of second sensors 934A-N. Each plurality of sensors 934A-N may have five sensors. For example, in the case where the sensor strip 932 is configured for a king size and / or queen size mattress 922, the sensor strip 932 may have a total of ten sensors. The plurality of first sensors 934A-N may be attached to the first strip portion 933A of the carrier strip 933 and spaced apart from each other in the longitudinal direction of the carrier strip 933. The plurality of second sensors 934A-N may be attached to the second strip portion 933B of the carrier strip 933 and also spaced apart from each other in the longitudinal direction of the carrier strip 933. Thus, when a user 936 is positioned on top of the mattress 922 above the air chamber 923A, the plurality of first sensors 934A-N can measure temperature and / or humidity values of the mattress top 924 above the air chamber 923A. These measurements can be used, for example, to determine a conditioned air flow supplied to the air chamber 923A. One or more temperature and / or humidity values measured by the plurality of second sensors 934A-N can then be used, for example, to determine a conditioned air flow supplied to the air chamber 923B. Thus, the bed system 920 can provide customized air flows to different portions of the mattress 922 based on the user's body temperature and / or the temperature of different portions of the mattress top 924.
[0149] In some implementations, two separate sensor strips may be attached to the mattress 922. For example, a first sensor strip may be attached over the portion of the mattress 922 having the air chamber 923A, and a second sensor strip separate from the first sensor strip may be attached over the portion of the mattress 922 having the air chamber 923B. The first sensor strip and the second sensor strip may be attached to the center of the mattress top 924 via a fastening element, such as an adhesive. The sensor strip 932 may also be easily replaced with another sensor strip.
[0150] Fig. 9C953 is a schematic diagram of an example bed having force sensors 955 located at the bottom of bed legs 953. Although illustrated as having force sensors 955 located at the bottom of legs 953, force sensors 955 may be located elsewhere to similar effect. For example, force sensors 955 may be located between legs 953 and platform 950. In some implementations, such as when strain gauges are used as force sensors 955, force sensors 955 may be located closer to the center of legs 953 to similar effect. In some implementations, force sensors 955 may be load sensors. As described above, sensors 902 (e.g., reference Fig.9A ) can be a load sensor or force sensor 955.
[0151] Fig.10 is available with the bed system (including Figures 1 to 3 4. A block diagram of an example of a controller array 408 used in a data processing system associated with those described herein. In general, a controller array 408 is a conceptual grouping of some or all peripheral controllers that communicate with motherboard 402 but are not native to motherboard 402.
[0152] The peripheral controllers in the controller array 408 can communicate with the motherboard 402 through one or more of the motherboard's network interfaces, including but not limited to a USB stack 604, a WiFi radio 606, a low-power Bluetooth (BLE) radio 608, a ZigBee radio 610, and a Bluetooth radio 612, as appropriate for the configuration of a particular sensor. For example, a controller receiving commands through a USB cable can communicate through the USB stack 604.
[0153] Some of the controllers in the controller array 408 may be bed mounted controllers 1000, such as a temperature controller 1006, a light controller 1008, and a speaker controller 1010. The bed mounted controller 1000 may, for example, be embedded in the structure of the bed and sold with the bed, or be attached to the structure of the bed later, as described in reference to FIG. Fig.9A Other peripheral controllers 1002 and 1004 may communicate with the motherboard 402, but are optionally not mounted to the bed. In some cases, the controller 1000 mounted on the bed and / or some or all of the peripheral controllers 1002 and 1004 may share networking hardware, including conduits containing wires for each controller, multi-wire cables or plugs that connect all associated controllers to the motherboard 402 when attached to the motherboard 402.
[0154] Fig.11 is available with the bed system (including Figures 1 to 31 and 1 . A block diagram of an example of a computing device 412 for use in a data processing system associated with a bed (such as those described herein). Computing device 412 may include, for example, a computing device used by a user of a bed. Example computing devices 412 include, but are not limited to, mobile computing devices (e.g., mobile phones, tablet computers, laptops, smart phones, wearable devices), desktop computers, home automation devices, and / or central controllers or other hub devices.
[0155] The computing device 412 includes a power source 1100, a processor 1102, and a computer-readable memory 1104. User input and output may be transmitted by, for example, a speaker 1106, a touch screen 1108, or other components not shown (such as a pointing device or keyboard). The computing device 412 may run one or more applications 1110. These applications may include, for example, applications that allow a user to interact with the system 400. These applications may allow the user to view information about the bed (e.g., sensor readings, sleep indicators), information about itself (e.g., health conditions detected based on signals sensed at the bed), and / or configure the behavior of the system 400 (e.g., setting the desired firmness of the bed, setting the desired behavior of peripheral devices). In some cases, the computing device 412 may be used in addition to or in place of the previously described remote control 122.
[0156] Fig.12 is available with the bed system (including Figures 1 to 3 1 and 12. A block diagram of an example bed data cloud service 410a for use in a data processing system associated with those described in the accompanying drawings. In this example, the bed data cloud service 410a is configured to collect sensor data and sleep data from a particular bed and match the sensor and sleep data to one or more users using the bed as they are generated.
[0157] The bed data cloud service 410a is shown with a network interface 1200, a communication manager 1202, server hardware 1204, and server system software 1206. In addition, the bed data cloud service 410a is shown with a user identification module 1208, a device management module 1210, a sensor data module 1210, and an advanced sleep data module 1214.
[0158] The network interface 1200 generally includes hardware and low-level software for allowing one or more hardware devices to communicate over a network. For example, the network interface 1200 may include a network card, a router, a modem, and other hardware required to allow components of the bed data cloud service 410a to communicate with each other and other destinations over, for example, the Internet 412.
[0159] The communication manager 1202 generally includes hardware and software that operates on the network interface 1200. This includes software that initiates, maintains, and terminates network communications used by the bed data cloud service 410a. This includes, for example, TCP / IP, SSL or TLS, Torrent, and other communication sessions over a local area network or wide area network. The communication manager 1202 may also provide load balancing and other services to other elements of the bed data cloud service 410a.
[0160] The server hardware 1204 generally includes physical processing devices for instantiating and maintaining the bed data cloud service 410a. The hardware includes, but is not limited to, processors (e.g., central processing units, ASICs, graphics processors) and computer readable memory (e.g., random access memory, stable hard disks, tape backups). One or more servers may be configured as clusters, multiple computers, or data centers that may be geographically separated or connected.
[0161] The server system software 1206 generally includes software that runs on the server hardware 1204 to provide an operating environment for applications and services. The server system software 1206 may include an operating system that runs on a real server, virtual machines that are instantiated on a real server to create many virtual servers, and server-level operations such as data migration, redundancy, and backup.
[0162] The user identification 1208 may include or reference data related to a user of a bed having an associated data processing system. For example, a user may include a customer, owner, or other user registered with the bed data cloud service 410a or another service. Each user may have, for example, a unique identifier, user credentials, contact information, billing information, demographic information, or any other technically appropriate information.
[0163] The device manager 1210 may include or reference data related to beds or other products associated with the data processing system. For example, a bed may include a product sold with or registered with a system associated with the bed data cloud service 410a. Each bed may have, for example, a unique identifier, a model and / or serial number, sales information, geographic information, delivery information, a list of associated sensors and control peripherals, etc. Additionally, one or more indexes stored by the bed data cloud service 410a may identify users associated with the bed. For example, the index may record the sale of the bed to the user, the user sleeping on the bed, etc.
[0164] Sensor data 1212 may record raw or compressed sensor data recorded by a bed having an associated data processing system. For example, the bed's data processing system may have a temperature sensor, a pressure sensor, a motion sensor, an audio sensor, and / or a light sensor. Readings from one or more of these sensors (in raw form or in a format generated from the sensor's raw data (e.g., sleep metrics)) may be communicated by the bed's data processing system to the bed data cloud service 410a for storage in sensor data 1212. Additionally, one or more indexes stored by the bed data cloud service 410a may identify the user and / or bed associated with the sensor data 1212.
[0165] The bed data cloud service 410a may use any of the data available to it, such as the sensor data 1212, to generate high-level sleep data 1214. Generally, the high-level sleep data 1214 includes sleep metrics and other data generated from the sensor readings, such as health information associated with the user of the particular bed. Some of these calculations may be performed in the bed data cloud service 410a, rather than locally on the bed's data processing system, for example, because the calculations may be computationally complex or require a large amount of memory space or processor power that may not be available on the bed's data processing system. This may help allow the bed system to operate with a relatively simple controller and still be part of a system that performs relatively complex tasks and calculations.
[0166] For example, the bed data cloud service 410a may retrieve one or more machine learning models from a remote data store and use these models to determine high-level sleep data 1214. The bed data cloud service 410a may retrieve different types of models based on the type of high-level sleep data 1214 being generated. As an illustrative example, the bed data cloud service 410a may retrieve one or more models to determine the overall sleep quality of the user based on currently detected sensor data 1212 and / or historical sensor data (e.g., the sensor data may be stored in and accessed from the data store). The bed data cloud service 410a may retrieve one or more other models to determine whether the user is currently snoring based on the detected sensor data 1212. The bed data cloud service 410a may also retrieve one or more other models that can be used to determine whether the user is experiencing a certain health condition based on the detected sensor data 1212.
[0167] Fig.13 is available with the bed system (including Figures 1 to 3 1. A block diagram of an example sleep data cloud service 410b for use in a data processing system associated with those described herein. In this example, the sleep data cloud service 410b is configured to record data related to a user's sleep experience.
[0168] The sleep data cloud service 410b is shown with a network interface 1300, a communication manager 1302, server hardware 1304, and server system software 1306. In addition, the sleep data cloud service 410b is shown with a user identification module 1308, a pressure sensor manager 1310, a pressure-based sleep data module 1312, a raw pressure sensor data module 1314, and a non-pressure sleep data module 1316. Sometimes, the sleep data cloud service 410b may include a sensor manager for each of the sensors integrated with the bed or otherwise in communication with the bed. In some specific implementations, the sleep data cloud service 410b may include a sensor manager associated with multiple sensors in the bed. For example, a single sensor manager may be associated with pressure, temperature, light, movement, and audio sensors in the bed.
[0169] refer to Fig.13 In the sleep data cloud service 410b in the sleep data cloud service 410b, the pressure sensor manager 1310 may include or reference data related to the configuration and operation of the pressure sensors in the bed. For example, the data may include identifiers of the sensor types in the specific bed, settings and calibration data for these sensors, etc.
[0170] The pressure-based sleep data 1312 may use the raw pressure sensor data 1314 to calculate sleep metrics that are closely associated with the pressure sensor data. For example, user presence, movement, weight change, heart rate, and breathing rate may all be determined from the raw pressure sensor data 1314. Additionally, one or more indexes stored by the sleep data cloud service 410b may identify users associated with the pressure sensors, raw pressure sensor data, and / or pressure-based sleep data.
[0171] The non-stress sleep data 1316 may use other data sources to calculate sleep metrics. For example, user input preferences, light sensor readings, and sound sensor readings may all be used to track sleep data. As another example, user presence may be determined based on a combination of raw pressure sensor data 1314 and non-stress sleep data 1316 (such as raw temperature sensor data or load sensor data). From at least one temperature sensor located on the surface of the mattress (reference FIG. 9A to FIG. 9B Temperature data collected by the temperature sensor 906 in the reference Fig.9AIn some embodiments, the temperature data collected by the at least one temperature sensor 902 may be used in combination to determine whether the user is lying in bed (e.g., bed exists) or not in bed (e.g., bed does not exist). In some embodiments, bed existence may be determined using only temperature data collected from at least one temperature sensor. Changes in temperature data may be monitored to determine bed existence or non-existence in time intervals (e.g., time windows) of a given duration. In addition, temperature data and / or pressure data may be combined with other sensing modalities or motion sensors (e.g., load sensors) that reflect different forms of movement to accurately detect user presence in bed. In order to detect user presence, temperature and / or pressure data may be provided as input to a bed presence classifier, which may determine user bed presence based on real-time or near real-time data collected at the bed. The bed presence classifier may be trained, for example, to distinguish temperature data from pressure data, identify peaks in temperature data and peaks in pressure data, and generate a bed presence indication based on associating peaks in temperature data with peaks in pressure data. The peak in temperature data may be within a threshold distance from a peak in the pressure signal to then generate an indication that the user is currently in bed. Additionally, one or more indexes stored by the sleep data cloud service 410b may identify users associated with other sensor and / or non-stress sleep data 1316 .
[0172] Fig.14 is available with the bed system (including Figures 1 to 3 1. A block diagram of an example user account cloud service 410c for use in a data processing system associated with those described herein. In this example, the user account cloud service 410c is configured to record a list of users and identify other data related to those users.
[0173] The user account cloud service 410c is shown with a network interface 1400, a communication manager 1402, server hardware 1404, and server system software 1406. In addition, the user account cloud service 410c is shown with a user identification module 1408, a purchase history module 1410, an interaction module 1412, and an application usage history module 1414.
[0174] The user identification module 1408 may include or reference data related to users of a bed having an associated data processing system. For example, a user may include a customer, owner, or other user registered with the user account cloud service 410c or another service. Each user may have, for example, a unique identifier and user credentials, demographic information, or any other technically appropriate information. Each user may also have user-entered preferences regarding the user's bed system (e.g., firmness settings, heating / cooling settings, incline and / or decline positions for different areas of the bed, etc.), preferences regarding the surrounding environment (e.g., lighting, temperature, etc.), and / or preferences regarding peripheral devices (e.g., turning on or off a television, coffee maker, security system, alarm clock, etc.).
[0175] The purchase history module 1410 may include or reference data related to the user's purchases. For example, the purchase data may include contact information, billing information, and salesperson information for a sale associated with the user's purchase of a bed system. Additionally, one or more indexes stored by the user account cloud service 410c may identify the user associated with the purchase of the bed system.
[0176] Interactions 1412 may track the user's interactions with the manufacturer, supplier, and / or administrator of the bed and / or cloud service. The interaction data may include communications (e.g., emails, service calls), data from sales (e.g., sales receipts, configuration logs), and social network interactions. The interaction data may also include repairs, maintenance, or replacement of components of the user's bed system.
[0177] The usage history module 1414 may contain data about the user's interaction with one or more applications and / or remote controls of the bed. For example, the monitoring and configuration application may be distributed to run on, for example, a computing device 412. The computing device 412 may include a mobile phone, a laptop, a tablet, a computer, a smart phone, and / or a wearable device of the user. The computing device 412 may also include a central controller or hub device that can be used to control the operation of the bed system and one or more peripheral devices. In addition, the computing device 412 may include a home automation device. The application presented to the user via the computing device 412 may record and report user interactions for storage in the application usage history module 1414. Additionally, one or more indexes stored by the user account cloud service 410c may identify the user associated with each log entry. The user interactions stored in the application usage history module 1414 may optionally be used to determine or otherwise predict user preferences and / or settings for the user's bed and / or peripheral devices that can improve the user's overall sleep quality.
[0178] Fig.15 is available with the bed system (including Figures 1 to 31 and 1 . A block diagram of an example point of sale cloud service 1500 for use in a data processing system associated with those described herein. In this example, the point of sale cloud service 1500 is configured to record data related to a user's purchases, particularly purchases of the bed systems described herein.
[0179] Point of sale cloud service 1500 is shown with a network interface 1502, a communication manager 1504, server hardware 1506, and server system software 1508. Additionally, point of sale cloud service 1500 is shown with a user identification module 1510, a purchase history module 1512, and a bed setup module 1514.
[0180] The purchase history module 1512 may include or reference data related to purchases made by the user identified in the user identification module 1510. The purchase information may include data such as the sales price and sales location, the delivery address, and the configuration options selected by the user at the time of sale. These configuration options may include selections made by the user regarding how they wish to set up their newly purchased bed, and may include, for example, an intended sleep schedule, a list of peripheral sensors and controls that they have or will install, and the like.
[0181] The bed setup module 1514 may include or reference data related to the installation of a bed purchased by a user. The bed setup data may include, for example, the date and address at which the bed was delivered, the person to whom the delivery was received, the configuration applied to the bed at the time of delivery (e.g., firmness setting), the names of one or more users who will sleep on the bed, which side of the bed each user will use, etc.
[0182] The data recorded in the point of sale cloud service 1500 may be referenced by the user's bed system at a later date to control functions of the bed system and / or send control signals to peripheral components based on the data recorded in the point of sale cloud service 1500. This may allow sales personnel to collect information from the user at the point of sale that later facilitates automation of the bed system. In some examples, some or all aspects of the bed system may be automated after the point of sale with little or no data entered by the user. In other examples, the data recorded in the point of sale cloud service 1500 may be used in conjunction with various additional data collected from the data entered by the user.
[0183] Fig.16 is available with the bed system (including Figures 1 to 3 16. A block diagram of an example environment cloud service 1600 for use in a data processing system associated with those described herein. In this example, the environment cloud service 1600 is configured to record data related to a user's home environment.
[0184] The environmental cloud service 1600 is shown as having a network interface 1602, a communication manager 1604, server hardware 1606, and server system software 1608. In addition, the environmental cloud service 1600 is shown as having a user identification module 1610, an environmental sensor module 1612, and an environmental factor module 1614.
[0185] The environmental sensor module 1612 may include a list and identification of sensors that the user has identified in the user identification module 1610 that have been installed in and / or around their bed. These sensors may include any sensor that can detect environmental variables, including but not limited to light sensors, noise / audio sensors, vibration sensors, thermostats, movement sensors (e.g., motion), etc. Additionally, the environmental sensor module 1612 may store historical readings or reports from those sensors. The environmental sensor module 1612 may then be accessed and used at a later time by one or more of the cloud services described herein to determine the user's sleep quality and / or health information.
[0186] The environmental factors module 1614 may include reports generated based on data in the environmental sensor module 1612. For example, the environmental factors module 1614 may generate and maintain a report based on light sensor data stored in the environmental sensor module 1612 indicating the frequency and duration of instances of increased lighting when the user is sleeping.
[0187] In the examples discussed herein, each cloud service 410 is shown as having some of the same components. In various configurations, these same components may be partially or completely shared between services, or they may be separate. In some configurations, each service may have a separate copy of some or all of the components that are the same or different in some way. Additionally, these components are provided only as illustrative examples. In other examples, each cloud service may have different numbers, types, and styles of components that are technically possible.
[0188] Fig.17 is a bed for use with a bed (e.g., a bed system described herein, such as Figures 1 to 3 1700 is a block diagram of an example of automating peripheral devices around a bed using a data processing system associated with the computer 400. The behavior analysis module 1700 is shown here running on the pump motherboard 402. For example, the behavior analysis module 1700 can be one or more software components stored on the computer memory 512 and executed by the processor 502.
[0189] In general, the behavior analysis module 1700 can collect data from a variety of sources (e.g., sensors 902, 904, 906, 908, and / or 910, non-sensor local sources 1704, cloud data services 410a and / or 410c) and use the behavior algorithm 1702 (e.g., one or more machine learning models) to generate one or more actions to be taken (e.g., commands to be sent to a peripheral controller, data to be sent to a cloud service such as the bed data cloud 410a and / or the user account cloud 410c). This can be useful, for example, in tracking user behavior and automating devices that communicate with the user's bed.
[0190] The behavior analysis module 1700 may collect data from any technically appropriate source, for example, to collect data about the characteristics of the bed, the environment of the bed, and / or the user of the bed. Some such sources include any of the sensors in the sensor array 406 described previously (e.g., including but not limited to sensors such as 902, 904, 906, 908, and / or 910). For example, the data may provide information about the current state of the environment around the bed to the behavior analysis module 1700. For example, the behavior analysis module 1700 may access readings from the pressure sensor 902 to determine the pressure of the air chamber in the bed. Based on this reading and potential other data, it can be determined that the user on the bed exists. In another example, the behavior analysis module 1700 may access the light sensor 908 to detect the amount of light in the environment of the bed. The behavior analysis module 1700 may also access the temperature sensor 906 to detect the temperature in the bed environment and / or one or more microclimates in the bed. Using this data, the behavior analysis module 1700 may determine whether the temperature of the bed environment and / or the components of the bed should be adjusted to improve the user's sleep quality and overall comfort.
[0191] Similarly, the behavior analysis module 1700 can access data from cloud services and use such data to make more accurate determinations of the user's sleep quality, health information, and / or control of the user's bed and / or peripherals. For example, the behavior analysis module 1700 can access the bed cloud service 410a to access historical sensor data 1212 and / or advanced sleep data 1214. Other cloud services 410 (including those previously described) can be accessed by the behavior analysis module 1700. For example, the behavior analysis module 1700 can access weather reporting services, third-party data providers (e.g., traffic and news data, emergency broadcast data, user travel data), and / or clock and calendar services. Using the data retrieved from the cloud service 410, the behavior analysis module 1700 can more accurately determine the user's sleep quality, health information, and / or control of the user's bed and / or peripherals.
[0192] Similarly, the behavior analysis module 1700 can access data from non-sensor sources 1704. For example, the behavior analysis module 1700 can access a local clock and calendar service (e.g., a component of the motherboard 402 or the processor 502). The behavior analysis module 1700 can use the local clock and / or calendar information to determine, for example, the time of day when the user is in bed, asleep, awake, and / or in bed.
[0193] The behavior analysis module 1700 can aggregate and prepare the data for use with one or more behavior algorithms 1702. As mentioned, the behavior algorithm 1702 may include a machine learning model. The behavior algorithm 1702 can be used to learn the user's behavior and / or perform some actions based on the state of the accessed data and / or the predicted user behavior. For example, the behavior algorithm 1702 can use available data (e.g., pressure sensors, non-sensor data, clock and calendar data) to create a model of when the user goes to bed each night. Later, the same or different behavior algorithm 1702 can be used to determine whether an increase in air chamber pressure may indicate that the user has gone to bed, and if so, send some data to the third-party cloud service 410 and / or enable the peripheral controller 1002 or 1004, the base actuator 1006, the temperature controller 1008 and / or the under-bed lighting controller 1010.
[0194] In the example shown, the behavior analysis module 1700 and the behavior algorithm 1702 are shown as components of the pump motherboard 402. However, other configurations are possible. For example, the same or similar behavior analysis module 1700 and / or behavior algorithm 1702 may be run in one or more cloud services, and the resulting output may be sent to the pump motherboard 402, the controllers in the controller array 408, or to any other technically appropriate recipient described throughout this document.
[0195] Fig.18 Examples of computing devices 1800 and examples of mobile computing devices that can be used to implement the techniques described herein are shown. Computing device 1800 is intended to represent various forms of digital computers, such as laptops, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Mobile computing devices are intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, and other similar computing devices. The components shown here, their connections and relationships, and their functions are meant to be exemplary only and are not meant to limit the specific implementations of the invention described and / or claimed herein.
[0196] The computing device 1800 includes a processor 1802, a memory 1804, a storage device 1806, a high-speed interface 1808 connected to the memory 1804 and a plurality of high-speed expansion ports 1810, and a low-speed interface 1812 connected to a low-speed expansion port 1814 and the storage device 1806. Each of the processor 1802, the memory 1804, the storage device 1806, the high-speed interface 1808, the high-speed expansion port 1810, and the low-speed interface 1812 is interconnected using various buses and may be mounted on a common motherboard or otherwise as appropriate. The processor 1802 may process instructions for execution within the computing device 1800, including instructions stored in the memory 1804 or on the storage device 1806 to display graphical information for a GUI on an external input / output device such as a display 1816 coupled to the high-speed interface 1808. In other specific implementations, multiple processors and / or multiple buses may be used with multiple memories and multiple types of memories as appropriate. Additionally, multiple computing devices may be connected, with each device providing a portion of the necessary operations (eg, as a server array, a group of blade servers, or a multi-processor system).
[0197] The memory 1804 stores information within the computing device 1800. In some implementations, the memory 1804 is one or more volatile memory units. In some implementations, the memory 1804 is one or more non-volatile memory units. The memory 1804 may also be another form of computer-readable medium, such as a magnetic disk or an optical disk.
[0198] Storage device 1806 can provide mass storage for computing device 1800. In some implementations, storage device 1806 can be or include a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device or a tape device, a flash memory or other similar solid-state storage device, or a device array including devices in a storage area network or other configurations. A computer program product can be tangibly embodied in an information carrier. A computer program product can also include instructions that, when executed, perform one or more methods (such as those described above). A computer program product can also be tangibly embodied in a computer-readable medium or a machine-readable medium, such as memory 1804, storage device 1806, or a memory on processor 1802.
[0199] The high-speed interface 1808 manages bandwidth-intensive operations of the computing device 1800, while the low-speed interface 1812 manages less bandwidth-intensive operations. This allocation of functions is exemplary only. In some implementations, the high-speed interface 1808 is coupled to the memory 1804, the display 1816 (e.g., through a graphics processor or accelerator), and to a high-speed expansion port 1810 that can accept various expansion cards (not shown). In this implementation, the low-speed interface 1812 is coupled to the storage device 1806 and the low-speed expansion port 1814. The low-speed expansion port 1814, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be coupled to one or more input / output devices (such as a keyboard, a pointing device, a scanner) or a networking device (such as a switch or a router), for example, through a network adapter.
[0200] As shown, computing device 1800 can be implemented in a variety of different forms. For example, it can be implemented as a standard server 1820, or multiple times in a group of such servers. In addition, it can be implemented in a personal computer such as a laptop 1822. It can also be implemented as part of a rack server system 1824. Alternatively, components from computing device 1800 can be combined with other components in a mobile device (not shown), such as a mobile computing device 1850. Each of these devices can contain one or more of computing device 1800 and mobile computing device 1850, and the entire system can be composed of multiple computing devices that communicate with each other.
[0201] The mobile computing device 1850 includes a processor 1852, a memory 1864, an input / output device (such as a display 1854), a communication interface 1866, and a transceiver 1868, among other components. The mobile computing device 1850 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Each of the processor 1852, the memory 1864, the display 1854, the communication interface 1866, and the transceiver 1868 is interconnected using various buses, and several components may be mounted on a common motherboard or otherwise as appropriate.
[0202] Processor 1852 may execute instructions within mobile computing device 1850, including instructions stored in memory 1864. Processor 1852 may be implemented as a chipset including separate multiple analog and digital processor chips. Processor 1852 may, for example, provide coordination of other components of mobile computing device 1850, such as control of a user interface, applications executed by mobile computing device 1850, and wireless communications performed by mobile computing device 1850.
[0203] The processor 1852 can communicate with the user through the control interface 1858 and the display interface 1856 coupled to the display 1854. The display 1854 can be, for example, a TFT (thin film transistor liquid crystal display) display or an OLED (organic light emitting diode) display, or other suitable display technology. The display interface 1856 may include appropriate circuits for driving the display 1854 to present graphics and other information to the user. The control interface 1858 can receive commands from the user and convert them for submission to the processor 1852. In addition, the external interface 1862 can provide communication with the processor 1852 to enable near-area communication of the mobile computing device 1850 with other devices. The external interface 1862 can provide, for example, wired communication in some specific implementations, or wireless communication in other specific implementations, and multiple interfaces can also be used.
[0204] The memory 1864 stores information within the mobile computing device 1850. The memory 1864 may be implemented as one or more of one or more computer-readable media, one or more volatile memory units, or one or more non-volatile memory units. An expansion memory 1874 may also be provided and connected to the mobile computing device 1850 via an expansion interface 1872, which may include, for example, a SIMM (Single In-line Memory Module) card interface. The expansion memory 1874 may provide additional storage space for the mobile computing device 1850, or may also store applications or other information for the mobile computing device 1850. Specifically, the expansion memory 1874 may include instructions for executing or supplementing the above-mentioned processes, and may also include security information. Thus, for example, the expansion memory 1874 may be provided as a security module for the mobile computing device 1850, and may be programmed with instructions that allow the secure use of the mobile computing device 1850. In addition, security applications and additional information may be provided via a SIMM card, such as placing identification information on the SIMM card in an unbreakable manner.
[0205] The memory may include, for example, flash memory and / or NVRAM memory (non-volatile random access memory), as described below. In some implementations, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods (such as those described above). The computer program product may be a computer-readable medium or a machine-readable medium, such as memory 1864, expansion memory 1874, or memory on processor 1852. In some implementations, the computer program product may be received, for example, in a propagated signal by transceiver 1868 or external interface 1862.
[0206] The mobile computing device 1850 may communicate wirelessly via a communication interface 1866, which may include digital signal processing circuitry, if necessary. The communication interface 1866 may provide for communication in various modes or protocols, such as GSM voice calls (Global System for Mobile Communications), SMS (Short Message Service), EMS (Enhanced Messaging Service) or MMS messaging (Multimedia Messaging Service), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), PDC (Personal Digital Cellular), WCDMA (Wideband Code Division Multiple Access), CDMA2000 or GPRS (General Packet Radio Service), etc. Such communication may be performed, for example, via a transceiver 1868 using radio frequency. In addition, short-range communication may be performed, such as using Bluetooth, WiFi or other such transceivers (not shown). In addition, a GPS (Global Positioning System) receiver module 1870 may provide additional navigation and location-related wireless data to the mobile computing device 1850, which may be used as appropriate by applications running on the mobile computing device 1850.
[0207] The mobile computing device 1850 may also communicate audibly using an audio codec 1860, which may receive verbal information from a user and convert it into usable digital information. The audio codec 1860 may also generate audible sounds for the user, such as through a speaker, such as in a handset of the mobile computing device 1850. Such sounds may include sounds from voice phone calls, may include recorded sounds (e.g., voice messages, music files, etc.), and may also include sounds generated by applications operating on the mobile computing device 1850.
[0208] As shown, mobile computing device 1850 can be implemented in many different forms. For example, it can be implemented as a cellular phone 1880. It can also be implemented as part of a smart phone 1882, a personal digital assistant, or other similar mobile devices.
[0209] Various implementations of the systems and techniques described herein can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementations in one or more computer programs executable and / or interpretable on a programmable system that includes at least one programmable processor that can be special or general purpose, coupled to receive data and instructions from and send data and instructions to a storage system, at least one input device, and at least one output device.
[0210] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages and / or assembly / machine languages. As used herein, the terms machine-readable medium and computer-readable medium refer to any computer program product, apparatus, and / or device (e.g., disks, optical disks, memories, and programmable logic devices (PLDs)) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term machine-readable signal refers to any signal for providing machine instructions and / or data to a programmable processor.
[0211] To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and pointing device (e.g., a mouse or trackball) that the user can use to provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including sound, voice, or tactile input.
[0212] The systems and techniques described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server), or includes a middleware component (e.g., an application server), or includes a front-end component (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with a specific implementation of the systems and techniques described herein), or any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0213] The computing system may include clients and servers. Clients and servers are generally remote from each other and generally interact through a communication network. The relationship between a client and a server is due to computer programs running on the respective computers, and they have a client-server relationship to each other.
[0214] Fig.19 1 is a schematic diagram of an example system 1900 for generating physiological data of a user's sleep period. In system 1900, a bed includes an element capable of generating sensor readings based on the weight of a user of the bed. The sensor readings are used to determine weight change data that records the weight change of the user throughout the sleep period.
[0215] The bed 1902 includes one or more sensors 1904 to 1912, which in this example are load sensors 1904 to 1910 and a pressure transducer 1912 in fluid communication with the bladder of the bed 1902, although other types and numbers of sensors may be used (e.g., a larger bed with eight legs may include eight load sensors). Each sensor may generate a weight stream based on the weight applied to the bed by the user. In this example, the weight stream is a ballistocardiogram (BCG). LC0 -BCG 压力 , but other types and numbers of weight streams may be used (eg, a larger bed with eight load sensors may produce eight corresponding ballistocardiograms).
[0216] A calculation module 1914 may be executed on the computer system to determine a high-quality segment of the weight reading, a calculation module 1916 may be executed on the computer system to determine a weight estimate throughout the high-quality segment, and a calculation module 1918 may be executed on the computer system to detect sleep stages based on the BCG data. For example, these calculation modules may be executed on the same or different processors of the same or different devices (including mobile phones, desktop computers, servers, cloud hosting services, etc.).
[0217] Weight estimation and sleep stage data can be combined to generate weight change data 1918 that records the weight change of the user throughout the sleep period. As shown here, weight change data 1918 is presented as a discontinuous trend line. As will be understood, weight change data 1918 can be recorded on computer hardware as binary data representing various weight values at different time indexes in a single sleep period. In addition, secondary data 1920 created from the processing of raw weight change data 1918 can be generated and stored with weight change data. The derived data may include weight change over time (e.g., measurement of weight change over time—sometimes referred to as weight change speed), the aggregate weight of the weight of the user that night, weight change per sleep stage, and other weight indicators that generate a single integer or decimal value to represent the user's weight with a single value that night.
[0218] Fig. 20 is a diagram of example data 2000 that can be used to generate physiological data over many sleep periods. For example, data 2000 can be stored in binary format on one or more computer memories as described in this document on devices and services such as mobile phones, tablets, laptops, desktop computers, servers, and cloud services.
[0219] The weight readings and weight change data are stored in data 2002. For example, data 2002 may include all weight readings for a particular sleep period 2004, with some of these weight readings being marked as being part of the weight change data. For example, data 2002 may include weight values (e.g., an absolute weight such as 198.3 pounds, or a relative weight such as -0.86 pounds compared to an initial weight value for a sleep period) indexed by time (e.g., an absolute time such as 11:23:19 PM, or a relative time compared to an initial time for the sleep period such as +1:43:17 hours:minutes:seconds).
[0220] The weight reading period in the weight reading can be marked as high quality or low quality. For example, one or more tests can be applied to data 2002 to mark the period as high quality or low quality. Such tests may include an analysis of changes over time, wherein large changes indicate low quality. These large changes, when greater than the expected changes in the weight of the object due to metabolic activity (e.g., a sudden increase of 30 pounds), may indicate noise in the sensor system or the user's total motion movement (e.g., getting in and out of bed, rolling in bed, sitting up in bed), another user entering or leaving bed, etc. Such tests may include an analysis of the consistency between two or more sensors used to create data 2002. For example, if four of the five sensors indicate a change of 0.01 pounds in some periods, and the fifth sensor indicates an increase of 7.3 pounds in the same time frame, this inconsistency can be used to mark the reading as low quality. High quality periods do not have to be continuous, although they can be continuous. In some specific implementations, classification as high quality or low quality may include analysis of adjacent periods. In some cases, the computing system may be configured to never mark consecutive epochs as high quality, thereby ensuring a sparse distribution of high quality epochs in data 2002. This may be desirable, for example, in situations where computing resources are limited and therefore the number of epochs needs to be reduced for timely analysis. In some cases, the computer system may be configured to increase the quality score of an epoch if there are no high quality epochs within a given number of epochs, which may be useful to ensure a minimum number or ratio of epochs are marked as high quality. Other scoring schemes may be used, including those that analytically encourage consecutive high quality epochs.
[0221] A high quality period represents reliable weight change data that records the weight change of a user throughout a given sleep period (which may be an entry in the data 2004 across various sleep periods). For example, a given user's metabolic processes may cause them to lose approximately three pounds through a night's sleep period due to fat loss through energy consumption, gas exchange, water loss through sweat or urine, etc. The weight change data shows how this change occurs and allows the change to be placed in the context of various times (e.g., clock time) or logical associations (e.g., before falling asleep, in various sleep states, after waking up but before leaving the bed). In this way, the data 2002 may record more than a single weight value for the user, but it should be understood that the data 2002 may be aggregated into a single weight value by selecting a weight reading, taking an average, etc.
[0222] The weight change data of data 2002 may include various types of information that are directly encoded on a computer memory or easily calculated from information encoded on a computer memory. For example, an absolute timestamp may be directly encoded for each reading, and a relative time window may be easily calculated by subtracting another timestamp from one timestamp. The weight change data may include multiple weight values indexed by time in a sleep period. This may include a tuple or other format that records [time: weight] values. The weight change data may include a trend line of the change in the user's weight over time during a sleep period. This includes the "Y" value for each possible "X" value in an "XY" chart, the equation of the best fit line found via regression analysis, a graphic file or other format of a line ready to be displayed on a screen or printed on paper.
[0223] In some cases, the weight change data of data 2002 includes weight values associated with specific sleep stages of a sleep period. For example, the timing of the sleep stages of a sleep period may be recorded in data 2002 or cross-indexed with other data. For a given weight value in data 2002, the sleep stage that the user was in at that time may be found. Similarly, for a given sleep stage, one or more weight values may be found. In some specific implementations, the sleep stages include i) rapid eye movement (REM) sleep stages and ii) non-REM (NREM) sleep stages, but other schemes for classifying sleep stages are also possible.
[0224] Data 2006 includes environmental readings from environmental sensors. Some or all of the environmental readings may be used as environmental data that records information about the user's sleeping environment and bed. In some cases, the environmental readings may be classified as high quality and low quality. This may include analyzing only the environmental readings to determine which represent high quality and low quality, using the quality determination of data 2002, or a combination of both.
[0225] Environmental data may include information about one or more types of environmental phenomena. Some examples include, but are not limited to, ii) ambient temperature (e.g., air temperature or bed temperature), iii) humidity (e.g., atmospheric humidity or humidity of bedding surrounding a sleeper), iv) atmospheric pressure (e.g., as measured or based on weather reports), v) atmospheric composition (e.g., measurements of various gases in the ambient atmosphere, measurements of various particulates and / or pathogens in the air), and vi) noise levels (e.g., as measured or estimated from devices known to be activated and emitting sound).
[0226] Data 2008 includes physiological readings from physiological sensors. Some or all of the physiological readings may be used as physiological data to record information about the sleeper's physiological state and / or process. In some cases, the physiological readings may be classified as high quality and low quality. This may include analyzing only the physiological readings to determine which represent high quality and low quality, using the quality determination of data 2002, or a combination of both.
[0227] Physiological data may include information about one or more types of physiological phenomena. Some examples include, but are not limited to: i) heart rate (e.g., beats per minute, heart rate variability), ii) respiratory rate (e.g., breaths per minute, respiratory variability), iii) total body movement (e.g., movement counts, measurements of movement amplitude, changes in posture and / or position in bed), iv) the user's body temperature throughout the sleep period (e.g., average temperature, maximum temperature, temperature variability).
[0228] Data 2010 includes physiological indicators derived from other data such as data 2002 and / or data 2010. In some cases, physiological readings may be classified as high quality and low quality. This may include analyzing only the physiological readings to determine which represent high quality and low quality, using the quality determination of data 2002, or a combination of both. Some examples of physiological indicators include, but are not limited to: i) basal metabolic rate (BMR) (e.g., a measure of a user's energy use); ii) sleep energy expenditure (SEE) (e.g., a measure of a user's energy use only when the user is asleep); iii) calories consumed during sleep periods; iv) gas exchange rate; and v) electrodermal activity.
[0229] Fig.21 21 is a swim lane diagram of an example process 2100 for generating physiological data of a user. In this example, the process 2100 is performed by a weight sensor 2101, a physiological sensor 2104, an environmental sensor 2106, a computer system 2108, and an automation controller 2110, which are described in more detail elsewhere in this document. However, other numbers and types of components may be used to perform the process 2100 and other similar processes.
[0230] The weight sensor 2102 may include one or more air cells for receiving pressure applied to the bed by the user. For example, the bed may have one or more air cells integrated into the manufacture of the mattress, may include one or more removable air cells placed under the mattress or under the bedding, etc. The weight sensor 2102 may include one or more air pressure sensors in fluid communication with one or more of the one or more air cells and configured to sense air pressure.
[0231] In some cases, the bed may include one or more support members, such as legs.The weight sensor 2102 may include one or more load sensors configured to sense a load applied to the support members, for example, by a user lying on the bed.
[0232] The weight sensors 2112 sense 2102 the weight applied to the bed and send 2114 the weight readings to the computer system 2108. For example, each weight sensor 2102 may sense the weight applied to various elements of the bed (e.g., air bags, individual legs) and report a weight reading for that portion of the bed.
[0233] Physiological sensors 2104 sense 2116 physiological phenomena of the user during sleep periods and send 2118 physiological readings to computer system 2106. For example, a temperature sensor may sense the user's body temperature in one or more locations and send temperature readings to computer system 2106. As another example, a wrist-worn activity monitor may sense the user's total body movement and send movement readings to computer system 2106.
[0234] Environmental sensors 2106 sense 2120 environmental phenomena of the sleep environment during the sleep period and send 2122 environmental readings to computer system 2108. For example, an ambient temperature sensor may sense the ambient temperature of the air surrounding the sleeper, an embedded temperature sensor in the user's bedding may sense the temperature of the bedding (e.g., an electric blanket or pillow), or a heating, ventilation, and air conditioning (HVAC system) may report an estimated temperature in a user's room based on the settings of the building in which the room is located.
[0235] The computer system 2108 receives 2124 a weight reading, receives 2126 a physiological reading, and receives 2128 an environmental reading. For example, the readings may be sent by the various sensors 2102 over a wired or wireless network, with different sensors reporting on different schedules and in some cases in different formats.
[0236] The computer system 2108 classifies 2130 the weight reading periods in the weight readings as high quality or low quality. For example, these periods can be seconds or minutes time windows of weight readings, or a given number of weight readings. In some cases, the periods overlap. In some cases, the periods are sequential. In some cases, the periods are not continuous, so that there are time gaps between each period.
[0237] In some cases, determining the quality of an epoch includes determining whether the total body movement for a given weight reading epoch is less than a threshold. For example, movement may be determined based on the weight reading, where the computer system 2108 uses a classifier (e.g., based on heuristics and / or machine learning training) to classify an epoch as having a threshold that is likely to show total movement. In some cases, the threshold may be defined as less than a threshold difference in weight compared to a previous epoch.
[0238] In some cases, determining the quality of an epoch includes determining whether a bed entry / bed exit is occurring in the epoch. For example, movement may be determined based on a weight reading, where the computer system 2108 uses a classifier (e.g., trained based on heuristics and / or machine learning) to classify an epoch as having a threshold that is likely to show a bed entry or bed exit. In some cases, the classifier may also classify the overall movement probability. As will be appreciated, the bed entry or bed exit may be an entry or exit of a user, or may be for another object (e.g., another person or pet sharing a bed with the user).
[0239] In some cases, determining the quality of a period includes determining that the weight reading is greater than a minimum threshold and less than a maximum threshold. As will be appreciated, many sensor systems may occasionally produce "noisy" readings based on inappropriate readings of a malfunction or phenomenon. A bandpass filter or threshold analysis may be performed to determine whether a period of weight readings may be caused by such noisy readings. In some cases, the minimum and maximum thresholds define a set of values that may be produced by a weight sensor operating within specifications. For example, it may be expected that a user will never have a negative weight or a weight exceeding 2,000 pounds, and therefore 0 and 2,000 may be used as thresholds.
[0240] In some cases, determining the quality of an epoch includes programmatically avoiding classifying consecutive weight reading epochs as high quality. For example, computer system 2108 may include a rule set that specifies that any high quality epoch triggers marking an adjacent epoch as high quality.
[0241] Subsequent operations (e.g., generating weight change data or other data) can be configured to use only high-quality weight reading periods. In this way, high-quality readings are used while low-quality readings can be excluded from analysis.
[0242] The computer system 2108 is configured to use the weight readings to determine 2132 user presence in the bed. For example, user entry and exit events may be tracked, and a state of user presence may be determined based on the presence of one more entry event than exit events. For example, the user weight from the previous night may be accessed, and if the current weight in bed is within a threshold difference, then it may be determined that the user is in the bed. The presence determination may be used to identify which weight readings should be used to generate weight change data, and such weight readings may be retained in memory for use in generating weight change data for only those weight readings that correspond to user presence in the bed.
[0243] The computer system 2108 determines 2132 the user's sleeping state. For example, the sleeping state can be a binary value (e.g., true and false, sleeping and awake) that records whether the user is asleep or awake. To determine the user's sleeping state, the computer system 2108 can use data such as weight readings, use weight readings, physiological readings, and / or environmental readings, as well as other types of data. For example, if the user's weight reading is less than a threshold change over time when the user is present in bed (e.g., indicating a lack of total motion movement), the computer system 2108 can classify the user as asleep.
[0244] In some cases, the computer system 2108 may maintain 3124 the weight readings in memory for use in generating weight change data only for those weight readings corresponding to the sleep state being asleep. That is, in some configurations, the weight change data only records the weight change while sleeping, which may be useful, for example, to identify the sleep-specific metabolic activity of the user. In some cases, both the wakefulness data and the sleep data when the user is in bed may be used to create the weight change data or second weight change data. This is useful, for example, to identify the sleep portion of a sleep period and the metabolic activity of both the pre-sleep and post-sleep time periods of the user in bed.
[0245] The computer system 2108 identifies 2136 the sleep periods of the user. For example, the computer system 2108 may perform this identification using data such as user presence data, weight readings, physiological readings, environmental readings, historical data recording patterns of previous sleep periods of users (e.g., users who maintain a regular sleep schedule and therefore predictably go to bed based on established patterns). In some configurations, the sleep periods are defined by data stored in memory. This may include actual or predicted timestamps of bed entry and bed exit, but other formats may be used. Some configurations limit sleep periods to only those sleep periods that occur once a day (usually overnight) that constitute the primary sleep time period for a typical user and exclude naps. Some configurations record sleep periods that include naps. Depending on the configuration, brief interruptions to sleep or time in bed (e.g., going to the bathroom at midnight) may or may not be used to define new sleep periods.
[0246] The computer system 2108 generates 2138 weight change data. For example, the weight change data can record the weight change of the user throughout the sleep period. The computer system 2108 can use the weight readings and identify the change in the user's weight for a given sleep period.
[0247] To generate this data, the computer system 2108 may find out the total weight of the bed and remove the weight that is not associated with the user. As will be understood, depending on the details of the sensor configuration, all or part of the weight of the bed (e.g., frame, mattress, bedding) may be captured by the weight sensor 2102. In such cases, the weight observed after the user enters the bed (e.g., and the entry bed data object or signal is generated in 2132) may be used by the computer system 2108 as the user's weight (with the bed weight captured by the weight sensor 2102 removed). The computer system 2108 may record the baseline weight of the bed based on the weight reading when the user is not in the bed. Then, in order to generate weight change data, the computer system 2108 may be configured to remove the baseline weight of the bed from the weight reading. For example, if an empty bed results in a weight reading of 117.3 pounds, and a bed with a user present results in weight readings of 212.5 pounds, 212.3 pounds, and 211.8 pounds, the weight change information may include instant weight values of 95.2 pounds, 95.0 pounds, and 94.5 pounds.
[0248] These instantaneous weight values describe the user's weight at a specific point in time and can be aggregated or combined in weight change data to show the user's weight change or trend throughout the sleep period. In some implementations, the weight change data includes weight values indexed by time in the sleep period. The index can be in the form of timestamp data stored with the weight value, as a reference to the corresponding weight reading, etc.
[0249] In some cases, the aggregation of weights in the weight change data may be created as a trend line of the change in the user's weight over time during the sleep period. In some implementations, the trend line may be stored as a function equation weight = f (Time_In_Sleep_Session). Such an equation may be found using regression analysis or other types of analysis suitable for the data format and hardware configuration. In some cases, the trend line may be stored as a graphical element or instructions for creating the graphical element. As will be appreciated, the trend line may include discontinuities, smooth or non-smooth lines, multiple lines (e.g., an average trend line or standard deviation line with error bars), etc.
[0250] In some cases, the weight change data includes weight values associated with the sleep stages of the sleep period. For example, each weight value in the weight change data can be marked with the sleep stage in which the user was when the weight value was collected. In some examples, each sleep stage can be marked with a weight value for that stage, which can be an aggregation (e.g., average, median) of all weight values for that sleep stage. In some configurations, the sleep stages are only i) rapid eye movement (REM) sleep stages and ii) non-REM (NREM) sleep stages. In some configurations, the sleep stages may include lists of other sleep stages. Depending on the configuration, such other lists may include various levels of NREM stages, wakefulness stages, restless stages, and stable stages.
[0251] The computer system 2108 generates 2140 physiological data. For example, the computer system 2108 may use weight readings from a single sleep session or multiple sleep sessions to generate physiological data for one or more sleep sessions. The physiological data may be configured to record at least one physiological metric of the user. Examples of physiological metrics may include, but are not limited to, i) heart rate, ii) breathing rate, iii) total body movement, and / or iv) body temperature. Each of these measurements may be, for example, a single value aggregated across a sleep session for a single user or a value that varies over time.
[0252] The computer system 2108 generates 2142 environmental data. For example, the computer system 2108 can use environmental readings from a single sleep session or multiple sleep sessions to generate environmental data that records characteristics of the sleeper's surrounding environment. Examples of environmental measurements in the environmental data can include, but are not limited to, i) ambient temperature, ii) humidity, iii) lighting level, iv) atmospheric pressure, v) atmospheric composition, and / or vi) noise level.
[0253] The computer system 2108 generates 2144 physiological indicators. For example, the computer system may generate physiological indicators using one or more types of data such as i) weight change data, ii) physiological data, and iii) environmental data. These physiological indicators may include physiological characteristics or measurements of the sleeper created based on the physiological data but different from the physiological data. For example, heart rate variability includes a statistical measurement of heart rate characteristics compressed into a single value. Examples of physiological indicators of a user may include metabolic indicators and non-metabolic indicators of the user. Examples of metabolic indicators may include, but are not limited to, i) basal metabolic rate (BMR), ii) sleep energy expenditure (SEE), iii) calories consumed during sleep periods, iv) gas exchange rate, and v) skin electrode activity. Examples of non-metabolic indicators include, but are not limited to, i) heart rate variability (HRV), and behavioral indicators such as ii) sleep movement / restlessness, bed leaving, and posture changes.
[0254] The computer system 2108 displays a report 2150. In some cases, the computer system 2108 may provide the report as an interactive screen in an application, as part of an electronic document (such as an email or electronic medical record (EMR)), and / or as part of a paper or other material printout. The report may include various data described herein, including but not limited to: i) weight change data, ii) physiological data, iii) environmental data; and iv) physiological indicators.
[0255] The automation controller 2110 is configured to enable at least one automation device configured to modify the user's sleeping environment based on the weight change data. For example, the HVAC controller can change the ambient air temperature, the humidifier controller can increase the humidity of the environment, the bed temperature control unit can increase or decrease the temperature of the bedding, etc.
[0256] The automation controller 2110 enables 2146 automation devices during the sleep period. That is, while data for a given sleep period is being generated, the data up to that point in the sleep period may be used to drive the automation. In some cases, this may affect the same sleep period, which may be useful in some cases to promote better sleep quality, increase or decrease metabolic activity to increase or decrease fat loss, tissue repair, digestion, etc. In some cases, this enabling 2110 may use weight change data before all weight change data for the sleep period is generated.
[0257] The automation controller 2110 enables 2148 the automation device during a later sleep session. For example, based on the data from one sleep session, the automation controller 2110 modifies the sleep session for the next night.
[0258] In some cases, process 2100 may be performed simultaneously for two users sleeping in the same bed. For example, both sleepers may sleep normally in the same bed (e.g., king or queen), with the first sleeper sleeping on the first half (e.g., left side) and the second sleeper sleeping on the second half (e.g., right side). When only one user is in the bed, process 2100 may be performed for the one user. Then, when another user enters the bed (e.g., as determined by computer system 2108 detecting an increase in pressure or force detected by the load sensor greater than a threshold (where the threshold is selected to be greater than an estimated pressure or force increase caused by the first user moving or changing posture in the bed), computer system 2108 locates a second thermal centroid based on data from computer system 2108), a second instance of process 2100 may be performed for the second user. In this way, a single bed may be used to track the weight of two users (e.g., and perform other operations, such as enabling automated devices).
Claims
1. A system, comprising: bed; One or more weight sensors, the one or more weight sensors being configured to: sensing weight applied to the bed; as well as Sends weight readings to a computer system; and A computer system comprising a memory and one or more processors, wherein the computer system is configured to: receiving the weight reading; using the weight reading to determine the presence of a user on the bed; using the user presence to identify a sleep period for the user; as well as The weight readings are used and weight change data is generated for a given sleep session recording the change in weight of the user throughout the sleep session. 2 . The system of claim 1 , wherein the weight change data comprises a plurality of weight values indexed by time in the sleep period. 3 . The system of claim 1 , wherein the weight change data comprises a trend line of the weight change of the user over time during the sleep period.
4. The system of claim 1 , wherein the weight change data comprises a plurality of weight values, each weight value being associated with a specific sleep stage of the sleep period, the sleep stages comprising i) a rapid eye movement (REM) sleep stage and ii) a non-REM (NREM) sleep stage.
5. The system of claim 1 , wherein the computer system is further configured to use the weight reading and generate physiological data for the given sleep period, the physiological data recording at least one physiological metric selected from the group consisting of: i) heart rate, ii) breathing rate, iii) total body movement, iv) body temperature of the user throughout the sleep period.
6. The system of claim 1, wherein: The system further comprises one or more physiological sensors configured to: sensing at least one physiological phenomenon of the user during the sleep period; and sending physiological readings to the computer system; and The computer system is further configured to: receiving the physiological reading; as well as The physiological readings are used and physiological data is generated for the given sleep period, the physiological data recording at least one physiological metric selected from the group consisting of: i) heart rate, ii) breathing rate, iii) total body movement, iv) body temperature of the user throughout the sleep period.
7. The system of claim 1, wherein: The system further comprises one or more environmental sensors configured to: sensing at least one environmental phenomenon of the sleeping environment during the sleeping period; and sending environmental readings to the computer system; and the computer system is further configured to: receiving the environmental reading; and Environmental data is generated using the environmental readings, the environmental data recording at least one environmental metric selected from the group consisting of: i) ambient temperature, ii) humidity, iii) lighting level, iv) atmospheric pressure, v) atmospheric composition, and vi) noise level.
8. The system of claim 1, wherein the computer system is further configured to: A physiological indicator of the user is generated using at least one of the group consisting of i) the weight change data, ii) physiological data and iii) environmental data to represent at least one metabolic indicator of the user, the metabolic indicator including at least one of the group consisting of: i) basal metabolic rate (BMR); ii) sleep energy expenditure (SEE); iii) calories consumed during the sleep period; iv) gas exchange rate; and v) skin electrode activity.
9. The system of claim 1, wherein the computer system is further configured to: Weight readings are retained in the memory for use in generating the weight change data only for those weight readings corresponding to the presence of the user on the bed.
10. The system of claim 1, wherein the computer system is further configured to: using the weight reading to determine a sleeping state of the user, the sleeping state identifying whether the user is awake or asleep; Weight readings are retained in the memory for use in generating the weight change data for only those weight readings corresponding to the sleeping state being asleep.
11. The system of claim 1, wherein: The computer system is further configured to record a baseline weight of the bed based on weight readings taken when the user is not in the bed; and To generate the weight change data, the computer system is further configured to remove the baseline weight of the bed from the weight reading.
12. A system according to any one of claims 1 to 11, wherein: The computer system is further configured to classify a period of weight readings in the weight readings as high quality or low quality; and To generate the weight change data, the computer system is further configured to use only the high quality weight reading periods.
13. The system of claim 12, wherein to classify the weight reading period, the computer system is configured to determine whether total body movement for a given period of the weight readings is less than a threshold.
14. The system of claim 12, wherein to categorize the weight reading period, the computer system is configured to determine a bed entry / bed exit status for a given period of the weight reading.
15. The system of claim 12, wherein to classify the weight reading period, the computer system is configured to determine that the weight reading is greater than a minimum threshold and less than a maximum threshold, the minimum threshold and the maximum threshold defining a set of values that can be produced by the weight sensor operating within specifications.
16. The system of claim 12, wherein to classify the weight reading epochs, the computer system is configured to avoid classifying consecutive weight reading epochs as high quality.
17. A system according to any one of claims 1 to 11, wherein: The system includes one or more air cells for receiving pressure applied to the bed by the user; and The one or more weight sensors include one or more air pressure sensors in fluid communication with one or more of the one or more air bladders and configured to sense air pressure.
18. A system according to any one of claims 1 to 11, wherein: The bed includes one or more support members; and The one or more weight sensors include one or more load sensors configured to sense a load applied to the support member.
19. The system according to any one of claims 1 to 11, wherein: The bed includes one or more support members; The system includes one or more air cells for receiving pressure applied to the bed by the user; The one or more weight sensors include one or more load sensors configured to sense a load applied to the support member; and The one or more weight sensors include one or more air pressure sensors in fluid communication with one or more of the one or more air bladders and configured to sense air pressure.
20. The system according to any one of claims 1 to 11, wherein the computer system is further configured to: A report including at least one of the group consisting of: i) the weight change data, ii) physiological data, iii) environmental data; and iv) a physiological indicator is displayed.
21. The system of any one of claims 1 to 11, wherein the computer system further comprises an automation controller configured to enable at least one automation device configured to modify the user's sleeping environment based on the weight change data.
22. The system of claim 21, wherein the automation controller is configured to enable the automation device during the sleep period before the end of the sleep period based on the weight change data before all of the weight change data for the sleep period is generated.
23. The system of claim 21, wherein the automation controller is configured to enable the automation device during the second sleep period based on at least one of the group consisting of: i) the weight change data; and ii) previous weight change data from a previous sleep period.
24. The system according to any one of claims 1 to 11, wherein the computer system is further configured to: determining that a second user has entered the bed; The weight readings are used and weight change data is generated for the given sleep period recording the weight change of the second user throughout the sleep period concurrently with using the weight readings and generating weight change data for the given sleep period recording the weight change of the user throughout the sleep period.
25. A system configured to determine a change in weight of a sleeper throughout a sleep session based on a change in the sleeper's exertion on a bed throughout the sleep session.