A multi-mode massage vibration closed-loop adaptive control system

CN122297284APending Publication Date: 2026-06-30SHENZHEN KANJIE ARTIFICIAL INTELLIGENCE TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN KANJIE ARTIFICIAL INTELLIGENCE TECHNOLOGY CO LTD
Filing Date
2026-04-27
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing multi-mode massage vibration devices fail to effectively identify the actual vibration response state at the moment of mode switching, resulting in discontinuous rhythm connection, abrupt changes in vibration intensity, increased local impact, and abnormal sound and vibration changes, which affect the smoothness of the body sensation and the stability of the mechanism operation.

Method used

The residual vibration state of the current operating mode is obtained through the mode determination module, situation determination module, window matching module, and trajectory generation module. The target mode access window and initial driving parameters are matched to generate a transition trajectory that meets the continuous constraints of vibration period position and intensity change. Closed-loop update control is then performed to ensure the continuity and stability of mode switching.

Benefits of technology

It improves the continuity and stability of mode switching, reduces rhythm breaks, switching shocks and abnormal sound and vibration changes, and enhances the user's sense of smoothness and the operational stability of the execution components.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122297284A_ABST
    Figure CN122297284A_ABST
Patent Text Reader

Abstract

This application relates to the field of massage equipment control technology and discloses a multi-mode massage vibration closed-loop adaptive control system, including a mode determination module, a situation determination module, a window matching module, a trajectory generation module, and a closed-loop takeover module. First, the current operating mode and the target switching mode are determined. Then, based on the actual vibration response information, the current residual vibration situation is determined, and the target mode access window and target initial drive parameters are matched. Subsequently, a mode switching transition trajectory is generated. During the transition execution process, the transition trajectory segments that have not yet been executed are updated based on the actual vibration response information until the stable takeover conditions are met, at which point the system switches to the target mode for continuous output. This system can reduce rhythmic breaks, switching shocks, and abnormal acoustic and vibration changes during mode switching, improving switching continuity, tactile smoothness, and operational stability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of massage equipment control technology, and more specifically, to a multi-mode massage vibration closed-loop adaptive control system. Background Technology

[0002] Existing multi-mode massage vibration devices typically control the massage vibration actuator to output different vibration effects under different driving parameters, thereby forming different massage modes such as soothing, pulse, tapping, and cycling. In actual control, different massage modes generally correspond to different vibration frequencies, vibration intensities, rhythm cycles, and driving duty cycle changes. When the user issues a mode switching command, the control system usually directly calls the driving parameters corresponding to the target mode, or transitions the current driving parameters to the target driving parameters according to fixed rules within a preset time to achieve mode switching.

[0003] However, the massage vibration actuator is usually not stationary when switching modes, but is still in the actual vibration output process corresponding to the previous operating mode. At this time, not only is there an unfinished vibration cycle, but the actual output state at the moment of switching is also affected by the current vibration cycle position, the trend of vibration intensity change, and the change of contact load. If the control system only performs mode switching based on the preset mode parameters without identifying the actual vibration response state at the moment of switching, a mismatch may easily occur between the current actual output endpoint and the internal rhythm access position of the target mode, which may lead to discontinuous rhythm connection, abrupt changes in vibration intensity, increased local impact, and abnormal sound and vibration changes during the mode switching process.

[0004] Furthermore, existing mode switching controls mostly focus on the substitution relationship between different mode parameters, or on the process of gradually transitioning from the current parameter to the target parameter. They rarely perform periodic identification and state extraction of the actual vibration response information at the moment of switching, rarely select the appropriate access position within the target mode based on the current actual vibration state, and rarely dynamically adjust the subsequent unexecuted transition control process based on the actual vibration response deviation during the transition execution. Therefore, when the user's body position changes, the contact pressure changes, or the response of the execution component fluctuates, even if the same target mode parameters are called, the lack of closed-loop adjustment oriented towards the actual output state during the switching process may still result in insufficient continuity of mode switching, affecting the smoothness of the user experience and the stability of the mechanism's operation.

[0005] Therefore, how to determine the rhythm access position that matches the target mode based on the actual vibration response state at the moment of switching when a multi-mode massage vibration device switches modes, and how to adjust the subsequent transition control in combination with the actual vibration response during the transition execution process, so as to reduce rhythm breakage, enhanced switching impact and abnormal acoustic and vibration changes, and improve the continuity and operational stability during the mode switching process, has become a technical problem to be solved in this field. Summary of the Invention

[0006] To overcome the aforementioned deficiencies of the prior art, this application discloses a multi-mode massage vibration closed-loop adaptive control system. This system determines the current operating mode and target switching mode of the massage vibration actuator; extracts residual vibration status from the actual vibration response information; performs access window matching and target initial drive parameter determination for the target switching mode; generates a transition trajectory during the mode switching process; and performs closed-loop updates and stable takeover control based on the actual vibration response information during the transition process. This forms a continuous transition control chain oriented towards the mode switching process, thereby reducing rhythmic breaks, enhanced switching shocks, and abnormal acoustic and vibration changes during mode switching, and improving the continuity of mode switching, the smoothness of the sensation, and the stability of operation. The technical solution is as follows: The mode determination module is used to determine the current operating mode and target switching mode of the massage vibration execution component; The situation determination module is used to acquire actual vibration response information in the current operating mode and determine the current residual vibration situation, which characterizes the vibration period position and vibration intensity change trend of the current output endpoint. The window matching module is used to call the target mode access template corresponding to the target switching mode, and determine the target access window and target initial drive parameters based on the matching relationship between the current residual vibration state and the target mode access template. The trajectory generation module is used to generate a mode switching transition trajectory that satisfies the continuous constraints of vibration period position and vibration intensity change, based on the current output endpoint, target access window and target initial driving parameters. The closed-loop takeover module is used to control the output vibration of the massage vibration actuator based on the mode switching transition trajectory, and to update the transition trajectory segments that have not yet been executed based on the actual vibration response information, until the stable takeover conditions corresponding to the target switching mode are met for multiple consecutive vibration cycles. Then, the module continuously controls the output vibration of the massage vibration actuator according to the target driving parameters corresponding to the target switching mode.

[0007] Compared with related technologies, this application has the following advantages: This application improves the continuity, smoothness and stability of the mode switching process by introducing current residual vibration state determination, target mode access window matching, mode switching transition trajectory generation and closed-loop update processing based on actual vibration response information during the mode switching process. This makes the mode switching control no longer rely solely on fixed parameter replacement or fixed gradual process, but executes access and transition control based on the actual output state at the moment of switching.

[0008] This application obtains actual vibration response information to determine the vibration cycle position and vibration intensity change trend of the current output endpoint, and forms the current residual vibration state, so that the actual output state at the moment of switching can be clearly characterized. Through this processing, the rhythm mismatch problem caused by directly switching to the target mode without identifying the residual vibration state of the previous mode can be avoided.

[0009] This application calls the target mode access template corresponding to the target switching mode and determines the target access window and target start drive parameters based on the matching relationship between the current residual vibration state and the target mode access template, so that the access position selection within the target mode is targeted. Through this processing, the discontinuity between the current actual output endpoint and the target mode rhythm start position can be reduced, thereby reducing the abruptness, impact and abnormal acoustic vibration changes during mode switching.

[0010] This application generates a mode switching transition trajectory that satisfies the continuous constraints of vibration period position and vibration intensity change based on the current output endpoint, target access window, and target initial drive parameters. This allows the frequency and intensity changes during mode switching to proceed along the continuous control trajectory. This process avoids abrupt changes in vibration intensity caused by simple parameter jumps or coarse gradual changes, which helps improve the smoothness of user experience and the stability of the execution components.

[0011] This application continuously collects actual vibration response information during the transition trajectory execution process, updates the transition trajectory segments that have not yet been executed based on the actual vibration response information, and after several consecutive vibration cycles meet the stable takeover conditions, it continuously controls the output vibration of the massage vibration execution component according to the target drive parameters corresponding to the target switching mode. Through this processing, the subsequent transition control can be corrected according to the actual response deviation, reducing the cumulative deviation caused by factors such as load changes and response fluctuations, and improving the takeover stability and overall machine operation consistency after mode switching. Attached Figure Description

[0012] Figure 1 A schematic diagram of a multi-mode massage vibration closed-loop adaptive control system provided in this application; Figure 2 Data processing flowchart for the pattern determination module provided in this application; Figure 3 The data processing flowchart for the situation determination module provided in this application. Detailed Implementation

[0013] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0014] Please see Figure 1 As shown, this embodiment provides a multi-mode massage vibration closed-loop adaptive control system, including a mode determination module, a situation determination module, a window matching module, a trajectory generation module, and a closed-loop takeover module. Each module is connected by wires and / or wirelessly to realize data transmission between modules.

