METHOD FOR CONTROLLING AN ACTUATOR IN A NESTED FRICTION MECHANICAL SYSTEM
20220382242 · 2022-12-01
Inventors
Cpc classification
G05B19/41885
PHYSICS
G05B19/404
PHYSICS
International classification
G05B19/404
PHYSICS
Abstract
A method of controlling an electrical actuator of a mechanical system having a plurality of nested zones of contact, the method comprising the steps of: acquiring data about the mechanical system, which system includes a number of nested zones of contact; preparing a model of the system on the basis of said data and of a number of LuGre models put in parallel equal to the number of nested zones of contact, and determining parameters of the model and also a compensation structure for compensating friction in the nested zones of contact; including the compensation structure in a control relationship for the actuator A; and controlling the actuator by means of the control relationship.
Claims
1. A method of controlling an electrical actuator of a mechanical system having a plurality of nested zones of contact, the method comprising the steps of: acquiring data about the mechanical system, which system includes a number of nested zones of contact; preparing a model of the system on the basis of said data and of a number of LuGre models equal to the number of nested zones of contact, and determining parameters of the model and also a compensation structure for compensating friction in the nested zones of contact; including the compensation structure in a control relationship for the actuator; and controlling the actuator by means of the control relationship.
2. The method according to claim 1, wherein the parameters of the model are determined by using a gradient free global optimization algorithm.
3. The method according to claim 2, wherein the gradient free global optimization algorithm is a stochastic algorithm.
4. The method according to claim 3, wherein the stochastic algorithm is a differential evolution algorithm.
5. The method according to claim 1, wherein the modelling parameters specific to each of the LuGre models i are: stiffness (σ.sub.0,i) of the blades representing friction; damping coefficient (σ.sub.1,i) of the movement of the blades; viscous friction coefficient (σ.sub.2); Coulomb friction torque (Γ.sub.c,i); static friction torque (Γ.sub.s,i); Stribeck angular velocity (ω.sub.s,i); and global relative speed of the motor (ω).
6. The method according to claim 1, wherein the compensation structure is of the feedback type.
7. The method according to claim 1, wherein the compensation structure is of the feedforward type.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Reference is made to the accompanying drawings, in which:
[0025]
[0026]
[0027]
[0028]
[0029]
DETAILED DESCRIPTION OF THE INVENTION
[0030]
[0034] The system thus has three friction zones: S1′/S2, S2′/S3, and S3′/S4. These friction zones are said to be nested.
[0035] The method of the invention is arranged to control the electric motor, which constitutes the electrical actuator of the mechanical system. The control method comprises the steps of: [0036] acquiring data about the mechanical system that comprises a number M of nested zones of contact; [0037] preparing a model of the system, referred to as a M-LuGre model, on the basis of said data and of a number M of LuGre models put in parallel, where M is equal to the number of nested zones of contact, with this being done by using a stochastic optimization algorithm in order to determine parameters of the model and in order to determine a compensation structure for compensating friction in the nested zones of contact; [0038] including the compensation structure in a control relationship for the actuator; and [0039] controlling the actuator by means of the control relationship.
[0040] The M-LuGre model puts M LuGre models i in parallel in order to calculate the total friction torque Γ.sub.f(t) as follows:
in which, for each model i: [0041] σ.sub.0,i is the stiffness of the spring blades representing the friction roughnesses; [0042] σ.sub.1,i is the damping coefficient of the movement of the spring blades; [0043] σ.sub.2 is the coefficient of viscous friction (it should be observed that any need to make use of σ.sub.2,i is avoided by factorization); [0044] z.sub.i is the mean deformation of the blade; [0045] Γ.sub.c,i is the Coulomb torque; [0046] Γ.sub.s,i is the static friction torque; [0047] ω.sub.s,i is the Stribeck angular velocity; and [0048] ω is the measured relative angular velocity of the motor.
[0049] The compensation structure, which is of the feedback type, is based on an estimate of the above model and it has the following form:
in which: [0050] ε is the error between the input setpoint or reference signal (for position or speed) and the resulting output signal ⊖.sub.r (position or speed depending on the input setpoint); [0051] the variables k.sub.s,i are M in number and they are determined so as to improve the robustness of the compensator in the face of modifications to external conditions such as temperature or changes in the system itself; and [0052] the other parameters and variables are as mentioned above with reference to the model.
[0053] Adjustment of the compensator includes the step of identifying all the parameters of each of the LuGre models i of the M-LuGre model and the step of determining the variables k.sub.s,1, . . . , k.sub.s,i, . . . , k.sub.s,M that ensure good operation and that stabilize the compensator.
[0054] The parameters of the M-LuGre model are defined by using a stochastic optimization algorithm, specifically a differential evolution algorithm. This algorithm is described in the document by P. Feyel et al., “LuGre Friction Model Identification and Compensator Tuning Using a Differential Evolution Algorithm”, pages 85 to 91, 2013 IEEE Symposium on Differential Evolution (SDE), 2013, IEEE. Preferably, the algorithm is used several times in succession in order to refine determination of the parameters of the model. How to determine the adjustment parameters for the algorithm is itself known. It is possible to use the standard adjustment parameters for the differential evolution algorithm, such as those mentioned in documents by R. Storn and K. Price, “Differential Evolution—A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces”, pages 341-359, Journal of Global Optimization 11, Kluwer Academic Publisher, 1997.
[0055] In this example, the data for the mechanical system comprise its specifications and the results of tests or simulations performed on a servo control loop such as that shown in
[0056] Data is obtained for various different scenarios (corresponding to different conditions of use, in particular temperature, and to different power supply parameters for each of those conditions of use), and by way of example it may comprise: parameters (voltage, current) of the power supplied to the electrical actuator, speed of movement and force as delivered by the actuator as a function of the power supply parameters, speed of movement and force that are to be obtained at the output from the mechanical system, . . . , which signals are sampled.
[0057] Thereafter, the differential evolution algorithm is used with the following cost function, for a temperature Tc:
in which: [0058] Nm is the number of scenarios; [0059] N.sub.s,k is the number of samples; and [0060] {circumflex over (⊖)}.sub.r is the output from the model as simulated with the following decision vector (σ.sub.0,i, σ.sub.1,i, σ.sub.2, Γ.sub.c,i, Γ.sub.s,i, ω.sub.s,i), where i varies from 1 to M so that a vector of (5M+1) parameters needs to be adjusted.
[0061] Once the parameters of the M-LuGre model have been determined for the various scenarios, it is possible to run a simulation on the basis of the servo control loop of
in which: [0062] N.sub.T is the number of scenarios tested; [0063] N.sub.s,k is the number of samples; [0064] Γ.sub.c,k is the command; and [0065] α and β are positive real numbers selected to harmonize orders of magnitude or to give greater importance to the error, to the command, or to the variation of the command. For example: if α and β are much less than 1, the error is amplified; if β is zero, the derivative of the command is high.
[0066]
[0067] It can be understood that the compensator receives as input the setpoint ⊖.sub.c from which there are determined both the product Js.sup.2 and the error s between the setpoint ⊖.sub.c and the output ⊖.sub.r. In this example, the compensator has a compensation structure that is itself known (De Wit et al., “A new model for control of systems with friction”, pages 419 to 425, No. 3, volume 40, IEEE Transactions on automatic control, 1995, IEEE). The error ε is used in the corrector K(s) and in the compensator {circumflex over (Γ)}.sub.r( ) and their outputs are added to the product Js.sup.2 in order to obtain the Coulomb torque Pc from which there is subtracted the total friction Γ.sub.s( ) that results from the model. The result is divided by the product Js.sup.2 in order to obtain the output ⊖.sub.r.
[0068] This gives rise to a control relationship that incorporates friction compensation and that can be used to control the actuator in a manner that is effective, smooth, and stabilizing, since the structure of the original LuGre compensation is conserved.
[0069] Naturally, the invention is not limited to the implementation described, but covers any variant coming within the field of the invention as defined by the claims.
[0070] In particular, the method of the invention can be used for controlling an actuator of any kind of mechanical system. Such a mechanical system is to produce accurate movement of a movable element, e.g. for aiming an optical or chronic member in a given direction. A mechanical system may comprise parts that are movable in rotation and/or in translation.
[0071] The term “LuGre model” is used to cover both the LuGre model as defined initially, and also its derivatives such as the Dahl and Coulomb models.
[0072] The compensation structure may be of a type other than the feedback type, example it could be of feedforward type.
[0073] It is possible to use some other stochastic algorithm, or an algorithm other than a stochastic algorithm. For example, it is possible to use the simplex algorithm, the pattern search algorithm, the subgradient method algorithm, the coordinate descent algorithm, . . . .
[0074] Using a global optimization algorithm without a gradient (referred to as a “derivative free optimization algorithm” in the literature) makes it easier to perform the method, but is not essential.