EP4133339A1 - Utilisation de l'homogeneite generalisee pour ameliorer une commande pid - Google Patents

Utilisation de l'homogeneite generalisee pour ameliorer une commande pid

Info

Publication number
EP4133339A1
EP4133339A1 EP21732448.2A EP21732448A EP4133339A1 EP 4133339 A1 EP4133339 A1 EP 4133339A1 EP 21732448 A EP21732448 A EP 21732448A EP 4133339 A1 EP4133339 A1 EP 4133339A1
Authority
EP
European Patent Office
Prior art keywords
value
time step
range
matrix
homogeneous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP21732448.2A
Other languages
German (de)
English (en)
Inventor
Siyuan WANG
Andrey POLYAKOV
Gang Zheng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Institut National de Recherche en Informatique et en Automatique INRIA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Institut National de Recherche en Informatique et en Automatique INRIA
Publication of EP4133339A1 publication Critical patent/EP4133339A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by program execution, i.e. part program or machine function execution, e.g. selection of a program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42033Kind of servo controller

Definitions

  • the invention relates to the field of correctors for the control of systems, and more particularly correctors of the PID (proportional-integral-derivative) type.
  • the control of a quantity consists of the measurement, in real time, of the difference, called error, between the real value of this quantity and the setpoint to be reached.
  • a corrector then applies a transfer function to this error.
  • the result of this transfer function forms a command to be applied to reduce the error between the setpoint and the actual value of the quantity to be controlled.
  • PID correctors are characterized by an operating law comprising a proportional term, a derivative term and an integral term, hence the name.
  • PID correctors are linear, that is, their transfer function is a linear function. Tuning a linear PID corrector requires the adjustment of three coefficients to tune that PID corrector, which makes linear PID correctors simple to implement.
  • the control carried out with a well-adjusted linear PID corrector is robust (i.e. resistant to disturbances), fast (i.e. with low response time) and precise (i.e. the asymptotic error is substantially zero).
  • a PID corrector is very effective for slaving a drone as part of a model with low pitch and roll disturbances around the horizontal position of the drone.
  • the nonlinear effects of this type of model are relatively small, and can be treated as uncertainties and minimized by adjusting the corrector, for example using an H-infinite criterion.
  • Nonlinear correctors of the sliding mode control type, or SMC are known, as described in the article by Xu, R., & Ozguner, U. (2006, December) “Sliding mode control of a quadrotor helicopter ”, In Proceedings of the 45th IEEE ConfInteron Decision and Control (pp. 4957-4962). IEEE.
  • a digital control device for the servoing of a system to be controlled digitally, operating in discrete time steps, from an error vector received as input at each time step, comprising a memory arranged to receive control parameter data comprising a uniformity factor selected from the range [-1; 0], a feedback gain matrix linked to the system to be controlled, a dilation generator matrix, a Lyapunov matrix defining a homogeneous canonical norm, a lower bound, an upper bound, and a proportional coefficient, a derivative coefficient and a integral coefficient characteristics of the system to be controlled, an estimator designed to determine a range of homogeneous canonical norm value for a current time step from the estimation ranges of the previous time steps, of the error vector of the current time step , the expansion generator matrix, the Lyapunov matrix, the lower limit and the upper limit, which define the estimation range for the first time step, a computer arranged to return a command of the system to be controlled for the current time step from the sum between the error vector
  • the Applicant has designed a new type of corrector, with improved performance compared to a linear PID corrector.
  • the Applicant has implemented this new corrector in a system initially slaved with a linear PID corrector by drawing profile from the adjustments already made by a manufacturer on this linear PID corrector.
  • This device is particularly advantageous because it improves the response time and the robustness of the system compared to a linear corrector characterized by the coefficients kp, ki and kd. These improvements are very easy to implement, because the system in its overall is little changed. Finally, compared to a linear PID corrector, the additional cost in complexity and in computation load is very low.
  • the invention may have one or more of the following characteristics:
  • the computer is arranged to calculate the factor calculated from the feedback gain matrix, the range of homogeneous canonical norm value for a current time step, the proportional coefficient, the derivative coefficient and the generator matrix of expansion according to the formula
  • K 0 is the feedback gain matrix
  • m is the homogeneity factor
  • P is a value drawn from the range of values of homogeneous canonical norm for the current time step
  • K is a matrix associating the proportional coefficient and the derivative coefficient
  • G is the matrix of generator of dilation
  • the computer is arranged to calculate the value representing the integral between the first time step and the current time step of a product associating the integral coefficient, the expansion generator matrix, the range of homogeneous canonical norm value of the time step and the error vector according to the formula
  • K i is the integral coefficient
  • G is the expansion generator matrix
  • P is a value drawn from the range of homogeneous canonical norm value for the time step T
  • the computer is designed to draw as a value in the range of homogeneous canonical norm value for a given time step the upper limit of this range,
  • the computer is designed to use the upper limit of the range of homogeneous canonical norm value for the current time step as a value drawn from the range of homogeneous canonical norm value for the current time step,
  • the estimator determines the range of homogeneous canonical norm value for a current time step by initializing a lower range value and an upper range value with the bounds of the homogeneous canonical norm value range of the previous time step and applying : - a first test determining if the product of the transpose of the product of the error vector of the current time step and of the transpose of the exponential of the product of the expansion generator matrix by the negative of the logarithm of the range value upper range, the Lyapunov matrix, and the product of the error vector of the current time step and the transpose of the exponential of the product of the expansion generator matrix by the negative of the logarithm of the upper range value is greater than 1, and, if applicable, the definition of the range of homogeneous canonical norm value of the time step of the current time step between the upper range value and the minimum between the double of the upper range value and the upper bound,
  • the invention also relates to a quadrotor which comprises a device according to the invention for calculating a command from a setpoint received as an input and a computer program product designed to implement the estimator and the calculator of the device. according to the invention.
  • Figure 1 shows a schematic view of a coordinate system of a quadrotor
  • FIG. 2 shows a schematic view of a device according to the invention
  • FIG. 3 represents an example of the operating loop of the device of FIG. 2
  • Figure 4 shows an example of a particular implementation of a function of Figure 3
  • Figure 5 shows an example of a particular implementation of another function of Figure 3,
  • Figure 6 shows a comparison of the accuracy between a setpoint, a conventional PID control, and the homogeneous PID control of the invention in the x dimension
  • FIG. 7 represents a comparison of the precision between a setpoint, a conventional PID control, and the homogeneous PID control of the invention in the dimension y
  • FIG. 8 represents a comparison of the precision between a setpoint, a conventional PID control, and the homogeneous PID control of the invention in the dimension z
  • FIG. 9 represents a comparison of the precision between a setpoint, a conventional PID control, and the homogeneous PID control of the invention in the Y dimension
  • FIG. 10 Figure 10 shows the robustness of the conventional PID control
  • FIG. 11 Figure 11 shows the robustness of the homogeneous PID control according to the invention
  • FIG. 12 quantifies the improvements represented in FIGS. 6 to 11 in the L2 standard.
  • the drawings and the description below essentially contain elements of a certain nature. They can therefore not only serve to better understand the present invention, but also contribute to its definition, if necessary.
  • Figure 1 shows a schematic view of a coordinate system of a quadrotor. This system will be used to explain the conventional operation of a system controlled by the device according to the invention.
  • rotors exert respective forces f 1 to f 4 , for example to make a drone fly.
  • the control of the rotors is carried out by means of a control u which is a vector of dimension 4.
  • R 4 ® R 4 is an invertible mapping, an example of which can be found in article by Wang, S., Polyakov, A., & Zheng, G .. “Quadrotor Control Design under Time and State Constraints: Implicit Lyapunov Function Approach” in 2019 18th European Control Conference (pp. 650-655). IEEE.
  • the matrices A, B and C are known for a given system to be controlled, and the control is controlled by a linear derivative integral proportional control according to the following formula:
  • K p is the proportional coefficient of the command
  • K d is the derivative coefficient of the command
  • K i is the integral coefficient of the command
  • This matrix must be a matrix of dimension d * d which respects the anti-Hurwitz criterion, that is to say that all its eigenvalues have a positive real part, and respect the following constraint:
  • / is the identity matrix
  • m is a homogeneity factor in the range [-
  • the matrix P must be a symmetric matrix of dimension d * d which respects the following constraints:
  • exp () is the exponential function
  • P is a homogeneous canonical norm defined implicitly by the matrices G and P according to the following constraints:
  • Figure 2 shows a schematic view of a device according to the invention.
  • the device 2 comprises a memory 4, an estimator 6 and a computer 8.
  • the device 2 receives operating data 12 from a system to be controlled 10, and the computer 8 sends the system 10 a command 14.
  • the memory 4 can be any type of data storage suitable for receiving digital data: hard disk, hard disk with flash memory, flash memory in any form, random access memory, magnetic disk, storage distributed locally or in the cloud, etc.
  • the data calculated by the device can be stored on any type of memory similar to the memory 4, or on the latter. This data can be erased after the device has performed its tasks or retained.
  • the memory 4 receives the parameters described above, namely the homogeneity factor m chosen from the range [-1; 0], the feedback gain matrix K 0 , the expansion generator matrix, the Lyapunov matrix defining the homogeneous canonical norm, the proportional coefficient K p , the derivative coefficient K d and the integral coefficient characteristic of the system to be controlled.
  • the memory 4 also receives a lower bound a, an upper bound b, and a number of loops N.
  • the Applicant has discovered an algorithm making it possible to estimate a range of values approaching the value of the standard. canonical. This algorithm will be described with figure 3. However, in order to guarantee its convergence, it is necessary to threshold part of the calculations with the lower bound a and the upper bound b, and to define a number of loops N.
  • the estimator 6 and the computer 8 are elements which directly or indirectly access the memory 4. They can be produced in the form of an appropriate computer code executed on one or more processors. By processors, it must be understood any processor adapted to the calculations described below.
  • Such a processor can be produced in any known manner, in the form of a microprocessor for a personal computer, of a dedicated chip of FPGA or SoC type, of a computing resource on a grid or in the cloud, of a microcontroller, or any other form suitable for providing the computing power necessary for the embodiment described below.
  • a processor can also be made in the form of specialized electronic circuits such as an ASIC.
  • a combination of processor and electronic circuits can also be envisaged.
  • estimator 6 and the calculator 8 are described separately from the system 10 in FIG. 2, they are intended to be integrated into the latter, either by modifying the controller of the system 10 or by adding to it.
  • device 2 although shown and described separately, aims to be intimately integrated within system 10 and replace its linear derivative integral proportional control. It will nevertheless remain possible to achieve this in the form of an addition which is grafted onto a system 10 and derives the order from it.
  • FIG. 3 represents an operating loop of the device 2.
  • the device 2 is digital and makes use of the fact that the systems 10 for which it is designed are also digital. This means that it operates in discrete time steps. Also, instead of talking about a time variable t, one will use thereafter an index i which designates a number of time steps, and therefore an instant t equivalent to the product of the index i by the duration of the step of device time 2.
  • FIG. 3 is therefore presented in the form of an update loop which receives as input in an operation 300 data 12 of error vector E and which outputs in an operation 399 control data 14 u to system 10.
  • all the elements calculated in the various loops will be stored in memory 4.
  • these elements could not be stored, and, when a function refers to a passed value, the latter could be recalculated.
  • the estimator 6 performs an Est () function to determine a range of values that approximates the value of the homogeneous canonical norm of the Math 11 formula.
  • FIG. 4 represents an exemplary embodiment of the function Est ().
  • the Is () function relies on testing a value in order to determine directly or dichotomously the bounds of the range that approaches the value of the homogeneous canonical norm.
  • this range is fixed by the lower bound a and the upper bound b, that is to say that nc [0] is equal to [a; b]. Then, for each time step, this function begins in an operation 400 by initializing the lower bound value variable A and the upper bound value variable B with the values of the bounds of the range determined at the previous step nc [il] .
  • the first test is performed in an operation 410 with the execution of a test () function with the upper bound value variable B as an argument.
  • the test function is as follows: [Math 12]
  • test value (B) is greater than 1, then the range nc [i] is determined in an operation 420 to be between the upper bound variable B and the minimum between twice the upper bound variable B and the upper bound b. Then the function ends in an operation 499. If the test value (B) is less than 1, then the second test is performed in an operation 430. Here, it is the lower bound value variable A which is given as an argument to the test () function.
  • test value (A) is less than 1
  • range nc [i] is determined in an operation 440 as being between the maximum between half of the lower bound variable A and the lower bound b of a part and the lower bound variable A on the other. Then the function ends in operation 499.
  • test value (A) is greater than 1, then the range nc [i] is calculated by dichotomy in a loop that begins by initializing a loop index j to 0.
  • an end-of-loop condition is tested in an operation 455 by comparing the index j to the number of loops N. If the latter is not reached, then the loop begins in an operation 460 by calculating a dichotomy variable V which is set to half the sum of the lower bound value variable A and the variable of upper bound value B.
  • the dichotomy variable V is then given as an argument to the test () function in an operation 465. If the test value (V) is less than 1, then the upper bound value variable B is updated with the variable dichotomy V in an operation 470. If the test value (V) is greater than 1, then the lower bound value variable A is updated with the dichotomy variable V in an operation 475.
  • the index j is incremented in an operation 480 and the loop resumes with the test of operation 455.
  • the range nc [i] is defined in an operation 490 as between the value variable of lower bound A and the variable of upper bound value B and the function Is () ends in operation 499.
  • N the number of loops N is an important factor and constitutes a compromise to be chosen for device 2. In fact, it will regularly happen that the tests of operations 410 and 430 are negative, in which case the loop is executed, this being the case. which is more costly in computing time and in energy consumed. Also, it will be advisable to choose the value of N as a function of the desired precision / calculation time and energy consumed compromise.
  • the function Est () could be implemented differently, for example by the use of gradient.
  • the Est () function can return the value ncv [i] directly instead of the range nc [i].
  • operation 310 of FIG. 3 is followed by determining the value of the integral term of the Math formula 10, with the execution in an operation 320 of a function Int ( ) by computer 8.
  • FIG. 5 represents an example of the implementation of the function Int ().
  • the numerical nature of the implementation is exploited by replacing the computation of the integral term of the Math 10 formula with the addition of the increment to the previous value.
  • the first integral is initialized to 0, and for the following ones the function begins in an operation 500 by initializing the integral value I [i] of the current step with the integral value of the previous step I [i-1] .
  • the value of the homogeneous canonical norm for the current step is chosen by a function cho () in an operation 510. As described above, in a preferred version, it is the upper bound of the range nc [i] which is retained. Finally, in an operation 520, the integral value I [i] is calculated by adding the contribution of the term of the current time step, then the function Int () ends in an operation 599. As a variant, the function Int ( ) could recalculate the value of the integral I [i] starting from zero.
  • the command u is calculated in an operation 330 of FIG. 3.
  • the computer 8 executes a function Cont ().
  • the Cont () function performs the calculation of the following formula:
  • Figures 6 to 11 show comparisons between a linear integral derivative proportional control and the homogeneous integral derivative proportional control of the device 2.
  • FIGS. 6 to 9 represent a comparison of the precision between a setpoint, a conventional PID control, and the homogeneous PID control of the invention in the dimensions x, y, z and Y, each time a closer view of the stable area.
  • Figures 10 and 11 show the robustness respectively of the conventional PID control and the homogeneous PID control according to the invention.
  • FIG. 12 quantifies these improvements in the L2 standard. Note, the energy cost is only 1.1% more compared to conventional PID control.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Feedback Control In General (AREA)

Abstract

Utilisation de l'homogénéité généralisée pour améliorer une commande PID Un dispositif de commande numérique pour l'asservissement d'un système à commander numériquement, opérant par pas de temps discret, à partir d'un vecteur d'erreur reçu en entrée à chaque pas de temps, comprend : - une mémoire agencée pour recevoir des données de paramètres de commande comprenant un facteur d'homogénéité choisi dans la plage [-1; 0], une matrice de gain de rétroaction liée au système à commander, une matrice de générateur de dilatation, une matrice de Lyapunov définissant une norme canonique homogène, une borne inférieure, une borne supérieure, et un coefficient proportionnel, un coefficient dérivatif et un coefficient intégral caractéristiques du système à commander, - un estimateur agencé pour déterminer une plage de valeur de norme canonique homogène pour un pas de temps courant à partir des plages d'estimation des pas de temps précédents, du vecteur d'erreur du pas de temps courant, de la matrice de générateur de dilatation, de la matrice de Lyapunov, de la borne inférieure et de la borne supérieure, lesquelles définissent la plage d'estimation pour le premier pas de temps, - un calculateur agencé pour retourner une commande du système à commander pour le pas de temps courant à partir de la somme entre le vecteur d'erreur du pas de temps courant multiplié par un facteur calculé à partir de la matrice de gain de rétroaction, de la plage de valeur de norme canonique homogène pour un pas de temps courant, du coefficient proportionnel, du coefficient dérivatif et de la matrice de générateur de dilatation, et une valeur représentant l'intégrale entre le premier pas de temps et le pas de temps courant d'un produit associant le coefficient intégral, la matrice de générateur de dilatation, la plage de valeur de norme canonique homogène pour tous les pas de temps et le vecteur d'erreur.

Description

Description
Titre : Utilisation de l’homogénéité généralisée pour améliorer une commande PID
L’invention concerne le domaine des correcteurs pour l’asservissement de systèmes, et plus particulièrement des correcteurs du type PID (proportionnel-intégral-dérivé). L’asservissement d’une grandeur consiste en la mesure, en temps réel, de l’écart, appelé erreur, entre la valeur réelle de cette grandeur et la consigne à atteindre. Un correcteur applique ensuite à cette erreur une fonction de transfert. Le résultat de cette fonction de transfert forme une commande à appliquer pour réduire l’erreur entre consigne et valeur réelle de la grandeur à asservir.
Les correcteurs PID sont caractérisés par une loi de fonctionnement comprenant un terme proportionnel, un terme dérivé et un terme intégral, d’où le nom. Les correcteurs PID sont linéaires, c’est-à-dire que leur fonction de transfert est une fonction linéaire. Le réglage d’un correcteur PID linéaire nécessite l’ajustement de trois coefficients pour régler ce correcteur PID, ce qui rend les correcteurs PID linéaires simples à mettre en œuvre. L’asservissement réalisé avec un correcteur PID linéaire bien réglé est robuste (i.e. résistant aux perturbations), rapide (i.e. à faible temps de réponse) et précis (i.e. l’erreur asymptotique est sensiblement nulle). Ces qualités, associées à la simplicité du réglage des correcteurs PID, en font les correcteurs les plus utilisés de l’industrie.
Ainsi, à titre d’exemple, la quasi-totalité des drones quadrirotors sont asservis par des correcteurs PID linéaires. Un correcteur PID est très efficace pour asservir un drone dans le cadre d’un modèle avec de faibles perturbations en tangage et en roulis autour de la position horizontale du drone. Les effets non linéaires de ce type de modèle sont relativement faibles, et peuvent être traités comme des incertitudes et minimisés par le réglage du correcteur, par exemple en utilisant un critère H-infini.
Les correcteurs PID linéaires ne sont cependant pas parfaits, et existe un besoin de correcteurs plus performants. On connaît des correcteurs non linéaires du type commande à mode glissant, ou SMC (“ sliding mode control ” en anglais), comme décrits dans l’article de Xu, R., & Ozguner, U. (2006, December) “ Sliding mode control of a quadrotor helicopter ”, In Proceedings of the 45th IEEE Conférence on Decision and Control (pp. 4957-4962). IEEE.
L’article de Lee, D., Kim, H. J., & Sastry, S. (2009), “ Feedback linearization vs. adaptive sliding mode control for a quadrotor helicopter", International Journal of control, Automation and Systems, 7(3), 419-428, compare les performances entre un correcteur de type SMC et un correcteur du type à linéarisation par rétroaction, ou FLM (‘ feedback linearization methocd).
L’article de Besselmann, T., Lofberg, J., & Morari, M. (2012). “Explicit MPC for LPV Systems: Stability and optimality IEEE Transactions on Automatic Control, 57(9), 2322-2332 ” décrit un correcteur non linéaire du type à commande prédictive de modèle, ou MPC (“ model prédictive control ” en anglais).
Les articles Milhim, A., Zhang, Y., & Rabbath, C. A. (2010). “Gain scheduling based PID controller for fault tolérant control of quad-rotor UAV. In AIAA infotech@ aerospace 2010 (p. 3530)", et Ataka, A., Tnunay, H., Inovan, R., Abdurrohman, M., Preastianto, H., Cahyadi, A. L, & Yamamoto, Y. (2013, November), “ Controllability and observability analysis of the gain scheduling based linearization for uav quadrotor ” In 2013 International conférence on robotics, biomimetics, intelligent computational Systems (pp. 212-218). IEEE décrivent des correcteurs non linéaires du type PID à commutateur utilisant une planification de gain.
Aucun de ces correcteurs non linéaires ne donne satisfaction. Les correcteurs du type SMC et les correcteurs du type à commutateur présentent un problème de babil (“ chattering ” en anglais), comme cela est décrit dans l’article de Xu, R., & Ozguner, U. (2006, December). “ Sliding mode control of a quadrotor helicopter ” In Proceedings of the 45th IEEE Conférence on Decision and Control (pp. 4957-4962). IEEE. Les correcteurs du type MPC et FLM présentent une trop grande complexité algorithmique pour les mettre en œuvre en pratique. L’invention vient améliorer la situation. À cet effet, elle propose un dispositif de commande numérique pour l’asservissement d’un système à commander numériquement, opérant par pas de temps discret, à partir d’un vecteur d’erreur reçu en entrée à chaque pas de temps, comprenant une mémoire agencée pour recevoir des données de paramètres de commande comprenant un facteur d’homogénéité choisi dans la plage [-1 ; 0], une matrice de gain de rétroaction liée au système à commander, une matrice de générateur de dilatation, une matrice de Lyapunov définissant une norme canonique homogène, une borne inférieure, une borne supérieure, et un coefficient proportionnel, un coefficient dérivatif et un coefficient intégral caractéristiques du système à commander, un estimateur agencé pour déterminer une plage de valeur de norme canonique homogène pour un pas de temps courant à partir des plages d’estimation des pas de temps précédents, du vecteur d’erreur du pas de temps courant, de la matrice de générateur de dilatation, de la matrice de Lyapunov, de la borne inférieure et de la borne supérieure, lesquelles définissent la plage d’estimation pour le premier pas de temps, un calculateur agencé pour retourner une commande du système à commander pour le pas de temps courant à partir de la somme entre le vecteur d’erreur du pas de temps courant multiplié par un facteur calculé à partir de la matrice de gain de rétroaction, de la plage de valeur de norme canonique homogène pour un pas de temps courant, du coefficient proportionnel, du coefficient dérivatif et de la matrice de générateur de dilatation, et une valeur représentant l’intégrale entre le premier pas de temps et le pas de temps courant d’un produit associant le coefficient intégral, la matrice de générateur de dilatation, la plage de valeur de norme canonique homogène pour tous les pas de temps et le vecteur d’erreur.
La Demanderesse a conçu un correcteur d’un genre nouveau, aux performances améliorées par rapport à un correcteur PID linéaire. La Demanderesse a mis en œuvre ce nouveau correcteur dans un système initialement asservi avec un correcteur PID linéaire en tirant profil des réglages déjà réalisés par un fabricant sur ce correcteur PID linéaire.
Ce dispositif est particulièrement avantageux car il améliore le temps de réponse et la robustesse du système comparé à un correcteur linéaire caractérisé par les coefficients kp, ki et kd. Ces améliorations sont très simples à mettre en œuvre, car le système dans son ensemble est peu modifié. Enfin, comparé à un correcteur PID linéaire, le surcoût en complexité et en charge de calcul est très faible.
Selon divers modes de réalisation, l’invention peut présenter une ou plusieurs des caractéristiques suivantes :
- le calculateur est agencé pour calculer le facteur calculé à partir de la matrice de gain de rétroaction, de la plage de valeur de norme canonique homogène pour un pas de temps courant, du coefficient proportionnel, du coefficient dérivatif et de la matrice de générateur de dilatation selon la formule
Où K0 est la matrice de gain de rétroaction, m est le facteur d’homogénéité, || E (t) ||P est une valeur tirée dans la plage de valeur de norme canonique homogène pour le pas de temps courant, K est une matrice associant le coefficient proportionnel et le coefficient dérivatif, et G est la matrice de générateur de dilatation,
-le calculateur est agencé pour calculer la valeur représentant l’intégrale entre le premier pas de temps et le pas de temps courant d’un produit associant le coefficient intégral, la matrice de générateur de dilatation, la plage de valeur de norme canonique homogène des pas de temps et le vecteur d’erreur selon la formule
Où Ki est le coefficient intégral, G est la matrice de générateur de dilatation, et ||E(t) ||P est une valeur tirée dans la plage de valeur de norme canonique homogène pour le pas de temps T,
- le calculateur est agencé pour tirer comme valeur dans la plage de valeur de norme canonique homogène pour un pas de temps donnée la borne supérieure de cette plage,
- le calculateur est agencé pour utiliser la borne supérieure de la plage de valeur de norme canonique homogène pour le pas de temps courant comme valeur tirée dans la plage de valeur de norme canonique homogène pour le pas de temps courant,
- l’estimateur détermine la plage de valeur de norme canonique homogène pour un pas de temps courant en initialisant une valeur de plage inférieure et une valeur de plage supérieure avec les bornes de la plage de valeur de norme canonique homogène du pas de temps précédent et en appliquant : - un premier test déterminant si le produit de la transposée du produit du vecteur d’erreur du pas de temps courant et de la transposée de l' exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la valeur de plage supérieure, de la matrice de Lyapunov, et du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la valeur de plage supérieure est plus grand que 1, et, le cas échéant, la définition de la plage de valeur de norme canonique homogène du pas de temps du pas de temps courant entre la valeur de plage supérieure et le minimum entre le double de la valeur de plage supérieure et la borne supérieure,
- un second test, appliqué si le premier test est négatif, déterminant si le produit de la transposée du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la valeur de plage inférieure, de la matrice de Lyapunov, et du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la valeur de plage inférieure est plus grand que 1 , et, le cas échéant, la définition de la plage de valeur de norme canonique homogène du pas de temps du pas de temps courant entre le maximum entre la moitié de la valeur de plage inférieure et la borne inférieure et la valeur de plage inférieure,
- une boucle si le second test est négatif, qui met à jour itérativement la valeur de plage inférieure et la valeur de plage supérieure en calculant la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure, en déterminant si le produit de la transposée du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure, de la matrice de Lyapunov, et du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure est plus petit que 1 , et en mettant à jour la valeur de plage supérieure avec la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure si c’est le cas, et la valeur de plage inférieure avec la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure dans le cas contraire.
L’invention concerne également un quadrotor qui comprend un dispositif selon l’invention pour calculer une commande à partir d’une consigne reçue en entrée et [un produit de programme d’ordinateu agencé pour mettre en œuvre l’estimateur et le calculateur du dispositif selon l’invention.
D’autres caractéristiques et avantages de l’invention apparaîtront mieux à la lecture de la description qui suit, tirée d’exemples donnés à titre illustratif et non limitatif, tirés des dessins sur lesquels : [Fig. 1] La figure 1 représente une vue schématique d’un système de coordonnées d’un quadrotor,
[Fig. 2] La figure 2 représente une vue schématique d’un dispositif selon l’invention, [Fig. 3] La figure 3 représente un exemple de boucle de fonctionnement du dispositif de la figure 2, [Fig. 4]La figure 4 représente un exemple de mise en œuvre particulière d’une fonction de la figure 3,
[Fig. 5] La figure 5 représente un exemple de mise en œuvre particulière d’une autre fonction de la figure 3,
[Fig. 6] La figure 6 représente une comparaison de la précision entre une consigne, une commande PID classique, et la commande PID homogène de l’invention dans la dimension x,
[Fig. 7] La figure 7 représente une comparaison de la précision entre une consigne, une commande PID classique, et la commande PID homogène de l’invention dans la dimension y, [Fig. 8] La figure 8 représente une comparaison de la précision entre une consigne, une commande PID classique, et la commande PID homogène de l’invention dans la dimension z, [Fig. 9] La figure 9 représente une comparaison de la précision entre une consigne, une commande PID classique, et la commande PID homogène de l’invention dans la dimension Y,
[Fig. 10]La figure 10 représente la robustesse de la commande PID classique [Fig. 11]La figure 11 représente la robustesse de la commande PID homogène selon l’invention, et
[Fig. 12]La figure 12 quantifie les améliorations représentées sur les figures 6 à 11 en norme L2. Fes dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant.
La présente description est de nature à faire intervenir des éléments susceptibles de protection par le droit d’auteur et/ou le copyright. Le titulaire des droits n’a pas d’objection à la reproduction à l’identique par quiconque du présent document de brevet ou de sa description, telle qu’elle apparaît dans les dossiers officiels. Pour le reste, il réserve intégralement ses droits. La figure 1 représente une vue schématique d’un système de coordonnées d’un quadrotor. Ce système va être utilisé pour expliquer le fonctionnement classique d’un système commandé par le dispositif selon l’invention.
Dans ce système, 4 rotors exercent des forces respectives f1 à f4, par exemple pour faire voler un drone. La commande des rotors est réalisée par le biais d’une commande u qui est un vecteur de dimension 4.
En écrivant le bilan des forces et le principe fondamental de la dynamique, on peut écrire le modèle linéarisé autour en mode ‘vol’ régit le mouvement du drone :
[Math 1] [Math 2]
Où g est la constance de gravité, M est la masse, Ixx, Iyy, lzz sont les moments d’inerties par rapport à l’axe x,y,z, et les Uj(j = 1,2,3,4) sont les composantes de la commande u = F (f1, f2, f3,f4) d’où F: R 4 ® R 4 est un mapping inversible, dont un exemple peut être trouvé dans l’article de Wang, S., Polyakov, A., & Zheng, G.. “ Quadrotor Control Design under Time and State Constraints: Implicit Lyapunov Function Approach ” in 2019 18th European Control Conférence (pp. 650-655). IEEE.
En posant les variables [Math 3]
On peut reformuler les équations Math 1 et Math 2 sous la forme
[Math 4] Où r(t) représente un vecteur d’état dans le système de coordonnées de la figure 1, u(t) est le vecteur de commande, et s(t) représente les coordonnées réelles que l’on cherche à contrôler par la commande u(t), parmi les 4 cas suivants :
De manière classique, les matrices A, B et C sont connues pour un système à commander donné, et la commande est contrôlée par une commande proportionnelle intégrale dérivée linéaire selon la formule suivante :
[Math 5]
Où e représente l’erreur, c’est-à-dire la différence entre la valeur réelle de y et la valeur désirée pour y, Kp est le coefficient proportionnel de la commande, Kd est le coefficient dérivatif de la commande, et Ki est le coefficient intégral de la commande.
C’est ce type de commande que l’invention vient améliorer, en introduisant la notion de commande proportionnelle intégrale dérivée homogène. Pour cela, elle vient utiliser les paramètres déjà connus que sont les matrices A, B et C du modèle linéarisé au tour du point opérationnel du système à commander, ainsi que les coefficients Kp, Kd et Ki.
Partant de cet existant, la Demanderesse a posé les nouvelles variables suivantes :
[Math 6]
À partir de ces nouvelles formules, la Demanderesse a cherché à utiliser les méthodes d’homogénéisation généralisée et à les adapter à ce problème. Elle a donc d’abord défini une matrice de gain de rétroaction K0 de dimension mu * d qui est définie par la contrainte suivante :
[Math 7]
K0 est choisie telle que A0 = DAD+ + DBK0 est une matrice nilpotente
Où D+ est la matrice pseudo-inverse de la matrice D
Une fois la matrice K0 déterminée, il faut déterminer la matrice de générateur de dilatation G. Cette matrice doit être une matrice de dimension d * d qui respecte le critère anti-Hurwitz, c’est-à-dire que toutes ses valeurs propres ont une partie réelle positive, et respecte la contrainte suivante :
[Math 8]
G est choisie telle que A0G = (G + mI)A0 et GDB = DB
Où / est la matrice identité, et m est un facteur d’homogénéité compris dans la plage [-
1 ; 0].
Enfin, une fois la matrice G déterminée, il faut déterminer la matrice P de Lyapunov, qui va servir à définir une norme canonique homogène. La matrice P doit être une matrice symétrique de dimension d * d qui respecte les contraintes suivantes :
[Math 9] Les travaux de la Demanderesse ont démontré que les matrices K0, G et P existent dans la quasi-totalité des systèmes mécaniques décrits plus haut. Ainsi, ces matrices sont considérées comme des paramètres intrinsèquement définis par le système à commander et ses paramètres A, B, C, Kp, Kd, et Ki.
Une fois ces nouveaux paramètres établis, la Demanderesse a appliqué la théorie de rhomogénéisation, ce qui a permis de définir une loi de commande homogène à partir de l’équation de la formule Math 5 sous la forme suivante : [Math 10]
Où exp() est la fonction exponentielle, et || E (t) ||P est une norme canonique homogène définie de manière implicite par les matrices G et P selon les contraintes suivantes :
[Math 11] La norme canonique homogène fait l’objet d’explications détaillées dans l’article de Polyakov et al ” Sliding mode control design using canonical homogeneous norm ” International Journal of Robust and Nonlinear Control, 2019, vol. 29, no 3, p. 682-701.
L’avantage de cette reformulation est qu’elle permet de définir une commande proportionnelle intégrale dérivée dans laquelle les coefficients Kp, Kd, et Ki ne sont plus fixes, mais peuvent varier dans le temps, ce qui permet à la commande proportionnelle intégrale dérivée homogène plus performante. Cependant, la formule Math 10 reste très complexe à résoudre dans l’absolu, en particulier la détermination de la valeur de la norme canonique homogène selon la formule Math 11. La Demanderesse a donc utilisé un algorithme numérique afin d’estimer en ligne cette norme canonique homogène.
Le dispositif décrit avec les figures 2 à 5 vient réaliser cela. La figure 2 représente une vue schématique d’un dispositif selon l’invention.
Le dispositif 2 comprend une mémoire 4, un estimateur 6 et un calculateur 8. Le dispositif 2 reçoit des données de fonctionnement 12 d’un système à commander 10, et le calculateur 8 émet vers le système 10 une commande 14.
La mémoire 4 peut être tout type de stockage de données propre à recevoir des données numériques : disque dur, disque dur à mémoire flash, mémoire flash sous toute forme, mémoire vive, disque magnétique, stockage distribué localement ou dans le cloud, etc. Les données calculées par le dispositif peuvent être stockées sur tout type de mémoire similaire à la mémoire 4, ou sur celle-ci. Ces données peuvent être effacées après que le dispositif a effectué ses tâches ou conservées.
Dans l’exemple décrit ici, la mémoire 4 reçoit les paramètres décrits plus haut, à savoir le facteur d’homogénéité m choisi dans la plage [-1 ; 0], la matrice de gain de rétroaction K0, la matrice de générateur de dilatation, la matrice de Lyapunov définissant la norme canonique homogène, le coefficient proportionnel Kp , le coefficient dérivatif Kd et le coefficient intégral caractéristiques du système à commander.
La mémoire 4 reçoit également une borne inférieure a, une borne supérieure b, et un nombre de boucles N. En effet, lors de ses travaux, la Demanderesse a découvert un algorithme permettant d’estimer une plage de valeurs approchant la valeur de la norme canonique. Cet algorithme sera décrit avec la figure 3. Cependant, afin de garantir sa convergence, il est nécessaire de seuiller une partie des calculs avec la borne inférieure a et la borne supérieure b, et de définir un nombre de boucles N. L’estimateur 6 et le calculateur 8 sont des éléments accédant directement ou indirectement à la mémoire 4. Ils peuvent être réalisés sous la forme d’un code informatique approprié exécuté sur un ou plusieurs processeurs. Par processeurs, il doit être compris tout processeur adapté aux calculs décrits plus bas. Un tel processeur peut être réalisé de toute manière connue, sous la forme d’un microprocesseur pour ordinateur personnel, d’une puce dédiée de type FPGA ou SoC, d’une ressource de calcul sur une grille ou dans le cloud, d’un microcontrôleur, ou de toute autre forme propre à fournir la puissance de calcul nécessaire à la réalisation décrite plus bas. Un ou plusieurs de ces éléments peuvent également être réalisés sous la forme de circuits électroniques spécialisés tel un ASIC. Une combinaison de processeur et de circuits électroniques peut également être envisagée.
Bien que l’estimateur 6 et le calculateur 8 soient décrits séparément du système 10 sur la figure 2, ils sont prévus pour être intégrés à ce dernier, soit par modification du contrôleur du système 10, soit par adjonction à celui-ci. Dit autrement, le dispositif 2, bien que représenté et décrit séparément, a pour objectif d’être intégré intimement au sein du système 10 et remplacer sa commande proportionnelle intégrale dérivée linéaire. Il restera néanmoins possible de le réaliser sous la forme d’un ajout qui vient se greffer sur un système 10 et dériver la commande de celui-ci.
La figure 3 représente une boucle de fonctionnement du dispositif 2. Comme expliqué plus haut, le dispositif 2 est numérique et utilise le fait que les systèmes 10 pour lesquels il est conçu sont également numériques. Cela signifie qu’il fonctionne par pas de temps discrets. Aussi, au lieu de parler d’une variable de temps t, on utilisera par la suite un indice i qui désigne un nombre de pas de temps, et donc un instant t équivalent au produit de l’indice i par la durée du pas de temps du dispositif 2.
La figure 3 est donc présentée sous la forme d’une boucle de mise à jour qui reçoit en entrée dans une opération 300 des données 12 de vecteur d’erreur E et qui émet en sortie dans une opération 399 des données 14 de commande u au système 10. Avantageusement, tous les éléments calculés dans les diverses boucles seront stockés dans la mémoire 4. En variante, ces éléments pourraient ne pas être stockés, et, lorsqu’une fonction fait référence à une valeur passée, celle-ci pourrait être recalculée.
Dans une opération 310, l’estimateur 6 exécute une fonction Est() afin de déterminer une plage de valeur qui approche la valeur de la norme canonique homogène de la formule Math 11.
La figure 4 représente un mode de réalisation en exemple de la fonction Est(). La fonction Est() repose sur le test d’une valeur afin de déterminer directement ou de manière dichotomique les bornes de la plage qui approche la valeur de la norme canonique homogène.
Pour le premier pas de temps, cette plage est fixée par la borne inférieure a et la borne supérieure b, c’est-à-dire que nc[0] vaut [a ; b]. Ensuite, pour chaque pas de temps, cette fonction commence dans une opération 400 par initialiser la variable de valeur de borne inférieure A et la variable de valeur de borne supérieure B avec les valeurs des bornes de la plage déterminée au pas précédent nc[i-l].
Ensuite, deux tests sont réalisés afin de déterminer si un cas de convergence directe s’offre, ou si une boucle par dichotomie doit être exécutée.
Le premier test est effectué dans une opération 410 avec l’exécution d’une fonction test() avec la variable de valeur de borne supérieure B comme argument. La fonction test est comme suit : [Math 12]
Si la valeur de test(B) est supérieure à 1, alors la plage nc[i] est déterminée dans une opération 420 comme étant comprise entre la variable de borne supérieure B et le mininum entre le double de la variable de borne supérieure B et la borne supérieure b. Ensuite, la fonction se termine dans une opération 499. Si la valeur de test(B) est inférieure à 1, alors le deuxième test est réalisé dans une opération 430. Ici, c’est la variable de valeur de borne inférieure A est qui donnée en argument à la fonction test().
Si la valeur de test(A) est inférieure à 1, alors la plage nc[i] est déterminée dans une opération 440 comme étant comprise entre le maximum entre la moitié de la variable de borne inférieure A et la borne inférieure b d’une part et la variable de borne inférieure A d’autre part. Ensuite, la fonction se termine dans l’opération 499.
Si la valeur de test(A) est supérieure à 1, alors la plage nc[i] est calculée par dichotomie dans une boucle qui commence par l’initialisation d’un indice de boucle j à 0.
Ensuite, une condition de fin de boucle est testée dans une opération 455 en comparant l’indice j au nombre de boucles N . Si ce dernier n’est pas atteint, alors la boucle commence dans une opération 460 par le calcul d’une variable de dichotomie V qui est mise à la moitié de la somme de la variable de valeur de borne inférieure A et de la variable de valeur de borne supérieure B.
La variable de dichotomie V est alors donnée en argument à la fonction test() dans une opération 465. Si la valeur de test(V) est inférieure à 1 , alors la variable de valeur de borne supérieure B est mise à jour avec la variable de dichotomie V dans une opération 470. Si la valeur de test(V) est supérieure à 1 , alors la variable de valeur de borne inférieure A est mise à jour avec la variable de dichotomie V dans une opération 475.
Enfin, l’indice j est incrémenté dans une opération 480 et la boucle reprend avec le test de l’opération 455. Une fois la boucle terminée, la plage nc[i] est définie dans une opération 490 comme comprise entre la variable de valeur de borne inférieure A et la variable de valeur de borne supérieure B et la fonction Est() se termine dans l’opération 499.
Il apparaît que la valeur du nombre de boucles N est un facteur important et constitue un compromis à choisir pour le dispositif 2. En effet, il arrivera régulièrement que les tests des opérations 410 et 430 soient négatifs, auquel cas la boucle est exécutée, ce qui est plus coûteux en temps de calcul et en énergie consommée. Aussi, il conviendra de choisir la valeur de N en fonction du compromis précision recherchée / temps de calcul et énergie consommée.
La Demanderesse a découvert qu’il est possible d’utiliser n’importe quelle valeur de la plage nc[i] pour approcher la valeur de la norme canonique homogène de E[i], et qu’il est avantageux de retenir la borne supérieure de la plage nc[i].
En variante, la fonction Est() pourrait être implémentée différemment, par exemple par l’utilisation de gradient. Afin de garantir la stabilité de la commande u, il est souhaitable de seuiller la valeur retenue pour la valeur de la norme canonique homogène de E[i] entre la borne inférieure a et la borne supérieure b.
En variante, la fonction Est() peut retourner la valeur ncv[i] directement à la place de la plage nc[i].
Une fois la valeur de la norme canonique homogène bornée, l’opération 310 de la figure 3 est suivie par la détermination de la valeur du terme intégrale de la formule Math 10, avec l’exécution dans une opération 320 d’une fonction Int() par le calculateur 8.
La figure 5 représente un exemple de mise en œuvre de la fonction Int(). Dans cette mise en œuvre, la nature numérique de l’implémentation est exploitée en remplaçant le calcul du terme intégrale de la formule Math 10 par l’ajout de l’incrément à la valeur précédente.
Ainsi, la première intégrale est initialisée à 0, et pour les suivantes la fonction commence dans une opération 500 par initialiser la valeur d’intégrale I[i] du pas courant avec la valeur d’intégrale du pas précédent I[i-1].
Ensuite, la valeur de la norme canonique homogène pour le pas courant est choisie par une fonction cho() dans une opération 510. Comme décrit plus haut, dans une version préférée, c’est la borne supérieure de la plage nc[i] qui est retenue. Enfin, dans une opération 520, la valeur d’intégrale I[i] est calculée en ajoutant la contribution du terme du pas de temps courant, puis la fonction Int() se termine dans une opération 599. En variante, la fonction Int() pourrait recalculer la valeur de l’intégrale I[i] en repartant de zéro.
Une fois la valeur du terme intégrale déterminée, la commande u est calculée dans une opération 330 de la figure 3. Pour cela, le calculateur 8 exécute une fonction Cont().
La fonction Cont() vient réaliser le calcul de la formule suivante :
Ainsi, la commande u résultant peut être envoyée pour commander le système 10. Les figures 6 à 11 montrent des comparaisons entre une commande proportionnelle dérivée intégrale linéaire et la commande proportionnelle dérivée intégrale homogène du dispositif 2.
Plus précisément, les figures 6 à 9 représentent une comparaison de la précision entre une consigne, une commande PID classique, et la commande PID homogène de l’invention dans les dimensions x, y, z et Y à chaque fois une vue rapprochée de la zone stable. Les figures 10 et 11 représentent la robustesse respectivement de la commande PID classique et de la commande PID homogène selon l’invention. Enfin, la figure 12 quantifie ces améliorations en norme L2. Pour note, le coût en énergie est de seulement 1,1% en plus par rapport à la commande PID classique.

Claims

Revendications
[Revendication 1] Dispositif de commande numérique pour l'asservissement d’un système à commander numériquement, opérant par pas de temps discret, à partir d’un vecteur d’erreur reçu en entrée à chaque pas de temps, comprenant
- une mémoire agencée pour recevoir des données de paramètres de commande comprenant un facteur d’homogénéité choisi dans la plage [-1 ; 0], une matrice de gain de rétroaction liée au système à commander, une matrice de générateur de dilatation, une matrice de Lyapunov définissant une norme canonique homogène, une borne inférieure, une borne supérieure, et un coefficient proportionnel, un coefficient dérivatif et un coefficient intégral caractéristiques du système à commander,
- un estimateur agencé pour déterminer une plage de valeur de norme canonique homogène pour un pas de temps courant à partir des plages d’estimation des pas de temps précédents, du vecteur d’erreur du pas de temps courant, de la matrice de générateur de dilatation, de la matrice de Lyapunov, de la borne inférieure et de la borne supérieure, lesquelles définissent la plage d’estimation pour le premier pas de temps,
- un calculateur agencé pour retourner une commande du système à commander pour le pas de temps courant à partir de la somme entre le vecteur d’erreur du pas de temps courant multiplié par un facteur calculé à partir de la matrice de gain de rétroaction, de la plage de valeur de norme canonique homogène pour un pas de temps courant, du coefficient proportionnel, du coefficient dérivatif et de la matrice de générateur de dilatation, et une valeur représentant l’intégrale entre le premier pas de temps et le pas de temps courant d’un produit associant le coefficient intégral, la matrice de générateur de dilatation, la plage de valeur de norme canonique homogène pour tous les pas de temps et le vecteur d’erreur.
[Revendication 2] Dispositif selon la revendication 1 , dans lequel le calculateur est agencé pour calculer le facteur calculé à partir de la matrice de gain de rétroaction, de la plage de valeur de norme canonique homogène pour un pas de temps courant, du coefficient proportionnel, du coefficient dérivatif et de la matrice de générateur de dilatation selon la formule Où K0 est la matrice de gain de rétroaction, m est le facteur d’homogénéité, || E (t) ||P est une valeur tirée dans la plage de valeur de norme canonique homogène pour le pas de temps courant, K est une matrice associant le coefficient proportionnel et le coefficient dérivatif, et G est la matrice de générateur de dilatation.
[Revendication 3] Dispositif selon la revendication 1 ou 2, dans lequel le calculateur est agencé pour calculer la valeur représentant l’intégrale entre le premier pas de temps et le pas de temps courant d’un produit associant le coefficient intégral, la matrice de générateur de dilatation, la plage de valeur de norme canonique homogène des pas de temps et le vecteur d’erreur selon la formule
Où Ki est le coefficient intégral, G est la matrice de générateur de dilatation, et || E (t) ||P est une valeur tirée dans la plage de valeur de norme canonique homogène pour le pas de temps T.
[Revendication 4] Dispositif selon la revendication 2 ou 3, dans lequel le calculateur est agencé pour tirer comme valeur dans la plage de valeur de norme canonique homogène pour un pas de temps donnée la borne supérieure de cette plage.
[Revendication 5] Dispositif selon la revendication 4, dans lequel le calculateur est agencé pour utiliser la borne supérieure de la plage de valeur de norme canonique homogène pour le pas de temps courant comme valeur tirée dans la plage de valeur de norme canonique homogène pour le pas de temps courant.
[Revendication 6] Dispositif selon l’une des revendications précédentes, dans lequel l’estimateur détermine la plage de valeur de norme canonique homogène pour un pas de temps courant en initialisant une valeur de plage inférieure et une valeur de plage supérieure avec les bornes de la plage de valeur de norme canonique homogène du pas de temps précédent et en appliquant :
- un premier test déterminant si le produit de la transposée du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la valeur de plage supérieure, de la matrice de Lyapunov, et du produit du vecteur d’erreur du pas de temps courant et de la transposée de l' exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la valeur de plage supérieure est plus grand que 1, et, le cas échéant, la définition de la plage de valeur de norme canonique homogène du pas de temps du pas de temps courant entre la valeur de plage supérieure et le minimum entre le double de la valeur de plage supérieure et la borne supérieure,
- un second test, appliqué si le premier test est négatif, déterminant si le produit de la transposée du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la valeur de plage inférieure, de la matrice de Lyapunov, et du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la valeur de plage inférieure est plus grand que 1 , et, le cas échéant, la définition de la plage de valeur de norme canonique homogène du pas de temps du pas de temps courant entre le maximum entre la moitié de la valeur de plage inférieure et la borne inférieure et la valeur de plage inférieure,
- une boucle si le second test est négatif, qui met à jour itérativement la valeur de plage inférieure et la valeur de plage supérieure en calculant la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure, en déterminant si le produit de la transposée du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure, de la matrice de Lyapunov, et du produit du vecteur d’erreur du pas de temps courant et de la transposée de l’exponentielle du produit de la matrice de générateur de dilatation par le négatif du logarithme de la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure est plus petit que 1 , et en mettant à jour la valeur de plage supérieure avec la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure si c’est le cas, et la valeur de plage inférieure avec la moyenne entre la valeur de plage inférieure ou la valeur de plage supérieure dans le cas contraire.
[Revendication 7] Quadrotor, caractérisé en ce qu’il comprend un dispositif selon l’une des revendications précédentes pour calculer une commande à partir d’une consigne reçue en entrée.
[Revendication 8] Produit de programme d’ordinateur, caractérisé en ce qu’il est agencé pour mettre en œuvre l’estimateur et le calculateur du dispositif selon l’une des revendications 1 à 6.
EP21732448.2A 2020-05-12 2021-05-11 Utilisation de l'homogeneite generalisee pour ameliorer une commande pid Pending EP4133339A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2004684A FR3110257A1 (fr) 2020-05-12 2020-05-12 Utilisation de l’homogénéité généralisée pour améliorer une commande PID
PCT/FR2021/050828 WO2021229186A1 (fr) 2020-05-12 2021-05-11 Utilisation de l'homogeneite generalisee pour ameliorer une commande pid

Publications (1)

Publication Number Publication Date
EP4133339A1 true EP4133339A1 (fr) 2023-02-15

Family

ID=74045444

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21732448.2A Pending EP4133339A1 (fr) 2020-05-12 2021-05-11 Utilisation de l'homogeneite generalisee pour ameliorer une commande pid

Country Status (6)

Country Link
US (1) US20230176545A1 (fr)
EP (1) EP4133339A1 (fr)
CN (1) CN115867870A (fr)
CA (1) CA3183310A1 (fr)
FR (1) FR3110257A1 (fr)
WO (1) WO2021229186A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389160B (zh) * 2023-12-11 2024-02-27 安徽大学 一种遗传算法辅助的电力系统有限时间分散滑模控制方法
CN118915809B (zh) * 2024-07-23 2025-02-07 江苏师范大学 多源扰动下四旋翼无人机预定义时间轨迹跟踪控制方法
CN118789552B (zh) * 2024-08-19 2025-05-30 深圳翊翎自动化设备有限公司 基于六轴机械手的自动化设备控制方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860215A (en) * 1987-04-06 1989-08-22 California Institute Of Technology Method and apparatus for adaptive force and position control of manipulators
US7113834B2 (en) * 2000-06-20 2006-09-26 Fisher-Rosemount Systems, Inc. State based adaptive feedback feedforward PID controller
US7050863B2 (en) * 2002-09-11 2006-05-23 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
US7376472B2 (en) * 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
KR100507835B1 (ko) * 2003-02-03 2005-08-17 한국과학기술원 Pid 제어기의 최적 게인 선정방법
EP3101488B1 (fr) * 2015-06-03 2021-05-19 Honeywell spol s.r.o. Estimation de modèle de zone grise pour contrôleur de processus
CN108710302B (zh) * 2018-06-20 2021-07-06 天津大学 无源性全方位移动机器人轨迹跟踪自抗扰控制方法

Also Published As

Publication number Publication date
CN115867870A (zh) 2023-03-28
US20230176545A1 (en) 2023-06-08
FR3110257A1 (fr) 2021-11-19
WO2021229186A1 (fr) 2021-11-18
CA3183310A1 (fr) 2021-11-18

Similar Documents

Publication Publication Date Title
WO2021229186A1 (fr) Utilisation de l'homogeneite generalisee pour ameliorer une commande pid
KR102605907B1 (ko) 우주선을 위한 적응형 슬라이딩 모드 자세 제어 방법 및 장치
US7987145B2 (en) Target trajectory generator for predictive control of nonlinear systems using extended Kalman filter
EP3175306B1 (fr) Paramétrage optimisé de commande de rejet actif de perturbation
EP2795426B1 (fr) Contrôle tension-fréquence optimisé
FR2581216A1 (fr) Regulateur a reglage automatique du type a reconnaissance de forme
US10222764B2 (en) Application-specification-oriented control design
EP3126659A1 (fr) Procédé et dispositif de surveillance d'un paramètre d'un moteur de fusée
Spica et al. A framework for active estimation: Application to structure from motion
EP2116912B1 (fr) Procédé et dispositif de rejet robuste de perturbations périodiques dans une boucle de contrôle de position d'un axe
EP3721300B1 (fr) Procede d'optimisation des performances d'un asservissement d'un systeme mecatronique, dispositif adapte
FR2887044A1 (fr) Dispositif de reglage automatique des asservissements d'un simulateur mecanique de mouvements et dispositif associe
FR3040220A1 (fr) Systeme de regulation d'un parametre regule
FR3121410A1 (fr) Procédé de pilotage autonome d’un actionneur d’un appareil automobile
CA2741584C (fr) Dispositif d'equilibrage d'une plateforme de simulation, et procede associe
CN120065754A (zh) 一种基于观测的自适应对数终端滑模控制方法和装置
Torrisi et al. A variant to sequential quadratic programming for nonlinear model predictive control
Tesfaye et al. Robust control of discretized continuous systems using the theory of sliding modes
Wang et al. Neural adaptive control for a class of nonlinear systems with unknown deadzone
Shang et al. Convex approximations for a bi-level formulation of data-enabled predictive control
Carvajal-Rubio et al. On the discretization of robust exact filtering differentiators
Tahoumi New robust control schemes linking linear and sliding mode approaches
Vau et al. A pseudo-linear regression algorithm in discrete-time for the efficient identification of stiff systems
CN120380430A (zh) 用于控制机电系统的方法
FR3142511A1 (fr) Procédé de commande et dispositif de commande d’une turbomachine hybride

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20221110

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230527

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20240628