[0015] In some embodiments, for the purpose of illustrating the application of this application, the multi-mode massage vibration closed-loop adaptive control system can be installed in vibration massage devices, personal care vibration devices, physiotherapy relaxation devices, rehabilitation auxiliary vibration devices, and other human contact vibration devices with multi-mode vibration output capabilities. Furthermore, the aforementioned devices can adopt handheld, fitted, wearable, seated, or partial contact structural forms. As long as the device is equipped with a massage vibration execution component for outputting vibration, and there is a need for rhythm switching, intensity switching, or frequency switching between different vibration modes, the mode switching control scheme disclosed in this application can be adopted. As an optional example, the aforementioned devices can also be vibration tools for local muscle relaxation, surface tissue stimulation, vibration relaxation of private parts, or other human contact scenarios.

[0016] The mode determination module is used to determine the current operating mode and target switching mode of the massage vibration execution component. Its purpose is to clarify the mode type currently being executed by the massage vibration execution component and the mode type to be switched into at the beginning of mode switching, so that the extraction range of subsequent actual vibration response information, the calling object of the target mode access template, and the endpoint of the mode switching transition trajectory are all based on clear criteria.

[0017] In some implementations, see Figure 2 As shown, the implementation steps include: Step S101: Receive mode switching trigger information; the mode switching trigger information is used to indicate that the current mode switching request has been generated; the mode switching trigger information includes at least switching initiation time information and target mode indication information; the switching initiation time information is represented by the current control cycle number or the current timestamp; the target mode indication information is represented by one of the target mode number, mode switching direction identifier, or mode rotation identifier; the control processing unit generates corresponding mode switching trigger information when it detects user input, program rotation command, or preset switching event.

[0018] Step S102: Read the current mode control record to determine the current operating mode. Specifically, the control processing unit reads the mode number corresponding to the switching initiation time information from the current mode control record based on the switching initiation time information. The current mode control record is used to characterize the control state that the massage vibration execution component is executing before the switching initiation, and includes at least the mode number, drive frequency, drive intensity, duty cycle control value, and the start execution time of the current mode. The control processing unit determines the read mode number as the current operating mode, and uses the drive frequency, drive intensity, and duty cycle control value corresponding to the current operating mode as auxiliary control basis for subsequent judgment of the current operating state.

[0019] Step S103: Determine the target switching mode based on the target mode indication information. Specifically, when the target mode indication information is a target mode number, the control processing unit directly determines the target mode number as the target switching mode.

[0020] When the target mode indication information is a mode switching direction identifier or a mode rotation identifier, the control processing unit calls the mode mapping table to determine the target switching mode. The mode mapping table is a pre-established mode correspondence table stored in the control storage area, used to characterize the switching correspondence between various massage modes supported by the device; the mode mapping table records at least the mode number, sequence number, preceding mode number, and following mode number corresponding to each massage mode.

[0021] The method for establishing the mode mapping table includes: reading all massage modes supported by the device; assigning sequence numbers to all massage modes according to the preset mode rotation order of the product; determining the preceding massage mode number of each massage mode in the mode rotation order as the preceding mode number corresponding to that massage mode, and determining the following massage mode number of each massage mode in the mode rotation order as the following mode number corresponding to that massage mode; when a massage mode is at the beginning of the mode rotation order, determining the last massage mode number in the mode rotation order as its preceding mode number; when a massage mode is at the end of the mode rotation order, determining the first massage mode number in the mode rotation order as its following mode number; the mode number, sequence number, preceding mode number, and following mode number corresponding to all massage modes together form the mode mapping table.

[0022] The control processing unit reads the mode number corresponding to the current operating mode. When the target mode indication information is a forward switching identifier, it searches for the preceding mode number corresponding to the mode number in the mode mapping table and determines the massage mode corresponding to the found preceding mode number as the target switching mode. When the target mode indication information is a backward switching identifier, it searches for the following mode number corresponding to the mode number in the mode mapping table and determines the massage mode corresponding to the found following mode number as the target switching mode. When the target mode indication information is a mode rotation identifier, it first reads the sequence number corresponding to the current operating mode in the mode mapping table, then advances the sequence number sequentially according to the rotation step size corresponding to the mode rotation identifier to obtain the rotation target sequence number, and searches for the massage mode corresponding to the rotation target sequence number in the mode mapping table and determines the found massage mode as the target switching mode. Through the above processing, the target switching mode is output for subsequent use by the target mode access template corresponding to the target switching mode.

[0023] Step S104: Perform mode validity determination. Specifically, the control processing unit reads the set of device supported modes, determines whether the current operating mode belongs to the set of device supported modes, determines whether the target switching mode belongs to the set of device supported modes, and determines whether the current operating mode and the target switching mode are the same. If the current operating mode does not belong to the set of device supported modes, or the target switching mode does not belong to the set of device supported modes, the current mode switching process is terminated. If the current operating mode and the target switching mode are the same, the current mode switching process will be terminated. If both the current operating mode and the target switching mode belong to the set of device supported modes and are different, proceed to the next step.

[0024] Step S105: Generate a mode switching start identifier, specifically, The control processing unit determines the control cycle number corresponding to the switching initiation time information as the mode switching start identifier; the mode switching start identifier is used as the endpoint reference position for the subsequent extraction of actual vibration response information analysis interval.

[0025] Through steps S101 to S105, the current operating mode, target switching mode, and mode switching start identifier are obtained; wherein, the current operating mode and mode switching start identifier are used as inputs to the window matching module, and the target switching mode is used as inputs to the trajectory generation module.

[0026] The situation determination module is used to acquire actual vibration response information in the current operating mode, determine the current residual vibration situation that characterizes the vibration cycle position and vibration intensity change trend of the current output endpoint. The purpose is to extract the residual vibration state that is still continuing in the current operating mode from the actual vibration output process before the mode switch begins, and to concretize the residual vibration state into the current output endpoint, vibration cycle position and vibration intensity change trend, thereby forming the current residual vibration situation, which can be directly called when determining the target access window and target initial drive parameters.

[0027] In some implementations, see Figure 3 As shown, the implementation steps for obtaining actual vibration response information and determining the current residual vibration state under the current operating mode include: Step S201: Collect actual vibration response information. Specifically, the control processing unit continuously collects the actual vibration response information of the massage vibration execution component within a preset analysis time before the mode switching start flag. The actual vibration response information is used to characterize the true output state of the massage vibration execution component in the current operating mode. The actual vibration response information can be provided by the acceleration response sequence output by the accelerometer, the displacement response sequence output by the displacement sensor, or the drive current response sequence output by the current sampling unit. In order to ensure that the subsequent vibration cycle identification can cover the complete vibration process, the preset analysis time is set according to the idea of ​​covering at least one complete vibration cycle in the current operating mode.

[0028] Step S202: Generate a switching analysis response sequence; the control processing unit uses the mode switching start marker as the endpoint reference position, extracts the response segment corresponding to the preset analysis duration from the actual vibration response information collected in step S201, and obtains the response sequence to be analyzed; then performs smoothing processing on the response sequence to be analyzed to generate a switching analysis response sequence.

[0029] The smoothing process is implemented using a sliding window averaging method. Specifically, for each sampling position in the response sequence to be analyzed, sampled values ​​within a preset window length before and after that sampling position are read, and the average of these sampled values ​​is calculated. The average result is then used as the smoothed response value corresponding to that sampling position. All smoothed response values ​​are arranged in chronological order to form a switching analysis response sequence. This sequence is used for subsequent identification of complete vibration cycles, determination of the current output endpoint, calculation of the vibration cycle position, and assessment of vibration intensity change trends.

[0030] Step S203: Identify the complete vibration cycle based on the switching analysis response sequence. Specifically, the control processing unit traverses each sampling point in the switching analysis response sequence in chronological order, comparing the response value of each sampling point with the response value of its predecessor and successor. When the response value of the current sampling point is greater than the response values ​​of the predecessor and successor, the current sampling point is determined as the peak point. The control processing unit determines the sampling interval between two adjacent peak points as a complete vibration cycle. Then, it selects the complete vibration cycle whose endpoint is closest to the mode switching start identifier from all complete vibration cycles as the target vibration cycle where the current output endpoint is located.

[0031] Step S204: Determine the current output endpoint. Specifically, the control processing unit first determines the sampling position corresponding to the mode switching start flag as the initial endpoint candidate position; then it determines whether the initial endpoint candidate position falls within the target vibration period identified in step S203.

[0032] When the initial endpoint candidate position falls within the target vibration cycle, the initial endpoint candidate position is determined as the current output endpoint; when the initial endpoint candidate position is after the target vibration cycle, the endpoint sampling position of the target vibration cycle is determined as the current output endpoint; thus ensuring that the current output endpoint is always within the complete vibration cycle and maintains a corresponding relationship with the start time of mode switching.

