A control method and device of a mattress and the mattress
By identifying pressure clumps and vibration signals, the system delineates user-occupied areas, solving the problems of data separation and operational interference when two people share a bed with a smart mattress. This enables accurate sleep reports and personalized control, enhancing the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HENAN SMART HEALTH CARE EQUIPMENT IND RESEARCH INSTITUTE
- Filing Date
- 2026-03-24
- Publication Date
- 2026-06-30
AI Technical Summary
When two people share a bed, existing smart mattresses cause pressure/micro-motion signals to overlap, making it difficult to separate data such as sleep duration, number of body movements, and estimated breathing/heart rate. As a result, the generated sleep report cannot be accurately attributed to an individual, and the actions of one user can interfere with the actions of the other user.
By analyzing the pressure distribution and vibration signals on the mattress, the system identifies and divides each pressure clump, determines the number of users and their occupied areas, generates accurate sleep reports, and only performs operations on the areas occupied by each user to avoid affecting other users.
It enables accurate generation and personalized control of sleep reports, avoids interference between users, and improves the user experience.
Smart Images

Figure CN122308185A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of human body recognition technology, and in particular to a control method, device and mattress for a mattress. Background Technology
[0002] Double beds are one of the primary application scenarios for smart mattresses / smart beds. Current technologies often employ simple left-right physical partitioning or rely on manual user selection of control objects. However, in practical applications, the pressure / micro-motion signals collected by the mattress overlap when two people share a bed, making it difficult to separate data such as sleep duration, body movement frequency, and estimated breathing / heart rate. Consequently, the generated sleep reports cannot be accurately attributed to individuals. When one user activates functions such as heating, massage, or support adjustment, the other user will experience significant disturbance. Summary of the Invention
[0003] The purpose of this invention is to provide a mattress control method, device, and mattress that divides the mattress into corresponding areas for each user. When generating sleep reports, the system only uses sleep information from the occupied area, resulting in more accurate reports. Operations are performed only on the user's occupied area, avoiding disruption to other users on the mattress and improving the user experience.
[0004] To solve the above-mentioned technical problems, the present invention provides a mattress control method, comprising:
[0005] The number of users on the mattress is determined based on the pressure distribution of the mattress.
[0006] Allocate the area on the mattress for each user and the corresponding execution device under the mattress;
[0007] Determine the sleep information of users in each occupied area and generate a sleep report, wherein the sleep information includes at least one of respiratory rate, heart rate and number of times to turn over;
[0008] Upon receiving a control command from any user, the execution device corresponding to the user's occupied area performs the operation corresponding to the control command on the user's occupied area. The operation includes at least one of heating, massage, hardness adjustment, and height adjustment.
[0009] On the other hand, the number of users on the mattress is determined based on the pressure distribution of the mattress, including
[0010] Cluster analysis is performed on the pressure distribution signals collected by each pressure sensor of the mattress to identify each pressure cluster on the mattress surface.
[0011] The vibrations are collected by the piezoelectric film and accelerometer of the mattress, and the vibrations are caused by the user's breathing, heartbeat and turning over.
[0012] Based on the vibration, determine whether each pressure cluster corresponds to a user;
[0013] If the duration of the pressure mass is less than a first preset time threshold, and / or the ratio of the area of the pressure mass to the total area of the mattress is less than a first preset area threshold, then the pressure mass is identified as an interference object.
[0014] The number of users on the mattress is updated based on the number of pressure clumps of existing users after removing the identified interference objects.
[0015] On the other hand, the area occupied on the mattress and the corresponding execution device under the mattress are allocated for each user, including:
[0016] The mattress surface is pre-divided into multiple physical zones;
[0017] For each identified stress block containing a user, at least one partition covered by each stress block is determined based on the center location and boundary range of each stress block, and the set of covered partitions is taken as the occupied area of the user.
[0018] Based on the preset execution device mapping relationship, determine the execution device corresponding to the occupied area of each user.
[0019] On the other hand, after allocating the area on the mattress for each user and the corresponding execution device under the mattress, it also includes:
[0020] Obtain each user's identity information and generate a mapping relationship between each user and the corresponding occupied area;
[0021] When a change in the occupied area of any user is detected, it is determined whether the change in the occupied area meets the preset stability judgment criteria. The stability judgment criteria include that the centroid fluctuation variance of the new occupied area is less than a first threshold, the number of partition changes of the new occupied area is less than a second threshold, and the user's identity attribution confidence is greater than a third threshold.
[0022] If the conditions are met, the mapping relationship is updated; otherwise, the original mapping relationship is maintained.
[0023] On the other hand, determining whether the change in the occupied area satisfies a preset stability criterion includes:
[0024] When a change in a user's occupied area is detected, the stability of the user's latest occupied area is determined within a first preset time period;
[0025] If the stability is satisfied within the first preset time period, then the mapping relationship is updated;
[0026] If the stability is not satisfied within the first preset time period, the original mapping relationship is maintained.
[0027] On the other hand, updating the mapping relationship includes:
[0028] Determine the first occupied area before the user update and the second occupied area after the update;
[0029] During a preset transition time, the output value of the control output to the execution device corresponding to the first occupied area decreases, and the output value of the control output to the execution device corresponding to the second occupied area increases;
[0030] The process of descending or ascending can be achieved by superimposing or simultaneously using ramp functions, S-curves, and weighting functions.
[0031] On the other hand, it determines the sleep information of users in each occupied area and generates sleep reports, including:
[0032] When the mattress includes a first user and a second user, the collected sleep information is divided into continuous time windows. Each time window corresponds to a set of attribution probabilities. The attribution probabilities include the probability that the data in the time window belongs to the first user, the probability that it belongs to the second user, and the probability that it belongs to an uncertain user.
[0033] Determine the attribution probability for each time window. If the highest attribution probability is greater than or equal to the first probability threshold, then all data within the time window will be attributed to the user corresponding to the highest attribution probability.
[0034] If the highest probability of attribution is less than the first probability threshold but greater than or equal to the second probability threshold, then the data within the time window will be weighted according to the probability of attribution and allocated to the first user and the second user.
[0035] If the highest probability of attribution is less than the second probability threshold, the data within the time window will be marked as an uncertain fragment and will not be assigned to any user.
[0036] Based on the categorized data, a sleep report is generated for each user.
[0037] On the other hand, upon receiving a control command from any user, the execution device corresponding to the user's occupied area is controlled to perform the operation corresponding to the control command on the user's occupied area, including:
[0038] The target user is determined according to the control instructions;
[0039] Determine the occupied area of the target user and the corresponding execution device;
[0040] The control command is sent to the execution device corresponding to the occupied area of the target user;
[0041] When multiple control commands are received simultaneously from multiple users, it is determined whether there is a resource conflict between the two control commands. The resource conflict includes channel conflict indicating that the execution devices have an overlap and power conflict indicating that the total power requested by the users exceeds the power limit.
[0042] If a resource conflict exists, the two control commands will be arbitrated according to a pre-set priority, time slice rotation, or power allocation by weight.
[0043] To address the aforementioned technical problems, the present invention also provides a mattress control device, comprising:
[0044] Memory, used to store computer programs;
[0045] A processor is used to implement the steps of the above-described mattress control method when executing the computer program.
[0046] To address the aforementioned technical problems, the present invention also provides a mattress, including the aforementioned mattress control device, and further including a mattress body and an execution device disposed within the mattress, wherein the execution device is used to perform at least one of the following operations: heating, massage, firmness adjustment, and height adjustment.
[0047] This application provides a mattress control method, device, and mattress, relating to the field of human body recognition technology. The method includes determining the number of users on the mattress based on the mattress's pressure distribution; dividing the mattress into occupancy areas for each user and corresponding execution devices under the mattress; determining the sleep information of users within each occupancy area and generating a sleep report; and, upon receiving a control command from any user, controlling the execution device corresponding to that user's occupancy area to perform the operation corresponding to the control command on that user's occupancy area. Dividing the mattress into corresponding areas for each user and generating sleep reports based solely on sleep information within the occupancy areas results in more accurate reports. Furthermore, operations are performed only on the user's occupancy area, avoiding impact on other users on the mattress and improving the user experience. Attached Figure Description
[0048] To more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the prior art and embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0049] Figure 1 A flowchart of a mattress control method provided by the present invention;
[0050] Figure 2 A flowchart of another mattress control method provided by the present invention;
[0051] Figure 3 A flowchart for user detection and region division provided by the present invention;
[0052] Figure 4 A flowchart for user identity binding provided by the present invention;
[0053] Figure 5 A flowchart of a partition mapping method provided by the present invention;
[0054] Figure 6 A flowchart for report generation provided by the present invention;
[0055] Figure 7 This is a schematic diagram of the structure of a mattress control device provided by the present invention. Detailed Implementation
[0056] The core of this invention is to provide a mattress control method, device, and mattress. This method divides the mattress into corresponding areas for each user, and when generating sleep reports, it only uses sleep information from the occupied area, resulting in more accurate reports. During operation, only the user's occupied area is processed, avoiding disruption to other users on the mattress and improving the user experience.
[0057] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0058] Figure 1 A flowchart of a mattress control method provided by the present invention is provided, the mattress control method comprising:
[0059] S11: Determine the number of users on the mattress based on the pressure distribution of the mattress;
[0060] Double beds are one of the primary application scenarios for smart mattresses / smart beds. Current technologies often employ simple left-right physical partitioning or rely on manual user selection of control objects. However, in practical applications, the pressure / micro-motion signals collected by the mattress overlap when two people share a bed, making it difficult to separate data such as sleep duration, body movement frequency, and estimated breathing / heart rate. Consequently, the generated sleep reports cannot be accurately attributed to individuals. When one user activates functions such as heating, massage, or support adjustment, the other user will experience significant disturbance.
[0061] Therefore, this application first determines the number of users on the mattress. Determining the number makes subsequent zoning more accurate. The determined users are generally frequent users; for example, a double bed in a bedroom typically has two users, but children or pets may also be on the mattress. Therefore, it's necessary to accurately determine the number of users during calculation. Furthermore, the influence of bedding items can be eliminated. That is, the users mentioned in this application are those who spend long periods on the mattress and require sleep report generation and mattress control.
[0062] It should be noted that the pressure distribution can be collected in real time by the sensor array built into the mattress, which can collect pressure distribution or zone pressure signals and can fuse micro-motion / body motion signals to enhance the robustness of the detection.
[0063] Cluster analysis or connected component analysis is performed on the pressure distribution data to identify the number of major pressure clumps on the bed surface. Combining the continuity of the time series data with body movement patterns, the number of people sharing the bed (e.g., 1 or 2 people) is ultimately determined. When a temporary third pressure clump is detected (e.g., a child or pet briefly on the bed), it can be filtered by setting thresholds for duration and area percentage to avoid misidentifying it as a regular bed-sharing user.
[0064] S12: Allocate the area occupied on the mattress for each user and the corresponding execution device under the mattress;
[0065] In related technologies, the area is simply divided into a left half and a right half, each corresponding to two users. However, there may be cases where the area occupied by a user is not divided in half. Therefore, after determining the number of users, the area occupied by each user on the mattress can be determined according to the number of users. Each area can be matched with a corresponding execution device based on the physical location to meet the user's needs.
[0066] The bed surface is logically or physically divided into multiple zones (e.g., left and right zones, or more granular zones for head and shoulders, lower back, hips and legs, etc.). Based on the center location and boundaries of the pressure clusters, the occupied area for each user is determined and mapped to one or more physical / logical zones (ZoneSet).
[0067] To avoid boundary jitter caused by minor disturbances, time-series smoothing filters can be applied to the region center and boundaries to make the changes in ZoneSet lag behind, thereby improving system stability.
[0068] S13: Determine the sleep information of users in each occupied area and generate a sleep report. The sleep information includes at least one of respiratory rate, heart rate and number of times the user turns over.
[0069] The system determines a user's sleep information based on the user's location, ensuring no interference between different regions. Multiple sleep reports can be linked to a unique user, reducing interference between users and preventing inaccurate sleep report results.
[0070] S14: Upon receiving a control command from any user, the execution device corresponding to the user's occupied area performs the operation corresponding to the control command on the user's occupied area. The operation includes at least one of heating, massage, hardness adjustment, and height adjustment.
[0071] Similarly, each user has a corresponding area and execution device. Each user's command will only control the corresponding execution device. The operations between users will not affect each other, which improves the mattress's responsiveness to user commands.
[0072] Furthermore, if there are conflicts in the needs of different users, certain logical algorithms can be used to balance them, such as proceeding sequentially according to time or implementing a balanced approach.
[0073] This application provides a mattress control method, relating to the field of human body recognition technology. The method includes determining the number of users on the mattress based on the mattress's pressure distribution; dividing the mattress into occupancy areas for each user and corresponding execution devices under the mattress; determining the sleep information of users within each occupancy area and generating a sleep report; and upon receiving a control command from any user, controlling the execution device corresponding to that user's occupancy area to perform the operation corresponding to the control command on that user's occupancy area. Dividing the mattress into corresponding areas for each user and generating sleep reports based solely on sleep information within the occupancy areas results in more accurate reports. Furthermore, operations are performed only on the user's occupancy area, avoiding disruption to other users on the mattress and improving the user experience.
[0074] Based on the above embodiments:
[0075] Figure 2 A flowchart of another mattress control method provided by the present invention;
[0076] This application is implemented in the following steps:
[0077] Step 1: Start / Same Bed Monitoring: This process is initiated when the system is powered on or when it detects activity on the bed.
[0078] Step 2: Acquire mattress pressure / micro-motion signals: Continuously acquire raw data from the sensors and perform preprocessing.
[0079] Step 3: Estimate the number of people sharing a bed and their respective occupied areas: Analyze the signal to identify the number of individuals on the bed and the set of areas they occupy. Specific methods include:
[0080] (1) Mark the connected regions on the pressure distribution map and calculate the area and center point of each connected region.
[0081] (2) Combine micro-motion signals to determine whether the area is active (there are people).
[0082] (3) Output the number of people N(0,1,2) at the current time and the ZoneSet corresponding to each person.
[0083] Step 4: Generate the identity attribution confidence score for each user: Associate the ZoneSet obtained in Step S3 with the known user identities. Specifically, this includes:
[0084] (1) If the system is in the initialization phase, a temporary identity is established based on the default left and right affiliations.
[0085] (2) If there is already a user profile, match the current ZoneSet’s stress pattern, turnaround mode, etc. with the profile database and output the confidence level of each ZoneSet belonging to user A or user B.
[0086] (3) When the confidence level is below the threshold (e.g., <0.6), the time period is marked as "uncertain segment".
[0087] Step 5: Establish or update user-partition binding mapping: Update the core mapping table based on the confidence results from Step 4. A debouncing strategy is used during the update.
[0088] (1) If the confidence level is high enough and the ZoneSet is stable, then update directly.
[0089] (2) If the ZoneSet changes briefly, start the timer and update it only after the new state lasts for T seconds.
[0090] (3) If the confidence level is ambiguous, the original mapping is maintained and the current data is marked as uncertain.
[0091] Step 6: Based on the binding mapping, assign data and generate reports by user: Assign the data collected in Step 2 (after processing) to the corresponding user according to the current binding mapping, and store it in the database for subsequent report generation.
[0092] Step 7: Based on the binding mapping, route control commands to the domain: When there is a control request, query the current binding mapping and forward the command only to the executor bound to the target user.
[0093] Step 8: Monitor whether a reassessment is triggered: Continuously monitor two triggering conditions:
[0094] (1) Confidence decreases: Due to reasons such as the user turning over or moving closer to the center line, the confidence of the output in step 4 decreases significantly.
[0095] (2) User location change: The ZoneSet output in step 3 changes beyond the threshold.
[0096] If any condition is detected, return to step 3 to re-estimate the population and re-divide the areas to form a closed loop; otherwise, continue monitoring.
[0097] Figure 3 A flowchart for user detection and region division provided by the present invention;
[0098] In some embodiments, determining the number of users on the mattress based on the mattress pressure distribution includes:
[0099] Cluster analysis was performed on the pressure distribution signals collected by various pressure sensors on the mattress to identify individual pressure clusters on the mattress surface.
[0100] The vibrations are collected by the piezoelectric film and accelerometer of the mattress and are caused by the user's breathing, heartbeat and turning over.
[0101] The vibration is used to determine whether a user exists corresponding to each pressure cluster.
[0102] If the duration of the pressure mass is less than a first preset time threshold, and / or the ratio of the area of the pressure mass to the total area of the mattress is less than a first preset area threshold, then the pressure mass is identified as an interference object.
[0103] The number of users on the mattress is updated based on the number of pressure clumps of existing users after removing the identified interference objects.
[0104] The system collects physical signals from the mattress in real time, acquiring pressure values at various points on the surface through a pressure sensor array to identify pressure clumps, body contours, and center of gravity positions. It also captures subtle vibrations caused by breathing, heartbeat, and turning over using sensors such as piezoelectric films and accelerometers to aid in occupant estimation and activity recognition. The raw signals undergo filtering, noise reduction, and normalization to provide a clean and reliable data stream for subsequent modules.
[0105] Based on factors such as the number of pressure clusters, connected component analysis, and temporal continuity, the system estimates the number of people sharing a bed (0, 1, or 2 people) in real time and filters out short-term disturbances (such as pets). It determines the occupied area for each user based on pressure distribution and maps it to predefined mattress zones (such as left, right, and head-shoulder zones), forming a ZoneSet. Combining initial left-right binding and user profile matching (such as pressure patterns and turning rhythms), it outputs an identity attribution confidence score for each user (e.g., user A occupies the left zone with a 95% confidence score). When the confidence score is below a threshold, the time period is marked as an uncertain segment.
[0106] In the common scenario of a double bed, the initialization phase defaults to using "left side / right side" as the user's temporary identity identifier, which is then bound to the user account (User A / User B). The user can confirm "I am on the left / right side" through the app, and the system records the initial binding relationship accordingly.
[0107] It can extract long-term stable features of users to construct user profiles / fingerprints, such as: pressure distribution patterns determined by body shape, common sleeping posture preferences, turning rhythm, and micro-motion signal spectrum characteristics. When running at night, it matches the real-time extracted features with historical profiles to output a confidence score for identity attribution.
[0108] When a user's location changes (such as moving closer to the center line or briefly crossing regions) and the left and right boundaries become blurred, the profile matching mechanism can maintain the continuity of identity and effectively avoid the error of attribution when left and right are swapped.
[0109] When the confidence level of identity attribution falls below a preset threshold, the system initiates a degradation process:
[0110] (1) Data attribution module: Marks the data of the corresponding time period as uncertain fragments or shared fragments, and does not forcibly assign it to a specific user.
[0111] (2) Control routing module: Restrict control actions that may cause strong sensations, such as allowing only low-intensity instructions or delaying execution until the identity is re-identified, to avoid causing false interference to other users.
[0112] In some embodiments, a designated area on the mattress and a corresponding execution device under the mattress are defined for each user, including:
[0113] The mattress surface is pre-divided into multiple physical zones;
[0114] For each identified stress cluster with a user, determine at least one partition covered by each stress cluster based on the center location and boundary range of each stress cluster, and use the set of covered partitions as the occupied area of the user.
[0115] Based on the preset execution device mapping relationship, determine the execution device corresponding to the occupied area of each user.
[0116] This module establishes and dynamically maintains the mapping relationship between users and physical / logical partitions. It maintains a core mapping table; for example, user A corresponds to ZoneSet_A (e.g., partitions 1, 2, 3), and user B corresponds to ZoneSet_B (e.g., partitions 4, 5, 6). When a user moves, causing a change in ZoneSet, this module decides whether to update the mapping table based on preset strategies (e.g., anti-jitter, smooth transition) and notifies the control routing module and data attribution module of the update event.
[0117] Figure 4 A flowchart for user identity binding provided by the present invention;
[0118] In some embodiments, after allocating the occupancy area on the mattress and the corresponding execution device under the mattress for each user, the method further includes:
[0119] Obtain each user's identity information and generate a mapping relationship between each user and the corresponding occupied area;
[0120] When a change in the occupied area of any user is detected, it is determined whether the change in the occupied area meets the preset stability judgment criteria. The stability judgment criteria include that the centroid fluctuation variance of the new occupied area is less than the first threshold, the number of partition changes of the new occupied area is less than the second threshold, and the user's identity attribution confidence is greater than the third threshold.
[0121] If the conditions are met, update the mapping relationship; otherwise, maintain the existing mapping relationship.
[0122] To achieve consistency and robustness in the scenario of multiple users sharing a bed, including "data segmentation, domain control, and stable updates of binding", this module preferably adopts a state machine-based binding management mechanism and maintains the binding relationship through a unified data structure.
[0123] Real-time data from the identity differentiation module includes: ZoneSet, the set of occupied areas for each user; the corresponding identity attribution confidence (e.g., Confidence_A, Confidence_B); dynamic features of the area, such as centroid displacement and area overlap rate (IoU); and bed surface event detection results, such as the end of a turning-over event and events of leaving / returning to bed.
[0124] The BindTable, a binding mapping table for the user-partition-actuator channel, corresponds to the BindVersion, a version number associated with the current binding state. This ensures consistency between control and data ownership. Binding update events include information on the old and new bindings and transition parameters.
[0125] BindTable records the following key fields for each user:
[0126] UserID: User identifier (e.g., User A / User B);
[0127] ZoneSet: The set of currently bound bed surface zones;
[0128] ChannelSet: The set of executor channels obtained by mapping from ZoneSet;
[0129] Confidence: The level of trust in the current binding;
[0130] StateFlag: Binds a state flag, preferably including:
[0131] CONFIRMED: Stable binding state;
[0132] TRANSITION: Transitional state, indicating that the binding relationship is being evaluated or changed;
[0133] UNCERTAIN: Uncertain state, corresponding to a time segment where identity and attribution are uncertain;
[0134] VACANT: Away from bed, indicating that the user is temporarily away.
[0135] When a user is detected turning over in a different zone or moving closer to the midline, causing a significant change in ZoneSet or confidence level, the status switches from CONFIRMED to TRANSITION. In TRANSITION, if the candidate ZoneSet remains stable within a preset observation window and the confidence level rises above the threshold, the BindTable is updated, and the status returns to CONFIRMED. If, in TRANSITION, the confidence level remains below the threshold or the candidate region is unstable, the status switches to UNCERTAIN, triggering corresponding data and control degradation strategies. When a user is detected to have been out of bed for more than a set time, the status enters VACANT; upon returning to bed and successful re-identification, the status returns to CONFIRMED.
[0136] This state machine mechanism effectively avoids frequent oscillations in the binding relationship caused by short-term micro-movements by the user, ensuring the continuity of system control and the stability of data statistics.
[0137] Figure 5 A flowchart of a partition mapping method provided by the present invention;
[0138] To finely control the timing of binding updates and avoid accidental triggering, this module adopts a "trigger-observation-decision" debouncing strategy.
[0139] Triggering conditions (meeting any one of the following conditions will initiate the candidate update evaluation):
[0140] a) Reduced region overlap: The intersection-union ratio (IoU) of the new and old ZoneSets is lower than the first threshold (e.g., IoU < 0.6).
[0141] b) Regional centroid displacement: The centroid displacement of the user-occupied area exceeds the second threshold (e.g., Δcenter>10cm).
[0142] c) Decreased confidence in attribution: The highest confidence in attribution is lower than the third threshold (e.g., max(Confidence) < 0.7), or the confidence of two users overlaps or becomes ambiguous.
[0143] d) Event-driven: Detecting "end of rolling over event" or "cessation of body movement" indicates that the user has reached a new stable posture.
[0144] In some embodiments, determining whether the change in the occupied area satisfies a preset stability criterion includes:
[0145] When a change in a user's occupied area is detected, the stability of the user's latest occupied area is determined within a first preset time.
[0146] If stability is satisfied within the first preset time period, then update the mapping relationship;
[0147] If stability is not satisfied within the first preset time period, the original mapping relationship is maintained.
[0148] After an update is triggered, the system enters the TRANSITION state and starts an observation timer (e.g., T_hold = 5 seconds). During the observation period, the system continuously evaluates the stability of candidate bindings. Stability criteria may include:
[0149] a) The centroid fluctuation variance of the candidate ZoneSet is less than the fourth threshold (Var(center) < ε);
[0150] b) The number of changes in the constituent partitions of the candidate ZoneSet is less than the fifth threshold (e.g., the number of changes is <2 times).
[0151] c) The confidence level of identity attribution rebounds and stabilizes above the sixth threshold (e.g., Confidence ≥ 0.85).
[0152] The system only updates the BindTable after a candidate bind consistently meets all stability criteria within the observation window. Any failure to meet the criteria will result in the observation window being reset or the bind update being canceled, thus effectively suppressing bind jumps caused by transient, unstable states during the transition process.
[0153] In some embodiments, updating the mapping relationship includes:
[0154] Determine the first occupied area before the user's update and the second occupied area after the update;
[0155] Within a preset transition time, the output value of the control output to the execution device corresponding to the first occupied area decreases, and the output value of the control output to the execution device corresponding to the second occupied area increases;
[0156] The process of descending or ascending can be achieved by superimposing or simultaneously using ramp functions, S-curves, and weighting functions.
[0157] To improve the user experience when switching bindings and avoid "hard switching" of control effects, the system preferentially executes a smooth migration strategy when migrating bindings from ZoneSet_old to ZoneSet_new. Specific implementation methods include, but are not limited to:
[0158] Gradual control: Within the preset transition time T_trans, the control quantities such as heating power and massage intensity are controlled by a ramp using linear or S-shaped curves, so that they smoothly transition from the output value of the old channel to the target value of the new channel.
[0159] Gradual weighting of regions: During the transition period, the control effect is achieved by superimposing the old and new regions according to the dynamic weighting coefficient α(t). α(t) increases linearly from 0 to 1, causing the control focus to gradually shift from the old region to the new region.
[0160] Dual-zone parallel transition: During the transition period, control units in both the old and new zones are allowed to operate simultaneously, but the total output power is limited. The system gradually reduces the output proportion of the old zone while increasing the output proportion of the new zone, achieving a seamless handover.
[0161] The binding and maintenance process is as follows:
[0162] Periodic evaluation: The system obtains the latest ZoneSet and home probability at fixed intervals (e.g., 1 second).
[0163] Change detection: Calculate the overlap ratio (IoU) and centroid displacement (Δcenter) between the current ZoneSet and the bound ZoneSet_old.
[0164] Trigger judgment: If IoU < 0.5 or Δcenter > 15cm or max(pA, pB) < 0.7, it is determined that the user's position has changed, triggering the candidate update process.
[0165] Entering Transition and Observation: The system sets the state to TRANSITION, records the candidate ZoneSet_new, and starts a 5-second observation timer.
[0166] Stability verification: Continuously monitor the stability of ZoneSet_new during a 5-second observation period. The centroid fluctuation should be less than 2cm, the partition composition should remain unchanged, and the confidence level should eventually stabilize above 0.9.
[0167] Update or Timeout: If all stability conditions are met during the observation period, the BindTable is officially updated at the end of the observation period, and the state switches back to CONFIRMED. If the conditions are violated or the timer times out during the observation period, the update is canceled, and the state returns to CONFIRMED (maintaining the original binding) or enters the UNCERTAIN state.
[0168] Suppose user A switches their bound zone from the three left-hand zones (ZoneSet_old) to the two left-hand zones (ZoneSet_new) and activates the heating function. After confirming the switch, the system performs a smooth 10-second transition: for the first 5 seconds, the heating power of the original three zones is gradually reduced, while the power of the two new zones is gradually increased; for the next 5 seconds, the power of the original three zones that no longer belong to the new zone is reduced to 0, and finally, the heat is completely concentrated on the two newly bound zones. Throughout the entire process, the user hardly notices the sudden change in heating location.
[0169] When a change in a user's ZoneSet is detected, the system does not immediately switch the binding relationship. Instead, it introduces a debouncing mechanism, performing the update only when one of the following conditions is met:
[0170] When the new ZoneSet consistently exceeds the preset observation time, the updated identity attribution confidence is significantly higher than the threshold, or a clear rollover event is detected, the user's body movements tend to stabilize.
[0171] This strategy can effectively avoid frequent changes in binding relationships and control commands caused by users' momentary cross-zone behavior during brief leg stretching or turning over.
[0172] When a control command is received from an App, a preset plan, or an automatic policy, the control routing module performs domain restriction processing on the command based on the current binding mapping:
[0173] Commands are only sent to executors within the ZoneSet currently bound to the target user.
[0174] For executors on unbound partitions, execution is refused or their current state is maintained.
[0175] During the transition of user-occupied zones across zones, a gradual migration strategy can be implemented, such as gradually transferring control intensity or zone from the old ZoneSet to the new ZoneSet, to avoid an abrupt switch.
[0176] Figure 6A flowchart for report generation provided by the present invention;
[0177] In some embodiments, sleep information of users within each occupied area is determined, and a sleep report is generated, including:
[0178] When the mattress includes both the first user and the second user, the collected sleep information is divided into continuous time windows. Each time window corresponds to a set of attribution probabilities, which include the probability that the data in the time window belongs to the first user, the probability that it belongs to the second user, and the probability that it belongs to an uncertain user.
[0179] Determine the assignment probability for each time window. If the highest assignment probability is greater than or equal to the first probability threshold, then assign all data within the time window to the user corresponding to the highest assignment probability.
[0180] If the highest probability of attribution is less than the first probability threshold but greater than or equal to the second probability threshold, then the data within the time window will be weighted according to the probability of attribution and allocated to the first user and the second user.
[0181] If the highest probability of attribution is less than the second probability threshold, the data within the time window will be marked as an uncertain segment and will not be assigned to any user.
[0182] Based on the categorized data, a sleep report is generated for each user.
[0183] The collected physiological and behavioral data (such as respiratory rate, body movement count, and sleep position distribution) are allocated to the corresponding user's personal record according to the confidence level of identity attribution. For uncertain segments, the data is marked as shared or excluded from personal statistics. Finally, two independent personal sleep reports are generated, and a comprehensive report on bed-sharing can also be output.
[0184] To achieve accurate and reliable individual data statistics, this module adopts a weight allocation rule based on time windows.
[0185] The system divides the continuous data stream into continuous time windows W (e.g., one window every 30 seconds). For each window, the identity differentiation module outputs a set of attribution probabilities, such as pA (probability of attribution to user A), pB (probability of attribution to user B), and may include pU (probability of uncertain attribution), satisfying pA+pB+pU=1.
[0186] Ownership rules:
[0187] a) High confidence assignment: If max(pA, pB) ≥ high threshold (e.g., θ_high=0.9), then all data in this window will be assigned to the user with the highest probability.
[0188] b) Weighted Assignment: If the lower threshold ≤ max(pA, pB) < the higher threshold (e.g., 0.6 ≤ max(pA, pB) < 0.9), then the data is weighted according to probability. For example, count-type events such as the number of times a person turns over are counted as countA += pA and countB += pB; continuous quantities such as respiratory rate are weighted and averaged according to their weights.
[0189] c) Uncertain Segment Marking: If max(pA, pB) < low threshold or pU > uncertain threshold, the entire window is marked as an "uncertain segment" or "shared period". Data from this period is not used to generate key indicators in individual reports, but is only highlighted as a shared section in the comprehensive report.
[0190] Distinguishing between event-based data and continuous data:
[0191] (1) Event-type data (such as turning over, getting out of bed, snoring events): The attribution depends on the probability of attribution at time t0 of the event. If the attribution at time t0 is of high confidence, the event is assigned to the corresponding individual; if time t0 is in an "uncertain fragment", the event is marked as a "shared event" and indicated in the report.
[0192] (2) Continuous data (such as respiratory rate and heart rate): Statistics are performed strictly according to the windowed weighting rules to generate independent overnight change curves and statistical values (mean, median, variability, etc.) for users A and B. Continuous data within the "uncertain segment" are removed or displayed with special markers when generating individual curves.
[0193] To ensure that the logic of data attribution is completely consistent with the logic of control domain at the same time, this module shares the same set of binding mappings and its version number BindVersion with the control routing module.
[0194] (1) Whenever BindTable is updated, the system generates a new BindVersion.
[0195] (2) All raw data and system events collected will be accompanied by the current BindVersion when they are recorded.
[0196] (3) When generating sleep reports, the system backtracks based on timestamps and replays the attribution process according to the binding relationship defined by the BindVersion at that time. This fundamentally eliminates the problem of historical data attribution being disordered due to changes in binding relationships afterward, and ensures system-level consistency of "statistics are collected from whoever controls it".
[0197] The user interaction module, accessible via an app or web browser, allows users to bind their accounts, confirm their initial location, set preferences, and view personal sleep reports. This module also receives user feedback to help optimize the identity verification algorithm.
[0198] For data items such as sleep duration, number of body movements, sleep position distribution, respiratory / heart rate estimation, and event statistics, the system assigns the data proportionally or entirely to the personal records of user A or user B based on the confidence level of identity at each moment. For data segments with uncertain information, no forced assignment is made; they can be recorded separately as shared time periods or indicated in the final report.
[0199] The reporting module ultimately outputs two independent individual sleep reports and optionally provides an overall overview of the shared bed experience. For events occurring within the same time period, if the attribution confidence is high enough, they are included in their respective reports; otherwise, they are marked as shared events to ensure the authenticity and credibility of the reports.
[0200] The system assigns data in 1-minute time windows. Within a given 1-minute window, the assignment probability is pA=0.8 and pB=0.2. Two body movements occurring within that minute will be recorded as "User A moved 1.6 times, User B moved 0.4 times". If the average respiratory rate is 16 breaths / min, then User A contributes 12.8 breaths / min, and User B contributes 3.2 breaths / min. Finally, in the report, User A's overnight average respiratory rate will be calculated by dividing the weighted sum of contributions from all windows by the total effective time.
[0201] Users sleep on their left side (version V1), middle side (version V2), and right side (version V3) at different times during the night. When generating the report, the system uses the timestamp of each data point to find the corresponding version (V1, V2, or V3) and then assigns the data point to the user under that version. In this way, even if the user's location changes multiple times during the night, the final personal report can accurately reflect the user's real sleep data at different times and locations, ensuring the continuity and accuracy of the report.
[0202] In some embodiments, upon receiving a control command sent by any user, the execution device corresponding to the user's occupied area performs the operation corresponding to the control command on the user's occupied area, including:
[0203] The target user is determined based on the control instructions;
[0204] Determine the target user's occupied area and the corresponding execution device;
[0205] Send control commands to the execution device corresponding to the target user's occupied area;
[0206] When multiple control commands are received simultaneously from multiple users, it is determined whether there is a resource conflict between the two control commands. Resource conflicts include channel conflicts that indicate that the executing devices have an overlap and power conflicts that indicate that the total power requested by the users exceeds the power limit.
[0207] If resource conflicts exist, the two control commands will be arbitrated according to the pre-set priority, time slice rotation, or power allocation according to weight.
[0208] The actuators include all independently controllable actuators on the mattress / bed frame, such as:
[0209] (1) Heating unit: zoned heating wire.
[0210] (2) Massage unit: zoned vibration motor.
[0211] (3) Support adjustment unit: airbag or motor, used to adjust the softness and hardness.
[0212] (4) Bed frame movement unit: lifting the head, legs, etc.
[0213] Each actuator is associated with one or more mattress partitions and can be addressed independently.
[0214] Receive control commands (such as "turn on left-side heating") from upper-layer applications (e.g., App, scheduled tasks, automatic policies), and parse and forward them according to the currently bound mapping:
[0215] (1) Instruction restriction: The instructions of the target user (such as user A) are forwarded only to the executor channel corresponding to the ZoneSet currently bound to the user.
[0216] (2) Mutual exclusion handling: When two users' instructions conflict (for example, they simultaneously request to use the same non-shareable executor), arbitration is carried out according to preset rules (such as priority, time slice).
[0217] (3) Transition control: During the binding mapping switch, a gradual migration strategy (such as gradually transferring heating power) is implemented to avoid abrupt switching.
[0218] Receive control requests from the application layer (such as App, scheduled task) and parse them into standardized instructions, such as Cmd=(TargetUser,FunctionType,Intensity,Duration).
[0219] Based on TargetUser, query the latest BindTable in real time to obtain the ZoneSet, ChannelSet and corresponding BindVersion bound to the user.
[0220] Convert the logical ZoneSet into a physically addressable set of actuator channels, ChannelSet.
[0221] Control commands are issued to the channels specified by the ChannelSet, and all channels outside the binding area are either denied execution or maintain their original state, thus eliminating control crosstalk at the source. Simultaneously, this control event is recorded along with the BindVersion to ensure consistency with the "control-report" of the data ownership module.
[0222] When two people simultaneously initiate control requests and the requested resources (such as physical channels and total power) conflict, the control routing module initiates a conflict detection and arbitration mechanism.
[0223] Conflict detection: A conflict is identified when any of the following conditions are met:
[0224] a) Channel conflict: Two users' ChannelSets overlap, meaning they are requesting control of the same physical executor.
[0225] b) Power conflict: The total power requested by two users exceeds the maximum supply capacity P_max of the system power supply or driver.
[0226] Arbitration strategies (one or a combination can be selected based on the product definition):
[0227] a) Priority-based strategy: Allocate resources according to the user's preset priority (e.g., parent priority) or the order of requests (first come, first served).
[0228] b) Time-slice-based strategy: For indivisible resources (such as bed frame lifting motors), a time-slice rotation method is used to quickly switch between the needs of two users, creating the illusion of "simultaneous" work.
[0229] c) Power allocation-based strategy: For power-constrained scenarios, the power limit is dynamically allocated according to the user demand ratio or preset weight to ensure that the basic functions of both parties are available.
[0230] Arbitration Records: All arbitration processes and results are recorded in the system log and can optionally be fed back to the user's app, improving the system's transparency and explainability.
[0231] When the BindTable's StateFlag is UNCERTAIN, or the identity attribution confidence is below a preset threshold, to prevent erroneous commands from interfering with the other party, the control routing module executes the following degradation strategy:
[0232] (1) Strong perception function restriction: For control commands that may produce obvious physical sensations to another user, such as massage, head and leg lifting, and drastic changes in support force, the execution will be delayed or directly rejected, and the user will be prompted that the current state is uncertain.
[0233] (2) Weak sensing function limit: Functions with relatively mild impact, such as heating, are allowed to be executed but limited (e.g., only allow output of less than 50% power), or simply maintain the current state without executing new adjustment commands.
[0234] (3) Revert to a safe strategy: When the identity cannot be determined at all, the system can automatically revert to the global safe mode, such as keeping the entire bed at a constant temperature and stopping all local adjustment actions until the system re-establishes a stable binding relationship.
[0235] Figure 7 This is a schematic diagram of a mattress control device provided by the present invention. The mattress control device includes:
[0236] Memory 21 is used to store computer programs;
[0237] The processor 22 is used to implement the steps of the above-described mattress control method when executing a computer program.
[0238] The description of the mattress control device provided in this application is similar to that in the above embodiments and will not be repeated here.
[0239] This application also provides a mattress, including the above-mentioned mattress control device, and further including the mattress body and an actuator disposed in the mattress, the actuator being used to perform at least one of the following operations: heating, massage, firmness adjustment and height adjustment.
[0240] The description of the mattress provided in this application is similar to that in the above embodiments and will not be repeated here.
[0241] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0242] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0243] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for controlling a mattress, characterized in that, include: The number of users on the mattress is determined based on the pressure distribution of the mattress. Allocate the area on the mattress for each user and the corresponding execution device under the mattress; Determine the sleep information of users in each occupied area and generate a sleep report, wherein the sleep information includes at least one of respiratory rate, heart rate and number of times to turn over; Upon receiving a control command from any user, the execution device corresponding to the user's occupied area performs the operation corresponding to the control command on the user's occupied area. The operation includes at least one of heating, massage, hardness adjustment, and height adjustment.
2. The mattress control method as described in claim 1, characterized in that, The number of users on the mattress is determined based on the pressure distribution of the mattress, including Cluster analysis was performed on the pressure distribution signals collected by various pressure sensors on the mattress to identify individual pressure clusters on the mattress surface. Vibrations are collected from the piezoelectric film or accelerometer of the mattress, and these vibrations are caused by the user's breathing, heartbeat, and turning over. Based on the vibration, determine whether each pressure cluster corresponds to a user; If the duration of the pressure mass is less than a first preset time threshold, and / or the ratio of the area of the pressure mass to the total area of the mattress is less than a first preset area threshold, then the pressure mass is identified as an interference object. The number of users on the mattress is updated based on the number of pressure clumps of existing users after removing the identified interference objects.
3. The mattress control method as described in claim 2, characterized in that, Each user is assigned an area on the mattress and a corresponding actuator underneath, including: The mattress surface is pre-divided into multiple physical zones; For each identified stress block containing a user, at least one partition covered by each stress block is determined based on the center location and boundary range of each stress block, and the set of covered partitions is taken as the occupied area of the user. Based on the preset execution device mapping relationship, determine the execution device corresponding to the occupied area of each user.
4. The mattress control method according to any one of claims 1 to 3, characterized in that, After allocating the area on the mattress for each user and the corresponding actuators under the mattress, it also includes: Obtain each user's identity information and generate a mapping relationship between each user and the corresponding occupied area; When a change in the occupied area of any user is detected, it is determined whether the change in the occupied area meets the preset stability judgment criteria. The stability judgment criteria include that the centroid fluctuation variance of the new occupied area is less than a first threshold, the number of partition changes of the new occupied area is less than a second threshold, and the user's identity attribution confidence is greater than a third threshold. If the conditions are met, the mapping relationship is updated; otherwise, the original mapping relationship is maintained.
5. The mattress control method as described in claim 4, characterized in that, Determining whether the change in the occupied area satisfies a preset stability criterion includes: When a change in a user's occupied area is detected, the stability of the user's latest occupied area is determined within a first preset time period; If the stability is satisfied within the first preset time period, then the mapping relationship is updated; If the stability is not satisfied within the first preset time period, the original mapping relationship is maintained.
6. The mattress control method as described in claim 5, characterized in that, Updating the mapping relationship includes: Determine the first occupied area before the user update and the second occupied area after the update; During a preset transition time, the output value of the control output to the execution device corresponding to the first occupied area decreases, and the output value of the control output to the execution device corresponding to the second occupied area increases; The process of descending or ascending is achieved by superimposing or simultaneously using ramp functions, S-curves, and weighting functions.
7. The mattress control method as described in claim 4, characterized in that, Determine the sleep information of users in each occupied area and generate a sleep report, including: When the mattress includes a first user and a second user, the collected sleep information is divided into continuous time windows. Each time window corresponds to a set of attribution probabilities. The attribution probabilities include the probability that the data in the time window belongs to the first user, the probability that it belongs to the second user, and the probability that it belongs to an uncertain user. Determine the attribution probability for each time window. If the highest attribution probability is greater than or equal to the first probability threshold, then all data within the time window will be attributed to the user corresponding to the highest attribution probability. If the highest probability of attribution is less than the first probability threshold but greater than or equal to the second probability threshold, then the data within the time window will be weighted according to the probability of attribution and allocated to the first user and the second user. If the highest probability of attribution is less than the second probability threshold, the data within the time window will be marked as an uncertain fragment and will not be assigned to any user. Based on the categorized data, a sleep report is generated for each user.
8. The mattress control method as described in claim 4, characterized in that, Upon receiving a control command from any user, the execution device corresponding to the user's occupied area is controlled to perform the operation corresponding to the control command on the user's occupied area, including: The target user is determined according to the control instructions; Determine the occupied area of the target user and the corresponding execution device; The control command is sent to the execution device corresponding to the occupied area of the target user; When multiple control commands are received simultaneously from multiple users, it is determined whether there is a resource conflict between the two control commands. The resource conflict includes channel conflict indicating that the execution devices have an overlap and power conflict indicating that the total power requested by the users exceeds the power limit. If resource conflicts exist, the two control commands will be arbitrated according to the pre-set priority, time slice rotation, or power allocation according to weight.
9. A control device for a mattress, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the steps of the mattress control method as described in any one of claims 1 to 8.
10. A mattress, characterized in that, The mattress control device as described in claim 9 further includes a mattress body and an actuator disposed therein, the actuator being used to perform at least one of the following operations: heating, massage, firmness adjustment, and height adjustment.