Systems for detecting existing varnishes in beds
Patent Information
- Application Number
- DE202023003005
- Authority / Receiving Office
- DE · DE
- Patent Type
- Utility models
- Current Assignee / Owner
- Priority Date
- 2022-08-02
- Filing Date
- 2023-07-20
- Publication Date
- 2025-09-04
- Estimated Expiration
- 2033-07-31
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] This document refers to the detection of existing leaks in beds. CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This utility model application claims the benefit of U.S. Provisional Patent Application No. 63 / 394,423, filed on August 2, 2022. The disclosure of the prior application is considered part of the disclosure of this application and is incorporated in its entirety into this application. STATE OF THE ART
[0003] In general, a bed is a piece of furniture that serves as a place for sleep or relaxation. Many modern beds feature a soft mattress on a bed frame. The mattress may contain springs, foam, and / or an air chamber to support the weight of one or more users. SUMMARY
[0004] The present disclosure generally relates to systems and methods for detecting leaks in bed systems. In particular, the techniques described herein can be used to determine whether a bed is leaking due to a pressure drop. Machine learning techniques can be used to determine whether a bed, such as an air mattress in a bed system, has one or more holes through which air is leaking from the bed. Additionally, or alternatively, machine learning techniques can be used to determine the rate at which air is leaking from the bed, thereby indicating the presence of a leak in the bed.Machine learning-trained models and algorithms, including but not limited to linear models, logistic regression models, support vector machine (SVM) models, other polynomial models, physics-based models, and / or neural network models, can be trained to accurately detect leaks in bed systems. Leakage in bed systems can also be detected using rule sets and predetermined thresholds. In some implementations, fuzzy logic can also be used to detect leaks in bed systems.
[0005] As an illustrative example, the bed system may be inflated to a predetermined pressure level (e.g., a maximum pressure setting), and pressure data from the bed system may be collected over a predetermined period of time. The pressure data may be transmitted to a computing system, which may analyze the pressure data to determine if the bed system is leaking. The computing system may determine whether the bed system is leaking by determining, based on the pressure data, whether a hole is present in the bed system. For example, the computing system may detect a pressure drop indicating a hole or otherwise indicate the presence of a hole in the bed system. The computing system may also determine whether the bed system is leaking by determining a leak rate of the bed system from the pressure data.Such determinations are made possible by providing the pressure data as input to one of the machine learning-trained models described above. Based on the pressure data, the model(s) can output an indication of whether a leak has been detected in the bed system. This output can also be used by the computing system to generate an expected value for whether the bed system has a leak. Based on the output and / or the expected value, the computing system can generate one or more remedial actions to address the detected leak in the bed system.
[0006] The disclosed techniques may be used when the bed system is first set up in a user's home. For example, the user may order the bed system, and a technician may install the bed system in the user's home. As part of the installation, the technician may set up the bed system and perform a diagnostic test to check for leaks in the bed system. The diagnostic test may include adjusting a pressure of the bed system to a maximum pressure setting so that sensors of the bed system can collect pressure data once the bed system is set to the maximum pressure setting. This pressure data may be used to determine whether the bed system has one or more leaks. The disclosed techniques may also be applied once the bed system is already set up and in use by the user.For example, the user may experience or perceive air leakage in their bed system and call customer service to diagnose the problem. A customer service representative may remotely perform a leak detection test as part of a troubleshooting procedure. Another example is that the user may want to check for a leak in the bed system at various times, such as once a week, after several months of owning the bed system, or whenever they wish. For example, the user may believe the bed system is leaking and initiate the leak test accordingly. Environmental conditions, such as rapid changes in air temperature and / or pressure due to weather conditions, can cause changes in the pressure in the bed system.These pressure changes in the bed system may give the user the impression that the bed system is leaking. Therefore, the disclosed techniques can be performed to determine whether the bed system is actually leaking or whether changes in the environment are merely causing the pressure level in the bed system to change.
[0007] Some of the embodiments described herein include a system including: a bed system having a mattress for supporting a user lying on the bed system, at least one sensor that may be configured to collect pressure data about the bed system, and a computing system having a processor and a memory. The computing system may be configured to: receive the pressure data collected by the at least one sensor, provide the pressure data as input to a model to detect the presence of a leak in the mattress of the bed system based at least in part on the pressure data, receive as output from the model data indicative of the detected presence of a leak in the mattress, and return a message indicating the detected presence of a leak in the mattress.
[0008] Embodiments described in this document may include one or more optional features. For example, the model may be a linear model. The model may be a polynomial model including at least one of the following: a logistic regression model and a support vector machine (SVM) model. The model may be a physically based model that may include variables for volume data and the pressure data of the bed system. The physically based model may be configured to determine a hole diameter value of the leakage in the mattress based at least in part on the volume data and the pressure data. The model may also be a neural network model.
[0009] As another example, the computing system may be configured to receive the pressure data in response to: receiving an indication from a user device to initiate a leak detection test for the bed; and transmitting a signal to a pump of the bed system to inflate the mattress of the bed system. The signal to the pump may include instructions that, when executed by the pump, cause the pump to inflate the mattress to a predetermined inflation level. The signal to the pump may also include instructions that, when executed by the pump, cause the pump to inflate the mattress to an inflation level that may be a predetermined multiplying factor of a predetermined inflation level of the mattress.In some implementations, the predetermined multiplication factor may be at least twice the predetermined inflation level, 1.5 times the predetermined inflation level, and 1.75 times the predetermined inflation level. Furthermore, the user device may be a technician device used by a technician who sets up the bed system for the user of the bed system. The user device may also be used by the user of the bed system, and the indication from the user device may be received after the bed system is set up.
[0010] In some implementations, the bed system may further include a pump configured to inflate and deflate the mattress, wherein the at least one sensor is in fluid communication with the pump. The mattress may also include at least one air chamber, wherein the at least one sensor is a pressure sensor in fluid communication with the air chamber. The bed system may further include means for controlling a pressure of the mattress, which may include the at least one sensor. The computing system may also determine a leakage expectation value based on the data indicating the detected presence of a leak in the mattress.
[0011] As another example, the computing system may be configured to determine whether a base of the bed system is flat based on initial pressure data measured by the at least one sensor, determine whether the user is lying on the mattress based on the initial pressure data measured by the at least one sensor, and query the at least one sensor for the pressure data based on the determination that the base is flat and the user is not lying on the mattress. The computing system may also be configured to control the bed system to adjust the base to a flat position based on a determination that the base is not flat, and in response to adjusting the base to the flat position, query the at least one sensor for the pressure data.The computing system may also store the current settings of the bed system prior to controlling the bed system to adjust the base to the flat position in a local memory of the computing system, wherein the current settings correspond to a state of the bed system. The state of the bed system may include at least one of (i) a position of the base, (ii) a firmness setting of the mattress, (iii) a reactive air setting of the bed system, and (iv) an activation of a heating or cooling feature of the bed system. Furthermore, the computing system may be configured to retrieve the stored settings of the bed system from the local memory and upon returning the detected presence of the leak in the mattress, and to control the bed system to adjust to the stored settings.
[0012] In some implementations, the computing system may also be configured to determine a leak rate for the mattress of the bed system based on the pressure data, determine whether the leak rate exceeds a leak rate threshold, generate an indication of a leak presence for the bed system based on a determination that the leak rate exceeds the leak rate threshold, and return the indication of a leak presence. The detected presence of a leak may be linearly related to the indication of a leak presence, where the detected presence of a leak corresponds to the presence of a hole in the mattress and the indication of a leak presence corresponds to a rate at which air is leaking from the mattress.Sometimes, the detected presence of the leak may be in a linear relationship to the indication of the presence of a leak, where the detected presence of the leak corresponds to the presence of a hole in a bed system connecting hose, and the indication of the presence of a leak corresponds to a rate at which air leaks from the connecting hose. Sometimes, the detected presence of the leak may be in a linear relationship to the indication of the presence of a leak, where the detected presence of the leak corresponds to the presence of a hole in a valve of a bed system pump and / or a bed system air chamber, and the indication of the presence of a leak corresponds to the rate at which air leaks from the valve.
[0013] In some implementations, the computing system may also process the received pressure data, where processing the received pressure data may include discarding a portion of the received pressure data corresponding to a predetermined time period at which the at least one sensor begins sensing the pressure data. During the predetermined time period at which the at least one sensor begins sensing the pressure data, a pump of the bed system may inflate the mattress to a predetermined inflation level. The computing system may also be configured to receive the pressure data sensed by the at least one sensor for a predetermined time period. The predetermined time period may be a sleep stage of the user. The predetermined time period may be one or more sleep stages of the user. The predetermined time period may be 5 minutes. The predetermined time period may be 24 hours.The predetermined period of time may be a period of time between successive sleep phases of the user.
[0014] Sometimes, the computing system may generate output that is presented to a user on a graphical user interface (GUI) display, which may include data indicating the presence of a leak in the mattress. The computing system may also determine a repair action for the bed system based on the data indicating the presence of a leak in the bed system. The repair action may include ordering a component to fix the leak in the bed system. The repair action may include dispatching a technician to fix the leak in the bed system.
[0015] Furthermore, the computing system may be a cloud-based server that may be remote from the bed system. The computing system may sometimes be a controller of the bed system. The at least one sensor may be a pressure sensor. In some implementations, the model was trained using machine learning techniques to detect the presence of a leak in the mattress based on training data, which may include estimated sizes of holes in bed systems. As another example, the model was trained using machine learning techniques to detect the side of the mattress exhibiting the leak based on an equation for the gas leak rate.The computing system may also determine the mattress type based on information about the bed system, the information received from a data store and / or a user device during setup of the bed system, select a model to detect leakage in mattresses of the same type as the mattress, and provide the received pressure data as input to the selected model. In some implementations, the system may also include a controller communicating with the at least one sensor and the computing system, the controller configured to instruct the at least one sensor to collect the pressure data. Sometimes, the model has been trained using machine learning techniques.
[0016] One or more of the embodiments described herein include a system comprising a bed system having a mattress for supporting a user lying on the bed system, at least one sensor configured to collect pressure data about the bed system, and a computing system comprising a processor and a memory. The computing system may be configured to receive the pressure data collected by the at least one sensor, determine a leak rate for the bed system based on the pressure data, determine whether the leak rate exceeds a leak rate threshold, generate an indication of the presence of a leak for the bed system based on a determination that the leak rate exceeds the leak rate threshold, and return the indication of the presence of a leak for display on a graphical user interface (GUI) display on a user device.
[0017] The system may optionally include one or more of the following features. For example, pressure data may be collected by the at least one sensor for a certain threshold period of time. The threshold period may be 5 minutes. For example, determining the leak rate for the bed system based on the pressure data may include determining a change in the pressure data over a threshold time period in which the pressure data is collected by the at least one sensor. The user device may be a mobile computing device of the user of the bed system. The user device may also be a mobile computing device of a technician setting up the bed system. The user device may be a computing device of a customer service representative requested by the user of the bed system to initiate a leak detection test on the bed system.
[0018] As another example, the computing system may also: provide the pressure data as input to a model trained using machine learning techniques to detect the presence of a leak in the bed system based at least in part on pressure data, and receive, as output of the model, data indicative of the detected presence of a leak in the bed system. The computing system may also validate the indication of the presence of a leak with the data indicative of the detected presence of the leak in the bed system to return the indication of the presence of a leak.In some implementations, the indication of the presence of a leak may indicate a location where the leak is detected in the bed system, the location being at least one of a mattress, a connecting hose between components of the bed system, a valve of a pump of the bed system, and a valve of an air chamber in the mattress of the bed system.
[0019] One or more of the embodiments described herein may include a system comprising: a bed system comprising a mattress having an air chamber, the mattress being sized and configured to support a user lying on the bed system, at least one sensor configured to collect data about the bed system, and a computing system comprising a processor and memory, the computing system configured to receive the data collected by the at least one sensor, provide the data as input to a model to detect the presence of a leak in the air chamber of the mattress of the bed system based at least in part on the data, receive as output from the model data indicative of the detected presence of a leak in the mattress, and return a message indicative of the detected presence of a leak in the mattress.The system may optionally include one or more of the aforementioned features.
[0020] One or more of the embodiments described herein may include a system comprising a controller that can be configured to detect the presence of a leak in an air chamber of a mattress by inputting measured data into a model to detect the presence of a leak in the air chamber of the mattress of the bed system. The system may optionally include one or more of the aforementioned features.
[0021] One or more of the embodiments described herein may include a method including: receiving pressure data sensed by the at least one sensor of a bed system, providing the pressure data as input to a model to detect the presence of a leak in the bed system based at least in part on the pressure data, receiving as output of the model data indicative of the detected presence of a leak in the bed system, and returning a message indicating the detected presence of a leak in the bed system.
[0022] The method may optionally include one or more of the aforementioned features. The method may also optionally include one or more of the following features. For example, the method may also include receiving the pressure data in response to: receiving an indication from a user device to initiate a leak detection test for the bed system; and transmitting a signal to a pump of the bed system to inflate a mattress of the bed system to a inflation level threshold. The inflation level threshold may be the highest inflation level during a user's actual use of the bed system.
[0023] The method may also include determining a leakage expectation value based on the data indicating the detected presence of a leak in the bed system. The leak in the bed system may be at least one of the following: a hole in a mattress of the bed system, a hole in a connecting hose between components of the bed system, a hole in a valve of a pump of the bed system, and a hole in a valve of an air chamber of the bed system. The method may also include determining, based on the initial pressure data sensed by the at least one sensor, whether a user is lying on a mattress of the bed system, based on the initial pressure data measured by the at least one sensor, and querying the pressure data from the at least one sensor based on a determination that the base is flat and the user is not lying on the mattress.The method may also include controlling the bed system such that the base is adjusted to a flat position based on the determination that the base is not flat, and in response to adjusting the base to the flat position, retrieving pressure data from the at least one sensor. Furthermore, the method may include determining a leak rate for the bed system based on the pressure data, determining whether the leak rate exceeds a leak rate threshold, generating an indication of the presence of a leak to the bed system based on a determination that the leak rate exceeds the leak rate threshold, and returning the indication of the presence of a leak.
[0024] One or more of the embodiments described herein may include a method including receiving pressure data sensed by at least one sensor of a bed system, determining a leak rate for the bed system based on the pressure data, determining whether the leak rate exceeds a leak rate threshold, generating an indication of the presence of a leak to the bed system based on a determination that the leak rate exceeds the leak rate threshold, and returning the indication of the presence of a leak for display in a graphical user interface (GUI) display of a user device.
[0025] The method may optionally include one or more of the aforementioned features. The method may also optionally include one or more of the following features. For example, determining the leak rate for the bed system based on the pressure data may include determining a change in the pressure data over a threshold amount of time in which the pressure data is collected by the at least one sensor. The method may also include providing the pressure data as input to a model trained using machine learning techniques to detect the presence of a leak in the bed system based at least in part on pressure data, and receiving data as output from the model indicative of the detected presence of a leak in the bed system.
[0026] The devices, systems, and techniques described herein can provide one or more of the following benefits. For example, using machine learning models can provide improved accuracy in detecting leaks in bed systems. The models can be trained with robust training datasets to accurately detect slow and / or fast leaks in bed systems. The models can be used to detect leaks in beds at various times, whether the beds are being set up for the first time and / or while the beds are already set up and in use by users. This allows leaks to be detected early so that the beds can be serviced and the leaks corrected, allowing users to continue enjoying a good night's sleep.Early bed repair, such as during initial setup, can also reduce the cost and amount of material / equipment needed to correct leaks.
[0027] Similarly, leak detection using the disclosed techniques can help identify remedial work in advance, before leaks become more serious problems that require significant costs, time, and equipment to resolve. Using the disclosed techniques, leaks can be addressed when the bed system is first installed in a user's home and before the user uses the bed system.
[0028] Furthermore, performing the disclosed techniques may be beneficial to ensure that repair work is not performed prematurely on the bed system. Diagnosing a possible leak in the bed system can be time-consuming and place an additional burden on users, as they must isolate an air chamber in the bed system (e.g., by disconnecting a pump and capping hoses) and monitor the air chamber for several days to determine if a leak actually exists. In many cases, pumps and / or air chambers may be replaced without waiting for the user to perform the above-mentioned tests, which can lead to unnecessary and costly warranty replacement. Sometimes, the user may feel that the bed system is leaking, even though changes in environmental conditions are actually causing the pressure in the bed system to drop (e.g., a change in the ambient temperature).B. When a storm approaches and causes sudden changes in ambient temperature and / or air pressure. In some implementations, the user may perceive a loss of pressure after a night on the bed. For example, a slow leak may be noticed when at least a threshold amount of weight of a user or users is on the bed for at least a threshold amount of time. The disclosed techniques can thus be performed whenever the user feels that the bed system is leaking to determine whether the bed system is actually leaking. The disclosed techniques can also be performed quickly and accurately without requiring the user to perform various actions to test the bed system themselves. The disclosed techniques enable leak detection tests to be performed remotely (e.g.,by a customer service representative's computing system or a user device) to quickly and accurately determine whether a leak is present (leading to the appropriate replacement of the equipment) or not (in which case, other solutions may be considered to address the problem of the user's perceived air leak). The disclosed leak detection test can be performed on components of the bed system (e.g., a bed system controller), a mobile application running on a user device (e.g., a mobile phone), and / or in a cloud-based computing system. Accordingly, if the bed system is indeed leaking, remedial work can be properly performed to address the leak. If the bed system is not leaking, the cost, time, and equipment required to replace parts of the bed system can be saved, as mentioned above.
[0029] Another example is that the disclosed techniques can provide data collection over long periods of time, which can be advantageous in detecting slow and / or small leaks in a bed system. Shorter data collection periods can be used to accurately detect fast and / or large leaks in the bed system (e.g., during initial setup of the bed system), while longer data collection periods can be used to accurately detect slow and / or small leaks in the bed system (e.g., during long-term use of the bed system). Pressure data can therefore be collected whenever the bed system is not being used by users to determine if the bed system is leaking. Therefore, the bed system can be continuously monitored for any type of leak development.Once a leak is detected, a repair measure can be created to stop the leak instead of allowing it to grow larger over time and become a bigger problem.
[0030] The operating processes of the disclosed technology may also provide a number of technological details that enable computing devices to operate more effectively and efficiently. For example, data already available for a bed system, such as a smart bed (e.g., pressure data), may also be used to perform the operations described herein. This enables, for example, greater functionality without network overhead. By applying existing bed system hardware to a new problem (e.g., leak detection) and developing a new solution, the disclosed technology may enable the bed system to become a better and more versatile sensor.
[0031] The disclosed technology can be used with bed and computer hardware purchased and used for other purposes. For example, a user may choose an adjustable-pressure air bed that includes an air bladder, pressure sensor, load cells, and a controller for the added comfort such a bed provides over other beds. This hardware can provide dual functionality, such as leak detection in the bed, without requiring more or additional hardware than is already being used. This can reduce costs and extend the functionality of the bed to those who cannot or do not want to use single-purpose hardware.In some cases, the user can modify their bed once with a pressure-sensitive pad or strip under a mattress and then no longer need to remember or separately store the hardware added to their bed to perform the disclosed techniques.
[0032] Furthermore, the disclosed technology can be designed to use a minimal number of sensors and can also be expanded to include additional sensors as they become available and / or are desired by various stakeholders, including but not limited to engineers, manufacturers, customer service personnel, technicians, and / or users of the bed system. Additional data sources can be integrated into the bed system to increase the accuracy and redundancy of leak detection, particularly in the event that one or more recording modalities fail.
[0033] The details of one or more implementations are set forth in the accompanying drawings and the description below. Additional features, aspects, and potential advantages are set forth in the accompanying description and figures. DESCRIPTION OF THE DRAWINGS Fig. 1 shows an example of an air bed system. Fig. Figure 2 is a block diagram of an example of various components of an air bed system. Fig. Figure 3 shows an example environment that includes a bed that communicates with devices located in and around a house. Fig. 4A and Fig. 4B are block diagrams of examples of data processing systems that may be associated with a bed. Fig. 5 and Fig. 6 are block diagrams of examples of motherboards that may be used in a data processing system associated with a bed. Fig. Figure 7 is a block diagram of an example daughter board that may be used in a data processing system associated with a bed. Fig. Figure 8 is a block diagram of an example of a main board without a daughter board that may be used in a data processing system associated with a bed. Fig. Figure 9 is a block diagram of an example of a sensor group that may be used in a data processing system associated with a bed. Fig. 10 is a block diagram of an example of a control group that may be used in a data processing system associated with a bed. 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. Fig. Figures 12-16 are block diagrams of examples of cloud services that can be used in a data processing system associated with a bed. Fig. Figure 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. Fig. 18 is a schematic diagram showing an example of a computing device and a mobile computing device. Fig. Figure 19 is a conceptual diagram for determining the presence of a leak in a bed system. Fig. Figure 20 is a swimlane diagram of an example process for determining the presence of a leak in a bed system. Fig. Figure 21 is a flowchart of a process for triggering a diagnostic leak detection test for a bed system. Fig. Figure 22 is a swimlane diagram of a process for training a model to determine the presence of leaks in bed systems. Fig. Figure 23 is a block diagram of one or more models that can be used to determine leaks in bed systems. Fig. Figure 24 is a flow diagram of a process for determining the presence of a leak in a bed system. Fig. Figure 25 is a swimlane diagram of a process for determining the presence of a leak in a bed system.
[0034] Similar reference symbols in the different drawings indicate similar elements. DETAILED DESCRIPTION
[0035] The disclosed technology provides for detecting the presence of leaks in a bed system. One or more models trained by machine learning can be used to detect leaks in the bed system when the bed system is initially set up and / or when the bed system is already set up and in use. When the bed system is initially set up, the disclosed techniques can be used to detect the presence of large and / or fast leaks. When the bed system is already set up, the disclosed techniques can be used to collect pressure data over time and detect the presence of small and / or slow leaks. When a leak is detected in the bed system, the disclosed techniques can be used to generate remedial actions that can be performed to correct the leak.This allows the leak to be addressed to prevent further damage and / or problems with the bed system. If no leak is detected in the bed system, other measures can be taken to diagnose a problem with the bed system that may be causing the bed system to look or feel as if it has a leak (e.g., rapid changes in ambient temperature and / or air pressure may cause the pressure in the bed system to drop, creating the impression that the bed system has a leak). Example air bed hardware
[0036] Fig. 1 shows an example of an air bed system 100 that includes a bed 112. The bed 112 may be a mattress that includes at least one air chamber 114 surrounded by an elastic edge 116 and enclosed by a bed cover 118. The elastic edge 116 may comprise any suitable material, such as foam. In some embodiments, the elastic edge 116 may be connected to a top layer or layers of foam (in Fig. 1 not shown) to form an inverted foam tub. In other embodiments, the mattress structure can be varied to suit the application.
[0037] As in Fig. 1, the bed 112 may be a two-chamber construction including first and second fluid chambers, such as a first air chamber 114A and a second air chamber 114B. Sometimes, the bed 112 may include chambers for use with fluids other than air, as appropriate for the application. For example, the fluids may include liquid. In some embodiments, such as twin beds or cribs, the bed 112 may include a single air chamber 114A or 114B or multiple air chambers 114A and 114B. Although not shown, the bed 112 may sometimes include additional air chambers.
[0038] The first and second air chambers 114A and 114B may be in fluid communication with a pump 120. The pump 120 may be in electrical communication with a remote control 122 via a 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 to increase and decrease the fluid pressure of the first and second air chambers 114A and 114B based on commands input by a user via the remote control 122. In some implementations, the control box 124 is integrated into a housing of the pump 120. Additionally, the pump 120 may sometimes communicate wirelessly (e.g., via a home network, Wi-Fi, Bluetooth, or other wireless network) with a mobile device via the control box 124.The mobile device may be, among other things, the user's smartphone, cell phone, laptop, tablet, computer, wearable device, home automation device, or other computing device. A mobile application may be displayed on the mobile device and provide the user with a function of controlling the bed 112 and viewing information about the bed 112. The user may enter commands into the mobile application displayed on the mobile device. The entered commands may be transmitted to the control box 124, which may operate the pump 120 based on the commands.
[0039] 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 provide information to the user about the settings of the bed 112. For example, the display 126 may provide pressure settings for both the first and second air chambers 114A and 114B, or for one of the first and second air chambers 114A and 114B. Sometimes, the display 126 may be a touchscreen and may receive input from the user indicating one or more commands for controlling the pressure in the first and second air chambers 114A and 114B and / or other settings of the bed 112.
[0040] The output selection mechanism 128 may allow the user to switch the airflow generated by the pump 120 between the first and second air chambers 114A and 114B, thereby enabling control of multiple air chambers with a single remote control 122 and a single pump 120. For example, the output selection mechanism 128 may be implemented through a physical control (e.g., switch or button) or an input control presented on the display 126. Alternatively, separate remote control units may be provided for each air chamber 114A and 114B, each of which may include the ability to control multiple air chambers. The pressure increase and decrease buttons 129 and 130 allow the user to increase or decrease the pressure in the air chamber selected by the output selection mechanism 128.Adjusting the pressure in the selected air chamber may cause a corresponding adjustment of the firmness of the respective air chamber. In some embodiments, the remote control 122 may be omitted or modified depending on the application. As mentioned above, the bed 112 may be controlled, for example, by a mobile device that communicates with the bed 112 via a wired or wireless connection.
[0041] Fig. Figure 2 is a block diagram of an example of various components of an air bed system. These components may be used, for example, in the example air bed system 100. As shown in Fig. As shown in Figure 2, the control box 124 may include a power supply 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 the control box 124.
[0042] The pump 120 and the remote control 122 can be in two-way communication with the control box 124. The pump 120 includes a motor 142, a pump manifold 143, a pressure relief 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 hose 148A and a second hose 148B. The first and second control valves 145A and 145B can be controlled by the switching mechanism 138 and are operable to regulate the fluid flow between the pump 120 and the first and second air chambers 114A and 114B.
[0043] In some implementations, the pump 120 and the control box 124 may be provided and packaged as a single unit. In some implementations, the pump 120 and the control box 124 may be provided as physically separate units. In still some implementations, the control box 124, the pump 120, or both may be integrated into or otherwise contained within a bed frame, base, or bed support structure that supports the bed 112. Sometimes, the control box 124, the pump 120, or both may be located external to a bed frame, base, or bed support structure (as in the example in Fig. 1 shown).
[0044] The Fig. The example air bed system 100 shown in Figure 2 includes the two air chambers 114A and 114B and the single pump 120 of the Fig. 1. However, other implementations may include an air bed system having two or more air chambers and one or more pumps incorporated into the air bed system for controlling 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. For example, a first pump may be associated with air chambers extending longitudinally from a left side to a center point of the air bed system 100, and a second pump may be associated with air chambers extending longitudinally from a right side to the center point of the air bed system 100. Separate pumps may allow each air chamber to be inflated or deflated independently and / or simultaneously.In addition, additional pressure transducers can be incorporated into the air bed system 100 so that, for example, a separate pressure transducer can be assigned to each air chamber.
[0045] As an illustrative example, during operation, the processor 136 may send a command to reduce the pressure to one of the air chambers 114A or 114B, and the switching mechanism 138 may convert the low-voltage command signals sent by the processor 136 into higher operating voltages sufficient to actuate the relief valve 144 of the pump 120 and open the respective control valve 145A or 145B. Opening the relief valve 144 allows air to escape from the air chamber 114A or 114B through the respective air hose 148A or 148B. During the release of air, the pressure transducer 146 may send pressure measurements 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 convert the analog information into digital information that may be used by the processor 136.The processor 136 can send the digital signal to the remote control 122 to update the display 126 and communicate the pressure information to the user. The processor 136 can also send the digital signal to one or more other devices that communicate wired or wirelessly with the air bed system, including mobile devices such as smartphones, cell phones, tablets, computers, wearable devices, and home automation devices. This allows the user to view the pressure information associated with the air bed system on their mobile device, instead of on or in addition to the remote control 122.
[0046] As another example, processor 136 may send a command to increase pressure. Pump motor 142 may be turned on in response to the command to increase pressure and send air through air hose 148A or 148B to the designated air chamber 114A or 114B by electronically actuating the corresponding valve 145A or 145B. While air is being sent into the designated air chamber 114A or 114B to increase the rigidity of the chamber, pressure transducer 146 may measure the pressure in pump manifold 143. Again, pressure transducer 146 may send pressure readings to processor 136 via A / D converter 140. Processor 136 may use the information received from A / D converter 140 to determine the difference between the actual pressure in air chamber 114A or 114B and the desired pressure.The processor 136 can send the digital signal to the remote control 122 to update the display 126 and communicate the pressure information to the user.
[0047] In general, during an inflation or deflation process, the pressure measured in the pump manifold 143 may provide an approximation of the pressure in the respective air chamber in fluid communication with the pump manifold 143. An example of a method for obtaining a pump manifold pressure that substantially corresponds to the actual pressure in an air chamber includes shutting off the pump 120, allowing the pressure in the air chamber 114A or 114B and the pump manifold 143 to equalize, and then measuring the pressure in the pump manifold 143 with the pressure transducer 146. Thus, by allowing a sufficient amount of time for the pressures in the pump chamber 143 and the chamber 114A or 114B to equalize, pressure readings that are accurate approximations of the actual pressure in the air chamber 114A or 114B may result.In some implementations, the pressure of the air chambers 114A and / or 114B may be continuously monitored using multiple pressure sensors (not shown). The pressure sensors may be positioned within the air chambers 114A and / or 114B. The pressure sensors may also be fluidly connected to the air chambers 114A and 114B, such as along the air tubes 148A and 148B.
[0048] In some implementations, the information sensed by pressure transducer 146 can be analyzed to determine various states of a user lying on bed 112. For example, processor 136 can use the information sensed by pressure transducer 146 to determine the heart rate or respiratory rate of the user lying on bed 112. As an illustrative example, the user can be lying on one side of bed 112 enclosing chamber 114A. Pressure transducer 146 can monitor pressure fluctuations within chamber 114A, and this information can be used to determine the user's heart rate and / or respiratory rate. As another example, additional processing can be performed on the sensed data to determine the user's sleep state (e.g., awake, light sleep, deep sleep).For example, the processor 136 can determine when the user falls asleep and, while sleeping, the user's various sleep states (e.g., sleep stages). Based on the user's determined heart rate, respiratory rate, and / or sleep states, the processor 136 can determine information about the user's sleep quality. For example, the processor 136 can determine how well the user slept during a particular sleep cycle. The processor 136 can also determine trends in the user's sleep cycle. Accordingly, the processor 136 can generate recommendations for improving the user's sleep quality and the overall sleep cycle. Information determined about the user's sleep cycle (e.g., heart rate, respiratory rate, sleep states, sleep quality, recommendations for improving sleep quality, etc.)), may be transmitted to the user's mobile device and played back in a mobile application as described above.
[0049] Additional information associated with the user of the air bed system 100 that can be determined from the information sensed by the pressure transducer 146 includes the user's movement, the user's presence on a surface of the bed 112, the user's weight, the user's cardiac arrhythmias, snoring by 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 from the information sensed by the pressure transducer 146. For example, taking user presence detection, the pressure transducer 146 can be used to detect the user's presence on the bed 112, e.g., through a crude pressure change determination and / or through one or more respiratory rate signals, heart rate signals, and / or other biometric signals.Detecting the user's presence on the bed 112 may be useful for determining, by the processor 136, one or more adjustments to be made to the settings of the bed 112 (e.g., adjusting the firmness of the bed 112 when the user is present to a user-preferred firmness setting) and / or the peripheral devices (e.g., turning off lights when the user is present, activating a heating or cooling system, etc.).
[0050] For example, a simple pressure detection process may detect an increase in pressure as an indication that the user is present on the bed 112. As another example, the processor 136 may determine that the user is present on the bed 112 when the sensed pressure rises above a certain threshold (to indicate that a person or other object of a certain weight is positioned on the bed 112). As yet another example, the processor 136 may detect an increase in pressure along with detected slight, rhythmic pressure fluctuations as corresponding to the user being present on the bed 112. The presence of rhythmic fluctuations may be determined to be caused by the user's respiration or heart rhythm (or both). The detection of respiration or heartbeat may distinguish between the user's presence on the bed and another object (e.g.,a suitcase, a pet, a pillow, etc.) placed on the bed.
[0051] In some implementations, pressure fluctuations at the pump 120 may be measured. For example, one or more pressure sensors may be located in one or more internal cavities of the pump 120 to detect pressure fluctuations within the pump 120. The pressure fluctuations detected at the pump 120 may indicate pressure fluctuations in one or both of the chambers 114A and 114B. One or more sensors located on the pump 120 may be in fluid communication with one or both of the chambers 114A and 114B, and the sensors may determine the pressure in the chambers 114A and 114B. The control box 124 may be configured to determine at least one vital sign (e.g., heart rate, respiratory rate) based on the pressure in the chamber 114A or the chamber 114B.
[0052] In some implementations, the control box 124 may analyze a pressure signal detected by one or more pressure sensors to determine the heart rate, respiratory rate, and / or other vital signs of the user lying or sitting on the chamber 114A and / or 114B. More specifically, each heartbeat, breath, and other movement of the user (e.g., hand, arm, leg, foot, or other gross body movements) while lying on the bed 112 and positioned over the chamber 114A may exert a force on the bed 112 that is transmitted to the chamber 114A. As a result of the force input exerted by the user's movement on the chamber 114A, a wave may propagate through the chamber 114A into the pump 120. A pressure sensor located on the pump 120 can detect the wave, and thus the pressure signal output by the sensor can indicate a heart rate, respiratory rate, or other information about the user.
[0053] Regarding sleep state, the air bed system 100 can determine the user's sleep state based on various biometric signals, such as the user's heart rate, respiration, and / or movement. While the user is sleeping, the processor 136 can receive one or more of the user's biometric signals (e.g., heart rate, respiration, movement, etc.) and determine the user's current sleep state based on the received biometric signals. In some implementations, signals indicating pressure fluctuations in one or both of the chambers 114A and 114B can be amplified and / or filtered to enable more precise detection of heart and respiration rates.
[0054] Sometimes, the processor 136 may also receive additional biometric signals from the user from one or more other sensors or sensor groups positioned on or otherwise incorporated into the air bed system 100. For example, one or more sensors may be attached or removably attached to a top surface of the air bed system 100 and configured to detect signals such as the user's heart rate, respiratory rate, and / or movement. The processor 136 may then combine the biometric signals received from the pressure sensors located on the pump 120, the pressure transducer 146, and / or sensors positioned throughout the air bed system 100 to generate more accurate and precise heart rate, respiratory rate, and other information about the user and the user's sleep quality.
[0055] Sometimes, the control box 124 may perform a pattern recognition algorithm or other calculation based on the amplified and filtered pressure signal(s) to determine the user's heart rate and / or respiratory rate. For example, the algorithm or calculation may be based on the assumption that a heart rate portion of the signal has a frequency in a range of 0.5-4.0 Hz and a respiratory rate portion of the signal has a frequency in a 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, respiratory rate, or other health information. The models may be trained using training data that includes training pressure signals and expected heart and / or respiratory rates.Sometimes the control box 124 can determine the user's heart rate, respiratory rate, or other health information using a lookup table corresponding to the measured pressure signals.
[0056] The control box 124 may also be configured to determine other characteristics of the user based on the received pressure signal, such as blood pressure, tossing, rolling, limb movements, weight, presence or absence of the user, and / or the identity of the user.
[0057] For example, pressure transducer 146 can be used to monitor the air pressure in chambers 114A and 114B of bed 112. When the user is stationary on bed 112, air pressure changes in air chamber 114A or 114B may be relatively small and due to breathing and / or heartbeat. However, when the user is moving on bed 112, the air pressure in the mattress may fluctuate many times more. Therefore, the pressure signals generated by pressure transducer 146 and received by processor 136 may be filtered and indicated as movement, heartbeat, or breathing. Processor 136 may also attribute such fluctuations in air pressure to the user's sleep quality. Such attributes may be determined based on the application of one or more machine learning models and / or algorithms to the pressure signals generated by pressure transducer 146.For example, if the user moves and turns a lot during a sleep cycle (e.g., compared to historical trends of the user's sleep cycles), the processor 136 may determine that the user slept poorly during that particular sleep cycle.
[0058] In some implementations, instead of providing data analysis in the control box 124 with the processor 136, a digital signal processor (DSP) may be provided to analyze the data acquired by the pressure transducer 146. Alternatively, the data acquired by the pressure transducer 146 may be sent to a cloud-based computing system for remote analysis.
[0059] In some implementations, the example air bed system 100 further includes a temperature controller configured to increase, decrease, or maintain a temperature of the bed 112, for example, for the comfort of the user. For example, a support surface (e.g., mat, layer, etc.) may be placed on top of or be part of the bed 112, or it may be placed on top of or be part of one or both of the chambers 114A and 114B. Air may be forced through and released from the support surface to cool the user on the bed 112. Additionally or alternatively, the support surface may include a heating element that may be used to keep the user warm. In some implementations, the temperature controller may receive temperature measurements from the support surface. The temperature controller may determine whether the temperature measurements are less than or greater than a threshold range and / or a threshold value.Based on this determination, the temperature control may activate components to force 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 locations of chambers 114A and 114B) to provide different temperature control for the different sides of the bed 112. Each pad may therefore be selectively controlled by the temperature control to provide cooling or heating preferred by each of the users on the different sides of the bed 112. For example, a first user on the left side of the bed 112 may prefer their side of the bed 112 to be cooled during the night, while a second user on the right side of the bed 112 may prefer their side of the bed 112 to be heated during the night.
[0060] In some implementations, the user of the air bed system 100 may use an input device, such as the remote control 122 or a mobile device, as described above, to enter a desired temperature for a surface of the bed 112 (or for a portion of the surface of the bed 112, for example, in a foot area, a lumbar or waist area, a shoulder area, and / or a head area 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., Wi-Fi, a local area network, etc.). In various examples, the command data structure is encrypted prior to transmission.The temperature control can then configure its elements to increase or decrease the temperature of the pad depending on the temperature input by the user on the remote control 122.
[0061] In some implementations, data from a component may be transmitted back to the processor 136 or to one or more display devices, such as the display 126 of the remote control 122. For example, the current temperature determined by a sensor element of the temperature control, the pressure of the bed, the current position of the base, or other information 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., smartphone, mobile phone, laptop, tablet, computer, wearable device, or home automation device) for display in a mobile application or other graphical user interface (GUI) for the user.
[0062] In some implementations, the example air bed system 100 further includes an adjustable base and an articulating control configured to adjust the position of a bed (e.g., bed 112) by adjusting the adjustable base that supports the bed. For example, the articulating control may adjust the bed 112 from a flat position to a position where a head portion of a mattress of the bed is tilted upward (e.g., to make it easier for a user to sit up in bed and / or watch television). The bed 112 may also include multiple separately articulating sections. As an illustrative example, the bed 112 may include a head, lumbar / waist, leg, and / or foot section, all of which may be separately articulating.As another example, portions of bed 112 corresponding to the locations of chambers 114A and 114B may be independently hinged so that a user positioned on the surface of bed 112 may rest in a first position (e.g., a flat position or other desired position) while a second user rests in a second position (e.g., a reclined position with the head raised at an angle to the waist or other desired position). Separate positions may also be set for two different beds (e.g., two twin beds placed side by side). The base of bed 112 may include more than one zone that can be adjusted independently.
[0063] 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 automatically adjust to one or more user-defined settings via the articulation control. As another example, the user can control the articulation control 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 the user with better sleep or otherwise improve sleep and sleep quality. For example, a headboard on one side of the bed 112 can be automatically moved in an articulated manner by the articulation control when one or more sensors of the air bed system 100 detect that a user sleeping on that side of the bed 112 is snoring.This allows the user's snoring to be muffled so that the snoring does not wake another user sleeping in the bed 112.
[0064] In some implementations, the bed 112 can be adjusted using one or more devices that communicate with the joint controller, or instead of the joint controller. For example, the user can change the position of one or more parts of the bed 112 using the remote control 122 described above. The user can also adjust the bed 112 via a mobile application or other graphical user interface displayed on a user's mobile computing device.
[0065] The joint control may also be configured to provide different massage levels for one or more portions of the bed 112 for one or more users on the bed 112. The user(s) 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 communicating with the air bed system 100, as described above. Example of a bed in a bedroom environment
[0066] Fig. 3 shows an example environment 300 that includes a bed 302 that communicates with devices located in and around a home. In the example shown, the bed 302 includes a pump 304 for controlling the air pressure in two air chambers 306a and 306b (as described above with respect to air chambers 114A and 114B). The pump 304 additionally includes circuitry 334 for controlling the inflation and deflation functions performed by the pump 304. The circuitry 334 is also programmed to detect air pressure fluctuations in the air chambers 306a-b and, based on the detected air pressure fluctuations, determine the presence of a user 308 in the bed, the sleep state of the user 308, the movement of the user 308, and biometric signals of the user 308, such as heart rate and respiratory rate.The detected fluctuations in air pressure can also be used to determine whether the user 308 snores and whether the user 308 suffers from sleep apnea or other health problems. Furthermore, the detected fluctuations in air pressure can be used to determine the overall sleep quality of the user 308.
[0067] In the example shown, the pump 304 is located within a support structure of the bed 302, and the control circuitry 334 for controlling the pump 304 is incorporated into the pump 304. In some implementations, the control circuitry 334 is physically separate from the pump 304 and is in wireless or wired communication with the pump 304. In some implementations, the pump 304 and / or the control circuitry 334 are located outside the bed 302. In some implementations, different control functions may be performed by systems located in different physical locations. For example, the circuitry for controlling the actions of the pump 304 may be located within a pump housing of the pump 304, while the control circuitry 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 in the pump 304 may communicate with the control circuit 334 at a remote location via a LAN or WAN (e.g., the Internet). As yet another example, the control circuit 334 may be located in the control box 124 of the . Fig. 1 and Fig. 2 be included.
[0068] In some implementations, one or more devices other than, or in addition to, pump 304 and control circuitry 334 may be used to determine the user's presence in the bed, sleep state, movement, biometric signals, and other information (e.g., regarding sleep quality and / or health status) about user 308. For example, bed 302 may include a second pump in addition to pump 304, with each of the two pumps connected to a corresponding one of air chambers 306a-b. For example, pump 304 may be in fluid communication with air chamber 306b to control the inflation and deflation of air from air chamber 306b and to detect user signals for a user located above air chamber 306b, such as presence in the bed, sleep state, movement, and biometric signals.The second pump may then be in fluid communication with the air chamber 306a and used to control the inflation and deflation of the air from the air chamber 306a and to detect user signals for a user located above the air chamber 306a.
[0069] As another example, bed 302 may include one or more pressure-sensitive pads or surface portions that can be actuated to detect movement, including user presence, user movement, breathing, and heart rate. A first pressure-sensitive pad may be integrated into a surface of bed 302 over a left portion of bed 302 where a first user is normally located during sleep, and a second pressure-sensitive pad may be integrated into the surface of bed 302 over a right portion of bed 302 where a second user is normally located during sleep. The movement detected by one or more pressure-sensitive pads or surface portions may be used by control circuitry 334 to determine the user's sleep state, presence in bed, or biometric signals for each of the users.The pressure-sensitive pads may also be removable instead of being integrated into the surface of the bed 302.
[0070] The bed 302 may also include one or more temperature sensors and / or a sensor array operable to detect temperatures in microclimates of the bed 302. Detected temperatures in various microclimates of the bed 302 may be used by the control circuit 334 to determine one or more changes in the sleeping environment of the user 308. For example, a temperature sensor located near a core area of the bed 302 where the user 308 is lying may detect high temperature readings. Such high temperature readings may indicate that the user 308 is warm. To lower the user's body temperature in this 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.
[0071] The control circuit 334 may also process a combination of signals measured by various sensors incorporated into, positioned on, or otherwise communicating 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 suffers from sleep apnea, and / or to determine the overall sleep quality of the user 308.Combinations of one or more other measured signals are also possible for the control circuit 334 to more accurately determine one or more health and / or sleep states of the user 308.
[0072] Accordingly, information detected by one or more sensors or other components of bed 112 (e.g., motion information) may be processed by control circuitry 334 and provided to one or more user devices, such as user device 310, for playback to user 308 or other users. The information may be played back in a mobile application or other graphical user interface of user device 310. User 308 may view various information processed and / or determined by control circuitry 334 based on the signals detected by components of bed 302. For example, user 308 may view their overall sleep quality for a particular sleep cycle (e.g., the previous night), historical trends in their sleep quality, and health information.The user 308 may also adjust one or more settings of the bed 302 (e.g., increase or decrease the pressure in one or more areas of the bed 302, raise or lower different areas of the bed 302, turn massage features of the bed 302 on or off, etc.) by using the mobile application displayed on the user device 310.
[0073] In the Fig. In the example illustrated in Figure 3, the user device 310 is a mobile phone; however, the user device 310 may also be a tablet, a PC, a laptop, a smartphone, a smart TV (e.g., a television 312), a home automation device, or other user device 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 via a network or through direct point-to-point communication. For example, the control circuit 334 may be connected to a LAN (e.g., via a Wi-Fi router) and communicate with the user device 310 via the LAN. As another example, the control circuit 334 and the user device 310 may both be connected to the Internet and communicate via the Internet.For example, control circuitry 334 may be connected to the Internet via a Wi-Fi router, and user device 310 may be connected to the Internet via communication with a cellular communication system. As another example, control circuitry 334 may communicate directly with user device 310 via a wireless communication protocol, such as Bluetooth. As yet another example, control circuitry 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 circuitry 334 may communicate with user device 310 via a wired connection, such as a USB connector, serial / RS232, or another wired connection suitable for the application.
[0074] As mentioned above, the user device 310 may display a variety of information and statistics related to the sleep or interaction of the user 308 with the bed 302. For example, a user interface displayed by the user device 310 may display information such as the amount of sleep of the user 308 over a given period of time (e.g., a single evening, a week, a month, etc.), the amount of deep sleep, the ratio of deep sleep to restless sleep, the amount of time between the time the user 308 went to bed and the time the user 308 fell asleep, the total time the user spent in the bed 302 over a given period of time, the heart rate of the user 308 over a given period of time, the respiratory rate of the user 308 over a given period of time, or other information related to the interaction of the user 308 or one or more other users of the bed 302 with the bed 302.In some implementations, information for multiple users may be displayed on user device 310. For example, information for a first user located above air chamber 306a may be displayed along with information for a second user located above air chamber 306b. In some implementations, the information displayed on user device 310 may vary depending on the age of user 308. For example, the information displayed on user device 310 may vary with the age of user 308, such that different information is displayed on user device 310 as user 308 ages as a child or as an adult.
[0075] The user device 310 can also be used as an interface for the control circuitry 334 of the bed 302 to allow the user 308 to enter information and / or adjust one or more settings of the bed 302. The information entered by the user 308 can be used by the control circuitry 334 to provide better information to the user 308 or various control signals for controlling functions of the bed 302 or other devices. For example, the user 308 can enter information such as the weight, height, and age of the user 308. The control circuitry 334 can use this information to provide the user 308 with a comparison of the recorded sleep data of the user 308 with the sleep data of other individuals of a similar weight, height, and / or age to the user 308.The control circuit 308 may also use this information to more accurately determine the overall sleep quality and / or health status of the user 308 based on information detected by one or more components (e.g., sensors) of the bed 302.
[0076] As another example, and as noted above, user 308 may use user device 310 as an interface to control the air pressure of air chambers 306a and 306b, to control various recline or tilt positions of bed 302, to control the temperature of one or more surface temperature control devices of bed 302, or to enable control circuitry 334 to generate control signals for other devices (as described in more detail below).
[0077] In some implementations, the control circuitry 334 of the bed 302 may communicate with other devices or systems in addition to or instead of the user device 310. For example, the control circuit 334 may communicate with the television 312, a lighting system 314, a thermostat 316, a security system 318, home automation devices, and / or other household devices, including but not limited to an oven 322, a coffee maker 324, a lamp 326, and / or a night light 328. Other examples of devices and / or systems with which the control circuit 334 may communicate include a system for controlling window shades 330, one or more devices for detecting or controlling the state of one or more doors 332 (e.g., 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 incorporated into a garage door opener to detect an open or closed state of the garage door 320 and to cause the garage door opener to open or close the garage door 320. Communication between the control circuit 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 communication (e.g., via Bluetooth, wireless communication, or a wired connection). In some implementations, the control circuits 334 of the different beds 302 may communicate with different combinations of devices. For example, a crib for children may not communicate with and / or control the same devices as an adult bed.In some embodiments, the bed 302 may evolve with the age of the user, such that the control circuitry 334 of the bed 302 communicates with different devices depending on the age of the user of that bed 302.
[0078] The control circuit 334 may receive information and inputs from other devices / systems and use the received information and inputs to control actions of the bed 302 and / or other devices. For example, the control circuit 334 may receive information from the thermostat 316 indicating a current ambient temperature for a house or room in which the bed 302 is located. The control circuit 334 may use the received information (along with other information, such as signals detected by one or more sensors of the bed 302) to determine whether to increase or decrease the temperature of all or part of the surface of the bed 302. The control circuit 334 may then cause a heating or cooling mechanism of the bed 302 to increase or decrease the temperature of the surface of the bed 302.The control circuit 334 may also cause a heating or cooling unit of the house or room in which the bed 302 is located to increase or decrease the ambient temperature around the bed 302. By adjusting the temperature of the bed 302 and / or the room in which the bed 302 is located, the user 308 may experience better sleep quality and greater sleep comfort.
[0079] For example, user 308 may specify a desired sleeping temperature of 74 degrees, while a second user of bed 302 may specify a desired sleeping temperature of 72 degrees. Thermostat 316 may transmit signals indicative of the room temperature to control circuit 334 at specified times. Thermostat 316 may also send a continuous stream of sensed room temperature values to control circuit 334. The transmitted signal(s) may indicate to control circuit 334 that the current temperature in the bedroom is 72 degrees. Control circuit 334 may determine that user 308 has specified a desired sleeping temperature of 74 degrees and, accordingly, send control signals to a heating pad located on the side of bed 308 occupied by user 308 to increase the temperature of the portion of the surface of bed 302 occupied by user 308 until the temperature desired by user 308 is reached.In addition, the control circuit 334 may send control signals to the thermostat 316 and / or a heating unit in the house to increase the temperature in the room in which the bed 302 is located.
[0080] The control circuit 334 can generate control signals for controlling other devices and forward the control signals to the other devices. In some implementations, the control signals are generated based on information sensed by the control circuit 334, including information related to user interaction with the bed 302 by the user 308 and / or one or more other users. Information sensed from one or more devices other than the bed 302 can also be used in generating the control signals. For example, information about environmental conditions (e.g., ambient temperature, ambient noise level, and ambient light level), time of day, season, day of the week, or other information can be used when generating control signals for various devices that communicate with the control circuit 334 of the bed 302.
[0081] For example, information about the time of day may be combined with information about the movement and bed presence of the user 308 to generate control signals for the lighting system 314. The control circuit 334 may determine when the user 308 is currently in the bed 302 and when the user 308 is falling 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 transmit control signals to the lighting system 314 to turn off the lights in the room in which the bed 302 is located, lower the blinds 330 in the room, and / or activate the nightlight 328. Additionally, control circuitry 334 may receive inputs from user 308 (e.g., via user device 310) indicating a time at which user 308 wishes to wake up.As this time approaches, control circuitry 334 may transmit control signals to one or more devices in environment 300 to control devices that may wake user 308. For example, the control signals 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 nightlight 328, turn on the underbed light 302, start coffee maker 324, change the temperature in the home via thermostat 316, or perform other home automation. The home automation device may also be instructed to activate an alarm that may wake user 308.Sometimes, the user 308 may enter information at the user device 310 that indicates what actions can be performed by the home automation device or other devices in the environment 300.
[0082] In some implementations, instead of or in addition to providing control signals to one or more other devices, control circuitry 334 may provide sensed information (e.g., information related to user movement, presence in the bed, sleep state, or biometric signals for user 308) to one or more other devices so that the one or more other devices can use the sensed information in generating control signals. For example, control circuitry 334 of bed 302 may provide information about user interactions with bed 302 by user 308 to a central controller (not shown), which may use the provided information to generate control signals for various devices, including bed 302.
[0083] The central controller may, for example, be a hub device that provides a variety of information about the user 308 and control information associated with the bed 302 and one or more other devices in the home. The central controller may include one or more sensors that detect signals that can be used by the control circuitry 334 and / or the central controller to determine information about the user 308 (e.g., biometric or other health data, sleep quality, etc.). The sensors may detect signals such as ambient light, temperature, humidity, volatile organic compound(s), heart rate, motion, and sound, among others. These signals may be combined with signals detected by the sensors of the bed 302 to determine more specific information about the health status and sleep quality of the user 308. The central controller may include controls (e.g.,The central controller may provide a control system (e.g., user-defined, preset, automated, user-triggered, etc.) for the bed 302 to determine and view sleep quality and health information, a smart alarm clock, a speaker or other home automation device, a smart photo frame, a nightlight, and one or more mobile applications that the user 308 can install and use on the central controller. The central controller may include a display that can output information and also receive input from the user 308. The display may output information about the health status of the user 308, sleep quality, weather, recording features related to security, lighting, and heating and cooling functions, as well as other controls for automating devices in the home.The central controller can thus be operated to provide the user 308 with the functionality and control of several different types of devices in the house as well as the bed 302 of the user 308.
[0084] Still based on Fig. 3, the control circuit 334 of the bed 302 may generate control signals for controlling actions of other devices and transmit the control signals to the other devices in response to the information detected 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 incorporated into the pump 304 may detect a characteristic of a mattress of the bed 302, such as an increase in pressure in the air chamber 306b, and use this detected increase in air pressure to determine that the user 308 is on the bed 302. In some implementations, the control circuit 334 may determine the heart or respiratory rate of the user 308 to determine that the increase in pressure is due to a person sitting, lying, or otherwise resting on the bed 302, and not an inanimate object (e.g.,a suitcase) that has been placed on the bed 302. In some implementations, the information indicating the user's presence on the bed may be combined with other information to determine a current or future probable state for the user 308. For example, a detected presence of the user in bed at 11:00 a.m. may indicate that the user is sitting on the bed (e.g., tying their shoes or reading a book) and does not intend to go to sleep, while a detected presence of the user on the bed at 10:00 p.m. may indicate that the user 308 is in bed for the evening and intends to fall asleep soon. As another example, if the control circuit 334 detects that the user 308 left the bed 302 at 6:30 a.m. (e.g.,indicates that user 308 has woken up for the day), and then later detects user 308's presence on bed 302 at 7:30 a.m., control circuit 334 may use this information to determine that the newly detected presence is likely only temporary (e.g., while user 308 is tying their shoes before going to work) and is not an indication that user 308 intends to remain on bed 302 for an extended period of time.
[0085] If control circuit 334 determines that user 308 is likely to remain on bed 302 for an extended period of time, control circuit 334 may determine one or more home automation controls that may assist user 308 in falling asleep and experiencing improved sleep quality throughout user 308's sleep cycle. For example, control circuit 334 may communicate with security system 318 to ensure that the doors are locked. Control circuit 334 may communicate with oven 322 to ensure that 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 a temperature desired by the user 308. The control circuit 334 may also determine one or more adjustments that can be made to the bed 302 to assist the user 308 in falling asleep and staying asleep (e.g., changing the position of one or more areas of the bed 302, foot warmers, massaging features, pressure / firmness in one or more areas of the bed 302, etc.).
[0086] In some implementations, control circuitry 334 may use collected information (including information related to user 308's interaction with bed 302, as well as environmental information, time information, and inputs received from user 308) to determine usage patterns for user 308. For example, control circuitry 334 may use information about user 308's bed presence and sleep state collected over a period of time to determine a sleep pattern for the user. Based on user presence information and biometric data of user 308 collected over a week or other period of time, control circuitry 334 may determine that user 308 generally goes to bed between 9:30 and 10:00 p.m., generally falls asleep between 10:00 and 11:00 p.m., and generally wakes up between 6:30 and 6:45 a.m.The control circuit 334 may use detected patterns of the user 308 to better process and detect the user's interactions with the bed 302.
[0087] For example, if user 308 is detected as being on bed 302 at 3:00 PM based on the above example of user 308's bed presence, sleep, and wakefulness pattern, control circuit 334 may determine that user 308's presence on bed 302 is only temporary and use this determination to generate different control signals than would be the case if control circuit 334 determined that user 308 was spending the evening in bed (for example, at 3:00 PM, a head portion of bed 302 may be raised to facilitate reading or watching television in bed 302, while in the evening, bed 302 may be placed in a flat position to facilitate falling asleep).As another example, if control circuit 334 detects that user 308 got up at 3:00 a.m., control circuit 334 may determine, based on patterns detected for user 308, that the user only temporarily left the bed (e.g., to go to the bathroom or get a glass of water) and has not yet gotten up for the day. For example, control circuit 334 may turn on the under-bed light to assist user 308 in moving carefully on bed 302 and around the room.In contrast, if the control circuit 334 determines that the user 308 left the bed 302 at 6:40 a.m., the control circuit 334 may determine that the user 308 has gotten out of bed and generate a different set of control signals than those that would be generated if it were determined that the user 308 had only temporarily left the bed (as would be the case if the user 308 left the bed 302 at 3:00 a.m.) (e.g., the control circuit 334 may turn on the light 326 near the bed 302 and / or raise the blinds 330 if it is determined that the user 308 has gotten out of bed). For other users, leaving the bed 302 at 3:00 a.m. may be a normal wake-up time, which the control circuit 334 can learn and respond to accordingly. Furthermore, if the bed 302 is occupied by two users, the control circuit 334 can learn and respond to the behavior of each user.
[0088] As described above, the control circuit 334 for the bed 302 may generate control signals for controlling functions of various other devices. The control signals may be generated based at least in part on detected interactions of the user 308 with the bed 302, as well as other information such as 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 turned on. If the television 312 is in a different room than the bed 302, the control circuit 334 may generate a control signal to turn off the television 312 if it determines that the user 308 has gone to bed or otherwise remains in the room with the bed 302.For example, if the presence of user 308 on bed 302 is detected during a certain time range (e.g., between 8:00 p.m. and 7:00 a.m.) and lasts longer than a threshold period (e.g., 10 minutes), control circuit 334 may determine that user 308 has gone to bed. If television 312 is on (indicated by communication received from television 312 by bed 302 control circuit 334), control circuit 334 may generate a control signal to turn off television 312. The control signals may be transmitted to the television (e.g., via a direct communication link between television 312 and control circuit 334 or via a network, such as Wi-Fi).As another example, instead of turning off the television 312 in response to detecting the user's presence in bed, the control circuit 334 may generate a control signal that decreases the volume of the television 312 by a predetermined amount.
[0089] As another example, if it is detected that user 308 has left bed 302 within a certain time range (e.g., between 6:00 and 8:00 a.m.), control circuit 334 may generate control signals to turn on television 312 and tune it to a predetermined channel (e.g., user 308 has indicated that they want to watch the morning news after getting up). Control circuit 334 may generate the control signal and transmit the signal to television 312 to turn on television 312 and tune it to the desired channel (which may be stored in control circuit 334, television 312, or elsewhere).As another example, after detecting that user 308 has stood up, control circuit 334 may generate and transmit control signals to turn on television 312 and begin playing a previously recorded program from a digital video recorder (DVR) that is in communication with television 312.
[0090] As another example, if the television 312 is located in the same room as the bed 302, the control circuit 334 may not turn off the television 312 when the user's presence in the bed is detected. Rather, the control circuit 334 may generate and transmit control signals to turn off the television 312 when it is determined that the user 308 is asleep. For example, the control circuit 334 may monitor biometric signals of the user 308 (e.g., movement, heart rate, respiratory rate) to determine that the user 308 has fallen asleep. If it is detected that the user 308 is asleep, the control circuit 334 generates and transmits a control signal to turn off the television 312. As another example, the control circuit 334 may generate the control signal to turn off the television 312 after a certain threshold period of time has passed since the user 308 fell asleep (e.g.,10 minutes after the user falls asleep). As another example, control circuitry 334 generates control signals to decrease the volume of television 312 after determining that user 308 is asleep. As yet another example, control circuitry 334 generates and transmits a control signal to gradually decrease the volume of the television over a period of time and then turn it off when it is determined that user 308 has fallen asleep. Each of the control signals described above with respect to television 312 may also be determined by the central controller described above.
[0091] In some implementations, control circuitry 334 may similarly interact with other media devices, such as computers, tablets, mobile phones, smartphones, wearable devices, stereo systems, etc. For example, if it is detected that user 308 is asleep, control circuitry 334 may generate and transmit a control signal to user device 310 to cause user device 310 to turn off or decrease the volume of a video or audio file being played by user device 310.
[0092] 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, if the user's presence on the bed 302 is detected for a specified period of time (e.g., between 8:00 p.m. and 7:00 a.m.) that lasts longer than a threshold period (e.g., 10 minutes), the control circuit 334 of the bed 302 may determine that the user 308 has gone to bed. In response to this determination, the control circuit 334 may generate control signals to turn off the lights in one or more rooms other than the room in which the bed 302 is located. The control signals may then be transmitted to and executed by the lighting system 314 to turn off the lights in the specified rooms.For example, the control circuit 334 may generate and transmit control signals to turn off the lights in all common areas, but not in other bedrooms. As another example, the control signals generated by the control circuit 334 may indicate that the lights in all rooms other than the room in which the bed 302 is located should be turned off, while one or more lights located outside the house in which the bed 302 is located should be turned on when it is determined that the user 308 has gone to bed. Furthermore, the control circuit 334 may generate and transmit control signals to turn on the night light 328 when it is determined that the user 308 is in bed or that the user is asleep. As another example, the control circuit 334 may generate and transmit first control signals to turn off a first set of lights (e.g.,lights in common areas) in response to detecting the user's presence in bed and second control signals to turn off a second set of lights (e.g., lights in the room in which bed 302 is located) in response to detecting that user 308 is asleep.
[0093] In some implementations, in response to determining that user 308 has gone to bed, control circuitry 334 of bed 302 may generate control signals to cause lighting system 314 to implement a sunset lighting scheme in the room where bed 302 is located. For example, a sunset lighting scheme may include dimming the lights (either gradually or all at once) in combination with changing the light color in the bedroom, such as adding an amber hue to the bedroom lights. The sunset lighting scheme may help lull user 308 to sleep when control circuitry 334 has determined that user 308 has gone to bed. Sometimes, the control signals may cause lighting system 314 to dim the lights or change the color of the lights in the bedroom, but not both.
[0094] 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 is awake for the day, for example, by detecting that the user 308 has gotten out of bed 302 (e.g., is no longer present in bed 302) during a specified time frame (e.g., between 6:00 and 8:00 a.m.). As another example, the control circuit 334 may monitor movement, heart rate, respiratory rate, or other biometric signals of the user 308 to determine that the user 308 is awake or waking up, even though the user 308 has not yet left the bed. If the control circuit 334 detects that the user 308 is awake or waking up during a specified time frame, the control circuit 334 may determine that the user 308 is awake for the day.For example, the specified time frame may be based on previously recorded information about the user's bedtime, collected over a period of time (e.g., two weeks), indicating that the user 308 typically wakes up between 6:30 a.m. and 7:30 a.m. When the control circuit 334 determines that the user 308 is awake, the control circuit 334 may generate control signals to cause the lighting system 314 to implement the sunrise lighting scheme in the bedroom where the bed 302 is located. The sunrise lighting scheme may, for example, include turning on the lights (e.g., the lamp 326 or other lights in the bedroom). The sunrise lighting scheme may further include a gradual increase in the light level in the room where the bed 302 is located (or in one or more other rooms).The sunrise lighting scheme may also include turning on only lights of specific colors. For example, the sunrise lighting scheme may illuminate the bedroom with blue light to gently assist the user 308 in waking up and becoming active.
[0095] In some implementations, control circuitry 334 may generate different control signals for controlling actions of one or more components, such as lighting system 314, depending on the time of day at which user interactions with bed 302 are detected. For example, control circuitry 334 may use historical user interaction data for interactions between user 308 and bed 302 to determine that user 308 typically falls asleep between 10:00 PM and 11:00 PM and typically wakes up between 6:30 AM and 7:30 AM on weekdays.The control circuit 334 can use this information to generate a first set of control signals for controlling the lighting system 314 when it detects that the user 308 leaves the bed at 3:00 a.m. and to generate a second set of control signals for controlling the lighting system 314 when it detects that the user 308 leaves the bed after 6:30 a.m. For example, if the user 308 gets up before 6:30 a.m., the control circuit 334 can turn on lights that guide the user 308 to the bathroom. As another example, if user 308 gets up before 6:30 a.m., control circuit 334 may turn on lights that guide user 308's path to the kitchen (which may include turning on nightlight 328, turning on the light under the bed, turning on lamp 326, or turning on lights along the path user 308 takes to the kitchen).
[0096] As another example, if the user 308 gets up after 6:30 a.m., the control circuit 334 may generate control signals that cause the lighting system 314 to trigger a sunrise lighting scheme or to turn on one or more lights in the bedroom and / or other rooms. In some implementations, if it is detected that the user 308 gets out of bed before a certain morning rise time of the user 308, the control circuit 334 may cause the lighting system 314 to turn on lights that are dimmer than lights turned on by the lighting system 314 if it is detected that the user 308 gets out of bed after the certain morning rise time. Causing the lighting system 314 to turn on only dim lights when the user 308 gets up at night (e.g.,before the user's 308 usual wake-up time), can prevent other house occupants from being awakened by the light, while the user 308 can still see enough to reach the bathroom, kitchen, or another destination in the house.
[0097] The historical user interaction information for interactions between user 308 and bed 302 can be used to determine the user's sleep and wake times. For example, the user's in-bed times and sleep times can be determined for a specific period of time (e.g., two weeks, one month, etc.). The control circuit 334 can then determine a typical time range or time frame for the user 308 to go to bed, a typical time frame for the user 308 to fall asleep, and a typical time frame for the user 308 to wake up (and, in some cases, different time frames for the user 308 to wake up and the user 308 to actually get up). In some implementations, a buffer time can be added to these time frames.For example, if it is determined that the user typically goes to bed between 10:00 PM and 10:30 PM, a buffer of half an hour in each direction can be added to the time frame, so that any detection that the user goes to bed between 9:30 PM and 11:00 PM is interpreted as user 308 going to bed for the evening. As another example, detecting user 308's bedtime from half an hour before the earliest typical time user 308 goes to bed until user 308's typical wake-up time (e.g., 6:30 AM) can be interpreted as user 308 going to bed for the evening.For example, if user 308 typically goes to bed between 10:00 PM and 10:30 PM, and user 308's bedtime is measured at 12:30 PM that night, this may be interpreted as user 308 going to bed in the evening, even though this is outside of user 308's typical bedtime because it occurred before user 308's usual wake-up time. In some implementations, different time frames are determined for different times of the year (e.g., earlier bedtime in winter versus summer) or at different times of the week (e.g., user 308 wakes up earlier on weekdays than on weekends).
[0098] The control circuit 334 can distinguish whether the user 308 is going to bed for an extended period of time (e.g., for the night) or is present on the bed 302 for a shorter period of time (e.g., for a nap) by measuring the duration of the user's 308 presence (e.g., by detecting pressure signals and / or temperature signals of the user 308 on the bed 302 through one or more sensors incorporated into the bed 302). In some examples, the control circuit 334 can distinguish whether the user 308 is going to bed for an extended period of time (e.g., for the night) or for a shorter period of time (e.g., for a nap) by measuring the duration of sleep of the user 308. For example, the control circuit 334 may set a threshold time such that if the user 308 is measured on the bed 302 for longer than that threshold time, the user 308 is considered to have gone to bed for the night.In some examples, the threshold may be approximately 2 hours, with control circuitry 334 registering this as an extended sleep event if user 308 is measured on bed 302 for more than 2 hours. In other examples, the threshold may be greater or less than two hours. The threshold may also be determined based on historical trends indicating how long user 302 typically sleeps or otherwise stays on bed 302.
[0099] Control circuitry 334 may detect repeated extended sleep events to automatically determine a typical sleep time range of user 308 without requiring user 308 to enter a sleep time range. In this way, control circuitry 334 may accurately estimate when user 308 is likely to go to bed for an extended sleep event, regardless of whether user 308 typically goes to bed according to a traditional or non-traditional sleep schedule. Control circuitry 334 may then use knowledge of the sleep time range of user 308 to control one or more components (including components of bed 302 and / or peripheral devices outside the bed) based on sensing bed presence during or outside the sleep time range.
[0100] In some examples, control circuitry 334 may automatically determine the sleep time range of user 308 without requiring user input. In some examples, control circuitry 334 may automatically determine the sleep time range of user 308 in combination with user input (e.g., using one or more signals measured by sensors of bed 302 and / or the central controller described above). In some examples, control circuitry 334 may directly adjust the sleep time range according to user input. In some examples, control circuitry 334 may assign different bedtimes to 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 maker 324, the lamp 326, and the night light 328) depending on the measured bed presence and the sleep time range.
[0101] The control circuit 334 may additionally communicate with the thermostat 316, receive information from the thermostat 316, and generate control signals for controlling functions of the thermostat 316. For example, the user 308 may indicate user preferences for different temperatures at different times depending on whether the user 308 is asleep or whether the user 308 is present in bed. For example, the user 308 may prefer an ambient temperature of 72 degrees when not in bed, 70 degrees when in bed but awake, and 68 degrees when asleep. The control circuit 334 of the bed 302 may detect the presence of the user 308 in bed in the evening and determine that the user 308 is in bed for the night. In response to this determination, the control circuit 334 may generate control signals that cause the thermostat 316 to change the temperature to 70 degrees.The control circuit 334 may then transmit the control signals to the thermostat 316. If it is detected that the user 308 is in bed or asleep during the bedtime range, the control circuit 334 may generate and transmit control signals to cause the thermostat 316 to change the temperature to 68 degrees. The next morning, if it is determined that the user 308 is awake for the day (e.g., if the user 308 gets out of bed after 6:30 a.m.), the control circuit 334 may generate and transmit control signals to cause the thermostat to change the temperature to 72 degrees.
[0102] The control circuit 334 may also determine control signals transmitted to the thermostat 316 to maintain an improved or preferred sleep quality of the user 308. In other words, the control circuit 334 may determine adjustments to the thermostat 316 based not only on the preferences entered by the user. For example, based on historical sleep patterns and the sleep quality of the user 308 and by applying one or more machine learning models, the control circuit 334 may determine that the user 308 sleeps best when the bedroom temperature is 74 degrees. The control circuit 334 may receive temperature signals from one or more devices and / or sensors in the bedroom that indicate a temperature of the bedroom.If the temperature is below 74 degrees, control circuit 334 may determine control signals that cause thermostat 316 to activate a heating unit in the house to raise the temperature in the bedroom to 74 degrees. If the temperature is above 74 degrees, control circuit 334 may determine control signals that cause thermostat 316 to activate a cooling unit in the house to lower the temperature back to 74 degrees. Sometimes, control circuit 334 may also determine control signals that cause thermostat 316 to maintain the bedroom within a temperature range designed to maintain user 308 in certain sleep states and / or transition to the next preferred sleep states.
[0103] In some implementations, control circuitry 334 may generate control signals to cause one or more heating or cooling elements on the surface of bed 302 to change temperature at various times, either in response to the user's interaction with bed 302, at various preprogrammed times based on user preference, and / or in response to detecting the microclimate temperatures of user 308 on bed 302. For example, control circuitry 334 may activate a heating element to increase the temperature of one side of the surface of bed 302 to 73 degrees if it detects that user 308 has fallen asleep. As another example, control circuitry 334 may turn off a heating or cooling element when it determines that user 308 is awake for the day.As yet another example, the user 308 may pre-program various times at which to increase or decrease the temperature on the surface of the bed. For example, the user 308 may program the bed 302 so that the surface temperature increases to 76 degrees at 10:00 PM and decreases to 68 degrees at 11:30 PM. As another example, one or more temperature sensors on the surface of the bed 302 may detect the microclimates of the user 308 on the bed 302. When a detected microclimate of the user 308 falls below a predetermined temperature threshold, the control circuit 334 may activate a heating element to increase the body temperature of the user 308 and thereby improve the comfort of the user 308, maintain the user 308 in their sleep cycle, transition the user 308 to a next preferred sleep state, and / or otherwise maintain or improve the sleep quality of the user 308.
[0104] In some implementations, in response to detecting the presence of user 308 in bed and / or that user 308 is asleep, control circuit 334 may cause thermostat 316 to change the temperature in different rooms to different values. For example, if it is determined that user 308 is in bed in the evening, control circuit 334 may 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 also possible and may be based on user preferences and user input.
[0105] Control circuitry 334 may also receive temperature information from thermostat 316 and use this temperature information to control the functions of bed 302 or other devices. As previously mentioned, control circuitry 334 may, for example, adjust the temperatures of heating elements enclosed within or otherwise attached to bed 302 (e.g., a foot warmer pad) in response to the temperature information received from thermostat 316.
[0106] In some implementations, control circuitry 334 may generate and transmit control signals to control other temperature control systems. For example, if it is determined that user 308 is awake for the day, control circuitry 334 may generate and transmit control signals to activate floor heating elements in the bedroom and / or other rooms of the house. For example, control circuitry 334 may cause a floor heating system in a master bedroom to be turned on in response to determining that user 308 is awake for the day. One or more of the control signals described herein that are determined by control circuitry 334 may also be determined by the central controller described above.
[0107] 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 functions of the security system 318. For example, in response to detecting that the user 308 is in bed in the evening, the control circuit 334 may generate control signals to cause the security system 318 to enable or disable security functions. The control circuit 334 may then transmit the control signals to the security system 318 to cause the security system 318 to enable (e.g., turning on security cameras around the house, automatically locking doors in the house, etc.). As another example, the control circuit 334 may generate and transmit control signals to disable the security system 318 if it detects that the user 308 is awake for the day (e.g., if the user 308 is no longer in bed 302 after 6:00 a.m.).In some implementations, the control circuit 334 may generate and transmit a first set of control signals to cause the security system 318 to enable a first set of security features in response to detecting the presence of the user 308 in the bed, and may generate and transmit a second set of control signals to cause the security system 318 to enable a second set of security features in response to detecting that the user 308 has fallen asleep.
[0108] In some implementations, control circuitry 334 may receive alerts from security system 318 and communicate the alert to user 308. For example, control circuitry 334 may detect that user 308 is in bed at night and, in response, generate and transmit control signals to enable or disable security system 318. The security system may then detect a security breach (e.g., if someone opened door 332 without entering the security code, or if someone opened a window while security system 318 is enabled). Security system 318 may communicate the security breach to control circuitry 334 of bed 302. In response to receiving the notification from security system 318, control circuitry 334 may generate control signals to alert user 308 of the security breach.For example, control circuit 334 may cause bed 302 to vibrate. As another example, control circuit 334 may cause parts of bed 302 to move in a hinged manner (e.g., cause the headboard to be raised or lowered) to awaken user 308 and alert the user 308 to the security breach. As another example, control circuit 334 may generate and transmit control signals to cause lamp 326 to flash and extinguish at regular intervals to alert user 308 to the security breach. As another example, control circuit 334 may alert the user 308 of one bed 302 to a security breach in a bedroom of another bed, such as an open window in a child's bedroom. As another example, control circuit 334 may send an alert to a garage door controller (e.g., to close and lock the door).As another example, control circuitry 334 may send an alert to disable security. Control circuitry 334 may also trigger a smart alarm or other alarm device / clock near bed 302. Control circuitry 334 may transmit a push notification, text message, or other indication of the security breach to user device 310. Additionally, control circuitry 334 may transmit 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.
[0109] The control circuit 334 may additionally generate and transmit control signals for controlling the garage door 320 and receive information indicating the state of the garage door 320 (e.g., open or closed). In response to determining, for example, that the user 308 is in bed at night, the control circuit 334 may transmit a request to a garage door opener or other device capable of measuring whether the garage door 320 is open. The control circuit 334 may request information about the current state of the garage door 320. When 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 either notify the user 308 that the garage door is open (e.g., by displaying a notification or other message on the user device 310, by issuing a notification to the central controller, etc.)), and / or generate a control signal to cause 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 yet another example, the control circuit 334 may generate and transmit a control signal to cause the lighting system 314 to flash one or more lights in the bedroom to alert the user 308 to check the user device 310 for an alert (in this example, an alert that the garage door 320 is open). Alternatively or additionally, the control circuit 334 may generate and transmit control signals to cause the garage door opener to close the garage door 320 in response to determining that the user 308 is in bed at night and the garage door 320 is open.The control signals may also vary depending on the age of the user 308.
[0110] The control circuit 334 may similarly send and receive messages for controlling or receiving status information associated with the door 332 or the oven 322. In response to determining, for example, that the user 308 is in bed at night, the control circuit 334 may generate and transmit a request to a device or system for detecting the status 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 alert the user 308 of the status of the door, as 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 control signals to lock or close and lock the door 332. Once the door 332 is closed and locked, the control circuit 334 may determine that no further action is required.
[0111] Similarly, when control circuitry 334 detects that user 308 is in bed at night, it may generate and transmit a request to oven 322 requesting a state of oven 322 (e.g., on or off). If oven 322 is on, control circuitry 334 may alert user 308 and / or generate and transmit control signals to turn oven 322 off. If the oven is already off, control circuitry 334 may determine that no further action is required. In some implementations, different alerts may be generated for different events.For example, the control circuit 334 may cause the lamp 326 (or one or more other lights via the lighting system 314) to flash in a first pattern when the security system 318 has detected a break-in, to flash in a second pattern when the garage door 320 is on, to flash in a third pattern when the door 332 is open, to flash in a fourth pattern when the furnace 322 is on, and to flash in a fifth pattern when another bed has detected that a user 308 of that bed has gotten out of bed (e.g., that a child of user 308 got out of bed in the middle of the night, as measured by a sensor in the child's bed). Other examples of alerts that may be processed by the control circuit 334 of the bed 302 and communicated to the user (e.g.,to the user device 310 and / or the central controller described herein), include a smoke detector that detects smoke (and communicates this detection of smoke to the control circuit 334), a carbon monoxide tester that detects carbon monoxide, a heater malfunction, or a warning from another device capable of communicating with the control circuit 334 and detecting an event to which the user 308 should be made aware.
[0112] The control circuit 334 may also communicate with a system or device for controlling the state of the blinds 330. In response to determining, for example, that the user 308 is in bed in the evening, the control circuit 334 may generate and transmit control signals to close the blinds 330. As another example, in response to determining that the user 308 has gotten up for the day (e.g., the user got up after 6:30 a.m.) or that the user 308 has set an alarm to wake up at a specific time, the control circuit 334 may generate and transmit control signals to cause the blinds 330 to open. However, if the user 308 gets up before the normal wake-up time for the user 308, the control circuit 334 may determine that the user 308 is not yet awake and may not generate control signals that cause the blinds 330 to open.As another example, control circuitry 334 may generate and transmit control signals that cause a first set of blinds to be closed in response to detecting the presence of user 308 in bed and a second set of blinds to be closed in response to detecting that user 308 is asleep.
[0113] Control circuitry 334 may generate and transmit control signals for controlling functions of other household devices in response to detecting user interactions with bed 302. For example, in response to determining that user 308 is awake for the day, control circuitry 334 may generate and transmit control signals to coffee maker 324 to cause coffee maker 324 to begin brewing coffee. As another example, control circuitry 334 may generate and transmit control signals to oven 322 to cause oven 322 to begin preheating (for users who enjoy baking fresh bread or otherwise baking or preparing food in the morning).As another example, control circuitry 334 may use information indicating that user 308 is awake for the day, along with information indicating that the season is currently winter and / or that the outside temperature is below a threshold, to generate and transmit control signals to turn on an engine block heater.
[0114] As another example, control circuitry 334 may generate and transmit control signals to cause one or more devices to enter a sleep mode when the presence of user 308 in bed is detected, or when it is detected that user 308 is asleep. For example, control circuitry 334 may generate control signals to place a mobile phone of user 308 into sleep mode or night mode so that notifications from the mobile phone are muted so as not to disturb user 308's sleep. Control circuitry 334 may then transmit the control signals to the mobile phone. Later, when it is determined that user 308 is awake for the day, control circuitry 334 may generate and transmit control signals to bring the mobile phone out of sleep mode.
[0115] In some implementations, control circuitry 334 may communicate with one or more noise control devices. For example, if it is determined that user 308 is in bed in the evening or that user 308 is asleep (e.g., based on pressure signals received from bed 302, audio / decibel signals received from audio sensors positioned on or around bed 302, etc.), control circuitry 334 may generate and transmit control signals to activate one or more noise suppression devices. For example, the noise suppression devices may be included as part of bed 302 or may be located with bed 302 in the bedroom.As another example, when the control circuit 334 determines that the user 308 is in bed at night or that the user 308 is asleep, it may generate and transmit control signals to turn on or off, increase or decrease the volume for one or more sound-generating devices, such as the radio of a stereo system, a television, a computer, a tablet, a mobile phone, etc.
[0116] Furthermore, the functions of the bed 302 can be controlled by the control circuit 334 in response to user interactions with the bed 302. As mentioned throughout, the functions of the bed 302 described herein can also be controlled by the user device 310 and / or the central controller (e.g., a hub device or other home automation device that controls several different devices in the home). As mentioned above, the bed 302 can include an adjustable base and an articulation control configured to adjust the position of one or more portions of the bed 302 by adjusting the adjustable base that supports the bed 302. For example, the articulation control can adjust the bed 302 from a flat position to a position in which a head portion of a mattress of the bed 302 is tilted upward (e.g.,to make it easier for a user to sit up in bed, read, and / or watch television). In some implementations, bed 302 includes multiple articulated, adjustable sections. For example, portions of the bed corresponding to the locations of air chambers 306a and 306b may be independently articulated so that a person positioned on the surface of bed 302 may 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 at an angle to the waist). In some implementations, separate positions may be set for two different beds (e.g., two twin beds placed side by side). The base of bed 302 may include more than one zone that may be adjusted independently.The joint control 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 alerts to the user 308 as described above.
[0117] The control circuit 334 may adjust positions (e.g., elevation and lowering positions for the user 308 and / or another user of the bed 302) in response to user interactions with the bed 302. For example, the control circuit 334 may cause the joint controller to adjust the bed 302 to a first reclining position for the user 308 in response to sensing the presence of the user 308 in the bed. The control circuit 334 may cause the joint controller to adjust the bed 302 to a second reclining position (e.g., a less reclined or flat position) in response to determining that the user 308 is asleep.As another example, control circuitry 334 may receive a message from television 312 indicating that user 308 has turned off television 312, and in response, control circuitry 334 may cause the joint controller to adjust the position of bed 302 to a preferred sleeping position of the user (e.g., because the user has turned off television 312 while user 308 is lying in bed, indicating that user 308 wants to go to sleep).
[0118] In some implementations, control circuitry 334 may control the joint controller to awaken one user of bed 302 without awakening another user of bed 302. For example, user 308 and a second user of bed 302 may each set different wake-up times (e.g., 6:30 a.m. and 7:15 a.m.). When the wake-up time for user 308 is reached, control circuitry 334 may cause the joint controller to vibrate or change the position of only one side of the bed on which user 308 is located to awaken user 308 without disturbing the second user. When the wake-up time for the second user is reached, control circuitry 334 may cause the joint controller to vibrate or change the position of only the side of the bed on which the second user is located. Alternatively, when the second wake-up time occurs, the control circuit 334 may also apply other methods (e.g.audible alarms or switching on the lights) to wake the second user, since the user 308 is already awake and therefore will not be disturbed when the control circuit 334 attempts to wake the second user.
[0119] Still referring to Fig. 3, the control circuit 334 for the bed 302 may utilize information about multiple users' interactions with the bed 302 to generate control signals for controlling functions of various other devices. For example, the control circuit 334 may wait to generate control signals to, for example, engage the security system 318 or instruct the lighting system 314 to turn off the lights in various rooms until both the user 308 and a second user are detected as being present on the bed 302. As another example, the control circuit 334 may generate a first set of control signals to cause the lighting system 314 to turn off a first set of lights when the bed presence of the user 308 is detected and generate a second set of control signals to turn off a second set of lights when the bed presence of a second user is detected.As another example, control circuitry 334 may wait until it has been determined that both user 308 and a second user are awake for the day before generating control signals to open window shades 330. As yet another example, in response to determining that user 308 has left bed 302 and is awake for 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 lamp 326, turn off nightlight 328, cause thermostat 316 to increase the temperature in one or more rooms to 72 degrees, and / or open window shades 330 in rooms other than the bedroom in which bed 302 is located.Later, in response to determining that the second user is no longer lying on the bed (or that 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, open the bedroom blinds, and turn television 312 on to a predetermined channel. One or more other home automation control signals may be determined and generated by control circuitry 334 described herein, user device 310, and / or the central controller. Examples of data processing systems assigned to a bed
[0120] Examples of systems and components that can be used for data processing tasks associated with, for example, a bed are described here. In some cases, multiple examples are presented for a particular component or group of components. Some of these examples are redundant and / or mutually exclusive alternatives. Connections between components are shown as examples to illustrate possible network designs for enabling communication between components. Different connection formats can be used depending on technical needs or desires. The connections generally represent a logical connection that can be made using any technologically feasible format. A network on a motherboard can, for example, be created using a printed circuit board, wireless data connections, and / or other types of network connections.Some logical connections are not shown for clarity. For example, connections to power supplies and / or computer-readable memory may not be shown for clarity because many or all elements of a particular component must be connected to the power supplies and / or computer-readable memory.
[0121] Fig. 4A is a block diagram of an example of a data processing system 400 that may be associated with a bed system, including those described above with respect to Fig. 1-3. This system 400 includes a pump main board 402 and a pump daughter board 404. The system 400 includes a sensor group 406, which may include one or more sensors configured to measure physical phenomena of the environment and / or the bed and return such measurements to the pump main board 402 for analysis, for example. The sensor group 406 may include one or more different types of sensors, including but not limited to pressure sensors, temperature sensors, light sensors, motion sensors (e.g., motion detectors), and audio sensors. The system 400 also includes a group of controllers 408, which may include one or more controllers configured to control logic-controlled devices of the bed and / or environment (e.g.,Home automation devices, security systems, lighting systems and other devices related to . Fig. 3). The pump main board 400 may communicate with one or more computing devices 414 and one or more cloud services 410 via local area networks, the Internet 412, or other technically suitable means. Each of these components is described in more detail below, in part with several example configurations.
[0122] In this example, a pump main board 402 and a pump daughter board 404 are communicatively coupled. They can be conceptually described as the center or hub of the system 400, where the other components can be conceptually described as spokes of the system 400. In some configurations, this may mean that each of the spoke components communicates primarily or exclusively with the pump main board 402. For example, a sensor of the sensor group 406 may not be configured or capable of communicating directly with a corresponding controller. Instead, each spoke component may communicate with the main board 402.The sensor of sensor group 406 can report a sensor reading to main board 402, and main board 402 can determine that, in response, a controller of group of controllers 408 should adjust some parameters of a logic-controlled device or otherwise change a state of one or more peripheral devices. In a case where the bed temperature is determined to be too hot based on the temperature signals received from sensor group 406, pump main board 402 can determine that a temperature controller should cool the bed.
[0123] One advantage of a hub-and-spoke network design, sometimes referred to as a star network, is the reduction in network traffic compared to, for example, a mesh network with dynamic routing. If a particular sensor generates a large, continuous data stream, this data traffic can only be transmitted to the main board 402 via a network spoke. The main board 402 can, for example, aggregate this data and condense it into a smaller data format to retransmit it for storage in a cloud service 410. Additionally or alternatively, the main board 402 can generate a single, small command message to be sent via another spoke of the network in response to the large data stream.For example, if the large data stream is a pressure measurement transmitted several times per second from sensor array 406, main board 402 can respond with a single command message to the array of controllers to increase the pressure in an air chamber of the bed. In this case, the single command message can be orders of magnitude smaller than the data stream of pressure measurements.
[0124] Another advantage is that a hub-and-spoke network design enables an expandable network that can accommodate components that are added, removed, fail, etc. This may, for example, enable more, fewer, or different sensors in the sensor group 406, controllers in the group of controllers 408, computing devices 414, and / or cloud services 410. For example, if a particular sensor fails or becomes obsolete due to a newer version of the sensor, the system 400 can be designed so that only the main board 402 needs to be updated with the replacement sensor. This may, for example, enable product differentiation where the same main board 402 can support an entry-level product with fewer sensors and controllers, a higher-end product with more sensors and controllers, and customization where a customer can add their own selected components to the system 400.
[0125] Furthermore, a range of airbeds can use the system 400 with different components. In an application where each airbed in the product line includes both a central logic unit and a pump, the main board 402 (and optionally the daughter board 404) can be designed to fit into a single, universal housing. Additional sensors, controllers, cloud services, etc., can then be added each time a product in the product line is upgraded. Development, manufacturing, and testing time can be reduced if all products in a product line are designed on this basis, compared to a product line where each product has a customized logical control system.
[0126] Each of the above components can be implemented in a variety of technologies and designs. Some examples of each component are explained in more detail below. 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.
[0127] Fig. Figure 4B is a block diagram illustrating some communication paths of data processing system 400. As previously described, mainboard 402 and pump daughterboard 404 may serve as a hub for peripheral devices and cloud services of system 400. In cases where pump daughterboard 404 communicates with cloud services or other components, communication from pump daughterboard 404 may be routed through pump mainboard 402. For example, the bed may have only a single connection to internet 412. Computing device 414 may also have a connection to internet 412, possibly through the same gateway used by the bed and / or possibly through a different gateway (e.g., a cellular provider).
[0128] Previously, a number of cloud services 410 were described. As in Fig. 4B, some cloud services, such as cloud services 410d and 410e, may be configured to allow pump main board 402 to communicate directly with the cloud service—i.e., main board 402 may communicate with a cloud service 410 without needing to utilize another intermediary cloud service 410. Additionally or alternatively, some cloud services 410, such as cloud service 410f, may only be accessible from pump main board 402 through an intermediary cloud service, such as cloud service 410e. Although not illustrated here, some cloud services 410 may be accessible either directly or indirectly through pump main board 402.
[0129] Additionally, some or all of the cloud services 410 may be configured to communicate with other cloud services. This communication may include transmitting data and / or invoking remote functions in any technologically suitable format. For example, one cloud service 410 may request a copy of another cloud service's 410 data, such as for purposes of backup, coordination, migration, or for performing computation or data mining. In another example, many cloud services 410 may include data indexed by specific users tracked by the user account cloud 410c and / or the bed data cloud 410a. These cloud services 410 may communicate with the user account cloud 410c and / or the bed data cloud 410a when accessing data specific to a particular user or bed.
[0130] Fig. 5 is a block diagram of an example of a motherboard 402 that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In this example, the main board 402 consists of relatively few parts compared to other examples described below and can be limited to providing a relatively limited set of features.
[0131] The motherboard 402 includes a power supply 500, a processor 502, and computational memory 512. Generally, the power supply 500 includes hardware designed to receive electrical energy from an external source and deliver it to components of the motherboard 402. The power supply may include, for example, a battery and / or a wall adapter, an AC-to-DC converter, a DC-to-AC converter, a power regulator, a capacitor bank, and / or one or more interfaces for providing power of the current type, voltage, etc. required by other components of the motherboard 402.
[0132] Processor 502 is generally a device that receives inputs, makes logical decisions, and provides outputs. Processor 502 may be a central processing unit, a microprocessor, a general-purpose logic circuit, an application-specific integrated circuit, a combination thereof, and / or other hardware to perform the required functions.
[0133] Storage 512 typically includes one or more devices for storing data. Storage 512 may include stable long-term data storage (e.g., on a hard disk), unstable short-term data storage (e.g., on random access memory), or any other technologically suitable configuration.
[0134] The main board 402 includes a pump controller 504 and a pump motor 506. The pump controller 504 can receive commands from the processor 502 and can then control the function of the pump motor 506. For example, the pump controller 504 can receive a command from the processor 502 to increase the pressure in an air chamber by 0.3 pounds per square inch (PSI). The pump controller 504 then closes a valve so that the pump motor 506 is configured to pump air into the selected air chamber and can energize the pump motor 506 for a period of time equal to 0.3 PSI or until a sensor indicates that the pressure has been increased by 0.3 PSI. In an alternative configuration, the message can specify that the chamber be inflated to a target PSI, and the pump controller 504 can energize the pump motor 506 until the target PSI is reached.
[0135] A solenoid valve of valve 508 can control which air chamber a pump is connected to. In some cases, solenoid valve 508 can be controlled directly by processor 502. In some cases, solenoid valve 508 can be controlled by pump controller 504.
[0136] A remote interface 510 of the motherboard 402 may enable the motherboard 402 to communicate with other components of a data processing system. For example, the motherboard 402 may communicate with one or more daughterboards, with peripheral sensors, and / or with peripheral controllers via the remote interface 510. The remote interface 510 may provide any technologically suitable communication interface, including but not limited to multiple communication interfaces such as Wi-Fi, Bluetooth, and copper cable networks.
[0137] Fig. Figure 6 is a block diagram of an example of the main board 402 that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. Compared to the Fig. 5 described main board 402, the main board 402 can be Fig. 6 include more components and provide more functionality in some applications.
[0138] In addition to the power supply 500, the processor 502, the pump controller 504, the pump motor 506, and the solenoid valve 508, this main board 402 is shown with a valve controller 600, a pressure sensor 602, a (Universal Serial Bus) USB stack 604, a WiFi radio 606, a Bluetooth Low Energy (BLE) radio 608, a ZigBee radio 610, a Bluetooth radio 612, and a compute memory 512.
[0139] Similar to how pump controller 504 converts commands from processor 502 into control signals for pump motor 506, valve controller 600 may convert commands from processor 502 into control signals for the solenoid valve of valve 508. In one example, processor 502 may command valve controller 600 to connect the pump to a specific air chamber from an array of air chambers in an air bed. Valve controller 600 may control the position of the solenoid valve of valve 508 so that the pump is connected to the specified air chamber.
[0140] The pressure sensor 602 can read pressure measurements from one or more air chambers of the air bed. The pressure sensor 602 can also perform digital sensor conditioning. As described herein, multiple pressure sensors 602 can be included as part of the main board 402 or otherwise communicate with the main board 402.
[0141] The main board 402 may include a collection of network interfaces 604, 606, 608, 610, 612, etc., including but not limited to those in Fig. 6. These network interfaces may enable the motherboard to communicate with any number of devices over a wired or wireless network, including but not limited to peripheral sensors, peripheral controllers, computing devices, and devices and services connected to the Internet 412.
[0142] Fig. Figure 7 is a block diagram of an example of a daughter board 404 that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In some implementations, one or more daughterboards 404 may be connected to the mainboard 402. Some daughterboards 404 may be designed to offload specific and / or subdivided tasks from the mainboard 402. This may be advantageous, for example, when the tasks are computationally intensive or proprietary, or when the tasks have yet to be refactored. For example, the daughterboard 404 may be used to calculate a specific sleep data metric. This metric may be computationally intensive, and calculating the sleep metric on the daughterboard 404 may offload the resources of the mainboard 402 while the metric is being calculated. Additionally and / or alternatively, the sleep metric may be revised in the future. To update the system 400 with the new sleep metric, it is possible that only the daughterboard 404 that calculates this metric may need to be replaced.In this case, the same main board 402 and other components can be used, eliminating the need to perform unit testing of additional components and not just the daughter board 404.
[0143] Daughterboard 404 is shown with a power supply 700, a processor 702, computer-readable memory 704, a pressure sensor 706, and Wi-Fi radio 708. Processor 702 may use pressure sensor 706 to collect information about the pressure of one or more air chambers of an air bed. From this data, processor 702 may perform an algorithm to calculate a sleep metric (e.g., sleep quality, whether a user is currently in bed, whether the user has fallen asleep, a user's heart rate, a user's respiratory rate, user movement, etc.). In some examples, the sleep metric may be calculated based only on the pressure of the air chambers. In other examples, the sleep metric may be calculated based on signals from various sensors (e.g., a motion sensor, a pressure sensor, a temperature sensor, and / or an audio sensor).In an example where other data is needed, processor 702 may receive this data from a suitable sensor or sensors. These sensors may be mounted internally on daughterboard 404, accessible via WiFi radio 708, or otherwise communicate with processor 702. Once the sleep metric is calculated, processor 702 may, for example, report this sleep metric to mainboard 402. Mainboard 402 may then generate instructions for outputting the sleep metric to the user or otherwise use the sleep metric to determine one or more other pieces of information about the user or to control the bed system and / or peripheral devices.
[0144] Fig. Figure 8 is a block diagram of an example of a main board 800 without a daughter board that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In this example, the main board 800 may perform most, all, or more of the functions described with reference to the main board 402 in Fig. 6 and the daughterboard 404 in Fig. 7 are described.
[0145] Fig. Figure 9 is a block diagram of an example of the sensor group 406 that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In general, sensor group 406 is a conceptual grouping of some or all of the peripheral sensors that communicate with the main board 402 but are not native to the main board 402.
[0146] The peripheral sensors 902, 904, 906, 908, 910, etc. of the sensor group 406 can communicate with the mainboard 402 via one or more of the mainboard's network interfaces, including but not limited to the USB stack 604, the Wi-Fi radio 606, the Bluetooth Low Energy (BLE) radio 608, the ZigBee radio 610, and the Bluetooth radio 612, as appropriate for the respective sensor's design. For example, a sensor that outputs a measurement value via a USB cable can communicate via the USB stack 604.
[0147] Some of the peripheral sensors of sensor group 406 may be bed-mounted sensors 900, such as a temperature sensor 906, a light sensor 908, and a sound sensor 910. For example, bed-mounted sensors 900 may be embedded in the structure of a bed and sold with the bed, or later attached to the structure of the bed (e.g., as part of a pressure sensor pad removably installed on the top surface of the bed, as part of a temperature sensor pad or heating pad removably installed on the top surface of the bed, incorporated into the top surface of the bed, along the connecting tubes between a pump and the air chambers, within the air chambers, at a headboard of the bed, at one or more areas of an adjustable bed frame, etc.).Other sensors 902 and 904 may communicate with the main board 402, but are optionally not mounted on the bed. The other sensors 902 and 904 may include a pressure sensor 902 and / or a peripheral sensor 904. For example, the sensors 902 and 904 may be incorporated into or otherwise part of a user's mobile device (e.g., a cell phone, wearable device, etc.). The sensors 902 and 904 may also be part of a central controller that controls the bed and peripheral devices in the home. Sometimes, the sensors 902 and 904 may also be part of one or more home automation devices or other peripheral devices in the home.
[0148] In some cases, some or all of the bed-mounted sensors 900 and / or sensors 902 and 904 may share network hardware, including a conduit containing wires from each sensor, a multi-conductor cable, or a connector that, when attached to the main board 402, connects all associated sensors to the main board 402. In some embodiments, one, some, or all of the sensors 902, 904, 906, 908, and 910 may measure one or more characteristics of a 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 measure one or more characteristics external to the mattress.In some embodiments, pressure sensor 902 may measure the pressure of the mattress, while some or all of sensors 902, 904, 906, 908, and 910 may measure one or more features of the mattress and / or external to the mattress.
[0149] Fig. Figure 10 is a block diagram of an example of the sensor group 408 that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In general, the group of controllers 408 is a conceptual grouping of some or all of the peripheral controllers that communicate with the main board 402 but are not native to the main board 402.
[0150] The peripheral controllers of the controller group 408 can communicate with the mainboard 402 via one or more of the mainboard's network interfaces, including but not limited to the USB stack 604, the Wi-Fi radio 606, the Bluetooth Low Energy (BLE) radio 608, the ZigBee radio 610, and the Bluetooth radio 612, as appropriate for the particular sensor design. For example, a controller receiving a measurement value via a USB cable can communicate via the USB stack 604.
[0151] Some of the controllers of the group of controllers 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 controllers 1000 may, for example, be embedded in the structure of a bed and sold with the bed or later attached to the structure of the bed, as described with respect to the peripheral sensors in Fig. 9. Other peripheral controllers 1002 and 1004 may communicate with the main board 402, but are optionally not mounted on the bed. In some cases, some or all of the bed-mounted controllers 1000 and / or the peripheral controllers 1002 and 1004 may share network hardware, including a conduit containing wires for each controller, a multi-conductor cable, or a connector that, when attached to the main board 402, connects all associated controllers to the main board 402.
[0152] Fig. 11 is a block diagram of an example of a computing device 412 that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. Computing device 412 may include, for example, computing devices used by a bed user. Examples of computing devices 412 include, but are not limited to, mobile computing devices (e.g., mobile phones, tablet computers, laptops, smartphones, wearable devices), desktop computers, home automation devices, and / or central controllers or other hub devices.
[0153] Computing device 412 includes a power supply 1100, a processor 1102, and computer-readable memory 1104. User inputs and outputs may be transmitted, for example, via speakers 1106, a touchscreen 1108, or other components not shown, such as a pointing device or a keyboard. Computing device 412 may execute one or more applications 1110. These applications may include, for example, applications that enable the user to interact with system 400. These applications may enable a user to view information about the bed (e.g., sensor readings, sleep metrics), information about themselves (e.g., health conditions detected based on signals measured at the bed), and / or configure the behavior of system 400 (e.g., setting a desired firmness for the bed, setting desired behavior for peripheral devices).In some cases, the computing device 412 may be used in addition to or in place of the remote control 122 described above.
[0154] Fig. 12 is a block diagram of an example of a bed data cloud service 410a that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. 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 with one or more users who were using the bed when the sensor and sleep data were generated.
[0155] Bed data cloud service 410a is shown with a network interface 1200, a communications manager 1202, server hardware 1204, and server system software 1206. Furthermore, 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 extended sleep data module 1214.
[0156] Network interface 1200 generally includes hardware and low-level software that enables one or more hardware devices to communicate over networks. Network interface 1200 may include, for example, network cards, routers, modems, and other hardware required for the components of bedside data cloud service 410a to communicate with each other and with other destinations, for example, over the Internet 412.
[0157] The communications manager 1202 generally includes hardware and software operating above the network interface 1200. This includes software for initiating, maintaining, and terminating network communications used by the bedside data cloud service 410a. This includes, for example, TCP / IP, SSL or TLS, torrent, and other communication sessions over local or wide-area networks. The communications manager 1202 may also provide load balancing and other services for other elements of the bedside data cloud service 410a.
[0158] Server hardware 1204 typically includes physical processing devices used for instantiating and maintaining the bedside data cloud service 410a. This hardware includes, among other things, processors (e.g., central processing units, ASICs, graphics processors) and computer-readable memory (e.g., random access memory, rugged hard disks, tape backup). One or more servers may be configured as clusters, multicomputers, or data centers, which may be geographically separated or connected.
[0159] The software of server system 1206 generally includes software that runs on server hardware 1204 to provide operating environments for applications and services. The software of server system 1206 may include operating systems running on real servers, virtual machines instantiated on real servers to create multiple virtual servers, and server-level operations such as data migration, redundancy, and backup.
[0160] User identification 1208 may include or reference data about the users of beds with associated data processing systems. For example, users may include customers, owners, or other users registered with the bed data cloud service 410a or another service. Each user may include, for example, a unique identifier, user credentials, contact information, billing data, demographic information, or other technologically appropriate information.
[0161] Device manager 1210 may include or reference data about beds or other products associated with data processing systems. For example, beds may include products sold or registered with a system associated with bed data cloud service 410a. For example, each bed may have a unique identifier, a model and / or serial number, sales information, geographic information, delivery information, a listing of associated sensors and control peripherals, etc. In addition, one or more indexes stored by bed data cloud service 410a may identify users associated with beds. This index may, for example, capture sales of a bed to a user, users sleeping in a bed, etc.
[0162] Sensor data 1212 may record raw or condensed sensor data recorded from beds with associated data processing systems. For example, a bed's data processing system may include 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, either in raw form or in a format generated from the raw data (e.g., sleep metrics) from the sensors, may be communicated from the bed's data processing system to the bed data cloud service 410a for storage in the sensor data 1212. Furthermore, one or more indices stored by the bed data cloud service 410a may identify users and / or beds associated with the sensor data 1212.
[0163] The bed data cloud service 410a may use all of its available data, such as the sensor data 1212, to generate augmented sleep data 1214. Generally, the augmented sleep data 1214 includes sleep metrics and other data generated from sensor readings, such as health information associated with the user of a particular bed. Some of these calculations may be performed in the bed data cloud service 410a rather than locally on the bed's computing system, for example, because the calculations may be computationally complex or require a large amount of storage space or processing power that may not be available on the bed's computing system. This may help enable a bed system to operate with a relatively simple controller while still being part of a system that performs relatively complex tasks and computational power.
[0164] 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 the augmented sleep data 1214. The bed data cloud service 410a may retrieve different types of models based on the type of augmented sleep data 1214 generated. As an illustrative example, the bed data cloud service 410a may retrieve one or more models to determine the user's overall sleep quality based on currently collected sensor data 1212 and / or historical sensor data (which may be stored in and retrieved from a data store, for example). The bed data cloud service 410a may retrieve one or more other models to determine whether the user is currently snoring based on the collected sensor data 1212.The bed data cloud service 410a may also retrieve one or more other models that may be used to determine whether the user is experiencing a particular health condition based on the collected sensor data 1212.
[0165] Fig. 13 is a block diagram of an example of a bed data cloud service 410b that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In this example, the sleep data cloud service 410b is configured to record data related to users' sleep experience.
[0166] The sleep data cloud service 410b is shown with a network interface 1300, a communications manager 1302, server hardware 1304, and server system software 1306. Additionally, 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 pressure sensor raw data module 1314, and a pressure-independent sleep data module 1316. Sometimes, the sleep data cloud service 410b may include a sensor manager for each of the sensors integrated into or otherwise communicating with the bed. In some implementations, the sleep data cloud service 410b may include a sensor manager related to multiple sensors in beds. For example, a single sensor manager may relate to pressure, temperature, light, motion, and audio sensors in a bed.
[0167] With reference to the sleep data cloud service 410b in Fig. 13, the pressure sensor manager 1310 may include or reference data related to the design and operation of pressure sensors in beds. This data may include, for example, an identifier of the sensor types in a particular bed, their settings and calibration data, etc.
[0168] The pressure-based sleep data 1312 can use raw pressure sensor data 1314 to calculate sleep metrics specifically associated with pressure sensor data. For example, raw pressure sensor data 1314 can be used to determine the user's presence, movement, weight changes, heart rate, and respiratory rate. Additionally, an index or indices stored by the sleep data cloud service 410b can identify users associated with pressure sensors, raw pressure sensor data, and / or pressure-based sleep data.
[0169] The pressure-independent sleep data 1316 may use other data sources to calculate sleep metrics. For example, user-entered settings, light sensor readings, and noise sensor readings may be used to track sleep data. Additionally, an index or indices stored by the sleep data cloud service 410b may identify users associated with other sensors and / or pressure-independent sleep data 1316.
[0170] Fig. 14 is a block diagram of an example of a user account cloud service 410c that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In this example, the user account cloud service 410c is configured to record a list of users and determine other data related to those users.
[0171] The user account cloud service 410c is shown with a network interface 1400, a communications manager 1402, server hardware 1404, and server system software 1406. Furthermore, the user account cloud service 410c is shown with a user identification module 1408, a purchase history module 1410, a commissioning module 1412, and an application usage history module 1414.
[0172] The user identification module 1408 may include or reference data about the users of beds with associated computing systems. The users may include, for example, customers, owners, or other users registered with the user account cloud service 410c or another service. Each user may, for example, have a unique identifier, user login credentials, demographic information, or other technologically appropriate information. Each user may also have user-entered preferences related to the user's bed system (e.g., firmness settings, heating / cooling settings, sloped and / or lowered positions of various areas of the bed, etc.), the environment (e.g., lighting, temperature, etc.), and / or peripheral devices (e.g., turning a television, coffee maker, security system, alarm clock, etc.) on or off.
[0173] The purchase history module 1410 may include or reference data related to users' purchases. The purchase data may include, for example, contact information, billing information, and information about the seller of a sale associated with the user's purchase of the bed system. Additionally, one or more indexes stored by the user account cloud service 410c may identify users associated with a purchase of the bed system.
[0174] The order 1412 may track the user's interactions with the manufacturer, vendor, and / or administrator of the bed and / or cloud services. This order data may include communication data (e.g., emails, service calls), sales data (e.g., sales receipts, design logs), and social media interactions. The order data may also include the repair, maintenance, or replacement of components of the user's bed system.
[0175] The usage history module 1414 may contain data about user interactions with one or more applications and / or remote controls of a bed. For example, a monitoring and design application may be distributed to execute on, for example, the computing devices 412. The computing devices 412 may include a mobile phone, a laptop, a tablet, a calculator, a smartphone, and / or a user wearable device. The computing devices 412 may also include a central controller or hub device with which the operation of the bed system and one or more peripheral devices can be controlled. In addition, the computing devices 412 may include a home automation device.The application delivered to the user via computing devices 412 may log and report user interactions for storage in the application usage history module 1414. Additionally, one or more indices stored by the user account cloud service 410c may identify users associated with each log entry. 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 may improve the user's overall sleep quality.
[0176] Fig. 15 is a block diagram of an example of a point of sale cloud service 1500 that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In this example, the point-of-sale cloud service 1500 is configured to record data related to user purchases, specifically the purchases of bed systems described herein.
[0177] The point-of-sale cloud service 1500 is shown with a network interface 1502, a communications manager 1504, server hardware 1506, and server system software 1508. Furthermore, the 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.
[0178] The purchase history module 1512 may include or reference data about purchases made by users identified in the user discovery module 1510. The purchase information may include, for example, data about the sale, price, location of sale, shipping address, and the layout options selected by the users at the time of the sale. These layout options may include the user's selection regarding how they wish to configure their newly purchased beds and may include, for example, their expected sleep schedule, a listing of the peripheral sensors and controls they have or will install, etc.
[0179] The bed setup module 1514 may include or reference data about the installation of the beds purchased by users. For example, the bed setup data may include the date and address to which the bed is delivered, a person who accepts delivery, the configuration applied to the bed upon delivery (e.g., firmness settings), the name(s) of the user(s) who will sleep on the bed, which side of the bed each user will use, etc.
[0180] The data recorded in the point-of-sale cloud service 1500 may be retrieved at a later time by the user's bed system to control the functionality of the bed system and / or send control signals to peripheral components corresponding to the data recorded in the point-of-sale cloud service 1500. Thus, a salesperson at the point of sale may capture information from the user that later facilitates automation of the bed system. In some examples, some or all aspects of the bed system may be automated, requiring little or no user-entered data following the point of sale. In other examples, the data recorded in the point-of-sale cloud service 1500 may be used in conjunction with a variety of additional data gathered from user-entered data.
[0181] Fig. 16 is a block diagram of an example of an ambient cloud service 1600 that may be used in a data processing system associated with a bed system, including those described above with respect to Fig. 1-3. In this example, the ambient cloud service 1600 is configured to record data related to the user's home environment.
[0182] The ambient cloud service 1600 is shown with a network interface 1602, a communications manager 1604, server hardware 1606, and server system software 1608. Furthermore, the ambient cloud service 1600 is shown with a user identification module 1610, an environmental sensor module 1612, and an environmental factors module 1614.
[0183] The environmental sensor module 1612 may include a listing and discovery of the sensors that the users discovered in the user discovery module 1610 have installed in and / or around their bed. These sensors may include any sensors capable of detecting environmental variables, including but not limited to light sensors, sound / audio sensors, vibration sensors, thermostats, motion sensors (e.g., occupancy detectors), etc. Furthermore, the environmental sensor module 1612 may store historical readings or reports from these sensors. The environmental sensor module 1612 may then be accessed at a later time and used by one or more of the cloud services described herein to determine the users' sleep quality and / or health information.
[0184] 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 indicating the frequency and duration of instances of increased light when the user is sleeping, based on light sensor data stored in the environmental sensor module 1612.
[0185] In the examples discussed herein, each cloud service 410 is shown with some of the same components. In various interpretations, these components may be shared in whole or in part by the services, or they may be separate. In some interpretations, each service may have separate copies of some or all of the components that are different or the same in some respects. Furthermore, these components are provided only as illustrative examples. In other examples, each cloud service may have a different number, type, and manner of components, as technically possible.
[0186] Fig. 17 is a block diagram of an example of the use of a data processing system associated with a bed (e.g., a bed of the bed systems described herein, as shown in the Fig. 1-3) to automate peripheral devices around the bed. Shown here is a behavior analysis module 1700 executing on the pump main board 402. The behavior analysis module 1700 may, for example, be one or more software components stored in computer memory 512 and executed by the processor 502.
[0187] In general, the behavior analysis module 1700 may collect data from a wide variety of sources (e.g., sensors 902, 904, 906, 908, and / or 910, local non-sensor sources 1704, cloud data services 410a and / or 410c) and use a 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 peripheral controllers, data to be sent to cloud services such as the bedside data cloud 410a and / or the user account cloud 410c). This may be useful, for example, in tracking user behavior and automating devices that communicate with the user's bed.
[0188] The behavior analysis module 1700 may collect data from any technologically suitable source, for example, to collect data about characteristics of a bed, the bed's environment, and / or the bed's users. Some of these sources include any of the sensors of the previously described sensor group 406 (e.g., including but not limited to sensors such as 902, 904, 906, 908, and / or 910). This data may, for example, provide the behavior analysis module 1700 with information about the current state of the bed's environment. For example, the behavior analysis module 1700 may access the readings of pressure sensor 902 to determine the pressure of an air chamber in the bed. Based on this reading and possibly other data, the user's presence in the bed may be determined. In another example, the behavior analysis module 1700 may access light sensor 908 to detect the amount of light in the bed's environment.The behavior analysis module 1700 can also access the temperature sensor 906 to detect a temperature in the bed's environment and / or one or more microclimates within the bed. Based on this data, the behavior analysis module 1700 can determine whether temperature adjustments should be made to the bed's environment and / or components of the bed to improve the user's sleep quality and overall comfort.
[0189] Similarly, the behavior analysis module 1700 may 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 the user's bed and / or peripheral devices. For example, the behavior analysis module 1700 may access the bed cloud service 410a to retrieve historical sensor data 1212 and / or extended sleep data 1214. Other cloud services 410, including those previously described, may be accessed via the behavior analysis module 1700. For example, the behavior analysis module 1700 may access a weather reporting service, a third-party data provider (e.g., traffic and news data, emergency data, user travel data), and / or a clock and calendar service.Based on the data retrieved from the cloud services 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 peripheral devices.
[0190] Similarly, the behavior analysis module 1700 may access data from non-sensor sources 1704. For example, the behavior analysis module 1700 may access a local clock and calendar service (e.g., a component of the motherboard 402 or the processor 502). The behavior analysis module 1700 may use the local clock and / or calendar information to determine, for example, the times of day when the user is in bed, asleep, awakens, and / or goes to bed.
[0191] Behavioral analysis module 1700 may aggregate this data and prepare it for use with one or more behavioral algorithms 1702. As previously mentioned, behavioral algorithm 1702 may include machine learning models. Behavioral algorithms 1702 may be used to learn a user's behavior and / or perform an action based on the state of the retrieved data and / or predicted user behavior. For example, behavioral algorithm 1702 may use available data (e.g., pressure sensor, non-sensor data, clock and calendar data) to build a model of when a user goes to bed each night.Later, the same or a different behavior algorithm 1702 may be used to determine whether an increase in air chamber pressure likely indicates that a user is going to bed and, if so, send some data to a third-party cloud service 410 and / or engage a peripheral controller 1002 or 1004, base actuators 1006, a temperature controller 1008, and / or an under-bed light controller 1010.
[0192] In the example shown, the behavior analysis module 1700 and the behavior algorithm 1702 are shown as components of the pump main board 402. However, other configurations are possible. For example, the same or a similar behavior analysis module 1700 and / or the behavior algorithm 1702 may be executed in one or more cloud services, and the resulting output may be sent to the pump main board 402, a controller in the group of controllers 408, or any other technologically suitable recipient described in this document.
[0193] Fig. 18 shows an example computing device 1800 and an example mobile computing device that can be used to implement the techniques described herein. The computing device 1800 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The mobile computing device is intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are intended only as examples and are not intended to be limitations on the inventions described and / or claimed in this document.
[0194] Computing device 1800 includes a processor 1802, a memory 1804, a storage device 1806, a high-speed interface 1808 connected to 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 storage device 1806. Each of processor 1802, memory 1804, storage device 1806, high-speed interface 1808, high-speed expansion ports 1810, and low-speed interface 1812 are interconnected via various buses and may be mounted on a common motherboard or otherwise as needed.Processor 1802 may process instructions for execution within computing device 1800, including instructions stored in memory 1804 or on storage device 1806, to display graphical information for a graphical user interface on an external input / output device, such as a display 1816 coupled to high-speed interface 1808. In other implementations, multiple processors and / or multiple buses, as well as multiple memories and storage types, may be used as needed. Multiple computing devices may also be connected, with each device providing portions of the required operations (e.g., as a server bank, an array of blade servers, or a multiprocessor system).
[0195] Memory 1804 stores information in computing device 1800. In some implementations, memory 1804 is a volatile storage unit or units. In some implementations, memory 1804 is a non-volatile storage unit or units. Memory 1804 may also be another form of computer-readable medium, such as a magnetic or optical disk.
[0196] Storage device 1806 may provide mass storage for computing device 1800. In some implementations, storage device 1806 may be or include a computer-readable medium, such as a floppy disk drive, a hard disk drive, an optical disk drive, or a tape drive, flash memory or other similar solid-state storage device, or a group of devices, including devices in a storage area network or other configurations. A computer program product may be tangibly embodied in an information carrier. The computer program product may also include instructions that, when executed, perform one or more methods such as those described above. The computer program product may also be tangibly embodied in a computer- or machine-readable medium, such as memory 1804, storage device 1806, or memory on processor 1802.
[0197] The high-speed interface 1808 manages bandwidth-intensive operations for the computing device 1800, while the low-speed interface 1812 manages lower-bandwidth operations. Such function assignment is only exemplary. In some implementations, the high-speed interface 1808 is coupled to the memory 1804, the display 1816 (e.g., via a graphics processor or accelerator), and the high-speed expansion ports 1810, which may accommodate various expansion cards (not shown). In the 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 connected to one or more input / output devices, such asa keyboard, a pointing device, a scanner, or a network device such as a switch or router, for example via a network adapter.
[0198] Computing device 1800, as shown in the figure, can be implemented in a number of different forms. For example, it can be implemented as a standard server 1820 or multiple ones in an array of such servers. It can also 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 of 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 include one or more of computing devices 1800 and mobile computing device 1850, and an entire system can consist of multiple computing devices communicating with each other.
[0199] The mobile computing device 1850 includes, among other components, a processor 1852, a memory 1864, an input / output device such as a display 1854, a communications interface 1866, and a transceiver 1868. The mobile computing device 1850 may also be provided with a storage medium, such as a micro-drive or other device, to provide additional storage space. The processor 1852, the memory 1864, the display 1854, the communications interface 1866, and the transceiver 1868 are each interconnected via various buses, and several of the components may be mounted on a common motherboard or in another suitable manner.
[0200] Processor 1852 may execute instructions within mobile computing device 1850, including instructions stored in memory 1864. Processor 1852 may be implemented as a chipset of chips including separate and multiple analog and digital processors. For example, processor 1852 may provide coordination of the other components of mobile computing device 1850, such as control of user interfaces, applications executed by mobile computing device 1850, and wireless communications by mobile computing device 1850.
[0201] The processor 1852 can communicate with a user via a control interface 1858 and a display interface 1856 coupled to the display 1854. The display 1854 can be, for example, a TFT (thin-film transistor liquid crystal display) or an OLED (organic light-emitting diode) display, or other suitable display technology. The display interface 1856 can include suitable circuitry for driving the display 1854 to display graphical and other information to a user. The control interface 1858 can receive commands from a user and convert them for forwarding to the processor 1852. In addition, an external interface 1862 can provide communication with the processor 1852, enabling short-range communication of the mobile computing device 1850 with other devices.For example, the external interface 1862 may provide wired communication in some implementations or wireless communication in other implementations, and multiple interfaces may also be used.
[0202] The memory 1864 stores information within the mobile computing device 1850. The memory 1864 may be implemented as one or more computer-readable media, one or more volatile memory devices, or one or more non-volatile memory devices. 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. In particular, the expansion memory 1874 may include instructions to perform or supplement the processes described above, and may also include secure information.For example, the expanded memory 1874 may be provided as a security module for the mobile computing device 1850 and programmed with instructions that enable secure use of the mobile computing device 1850. Furthermore, secure applications may be provided via the SIMM cards, along with additional information, such as identifying information, on the SIMM card in a manner that cannot be hacked.
[0203] The memory may be, for example, flash memory and / or NVRAM (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 also includes instructions that, when executed, perform one or more methods such as those described above. The computer program product may be a computer- or machine-readable medium, such as memory 1864, extended memory 1874, or the memory of processor 1852. In some implementations, the computer program product may be received in a propagated signal, for example, via transceiver 1868 or external interface 1862.
[0204] The mobile computing device 1850 can communicate wirelessly via the communications interface 1866, which can include digital signal processing circuitry if desired. The communications interface 1866 can provide communication in various modes or protocols, such as GSM (Global System for Mobile Communications) voice calls, SMS (Short Message Service), EMS (Enhanced Messaging Service) or MMS (Multimedia Messaging Service) messages, 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), and others. Such communication can occur, for example, via the transceiver 1868 using a radio frequency. In addition, communication can occur over short distances, such as using a Bluetooth, WiFi, or other transceiver (not shown).Additionally, a Global Positioning System (GPS) receiver module 1870 may provide additional navigation and location-based wireless data to the mobile computing device 1850 that may be used by applications executing on the mobile computing device 1850.
[0205] The mobile computing device 1850 may also communicate acoustically using an audio codec 1860, which may receive spoken information from a user and convert it into usable digital information. The audio codec 1860 may also generate audible sound for a user, such as through a speaker, e.g., in a handset of the mobile computing device 1850. Such sounds may include sounds from telephone conversations, recorded sounds (e.g., voice messages, music files, etc.), and also sounds generated by applications executing on the mobile computing device 1850.
[0206] The mobile computing device 1850 can be implemented in a number of different forms, as shown in the figure. For example, it can be implemented as a mobile phone 1880. It can also be implemented as part of a smartphone 1882, a personal digital assistant, or other similar mobile device.
[0207] Various implementations of the systems and techniques described herein may be realized in digital electronic circuits, integrated circuits, purpose-built ASICs (application-specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementation in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor operable for special or general purpose use and coupled to receive data and instructions from and transmit data and instructions to a storage system, as well as at least one input device and at least one output device.
[0208] 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 a procedural and / or object-oriented high-level language and / or assembly / machine language. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, and / or apparatus (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)) designed to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term machine-readable signal refers to any signal designed to provide machine instructions and / or data to a programmable processor.
[0209] To provide user interaction, the systems and techniques described herein may be implemented on a computer that has 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 user interaction; for example, any form of sensory feedback may be provided to the user (e.g., visual feedback, auditory feedback, or tactile feedback); and user input may be received in any form, including auditory, verbal, or tactile input.
[0210] The systems and techniques described herein may be implemented in a computer system that includes a back-end component (e.g., a data server), a middleware component (e.g., an application server), or a front-end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an 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 (e.g., a communications network). Examples of communications networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0211] The computer system can include clients and servers. A client and a server are usually remote from each other and typically interact via a communications network. The relationship between client and server arises because computer programs are executed on the respective computers and have a client-server relationship with each other.
[0212] Fig. 19 is a conceptual diagram for determining the presence of a leak in a bed system 1902. The techniques described herein may be performed when a technician 1908 sets up the bed system 1902 in a sleep environment 1900. Although the disclosed techniques in Fig. 19 with respect to the setup of the bed system 1902 by the technician 1908, the disclosed techniques may also be performed when the bed system 1902 is already set up and in use by a user. For example, the user may initiate a request (e.g., from a mobile application running on a user device of the user) to perform the leak detection techniques described herein on the bed system 1902. The user may optionally desire to test the bed system 1902 for leak detection upon sensing a loss of pressure in the bed system 1902. A loss of pressure in the bed system 1902 may result from a hole or other type of leak in the bed system 1902. The loss of pressure may also be caused by changes in the environment, such as a sudden drop in air / barometric pressure and / or air temperature.Therefore, the disclosed techniques may be used to detect the presence of a leak in the bed system 1902 at various times before and after the bed system 1902 is deployed in the sleep environment 1900.
[0213] As in Fig. 19, the bed system 1902 may include a mattress 1904. The mattress 1904 may be an air mattress. The mattress 1904 may include at least one air chamber. Sometimes the mattress 1904 may be manufactured for two sleepers, for example, in full, queen, king, or California king sizes. The mattress 1904 may include air chambers on each side of the bed system 1902, with each side supporting one sleeper. In the example of Fig. 19, the mattress 1904 includes a hole 1906. Because this hole 1906 is a puncture, tear, tear, opening, etc., in an otherwise air-impermeable wall of an air bladder of the mattress 1904, air may leak from the mattress 1904 through the hole 1906. This hole 1906 may, but need not, extend through other materials of the mattress 1904, such as foam or fabric. With the disclosed techniques, air leakage through the hole 1906 can be detected. The hole 1906 may be located in an air chamber of the mattress 1904. In some implementations, the hole 1906 may be located in tubes or hoses that connect a pump to an air chamber of the mattress 1904. One or more additional or different holes may be located in the mattress 1906, the hoses, or other connections or components (e.g., valves) of the bed system 1902.Additionally, in some implementations, leaks may occur in hoses or other hose connections and / or in manifolds of the bed system 1902 (see, for example, manifold 143 in . Fig. 2), which may or may not be the result of holes in the bed system in 1902.
[0214] The bed system 1902 may also include a bed controller 1910, a pump 1912, and one or more sensors 1920A-N. The bed controller 1910 may be configured, as described in this disclosure, to control one or more components and functions of the bed system 1902. The pump 1912 may be configured to receive instructions (e.g., from the bed controller 1910) that, when executed, cause the pump 1912 to inflate or deflate the air chamber(s) of the mattress 1904. The sensors 1920A-N may be positioned throughout the bed system 1902. The sensors 1920A-N may include pressure sensors. The sensors 1920A-N may be positioned around, near, and / or within the air chamber(s) of the mattress 1904 and / or the pump 1912. Therefore, the sensors 1920A-N can detect pressure changes that can be used to determine a leak in the bed system 1902.In some implementations, one or more of the sensors 1920A-N may be remote from the bed system 1902. For example, one or more of the sensors 1920A-N may be sensors placed near the bed system 1902 in the sleep environment 1900.
[0215] One or more components of the bed system 1902 may also communicate with a user device 1914 and / or a remote server 1916 via one or more networks 1918. The network(s) 1918 may include local area networks in the sleep environment, such as Bluetooth and / or the Internet. The data collected by the sensors 1920A-N may be transmitted directly to the remote server 1916 via the network(s) 1918. This collected data may also be transmitted from the sensors 1920A-N to the bed controller 1910. The bed controller 1910 may then communicate the data to the remote server 1916 via the network(s) 1918. One or more other communication options between the components described herein are also possible.
[0216] The user device 1914 may be any suitable type of mobile computing device, including but not limited to a smartphone, cellular phone, cell phone, laptop, and / or tablet. The user device 1914 may be used by the technician 1908 tasked with setting up and / or initializing the bed system 1902 in the sleep environment 1900. In some implementations, the user device 1914 may also be used by the user of the bed system 1902. The user device 1914 may be, for example, a user's smartphone. The user device 1914 may communicate with the remote server 1916 and / or another computing system to initiate a leak detection test as described herein.
[0217] As an illustrative example, if the user of the bed system 1902 is concerned that their bed system 1902 is leaking, the user of the bed system 1902 may call or contact a customer service representative (e.g., via message, via the mobile application running on the user device 1914, etc.) using their user device 1914. The customer service representative, while remote from the bed system 1902, may initiate the leak detection test via their respective computing device (e.g., the remote server 1916). In some implementations, the user device 1914 may initiate the leak detection test directly, rather than via the remote server 1916 and / or the customer service representative's computing device.
[0218] The remote server 1916 may be any suitable type of computing system and / or network of computing systems, including, but not limited to, a computing system, a computer, a network of computers, a network of devices, a cloud-based computing system, and / or a cloud-based service or network of computing systems. The remote server 1916 may perform the leak detection test as described herein. In some implementations, the leak detection test may be performed by the bed controller 1910 at the edge of the bed system 1902.
[0219] Still referring to the illustrative example from Fig. 19, the user of the sleeping environment 1900 can order the bed system 1902. The technician 1908 can be a home delivery person, a service representative, or another relevant user assigned to deliver the bed system 1902 to the user of the sleeping environment 1900, set up the bed system 1902, and initialize the components of the bed system 1902 to ensure that the bed system 1902 is working and functioning properly before the user uses the bed system 1902. Therefore, the technician 1908 can set up the bed system in Block A. This may include setting up a bed frame, placing the mattress 1904 on the bed frame, connecting and / or turning on all components of the bed system 1902, such as the bed controller 1910, the pump 1912 and / or the sensors 1920A-N, and connecting all components of the bed system 1902 to the network(s) 1918.One or more other procedures may also be performed as part of setting up the bed system 1902 in the sleeping environment. In some cases, the bed may be installed by the end user themselves instead of engaging a technician 1908.
[0220] In Block B, the technician 1908 may generate a signal on their user device 1914 to trigger a leak detection test. The signal may be transmitted from the user device 1914 to the pump 1912 and / or the bed controller 1910 via the network(s) 1918. When the bed controller 1910 receives the signal, the bed controller 1910 may then generate instructions that, when executed, cause the pump 1912 to trigger the leak detection test. In some cases, this leak detection test may be part of a larger program or routine that the technician 1908 performs after completing the installation of the mattress 1904 and the bed system 1902. For example, this program may log the time and location of the installation, receive a user signature to confirm delivery of the bed, generate a receipt, etc.
[0221] Triggering the leak detection test may include inflating the air chamber(s) of the mattress 1904 to their highest / fullest level (e.g., firmness level). The air chamber(s) may also be inflated to a predetermined inflation level threshold. In some implementations, the air chamber(s) may be inflated to their highest inflation level for normal operation of the bed system 1902 (e.g., when the user is resting on the bed system 1902 or otherwise located on the bed system 1902). In some implementations, the air chamber(s) may be inflated to a value that exceeds the highest / fullest inflation level when used by the user of the bed system 1902 (e.g., if the user can adjust the firmness to a setting of 100, then triggering the leak detection test may include adjusting the firmness to a setting above 100, such as 200).Over-inflating the air chamber(s) of the mattress 1904 may be advantageous to reduce the time required to collect pressure data from the bed system 1902. In this way, it can be quickly determined whether a leak is present.
[0222] Before the pump 1912 inflates the air chamber(s) of the mattress 1904, the bed controller 1910 can generate instructions to collect data from the sensors 1920A-N about a current state of the bed system 1902. The data can include, for example, pressure data. From the pressure data, the bed controller 1910 can determine whether a base of the bed system 1902 is in a flat or neutral position. The bed controller 1910 can also determine from the pressure data whether a user is resting on the mattress 1904. If the base is flat, the bed controller 1910 can generate commands that cause the pump 1912 to inflate the mattress 1904 to its highest / fullest degree. If the base is not flat, the bed controller 1910 can generate instructions that cause a hinge system of the bed system 1902 (not shown) to adjust the base to the flat or neutral position.If the bed controller 1910 determines that the bed system 1902 is empty (no one is lying on the mattress 1904), the bed controller 1910 may generate instructions that cause the pump 1912 to inflate the mattress 1904. If the bed controller 1910 determines that the bed system 1902 is not empty, the leak detection test may not be triggered until the bed system 1902 is empty. In some implementations, the bed controller 1910 may still generate instructions that cause the pump 1912 to inflate the mattress 1904 even if the bed system 1902 is not empty (e.g., if someone is lying on the mattress 1904 or some other pressure / weight is detected on the mattress 1904, such as a pet or a suitcase).
[0223] Once the leak detection test is triggered (Block B), the bed system 1902 may collect data for the leak detection test in Block C. Specifically, the sensors 1920A-N may detect pressure signals around the pump 1912 and within the mattress 1904 (e.g., in the air chamber(s)). The detected pressure signals may be transmitted to the bed controller 1910, which may collect this data over a predetermined period of time. For example, the pressure data may be collected for the duration of the leak detection test. The leak detection test may be performed for 5 minutes when the bed system 1902 is first set up. The leak detection test may be performed for one or more other durations, including, but not limited to, 6 minutes, 8 minutes, 10 minutes, 15 minutes, 20 minutes, 30 minutes, 1 hour, 3 hours, 5 hours, 10 hours, 12 hours, etc.The leak detection test may also be performed for one or more time periods shorter than 5 minutes, including but not limited to 4 minutes, 3 minutes, 2 minutes, 1 minute, 30 seconds, etc. For example, if the leak detection test is performed after the bed system 1902 is first set up, pressure data may be collected for a period of time between the user's sleep phases (e.g., the user may wake up at 6:00 a.m. and go to bed at 9:00 p.m., so the pressure data may be collected between 6:00 a.m. and 9:00 p.m.). In the example of . Fig. 19, the pressure data may be collected for 5 minutes because the bed system 1902 is being set up for the first time. Furthermore, as described above, the length of time for which pressure data is collected may vary depending on the firmness setting to which the bed controller 1910 adjusts the bed system 1902 when it triggers the leak detection test. For example, if the air chamber(s) of the mattress 1904 are adjusted to a maximum user-specified firmness setting of 100, the pressure data may be collected for 5 minutes. As another example, if the air chamber(s) are adjusted to a firmness setting that exceeds the user-specified maximum firmness setting, such as 200, the pressure data may be collected for less than 5 minutes, such as 30 seconds, 1 minute, 2 minutes, 2.5 minutes, 3 minutes, 4 minutes, etc.
[0224] After collecting the pressure data in block C, the pressure data may be transmitted to the remote server 1916 in block D. The pressure data may be transmitted in batches (e.g., after all pressure data for the duration of the leak detection test has been collected). The pressure data may also be transmitted in real-time or near-real-time while the data is being collected in block C. The pressure data may be transmitted from the bed controller 1910 in block D to the remote server 1916. In some implementations, the pressure data from the sensors 1920A-N in block D may be transmitted to the remote server 1916. In still some implementations, the pressure data may be transmitted to the bed controller 1910 instead of to the remote server 1916. The bed controller 1910 may then be configured to process the pressure data and perform blocks EF at the edge of the bed system 1902.
[0225] The remote server 1916 may apply one or more models to the pressure data to determine whether the bed system 1902 has a leak (Block E). As described further below, the models may be trained using machine learning techniques to detect the presence of a leak in the bed system 1902. The pressure data may be provided as input to the model(s). The model(s) may output an indication of whether a leak is present in the bed system 1902. In some implementations, the model(s) may also output an expected value indicating the probability or expectation of the presence of a leak in the bed system 1902. The expected value may be a numerical value on a predetermined scale, such as 0 to 1 and / or 0 to 100.In some implementations, the remote server 1916 may determine the confidence value based on the output of the model(s), where the output of the model(s) indicates whether a leak is present in the bed system 1902.
[0226] In some implementations, the remote server 1916 may execute one or more algorithms and / or rule engines to determine whether a leak exists in the bed system 1902. For example, the remote server 1916 may receive pressure data at time 0, when the bed system 1902 has been inflated to the maximum firmness setting, and pressure data at a time when the threshold data collection period ends (e.g., at the end of 5 minutes of pressure data collection). The remote server 1916 may calculate a pressure difference at the two times. The pressure difference may be compared to known or expected pressure values for the bed system 1902 and / or similar bed systems. The pressure difference may be compared to a threshold pressure change to determine whether the pressure difference exceeds the threshold and thus indicates a leak.The pressure difference may also be provided as input to a machine learning model that has been trained to determine the probability or expectation that the bed system 1902 is leaking based on the pressure difference.
[0227] In some implementations, and as described further below, the remote server 1916 may analyze the pressure data to determine and estimate the size of a hole in the bed system 1902, and then use machine learning techniques to correlate the hole size with a leak or no leak. Determining whether the bed system 1902 has a hole causing a leak may require a variety of additional data, such as the shape of the bed system 1902, the size of the bed system 1902, the type of the bed system 1902, and / or the volume of the air chamber(s) of the bed system 1902.
[0228] As described further below, the remote server 1916 can also determine whether a leak is present by determining a leak rate for the bed system 1902. The leak rate can be easily determined based on pressure data collected from the bed system 1902 over a specific period of time. Finally, a pressure drop over time can be correlated to the leak rate and, therefore, to the presence of a leak in the bed system 1902. In determining the leak rate of the bed system 1902, the air chamber(s) can be inflated to a maximum firmness or pressure setting (or more than a maximum user-specified firmness setting), and the pressure data can be collected during the threshold period. A fixed volume can be assumed for the air chamber(s) because the size of the air chamber(s) is known and the air chamber(s) are filled to the maximum. Thus, a physical formula for the leak rate can be used.For example, the ideal gas law PV = nRT can be used to derive a characteristic that correlates with the air loss in the bed system 1902. Furthermore, since all air chambers in the bed system 1902 can be inflated to approximately the same firmness setting / pressure, the pressure differential can be analyzed to determine the leak rate for the bed system 1902. Finally, the effect of the air chamber material expanding under pressure is similar for all air chambers, but all air chambers would likely experience a pressure drop, with the magnitude of the pressure drop being the distinguishing feature between the air chambers.
[0229] The determined hole and / or leak rate may then be classified by the remote server 1916 to determine if the bed system 1902 is leaking. For example, if the hole size exceeds a size threshold, the bed system 1902 may be leaking. As another example, if the leak rate exceeds a leak rate threshold, the bed system 1902 may be leaking. In some implementations, the remote server 1916 may determine either the hole size or the leak rate to determine the presence of a leak. In some implementations, the remote server 1916 may determine both the hole size and the leak rate to improve the accuracy of determining the leak. Both the hole size and the leak rate determination may produce the same or similar output values and thus have a linear relationship.Because they are highly correlated, the hole size and leak rate determinations can be used to improve the performance of the leak detection test and to specifically isolate the cause of a leak or other problem in the bed system 1902 (e.g., determining the hole size can be beneficial for determining what type of repair is needed, what parts may need to be replaced, and the cost of repairing the hole). Both the hole size and leak rate can be determined to validate the detection of a leak in the bed system 1902 (e.g., the remote server 1916 can determine the leak rate, determine a leak based on the leak rate, and then determine a hole size to confirm that the bed system 1902 does indeed have a leak caused by the hole).In some implementations, both the hole size and the leak rate can be determined to generate, test, and validate one or more machine learning models that determine the presence of leaks in bed systems. For example, the models can be trained using the hole size and the leak rate to learn mathematical relationships between pressure and leakage to generate leak values and proxies for leaks in other bed systems. The combination of the hole size and leak rate determinations can be used in a number of other implementations and use cases to improve the accuracy and efficiency of detecting leaks in bed systems.
[0230] The remote server 1916 may also generate an output based on the determination by the model(s) (Block F). The output may include an indication of whether the bed system 1902 has a leak. The output may also include one or more suggested remedial actions that can be taken to correct the leak (if a leak is detected). The output may also include one or more suggestions for other actions that can be taken to diagnose the bed system 1902 in situations where no leak is detected. For example, suggestions for changing the ambient conditions in the environment 1900 may be generated as an output to compensate for a sudden drop in ambient air pressure and / or temperature, thereby causing a perceived pressure loss in the bed system 1902.
[0231] The output may also include the expected value determined as output of the model(s) and / or determined by the remote server 1916. In some implementations, depending on the machine learning-trained model or other algorithms used (e.g., a physically based model or formula), the output may also include an indication of the size of the hole 1906 in the mattress 1904, a position of the hole 1906, a side of the bed system 1902 where the hole 1906 is located, and / or a leak rate. This information may assist the technician 1908 or other appropriate user in quickly locating and resolving the leak.
[0232] The output generated in block F may be transmitted to and rendered to the user device 1914. In some implementations, the output may also be stored in a data store and / or transmitted to one or more other computing systems, such as a user device of the user of the bed system 1902 and / or a computing device of a customer service representative who may dispatch or request a technician to repair the bed system 1902 in the sleep environment 1900.
[0233] Although in Fig. 19 describes setting up the bed system 1902, each of the blocks AF may be performed when the bed system 1902 is already set up. One or more of the blocks AF may be initiated by the user device 1914 of the user of the bed system 1902 when the user senses a loss of pressure in the bed system 1902. In addition, as described herein, one or more of the blocks AF may also be performed by the bed controller 1910. As an illustrative example, the bed system 1902 may already be set up in the sleep environment 1900, and the user of the bed system 1902 may initiate the leak detection test on their user device 1914 in block B. A request to initiate the test may be transmitted to the bed controller 1910. The bed controller 1910 may then perform the blocks CF on the edge directly on the bed system 1902 to determine if a leak has been detected.The output generated in block F may then be transmitted to the user device 1914 and / or to devices of other relevant parties, such as a customer service representative and / or a service technician, who may replace parts of the bed system 1902 and / or repair the hole 1906 in the bed system 1902.
[0234] Fig. 20 is a swimlane diagram of an example process 2000 for determining the presence of a leak in a bed system. In particular, the method 2000 may be performed to determine the presence of a leak in the bed system based on detecting a hole in the bed system. The process 2000 may be performed by components such as the bed controller 1910, the pump 1912, the sensors 1920A-N, and the remote server 1916. In some implementations, the process 2000 may also be performed by one or more other components, computing systems, and / or computing devices. As an illustrative example, one or more blocks of the process 2000 (e.g., blocks 2008-2016) may be performed by a computing system and / or a computing network remote from the bed system.One or more blocks of process 2000, such as blocks 2008-2016, may also be performed by the bed system's bed controller 1910 instead of the remote server 1916.
[0235] Referring to process 2000, the bed controller 1910 may initiate a diagnostic test to check for a leak in the bed system (block 2002). As in Fig. 19, the diagnostic test may be triggered when the bed system is first set up in a sleep environment. For example, the bed control 1910 may be initiated by a user device (e.g., the user device 1914 of the technician 1908 in Fig. 19) receive an indication to initiate a leak detection test for the bed system. The diagnostic test can also be initiated after the bed system has been set up. This allows the diagnostic test to be initiated at various times to check whether a leak has occurred in the bed system over time.
[0236] Triggering the diagnostic test in block 2002 may include transmitting a signal to the bed system pump 1912 to inflate the bed system mattress. Triggering the diagnostic test in block 2002 may therefore include generating commands that, when executed, cause the pump 1912 to adjust a pressure setting of the bed system (block 2004). The pump 1912 may inflate the bed system mattress to a maximum inflation level or highest pressure setting. In some embodiments, the pump 1912 may inflate the bed system mattress to an amount beyond the highest inflation level or highest pressure setting that a user may select during operation and use of the bed system.For example, if the user can set the bed to a maximum pressure of 100 / 100 during use, the pump 1912 can inflate the mattress in block 2002 to any pressure above 100 / 100. The value above 100 / 100 to which the mattress is inflated can vary depending on the pump 1912. For example, the mattress can be inflated to a value that is greater than the highest pressure the pump 1912 can achieve without bursting the mattress's air chamber(s) or failing the seams. For example, the mattress can be inflated to a value of 200 / 100, which is approximately 1.2 psi, without causing failure of the mattress's air chamber(s). In some implementations, the pump 1912 can inflate the mattress to a pressure twice the maximum pressure of the bed system during operation and use.The higher the pressure setting to which pump 1912 adjusts the mattress in block 2002, the more accurately and accurately remote server 1916 can detect small leaks in the bed system. Furthermore, the higher the pressure set in block 2002, the less time is required to collect and test the pressure data, as described here.
[0237] As described in this disclosure, the diagnostic test may be initiated in block 2002 once a current state of the bed system is recorded as initial bed settings. The bed system may then be set to the test configuration for the diagnostic test (e.g., to the highest pressure setting) to perform the test. Upon completion of the diagnostic test, the bed controller 1910 may generate instructions that cause the pump to reset the bed system to the initial bed settings recorded prior to the diagnostic test.
[0238] The sensors 1920A-N may then acquire pressure data in block 2006. At least one of the sensors 1920A-N may be in fluid communication with the pump 1912 to acquire pressure signals around the pump 1912. At least one of the sensors 1920A-N may also be in fluid communication with at least one air chamber of the mattress of the bed system, as in Fig. 19 described.
[0239] The sensors 1920A-N may include pressure sensors that measure the pressure on the mattress of the bed system. The pressure sensors may be subject to pressure fluctuations of the bed system. The pressure sensors may already be part of the bed system and may be used for multiple purposes. For example, the pressure sensors may be used to collect biometric data about users sleeping or lying on the bed system. Therefore, the disclosed techniques may be performed without the need to purchase and deploy / attach additional hardware to the bed system. Pressure fluctuations detected by the pressure sensors may be caused not only by the weight of a user pressing on the bed system, but also by movements and vibrations of the user and other elements of the environment (e.g., heart movements, respiratory movements, gross motor movements, acoustic vibrations, etc.).The sensors 1920A-N can generate pressure readings based on the pressure fluctuations, which are recorded as digital signals. In some cases, as described herein, the sensors 1920A-N can measure pressure changes in one or more air chambers of the mattress. In some cases, the sensors 1920A-N can measure the pressure transmitted through one or more legs of a frame / base of the bed system. Additionally, in some implementations, the sensors 1920A-N can include a strip, base, or mat placed in or around a mattress, including a mattress without an air bladder.
[0240] The pressure data may be collected for one or more time periods or predetermined periods of time. The time period or predetermined period of time may be one sleep period of the user, a period of time between consecutive sleep periods of the user (e.g., 2 sleep periods, 3 sleep periods, 5 sleep periods, etc.), one or more sleep periods of the user, 5 minutes, and / or 24 hours. One or more other time periods or predetermined periods of time are also possible. For example, during initial setup of the bed system, the sensors 1920A-N may collect pressure data for a short period of time, such as 5 minutes. The shorter period of time may be advantageous for detecting rapid and / or large leaks in the bed system. As another example, after the bed system is set up, the sensors 1920A-N may collect pressure data over a longer period of time, such as 1 hour, 5 hours, 10 hours, 12 hours, etc.The longer period of time may be beneficial for detecting slow and / or small leaks in the bed system. The longer period of time for pressure data collection may be between sleep periods when the user is not on the bed system. In still some implementations, the predetermined time period may vary based on the pressure setting to which the pump 1912 adjusts the bed in block 2004. For example, the higher the pressure setting, the less time may be required to collect the pressure data. For example, if the bed system mattress is set to the maximum user-specified pressure setting of 100 / 100, the pressure data may be collected for 5 minutes in block 2006. As another example, if the bed system is set to twice the maximum user-specified pressure, such as 200 / 100, the pressure data may be collected for 2.5 minutes.One or more other time variations can also be implemented when capturing the print data.
[0241] The remote server 1916 may receive the pressure data in block 2008 for the predetermined period of time. The remote server 1916 may then provide the pressure data as input to a leak detection model in 2010. The leak detection model has been trained using machine learning techniques to detect the presence of a leak in a mattress of the bed system based at least in part on the received pressure data. In some implementations, the leak detection model (such as a physically based model) may be trained using machine learning techniques to detect the presence of a leak in a mattress from training data that includes estimated sizes of holes in mattresses. The estimated sizes of the holes in the mattresses may be determined based on deltas in the pressure changes in the mattresses that were detected and labeled during training of the model.Furthermore, in some implementations, the leak detection model can be trained using machine learning techniques to detect a side of the mattress that has a leak. Detection of the side of the mattress that has the leak can be based on an equation for the gas leak rate.
[0242] The leakage detection model can also be called a leakage detection classifier, as in Fig. 22. The remote server 1916 may transmit the pressure data to the leak detection classifier as part of operations that may also include other uses of the pressure data. As previously described, the bed controller 1910 may also use the same pressure data, for example, to determine bed occupancy, the position of the bed system base, biometric data, etc.
[0243] In some implementations, leak detection models may be trained to detect leaks in different mattress types and / or sizes. Accordingly, in block 2010, the remote server 1916 may optionally determine a mattress type based on information about the bed system, select a model trained using machine learning techniques to detect a leak in mattresses of the same type as the mattress, and then provide the received pressure data as input to the selected model. The information about the bed system may be retrieved from a data store. The information about the bed system may also be received from a user device, such as the user device of a technician setting up the bed system and / or a device of a user of the bed system after the bed system has already been set up.
[0244] The remote server 1916 may receive an indication from the leak detection model indicating whether a leak was detected (block 2012). This allows the model to output data indicating the detected presence of a leak in the mattress of the bed system. In the example of the leak detection classifier, the remote server 1916 may receive a leak detection classification from the leak detection classifier. This classification may be in various formats. For example, the classification may be a Boolean value (e.g., leak / no leak). In some cases, the classification may include continuous values such as numbers (e.g., to indicate the intensity or degree of expectation that a leak was detected).
[0245] In some implementations, the remote server 1916 may generate an aggregate value for a detected leak from a plurality of leak detection classifiers for a specific time period. For example, the remote server 1916 may compile different classification values for periods between multiple consecutive sleep phases of the user. The remote server 1916 may therefore monitor the bed system over an extended period of time, such as a day, a week, a month, etc., to determine whether the bed system is experiencing slow leakage. Using this single canonical timeline, the remote server 1916 may generate an aggregate value for the detected leakage. The aggregate value may indicate a higher (or lower) expectation that the leakage will actually be detected in the bed system.By using non-contiguous periods between sleep phases, the remote server 1916 can create an aggregate value that is less sensitive to random and / or non-repeating events that could interfere with the accurate detection of a leak in the bed system.
[0246] The remote server 1916 may generate an expected value based on the model output in block 2014. The expected value may be a leak expected value, which may indicate the probability that a leak is present in the bed system. A higher expected value may indicate a higher probability that the leak is present and therefore remediation is required to fix / resolve the leak problem. A lower expected value may indicate a lower probability that the leak is present. In some implementations, the expected value may also be generated by the leak detection model and returned as model output.
[0247] The remote server 1916 may generate one or more remedial actions based on the model output and / or the expected value in block 2016. The remote server 1916 may generate the remedial action(s) regardless of the expected value (i.e., if a leak is detected, a remedial action is generated). In some implementations, the remote server 1916 may generate the remedial action(s) if the expected value is within a threshold range and / or exceeds an expected value threshold. Thus, the remedial action(s) may be generated if the bed system has a leak so severe that the bed system no longer functions properly (e.g., if the bed system's air chambers do not retain air and continually leak air regardless of whether a user or other object is lying on the bed system).In some implementations, the remediation action(s) may be generated when the rate at which air is leaking from the bed system exceeds a range or value threshold. In some implementations, the remediation action(s) may be generated when the estimated hole size in the bed system exceeds a threshold.
[0248] Repair actions generated by the remote server 1916 can be transmitted directly to a user device of a technician or other customer service representative (see, for example, the technician 1908 and the user device 1914 in Fig. 19). The repair actions or other outputs may be displayed on a graphical user interface (GUI) of the user device. The technician can then receive the information needed to fix the leak in the bed system, such as data indicating the detected presence of the leak in the bed system mattress. The customer service representative can transmit instructions to a technician's device informing the technician of the leak and its fix. In some implementations, the repair actions can be transmitted to a device belonging to the bed system user. The user can then review the repair action, contact customer service, and request a technician to fix the leak. In other words, the user can schedule a repair appointment.In some implementations, the repair appointment can be scheduled automatically by the remote server 1916, as described here.
[0249] The remote server 1916 can generate remediation actions that include ordering one or more components (e.g., air chambers, pumps, mattress, sensors, etc.) to fix the leak in the bed system's mattress. The remote server 1916 can also generate remediation actions that include scheduling one or more technicians to fix the leak in the mattress. Based on the data indicating the presence of the leak, one or more other remediation actions can also be generated. For example, if no leak is detected, the remediation action can include testing one or more other components of the bed system to determine a possible cause of the problem.If no leak is detected, remedial measures may include suggestions for adjusting or modifying the environmental conditions in the sleeping environment that may be causing a perceived pressure loss in the bed system. These suggestions may include, for example, adjusting the air temperature and / or pressure in the sleeping environment to mitigate ambient temperature and / or pressure drops (which may be caused by sudden storms or other environmental conditions).
[0250] Fig. Figure 21 is a flowchart of a process 2100 for initiating a diagnostic leak detection test for a bed system. Process 2100 may be performed by components such as bed controller 1910 and / or remote server 1916. In some implementations, process 2100 may also be performed by one or more other components, computing systems, and / or computing devices. For illustrative purposes, process 2100 is described from the perspective of a computing system.
[0251] Referring to process 2100, in block 2102, the computing system may receive an indication to perform a leak detection test for a bed system. See block B in Fig. 19 and Block 2002 in Fig. 20.
[0252] Before adjusting the pressure settings of the bed system to test for a leak in the bed system, the computing system may determine whether the bed system is empty (block 2104). The computing system may receive initial pressure data sensed by at least one sensor of the bed system. Based on the initial pressure data, the computing system may determine whether a user is lying on a mattress of the bed system. The computing system may also determine whether another object is resting on the mattress of the bed system. If the bed system is inflated, the pressure setting of the bed system may be adjusted to test for a leak. This process may advantageously ensure that the bed is subjected to pressure from the environment and bedding that is either constant or within a small range compared to the pressure exerted by one or more users lying on the bed.By ensuring that no user is on the bed and by using models trained under the assumption that no user is on the bed, accuracy can be improved over alternatives that do not determine whether a user is on the bed.
[0253] At block 2106, the computing system may also determine whether the bed system is flat. The computing system may receive the first pressure data and use this data to determine whether a base of the bed system is flat or in a neutral position. The computing system may also use other data, such as indications from a user device configured to control components, such as the base, of the bed system and / or a controller of the bed system, to determine whether the base is in a position other than the flat or neutral position. If the base is flat, the pressure setting of the bed system may be adjusted to test for a leak.
[0254] It should be noted that blocks 2104 and 2106 may be performed concurrently or in any order. In some implementations, only one of blocks 2104 and 2106 may be performed by the computing system. Furthermore, if the computing system determines that the bed system is not empty, the bed system pressure setting may not be adjusted and the leak detection test may not be performed until the computing system determines that the bed system is empty. Therefore, the computing system may continuously receive pressure data from at least one sensor of the bed system and determine when and if the bed system is empty based on the pressure data. Once it is determined that the bed system is empty, the computing system may proceed to block 2108 described below.In some implementations, the computing system may determine whether the bed is empty by prompting the user / sleeper of the bed system to confirm that the bed is indeed empty (e.g., by playing a notification or message in a mobile application on a user device of the user).
[0255] If the computing system determines that the bed system is not flat, the computing system may control the bed system to adjust the base to the flat or neutral position. For example, the computing system may generate instructions that cause a joint system of the bed system to adjust or move the base to the flat or neutral position. Once the base is adjusted to the flat or neutral position, the computing system may query the at least one sensor to collect pressure data. In some implementations, the computing system may not query the at least one sensor for data until the mattress of the bed system is inflated to a maximum degree.
[0256] In some implementations (not shown in process 2100), the computing system may also determine whether any heating or cooling features (e.g., core heating / cooling, foot warming) are enabled on the bed system. If any of these features are enabled, the computing system may generate instructions that cause a heating / cooling unit of the bed system to deactivate the feature(s). Once the feature(s) are deactivated, the computing system may proceed with the steps of the diagnostic test described herein. Sometimes, information about the effects of the activated heating / cooling features on the bed system pressure may be recorded and used by the computing system to adapt and / or train one or more of the models described herein.Accordingly, the models can be trained to detect effects of heating or cooling properties on leakage aspects of a bed system, such as leak detection rates and / or estimated hole sizes.
[0257] The computing system can then transmit instructions to a pump of the bed system that cause the pump to inflate the bed system's mattress to its maximum level. Therefore, these instructions can be transmitted once the computing system determines that the bed system is flat and / or empty (block 2108). See block 2004 in Fig. 20 for further explanations.
[0258] The computing system may receive data collected from sensors of the bed system for a predetermined period of time at block 2110. For example, the computing system may query at least one sensor of the bed system for pressure data. The computing system may query the at least one sensor when it determines that the base is flat and / or that the bed system is empty (e.g., the user is not lying on the mattress of the bed system). Additionally or alternatively, the computing system may query the at least one sensor when it determines that the pump has inflated the mattress to its maximum level. This determination may be based on receiving an indication from the pump that it has fully inflated the mattress. This determination may also be based on receiving initial pressure data from the at least one sensor indicating that the mattress is at its highest pressure setting and / or no more air is being pumped into the mattress by the pump.See Block C in . Fig. 19 and Block 2006 in Fig. 20 for further explanations.
[0259] In block 2112, the computing system may process the received data. The computing system may process the data in real time as it is received from the at least one sensor. The computing system may also process the data in batches after all or part of the data is received by the computing system. Processing the received pressure data may include discarding a portion of the data corresponding to a predetermined time period at which the at least one sensor begins acquiring the pressure data. The predetermined time period may be, among other things, 1 second, 3 seconds, 5 seconds, 8 seconds, 10 seconds, etc. During the predetermined time period, the pump of the bed system may inflate the mattress to its maximum degree.Therefore, pressure data collected during inflation of the mattress by the pump may be discarded to ensure that leak detection is accurate and not distorted by rapid pressure changes that may occur during mattress inflation. In some implementations, a valve of the bed system may be opened during the predetermined time period to vent air from the mattress. Therefore, it may be preferable to discard the data collected during this time to ensure that any leaks are accurately detected using the disclosed techniques. Activating the pump and / or opening the valve may result in vibrations throughout the bed system, which may cause common and temporary pressure changes in the mattress. These pressure changes may not be responsible for actual leaks in the bed system and are therefore discarded during processing in block 2112.
[0260] The computing system can then return the processed data to be provided as input to a leak detection model (block 2114). See block E in Fig. 19 and blocks 2010-2014 in Fig. 20 for an additional explanation of determining the presence of a leak in the bed system using the leak detection model. See also Fig. 23 for an additional explanation of the various types of leak detection models that can be implemented with the disclosed techniques.
[0261] Fig. 22 is a swimlane diagram of a process 2200 for training a model for determining the presence of leaks in bed systems. Although the process 2200 is described in the context of generating classifiers, the classifiers may be the same as one or more of the trained machine learning models described in this disclosure. The process 2200 may be performed by components such as a data source 2202, a classifier factory 2204, and a computing device 2206. In some implementations, one or more blocks of the process 2200 may be performed by the remote server 1916 and / or the bed controller 1910. In still some implementations, the process 2200 may also be performed by one or more other components, computing systems, and / or computing devices.
[0262] Referring to process 2200, data source 2202 may provide training data in block 2208, which may be received by classifier factory 2204 in block 2210. The provided and received data may include various types of data useful for creating classifiers for leak detection (e.g., algorithms trained using machine learning). For example, the data may include pressure data recording various pressure levels in bed systems, which may indicate various types of leaks. The pressure data may also include data about other aspects of the bed systems, such as pump settings, size of holes in the bed systems, and / or rates at which air leaks from the bed systems. This data may include correspondences between various bed parameters (e.g., air bladder pressure, temperature) and a classification of the bed (e.g.,with or without a hole, raised head area or flat). As can be understood, the model to be trained is a logical construct that uses these real-world equivalents to predict what such a correspondence would look like given new bed parameter values that were not part of the training data.
[0263] In some implementations, the training data may include temperature data collected by bed system temperature sensors. The temperature data may be collected for the air in the bed system plenums. The temperature data may be used alone and / or in combination with other training data described herein to improve the accuracy of models that detect leaks in bed systems. The data received by the classifier factory 2204 may also include label data that defines indicators of leak conditions for the pressure data. For example, ranges of timestamps in a detected leak may be determined that show the pressure of a bed system before a leak, the onset or origin of the leak, the largest amount of leakage in the bed system, and / or a steady state leak in the bed system.Furthermore, the respective data format of the pressure data and the labeling data may vary depending on the capabilities of the data source 2202 and / or the classifier factory 2204. For example, the data may be in the form of a time-ordered group, with each cell containing one or more pressure values for that period, and another group containing a label according to the same indexing scheme. Other formats are also possible.
[0264] Next, the classifier factory 2204 may generate one or more classifiers based on (e.g., using) the training data (block 2212). In some implementations, this generation by the classifier factory 2204 may include training a convolutional neural network (CNN) configured to use as input i) the print data and ii) the labeling data. The CNN may also be configured to generate intermediate data for use by later elements of a classifier. In general, the CNN may be configured to perform feature extraction from the print data, and as such, the intermediate data may include extracted features of the print data. This data may, for example, be numeric data stored in binary format on disk.As one can imagine, this intermediate data can often be in a form that is incomprehensible to outsiders. However, in some cases, some information can be extracted from the print data, such as spectral information.
[0265] Although training is described in terms of training with the CNN, various other machine learning techniques can be used to generate one or more classifiers. For example, linear models, logistic regression models, SVMs, physical models, and one or more other types of machine learning techniques can be used.
[0266] To train the CNN, different time epochs in the training data can be identified and extracted. Training may also involve training a recurrent neural network (RNN) designed to use the intermediate data as input. That is, the output of the CNN can be used as input to the RNN, and the RNN can be designed to generate a leakage classification from the extracted features. It will be appreciated that the RNN can be more complex than just a single RNN. In some examples, the RNN may include multiple layers operating in parallel. These layers may include i) a prospective long short memory (LSTM) network that uses later leakage classifications as input, and ii) a historical LSTM network that uses previous leakage classifications as input.This can allow for a classification for any point in the epoch that takes into account the classifications before and after that point in the epoch. Furthermore, the RNN can be designed to use post-processing functions to generate the leaky classification. The specific post-processing steps required may vary depending on the type and format of the data used, the available computing hardware, etc. An example of post-processing might include concatenating the outputs from multiple output nodes of the RNN into a single value or array of values.
[0267] The classifier factory 2204 may transmit the classifier(s) in block 2214, which may be received by the computing device 2206 in block 2216. The computing device 2206 may then use the classifier(s) at runtime to determine the presence of leaks in bed systems. An illustrative example is that the classifier(s) may be loaded into the firmware of the computing device 2206 during manufacture of the computing device 2206 (e.g., the bed controller 1910). The computing device 2206 may then execute the classifier(s) at runtime to accurately detect leaks in the bed system. As another example, if an application is installed on the computing device 2206 (e.g., a mobile phone or a home computer), the application may include or download the classifier(s) for runtime use.As yet another example, the computing device 2206 may be remote from the bed systems (e.g., the remote server 1916), and the classifier(s) may be loaded into the firmware of the computing device 2206. The computing device 2206 may then execute the classifier(s) at runtime to accurately detect leaks in various different bed systems.
[0268] Fig. Figure 23 is a block diagram of one or more models that may be used to determine leaks in bed systems. As described throughout this disclosure, one or more different types of models may be trained and used for leak detection by the remote server 1916. Although the Fig. 23 are shown as part of the remote server 1916 or are otherwise executed by it, the models may also be implemented / executed by other components, such as the bed controller 1910 or one or more other computing systems / servers. In addition, the Fig. 23 models with the reference to Fig. 22 described techniques can be trained.
[0269] The remote server 1916 may execute a linear leak detection model 2300, a polynomial leak detection model 2302, a physically based leak detection model 2304, a neural network leak detection model 2306, a leak hole detection model 2308, and / or a leak rate detection model 2310. One or more additional, fewer, or different models (e.g., classifiers) may also be trained using other machine learning techniques and executed by the remote server 1916.
[0270] The linear leak detection model 2300 can be easy to implement and have high leak detection accuracy. The model 2300 can be a linear regression model that can model relationships between a scalar response and one or more dependent and / or independent variables. Linear prediction functions can be used, and unknown model parameters can be estimated from the data provided to the model as input.
[0271] The polynomial model for leak detection 2302 can be used to determine which input factors (e.g., pressure data) lead to responses (e.g., leaks) and in which direction. The model 2302 can include a logistic regression model. The logistic regression model can be used to model the probability of the presence of a particular class or event, such as leak / no leak. The model 2302 can also include a support vector machine (SVM) model. The SVM model can be a supervised learning model with associated learning algorithms that analyze data for classification and regression analysis.
[0272] The physics-based leak detection model 2304 can be trained to estimate the size of a hole in a mattress causing a leak. In other words, the model 2304 can be trained to determine a value for the hole diameter of the leak in the mattress based at least in part on volumetric and pressure data from a bed system. Therefore, the model 2304 can include variables for volumetric and pressure data from a bed system. Accordingly, the model 2304 can utilize applicable laws of nature to define physical processes that may occur, such as the leakage of a gas from the mattress.
[0273] In some implementations, model 2304 may estimate the size of the hole based on the significance of a delta in the pressure data. Model 2304 may also be trained to determine the side of the mattress experiencing a leak. Model 2304 may use a gas leak equation to determine the side of the mattress. In some cases, the gas leak equation may be: Q = v * (Δp / Δt). One or more other equations may also be used to quantify the gas leakage in the mattress and determine the side of the mattress experiencing the leak. The outputs of model 2304, such as determined or estimated hole sizes, may be used for training other models described herein (e.g., classifiers), such as a logistic regression model and / or the SVM model.
[0274] The neural network leak detection model 2306 can be used to analyze pressure data over long periods of time to automatically determine leaks in bed systems. The 2306 model can therefore be used to accurately detect slow and / or small leaks in bed systems that are not easily detected during a short period of data collection. In some implementations, the 2306 model can be a CNN. See Fig. 22 for further explanations on training the 2306 model.
[0275] The leak hole detection model 2308 can be trained to perform one or more of the techniques described herein. For example, the model 2308 can be trained to detect the presence of a hole in an air chamber. The model 2308 can also be trained to estimate the size of the hole. In some implementations, the model 2308 can also be trained to determine a location and / or side of the bed system containing the hole. The model 2308 can be trained using physics formulas to accurately determine and predict the size of the hole. The model 2308 can then be trained to classify the size of the hole with an indication of whether a leak is present or not.
[0276] The leak rate detection model 2310 can be trained to perform one or more of the techniques described herein. For example, the model 2310 can be trained to correlate pressure changes over time with indications of whether or not a leak is present.
[0277] In some implementations, a pressure decay model using one of the above-mentioned machine learning methods may be used during bed setup and / or during daily use of the bed system. Additionally or alternatively, a model trained to estimate hole size may be used during bed setup and / or during daily use of the bed system. Although some models are illustrated and described in this disclosure, other machine learning techniques, algorithms, and / or models may be used to implement the disclosed technology.
[0278] Fig. 24 is a flowchart of a process 2400 for determining the presence of a leak in a bed system. In particular, the process 2400 may be performed to determine the presence of leaks based on detecting and determining a leak rate for the bed system. The process 2400 may be performed by components such as the bed controller 1910 and / or the remote server 1916. For example, the process 2400 may be performed at the edge on the bed system by the bed controller. As another example, the process 2400 may be performed remotely from the bed system on a remote server or other cloud-based computing system. In some implementations, the process 2400 may also be performed by one or more other components, computing systems, and / or computing devices. For illustrative purposes, the process 2400 will be described from the perspective of a computing system.
[0279] Referring to process 2400, the computing system may receive (at block 2402) an indication to perform a leak detection test on a bed system. The indication may be received from a user device of a technician, customer service representative, and / or user of the bed system. For example, in some implementations, the user of the bed system may call a customer service representative to have the bed system tested for a possible leak. The customer service representative may select an option presented in a mobile application or user interface on their respective computing device to trigger a leak detection test on the bed system, even if the customer service representative is not at a physical location of the bed system.When the service representative initiates the test, communication may be established between the service representative's computer and the bed system controller so that the leak detection test may be performed as described in this disclosure. See block 2102 in process 2100 of FIG. Fig. 21 for further explanations.
[0280] In block 2404, the computing system may determine whether the bed system is empty. See block 2104 in the method 2100 of Fig. 21 for further explanation. In some implementations, the user of the bed system may be asked, for example, by the customer service representative or through a prompt presented on the user's device, whether the bed system is empty. The user may then provide feedback / input via their user device as to whether the bed system is empty. In some implementations, as described herein, the computing system may automatically determine whether the bed system is empty by collecting and analyzing pressure and / or temperature data from sensors on the bed system.
[0281] In block 2406, the computing system may also determine whether the bed system is flat. See block 2106 in the method 2100 of Fig. 21 for further explanation. Similarly, as described in block 2404, the user may be prompted to determine whether the bed system is flat. In some implementations, the computing system may automatically determine whether the bed system is flat, as described throughout this disclosure.
[0282] In block 2408, the computing system may transmit instructions to (i) a pump to inflate a mattress of the bed system to a threshold, and (ii) a controller of the bed system to adjust the bed to the settings for the leak detection tests. The instructions may be transmitted automatically when it is determined that the bed system is at least empty. In some implementations, the instructions may also include instructing components of the bed system, such as the controller, to first adjust the bed system to a flat position before performing (i) and / or (ii). In block 2408, the pump may receive the instruction to inflate the mattress to a maximum pressure. The pump may also receive instructions to inflate the mattress to a pressure that exceeds the maximum pressure settings described herein.As an illustrative example, the pump may receive instructions to inflate the mattress to twice the maximum pressure for the bed system described here.
[0283] The controller may also receive instructions to adjust the bed to the settings for the leak detection test. In some implementations, the computing system may be the controller. Therefore, the computing system may simply execute the instructions in block 2408. The settings for the leak detection test may include adjusting the bed system to a flat position when the bed is empty. Adjusting the bed to the settings for the leak detection test may include adjusting the mattress pressure settings as described above. In some implementations, the leak detection test may be performed to test one air chamber in the mattress at a time. Therefore, in block 2408, the computing system may selectively adjust one air chamber at a time (e.g., an air chamber on one side of the bed) within the mattress.The pressure may then be analyzed for that particular air chamber, and then process 2400 may be repeated for each other air chamber in the mattress. In some implementations, at block 2408, the computing system may selectively adjust any combination of air chambers (e.g., all air chambers on one side of the bed, air chambers near the head of the mattress, air chambers near the foot of the mattress, etc.) within the mattress and then test the combination of air chambers for the presence of a leak. In some implementations, at block 2408, the computing system may adjust all air chambers in the mattress to test all air chambers at once. See block 2108 of process 2100 of FIG. Fig. 21 for further explanation on adjusting the bed system to perform the leak detection test described here.
[0284] Additionally, in some cases, the computing system may save the current bed system settings before the bed is adjusted to the leak detection test settings. The current settings may be stored in the computing system's cache, local memory, random access memory (RAM), flash memory, and / or non-volatile memory for quick retrieval at a later time. For example, the current settings may be retrieved after the leak detection test has been performed. The current settings may then be implemented by the computing system or the controller to restore the bed system to the settings before the bed was adjusted to the leak detection test settings (see block 2420). The current settings may include a current position of the bed system (e.g.,A bed system's current settings may include a raised headboard and / or footboard of a bed system base, a responsive bed system air functionality (e.g., the activation of a heating and / or cooling routine), and / or a bed system firmness or pressure setting. Any of these current settings and / or all current settings can be saved and thus recalled after the leak detection test, allowing the computing system to readjust (or reset) the bed system to the settings prior to the leak detection test.
[0285] In block 2410, the computing system may collect pressure data from the bed system for a time duration threshold. See block 2110 in the method 2100 of Fig. 21 for further explanations.
[0286] The computing system may determine a leak rate based on the collected pressure data (block 2412). The leak rate formula used by the computing system may assume that the volume in the mattress air chamber(s) remains constant. The leak rate may be determined as a change in pressure over the time the pressure data is collected. In some implementations, as described herein, the computing system may execute an algorithm and / or one or more rules to determine the leak rate for the bed system. Sometimes, the computing system may execute a machine learning-trained model to determine the leak rate for the bed system.
[0287] In some cases, a calculator function stored on the hard disk may include one or more calculation tests encoded in computer-executable instructions to determine a leak rate. This calculation test can be developed and coded based on permutations of the ideal gas law PV = nRT to derive a feature, calculated by the calculation hardware based on the sensor inputs, that correlates the air loss with the leak rate. For a leak, one mole of gas loss from a test volume after t seconds can be calculated as follows: nlost=LR t PatmR T
[00311] where L R is the leakage rate. The moles of air remaining in the volume at time t can be: nt=n0−nlost=P0VR T−LR t PatmR T
[0288] Assuming a constant temperature, the pressure at time t can be: Pt=nt R TV=P0−LR t PatmV
[0289] In some implementations, the temperature may change during a leak detection test. For example, before conducting a leak detection test, the foot warming and / or core heating functions may be used on the bed system. Each of these functions may cause a change in the temperature of the air within the bed system. As another example, during a sleep phase, the sleeper's body temperature may cause an increase in the temperature (and / or pressure) of the air within the bed system. The above-mentioned temperature changes may also be considered in formulas for determining the leak rate for the bed system.
[0290] And, a change in pressure can be: PΔ=P0−Pt=LR t PatmV
[0291] Thus, the leak rate can be a function of the volume of the air chamber: LR=PΔVPatm t
[0292] In some implementations, the fraction of lost air moles in the output flow can also be used to determine the leak rate: nlostn0=PΔP0
[0293] In some implementations, one or more other physical models may be used, such as a model that accounts for the deformation of the air chamber by considering the elastic properties of the air chamber.
[0294] Furthermore, since the pressure must be an absolute value, the standard atmospheric pressure of 101,325 Pa is added to the gauge pressure values obtained from the pressure sensors described here. In addition to using the standard atmospheric pressure, the bed system can also include a pressure sensor that measures the current atmospheric pressure. As another example, the bed system can include a pressure sensor that measures the absolute air pressure in the air chamber (instead of or in addition to a gauge pressure sensor of the bed system).
[0295] The computing system may determine, at block 2414, whether the leak rate exceeds a leak rate threshold. The leak rate threshold may, in some embodiments, be the same for each bed system, bed type, plenum size, and / or number of plenums in the bed system. The same leak rate threshold may be used because determining the leak rate assumes that the volume of the plenums is constant when the plenums are filled to the set maximum pressure (or a pressure above the set maximum pressure). In some implementations, the leak rate threshold may be determined using a machine learning model.The machine learning model can be trained to determine the threshold indicating a leak in a bed system based on known, collected, and / or marked / annotated data about various pressure levels and leaks in bed systems. In some implementations, known leak rates can be mapped or graphed to known holes in bed systems to define the leak rate threshold and thus determine which leak rates are associated with actual leaks in bed systems. In some implementations, the leak rate threshold can vary depending on the type of bed, the size of the air chambers, the number of air chambers in the bed system, and / or other features / characteristics of the bed system, a geographic or surrounding location of the bed system, and / or user demographics.
[0296] Although block 2414 is described with respect to determining whether the leak rate exceeds the leak rate threshold, the same concept may apply to determining whether a pressure drop exceeds a pressure drop threshold. The same concept may also be applied to determining whether the estimated hole size exceeds a hole size threshold.
[0297] If the leak rate exceeds the leak rate threshold, the computing system may detect a leak in the bed system (block 2416). The computing system may then proceed to block 2420, as described below. The computing system may generate an indication of a leak. The indication may be a string value, a float value, an integer value, and / or a Boolean value indicating the leak. In some implementations, the leak indication may be a numeric value indicating the expectation, probability, or possibility that the leak will be detected in the bed system.
[0298] If the leak rate does not exceed the threshold, the computing system may determine that no leak is present in the bed system (block 2418) and then proceed to block 2420. As described above, the computing system may generate an indication, such as a string value, a float value, an integer value, and / or a Boolean value, indicating that no leak has been detected. In some embodiments, the computing system may only generate a notification if a leak is currently detected. In some implementations, when the computing system generates an indication that no leak is present, the computing system may also provide one or more suggested actions to further diagnose the bed system.For example, the computing system may provide suggestions for checking or resetting one or more other bed system settings, turning a bed system heating / cooling unit on / off, and / or checking / adjusting heating / cooling / humidification, etc., in the bed system's environment. In some implementations, when the computing system generates an indication that no leak is present, the computing system may also generate one or more computer-readable instructions for a device controller to perform diagnostic operations, for example, using a bed system heating / cooling unit and / or a device that affects the bed's environment, such as a heating / cooling / humidification device.
[0299] In block 2420, the computing system may return the leakage reading from block 2416 or block 2418 and also adjust the bed back to its pre-test settings. As described in block 2114 of process 2100 of Fig. 21, the indication may be transmitted to and output at a user device of a bed system user, a technician, or other relevant user, such as a customer service representative. Furthermore, at block 2420, the computing system (or the bed system controller) may execute instructions that cause the bed system to be adjusted to the pre-test settings. For example, the bed may be reset to the settings before the bed was adjusted to the test settings at block 2408. As described with reference to block 2408, the pre-test settings may be stored in local memory and accessed at block 2420 to reset the bed system to the pre-test settings. This may include, but is not limited to, adjusting a base of the bed system to a pre-test position (e.g., feet raised, head raised, other base joints).Re-adjusting the bed in block 2420 may also include reactivating a heating and / or cooling routine on the bed system that was turned off in block 2408. Re-adjusting the bed in block 2420 may include adjusting a pressure setting in the mattress to user-defined pressure settings and / or adjusting the pressure setting from before the pump inflated the mattress to the threshold in block 2408. One or more other actions may be taken in block 2420 to return the bed system to its runtime operation and usage settings.
[0300] In some implementations, as described herein, one or more blocks of process 2400 may be performed by both a remote server and a controller at the edge of the bed system. For example, the remote server may initiate the leak detection test in block 2402. The controller at the bed system may perform blocks 2404-2418 to determine whether a leak is present at the bed system. The controller may then return or transmit the leak determination to the remote server in block 2420. In some implementations, the controller may perform blocks such as 2404-2412 and then transmit the determined leak rate to the remote server. The remote server may then perform blocks 2414-2420 to determine whether a leak is likely present at the bed system.One or more other combinations of blocks may be executed by the remote server and / or controller as described in this disclosure.
[0301] Fig. 25 is a swimlane diagram of a process 2500 for determining the presence of a leak in a bed system. The process 2500 may be performed to determine the presence of leaks based on determining and analyzing a leak rate of the bed system. The process 2500 may be performed by components such as and including a user device 2502, the bed controller 1910, and the sensors 1920A-N. In some implementations, the user device 2502 may be the same as the user device 1914 in Fig. 19. One or more blocks of process 2500 may also be performed by remote server 1916. In some implementations, one or more blocks of process 2500 may also be performed by one or more other components, computing systems, and / or computing devices.
[0302] With reference to process 2500 in Fig. 25, the user device 2502 may generate instructions for performing a leak test on the bed system in block 2504. See block 2402 in the process 2400 of Fig. 24 for further explanation. As described in this disclosure, the instructions may be generated by a user device of (i) a user of the bed system, (ii) a technician setting up the bed system, and / or (iii) a customer service representative who has received a request from the user to test the bed system for a possible leak. Generating the instructions in block 2504 may also include establishing communication between the bed controller 1910 and the user device 2502 so that information, such as a leak detection determination / indication, may be communicated / transferred between the components.
[0303] The bed controller 1910 may receive the instructions in block 2506. Receiving the instructions may indicate that communication with the user device 2502 has been established.
[0304] In block 2508, the bed controller 1910 may save current bed settings of the bed system. Further explanations on saving the current bed settings can be found in the description of block 2408 in the process 2400 of Fig. 24. In some implementations, the current bed settings may be stored in the local memory (e.g., RAM) of the bed controller 1910. In some implementations, the current bed settings may be stored in a cloud, such as on a remote server, data store, or other cloud-based computing system.
[0305] The bed control 1910 may then set the bed system for a leak test in block 2510. See block 2408 in process 2400 of Fig. 24 for a further explanation of setting the bed to leak test settings.
[0306] The sensors 1920A-N may then begin collecting pressure data in block 2512. Further explanations about collecting pressure data during the leak detection test are provided in block 2410 of process 2400 in Fig. 24.
[0307] The bed controller 1910 may receive the pressure data in block 2514. Block 2008 in the process 2000 of Fig. 20 provides further explanations on the receipt of print data.
[0308] In block 2516, the bed controller 1910 may process the pressure data to determine the presence of a leak. Processing the pressure data may include determining a leak rate based on the acquired pressure data. Further explanation is provided in block 2412 in process 2400 of Fig. 24. Processing the pressure data may additionally or alternatively include determining the presence and size of a hole in the bed system, as described with reference to Fig. 19. The presence of a leak may be determined using one or more machine learning models or other methods described throughout this disclosure.
[0309] The bed controller 1910 may generate an indication of the presence of a leak based on processing the pressure data (block 2518). For example, the bed controller 1910 may determine whether a particular leak rate exceeds a leak rate threshold, which may indicate the presence of a leak in the bed system. Further explanation is provided in blocks 2414-2418 in process 2400 of Fig. 24. As another example, the bed controller 1910 may determine whether a hole in the bed system indicates a leak and / or exceeds a hole size threshold. Further explanation of generating the indication of the presence of a leak is provided in block 2014 in the process 2000 of Fig. 20 and block 2112 in the process 2100 of Fig. 21. In some implementations, generating the indication of the presence of a leak may also include determining one or more remedial actions and / or suggestions for correcting the leak and / or further diagnosing a problem with the bed system. Explanations regarding generating actions to be taken in response to the indication of the presence of a leak are provided in Block F of Fig. 19, Block 2016 in the 2000 trial of Fig. 20 and block 2420 in the process 2400 of Fig. 24.
[0310] In block 2520, user device 2502 may receive the indication from bed controller 1910. User device 2502 may also receive the actions to be taken in response to the indication of the presence of a leak. User device 2502 may output or display (i) the indication and / or (ii) one or more of the actions to be taken on a graphical user interface (GUI) display of user device 2502 (block 2522).
[0311] Referring again to block 2518, once the bed controller 1910 has generated the indication of the presence of a leak, the bed controller 1910 may also, in block 2524, adjust the bed system back to the bed settings stored in block 2508. For example, the bed controller 1910 may reset the bed system to the ambient pressure settings used or otherwise determined for the bed system prior to performing the leak detection test. In some implementations, the bed controller 1910 may reset the bed system to the pressure settings desired by the user or set by the user after performing the leak detection test. Further explanation is provided in block 2400 in the process 2400 of Fig.24. Therefore, the bed system can be reset to the user-desired or customized settings before the bed system has been subjected to a leak detection test. The user can then continue to use their bed system with their preferred settings. In some implementations, the bed system may not be reset to the saved settings. As an illustrative example, if the indication of the presence of a leak indicates that the bed has a large leak (e.g., the leak rate exceeds a leak rate threshold, the size of the hole in the bed exceeds a hole size threshold), then inflating or adjusting the bed system to the previous settings may result in the settings having no effect on the user (e.g.,The bed can simply be blown out as soon as the user enters the bed or as soon as the bed is adjusted. Therefore, in some implementations, the bed system cannot be adjusted to previous settings or user-defined settings until the bed system is repaired and the leak is corrected. QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] US 63 / 394,423
[0002]
Claims
[1] System comprising: a bed system having a mattress for supporting a user lying on the bed system; at least one sensor configured to collect pressure data via the bed system; and a computing system comprising a processor and a memory, the computing system being configured to: receive streams of pressure data collected by the at least one sensor; to use the pressure data streams to detect the presence of a leak in the mattress of the bed system, wherein detecting the presence of the leak comprises: Using at least a first, initial stream of pressure data to determine whether a user is lying on the mattress of the bed system; Adjusting pressure settings of the bed system to new pressure settings relevant for testing the mattress for leakage in response to determining that no user is lying on the mattress, wherein the new pressure settings are defined to ensure that the bed system is subjected to a pressure within a predetermined range that is less than a pressure range applied to the bed system by one or more users; and Using at least one of the streams of pressure data obtained after adjusting the pressure settings to the new pressure settings to detect the presence of the leak, wherein using comprises providing the at least one of the streams of pressure data to be processed by a model, the model being trained to detect a presence of the leak when no user is lying on the mattress; receive as output from the model data indicating the detected presence of the leak in the mattress; and to return a message indicating the detected presence of the leak in the mattress. [2] The system of claim 1, wherein the computing system is further configured to: to use the first, initial stream of pressure data to determine whether another object is resting on the bed system's mattress. [3] The system of claim 1 or 2, wherein the model is a linear model. [4] The system of claim 1, wherein the model is a polynomial model including at least one of a logistic regression model and a support vector machine (SVM) model. [5] The system of claim 1, wherein the model is a physically based model including variables for volume data and the pressure data of the bed system, the volume data being for one or more of air chambers of the mattress, the physically based model being configured to determine a hole diameter value of the leak in the mattress based at least in part on the volume data and the pressure data. [6] The system of claim 1, wherein the model is a neural network model. [7] The system of any of claims 1-5, wherein the computing system is arranged to receive the print data in response to: receiving an indication from a user device to initiate a leak detection test for the bed; and transmitting a signal to a pump of the bed system to inflate the mattress of the bed system. [8] The system of any of claims 1-6, wherein the bed system further comprises a pump configured to inflate and deflate the mattress, the at least one sensor being in fluid communication with the pump. [9] The system of any of claims 1-7, wherein the mattress includes at least one air chamber, wherein the at least one sensor is a pressure sensor in fluid communication with the air chamber. [10] The system of any of claims 1-8, wherein the bed system further comprises means for controlling a pressure of the mattress including the at least one sensor. [11] System according to any one of claims 1-9, wherein the computing system is arranged to: determine whether a base of the bed system is flat based on the first stream of pressure data measured by the at least one sensor; determine whether the user is lying on the mattress based on the first stream of pressure data measured by the at least one sensor; and based on a determination that the base is flat and the user is not lying on the mattress, to retrieve the pressure data from the at least one sensor. [12] The system of claim 11, wherein the computing system is configured to: to control the bed system to adjust the base to a flat position based on a determination that the base is not flat; and in response to adjusting the base to the flat position, query the pressure data from the at least one sensor. [13] The system of claim 12, wherein the computing system is further configured to store current settings of the bed system prior to controlling the bed system to adjust the base to the flat position in a local memory of the computing system, the current settings corresponding to a state of the bed system. [14] The system of claim 13, wherein the state of the bed system includes at least one of (i) a position of the base, (ii) a firmness setting of the mattress, (iii) a reactive air setting of the bed system, and (iv) an activation of a heating or cooling feature of the bed system. [15] The system of claim 13, wherein the computing system is further configured to: to retrieve the saved settings of the bed system from the local memory and after sending back the detected presence of the leak in the mattress; and to control the bed system, adapting to the saved settings. [16] System according to any one of claims 1-15, wherein the computing system is arranged to: to determine a leak rate for the bed system mattress based on the pressure data; to determine whether the leak rate exceeds a leak rate threshold; generate an indication of the presence of a leak for the bed system based on a determination that the leak rate exceeds the leak rate threshold; and indicating the presence of a leak.
Citation Information
Patent Citations
63/394.423