Method of controlling a system
A real-time predictive control algorithm updates the state-space model in massage devices to compensate for system deviations, ensuring precise output control despite variations, addressing the instability issues of PID regulators in MIMO systems.
Patent Information
- Application Number
- FR2024004145
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-22
- Publication Date
- 2025-10-24
AI Technical Summary
Existing control methods for systems with multiple inputs and outputs are sensitive to noise, measurement errors, and system variations, leading to instability and complex implementation, particularly in MIMO systems, and PID regulators fail to adapt to deviations in sealing and operational changes in massage devices.
A predictive control algorithm that updates a state-space model in real-time using a Kalman filter to adjust input quantities and achieve target output values, compensating for deviations in massage devices by regularly updating the system model based on observed values.
The method ensures precise control of output quantities by adapting to system changes, reducing deviations and maintaining target values despite variations in sealing, heating, and mechanical discrepancies, enhancing operational stability and efficiency.
Smart Images

Figure 00000029_0000 
Figure 00000029_0001 
Figure 00000030_0000
Abstract
Description
Title of the invention: Method for controlling a system TECHNICAL FIELD OF THE INVENTION
[0001] 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.
[0002] For example, a control method according to the invention can be applied, in a non-limiting manner, 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 depression is generated in the massage head. TECHNOLOGICAL BACKGROUND OF THE INVENTION
[0003] For systems whose output quantity(ies) are functions of at least one input quantity, the values of the input quantity(ies) are fixed to obtain a setpoint (or target) value of the output value. In practice, there is always a difference between the setpoint value and the value actually obtained from the values of the determined input quantities.
[0004] To reduce this difference, it is known to use a system control mechanism. A controlled system is a system capable of autonomously developing or adjusting the control quantity or quantities (hereinafter called input quantities) to reach a setpoint value (hereinafter also called target value), from a measurement of the system output, for example acquired by means of one or more sensors.
[0005] The adjustment of the input quantity(ies) to obtain the target value is conventionally carried out using a regulation algorithm. The most widespread regulation algorithm is the PID regulator (or corrector), for “Proportional, Integral, Derivative”.
[0006] 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, and can make the system very unstable. In addition, the settings are complicated to implement in the case of MIMO (multiple input - multiple output) systems.
[0007] There are also control algorithms using a model of the system (e.g., pole placement algorithm, linear quadratic control algorithm - or "LQ control", predictive control algorithm, etc.). These Algorithms are very efficient on MIMO systems but are much more complicated to implement, and require a model (i.e. a differential equation modeling the evolution of the system) of the system to be regulated. The models can be obtained either analytically or by using other algorithms that analyze the 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.
[0008] There is thus a need for control methods which do not suffer from the aforementioned problems. The invention improves the situation. Summary of the invention
[0009] The invention provides 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 when the behavior of a machine does not follow the theoretical model of machines in the same range, or the predetermined theoretical model for this machine, the method makes it possible to correct the model to make it correspond more closely to 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.
[0010] One aspect of the invention thus relates to a computer-implemented method for controlling a system of which an output quantity x is a function of an input quantity u, the method comprising:
[0011] for each instant of a plurality of instants t\, ^n, n being an integer non-zero natural:
[0012] - obtain a target value of the output quantity x;
[0013] - obtain a state-space model of the system comprising: an equation of state modeling an evolution of a theoretical value of the output quantity x from a value of the input quantity u; and a measurement equation modeling a relationship between an observed value of the output quantity and the theoretical value of the output quantity x;
[0014] - receive an observed value of the output quantity;
[0015] - update the equation of state of the state-space model of the system from the observed value received;
[0016] - determine a value uk of the input quantity 11 to obtain the target value of the output quantity x using a predictive control algorithm based on the updated model of the system; and
[0017] - control the system from the value uk of the determined input quantity u.
[0018] By "output quantity" is meant a physical quantity relating to the system, which one seeks to control or command. By "input quantity" is meant a physical quantity relating to an operation of the system, the value of which has an influence on the output value.
[0019] By "controlling a system" is meant a control of the input quantity to reach a certain output value.
[0020] It is understood that there may be one or more input quantities and one or more output quantities. Also, the input and / or output quantities can be seen as vectors, the number of components of which corresponds to the number of quantities to be considered. Subsequently, the terminologies “quantity”, “vector” and “variable” can be used without distinction to designate the input or output quantity(ies).
[0021] The actually observed output value may differ from the expected output value for fixed input values. To mark this difference, the actually observed output value is here called the observed value y of the output quantity and the expected output value is called the theoretical value x of the output quantity.
[0022] Classically the theoretical output quantity x is called “hidden variable”, as opposed to the observed variable y.
[0023] By state-space model is meant a dynamic modeling of the system, which includes:
[0024] - one or more measurement equations describing how the variables observed (here, y) are generated by the hidden variables (here, x); and
[0025] - one or more equations of state describing how the hidden variables (here, x) are generated from their delay (i.e. past values of hidden variables) and control variables (also called input variables, here, H).
[0026] Such a state-space model can thus be written:
[0027] lxk+l = fk(Xk,Uk)+Wk+i L
[0028] where k is a non-zero natural integer, xk denotes the output quantity at time Uk denotes the input quantity at time ty and yk denotes the quantity observed at the output of the system at time and v*+i are two noises, which can be Gaussian white noises, assumed to be mutually independent (i.e. independent from one time to the next and independent between them) and independent of an initial state xo.
[0029] The first equation is conventionally called the evolution equation or state equation, and the second equation is conventionally called the measurement equation. fk can be called the evolution function, and hk+l can be called the measurement function.
[0030] It is noted that the above equations are not the only ones possible for a state-space model, in particular there may be index shifts in their writing. For example, the state equation can be written: = Mjt+i) +Hï+i- De Such variations induce some differences in the resolution of the model, but the general principles remain the same.
[0031] By "target value of the output quantity" is meant the value that one wishes to obtain at the output of the system. We also speak of "setpoint value", or simply "setpoint".
[0032] By "updating the state equation of the space-state model", it is understood that the parameters of the state equation (in particular, characteristic coefficients of the function fk) are updated from the observations received.
[0033] The state-space model obtained at the instant corresponds to the state-space model updated at the previous instant 4-1-
[0034] Thus, according to the invention, the model of the system is regularly updated with the observations 3^ received, and the input values uk to be used to obtain target values -¾ of the output quantity are determined from this updated model, thus allowing more precise control than if it were carried out from a predefined model.
[0035] The method may further comprise a prior step in which initial values are received, the initial values comprising: an initial value xo of the output quantity, an initial value Ho of the input quantity, an initial value of the evolution function, and the noise covariance matrices M;*+i and v*+i.
[0036] In one or more embodiments, the method may further comprise:
[0037] - determining an estimate of a value of the output quantity x from the observed value received;
[0038] and the determination of the value uk of the input quantity u is further based on the estimate x^.
[0039] Alternatively, the determination of the value uk of the input quantity u is further based on the observed value -¾ received.
[0040] In one or more embodiments, updating the state equation of the state-space model is implemented from a filtering algorithm.
[0041] It is recalled that a filtering algorithm is an algorithm which makes it possible to sequentially estimate the values of the hidden states •••' xk from the observed values -,¾.
[0042] When the method comprises determining the estimate of the value of the output quantity x from the observed value -¾ received, this determination can also be implemented by a filtering algorithm.
[0043] In particular, the updating of the state equation of the space-state model and the determination of the estimate x^ of the value of the output quantity x can be implemented by the same filtering algorithm.
[0044] For example, the filtering algorithm may be a Kalman filter.
[0045] 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 unscented Kalman filter.
[0046] It is understood that other filtering algorithms may be used, for example particle filtering algorithms.
[0047] In one or more embodiments, updating the equation of state of the state-space model of the system comprises linearizing the equation of state.
[0048] Such linearization makes it possible to simplify the calculations for updating the system model, without however generating significant errors. Indeed, as the system is updated regularly, the variations can be considered sufficiently small so that the linear model obtained is not, locally, too far from the non-approximate model.
[0049] For example, the linearized equation of state is written:
[0050] x^A^ + B^ + Wk
[0051] where xk denotes the theoretical value of the output quantity x at an instant denotes the theoretical value of the output quantity x at an instant ^-1, Uk denotes the value of the input quantity u at the instant where Ak and Bk denote matrices of respective coefficients and i and j being unnullified natural integers, and where wk is a Gaussian white noise. The Kalman filter can be an augmented Kalman filter on the augmented output variable xa resulting from a concatenation of the output quantity x and the coefficients a^- and .
[0052] In one or more embodiments, the system may be a massage apparatus comprising a massage head and a 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 of opening of the solenoid valve to generate a vacuum in the massage head, an amplitude of said vacuum being linked to the percentage of opening of the solenoid valve, in which the output quantity x corresponds to the amplitude of the vacuum generated in the massage head and the input quantity u corresponds to the percentage of opening of the solenoid valve.
[0053] By "depression" is meant a negative pressure difference in the massage head compared 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. Such a vacuum has the effect, when the massage head is applied against the subject's skin (on the surface of the latter), of sucking the skin inside the massage head. This suction makes it possible to form a skin fold, which can then be worked (massaged) using mechanical actuators, such as flaps or rollers.
[0054] In alternative embodiments, the system may be an automobile, wherein the output quantity x corresponds to a speed of the automobile and the input quantity u corresponds to a percentage opening of a throttle body of the automobile.
[0055] 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.
[0056] In one or more embodiments, each instant is separated from a following instant ^+1 by a time interval between 5 ms and 15 ms.
[0057] Such a time interval represents a good compromise between precision (the shorter the time interval, the more precise the update) and computational cost.
[0058] Another aspect of the invention relates to a system comprising a control module configured to control a value of an output quantity x, the output quantity 1 being a function of an input quantity u, the control module being configured to:
[0059] for each instant of a plurality of instants t^, • • • - tn, n being a non-zero natural integer:
[0060] - obtain a target value of the output quantity 1;
[0061] - obtain a state-space model of the system comprising: an equation of state modeling an evolution of a theoretical value of the output quantity x from a value of the input quantity u; and a measurement equation modeling a relationship between an observed value y of the output quantity and the theoretical value of the output quantity x;
[0062] - receive an observed value of the output quantity;
[0063] - update the equation of state of the state-space model of the system from the observed value y^ received;
[0064] - determine a value uk of the input quantity u to obtain the target value of the output quantity x using a predictive control algorithm based on the updated model of the system; and
[0065] - control the system from the value uk of the determined input quantity u.
[0066] In one or more embodiments, the system further comprises a sensor configured to measure the observed values • • • ' of the output quantity.
[0067] In one or more embodiments, the system may be a massage apparatus 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 of opening of the solenoid valve to generate a vacuum in the massage head, an amplitude of said vacuum being linked to the percentage of opening of the solenoid valve, in which the output quantity x corresponds to the amplitude of the vacuum generated in the massage head and the input quantity u corresponds to the percentage of opening of the solenoid valve.
[0068] In alternative embodiments, the system may be an automobile, wherein the output quantity x corresponds to a speed of the automobile and the input quantity u corresponds to a percentage opening of a throttle body of the automobile.
[0069] A computer program, implementing all or part of the method described above, installed on pre-existing equipment, is in itself advantageous.
[0070] 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.
[0071] This program may use any programming language (for example, an object-oriented language or other), and be in the form of interpretable source code, partially compiled code or fully compiled code.
[0072] The [Fig.4] described in detail below can form the flowchart of the general algorithm of such a computer program.
[0073] 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
[0074] Other characteristics and advantages of the invention will appear on reading the description, which can be read in conjunction with the figures. These figures are presented for information purposes only and in no way limit the invention.
[0075] [Fig. 1a] represents the temporal evolution of the depression within a massage head of a massage device of the state of the art operating in continuous mode.
[0076] [Fig.lb] represents the temporal evolution of the depression within a massage head of a massage device of the state of the art operating in the alternating mode.
[0077] [Fig.2] represents the deviations between target depression values and depression values observed on a massage device whose massage head has a sealing defect.
[0078] [Fig. 3] represents an example of a system in which a control method according to an embodiment of the invention can be used.
[0079] [Fig.4] represents a control method according to one embodiment of the invention.
[0080] [Fig.5] shows the depression generated within the massage head of the massage device of [Fig.2], when the control method of [Fig.4] is used.
[0081] [Fig.6] represents an example of a module configured to implement a control method according to an embodiment of the invention.
[0082] Figures 7a and 7b represent temporal variations of the depression obtained using a control method according to the invention. DETAILED DESCRIPTION
[0083] [Fig. 3] represents an example of a system in which a control method according to an embodiment of the invention can be used. The system of [Fig. 3] is a massage device, but it is understood that the invention is not limited to this type of system.
[0084] The massage device 100 of [Fig. 3] comprises at least one massage head 1a, 1b (also called a treatment head) intended to be applied against the skin of a subject. For example, the massage device 100 may comprise a massage head 1a intended to be used to massage a part of the body of a subject, the massage head 1a being configured to suck the skin of the subject and possibly comprising one or two motorized rollers associated with one or two motorized flaps to stimulate the skin during its suction. Alternatively or in addition, the massage device 100 may comprise a massage head 1b intended to be used to massage the face of a subject, the massage head 1b being configured to suck the skin of the subject and possibly comprising one or two motorized flaps to stimulate the skin during its suction.
[0085] The massage device 100 further comprises a control system 2 configured to generate a vacuum within the massage head(s) 1a, 1b. For example, the control system 2 may be connected to the massage head(s) 1a, 1b by at least one respective suction duct 3a, 3b. In the case where the massage device 100 comprises several massage heads 1a, 1b, the control system 2 may be configured to generate a vacuum within only one of the massage heads 1a, 1b, or within several massage heads 1a, 1b. In the latter case, the amplitude of the vacuum generated may be different from one massage head to another.
[0086] Optionally, a filter 4a, 4b may be arranged between the control system 2 and each massage head 1a, 1b, to recover impurities such as dead skin or dust. Thus, each suction duct 3a, 3b may 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.
[0087] For example, the control system 2 may be an electropneumatic system comprising a control module 21 and a suction device 22 connected to the control module 21, the suction device 22 being connected to the massage head 1 by the at least one suction conduit 3a, 3b.
[0088] The suction device 22 is configured to generate suction, thereby causing a vacuum within a massage head 1a, 1b. The vacuum thus generated makes it possible to suck the subject's skin when the massage head 1a, 1b is applied against the subject's skin. For example, as shown in [Fig. 3], the suction device 22 may comprise two pumps 221, 222. Using two pumps allows good suction efficiency, while minimizing the number of components of the suction device, but it is noted that it is possible to use a single pump, or more than two pumps.
[0089] Each pump 221, 222 may be associated with a respective solenoid valve 223, 224, for example a proportional solenoid valve, making it possible to vary the vacuum generated. The suction device 22 may further comprise a third solenoid valve 225, for example proportional, connected to atmospheric pressure, to adjust the vacuum generated within the pipe 226 which connects the solenoid valves 223, 224, 225 to the massage head(s) 1a, 1b.
[0090] In one embodiment, the two solenoid valves 223, 224 can be controlled in a similar manner in parallel, that is to say they can be set simultaneously to the same opening percentage. Thus, to adjust the depression generated within the pipe 226, it is possible to control two parameters (or “input quantities”) and where Mi represents the opening percentage of the solenoid valves 223 and 224 connected to the pumps 221 and 222, and where M2 represents the opening percentage of the solenoid valve 225 connected to atmospheric pressure.
[0091] Other embodiments are of course possible. In particular, the two solenoid valves 221 and 222 can be controlled independently, and can thus have different opening percentages. In this case, it is possible to control three input quantities Mi, w2 and u\ where ui represents the opening percentage of the solenoid valve 223 connected to the pump 221, represents the opening percentage of the solenoid valve 224 connected to the pump 222, and w3 represents the opening percentage of the solenoid valve 225 connected to atmospheric pressure. For the sake of simplification, the examples below are given in the case where the solenoid valves are controlled in a similar way in parallel, and that there are therefore two input quantities Hi and “2.
[0092] In the case where the massage device 100 comprises several massage heads 1a, 1b, the massage device 100 may further comprise selection solenoid valves 227, 228. Each selection 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 this 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 depending on the desired vacuum in each of the massage heads 1a, 1b.
[0093] 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.
[0094] The depression 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 depression actually generated within this massage head 1a, 1b.
[0095] In the following, for the sake of simplification, it is considered that a depression is generated within a single massage head 1a, 1b. It is understood that the invention is not limited to this scenario.
[0096] The control module 21 can thus be configured to send to the suction device 22 a control signal comprising a given depression profile, and upon receipt of this control signal, the suction device 22 can be configured to generate a suction to generate, in the massage head 1a, 1b, a depression corresponding to the depression profile of the control signal.
[0097] Thus, the control system 2 makes it possible to control a depression within the massage head 1a, 1b according to a given depression profile. A depression profile corresponds to a depression function representing a temporal variation of the depression generated in the massage head 1a, 1b.
[0098] Today, massage devices such as those shown in [Fig.3] allow suction of the skin in several modes, including:
[0099] - a so-called “continuous” mode, in which suction is generated by applying a constant depression in the massage head, the suction power being chosen by the operator; and
[0100] - a so-called “alternating” mode, comprising a succession of suctions and “releases” thanks to an alternating succession of high and low depressions in the massage head.
[0101] Figures 1a and 1b illustrate such modes known from the state of the art. In particular, [Fig. 1a] represents the temporal evolution of the depression within the massage head in continuous mode, and [Fig. 1b] represents the temporal evolution of the depression within the massage head in alternating mode.
[0102] In Figures 1a and 1b, the abscissa axis represents time and the ordinate axis represents the depression generated within the massage head. In continuous mode, shown in [Fig. 1a], suction is applied to the subject's skin by generating a constant depression, equal to a fixed pressure value pF and possibly selected beforehand by the operator, in the massage head. In alternating mode, shown in [Fig. 1b], a succession of suctions and releases is applied to the subject's skin. For this, phases during which a depression having a value p2 is generated in the massage head alternate with phases during which a lower depression, of value pi < p2, is generated in the massage head. The duration AT2 of the depression phases of value p2 and the duration ATi of the depression phases of value p can be equal or different.
[0103] As mentioned above, these two modes allow the subject's skin to be sucked in to form a skin fold inside the massage head. Mechanical actuators of the massage head, for example flaps or rollers, then allow the skin thus sucked to be massaged.
[0104] It is noted that it is possible to generate more complex depression profiles, for example sinusoidal profiles (i.e. the curve representing the depression function is a sinusoidal curve). Generally, the depression function can be any function, for example a periodic function.
[0105] Referring again to [Fig. 3], the vacuum profile may be provided to the control system 2 by a user interface 6, for example a set of buttons and / or a touch screen. For example, the user interface 6 may be connected to the control module 21, and the operator may select, via the user interface 6, a vacuum profile from a plurality of predefined vacuum profiles stored in the control module 21.
[0106] It is understood that the “depression profile” (such as that shown in [Fig. 1a] or 1b) here represents the desired depression within the massage head, i.e. the “target” (or “setpoint”, or “ideal”) depression. In other words, the depression profile corresponds to the depression that we ideally want to obtain in the massage head.
[0107]
[0108] Today, this difference is controlled by a PID (for "Proportional, Integral, Derivative") type regulation algorithm, which makes it possible to adjust the depression generated within the massage head. The coefficients of this algorithm are defined upstream of the construction of the massage devices, and are identical for all devices in the same range. However, devices in the same range can present significant disparities, in particular for the following reasons:
[0109] - massage heads coming out of production have significant deviations sealing due to the mechanical elements they incorporate (for example valves);
[0110] - the sealing of the heads deteriorates over time. A massage head presenting a satisfactory level of sealing at the end of production may present significant leaks after numerous uses;
[0111] - heating of the massage device, due to its use, causes changes to the electro-pneumatic system. Thus, the difference between the target depression and the observed depression is generally greater when the device is in operation for a prolonged period (for example, a few hours);
[0112] - clogging of pipes;
[0113] - the shape of the area on which the massage head is applied can cause leaks.
[0114] Thus, the coefficients of the regulation algorithm, fixed on the basis of a predefined sealing level for a range of massage devices, are not adapted when a device has a sealing level which deviates from this predefined sealing level.
[0115] The difference between the target depression curve and the depression curve actually obtained with the PID regulator is shown in [Fig.2]. [Fig.2] thus represents two curves: a first curve 210 (in solid line) which corresponds to a target depression curve, and a second curve 220 (in dots) which corresponds to the depression curve actually observed. In the example of [Fig.2], the target depression curve 210 (i.e. the setpoint) is linearly increasing. The observed depression curve 220 was obtained on a massage device whose massage head had poor sealing. It can be observed that, very quickly, the actually observed value (observed depression curve 220) “drops” from the target value (target depression curve 210).
[0116] Currently, in such cases, it is the operator (i.e. the one handling the massage device) who compensates for the difference between the observed value and the target value by manually increasing or decreasing the applied depression. For example, with the massage device used to generate the observed depression curve 220 of [Fig. 2], the operator must select a depression value equal to 240 mbar to obtain an actual depression of 200 mbar in the massage head.
[0117] It is noted that in the example of [Fig.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 value Th, the observed depression value cannot in any case reach the set value.
[0118] Thus, the depression actually observed within the depression head 1a, 1b (obtained using the associated pressure sensor 5a, 5b) does not correspond exactly to the target depression, and may even deviate considerably from it, despite the use of a PID regulator. To compensate for this difference effectively, the invention proposes using a control method which makes it possible to effectively regulate the suction, so as to obtain an observed depression closer to the target depression. More precisely, the control method according to the invention proposes updating the model of the system in real time and generating a command from the model thus updated. In particular, the control method according to the invention uses a predictive control technique, which uses a model of the system updated in real time.
[0119] By real time, it is understood that the model of the system is updated at a predefined frequency, while the system is in operation. The frequency of updating the model is a function of the speed at which the system evolves and can be determined by experts. For example, when the system is a vacuum massage device like the one in [Fig. 3], the frequency can be of the order of 10 milliseconds (ms), for example between 5 ms and 15 ms.
[0120] [Fig.4] represents an example of such a control method.
[0121] In the case where the control method of [Fig.4] is used to control a massage device 100 like that of [Fig.3], this control method can be implemented by the control module 21, or by another dedicated module of the massage device 100 and connected to the control module 21.
[0122] The method of Figure 4 is an iterative method, in which each iteration comprises the steps 410 to 470 described below. The iterations are implemented at successive times f • • • - ^N, with N a non-zero natural integer, such that / 1 < ^2 < ... < t^.
[0123] Steps 410 to 470 are now described during an iteration corresponding to an instant 4+b, therefore assuming that steps 410 to 470 corresponding to the previous instant are completed.
[0124] During a step 410, a target value of an output quantity x of the system at time ^+i is obtained. This target value x£+1 of the output quantity corresponds to the desired value at the output of the system at time t^+i.
[0125] By “output quantity” is meant a physical quantity obtained at the output of the system considered.
[0126] For example, when the system is a vacuum massager like the one in Figure 3, the output quantity x of the system may correspond to the vacuum generated within the massage head. When, according to another example, the system is a car, the output quantity x of the system may correspond to the speed of the car.
[0127] It is noted that there may be several output quantities of the system (for example, in the case of two massage heads operating simultaneously, a first output quantity xi may be the depression generated within the first massage head and a second output quantity x2 may be the depression generated within the second massage head).
[0128] Generally speaking, the control method according to the invention can be extended to any system in which an output quantity x depends on a set of input quantities of the system u2' - ■ ■ ' ul, where L is a non-zero natural integer. These input quantities of the system are physical quantities linked to the operation of the system.
[0129] For example, in the case of the vacuum massager of Figure 3, there can be two input quantities of the system and M2, where corresponds to the (common) percentage of opening of the solenoid valves 223 and 224 connected to the pumps 221 and 222, and ü2 corresponds to the percentage of opening of the solenoid valve 225 connected to the atmospheric pressure. In the case of a car, the input quantity of the system can be the percentage of opening of the throttle body, which manages the quantity of oxidant (in this case, air) sent into the combustion chamber.
[0130] In the exemplary method of Figure 4, a target value x£+1 of the output quantity may be received at each iteration. It is noted that in some embodiments, a set of target values may be obtained "at once", for example:
[0131] - in the form of a plurality of values }, V being a natural integer non-zero, each value being associated with a respective instant (with & between 1 and ^V) such that • ■ • < ; or
[0132] - in the form of a time function Xe ( t ).
[0133] In the first case, the module implementing the method obtains in one block a set of desired values over several future time steps. In the second case, the module implementing the method 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).
[0134] Whatever the embodiment, it is possible to determine, at each iteration, the target value x^+1 desired for the output quantity x at time ^+1-
[0135] Thus, for step 410, it is noted that by “obtain a target value xk+i”, it is meant that the target value ^+i can be received directly by the module implementing the method, or determined by this module.
[0136] At a step 420, a model of the system at time ^+1 is obtained. This model is typically a state-space model of the form:
[0137] xk+i = f(Xk,uk)+wk+} (1)
[0138] yk+=h(xk+i)+vk+i (2)
[0139] where xk is the value of the output quantity at time tk, Xk+} is the value of the output quantity at time tk+ï, ^k+\ is the value of the quantity observed ? at the output of the system (measured for example using a sensor, such as the pressure sensors 5a, 5b of Figure 3) at time ^+1, Uk is the value of the vector u of the input quantities (called the control vector) at time tk, wk+\ represents the value of an evolution noise at time ^+1 and '7+i represents the value of a measurement noise at time tk+i.
[0140] As mentioned previously, x, and 11 can be vectors:
[0142] with n, L and m unnullified natural integers.
[0143] Thus, evolution and measurement noises can also be vectors:
[0145] It is assumed that the evolution noise follows a centered Gaussian law and covariance matrix Q. , : k+ï
[0146] Wk+l€ ~€ b^O;^).
[0147] It is also assumed that the measurement noise v£+i follows a centered Gaussian law with covariance matrix Rk+i:
[0148] vfc+1€ ~€ N(0;^+1).
[0149] For example, in the case where the evolution equation (1) is linear, this evolution equation can be written:
[0150] xk+ï = Axk + Buk + wfe+1 (1')
[0151] with A and B two matrices: [01521, at the ",. A= ' B = \a„i aim / ' p '
[0153] In the following, x can be called output quantity, output variable or output vector. Similarly, u can be called input quantity, input variable or input vector. Finally, J' can be called observed quantity, observed variable or observed vector.
[0154] For example, in the case where the system is the vacuum massage device of [Fig.3]:
[0155] - the output vector x comprises a single component which corresponds to the depression generated within the selected massage head 1a, 1b;
[0156] - the input vector comprises 2 components and M2, where corresponds to the percentage of open (common) of the solenoid valves 223 and 224 connected to the pumps 221 and 222, and corresponds to the percentage of opening of the solenoid valve 225 connected to atmospheric pressure; and
[0157] - the observed vector at the output includes a component which corresponds to the depression actually observed in the selected massage head 1a, 1b (determined by the corresponding pressure sensor 5a, 5b).
[0158] Equation (1') then becomes:
[0159] xk+l = axk+ + .
[0160] Generally speaking, the function f of the evolution equation (1) can be put into a parametric form, with a set of parameters { 6j] where J is a non-zero natural integer.
[0161] In particular, the function f can be a polynomial function. For example, in the case where the system is the vacuum massage device of [Fig.3], the evolution equation (1) can be a second-order polynomial equation of the type: [o162] x^+1 = +e3u+e3uïkxk++wfc+1 .
[0163] In the following, it is considered for the sake of simplification that the covariance matrices Qk x and Rk+i of the evolution and measurement noises are constant, and therefore do not depend on the instant tk considered. Thus, subsequently the evolution noise is simply denoted w and is assumed to follow a Gaussian law N(0;Q), and the measurement noise is simply denoted v and is assumed to follow a Gaussian law N(0;R).
[0164] The model (1)-(2) of the system can for example be obtained analytically (from physical laws which govern the operation of the system), 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 a priori knowledge of the system, in particular on the physical principles involved in the system).
[0165] 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 the outputs.
[0166] To avoid prediction errors due to deviations between the theoretical model (1)-(2) of the system and the true relationships between the inputs and outputs of the system, the invention proposes to update the model at each iteration, from the observed variable. For example, when the function f is a parametric function depending on the parameters {the parameters {can thus be updated at each iteration. This update is detailed below with reference to step 450 of [Fig.4],
[0167] Referring again to Figure 4, during a step 430 of the method, a value of the quantity observed at the output of the system is received. This value is typically measured using a sensor and sent by the sensor to the module implementing the method of [Fig.4].
[0168] During a step 440, a value of the output variable x is determined from the model of the system obtained in step 420 and from the observed value at the output of the system received in step 430. Step 440 can be implemented from any filtering algorithm of the state of the art, for example Kalman filter type algorithms or particle filtering algorithms.
[0169] During a step 450, the system model is updated from the value ^+1 observed at the output of the system received in step 430.
[0170] There are various state-of-the-art methods for estimating the parameters of a state-space model, in particular iterative methods which update at each iteration the parameters estimated at the previous iteration - such as expectation-maximization (or EM) algorithms.
[0171] In embodiments, step 440 may be implemented from a Kalman filter type algorithm, such as a conventional Kalman filter, an extended Kalman filter or a Kalman filter. unscented Kalman filter, and step 450 may be implemented using an EM algorithm. In these embodiments, steps 440 and 450 are implemented successively.
[0172]
[0173]
[0174]
[0175]
[0176]
[0177]
[0178]
[0179]
[0180]
[0181]
[0182]
[0183] Alternatively, steps 440 and 450 may be implemented simultaneously. For example, it is possible to use an augmented output vector x", which includes both the components of the output vector x and the parameter set {6j} & of the system model, and to determine the value x^+i of the augmented output vector at time ^+1 from the observed value. In particular, an algorithm of type Augmented Kalman Filter (known from the state of the art) can be used. A An example of such an algorithm is now presented. We consider the augmented output vector: x"- "11 "HH ^11 (4). fi 7 U nLi We obtain the new state-space: 4+1 = / (4 «J+4+1 (5) yk+rha (4+1 )+^+1 (6) A Kalman filter (in particular, a nonlinear Kalman filter, e.g., an extended Kalman filter or an unscented Kalman filter) can then be used on this new state-space model to derive the predicted output variable Xk+i = Xk+^+i (estimate of the value of the output variable x at time 4+1 given the observed value In the first iteration of the process in [Fig.4], initial values are used. These initial values can be predetermined, and depend on the system considered. Then, classically, the Kalman filter includes two stages: a prediction stage, and an update stage. Hereinafter, the notations x^ and denote the estimate and covariance of the estimator obtained for the augmented output variable xa at time from the observations y up to time tp. The prediction step is written:
[0184]
[0185]
[0186]
[0187] a « - flr ti ] (71 xk+Wc~J \x^uk) \') P^ = Fk^PlikFTk+l + ÿi' (8) in which equation (5) has been linearized using the Jacobian matrix: r _ df ^k+l- dx? (9)
[0188] Then, the update step is written: 101891 KM = Pk^H^HMPk,^ (10) 101901 = + (H) 101911 <12)
[0192] in which the measurement equation (6) is linearized using the Jacobian matrix:
[0193] H _ a^l ^k+l- Sx* xk+lik
[0194] It is noted that the model is updated at each iteration, at a predefined frequency whose value is set according to the system considered, to be adapted to the speed of evolution of the system. For example, the frequency of the iterations can be of the order of 10 ms, for example between 5 ms and 15 ms. Over this short period, the linear approximation of the model via the Jacobian matrices does not generate significant errors.
[0195] We can then deduce from the estimate — lv ■ „ - R of a xZc+»+l_ [-H+fcD '4+1 > / 4+j] on the one hand the estimate Xk+^+ । of the output variable x = [ ; x^ ; ... ; xn ]T, and on the other hand the updated values of the coefficients of the system = f and ^k+l~
[0196] It is recalled that the above example is in no way limiting, and that other filtering or estimation algorithms can be used.
[0197] Referring again to Figure 4, at the end of step 450, the coefficients of the system have been updated using the observed value ^+j. During a step 460, a conventional regulation algorithm can be used from the updated coefficients, to determine the values of the input quantities “1' ■ • • ' ui to be supplied to the system at time 4+1 to obtain the setpoint value ^+i of step 410.
[0198] This step 460 is typically implemented using a predictive control algorithm (called MPC, for “Model Predictive Control”). Such algorithms are based on the use of a model of the system to predict the output of the system, and thus adapt the setpoint (i.e. the input quantities) so that the output of the system coincides with the desired output (i.e. the “target” or “setpoint” output), over a finite horizon.
[0199] Such algorithms are known from the state of the art, and are not further detailed here.
[0200] According to the embodiments, the regulation algorithm used in step 460 can use either the observed value ^+j and measured by the sensor, or the estimated value %k+ik+l obtained at the end of step 440.
[0201] It is noted that in the predictive control algorithms of the state of the art, the model of the system 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 makes it possible to adapt in a much more flexible and efficient manner to variations in the system (due to prolonged use, or to wear of certain parts). Thus, the control method of the invention allows for much finer adaptation than conventional predictive control algorithms.
[0202] 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 equal to 1 or 2 is sufficient.
[0203] The values of the input quantities ul determined in step 460 are then provided as inputs to the system in a step 470.
[0204] As mentioned previously, the control method of [Fig.4] can be implemented within any automatic system. Some application examples are now detailed.
[0205] According to a first example, the system is an automobile, and the method is used to control the speed of the automobile.
[0206] The regulation of the speed of the automobile using a throttle body to control the quantity of air injected into a thermal engine can be modeled by a SISO system, in which the output variable x represents the speed of the vehicle and the input variable u represents the percentage of opening of the throttle body.
[0207] This system can be modeled by a space-state model, whose evolution equation can for example be linearized over each time interval separating two consecutive instants tk, ^k+1- Such a linearized evolution equation can thus be written:
[0208] xM = akxk + Pkuk +
[0209] with Gaussian white noise. We can then define the augmented vector:
[0210] "k'
[0211] We then have:
[0212] xi
[0213]
[0214]
[0215]
[0216]
[0217]
[0218] with w" and ^p two Gaussian white noise cl The measurement equation can further be written: yk+i = + vobs = ( 4+1 ) + VobS with vobs a Gaussian white noise. We then find equations (7) to (13), with: A+l“ dx" a k 0 . 0 xk\k 1 (9')
[0219]
[0220]
[0221] And : H k+i = Pha 1 I 4.“ xk+ïlk 0] (13).
[0222]
[0223]
[0224]
[0225] According to a second example, the system is a massage device like the one shown in Figure 3, and the method 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 having 2 inputs and 1 output, the first input variable representing the (common) opening percentage of the solenoid valves 221, 222 connected to the pumps 223, 224, the second input variable M2 representing the opening percentage of the solenoid valve 225 connected to atmospheric pressure, and the output variable x representing the vacuum generated in the 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 4, ^+1- Such a linearized evolution equation can thus be written: xk+i = + P}kuik+^jU2k + w'x with Gaussian white noise. We can then define the augmented vector: ■ X ■ a
[0226] We then have:
[0227] 4+i ■ X ■ a fi, a^k + P^k + ^ihk + Wx has k + w a =r^ Uk )^' P 2k +
[0228] with w“, and w / 32 Gaussian white noise and jT.
[0229] The measurement equation can further be written:
[0230] yk+l ~ Xk+l^ = ^4+1) + Vobs
[0231] with '« / ' a Gaussian white noise.
[0232] We then find equations (7) to (13), with:
[0233] "k+l~ dx" Vlk 'ak 0 0 A Xlàk 1 0 ulk 0 1 u2k 0 0 (9"). 0 0 0 1.
[0234] and: 102351 Slr =[ioo 0] (13").
[0236] Of course, other applications are conceivable, for example thermal regulation in a building, control of the water level in the tank of a thermal power plant, control of the temperatures of the superheated steam of a thermal power plant, etc. In general, the invention can be used in any system whose regulation is carried out using a control algorithm based on a linear model (pole placement, linear quadratic control LQR, etc.) or non-linear model (e.g. predictive control), the invention proposing to update, at a “high” frequency, the model of the system. By “high” frequency, it is meant a frequency high enough to anticipate variations in the model. Such a frequency depends on the system considered.For example, in the case of controlling the speed of an automobile or controlling the depression generated within the massage head of an electropneumatic massage device, this frequency can for example be between 50 Hz and 200 Hz.
[0237] [Fig.5] shows the depression generated within the massage head of the massage device of [Fig.2], when the control method of [Fig.4] is used.
[0238] In Figure 5, the solid line curve 510 represents the “target” output variable Xe (i.e. the depression that we want to obtain in the massage head). This curve 510 is the same as the curve 210 of Figure 2. The dotted curve 520 represents the observations y (i.e. the depression measured at the output of the massage head) with the conventional PID regulator. This curve 520 is the same as the curve 220 of Figure 2. Finally, the dashed curve 530 represents the observations J obtained with the control method according to Figure 4. It appears from this figure that the value observed with the control method according to the invention is much closer to the target value Xe. Thus, the control method according to the invention allows much more precise regulation than the conventional PID regulator. The mean square errors were calculated for the two curves, for setpoint values between 30 mbar and 270 mbar (incremented in steps of 30 mbar). A mean square error equal to 27.5 was obtained for curve 520 obtained with the conventional PID regulator, and a mean square error equal to 3.3 for curve 530 obtained with the control method according to the invention.
[0239] As in [Fig.2], it is noted that the observed depression curves 520, 530 reach a ceiling around a value Th ~ 260 mbar, which corresponds to the maximum depression achievable for the massage device.
[0240] [Fig.7a] represents the depression observed in the massage head in mode continuous, i.e. when the target depression follows the curve of [Fig. 1a].
[0241] [Fig.7b] represents the depression observed in the massage head in mode alternating, i.e. when the target depression follows the curve of [Fig.lb].
[0242] It appears in Figures 7a and 7b that the control method according to the invention makes it possible to obtain a depression effectively generated within the massage head which closely follows the target depression, even in the jumps in values of the target depression.
[0243] [Fig. 6] represents an example of a module 600 configured to implement the control method of [Fig. 4]. In the case where the system is a massage device like that of [Fig. 3], such a module 600 may be for example the control module 21.
[0244] In these embodiments, the module 600 comprises a memory 601 for storing instructions allowing the implementation of the method, and temporary data for carrying out different steps of the control method of [Fig.4].
[0245] The module 600 further comprises a circuit 602. This circuit 602 may be, for example, a processor capable of interpreting instructions in the form of a computer program, an electronic card whose steps of the method of the invention are described in the silicon, or even a programmable electronic chip such as an FPGA chip (for “Field-Programmable Gate Array” in English).
[0246] The module 600 comprises 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 the user interface 6 of [Fig. 3]) to receive instructions from the user.
[0247] The functional diagram presented in [Fig.4] is a typical example of a program of which certain instructions can be carried out using the device described. As such, [Fig.4] may correspond to the flowchart of the general algorithm of a computer program within the meaning of the invention.
Claims
Claims
1. A computer-implemented method for controlling a system (100) of which an output quantity x is a function of an input quantity M, the method comprising: for each instant of a plurality of instants t}, tn, n being a non-zero natural integer: - obtaining (410) a target value of the output quantity x; - obtaining (420) a state-space model of the system comprising: ■ a state equation modeling an evolution of a theoretical value of the output quantity x from a value of the input quantity u; and ■ a measurement equation modeling a relationship between an observed value 9 of the output quantity and the theoretical value of the output quantity x; - receiving (430) an observed value of the output quantity; - updating (450) the state equation of the state-space model of the system from the received observed value;- determining (460) a value of the input quantity w to obtain the target value x% of the output quantity x using a predictive control algorithm based on the updated model of the system; and - controlling (470) the system from the value of the input quantity u determined.;
2. The method of claim 1, further comprising: - determining (440) an estimate x^ of a value of the output quantity x from the received observed value yk; wherein the determination (460) of the value uk of the input quantity u is further based on the estimate x^.
3. The method of claim 1 or 2, wherein the updating (450) of the state equation of the state-space model is implemented from a filtering algorithm.
4. The method of claim 3, wherein the filtering algorithm is a Kalman filter.
5. Method according to one of claims 1 to 4, in which the updating (450) of the equation of state of the space-state model of the system comprises a linearization of the equation of state.
6. A method according to claim 5 taken in combination with claim 4, wherein the linearized equation of state is written: = +B^ik + wk where xk denotes the theoretical value of the output quantity x at a time 4, A7-i denotes the theoretical value of the output quantity x at a time 4-1, Uk denotes the value of the input quantity u at the time where Ak and Bk denote matrices of respective coefficients and i and j being unnullified natural integers, and where wk is a Gaussian white noise, wherein the Kalman filter is an augmented Kalman filter on the augmented output variable xa resulting from a concatenation of the output quantity x and the coefficients and
7. Method according to one of the preceding claims, wherein the system (100) is a massage apparatus comprising a massage head (1a, 1b) and a control module (2), the control module (2) being connected to a solenoid valve (223, 224) connected to a pump (221, 222), the solenoid valve (223, 224) being further connected to the massage head (1a, 1b), the control module (2) being configured to control a percentage of opening of the solenoid valve (223, 224) to generate a vacuum in the massage head (1a, 1b), an amplitude of said vacuum being linked to the percentage of opening of the solenoid valve (223, 224), wherein the output quantity x corresponds to the amplitude of the vacuum generated in the massage head (1a, 1b) and the input quantity u corresponds to the percentage of opening of the solenoid valve (223, 224).
8. Method according to one of claims 1 to 6, in which the system (100) is an automobile, in which the output quantity x corresponds to a speed of the automobile and the input quantity u 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 following instant tk+} 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 x, the quantity
11.
12. output x being a function of an input quantity u, the control module being configured to: for each instant tk of a plurality of instants tn, n being a non-zero natural integer: - obtain (410) a target value of the output quantity x; - obtain (420) a state-space model of the system comprising: ■ a state equation modeling an evolution of a theoretical value of the output quantity x from a value of the input quantity u; and ■ a measurement equation modeling a relationship between an observed value y of the output quantity and the theoretical value of the output quantity x; - receive (430) an observed value yk of the output quantity; - update (450) the state equation of the space-state model of the system from the observed value yk received; - determining (460) a value uk of the input quantity u to obtain the target value of the output quantity x using a predictive control algorithm based on the updated model of the system; and - control (470) the system from the value uk of the determined input quantity u. System (100) according to the preceding claim, further comprising a sensor (5a, 5b) configured to measure the observed values 3^ • • •, yn of the output quantity. The system (100) of claim 10 or 11, wherein the system (100) is a massage apparatus 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 of 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 of opening of the solenoid valve (223, 224), wherein the output quantity x corresponds to the amplitude of the vacuum generated in the massage head (1a, 1b) and the input quantity u corresponds to the percentage of opening of the solenoid valve (223, 224).
13. 28 The system of claim 10 or 11, wherein the system is an automobile, wherein the output quantity x corresponds to a speed of the automobile and the input quantity u corresponds to a percentage opening of a throttle body of the automobile.
14. Computer program product comprising instructions for implementing the method according to one of claims 1 to 9 when this program is executed by a processor.
Citation Information
Patent Citations
Model-based control systems and methods for gas turbine engines
US20050193739A1
Online monitoring and diagnostics in vehicle powertrains
US20220154659A1
Individual pressure zone controlled cushion and support
WO2023003784A1