[0033] Step S205: Calculate the vibration cycle position. Specifically, the control processing unit reads the sampling position of the start of the cycle, the sampling position of the end of the cycle, and the sampling position of the current output end point of the target vibration cycle; divides the sampling interval between the current output end point and the start of the cycle by the sampling interval between the end of the cycle and the start of the cycle to obtain the relative position value of the current output end point within the target vibration cycle; and determines the relative position value as the vibration cycle position; thereby enabling the vibration cycle position to represent the position of the current output end point in the vibration cycle of the current operating mode in a unified relative position form.

[0034] Step S206: Determine the trend of vibration intensity change. Specifically, the control processing unit intercepts the response amplitude sequence within the preset trend analysis interval before the current output endpoint, and performs differential processing on the response values ​​of two adjacent sampling points in the response amplitude sequence to obtain a differential sequence; then, it sums all the differential values ​​in the differential sequence to obtain the cumulative change value.

[0035] When the cumulative change value exceeds the upper limit of the preset fluctuation range, the vibration intensity change trend is determined to be increasing; When the cumulative change value is less than the lower limit of the preset fluctuation range, the trend of vibration intensity change is determined to be weakening. When the cumulative change value is between the upper limit and the lower limit of the preset fluctuation range, the vibration intensity change trend is determined to remain unchanged. The preset fluctuation range is determined based on the statistical range of the cumulative change value corresponding to multiple consecutive vibration cycles under stable output conditions, and is pre-stored in the trend determination parameter table. In this step, the control processing unit calls the trend determination parameter table to complete the vibration intensity change trend determination.

[0036] In some implementations, to illustrate the process of determining the vibration period position and the trend of vibration intensity change, for example, the control processing unit identifies the starting sampling position of the target vibration period as the 120th sampling point, the ending sampling position as the 200th sampling point, and the current output ending sampling position as the 168th sampling point. Therefore, the relative position of the current output ending within the target vibration period is (168-120) / (200-120) = 0.60, and the vibration period position is determined to be 0.60. Further, within a preset trend analysis interval intercepted before the current output ending, the response amplitude sequence is... If the differences between adjacent sampling points are 0.03, 0.02, 0.01, -0.01, and 0.02 respectively, then the cumulative change value is 0.07. After the control processing unit calls the preset fluctuation range in the trend determination parameter table, it compares the cumulative change value of 0.07 with the upper limit of the preset fluctuation range. When the cumulative change value of 0.07 is greater than the upper limit of the preset fluctuation range, the vibration intensity change trend is determined to be enhanced. Subsequently, the control processing unit compares the vibration cycle position of 0.60 with the vibration cycle position interval in the situation division parameter table, and combines it with the trend indicator corresponding to enhancement to determine the current residual vibration situation.

[0037] Step S207: Determine the current residual vibration situation. Specifically, the control processing unit first calls the situation division parameter table. The situation division parameter table records at least multiple vibration cycle position intervals, the position interval identifier corresponding to each vibration cycle position interval, the first trend identifier corresponding to enhancement, the second trend identifier corresponding to weakening, the third trend identifier corresponding to maintenance, and the combination correspondence between each position interval identifier and each trend identifier.

[0038] The control processing unit compares the vibration cycle position obtained in step S205 with the upper and lower limits of each vibration cycle position interval in turn. When the vibration cycle position falls into a certain vibration cycle position interval, the position interval identifier corresponding to that vibration cycle position interval is determined as the current position interval identifier. Then, the vibration intensity change trend obtained in step S206 is converted into the corresponding trend identifier. When the vibration intensity change trend is increasing, it is converted into the first trend identifier; when the vibration intensity change trend is decreasing, it is converted into the second trend identifier; and when the vibration intensity change trend is maintaining, it is converted into the third trend identifier.

[0039] After determining the current position interval identifier and trend identifier, the control processing unit, according to the combination correspondence recorded in the situation division parameter table, takes the combination corresponding to the current position interval identifier and the trend identifier as the current residual vibration situation; or, it concatenates the current position interval identifier and the trend identifier to form a combination code, and determines the combination code as the current residual vibration situation; the current residual vibration situation.

[0040] Through steps S201 to S207, the current output endpoint, vibration period position, vibration intensity change trend, and current residual vibration state are obtained; wherein, the current residual vibration state serves as the direct input for matching with the target mode access template in the window matching module, and the current output endpoint serves as the input for the trajectory generation module.

[0041] The window matching module is used to call the target mode access template corresponding to the target switching mode, and determine the target access window and target starting drive parameters based on the matching relationship between the current residual vibration state and the target mode access template. The purpose is to determine the access position range that is compatible with the current residual vibration state within the target switching mode, and select the target starting drive parameters for access from the access position range, so that the subsequently generated mode switching transition trajectory has both a clear access position and a clear endpoint drive state.

[0042] In some implementations, the steps of calling the target mode access template corresponding to the target switching mode and determining the target access window and target initial driving parameters include: Step S301: Establish a target mode access template. For each massage mode, a corresponding target mode access template is pre-established. Specifically, first, the standard drive sequence corresponding to the target switching mode is read. The standard drive sequence includes at least the drive frequency, drive intensity, and duty cycle control value corresponding to each control moment within a complete vibration cycle. Then, the changes in drive frequency, drive intensity, and duty cycle control value between two adjacent control moments in the standard drive sequence are calculated respectively, and the changes in drive frequency, drive intensity, and duty cycle control value are compared with the corresponding change ranges. When the changes in drive frequency, drive intensity, and duty cycle control value between multiple consecutive control moments do not exceed the corresponding change range, the multiple consecutive control moments are merged into the same segment. When the changes in drive frequency, drive intensity, or duty cycle control value between any adjacent control moments exceed the corresponding change range, the position exceeding the corresponding change range is determined as the new segment starting point. Then, the control moment corresponding to each segment starting point is determined as the position of each candidate access cycle.

[0043] The corresponding range of change is formed based on the change amplitude of the driving parameters that allow the same access attribute to be maintained within the complete vibration cycle of the target switching mode, and is pre-stored in the template division parameter table. When the control processing unit establishes the target mode access template, it calls the template division parameter table to complete the identification of the starting point of each segment.

[0044] After determining the position of each candidate access cycle, the control processing unit reads the drive frequency, drive strength, and duty cycle control value at the control time corresponding to each candidate access cycle position, and determines the read drive frequency, drive strength, and duty cycle control value as the target starting drive parameter corresponding to that candidate access cycle position. The target mode access template is formed by all candidate access cycle positions and the target starting drive parameter corresponding to each candidate access cycle position, and the target mode access template is stored in the template storage area for subsequent mode switching.

[0045] Step S302: Call the target mode access template corresponding to the target switching mode. Specifically, the control processing unit reads the corresponding target mode access template from the template storage area according to the target switching mode to obtain multiple candidate access cycle positions and the target start driving parameters corresponding to each candidate access cycle position.

[0046] Step S303: Calculate the position difference value. Specifically, the control processing unit determines the obtained vibration cycle position as the current position value; then, for each candidate access cycle position in the target mode access template, it calculates the absolute difference between the current position value and the candidate access cycle position, and determines the absolute difference as the corresponding position difference value; thus, the position difference values ​​corresponding to multiple candidate access cycle positions are obtained respectively.

[0047] Step S304: Calculate the trend difference value. Specifically, for each candidate access cycle position in the target mode access template, the control processing unit first reads the driving intensity value in the target starting driving parameters corresponding to the candidate access cycle position; then reads the driving intensity value corresponding to the subsequent candidate access cycle position; and subtracts the driving intensity value corresponding to the current candidate access cycle position from the driving intensity value corresponding to the subsequent candidate access cycle position to obtain the template intensity change value.

[0048] When the template intensity change value is greater than the upper limit of the preset small change range, the template trend category corresponding to the candidate access cycle position is determined as enhanced; when the template intensity change value is less than the lower limit of the preset small change range, the template trend category is determined as weakened; when the template intensity change value is between the upper limit and the lower limit of the preset small change range, the template trend category is determined as maintained.

[0049] When the current candidate access cycle position is located at the last candidate access cycle position of the complete vibration cycle, the first candidate access cycle position in the complete vibration cycle is determined as the subsequent candidate access cycle position to ensure that the calculation of the template trend category maintains cycle closure.

[0050] Subsequently, the control processing unit compares the vibration intensity change trend in the current residual vibration state with the template trend category corresponding to each candidate access cycle position: if they match, the trend difference value is determined as the first difference level; if they do not match, the trend difference value is determined as the second difference level. The first and second difference levels are pre-stored in the trend difference parameter table, and the degree of difference corresponding to the first difference level is less than the degree of difference corresponding to the second difference level.

