Method for controlling a system

A predictive control method with an updated state-space model using filtering algorithms addresses the instability of existing control algorithms, ensuring accurate and stable system output alignment with setpoints in dynamic environments.

WO2025223884A1PCT designated stage Publication Date: 2025-10-30L P G SYSTEMS +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/060033
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-22
Filing Date
2025-04-11
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing control algorithms for systems with multiple inputs and outputs, such as PID controllers, are sensitive to noise and measurement errors, leading to instability and require complex model-based methods that are also sensitive to system variations, making them unsuitable for dynamic environments.

Method used

A predictive control method using a regularly updated state-space model, adjusted through filtering algorithms like Kalman filters, to determine input values that align system output with setpoints, even in varying conditions.

Benefits of technology

The method provides precise control by continuously adapting to system changes, reducing deviations between target and actual output values, enhancing stability and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025060033_30102025_PF_FP_ABST
    Figure EP2025060033_30102025_PF_FP_ABST
Patent Text Reader

Abstract

One aspect of the invention relates to a method for controlling a system, an output quantity x of which system is a function of an input quantity u, the method comprising: - obtaining (410) a space-state model of the system; - obtaining (420) a target value (I) of the output quantity x; - receiving (430) an observed value y k of the output quantity; - updating (450) the state equation of the space-state model of the system based on the received observed value y k ; - determining (460) a value u k of the input quantity u required to obtain the target value (I) of the output quantity x using a predictive control algorithm based on the updated model of the system; and - controlling (470) the system based on the value u k of the determined input quantity u.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]DESCRIPTION TITLE: Method for controlling a system TECHNICAL FIELD OF THE INVENTION The technical field of the invention is that of methods for controlling systems whose output quantity(ies) are functions of at least one input quantity. For example, a control method according to the invention can be applied, without limitation, to massage devices, and in particular massage devices comprising a massage head and a control system configured to control the massage head so that a vacuum is generated in the massage head. TECHNOLOGICAL BACKGROUND OF THE INVENTION For systems whose output quantity(ies) are functions of at least one input quantity, the values ​​of the input quantity(ies) are set to obtain a setpoint (or target) value for the output value.In practice, there is always a difference between the setpoint and the actual value obtained from the determined input values. To reduce this difference, a system control mechanism is commonly used. A closed-loop system is one capable of autonomously generating or adjusting the control variable(s) (hereafter referred to as inputs) to reach a setpoint (also referred to as the target value), based on a measurement of the system output, for example, acquired through one or more sensors. Adjusting the input variable(s) to obtain the target value is typically done using a control algorithm. The most widespread control algorithm is the PID controller, for "Proportional, Integral, Derivative".This algorithm is relatively simple to implement and provides very good results on SISO (single input - single output) systems. However, it can be very sensitive to noise, measurement errors, and any variation in the system on which it was previously tuned, potentially making the system very unstable. Furthermore, the settings are complicated to implement in the case of MIMO (multiple input - multiple output) systems. There are also control algorithms that use a system model (e.g., pole placement algorithm, linear quadratic control algorithm – or "LQ control" – predictive control algorithm, etc.). These algorithms perform very well on MIMO systems but are much more complex to implement and require a model (i.e.,a differential equation modeling the evolution of the system to be regulated. Models can be obtained either analytically or through the use of other algorithms that analyze input and output data, called "System Identification." However, these algorithms are also very sensitive to any variation in the system, which therefore invalidates the model and degrades the regulation. There is thus a need for control methods that do not suffer from the aforementioned problems. The invention improves this situation. SUMMARY OF THE INVENTION The invention offers a solution to the problems mentioned above by proposing a control method using a predictive control algorithm based on a model of the system, said model of the system being regularly updated.Thus, even if the behavior of a machine does not follow the theoretical model of machines in the same range, or the predetermined theoretical model for that machine, the method makes it possible to correct the model to better match the actual behavior of the machine, and to use this corrected model to determine the input values ​​to be provided to obtain a target output value (or "setpoint"), via a predictive control algorithm. One aspect of the invention thus relates to a computer-implemented method for controlling a system whose output quantity is a function of an input quantity, the method comprising: for each instant of a plurality of instants. (where a non-zero natural number is used: – obtain a target value!) $ )of the output quantity!*; – obtain a state-space model of the system comprising: a state equation modeling the evolution of a theoretical value of the output quantity! from a value of the input quantity"; and a measurement equation modeling the relationship between an observed value + of the output quantity and the theoretical value of the output quantity!*; – receive an observed value + $ of the output magnitude; – update the state equation of the system's state-space model from the observed value + $ received; – determine a value " $ of the input magnitude " to obtain the target value! $ ) of the output magnitude! using a predictive control algorithm based on the updated system model; and – control the system from the value " $The input quantity is determined. The "output quantity" is understood to be a physical quantity related to the system that one seeks to control or command. The "input quantity" is understood to be a physical quantity related to a system function, the value of which influences the output value. This "input quantity" is sometimes called a control quantity (or variable), or simply a "control input quantity (or variable)." "Controlling a system" means guiding the input quantity to achieve a certain output value. It is understood that there can be one or more input quantities and one or more output quantities. Furthermore, the input and / or output quantities can be viewed as vectors, the number of components of which corresponds to the number of quantities to be considered.Hereafter, the terms "quantity," "vector," and "variable" can be used interchangeably to refer to the input or output quantity(ies). The actual observed output value may differ from the expected output value for fixed input values. To highlight this difference, the actual observed output value is referred to here as the observed value of the output quantity, and the expected output value is called the theoretical value of the output quantity. Classically, the theoretical output quantity is called the "hidden variable," as opposed to the observed variable.A state-space model is understood to be a dynamic model of the system, which includes: – one or more measurement equations describing how the observed variables (here, +) are generated by the hidden variables (here, !); and – one or more state equations describing how the hidden variables (here, !) are generated from their lag (i.e., past values ​​of the hidden variables) and the control variable (also called input variables, here, "). Such a state-space model can thus be written as: ***********. where 6 is a non-zero natural number, !$ denotes the output quantity at time #$, "$ denotes the input quantity at time #7 and +$ denotes the observed quantity at the system output at time # $ 3. $.% and 5 $.%are two noises, which can be Gaussian white noise, assumed to be mutually independent (i.e., independent from one instant to the next and independent of each other) and independent of an initial state!8. The first equation is classically called the evolution equation or state equation, and the second equation is classically called the measurement equation. $ can be called an evolution function, and 4 $.%can be called a measurement function. It is noted that the equations above are not the only possible ones for a state-space model; in particular, there may be index shifts in their notation. For example, the state equation can be written: !$.% = / $0!$, "$.%123$.%. Such variations induce some differences in the model's resolution, but the general principles remain the same. By "target value of the output quantity," we mean the value we wish to obtain at the system's output. This is also called the "setpoint value," or simply "setpoint." By "updating the state equation of the state-space model," we mean that the parameters of the state equation (in particular, characteristic coefficients of the function / $ ) are updated from observations + $ received. For example, the state equation !$.% = / $0!$, "$123$.% involves a function / $which depends on a set of parameters. Updating the state equation thus includes updating the function's parameter set. $ The state-space model obtained at time # $ corresponds to the space-state model updated at the previous instant # $9% Thus, according to the invention, the system model is regularly updated with observations + $ received, and the input values ​​" $ Use this to obtain target values! $ )The output quantity is determined from this updated model, thus allowing more precise control than if it were performed from a predefined model. The method may further include a preliminary step in which initial values ​​are received, the initial values ​​comprising: an initial value of the output quantity, an initial value of the input quantity, an initial value of the evolution function, and the covariance matrices of the noises 3% and 5%. In one or more embodiments, the method may further include: - determining an estimate of: $|$ of a value of the output quantity! from the observed value + $ received; and the determination of the value " $ of the input magnitude" is further based on the estimate! $|$ Alternatively, determining the value " $ the input quantity" is further based on the observed value + $received. In one or more embodiments, the updating of the state equation of the state-space model is implemented using a filtering algorithm. It is recalled that a filtering algorithm is an algorithm that sequentially estimates the values ​​of the hidden states !%, ^, !$ from the observed values ​​+%, ^, +$. When the process includes determining the estimate !: $|$ of the value of the output quantity! from the observed value + $ Once received, this determination can also be implemented by a filtering algorithm. In particular, updating the state equation of the state-space model and determining the estimate!: $|$of the value of the output quantity! can be implemented by the same filtering algorithm. For example, the filtering algorithm can be a Kalman filter. In particular, the Kalman filter can be a "classical" Kalman filter (when the state-space model is linear), but also any other filter derived from the classical Kalman filter, such as the extended Kalman filter or the fragrance-free Kalman filter. It is understood that other filtering algorithms can be used, for example, particle filtering algorithms. In one or more embodiments, updating the state equation of the system's state-space model includes linearizing the state equation. Such linearization simplifies the calculations for updating the system model without introducing significant errors.Indeed, since the system is updated regularly, the variations can be considered sufficiently small that the resulting linear model is not, locally, too far removed from the unapproximate model. For example, the linearized state equation is written: !$ = ;$!$9% 2 <$"$ 23$where !$ denotes the theoretical value of the output quantity ! at time #$, !$9% denotes the theoretical value of the output quantity ! at time #$9%, "$ denotes the value of the input quantity " at time #. $ , Or ; $ and < $ denote matrices with respective coefficients and A ? $ @, B and C being non-zero natural numbers, and where 3 $ is Gaussian white noise. The Kalman filter can be an augmented Kalman filter on the augmented output variable! D resulting from a concatenation of the output quantity ! and the coefficients > ? $ @ and A ? $In one or more embodiments, the system may be a massage device comprising a massage head and a control module, the control module being connected to a solenoid valve linked to a pump, the solenoid valve being further connected to the massage head, the control module being configured to control a percentage opening of the solenoid valve to generate a vacuum in the massage head, the amplitude of said vacuum being related to the percentage opening of the solenoid valve, wherein the output quantity corresponds to the amplitude of the vacuum generated in the massage head and the input quantity corresponds to the percentage opening of the solenoid valve. "Vacuum" is understood to mean a negative pressure difference in the massage head relative to atmospheric pressure.In other words, the pressure inside the massage head is lower than atmospheric pressure, and the vacuum represents the (negative) difference between the pressure in the massage head and atmospheric pressure. When the massage head is applied to the subject's skin (on its surface), this vacuum draws the skin into the massage head. This suction creates a skin fold, which can then be worked (massaged) using mechanical actuators, such as flaps or rollers. In alternative embodiments, the system can be a car, in which the output quantity corresponds to the car's speed and the input quantity corresponds to the percentage of throttle opening of the car's throttle body. Of course, the control method according to the invention can be used for systems other than the two examples mentioned above.It can be used for any automatic system in which one or more output variables depend on one or more input variables. In one or more embodiments, each instant #. $ is separated by the next instant # $.% of a time interval between 5 ms and 15 ms. Such a time interval represents a good compromise between accuracy (the shorter the time interval, the more accurate the update) and computational cost. Another aspect of the invention relates to a system comprising a control module configured to control a value of an output quantity, the output quantity being a function of an input quantity, the control module being configured to: for each instant of a plurality of instants (where , ... $ )of the output quantity!*; – obtain a state-space model of the system comprising: a state equation modeling the evolution of a theoretical value of the output quantity! from a value of the input quantity"; and a measurement equation modeling the relationship between an observed value + of the output quantity and the theoretical value of the output quantity!*; – receive an observed value + $ of the output magnitude; – update the state equation of the system's state-space model from the observed value + $ received; – determine a value " $ of the input magnitude " to obtain the target value! $ ) of the output magnitude! using a predictive control algorithm based on the updated system model; and – control the system from the value " $of the input quantity " determined. In one or more embodiments, the system further includes a sensor configured to measure the observed values ​​+%, ^, +' of the output quantity. In one or more embodiments, the system may be a massage device comprising a massage head and the control module, the control module being connected to a solenoid valve connected to a pump, the solenoid valve being further connected to the massage head, the control module being configured to control a percentage opening of the solenoid valve to generate a vacuum in the massage head, an amplitude of said vacuum being related to the percentage opening of the solenoid valve, in which the output quantity ! corresponds to the amplitude of the vacuum generated in the massage head and the input quantity " corresponds to the percentage opening of the solenoid valve.In alternative embodiments, the system can be an automobile, in which the output quantity corresponds to the car's speed and the input quantity corresponds to the percentage of throttle opening of the car's throttle body. A computer program implementing all or part of the method described above, installed on pre-existing equipment, is itself advantageous. Thus, the present invention also relates to a computer program product comprising instructions for implementing the method described above when this program is executed by a processor. This program can use any programming language (for example, an object-oriented language or other) and can be in the form of interpretable source code, partially compiled code, or fully compiled code. Figure 4, described in detail below, can form the flowchart of the general algorithm of such a computer program.The invention and its various applications will be better understood upon reading the following description and examining the accompanying figures. BRIEF DESCRIPTION OF THE FIGURES Other features and advantages of the invention will become apparent upon reading the description, which can be read in conjunction with the figures. These figures are provided for illustrative purposes only and are not intended to limit the scope of the invention. Figure 1a shows the time evolution of the pressure drop within a massage head of a prior art massage device operating in continuous mode. Figure 1b shows the time evolution of the pressure drop within a massage head of a prior art massage device operating in intermittent mode. Figure 2 shows the deviations between target pressure drop values ​​and observed pressure drop values ​​on a massage device whose massage head has a leak.Figure 3 shows an example of a system in which a control method according to an embodiment of the invention can be used. Figure 4 shows a control method according to an embodiment of the invention. Figure 5 shows the vacuum generated within the massage head of the massage device of Figure 2 when the control method of Figure 4 is used. Figure 6 shows an example of a module configured to implement a control method according to an embodiment of the invention. Figures 7a and 7b show time variations of the vacuum obtained using a control method according to the invention. DETAILED DESCRIPTION Figure 3 shows an example of a system in which a control method according to an embodiment of the invention can be used. The system in Figure 3 is a massage device, but it is understood that the invention is not limited to this type of system.The massage device 100 in Figure 3 includes at least one massage head 1a, 1b (also called a treatment head) intended to be applied to a subject's skin. For example, the massage device 100 may include a massage head 1a intended for use in massaging a part of a subject's body, the massage head 1a being configured to suction the subject's skin and optionally including one or two motorized rollers associated with one or two motorized flaps to stimulate the skin during suction. Alternatively or in addition, the massage device 100 may include a massage head 1b intended for use in massaging a subject's face, the massage head 1b being configured to suction the subject's skin and optionally including one or two motorized flaps to stimulate the skin during suction.The massage device 100 further includes a control system 2 configured to generate a vacuum within the massage head(s) 1a, 1b. For example, the control system 2 can be connected to the massage head(s) 1a, 1b by at least one respective suction duct 3a, 3b. If the massage device 100 includes several massage heads 1a, 1b, the control system 2 can be configured to generate a vacuum within a single massage head 1a, 1b, or within several massage heads 1a, 1b. In the latter case, the magnitude of the generated vacuum can vary from one massage head to another. Optionally, a filter 4a, 4b can be placed between the control system 2 and each massage head 1a, 1b to collect impurities such as dead skin or dust.Thus, each suction duct 3a, 3b can comprise two portions: one connecting the control system 2 to the filter 4a, 4b, and the other connecting the filter 4a, 4b to the massage head 1a, 1b. For example, the control system 2 can be an electropneumatic system comprising a control module 21 and a suction device 22 connected to the control module 21. The suction device 22 is connected to the massage head 1 by at least one suction duct 3a, 3b. The suction device 22 is configured to generate suction, thereby creating a vacuum within a massage head 1a, 1b. The vacuum thus generated draws the subject's skin into the suction when the massage head 1a, 1b is applied to the subject's skin. For example, as shown in Figure 3, the suction device 22 may include two pumps 221, 222.Using two pumps allows for good suction efficiency while minimizing the number of components in the suction device, but it should be noted that it is possible to use a single pump or more than two pumps. Each pump 221, 222 can be associated with a respective solenoid valve 223, 224, for example, a proportional solenoid valve, allowing the generated vacuum to be varied. The suction device 22 can further include a third solenoid valve 225, for example, a proportional one, connected to atmospheric pressure, to adjust the vacuum generated within the pipe 226 that connects the solenoid valves 223, 224, 225 to the massage head(s) 1a, 1b. In one embodiment, the two solenoid valves 223, 224 can be controlled similarly in parallel, that is, they can be set simultaneously to the same percentage of opening.Thus, to adjust the depression generated within pipe 226, it is possible to control two parameters (or "input quantities"). % And " & , Or " % represents the percentage of opening of solenoid valves 223 and 224 connected to pumps 221 and 222, and where " & represents the percentage opening of the solenoid valve 225 connected to atmospheric pressure. Other embodiments are of course possible. In particular, the two solenoid valves 221 and 222 can be controlled independently, and can thus have different percentage openings. In this case, it is possible to control three input quantities " % , " & And " E , Or " % represents the percentage of opening of the solenoid valve 223 connected to the pump 221, % represents the percentage of opening of the solenoid valve 224 connected to the pump 222, and " Erepresents the percentage of opening of solenoid valve 225 connected to atmospheric pressure. For the sake of simplicity, the examples below are given in the case where the solenoid valves are controlled similarly in parallel, and therefore there are two input quantities " % And " &In the case where the massage device 100 includes several massage heads 1a, 1b, the massage device 100 may also include selector solenoid valves 227, 228. Each selector solenoid valve 227, 228 may, for example, be arranged between the pipe 226 and the corresponding massage head 1a, 1b, to manage the vacuum generated within each massage head 1a, 1b. For example, when a vacuum is generated in only one of the massage heads 1a, 1b, the solenoid valve associated with that massage head may be in the open position, while all the other solenoid valves are in the closed position. When vacuums are generated within several massage heads simultaneously, the solenoid valves 227, 228 can be configured to "distribute" the suction from the pipe 226 to the different massage heads 1a, 1b according to the desired vacuum in each of the massage heads 1a, 1b.Thus, in these embodiments, the selection solenoid valves 227, 228 are arranged between the pipe 226 located at the outlet of the solenoid valves 223, 224, 225 and the pipe(s) 3a, 3b connecting the control system 2 to the massage head(s) 1a, 1b. The vacuum generated within each massage head 1a, 1b can be determined using at least one pressure sensor 5a, 5b. For example, a pressure sensor 5a, 5b can be positioned on each pipe 3a, 3b connecting the control system 2 to a respective massage head 1a, 1b, to determine the vacuum actually generated within that massage head 1a, 1b. For the sake of simplicity, it is assumed that a vacuum is generated within only one massage head 1a, 1b. It is understood that the invention is not limited to this scenario.The control module 21 can thus be configured to send a control signal comprising a given vacuum profile to the suction device 22. Upon receiving this control signal, the suction device 22 can be configured to generate suction to create a vacuum in the massage head 1a, 1b corresponding to the vacuum profile of the control signal. Therefore, the control system 2 allows for the control of a vacuum within the massage head 1a, 1b according to a given vacuum profile. A vacuum profile corresponds to a vacuum function representing a temporal variation of the vacuum generated in the massage head 1a, 1b.Today, massage devices such as those shown in Figure 3 allow for skin suction in several modes, including: – a so-called “continuous” mode, in which suction is generated by applying a constant vacuum in the massage head, the suction power being chosen by the operator; and – an “alternating” mode, comprising a succession of suction and release cycles through alternating high and low vacuum levels in the massage head. Figures 1a and 1b illustrate such modes known from the prior art. In particular, Figure 1a represents the temporal evolution of the vacuum within the massage head in continuous mode, and Figure 1b represents the temporal evolution of the vacuum within the massage head in alternating mode.In Figures 1a and 1b, the x-axis represents time and the y-axis represents the negative pressure generated within the massage head. In continuous mode, shown in Figure 1a, suction is applied to the subject's skin, generating a constant negative pressure, equal to a fixed pressure value pF and possibly pre-selected by the operator, within the massage head. In alternating mode, shown in Figure 1b, a succession of suction and release cycles is applied to the subject's skin. This is achieved by alternating phases during which a negative pressure of value p2 is generated in the massage head with phases during which a weaker negative pressure, of value p1 < p2, is generated in the massage head. The duration ΔT2 of the p2 negative pressure phases and the duration ΔT1 of the p1 negative pressure phases may be equal or different.As mentioned above, both modes allow the subject's skin to be drawn into a suction cup to form a skin fold inside the massage head. Mechanical actuators on the massage head, such as flaps or rollers, then perform a massage on the suctioned skin. It should be noted that it is possible to generate more complex suction profiles, such as sinusoidal profiles (i.e., the graph of the suction function is a sinusoidal curve). Generally, the suction function can be any function, such as a periodic function. Referring again to Figure 3, the suction profile can be provided to the control system 2 via a user interface 6, such as a set of buttons and / or a touchscreen.For example, user interface 6 can be connected to control module 21, and the operator can select, via user interface 6, a pressure profile from among several predefined pressure profiles stored in control module 21. It is understood that the "pressure profile" (such as the one shown in Figure 1a or 1b) represents the desired pressure within the massage head, i.e., the "target" (or "setpoint," or "ideal") pressure. In other words, the pressure profile corresponds to the pressure ideally desired in the massage head. Currently, this difference is controlled by a PID (Proportional, Integral, Derivative) algorithm, which allows adjustment of the pressure generated within the massage head. The coefficients of this algorithm are defined before the massage devices are manufactured and are identical for all devices within the same range.However, devices within the same product line can exhibit significant variations, particularly for the following reasons: – massage heads coming off the production line may have considerable differences in sealing due to the mechanical components they incorporate (e.g., valves); – the sealing of the heads degrades over time. A massage head with a satisfactory level of sealing upon leaving the production line may develop significant leaks after numerous uses; – the heat generated by the massage device during use leads to changes in the electropneumatic system. Thus, the difference between the target and observed pressure drop is generally greater when the device is in operation for an extended period (e.g., several hours); – the buildup of dirt in the hoses; – the shape of the area to which the massage head is applied can cause leaks.Thus, the coefficients of the control algorithm, set based on a predefined sealing level for a range of massage devices, are not suitable when a device has a sealing level that deviates from this predefined level. The difference between the target pressure drop curve and the pressure drop curve actually obtained with the PID controller is shown in Figure 2. Figure 2 thus represents two curves: a first curve 210 (solid line) which corresponds to a target pressure drop curve, and a second curve 220 (dotted line) which corresponds to the pressure drop curve actually observed. In the example in Figure 2, the target pressure drop curve 210 (i.e., the setpoint) is linearly increasing. The observed pressure drop curve 220 was obtained on a massage device whose massage head had a poor seal.It can be observed that the actual observed value (observed depression curve 220) very quickly deviates from the target value (target depression curve 210). Currently, in such cases, the operator (i.e., the person operating the massage device) compensates for the difference between the observed and target values ​​by manually increasing or decreasing the applied depression. For example, with the massage device used to generate the observed depression curve 220 in Figure 2, the operator must select a depression value of 240 mbar to obtain an actual depression of 200 mbar in the massage head. Note that in the example in Figure 2, the observed depression curve 220 reaches a ceiling around a value Th ≈ 260 mbar. This is the maximum depression achievable for the massage device.Thus, for a target value beyond this Th value, the observed pressure drop cannot reach the setpoint value. Therefore, the pressure drop actually observed within the vacuum head 1a, 1b (obtained using the associated pressure sensor 5a, 5b) does not exactly match the target pressure drop and may even deviate considerably, despite the use of a PID controller. To effectively compensate for this discrepancy, the invention proposes using a control method that efficiently regulates the suction, so as to obtain an observed pressure drop closer to the target pressure drop. More specifically, the control method according to the invention proposes updating the system model in real time and generating a control signal from the updated model. In particular, the control method according to the invention uses a predictive control technique, which utilizes a system model updated in real time.Real-time control means that the system model is updated at a predefined frequency while the system is operating. The model update frequency depends on the system's speed and can be determined by experts. For example, when the system is a vacuum massage device like the one in Figure 3, the frequency could be on the order of 10 milliseconds (ms), for example, between 5 ms and 15 ms. Figure 4 shows an example of such a control method. If the control method in Figure 4 is used to control a massage device 100 like the one in Figure 3, this control method can be implemented by the control module 21, or by another dedicated module of the massage device 100 connected to the control module 21. The method in Figure 4 is an iterative process, in which each iteration comprises the steps 410 to 470 described below.The iterations are implemented at successive times #%, #&, ^ ,. with G a non-zero natural number, such that #% H #& HIH #F. Steps 410 to 470 are now described during an iteration corresponding to a time # $.% assuming, therefore, that steps 410 to 470 correspond to the previous instant # $ are complete. During step 410, a target value! $ ) . % of an output magnitude! of the system at time # $.% is obtained. This is the target value! $ ) . % the output magnitude corresponds to the desired output value of the system at time # $.%By "output quantity," we mean a physical quantity obtained at the output of the system under consideration. For example, when the system is a vacuum massage device like the one in Figure 3, the output quantity of the system might correspond to the vacuum generated within the massage head. When, in another example, the system is a car, the output quantity of the system might correspond to the car's speed. It should be noted that there can be several output quantities of the system (for example, in the case of two massage heads operating simultaneously, a first output quantity of % Perhaps the depression generated within the first massage head and a second output size! &(may be the vacuum generated within the second massage head). In general, the control method according to the invention can be extended to any system in which an output quantity depends on a set of system input quantities "%, "&, ^, "J, where K is a non-zero natural number. These system input quantities are physical quantities related to the operation of the system. For example, in the case of the vacuum massage device in Figure 3, there may be two system input quantities " % And " & , Or " % corresponds to the (common) percentage of opening of the solenoid valves 223 and 224 connected to the pumps 221 and 222, and " & corresponds to the percentage of opening of solenoid valve 225 connected to atmospheric pressure. In the case of a car, the input quantity of the system " %This could be the percentage of throttle body opening, which controls the amount of oxidizer (in this case, air) sent to the combustion chamber. In the process example in Figure 4, this is a target value! $ ) . % of the output magnitude can be received at each iteration. It is noted that in some embodiments, a set of target values ​​can be obtained "all at once", for example: –in the form of a plurality of values ​​{!) ) )%, !& , ^ , !F}, G being a non-zero natural number, each value ! $ ) being associated with a respective moment # $ (with 6 between 1 and G) such that #% H #& HIH #F*; or – in the form of a time function! )0#1. In the first case, the module implementing the process obtains a set of desired values ​​over several future time steps in a single block. In the second case, the module implementing the process obtains the function representing the desired temporal variations for the output quantity (for example, the module can obtain the desired depression profile). It is noted that in all cases, the values ​​can be modified during the process (for example, the operator can manually adjust the applied depression value, or can select a new depression profile). Regardless of the embodiment, it is possible to determine the target value at each iteration! $ ) . % desired output size! at this moment # $.% Thus, for step 410, it is noted that by "obtain a target value!" $ ) . % "We hear that the target value!" $ ) .% can be received directly by the module implementing the process, or determined by that module. At step 420, a model of the system at time # $.% is obtained. This model is typically a state-space model of the form: !$.% = / 0!$, "$123$.%***********0L1+$.% = 40!$.%125$.%**************0M1where ! $ is the value of the output quantity at time # $ , ! $.% is the value of the output quantity at time # $.% , + $.% is the value of the observed quantity + at the system output (measured, for example, using a sensor, such as pressure sensors 5a, 5b in Figure 3) at time # $.% , " $ is the value of the input quantity vector (called the control vector) at time # $ 3 $.% represents the value of an evolution noise at time # $.% and 5 $.% represents the value of a measurement noise at time # $.%As mentioned previously, !, + and " can be vectors: with (, K and S) non-zero natural numbers. Thus, the noise from evolution and measurement can also be vectors: It is assumed that the noise of evolution 3 $.% follows a centered Gaussian distribution and covariance matrix T$.%*:3$.%*~*U0VQ T$.%1W. It is also assumed that the measurement noise 5 $.% follows a centered Gaussian distribution and covariance matrix X$.%*:5$.%*~*U0VQ X$.%1W For example, in the case where the evolution equation (1) is linear, this evolution equation can be written: with ; and < two matrices: In what follows, ! can be called output quantity, output variable, or output vector. Similarly, " can be called input quantity, input variable, or input vector. Finally, + can be called observed quantity, observed variable, or observed vector. For example, in the case where the system is the vacuum massage device in Figure 3: – the output vector ! comprises a single component that corresponds to the vacuum generated within the selected massage head 1a, 1b; – the input vector comprises 2 components " % And " & , Or " % corresponds to the percentage of open (common) solenoid valves 223 and 224 connected to pumps 221 and 222, and " &corresponds to the percentage opening of the solenoid valve 225 connected to atmospheric pressure; and – the vector + observed at the output includes a component that corresponds to the actual pressure drop observed in the selected massage head 1a, 1b (determined by the corresponding pressure sensor 5a, 5b). Equation (1') then becomes: !$.% = [!$ 2 %̂"%$ 2 ^&"&$ 23$.%**W In general, the function / of the evolution equation (1) can be put into parametric form, with a set of parameters _ @̀a%b@bc, where d is a non-zero natural number. In particular, the function / can be a polynomial function. For example, in the case where the system is the vacuum massage device in Figure 3, the evolution equation (1) can be a second-order polynomial equation of the form: In what follows, for the sake of simplicity, it is assumed that the covariance matrices T $.% and X $.%Noise from evolution and measurement is constant, and therefore does not depend on the moment. $Considered. Thus, the evolution noise is simply denoted 3 and is assumed to follow a Gaussian distribution U0V*Q T1, and the measurement noise is simply denoted 5 and is assumed to follow a Gaussian distribution U0V*Q X1. The model (1)-(2) of the system can, for example, be obtained analytically (from physical laws that govern the system's operation), or using a system identification algorithm, in which (known) input data are provided to the system, and the model is determined from the outputs obtained from the provided input data (and possibly from prior knowledge of the system, particularly regarding the physical principles involved). However, the model thus obtained is generally not perfect. For example, when the system is in operation, it heats up, and this heating can modify the relationships between the inputs and outputs.To avoid prediction errors due to discrepancies between the theoretical model (1)-(2) of the system and the actual relationships between the system's inputs and outputs, the invention proposes updating the model at each iteration, based on the observed variable +. For example, when the function / is a parametric function depending on the parameters _ @̀a%b@bc, the parameters _ @̀a%b@bc can thus be updated at each iteration. This update is detailed below with reference to step 450 of Figure 4. Referring again to Figure 4, at a step 430 of the process, a value +. $.% of the quantity observed at the system output is received. This value is typically measured using a sensor and sent by the sensor to the module implementing the process in Figure 4. During step 440, a value !: $.%|$.% of the output variable ! is determined from the system model obtained in step 420 and the value +$.% observed at the system output received in step 430. Step 440 can be implemented using any prior art filtering algorithm, for example, Kalman filter-type algorithms or particle filtering algorithms. In step 450, the system model is updated from the value + $.%observed at the system output received in step 430. There are various prior art methods for estimating the parameters of a state-space model, particularly iterative methods that update the parameters estimated in the previous iteration at each iteration – such as expectation-maximization (EM) algorithms. In some embodiments, step 440 can be implemented using a Kalman filter-type algorithm, such as a classical Kalman filter, an extended Kalman filter, or an unscented Kalman filter, and step 450 can be implemented using an EM algorithm. In these embodiments, steps 440 and 450 are implemented sequentially. Alternatively, steps 440 and 450 can be implemented concurrently.For example, it is possible to use an augmented output vector! D , which includes both the components of the output vector ! and the set of parameters of the system model, and determines D r the value !$.% of the output vector augmented at time # $.% starting from the value + $.% observed. In particular, an Augmented Kalman Filter type algorithm (known from the prior art) can be used. An example of such an algorithm is now presented. Consider the augmented output vector: ***********0n1W We obtain the new state-space: !D $.% = / D0!D $, "$123D$.% ************0o1+$.% = 4D0!D$.% 125$.%****************0p1A Kalman filter (in particular, a nonlinear Kalman filter, for example an extended Kalman filter or a perfume-free Kalman filter) can then be used on this new state-space model to deduce the predicted output variable !$.% = !:$.%|$.% (estimate of the value of the output variable ! at time #$.% knowing the observed value + $.% During the first iteration of the process in Figure 4, initial values ​​are used. These initial values ​​can be predetermined and depend on the system under consideration. Then, in a conventional manner, the Kalman filter comprises two steps: a prediction step and an update step. The notation follows: R D | q and r R|q denote the estimate and covariance of the estimator obtained for the augmented output variable! D at this moment # Rfrom the observations + up to the moment # q The prediction step is written as follows: in which equation (5) has been linearized using the Jacobian matrix: Then, the update step is written: in which the measurement equation (6) is linearized using the Jacobian matrix: It is noted that the model is updated at each iteration, at a predefined frequency whose value is fixed according to the system considered, to be adapted to the system's evolution rate. For example, the iteration frequency can be on the order of 10 ms, for example between 5 ms and 15 ms. Over this short period, the linear approximation of the model via Jacobian matrices does not generate significant errors. We can then deduce on the one hand the estimation !: of the variable ^ ^w$.%|$.% output ! = !%*Q !&*Q ^ Q !' , and on the other hand the updated values ​​of the coefficients of the system [$.% = ^[%%*Q ^ Q [''^w $.% et^ ^ 'J^w $.% = %̂%*Q ^ Q ^ $.% . It is recalled that the above example is by no means limiting, and that other filtering or estimation algorithms can be used. Referring again to Figure 4, at the end of step 450, the system coefficients were updated using the observed value + $.% During step 460, a classical regulation algorithm can be used, based on the updated coefficients, to determine the values ​​of the input quantities "%, ^, "J to be supplied to the system at time # $.% to obtain the setpoint value! $ ) . %of step 410. This step 460 is typically implemented using a predictive control algorithm (called MPC, for "Model Predictive Control"). Such algorithms are based on using a model of the system to predict the system output, and thus adjust the setpoint (i.e., the input values) so that the system output coincides with the desired output (i.e., the "target" or "setpoint" output), over a finite horizon. Such algorithms are known from the prior art and are not detailed further here. Depending on the embodiment, the control algorithm used in step 460 can use either the observed value + $.% and measured by the sensor, i.e., the estimated value! $.%|$.%obtained at the end of step 440. It is noted that in prior art predictive control algorithms, the system model is fixed. In the present invention, this model is updated at each iteration, based on the observations received. Coupling a predictive control algorithm with an estimation algorithm allows for much more flexible and efficient adaptation to variations in the system (due to prolonged use or wear of certain parts). Thus, the control method of the invention allows for much finer adaptation than conventional predictive control algorithms. It is noted that, due to the regular updating of the model, it is not necessary to choose a large prediction horizon for the predictive control algorithm; a prediction horizon of 1 or 2 is sufficient.The values ​​of the input quantities "%, ^, "J" determined in step 460 are then provided as inputs to the system in step 470. As mentioned previously, the control method of Figure 4 can be implemented within any automatic system. Some application examples are now detailed. According to a first example, the system is an automobile, and the method is used to control the speed of the automobile. Regulating the speed of the automobile using a throttle body to control the amount of air injected into an internal combustion engine can be modeled by a SISO system, in which the output variable ! represents the speed of the vehicle and the input variable " represents the percentage of throttle body opening. This system can be modeled by a state-space model, whose evolution equation can, for example, be linearized over each time interval separating two consecutive instants #.$ , # $.% Such a linearized evolution equation can thus be written: !$.% = [$!$ 2 ^$"$ 23^with 3 ^ Gaussian white noise. We can then define the augmented vector: We then have: with 3 and 3 being two white noises D w^ ^ s Gaussians and 3 = ^3^*Q *3^*Q *3^^ . The measurement equation can also be written: with 5 ^^^ Gaussian white noise. We then recover equations (7) to (13), with: And : According to a second example, the system is a massage device like the one shown in Figure 3, and the process is used to control the vacuum generated within the massage head. As detailed above, such a device is a MISO (multiple-inputs multiple-outputs) system with 2 inputs and 1 output, the first input variable being " %representing the (common) opening percentage of solenoid valves 221, 222 connected to pumps 223, 224, the second input variable representing the opening percentage of solenoid valve 225 connected to atmospheric pressure, and the output variable representing the vacuum generated in pipe 226. This system can be modeled by a state-space model, whose evolution equation can, for example, be linearized over each time interval separating two consecutive instants. $ , # $.% Such a linearized evolution equation can thus be written: !$.% = [$!$ 2 %̂$"%$ 2 ^&$"&$ 23^with 3 ^ Gaussian white noise. We can then define the augmented vector: We then have: Gaussian and 3D white noise = The measurement equation can also be written as: += ! 25 = 4D0!D$.% $.% ^^^ $.% 125^^^with 5 ^^^ Gaussian white noise. We then recover equations (7) to (13), with: And : Of course, other applications are conceivable, for example, thermal regulation in a building, control of the water level in a thermal power plant's storage tank, control of the superheated steam temperature in a thermal power plant, etc. Generally speaking, the invention can be used in any system whose regulation is performed using a control algorithm based on a linear model (pole placement, linear quadratic control, etc.) or a non-linear model (e.g., predictive control). The invention proposes updating the system model at a "high" frequency. By "high" frequency, it is understood that a frequency high enough to anticipate variations in the model is required. Such a frequency depends on the system under consideration.For example, in the case of speed control for an automobile or control of the vacuum generated within the massage head of an electropneumatic massage device, this frequency can be between 50 Hz and 200 Hz. Figure 5 represents the vacuum generated within the massage head of the massage device shown in Figure 2, when the control method of Figure 4 is used. In Figure 5, the solid line represents the "target" output variable. )(i.e., the desired pressure drop in the massage head). This curve 510 is the same as curve 210 in Figure 2. Curve 520, shown as dots, represents the observations (+) (i.e., the pressure drop measured at the outlet of the massage head) with the conventional PID controller. This curve 520 is the same as curve 220 in Figure 2. Finally, curve 530, shown as dashes, represents the observations (+) obtained with the control method according to Figure 4. It appears from this figure that the observed value (+) with the control method according to the invention is much closer to the target value! )Thus, the control method according to the invention allows for much more precise regulation than a conventional PID controller. The root mean square errors were calculated for both curves, for setpoint values ​​between 30 mbar and 270 mbar (incremented in 30 mbar steps). A root mean square error of 27.5 was obtained for curve 520 obtained with the conventional PID controller, and a root mean square error of 3.3 for curve 530 obtained with the control method according to the invention. As shown in Figure 2, it is noted that the observed pressure drop curves 520 and 530 reach a ceiling around a value Th ≈ 260 mbar, which corresponds to the maximum achievable pressure drop for the massage device. Figure 7a represents the pressure drop observed in the massage head in continuous mode, i.e., when the target pressure drop follows the curve in Figure 1a.Figure 7b shows the observed pressure drop in the massage head in alternating mode, i.e., when the target pressure drop follows the curve in Figure 1b. Figures 7a and 7b show that the control method according to the invention makes it possible to obtain an actual pressure drop generated within the massage head that closely follows the target pressure drop, even during jumps in the target pressure drop value. Figure 6 shows an example of a module 600 configured to implement the control method of Figure 4. In the case where the system is a massage device like the one in Figure 3, such a module 600 could be, for example, control module 21. In these embodiments, the module 600 includes a memory 601 for storing instructions enabling the implementation of the method, and temporary data for carrying out different steps of the control method of Figure 4. The module 600 further includes a circuit 602.This circuit 602 can be, for example, a processor capable of interpreting instructions in the form of a computer program, an electronic board whose steps of the invention's process are described in silicon, or a programmable electronic chip such as an FPGA (Field-Programmable Gate Array). The module 600 includes an input interface 603 for receiving a set of setpoint values, and an output interface 604 for providing the values ​​of the input variable to obtain the set of setpoint values. The module 600 can be connected to a user interface (for example, user interface 6 in Figure 3) to receive instructions from the user. The functional diagram shown in Figure 4 is a typical example of a program in which certain instructions can be executed by the described device.In this respect, Figure 4 can correspond to the flowchart of the general algorithm of a computer program within the meaning of the invention.

Claims

CLAIMS

1. A method, implemented by computer, for controlling a system (100) in which an output quantity ! is a function of an input quantity", the method comprising: for each instant #$ of a plurality of instants #%, #&, ^ , (where a non-zero natural number is: - obtain (410) a target value!) $ ) of the output quantity !*; - obtain (420) a state-space model of the system comprising: ▪ a state equation modeling an evolution of a theoretical value of the output quantity ! from a value of the input quantity ", the state equation being written !$ = / $9%0!$9%, "$9%123$, where !$ corresponds to the theoretical value of the output value at time#$,*"$9% corresponds to the value of the input quantity at time#$9%, !$9% corresponds to the theoretical value of the output value at time # $9% 3 $ corresponds to a noise value at time # $ and where / $9%is a function depending on a set of parameters; and ▪ a measurement equation modeling a relationship between an observed value + of the output quantity and the theoretical value of the output quantity !*; - receive (430) an observed value + $ of the output magnitude; - update (450) the state equation of the system's state-space model from the observed value + $ received, the update of the state equation including an update of the function's parameter set / $9% from the observed value +$ received ;- determine (460) a value " $ of the input magnitude " to obtain the target value! $ ) of the output magnitude! using a predictive control algorithm based on the updated system model; and - command (470) the system from the value " $of the input quantity "determined.

2. Method according to claim 1, further comprising: - determining (440) an estimate !: $|$ of a value of the output quantity! from the observed value + $ received; in which the determination (460) of the value " $ of the input magnitude" is further based on the estimate! $|$

3. A method according to claim 1 or 2, wherein the update (450) of the state equation of the state-space model is implemented using a filtering algorithm.

4. A method according to claim 3, wherein the filtering algorithm is a Kalman filter.

5. A method according to any one of claims 1 to 4, wherein the update (450) of the state equation of the state-space model of the system comprises a linearization of the state equation.

6. A method according to claim 5 in combination with claim 4, wherein the linearized state equation is written: !$ = ;$!$9% 2 <$"$ 23$where ! $ denotes the theoretical value of the output quantity! at a given time # $ , ! $9% denotes the theoretical value of the output quantity! at a given time # $9% , " $ denotes the value of the input quantity " at time # $ , Or ; $ and < $denote matrices with respective coefficients $ and A ?@ , B and C being non-zero natural numbers, and where 3 $ is a Gaussian white noise, in which the Kalman filter is an augmented Kalman filter on the augmented output variable! D resulting from a concatenation of the output quantity and the coefficients in which the update of the state equation includes an update of the coefficients and A ? $ @ thanks to the augmented Kalman filter.

7. A method according to any one of the preceding claims, wherein the system (100) is a massage device comprising a massage head (1a, 1b) and a control module (2), the control module (2) being connected to a solenoid valve (223, 224) which is connected to a pump (221, 222), the solenoid valve (223, 224) further being connected to the massage head (1a, 1b), the control module (2) being configured to control a percentage opening of the solenoid valve (223, 224) to generate a vacuum in the massage head (1a, 1b), an amplitude of said vacuum being related to the percentage opening of the solenoid valve (223, 224), wherein the output magnitude! corresponds to the amplitude of the depression generated in the massage head (1a, 1b) and the input quantity " corresponds to the percentage of opening of the solenoid valve (223, 224).

8. A method according to any one of claims 1 to 6, wherein the system (100) is an automobile, in which the output quantity ! corresponds to a speed of the automobile and the input quantity " corresponds to a percentage of opening of a throttle body of the automobile.

9. A method according to claim 7 or 8, wherein each instant #$ is separated from a subsequent instant #$.% by a time interval of between 5 ms and 15 ms.

10. A system (100) comprising a control module configured to control a value of an output quantity !, the output quantity ! being a function of an input quantity ", the control module being configured for: for each instant #$ of a plurality of instants #%, #&, ^ ,. (where a non-zero natural number is: - obtain (410) a target value!) $ )of the output quantity !*; - obtain (420) a state-space model of the system comprising: ▪ a state equation modeling an evolution of a theoretical value of the output quantity ! from a value of the input quantity ", the state equation being written !$ = / $9%0!$9%, "$9%123$, where !$ corresponds to the theoretical value of the output value at time#$,*"$9% corresponds to the value of the input quantity at time#$9%, !$9% corresponds to the theoretical value of the output value at time # $9% 3 $ corresponds to a noise value at time # $ and where / $9% is a function depending on a set of parameters; and ▪ a measurement equation modeling a relationship between an observed value + of the output quantity and the theoretical value of the output quantity !*; - receive (430) an observed value + $of the output magnitude; - update (450) the state equation of the system's state-space model from the observed value + $ received, the update of the state equation including an update of the function's parameter set / $9% from the observed value +$ received ;- determine (460) a value " $ of the input magnitude " to obtain the target value! $ ) of the output magnitude! using a predictive control algorithm based on the updated system model; and - control (470) the system from the value " $of the input quantity " determined.

11. System (100) according to the preceding claim, further comprising a sensor (5a, 5b) configured to measure the observed values ​​+%, ^ , +' of the output quantity.

12. System (100) according to claim 10 or 11, wherein the system (100) is a massage device comprising a massage head (1a, 1b) and the control module (2), the control module (2) being connected to a solenoid valve (223, 224) connected to a pump (221, 222), the solenoid valve being further connected to the massage head (1a, 1b), the control module (2) being configured to control a percentage opening of the solenoid valve (223, 224) to generate a vacuum in the massage head (1a, 1b), an amplitude of said vacuum being related to the percentage opening of the solenoid valve (223, 224), wherein the output magnitude! corresponds to the amplitude of the depression generated in the massage head (1a, 1b) and the input quantity " corresponds to the percentage of opening of the solenoid valve (223, 224).

13. A system according to claim 10 or 11, wherein the system is an automobile, in which the output quantity corresponds to a speed of the automobile and the input quantity corresponds to a percentage of throttle opening of the automobile.

14. A product computer program comprising instructions for implementing the method according to any one of claims 1 to 9 when this program is executed by a processor.

Citation Information

Patent Citations

  • Online monitoring and diagnostics in vehicle powertrains

    US20220154659A1

  • Real-time prediction and regulation methods and systems of product quality based on process dynamic pattern

    US20240028016A1

  • Individual pressure zone controlled cushion and support

    WO2023003784A1