The invention relates to the field of controllers for the control of systems, and more particularly of controllers of the PID (proportional-integral-derivative) type. The control of a value involves the measurement, in real time, of the difference, called error, between the real value of this value and the set point to be reached. A controller then applies to this error a transfer function. The result of this transfer function forms a control to be applied to reduce the error between set point and real value of the value to be controlled.
PID controllers are characterised by an operating law comprising a proportional term, a derivative term and an integral term, hence the name. PID controllers are linear, that is to say that their transfer function is a linear function. The tuning of a linear PID controller requires the adjustment of three coefficients to tune this PID controller, which makes linear PID controllers simple to implement. The control carried out with a well-tuned linear PID controller is robust (i.e. resistant to disturbances), fast (i.e. with a low response time) and precise (i.e. the asymptotic error is substantially null). These qualities, associated with the simplicity of the tuning of PID controllers, make them the most used controllers in the industry.
Thus, for example, almost all quadcopter drones are controlled by linear PID controllers. A PID controller is very effective for controlling a drone in the context of a model with low pitch and roll disturbances around the horizontal position of the drone. The non-linear effects of this type of model are relatively weak, and can be processed as uncertainties and minimised by the tuning of the controller, for example by using an H-infinity criterion.
Linear PID controllers are not perfect, however, and there is a need for better performing controllers.
Non-linear controllers of the sliding mode control, or SMC, type 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 Conference on Decision and Control (pp. 4957-4962). IEEE.
The article by 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, compares the performance between a controller of the SMC type and a controller of the type with feedback linearisation, or FLM (feedback linearization method).
The article by Besselmann, T., Lofberg, J., & Morari, M. (2012), “Explicit MPC for LPV systems: Stability and optimality.” IEEE Transactions on Automatic Control, 57(9), 2322-2332″, describes a non-linear controller of the type with model predictive control, or MPC.
The articles Milhim, A., Zhang, Y., & Rabbath, C. A. (2010). “Gain scheduling based PID controller for fault tolerant control of quad-rotor UAV. In AIAA infotech@ aerospace 2010 (p. 3530)” and Ataka, A., Tnunay, H., Inovan, R., Abdurrohman, M., Preastianto, H., Cahyadi, A. I., & Yamamoto, Y. (2013, November), “Controllability and observability analysis of the gain scheduling based linearization for uav quadrotor” In 2013 International conference on robotics, biomimetics, intelligent computational systems (pp. 212-218). IEEE describe non-linear controllers of the PID type with a switch using gain scheduling.
None of these non-linear controllers are satisfactory. The controllers of the SMC type and the controllers of the type with a switch have a chattering problem, 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 Conference on Decision and Control (pp. 4957-4962). IEEE. The algorithmic complexity of the controllers of the MPC and FLM type is too great for them to be implemented in practice.
The invention improves the situation. For this purpose, it proposes a digital control device for the control of a system to be controlled digitally, operating by discrete time steps, on the basis of an error vector received at the input at each time step, comprising a memory arranged to receive data of control parameters comprising a homogeneity factor chosen in the range [-1; 0], a feedback gain matrix linked to the system to be controlled, an expansion generator matrix, a Lyapunov matrix defining a homogenous canonical norm, a lower limit, an upper limit, and a proportional coefficient, a derivative coefficient and an integral coefficient characteristic of the system to be controlled, an estimator arranged to determine a homogenous canonical norm value range for a current time step on the basis of the estimation ranges of the preceding time steps, 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 control of the system to be controlled for the current time step on the basis of the sum between the error vector of the current time step multiplied by a factor calculated on the basis of the feedback gain matrix, the homogenous canonical norm value range for a current time step, the proportional coefficient, the derivative coefficient and the expansion generator matrix, and a 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 homogenous canonical norm value range for all the time steps and the error vector.
The applicant has designed a controller of a new type, with improved performance with respect to a linear PID controller. The applicant has implemented this new controller in a system initially controlled with a linear PID controller while taking advantage of the tunings already carried out by a manufacturer on this linear PID controller.
This device is particularly advantageous since it improves the response time and the robustness of the system compared to a linear controller characterised by the coefficients kp, ki and kd. These improvements are very simple to implement, since the system overall is only slightly modified. Finally, compared to a linear PID controller, the additional cost in terms of complexity and calculation load is very low.
According to various embodiments, the invention can have one or more of the following features:
The invention also relates to a quadrotor that comprises a device according to the invention to calculate a control on the basis of a set point received at the input and a computer program product arranged to implement the estimator and the computer of the device according to the invention.
Other features and advantages of the invention will be clearer upon reading the following description, drawn from examples given for illustrative and non-limiting purposes, drawn from the drawings in which:
The drawings and the description below contain, in essence, elements of a certain nature. They can thus not only be used to better explain the present invention, but also contribute to its definition, if necessary.
The present description is likely to involve elements subject to protection by author’s rights and/or copyright. The owner of the rights does not object to the identical reproduction by anyone of the present patent document or of its description, as it appears in the official files. For the rest, they reserve the entirety of their rights.
In this system, 4 rotors exert respective forces f1 to f4, for example to make a drone fly. The control of the rotors is carried out via a control u that is a vector of dimension 4.
By writing the list of forces and Newton’s second law of motion, it can be written that the model linearised around in “flight” mode governs the movement of the drone:
where g is the gravitational constant, M is the mass, Ixx, Iyy, Izz are the moments of inertias with respect to the axis x, y, z, and the uj(j = 1,2,3,4) are the components of the control u = F(f1, f2, f3, f4) hence F: R4 → R4 is an invertible mapping, an example of which can be found in the 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.
By writing the variables
the equations Math 1 and Math 2 can be reformulated in the form
where r(t) represents a state vector in the coordinate system of
Conventionally, the matrices A, B and C are known for a given system to be controlled, and the control is controlled by a proportional integral derivative control according to the following formula:
where e represents the error, that is to say the difference between the real value of y and the desired value for y, Kp is the proportional coefficient of the control, Kd is the derivative coefficient of the control, and Ki is the integral coefficient of the control.
It is this type of control that the invention improves, by introducing the notion of homogenous proportional integral derivative control. For this, it uses the parameters already known which are the matrices A, B and C of the model linearised around the operational point of the system to be controlled, as well as the coefficients Kp, Kd and Ki,.
On this basis, the applicant wrote the following new variables:
On the basis of these new formulas, the applicant sought to use the methods of generalised homogenisation and to adapt them to this problem. They thus first defined a feedback gain matrix K0 of dimension mu ∗ d which is defined by the following constraint:
where D+ is the pseudo-inverse matrix of the matrix D.
Once the matrix K0 has been determined, the expansion generator matrix G must be determined. 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 respects the following constraint:
where I is the identity matrix, and m is a homogeneity factor comprised in the range [-1; 0].
Finally, once the matrix G has been determined, the Lyapunov matrix P, which will be used to define a homogenous canonical norm, must be determined. The matrix P must be a symmetrical matrix of dimension d ∗ d which respects the following constraints:
The work of the applicant has demonstrated that the matrices K0, G and P exist in the quasitotality of the mechanical systems described above. Thus, these matrices are considered to be parameters intrinsically defined by the system to be controlled and its parameters A, B, C, Kp, Kd, and Ki.
Once these new parameters have been established, the applicant applied the homogenisation theory, which allowed to define a homogenous control law on the basis of the equation of the formula Math 5 in the following form:
where exp() is the exponential function, and ||E(t)||P is a homogenous canonical norm defined implicitly by the matrices G and P according to the following constraints:
The homogenous canonical norm is the object of detailed explanations in the article by 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.
The advantage of this reformulation is that it allows to define a proportional integral derivative control in which the coefficients Kp, Kd, and Ki are no longer fixed, but can vary over time, which allows the homogenous proportional integral derivative control to have better performance.
However, the formula Math 10 remains very complex to solve in general, in particular the determination of the value of the homogenous canonical norm according to the formula Math 11. The applicant thus used a digital algorithm to estimate online this homogenous canonical norm.
The device described with
The device 2 comprises a memory 4, an estimator 6 and a computer 8. The device 2 receives operating data 12 of a system to be controlled 10, and the computer 8 emits to the system 10 a control 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, RAM, 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 carried out its tasks or preserved.
In the example described here, the memory 4 receives the parameters described above, namely the homogeneity factor m chosen in the range [-1; 0], the feedback gain matrix K0, the expansion generator matrix, the Lyapunov matrix defining the homogenous canonical norm, the proportional coefficient Kp, the derivative coefficient Kd and the integral coefficient Ki characteristic of the system to be controlled.
The memory 4 also receives a lower limit a, an upper limit b, and a number of loops N. Indeed, during their work, the applicant discovered an algorithm allowing to estimate a range of values approaching the value of the canonical norm. This algorithm will be described with
The estimator 6 and the computer 8 are elements directly or indirectly accessing the memory 4. They can be produced in the form of a suitable computer code executed on one or more processors. Processors should be understood as any processor adapted to the calculations described above. Such a processor can be produced in any known manner, in the form of a microprocessor for a personal computer, a dedicated chip of the FPGA or SoC type, a calculation resource on a grid or in the cloud, a microcontroller, or any other form capable of providing the calculation power necessary for the embodiment described below. One or more of these elements can also be produced in the form of specialised electronic circuits like an ASIC. A combination of processor and of electronic circuits is also possible.
Although the estimator 6 and the computer 8 are described separately from the system 10 in
In an operation 310, the estimator 6 executes a function Est() in order to determine a value range that approaches the value of the homogenous canonical norm of the formula Math 11.
For the first time step, this range is set by the lower limit a and the upper limit b, that is to say that nc[0] is equal to [a; b]. Then, for each time step, this function starts in an operation 400 by initialising the lower limit value variable A and the upper limit value variable B with the values of the limits of the range determined in the preceding step nc[i-1].
Then, two tests are carried out in order to determine whether a case of direct convergence is available, or whether a loop by dichotomy must be executed.
The first test is carried out in an operation 410 with the execution of a function test() with the upper limit value variable B as an argument. The test function is as follows:
If the value of test(B) is greater than 1, then the range nc[i] is determined in an operation 420 as being comprised between the upper limit variable B and the smaller out of double the upper limit variable B and the upper limit b. Then, the function terminates in an operation 499.
If the value of test(B) is less than 1, then the second test is carried out in an operation 430. Here, it is the lower limit value variable A that is given as an argument to the function test().
If the value of test(A) is less than 1, then the range nc[i] is determined in an operation 440 as being comprised between the greater out of half the lower limit variable A and the lower limit b on the one hand and the lower limit variable A on the other hand. Then, the function terminates in the operation 499.
If the value of test(A) is greater than 1, then the range nc[i] is calculated by dichotomy in a loop that starts by the initialisation of a loop index j to 0.
Then, 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 has not been reached, then the loop starts in an operation 460 by the calculation of a dichotomy variable V that is set to half the sum of the lower limit value variable A and the upper limit value variable B .
The dichotomy variable V is then given as an argument to the function test() in an operation 465. If the value of test(V) is greater than 1, then the upper limit value variable B is updated with the dichotomy variable V in an operation 470. If the value of test(V) is greater than 1, then the lower limit value variable A is updated with the dichotomy variable V in an operation 475.
Finally, the index j is incremented in an operation 480 and the loop continues with the test of the operation 455. Once the loop has ended, the range nc[i] is defined in an operation 490 as comprised between the lower limit value variable A and the upper limit value variable B and the function Est() terminates in the operation 499.
It appears that the value of the number of loops N is an important factor and constitutes a compromise to be chosen for the device 2. Indeed, it will regularly happen that the tests of the operations 410 and 430 are negative, in which case the loop is executed, which is more costly in calculation time and in energy consumed. Thus, the value of N should be chosen according to the compromise desired precision / calculation time and energy consumed.
The applicant has discovered that it is possible to use any value of the range nc[i] to approach the value of the homogenous canonical norm of E[i], and that it is advantageous to choose the upper limit of the range nc[i].
Alternatively, the function Est() could be implemented differently, for example by the use of a gradient. In order to guarantee the stability of the control u, it is desirable to threshold the value chosen for the value of the homogenous canonical norm of E[i] between the lower limit a and the upper limit b.
Alternatively, the function Est() can return the value ncv[i] directly instead of the range nc[i].
Once the value of the homogenous canonical norm has been limited, the operation 310 of
Thus, the first integral is initialised to 0, and for the following the function starts in an operation 500 by initialising the integral value I[i] of the current step with the integral value of the preceding step I[i-1].
Then, the value of the homogenous 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 limit of the range nc[i] that is chosen.
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() terminates in an operation 599.
Alternatively, the function Int() could recalculate the value of the integral I[i] by starting over from zero.
Once the value of the integral term has been determined, the control u is calculated in an operation 330 of
The function Cont() carries out the calculation of the following formula:
Thus, the resulting control u can be sent to control the system 10.
More precisely,
Although the present disclosure has been described with reference to one or more examples, workers skilled in the art will recognize that changes may be made in form and detail without departing from the scope of the disclosure and/or the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
FR2004684 | May 2020 | FR | national |
This Application is a Section 371 National Stage Application of International Application No. PCT/FR2021/050828, filed May 11, 2021, which is incorporated by reference in its entirety and published as WO 2021/229186 A1 on Nov. 18, 2021, not in English.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/FR2021/050828 | 5/11/2021 | WO |