[0051] Step S305: Calculate the comprehensive difference value. Specifically, the control processing unit first calls the comprehensive difference calculation parameter table. The comprehensive difference calculation parameter table is a parameter correspondence table that is pre-established and stored in the control storage area. The comprehensive difference calculation parameter table records at least the location difference normalization benchmark value, the trend difference value corresponding to the first difference level, the trend difference value corresponding to the second difference level, the location difference weight, and the trend difference weight.

[0052] Furthermore, to illustrate the generation process of the comprehensive difference value, for example, the control processing unit obtains a position difference value of 0.12 for a certain candidate access cycle position; the position difference normalization benchmark value recorded in the comprehensive difference calculation parameter table is 0.40, the position difference weight is 0.70, and the trend difference weight is 0.30; when the vibration intensity change trend in the current residual vibration situation is consistent with the template trend category corresponding to the candidate access cycle position, the candidate access cycle position corresponds to the first difference level, and the trend difference value of 0.10 corresponding to the first difference level is called. Then the normalized position difference value is 0.12 / 0.40=0.30, and the corresponding comprehensive difference value is 0.30×0.70+0. 0.10 × 0.30 = 0.24; If the position difference value of another candidate access cycle position is 0.08, but its template trend category is inconsistent with the vibration intensity change trend in the current residual vibration situation, then the other candidate access cycle position corresponds to the second difference level, and the trend difference value corresponding to the second difference level is called 0.35. Then the comprehensive difference value corresponding to the other candidate access cycle position is (0.08 / 0.40) × 0.70 + 0.35 × 0.30 = 0.245; After comparing the comprehensive difference values ​​corresponding to each candidate access cycle position, the control processing unit selects the candidate access cycle position with the smaller comprehensive difference value as the central access position, and calls it when determining the target access window in step S306.

[0053] The method for establishing the comprehensive difference calculation parameter table includes: reading historical mode switching test records, which at least include position difference values, trend consistency results, and switching smoothness evaluation results corresponding to multiple test samples; determining test samples whose switching smoothness evaluation results meet preset smoothness conditions as smooth samples, and determining test samples whose switching smoothness evaluation results do not meet preset smoothness conditions as non-smooth samples; calculating the influence of position difference values ​​on switching smoothness evaluation results and the influence of trend consistency results on switching smoothness evaluation results in each test sample; and then calculating the influence of position difference values... The impact of the consistency results of degree and trend is normalized to obtain the position difference weight and trend difference weight, and the maximum normalized position difference value is determined as the position difference normalization benchmark value. At the same time, the difference level corresponding to the trend consistency is determined as the first difference level, and the difference level corresponding to the trend inconsistency is determined as the second difference level, and the corresponding trend difference value is assigned to the first difference level and the second difference level respectively. The position difference normalization benchmark value, the trend difference value corresponding to the first difference level, the trend difference value corresponding to the second difference level, the position difference weight, and the trend difference weight together form a comprehensive difference calculation parameter table.

[0054] When calculating the comprehensive difference value, the control processing unit first reads the location difference value obtained in step S303 and divides the location difference value by the location difference normalization benchmark value to obtain the normalized location difference value; then it reads the difference level to which the trend difference value obtained in step S304 belongs. When the trend difference value corresponds to the first difference level, it calls the trend difference value corresponding to the first difference level in the comprehensive difference calculation parameter table; when the trend difference value corresponds to the second difference level, it calls the trend difference value corresponding to the second difference level in the comprehensive difference calculation parameter table; then it reads the location difference weight and the trend difference weight respectively, multiplies the normalized location difference value by the location difference weight, multiplies the called trend difference value by the trend difference weight, and sums the two products to obtain the comprehensive difference value corresponding to the location of the candidate access period.

[0055] The control processing unit repeats the above calculation process for each candidate access cycle position in the target mode access template to obtain the comprehensive difference value corresponding to each candidate access cycle position, which is then used in the next step to determine the target access window.

[0056] Step S306: Determine the target access window. Specifically, the control processing unit sorts all candidate access cycle positions in ascending order of their comprehensive difference value, and selects the candidate access cycle position with the smallest comprehensive difference value as the center access position. Then, the center access position and the candidate access cycle positions adjacent to the center access position are jointly determined as the target access window. When the center access position is located at the beginning or end of a complete vibration cycle, only the actual adjacent candidate access cycle positions and the center access position are selected to form the target access window. Thus, the target access window becomes the range of access positions formed around the position with the smallest comprehensive difference value.

[0057] Step S307: Determine the target initial driving parameter. Specifically, within the target access window, the control processing unit reads the comprehensive difference value corresponding to each candidate access cycle position, selects the target initial driving parameter corresponding to the candidate access cycle position with the smallest comprehensive difference value, and determines it as the target initial driving parameter. This ensures that the target initial driving parameter originates from within the target access window and has the smallest comprehensive difference relationship with the current residual vibration state.

[0058] Through steps S301 to S307, the target access window and the target starting drive parameters are obtained; wherein, the target access window serves as the input for determining the range of the transition trajectory endpoint position in the trajectory generation module, and the target starting drive parameters serve as the input for determining the transition trajectory endpoint drive state in the trajectory generation module.

[0059] The trajectory generation module is used to generate a mode switching transition trajectory that satisfies the continuous constraints of vibration period position and vibration intensity change based on the current output endpoint, target access window and target initial drive parameters. The purpose is to establish a transition trajectory that advances continuously step by step between the current output endpoint of the current operating mode and the target access window of the target switching mode, and to use the target initial drive parameters to determine the driving state of the transition endpoint, so that the mode switching process forms a control sequence that can be directly executed.

[0060] In some implementations, the steps for generating the mode switching transition trajectory include: Step S401: Determine the starting state of the transition trajectory. Specifically, the control processing unit reads the current output endpoint obtained by the situation determination module and reads the response amplitude corresponding to the current output endpoint from the switching analysis response sequence, and determines the response amplitude as the starting intensity value; then reads the vibration period position obtained by the situation determination module and determines the vibration period position as the starting position value; the starting position value and the starting intensity value together constitute the starting state of the transition trajectory.

[0061] Step S402: Determine the transition trajectory endpoint state. Specifically, the control processing unit first reads all candidate access cycle positions within the target access window; then reads the target starting drive parameters determined by the window matching module, and searches for the candidate access cycle position corresponding to the target starting drive parameters in the target mode access template, determining the found candidate access cycle position as the endpoint position value; subsequently, it reads the drive intensity value in the target starting drive parameters and determines the drive intensity value as the endpoint intensity value; the endpoint position value and the endpoint intensity value together constitute the transition trajectory endpoint state.

[0062] Step S403: Determine the transition duration and the number of control moments. Specifically, the control processing unit reads the vibration cycle duration corresponding to the current operating mode and the vibration cycle duration corresponding to the target switching mode, and determines the transition duration according to the rule of taking the larger of the two as a benchmark and then determining the transition duration based on the range of smooth switching duration allowed by the equipment. The range of smooth switching duration allowed by the equipment is jointly determined based on the mechanical response capability of the execution component, the human body smoothness test results, and the control cycle duration, and is pre-stored in the transition duration parameter table. The control processing unit divides the transition duration by the control cycle duration to obtain the number of control moments. The number of control moments is used to determine the number of control points that need to be generated in the transition trajectory.

[0063] Step S404: Generate a position target sequence. Specifically, the control processing unit uses the starting position value as the starting value and the ending position value as the ending value, and distributes the position difference between the starting position value and the ending position value to all control moments to generate position target values ​​corresponding to each control moment. Specifically, the control processing unit calculates the position target value corresponding to each control moment in sequence according to the control moment order, so that the direction of change of the position target value between two adjacent control moments is consistent, and the position change between two adjacent control moments does not exceed a preset position change upper limit. The preset position change upper limit is formed based on the position change capability that the execution component can stably follow within a control cycle, and is pre-stored in the position continuity constraint parameter table. The position target sequence is composed of the position target values ​​corresponding to all control moments, and the position target sequence is used to realize the vibration period position continuity constraint.

[0064] Step S405: Generate intensity target sequence. Specifically, the control processing unit reads the starting intensity value obtained in step S401, the ending intensity value obtained in step S402, the number of control times obtained in step S403, and the vibration intensity change trend obtained by the situation determination module; then, according to the control time sequence, it generates the intensity target value corresponding to each control time one by one.

[0065] Specifically, the control processing unit first uses the starting intensity value as the reference intensity value before the first control moment; then, for each control moment, it calculates the initial intensity target value corresponding to that control moment based on the starting intensity value, the ending intensity value, and the sequential position of the current control moment in all control moments; subsequently, it compares the initial intensity target value corresponding to that control moment with the intensity target value corresponding to the previous control moment, and performs constraint correction on the initial intensity target value corresponding to that control moment based on the vibration intensity change trend.

[0066] When the vibration intensity changes in an increasing trend, the control processing unit determines whether the initial intensity target value corresponding to the control moment is greater than or equal to the intensity target value corresponding to the previous control moment. If the initial intensity target value corresponding to the control moment is less than the intensity target value corresponding to the previous control moment, the initial intensity target value corresponding to the control moment is corrected to the intensity target value corresponding to the previous control moment, or corrected to the sum of the intensity target value corresponding to the previous control moment and the preset minimum intensity increment, so that the intensity target value corresponding to the subsequent control moment is not less than the intensity target value corresponding to the previous control moment.

[0067] When the vibration intensity changes in a decreasing trend, the control processing unit determines whether the initial intensity target value corresponding to the control moment is less than or equal to the intensity target value corresponding to the previous control moment. If the initial intensity target value corresponding to the control moment is greater than the intensity target value corresponding to the previous control moment, the initial intensity target value corresponding to the control moment is corrected to the intensity target value corresponding to the previous control moment, or corrected to the difference between the intensity target value corresponding to the previous control moment and the preset minimum intensity reduction, so that the intensity target value corresponding to the subsequent control moment is not greater than the intensity target value corresponding to the previous control moment.

[0068] When the vibration intensity change trend remains unchanged, the control processing unit calculates the difference between the initial intensity target value corresponding to the control moment and the intensity target value corresponding to the previous control moment, and determines whether the difference is within the preset intensity fluctuation range; when the difference exceeds the preset intensity fluctuation range, the initial intensity target value corresponding to the control moment is corrected to the intensity target value corresponding to the previous control moment, or corrected to the boundary intensity value falling within the preset intensity fluctuation range, so that the intensity target value between two adjacent control moments remains within the allowable fluctuation range.

[0069] The preset minimum intensity increment, preset minimum intensity decrease, and preset intensity fluctuation range are formed based on the intensity change capability that the massage vibration actuator can stably follow within a single control cycle, and are pre-stored in the intensity continuous constraint parameter table; when the control processing unit performs constraint correction, it calls the corresponding parameters in the intensity continuous constraint parameter table to complete the correction process.

[0070] The control processing unit repeats the above processing for all control moments to obtain all intensity target values ​​arranged in order of control moment, and determines the all intensity target values ​​as the intensity target sequence; the intensity target sequence is used as the input for the next step of generating the trajectory driving parameter sequence.

[0071] As another example, to illustrate the generation process of the intensity target sequence, for instance, if the starting intensity value determined in step S401 is 0.45, the ending intensity value determined in step S402 is 0.80, the number of control times determined in step S403 is 5, and the vibration intensity change trend determined in step S206 is increasing, then the control processing unit first generates initial intensity target values ​​of 0.52, 0.58, 0.56, 0.70, and 0.80 in the order of the control times; subsequently, the control processing unit sets the initial intensity target value corresponding to the third control time to 0.5. 6. Compare with the intensity target value of 0.58 corresponding to the previous control time. Since the current vibration intensity is increasing and 0.56 is less than 0.58, the control processing unit performs constraint correction on the initial intensity target value corresponding to the third control time, correcting the intensity target value corresponding to the third control time to an intensity value not less than 0.58, such as 0.59. Thus, the constraint-corrected intensity target sequence of 0.52, 0.58, 0.59, 0.70 and 0.80 is obtained, and is called in step S406 when generating the trajectory driving parameter sequence.

[0072] Step S406: Generate trajectory driving parameter sequence. Specifically, for each control moment, the control processing unit reads the target position value and target intensity value corresponding to that control moment; then, it searches for two candidate access cycle positions adjacent to the target position value in the target mode access template, and reads the driving frequency corresponding to the two candidate access cycle positions.

[0073] The control processing unit performs linear interpolation on the driving frequencies corresponding to the two candidate access cycle positions based on the relative position of the target position value between two adjacent candidate access cycle positions to obtain the trajectory driving frequency corresponding to the control moment; determines the intensity target value corresponding to the control moment as the trajectory driving intensity; and determines the duty cycle control value in the target initial driving parameters as the trajectory duty cycle control value; the trajectory driving frequency, trajectory driving intensity, and trajectory duty cycle control value together constitute the trajectory driving parameters corresponding to the control moment; and the trajectory driving parameters corresponding to all control moments are arranged in chronological order to form a trajectory driving parameter sequence.

[0074] Step S407: Generate mode switching transition trajectory. Specifically, the control processing unit determines the obtained trajectory driving parameter sequence as the mode switching transition trajectory. The mode switching transition trajectory includes at least multiple sets of trajectory driving parameters arranged in order of control time, with each set of trajectory driving parameters corresponding to a control time.

[0075] Step S408: Perform continuity check. Specifically, the control processing unit calculates the difference between the trajectory drive frequencies corresponding to two adjacent control moments in the mode switching transition trajectory to obtain a frequency change sequence; calculates the difference between the trajectory drive intensities corresponding to two adjacent control moments in the mode switching transition trajectory to obtain an intensity change sequence; then compares each frequency change in the frequency change sequence with a preset frequency change range, and compares each intensity change in the intensity change sequence with a preset intensity change range.

[0076] When any frequency change in the frequency change sequence exceeds the preset frequency change range, or any intensity change in the intensity change sequence exceeds the preset intensity change range, the control processing unit calls the transition duration parameter table, increases the transition duration, and then re-executes steps S404 to S408; when all frequency changes in the frequency change sequence are within the preset frequency change range, and all intensity changes in the intensity change sequence are within the preset intensity change range, the mode switching transition trajectory is determined to be valid.

[0077] The preset frequency variation range is formed based on the stable following capability of the execution component within a single control cycle and is pre-stored in the frequency continuous constraint parameter table; the preset intensity variation range is formed based on the stable intensity following capability of the execution component within a single control cycle and is pre-stored in the intensity continuous constraint parameter table.

[0078] Through steps S401 to S408, the mode switching transition trajectory is obtained. The mode switching transition trajectory is generated by the current output endpoint, the target access window, and the target start driving parameters, and serves as the direct input for the transition trajectory segment that has not yet been executed in the closed-loop update in the next step.

[0079] The closed-loop control module is used to control the output vibration of the massage vibration actuator based on the mode switching transition trajectory. Its purpose is to convert the mode switching transition trajectory generated by the trajectory generation module into a drive control process that is executed sequentially according to the control time. This allows the massage vibration actuator to output vibration according to the trajectory drive parameters corresponding to the mode switching transition trajectory at each control time. After the execution of each control time, executed transition trajectory segments and unexecuted transition trajectory segments are formed, which can be directly called by subsequent steps when updating the unexecuted transition trajectory segments based on the actual vibration response information.

[0080] In some implementations, the steps of controlling the output vibration of the massage vibration actuator based on the mode switching transition trajectory include: Step S501: Read the mode switching transition trajectory and determine the current execution control time. Specifically, the control processing unit reads the mode switching transition trajectory obtained by the trajectory generation module. The mode switching transition trajectory includes at least multiple sets of trajectory driving parameters arranged in order of control time, and each set of trajectory driving parameters corresponds to a control time. The control processing unit determines the control time corresponding to the first set of trajectory driving parameters that has not yet been executed in the mode switching transition trajectory as the current execution control time, and determines the trajectory portion before the current execution control time as the executed transition trajectory segment, and determines the trajectory portion at and after the current execution control time as the unexecuted transition trajectory segment.

[0081] Step S502: Read the trajectory driving parameters corresponding to the current execution control moment. Specifically, at the current execution control moment, the control processing unit reads the corresponding trajectory driving parameters from the mode switching transition trajectory. The trajectory driving parameters include at least the trajectory driving frequency, trajectory driving intensity, and trajectory duty cycle control value. The control processing unit determines the trajectory driving frequency as the frequency control basis corresponding to the current execution control moment, determines the trajectory driving intensity as the intensity control basis corresponding to the current execution control moment, and determines the trajectory duty cycle control value as the duty cycle control basis corresponding to the current execution control moment.

[0082] Step S503: The trajectory driving parameters are converted into driving control instructions. Specifically, the control processing unit generates driving control instructions based on the trajectory driving frequency, trajectory driving intensity, and trajectory duty cycle control value corresponding to the current execution control time.

[0083] When the massage vibration actuator is an eccentric motor, the control processing unit converts the trajectory drive frequency into a pulse output frequency, the trajectory drive intensity into a drive voltage control quantity or a drive current control quantity, and the trajectory duty cycle control value into a pulse width modulation control quantity. The three are then combined to form the drive control command corresponding to the current execution control moment.

[0084] When the massage vibration actuator is a linear vibration actuator, the control processing unit converts the trajectory drive frequency into the coil drive frequency, the trajectory drive intensity into the coil drive amplitude, and the trajectory duty cycle control value into the conduction duration ratio. The three are then combined to form the drive control command corresponding to the current execution control moment. This allows the trajectory drive parameters in the mode switching transition trajectory to correspond to the actuator drive object that can be directly issued.

[0085] Step S504: Issue a drive control command and control the massage vibration execution component to output vibration. Specifically, the control processing unit sends the drive control command generated in step S503 to the drive circuit. The drive circuit outputs a drive signal to the massage vibration execution component within the control cycle corresponding to the current execution control time according to the received drive control command. Under the action of the drive signal, the massage vibration execution component outputs vibration according to the trajectory drive frequency, trajectory drive intensity and trajectory duty cycle control value corresponding to the current execution control time.

[0086] Step S505: Record the execution result corresponding to the current execution control moment. Specifically, after the control cycle corresponding to the current execution control moment ends, the control processing unit determines the trajectory driving parameters corresponding to the current execution control moment as the executed control item, and forms the current execution record together with the drive control instruction, the current execution control moment identifier, and the trajectory driving parameters corresponding to the current execution control moment. The current execution record is used to read the target trajectory status corresponding to the current execution control moment in subsequent steps.

[0087] Step S506: Update the executed transition trajectory segments and the unexecuted transition trajectory segments. Specifically, the control processing unit determines the trajectory portion between the start position of the mode switching transition trajectory and the corresponding position at the current execution control time as the executed transition trajectory segment, and determines the trajectory portion after the current execution control time as the unexecuted transition trajectory segment.

[0088] When the transition trajectory segment that has not yet been executed is not empty, the control processing unit determines the control time corresponding to the first set of trajectory driving parameters in the transition trajectory segment that has not yet been executed as the next execution control time; when the transition trajectory segment that has not yet been executed is empty, the control processing unit generates a transition trajectory execution completion flag; through steps S501 to S506, the current execution record, executed transition trajectory segments, transition trajectory segments that have not yet been executed, and transition trajectory execution completion flag are output for subsequent steps to call.

[0089] The transition trajectory segments that have not yet been executed are updated based on the actual vibration response information until the stable takeover conditions corresponding to the target switching mode are met for multiple consecutive vibration cycles. Then, the massage vibration execution component is continuously controlled to output vibration according to the target drive parameters corresponding to the target switching mode. The purpose is to read the actual vibration response information corresponding to the massage vibration execution component after each control moment, calculate the current execution deviation result, and convert the current execution deviation result into a correction amount applied to the transition trajectory segments that have not yet been executed, so that the trajectory drive parameters corresponding to subsequent control moments are updated in the direction of reducing the current execution deviation result. At the same time, after forming a complete actual vibration cycle result, the stable takeover conditions corresponding to the target switching mode are continuously determined. When multiple consecutive complete actual vibration cycles are within the allowable deviation range of the target switching mode, the mode switching transition control ends and the system enters the continuous control state of the target drive parameters corresponding to the target switching mode.

[0090] In some implementations, the steps of continuously controlling the output vibration of the massage vibration actuator according to the target drive parameters corresponding to the target switching mode include: Step S601: Collect the actual vibration response information corresponding to the current execution control moment. Specifically, the control processing unit first calls the response sampling parameter table according to the current operating mode, and reads the response sampling frequency, number of historical sampling points, number of subsequent sampling points, number of peak identification minimum interval sampling points, and amplitude extraction window length corresponding to the current operating mode. The response sampling parameter table is a sampling control parameter table that is pre-established and stored in the control storage area. The response sampling parameter table records at least the control cycle duration, response sampling frequency, number of historical sampling points, number of subsequent sampling points, number of peak identification minimum interval sampling points, and amplitude extraction window length corresponding to each massage mode. Among them, the number of historical sampling points and the number of subsequent sampling points are determined according to the idea of ​​at least covering one complete vibration cycle under the current operating mode, the number of peak identification minimum interval sampling points is determined according to the minimum allowable sampling interval between two adjacent real vibration peaks, and the amplitude extraction window length is determined according to the sampling length corresponding to the main response fluctuation interval before and after the current execution control moment.

[0091] The control processing unit continuously reads the response sampling values ​​corresponding to the massage vibration execution component according to the response sampling frequency, and takes the sampling position corresponding to the current execution control time as the center, extracts the sampling values ​​corresponding to the number of historical sampling points forward, and extracts the sampling values ​​corresponding to the number of subsequent sampling points backward, forming a continuous response segment; at the same time, it reads all sampling values ​​within the length of the amplitude extraction window before and after the sampling position corresponding to the current execution control time, takes the absolute value of all sampling values, and determines the maximum sampling value after taking the absolute value as the actual vibration response amplitude corresponding to the current execution control time.

[0092] Subsequently, the control processing unit traverses each sampling point in the continuous response segment in chronological order, comparing the response value corresponding to the current sampling point with the response values ​​corresponding to the previous and next sampling points respectively. When the response value corresponding to the current sampling point is greater than the response values ​​corresponding to the previous and next sampling points simultaneously, and the sampling point interval between the current sampling point and the previously identified peak point is not less than the minimum interval sampling point number for peak identification, the current sampling point is determined as the peak point. The control processing unit selects two temporally adjacent peak points from the identified peak points, determines the difference between the sampling times corresponding to the two peak points as the actual vibration response period information, and converts the actual vibration response period information into the actual vibration response frequency based on the response sampling frequency. Thus, the actual vibration response amplitude, actual vibration response period information, and actual vibration response frequency corresponding to the current execution control time are obtained, which are then called in step S602 when generating the current execution deviation result.

[0093] Step S602: Generate the current execution deviation result. Specifically, the control processing unit reads the current execution record output in step S505, and reads the trajectory drive frequency and trajectory drive intensity corresponding to the current execution control moment from the current execution record; then, the actual vibration response frequency obtained in step S601 is subtracted from the trajectory drive frequency to obtain the current frequency deviation value; the actual vibration response amplitude obtained in step S601 is subtracted from the trajectory drive intensity to obtain the current intensity deviation value.

[0094] The control processing unit combines the current frequency deviation value and the current intensity deviation value to form the current execution deviation result; the current execution deviation result is used to characterize the degree of deviation between the target trajectory state and the actual output state at the current execution control moment.

[0095] Step S603: Determine whether to update the transition trajectory segment that has not yet been executed. Specifically, the control processing unit calls the trajectory correction determination parameter table. The trajectory correction determination parameter table records at least the upper limit of frequency correction trigger, the lower limit of frequency correction trigger, the upper limit of intensity correction trigger, and the lower limit of intensity correction trigger.

[0096] The method for forming the trajectory correction judgment parameter table includes: during the equipment calibration stage, for stable output states under different driving frequencies and different driving intensities, the corresponding actual vibration response frequency and actual vibration response amplitude are collected respectively; the deviation range between the trajectory driving frequency and the actual vibration response frequency is statistically analyzed, and the deviation range between the trajectory driving intensity and the actual vibration response amplitude is statistically analyzed; then, the maximum allowable frequency deviation range that maintains output continuity and does not affect switching smoothness is determined as the frequency correction trigger range, and the maximum allowable intensity deviation range that maintains output continuity and does not affect switching smoothness is determined as the intensity correction trigger range, and the upper and lower limits of the range are stored in the trajectory correction judgment parameter table.

[0097] The control processing unit compares the current frequency deviation value with the upper limit and lower limit of frequency correction trigger, and compares the current intensity deviation value with the upper limit and lower limit of intensity correction trigger.

[0098] When the current frequency deviation value is between the upper limit and the lower limit of frequency correction triggering, and the current intensity deviation value is between the upper limit and the lower limit of intensity correction triggering, the control processing unit determines that the current execution deviation result will not trigger the update of the transition trajectory segment that has not yet been executed. When the current frequency deviation value exceeds the upper limit of frequency correction triggering or falls below the lower limit of frequency correction triggering, or when the current intensity deviation value exceeds the upper limit of intensity correction triggering or falls below the lower limit of intensity correction triggering, the control processing unit determines that the current execution deviation result triggers the update of the transition trajectory segment that has not yet been executed, and proceeds to step S604.

[0099] Step S604 generates frequency correction sequences and intensity correction sequences corresponding to the transition trajectory segments that have not yet been executed. Specifically, the control processing unit reads the transition trajectory segments that have not yet been executed output in step S506 and counts the number of control moments that have not yet been executed. The control processing unit takes the opposite value of the current frequency deviation value and determines it as the total frequency correction value; it also takes the opposite value of the current intensity deviation value and determines it as the total intensity correction value. This ensures that subsequent corrections are always directed towards reducing the current frequency deviation value and reducing the current intensity deviation value.

[0100] Subsequently, the control processing unit assigns decreasing weights to each unexecuted control moment according to the order in which they have not yet been executed. Specifically, the weight corresponding to the unexecuted control moment closest to the current execution control moment is determined as the maximum weight, and the weight corresponding to each subsequent unexecuted control moment is successively decreased by one weight unit until the weight corresponding to the unexecuted control moment farthest from the current execution control moment is determined as the minimum weight; then all weights are summed to obtain the total weight.

[0101] The control processing unit multiplies the total frequency correction by the weight corresponding to each time point before control execution, and then divides each by the sum of the weights to obtain the frequency correction for each time point before control execution. At the same time, it multiplies the total intensity correction by the weight corresponding to each time point before control execution, and then divides each by the sum of the weights to obtain the intensity correction for each time point before control execution. The frequency corrections corresponding to all time points before control execution are arranged in chronological order to form a frequency correction sequence, and the intensity corrections corresponding to all time points before control execution are arranged in chronological order to form an intensity correction sequence.

[0102] Step S605: Update the transition trajectory segments that have not yet been executed based on the frequency correction sequence and the intensity correction sequence. Specifically, the control processing unit reads the trajectory driving frequency, trajectory driving intensity, and trajectory duty cycle control value corresponding to each control moment in the transition trajectory segments that have not yet been executed, in the order of the control moments that have not yet been executed. For each control moment that has not yet been executed, the control processing unit adds the corresponding item in the frequency correction sequence to the trajectory driving frequency corresponding to that control moment to obtain the updated trajectory driving frequency; adds the corresponding item in the intensity correction sequence to the trajectory driving intensity corresponding to that control moment to obtain the updated trajectory driving intensity; keeps the trajectory duty cycle control value corresponding to that control moment unchanged, or when the frequency continuous constraint parameter table records a duty cycle control value corresponding to the updated trajectory driving frequency, reads the duty cycle control value corresponding to the updated trajectory driving frequency as the updated trajectory duty cycle control value.

[0103] Subsequently, the control processing unit performs boundary correction on the updated trajectory drive frequency change between two adjacent unexecuted control moments: when the difference between the updated trajectory drive frequency corresponding to the next unexecuted control moment and the updated trajectory drive frequency corresponding to the previous unexecuted control moment is greater than the preset upper limit of frequency change, the updated trajectory drive frequency corresponding to the next unexecuted control moment is corrected to: the updated trajectory drive frequency corresponding to the previous unexecuted control moment plus the preset upper limit of frequency change; when the difference is less than the preset lower limit of frequency change, the updated trajectory drive frequency corresponding to the next unexecuted control moment is corrected to: the updated trajectory drive frequency corresponding to the previous unexecuted control moment plus the preset lower limit of frequency change.

[0104] The control processing unit performs boundary correction on the change in updated trajectory drive intensity between two adjacent control times that have not yet been executed: when the difference between the updated trajectory drive intensity corresponding to the next control time and the updated trajectory drive intensity corresponding to the previous control time is greater than a preset intensity change upper limit, the updated trajectory drive intensity corresponding to the next control time is corrected to: the updated trajectory drive intensity corresponding to the previous control time plus the preset intensity change upper limit; when the difference is less than a preset intensity change lower limit, the updated trajectory drive intensity corresponding to the next control time is corrected to: the updated trajectory drive intensity corresponding to the previous control time plus the preset intensity change lower limit.

[0105] Among them, the preset upper limit of frequency change, the preset lower limit of frequency change, the preset upper limit of intensity change, and the preset lower limit of intensity change are stored in the frequency continuous constraint parameter table and the intensity continuous constraint parameter table, respectively. In this step, the control processing unit calls the parameter table to complete the boundary correction; the updated transition trajectory segment that has not yet been executed is reassembled from all the updated trajectory driving parameters corresponding to the control moments that have not yet been executed.

[0106] This example illustrates the update process for transition trajectory segments that have not yet been executed. For instance, if the current frequency deviation value obtained in step S602 is -4Hz and the current intensity deviation value is 0.12, the control processing unit determines the total frequency correction to 4Hz and the total intensity correction to -0.12. If the number of unexecuted control moments output in step S506 is 4, the control processing unit assigns decreasing weights of 4, 3, 2, and 1 to each unexecuted control moment in sequence, with a total weight of 10. Accordingly, the frequency corrections corresponding to each unexecuted control moment are 1.6Hz, 1.2Hz, 0.8Hz, and 0.4Hz, and the intensity corrections corresponding to each unexecuted control moment are -0.048, -0.036, -0.024, and -0. .012; If the trajectory drive frequencies corresponding to the four control moments in the original transition trajectory segment that has not yet been executed are 62Hz, 64Hz, 66Hz and 68Hz respectively, then the updated trajectory drive frequencies are 63.6Hz, 65.2Hz, 66.8Hz and 68.4Hz respectively; If the original trajectory drive intensities are 0.72, 0.75, 0.78 and 0.80 respectively, then the updated trajectory drive intensities are 0.672, 0.714, 0.756 and 0.788 respectively; Subsequently, the control processing unit performs boundary correction on the updated trajectory drive frequency change and the updated trajectory drive intensity change between adjacent control moments, and uses the corrected result as the updated transition trajectory segment that has not yet been executed, for further use in step S606.

[0107] Step S606: Continue the mode switching transition control based on the updated yet-to-be-executed transition trajectory segment. Specifically, when step S603 determines that the current execution deviation result triggers the update of the yet-to-be-executed transition trajectory segment, the control processing unit replaces the original yet-to-be-executed transition trajectory segment with the updated yet-to-be-executed transition trajectory segment obtained in step S605; when step S603 determines that the current execution deviation result does not trigger the update of the yet-to-be-executed transition trajectory segment, the control processing unit keeps the original yet-to-be-executed transition trajectory segment unchanged.

[0108] Subsequently, the control processing unit determines the control time corresponding to the first set of trajectory driving parameters in the retained but not yet executed transition trajectory segment as the next execution control time, and returns to step S501 to continue execution.

[0109] This results in a complete control process: executing the current control moment - collecting actual vibration response information - generating the current execution deviation result - updating the transition trajectory segment that has not yet been executed - continuing to execute the next control moment.

[0110] Step S607: Generate complete actual vibration cycle results. Specifically, the control processing unit continuously caches the continuous response segments obtained in step S601 and identifies the peak points in them in chronological order.

[0111] When two temporally adjacent peak points are identified, the control processing unit determines the response segment corresponding to the two peak points as a complete actual vibration cycle segment. Then, it counts the response values ​​corresponding to all sampling points within this complete actual vibration cycle segment and takes the maximum value of the response values ​​as the amplitude of the complete actual vibration cycle. The difference between the sampling times corresponding to the two peak points is determined as the duration of the complete actual vibration cycle. The number of sampling points within a control duration is divided by the number of sampling points corresponding to the duration of the complete actual vibration cycle to obtain the frequency of the complete actual vibration cycle. The control processing unit jointly determines the amplitude and frequency of the complete actual vibration cycle as the result of the complete actual vibration cycle. The result of the complete actual vibration cycle is used for subsequent determination of stable control conditions.

[0112] Step S608: Generate target mode comparison parameters corresponding to the complete actual vibration cycle result. Specifically, the control processing unit searches for the candidate access cycle position corresponding to the target start drive parameter in the target mode access template based on the target start drive parameter determined by the window matching module, and determines the candidate access cycle position as the target mode comparison start point. Subsequently, starting from the target mode comparison start point, the control processing unit reads the drive frequency and drive intensity in the standard drive sequence corresponding to the target switching mode in the control time sequence in a loop to form the target mode comparison sequence.

[0113] After step S607 generates a complete actual vibration cycle result, the control processing unit counts the number of control moments covered by the complete actual vibration cycle result; then, it reads multiple consecutive sets of target drive frequencies and target drive intensities corresponding to the number of control moments from the target mode comparison sequence, and calculates the average of each set to obtain the target mode comparison frequency and target mode comparison intensity corresponding to the complete actual vibration cycle result; thus, the comparison benchmark for subsequent stable takeover conditions corresponds one-to-one with the current complete actual vibration cycle result.

[0114] Step S609: Determine the stable takeover conditions corresponding to the target switching mode. Specifically, the control processing unit sets the continuous satisfaction count to zero at the start of mode switching. After generating the current complete actual vibration cycle result in step S607, the stable takeover judgment parameter table is called according to the target switching mode to read the corresponding target frequency allowable deviation upper limit, target frequency allowable deviation lower limit, target intensity allowable deviation upper limit, target intensity allowable deviation lower limit, periodic frequency fluctuation upper limit, periodic intensity fluctuation upper limit, and the number of consecutively satisfied cycles. Subsequently, the control processing unit subtracts the current complete actual vibration cycle frequency from the target mode comparison frequency obtained in step S608 to obtain the target frequency deviation; subtracts the current complete actual vibration cycle amplitude from the target mode comparison intensity obtained in step S608 to obtain the target intensity deviation; subtracts the current complete actual vibration cycle frequency from the previous complete actual vibration cycle frequency to obtain the periodic frequency fluctuation value; and subtracts the current complete actual vibration cycle amplitude from the previous complete actual vibration cycle amplitude to obtain the periodic intensity fluctuation value.

[0115] When the target frequency deviation is between the upper and lower limits of the target frequency allowable deviation, the target intensity deviation is between the upper and lower limits of the target intensity allowable deviation, the frequency fluctuation value during the cycle is not greater than the upper limit of the frequency fluctuation during the cycle, and the intensity fluctuation value during the cycle is not greater than the upper limit of the intensity fluctuation during the cycle, the control processing unit determines the current complete actual vibration cycle as a valid cycle that meets the stable takeover conditions and increments the continuous satisfaction count by one; when any of the above comparison results does not meet the corresponding allowable range, the control processing unit determines the current complete actual vibration cycle as an invalid cycle that does not meet the stable takeover conditions and resets the continuous satisfaction count to zero; when the continuous satisfaction count reaches the number of consecutive satisfaction cycles, the control processing unit determines that multiple consecutive vibration cycles meet the stable takeover conditions corresponding to the target switching mode.

[0116] In step S610, the massage vibration execution component is continuously controlled to output vibration according to the target drive parameters corresponding to the target switching mode. Specifically, after determining in step S609 that multiple consecutive vibration cycles meet the stable takeover conditions corresponding to the target switching mode, the control processing unit ends the transition trajectory segment update processing and mode switching transition control processing that have not yet been executed, and reads the target drive parameters corresponding to the target switching mode.

[0117] When the target driving parameters are a single set of driving parameters, the control processing unit continuously reads the single set of driving parameters and controls the massage vibration execution component to output vibration. When the target driving parameters are a sequence of parameters arranged in the order of the target mode cycle position, the control processing unit reads the target mode comparison start and end positions corresponding to the current complete actual vibration cycle result in step S608, and determines the last position in the start and end positions as the continuous output start point; then, starting from the continuous output start point, it reads the subsequent sets of target driving parameters in the order of control time, and continuously controls the massage vibration execution component to output vibration; thereby realizing the transition from the mode switching transition control state to the target driving parameter continuous control state corresponding to the target switching mode.

[0118] Through steps S601 to S610, closed-loop updates of the transition trajectory segments that have not yet been executed are realized based on the actual vibration response information. After multiple consecutive complete actual vibration cycles are within the allowable deviation range corresponding to the target switching mode, the massage vibration execution component outputs vibration according to the target driving parameters corresponding to the target switching mode.

[0119] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope defined in the claims.

Claims

1. A multi-mode massage vibration closed-loop adaptive control system, characterized in that, include: The mode determination module is used to determine the current operating mode and target switching mode of the massage vibration execution component; The situation determination module is used to acquire actual vibration response information in the current operating mode and determine the current residual vibration situation, which characterizes the vibration period position and vibration intensity change trend of the current output endpoint. The window matching module is used to call the target mode access template corresponding to the target switching mode, and determine the target access window and target initial drive parameters based on the matching relationship between the current residual vibration state and the target mode access template. The trajectory generation module is used to generate a mode switching transition trajectory that satisfies the continuous constraints of vibration period position and vibration intensity change, based on the current output endpoint, target access window and target initial driving parameters. The closed-loop takeover module is used to control the output vibration of the massage vibration actuator based on the mode switching transition trajectory, and to update the transition trajectory segments that have not yet been executed based on the actual vibration response information, until the stable takeover conditions corresponding to the target switching mode are met for multiple consecutive vibration cycles. Then, the module continuously controls the output vibration of the massage vibration actuator according to the target driving parameters corresponding to the target switching mode.

2. The multi-mode massage vibration closed-loop adaptive control system according to claim 1, characterized in that, Methods for determining the current operating mode and target switching mode of the massage vibration actuator include: Receive mode switching trigger information, including switch initiation time information and target mode indication information; Based on the switch initiation time information, read the mode number from the current mode control record to determine the current operating mode; The target switching mode can be determined directly based on the target mode indication information, or the target switching mode can be determined by calling the mode mapping table based on the current operating mode; The validity of the execution mode is determined based on the current operating mode and the target switching mode. If both the current operating mode and the target switching mode belong to the set of device supported modes and are different from each other, the current operating mode and the target switching mode are determined.

3. The multi-mode massage vibration closed-loop adaptive control system according to claim 1, characterized in that, Methods for determining the position of the current output endpoint in the vibration period include: Collect actual vibration response information under the current operating mode, and generate a switching analysis response sequence based on the actual vibration response information; Based on the switching analysis response sequence, the complete vibration period between adjacent peak points is identified, and the target vibration period at the current output endpoint is determined. Based on the sampling positions of the starting point, ending point, and current output ending point of the target vibration cycle, the relative position of the current output ending point within the target vibration cycle is calculated and used as the vibration cycle position.

4. The multi-mode massage vibration closed-loop adaptive control system according to claim 3, characterized in that, Methods for determining the current residual vibration state based on the trend of vibration intensity variation include: Extract the response amplitude sequence before the current output endpoint and perform differential summation; determine the vibration intensity change trend based on the cumulative change value. Based on the location of the vibration period and the trend of vibration intensity changes, the current residual vibration state is determined.

5. The multi-mode massage vibration closed-loop adaptive control system according to claim 1, characterized in that, Methods for determining the target access window include: Call the target mode access template corresponding to the target switching mode; The position difference value is determined based on the absolute difference between the vibration period position and the position of each candidate access period; The trend difference value is determined based on the consistency between the vibration intensity change trend and the template trend category corresponding to each candidate access cycle location; The overall difference value is determined based on the location difference value and the trend difference value; The central access location is determined based on the comprehensive difference value, and the target access window is determined based on the central access location.

6. The multi-mode massage vibration closed-loop adaptive control system according to claim 5, characterized in that, Methods for determining the target initial driving parameters include: Read the comprehensive difference value corresponding to the position of each candidate access cycle within the target access window; Select the candidate access cycle position with the smallest overall difference value; The target starting driving parameter corresponding to the candidate access cycle position is determined as the target starting driving parameter.

7. A multi-mode massage vibration closed-loop adaptive control system according to claim 1, 3, 5 or 6, characterized in that, Methods for generating mode switching transition trajectories include: The starting state of the transition trajectory is determined based on the current output endpoint and vibration cycle position; the ending state of the transition trajectory is determined based on the target access window and target initial drive parameters. The transition duration and number of control moments are determined based on the vibration cycle duration corresponding to the current operating mode and the vibration cycle duration corresponding to the target switching mode. The position target sequence and intensity target sequence are generated based on the state of the transition trajectory start point, the state of the transition trajectory end point, the transition duration and the number of control moments. A trajectory-driving parameter sequence is generated based on the location target sequence, intensity target sequence, and target pattern access template. The transition trajectory is generated based on the trajectory-driven parameter sequence to switch modes.

8. The multi-mode massage vibration closed-loop adaptive control system according to claim 1, characterized in that, Methods for controlling the output vibration of the massage vibration actuator based on the mode switching transition trajectory include: Read the transition trajectory of the mode switch and determine the current execution control moment; read the trajectory driving parameters corresponding to the current execution control moment; Based on the trajectory drive parameters, drive control commands are generated and sent to the drive circuit; The massage vibration actuator outputs vibration according to the drive control command.

9. A multi-mode massage vibration closed-loop adaptive control system according to claim 8, characterized in that, Methods for actuating component output vibration include: Collect the actual vibration response information corresponding to the current control execution moment; The current execution deviation result is generated based on the actual vibration response information, and the transition trajectory segments that have not yet been executed are updated based on the current execution deviation result; Based on the updated, yet-to-be-executed transition trajectory segment, continue to control the output vibration of the massage vibration execution component and generate a complete actual vibration cycle result; Based on the target initial driving parameters, target mode comparison parameters corresponding to the complete actual vibration period results are generated; The stable take-off conditions are determined based on the complete actual vibration period results and the target mode comparison parameters. After several consecutive vibration cycles meet the stable take-off conditions, the target drive parameters corresponding to the target switching mode are read and the massage vibration execution component outputs vibration continuously.

10. A multi-mode massage vibration closed-loop adaptive control system according to claim 9, characterized in that, Methods for updating transition trajectory segments that have not yet been executed include: Convert the current execution deviation results into frequency correction sequences and intensity correction sequences; Assign decreasing weights to each control moment that has not yet been executed, according to the order in which they were executed. Based on the decreasing weights, the frequency correction sequence and intensity correction sequence are assigned to the corresponding control times in the transition trajectory segments that have not yet been executed, and the transition trajectory segments that have not yet been executed are updated.