METHOD FOR ESTIMATING ANGULAR ERRORS OF ANGLE CODERS IN PRECISION ROTARY DEVICES, DEVICE
20230236040 · 2023-07-27
Inventors
Cpc classification
G05B2219/37151
PHYSICS
International classification
Abstract
Disclosed is a method for estimating angular errors of coders for a looped system including a rotating actuator and an angle coder producing a position measurement signal, and including a calculation device controlling the actuator, the calculation device receiving a setpoint signal, as well as the measurement signal, for looping, the calculation device calculating in a corrector a control signal. In a test phase, a specific corrector C.sub.ω.sub.
Claims
1. A method for estimating angular errors of angle coders for a looped system including at least one actuator for rotating an axis and an angle coder a signal of position measurement of said axis, and including a calculation device for at least controlling said actuator, the calculation device receiving, on the one hand, a setpoint signal at the system input, and, on the other hand, the measurement signal, for looping the system, the rotation actuator generating torque undulations d.sub.m(t), the coder producing coder errors d.sub.c(t) which, for a setpoint signal y.sub.c(t) that corresponds to a rotation of the axis at a speed ω.sub.r supposed to be constant, have a spectrum consisted of the fundamental rotation frequency or and its harmonics kω.sub.r, kϵ, the calculating device calculating a command signal in a corrector, wherein, in a test phase, for a speed of rotation indexed j, θ.sub.rj, supposed to be constant, a specific corrector C.sub.θ.sub.
, 1<k≤N.sub.l, the corrector having a substantially zero gain at theses frequencies ω.sub.rj, kω.sub.rj, which causes an opening of the loop at said frequencies, and a matrix relationship is established between the position measurements and a function of parameters characterizing the coder errors and the torque undulations, on the system with the specific corrector and at the constant speed of rotation ω.sub.rj, the test phase is repeated a determined number n of times with different setpoints of rotation at speed ω.sub.rj supposed constant, where, jϵ
, 1<j≤n, the matrix relationships are concatenated in order to obtain an identifiable global matrix relationship, the parameters characterizing the coder errors and the torque undulations are estimated by solving the global matrix relationship.
2. The method according to claim 1, wherein, moreover, once estimated the parameters characterizing the coder errors and the torque undulations, the calculation device is configured for the execution in real time of the calculation of a coder error compensation signal in order to compensate for the coder errors.
3. The method according to claim 1, wherein a range [ω.sub.low, ω.sub.high] of rotation frequency of the actuator in which the axis transfer function module has a decrease of substantially 40 dB/decade is previously determined, and in the test phases, the different rotation speeds ω.sub.rj are further chosen in such a way that each constant rotation speed ω.sub.rj and its N.sub.l harmonics kω.sub.rj are in the range [ω.sub.low, ω.sub.high].
4. The method according to claim 3, wherein the range [ω.sub.low, ω.sub.high] of rotation frequency of the actuator in which the axis transfer function has a decrease of substantially 40 dB/decade is determined by a method chosen among: a graphical method using the curve of the gain
5. The method according to claim 1, wherein, in the test phase, the setpoint at the system input is a ramp position setpoint signal y.sub.c(t), or a constant speed setpoint signal.
6. The method according to claim 1, wherein the corrector is synthetized either by a mixed-sensitivity method on a H-infinity control, or by a robust pole placement method on RST corrector.
7. The method according to claim 1, wherein the matrix relationship between the position measurements and a function of parameters characterizing the coder errors and the torque undulations is expressed by:
8. The method according to claim 7, wherein the components φ(t) of ϕ.sub.j and the components y′.sub.m(t) of Y.sub.j are filtered, wherein the filtering can be high-pass or low-pass or band-pass.
9. The method according to claim 7, wherein the identifiable whole matrix relationship Y=ϕθ+D with:
10. The method according to claim 7, wherein the identifiable whole matrix relationship Y=ϕθ+D with:
{circumflex over (θ)}=(ϕ.sup.Tϕ+H).sup.−1ϕY where H is a square matrix defined positive of the size of ϕ.sup.Tϕ.
11. The method according to claim 7, wherein an interferometric optical measurement method is implemented for measuring the coder position errors, said measurements being made on a finite number n.sub.p of positions of the axis, and wherein the estimation {circumflex over (θ)} of the parameters characterizing the coder errors and the torque undulations is obtained by minimizing a quadratic criterion J=(Y−ϕθ).sup.T(Y−ϕθ) under the equality constraint E.sub.c=Cθ, where C is a matric such that
12. The method according to claim 9, wherein a calculation device is implemented, which is configured for the execution in real time, in a compensation calculation block, of the calculation of a coder error compensation signal in order to compensate for the coder errors, and the calculation device is configured to take into account in real time the torque undulations, and wherein the estimation {circumflex over (θ)} of the vector θ of the parameters characterizing the coder errors and the torque undulations is calculated by iteration: after a first repetition of test phases and a first calculation of the parameters characterizing the coder errors and the torque undulations by solving the global matrix relationship, a first estimated vector {circumflex over (θ)}.sub.1 is estimated, the coder error compensation signal being then calculated and the torque undulations being then taken into account on the basis of said first estimated vector {circumflex over (θ)}.sub.1, a new repetition of test phases and a new calculation of the parameters characterizing the coder errors and the torque undulations by solving the global matrix relationship are performed on the system so-compensated on the basis of the first estimated vector {circumflex over (θ)}.sub.1, a new estimated vector {circumflex over (θ)}.sub.2 being estimated, the coder error compensation signal being then calculated and the torque undulations being then taken into account on the basis of the sum of the previous estimated vector {circumflex over (θ)}.sub.1 and the new estimated vector {circumflex over (θ)}.sub.2, and subsequent iterations are performed on the compensated system on the basis of the sum of the previous estimated vectors {circumflex over (θ)}.sub.1+{circumflex over (θ)}.sub.2+{circumflex over (θ)}.sub.3 . . . .
13. The method according to claim 1, wherein the number N.sub.l of harmonics kω.sub.rj is identical for the n tests with rotation setpoints at different speeds ω.sub.rj.
14. The method according to claim 1, wherein certain harmonics kω.sub.rj are omitted for the estimation of the parameters characterizing the coder errors and the torque undulations.
15. A device having at least one rotary axis, said device being a motion simulator or a centrifuge and including a looped system including at least one actuator for rotating the axis and an angle coder producing a position measurement signal of said axis, and including a calculation device for at least controlling said actuator, and including a calculation device for at least controlling said actuator, the calculation device receiving, on the one hand, a setpoint signal at the system input, and, on the other hand, the measurement signal, for looping the system, the rotation actuator generating torque undulations d.sub.m(t), the coder producing coder errors d.sub.c(t) which, for a setpoint signal y.sub.c(t) that corresponds to a rotation of the axis at a speed ω.sub.r supposed to be constant, have a spectrum consisted of the fundamental rotation frequency ω.sub.r and its harmonics kω.sub.r, kϵ, the calculation device further calculating a command signal in a corrector, the calculation device being configured to execute the method according to claim 1.
16. The method according to claim 10, wherein a calculation device is implemented, which is configured for the execution in real time, in a compensation calculation block, of the calculation of a coder error compensation signal in order to compensate for the coder errors, and the calculation device is configured to take into account in real time the torque undulations, and wherein the estimation {circumflex over (θ)} of the vector θ of the parameters characterizing the coder errors and the torque undulations is calculated by iteration: after a first repetition of test phases and a first calculation of the parameters characterizing the coder errors and the torque undulations by solving the global matrix relationship, a first estimated vector {circumflex over (θ)}.sub.1 is estimated, the coder error compensation signal being then calculated and the torque undulations being then taken into account on the basis of said first estimated vector {circumflex over (θ)}.sub.1, a new repetition of test phases and a new calculation of the parameters characterizing the coder errors and the torque undulations by solving the global matrix relationship are performed on the system so-compensated on the basis of the first estimated vector {circumflex over (θ)}.sub.1, a new estimated vector {circumflex over (θ)}.sub.2 being estimated, the coder error compensation signal being then calculated and the torque undulations being then taken into account on the basis of the sum of the previous estimated vector {circumflex over (θ)}.sub.1 and the new estimated vector {circumflex over (θ)}.sub.2, and subsequent iterations are performed on the compensated system on the basis of the sum of the previous estimated vectors {circumflex over (θ)}.sub.1+{circumflex over (θ)}.sub.2+{circumflex over (θ)}.sub.3 . . . .
17. The method according to claim 11, wherein a calculation device is implemented, which is configured for the execution in real time, in a compensation calculation block, of the calculation of a coder error compensation signal in order to compensate for the coder errors, and the calculation device is configured to take into account in real time the torque undulations, and wherein the estimation {circumflex over (θ)} of the vector θ of the parameters characterizing the coder errors and the torque undulations is calculated by iteration: after a first repetition of test phases and a first calculation of the parameters characterizing the coder errors and the torque undulations by solving the global matrix relationship, a first estimated vector {circumflex over (θ)}.sub.1 is estimated, the coder error compensation signal being then calculated and the torque undulations being then taken into account on the basis of said first estimated vector {circumflex over (θ)}.sub.1, a new repetition of test phases and a new calculation of the parameters characterizing the coder errors and the torque undulations by solving the global matrix relationship are performed on the system so-compensated on the basis of the first estimated vector {circumflex over (θ)}.sub.i a new estimated vector {circumflex over (θ)}.sub.2 being estimated, the coder error compensation signal being then calculated and the torque undulations being then taken into account on the basis of the sum of the previous estimated vector {circumflex over (θ)}.sub.1 and the new estimated vector {circumflex over (θ)}.sub.2, and subsequent iterations are performed on the compensated system on the basis of the sum of the previous estimated vectors {circumflex over (θ)}.sub.1+{circumflex over (θ)}.sub.2+{circumflex over (θ)}.sub.3 . . . .
18. The method according to claim 8, wherein the identifiable whole matrix relationship
Y=ϕθ+D with:
19. The method according to claim 8, wherein the identifiable whole matrix relationship
Y=ϕθ+D with:
{circumflex over (θ)}=(ϕ.sup.Tϕ+H).sup.−1ϕ.sup.TY where H is a square matrix defined positive of the size of ϕ.sup.Tϕ.
20. The method according to claim 8, wherein an interferometric optical measurement method is implemented for measuring the coder position errors, said measurements being made on a finite number n.sub.p of positions of the axis, and wherein the estimation {circumflex over (θ)} of the parameters characterizing the coder errors and the torque undulations is obtained by minimizing a quadratic criterion J=(Y−ϕθ).sup.T(Y−ϕθ) under the equality constraint E.sub.c=Cθ, where C is a matric such that
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0062] The following description in relation with the appended drawings, given by way of non-limiting examples, will allow a good understanding of what the invention consists of and of how it can be implemented.
[0063] In the appended drawings:
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0070] The specific difficulties met and the way they have been solved in practice, as well as the different ways to implement the proposed solution will now be described, which will allow a good understanding of the invention.
[0071] The controlled axis is driven in rotation by an actuator, typically a motor, and is subjected to two types of spatially periodic disturbances: [0072] The disturbances linked to the defects of the motor, and which are commonly called “cogging” or torque undulations, are disturbances depending on the position of the axis. [0073] The disturbances linked to the measurement errors of the angular coder, which are also spatially periodic and which are those that are desired to be estimated.
[0074] To these spatially periodic disturbances are added various disturbances, for example disturbances linked to the frictions that have a deterministic component and a random component.
[0075] As regards the angle coder:
[0076] Let y(t) be the physical position of the axis at instant t and y.sub.m(t) the measured position as provided by the angle coder. The coder errors act additively on the position y(t), and are spatially periodic, hence decomposable into Fourier series, so that it can be written:
y.sub.m(t)=y(t)+Σ.sub.k=1.sup.N[a.sub.k cos(y(t))+b.sub.k sin(y(t))] (1)
[0077] In this formula, abstraction is made of the random disturbances, that is to say they are not characterized.
[0078] It is supposed that the maximum harmonic rank denoted N is finished, which corresponds in practice to the fact that the harmonics of higher and higher rank have a weaker and weaker disturbing effect and may be neglected. The a.sub.k,b.sub.k characterizing the coder errors are terms of a Fourier series and are real scalar values.
[0079] As regards the axis rotation actuator, typically a motor:
[0080] Let u(t) be the motor torque, supposed to be non-subjected to disturbances, as coming from the control, and u.sub.e(t) the effective/real torque acting on the axis. If only spatially periodic torque disturbances are considered, then the relationship between u(t) and u.sub.e(t) is given by:
u.sub.e(t)=u(t)+Σ.sub.k=1.sup.N[α.sub.k cos(y(t))+β.sub.k sin(y(t))] (2)
[0081] This relationship is valid if the proper dynamics of the current control loops managed by the motor amplifier are neglected, which is justified by the high bandwidth of these current loops with respect to the frequencies of the motor disturbances and the motor errors involved here.
[0082] From this equation (2), it is also possible to model an unbalance torque, which is also sinusoidal over 2π radians, i.e. for k=1. The block-diagram of the disturbed closed loop is shown in
[0083] y.sub.c(t): position setpoint,
[0084] y(t): physical/real position (non accessible),
[0085] y.sub.m(t): position measured by the coder,
[0086] d.sub.c(t): coder error,
[0087] d.sub.m(t): torque undulations or “cogging”,
[0088] u(t): torque command signal provided by the corrector and that corresponds to the motor torque by supposing it non subjected to disturbances and as coming from the control,
[0089] u.sub.e(t): effective/real torque, this torque being disturbed by the torque undulations or “cogging”,
[0090] G(q): operator of the axis transfer function,
[0091] C(q): operator of the corrector transfer function,
[0092] q: advance operator of a sampling period, the method implementing a sampled system of the measurements and the calculations, the calculations being performed by a typically programmable calculator, in particular of the microprocessor type. The corrector and axis transfer functions are hence represented in discrete time.
[0093] The relationship between d.sub.c(t), d.sub.m(t) and y.sub.m(t) is given by the following relationship:
where
[0094] In this relationship (3), d.sub.c(t) depends on y(t) and d.sub.m(t) depends indirectly on y(t). Based on this relationship (3), it is observed that when the corrector is active, the effect of d.sub.c(t) on y.sub.m(t) acts via the direct sensitivity function:
[0095] and
[0096] the effect of d.sub.m(t) on y.sub.m(t) acts via the sensitivity function:
[0097] The effect of the coder errors on the position provided by said coder is indirect in closed loop, because it depends on the direct sensitivity function S.sub.y.sub.
[0098] Now, if the corrector transfer function is generally known with certainty, the axis transfer function G(q) is, to a certain extent, uncertain. As a first approximation, this function results from the second Newton law, and that way, in a significantly wide frequency range, it is noted that the gain of G(q) decreases by 40 dB/decade, which is the hallmark of a dual integrator.
[0099] Nevertheless, this property of decrease by 40 dB/decade is not verified at low frequency, where the gain decrease tends asymptomatically to 20 dB/decade due to the viscous frictions, nor at high frequency, where structure resonances and anti-resonances appear.
[0100] As G(q) is not known with certainty, it is the same for S.sub.y.sub.
[0101] By way of example,
[0102] The method for estimating the angle coder errors on a closed-loop/controlled system as proposed by the invention will now be described.
[0103] For these explanations, it is supposed that the corrector implemented is of the RST type. However, in other embodiments, other types of correctors can be used, all the more so since the RST corrector is the most general form of single-variable corrector, and all the other corrector structures can come down thereto.
[0104] In case of equipment with several axes, each axis implements its own method according to the invention.
[0105] For this generic RST corrector structure, the command obtained by C(q) is written:
[0106] In
[0107] The proposed method for characterizing d.sub.c (coder error) consists in performing tests on the system that is and remains physically in closed loop. It is reminded that the system includes calculation and control means, the rotation actuator and a sensor, and that it receives a setpoint that is here a position setpoint to simplify the explanations but it could receive one/several setpoints of other types, position and/or speed and/or acceleration.
[0108] During these tests, a position setpoint is applied, which is such that it amounts to require that the axis rotates at constant speed. It is reminded that the speed is the derivative of the position and this means that the position setpoint imposed to the system is a ramp.
[0109] Under these conditions of ramp-shaped position setpoint, the coder errors appear as temporally quasi-periodic disturbances due to the obtained speed of the axis that is quasi-constant and to the periodicity of the disturbance coming from the angle coder errors.
[0110] It is supposed that the system and its control law have together systematically at least two integrators, which makes it possible to follow the speed setpoint without lagging error according to the final value theorem.
[0111] Let's note ω.sub.r the speed of rotation of the axis (in rad/s), we have then:
y.sub.m(t)=ω.sub.rt+y(0)+d(t) (6)
[0112] where d(t) is the whole disturbances of the axis brought back to y(t) and with d(t) which has a zero mean.
[0113] Under those conditions, it may be written:
d.sub.c(t)≈Σ.sub.k=1.sup.N[a.sub.k cos(y(t))+b.sub.k sin(y(t))]+d′(t) (7)
[0114] where d′(t) is a zero-mean term that will be neglected in the following.
[0115] It is observed that, based on the shape of the typical direct sensitivity function curve shown in
tends to 1 in high frequency if the gain of the open-loop system is close enough to 0, which requires a significant “roll-off” of the high-frequency corrector.
[0116] It is deduced therefrom that for high enough values of kω.sub.r, the direct sensitivity function has for module
and the “closed-loop” effect is then negligible at these high frequencies and, at these frequencies, it is as if the loop were open whereas it is physically closed.
[0117] However, it is not the same for the harmonics of low ranks in formula (7), hence for lower frequencies that do not allow this “loop opening” and that are those which are desired to be estimated in priority due to the fact that they are dominant as regards their power.
[0118] Also, to robustly avoid the effect of the direct sensitivity function S.sub.y.sub.
which is such that it “opens the loop” locally in the frequency domain at the fundamental frequency ω.sub.r and its first harmonics kω.sub.r, kϵ, 1<k≤N.sub.l, N.sub.l being the maximum rank of the harmonics that are desired to be estimated. This maximum rank N.sub.l corresponds in practice to the first harmonics contributing to a non-negligeable level of error and that, as will be seen, will be such that the harmonic of maximum rank, N.sub.lω.sub.r, is lower than or equal to a maximum frequency ω.sub.high.
[0119] If C.sub.ω.sub.
[0120] Under these conditions, the frequency components of d.sub.c(t) (coder error) of frequencies ω=kω.sub.r, 1<k≤N.sub.l have a direct effect on y.sub.m(t), without being affected by the direct sensitivity function.
[0121] Also, for a test performed at a known constant setpoint speed or, a corrector having a gain with notches at the frequencies kω.sub.r could be implemented.
[0122] However, contrary to what could be thought at first sight, it is not sufficient to add notch filters at the frequencies multiple of ω.sub.r: Indeed, forcing a zero gain of the corrector at a given frequency amounts, as seen hereinabove, to force the direct sensitivity function S.sub.y.sub.
is subjected to a conservation principle issuing from the Bode theorem that, in the case where the open loop has no instable pole, is written:
[0123] Therefore, with such a filtering, the forcing of
to 1 at a given frequency causes an alteration of this direct sensitivity function at other frequencies, and in particular it may lead to an increase, which may be inacceptable for the robustness of the closed loop, of this direct sensitivity function module, by reducing in particular the module margin. It is reminded that the module margin is the inverse of the maximum of |S.sub.y.sub.
[0124] For that reason, it is necessary to implement another corrector synthesis method to allow “opening the loop” at the frequencies kω.sub.r that have an interest for characterizing the coder error d.sub.c(t), while keeping good robustness in terms of static and dynamic margins. Several corrector synthesis methods exist, which may be used to obtain this result.
[0125] A method adapted to H-infinity control, by application of the so-called mixed sensitivity method that consists in imposing templates in the frequency domain to the gains of the various sensitivity functions of the loop, the synthesis algorithm operating to find a corrector that best satisfies these various constraints. This method is perfectly usable and suitable in the present context. Reference may be made for that purpose to D. Alazard et al., “Robustesse et commande optimale”, CEPADUES, 1999.
[0126] However, we prefer describing here a method of RST corrector synthesis by robust pole placement, which has for advantage to offer the best simplicity-to-performance compromise.
[0127] In the following, we do not dwell on the calculation of block T(q) insofar as it does not affect the loop performances from the regulation point of view. This type of calculation is known and reference may be made for that purpose to the book I.D. Landau, “Commande des systémes”, Hermes, 2002.
[0128] Therefore, the corrector synthesis problem almost comes down to the synthesis of the polynomials R(q) and S(q) which are the unknowns of the problem.
[0129] These polynomials are obtained by solving a Bézout equation:
A(q)S(q)+B(q)R(q)=P(q) (9)
[0130] The polynomial P(q) which is the characteristic polynomial of the closed loop is the product of three monic polynomials such that
P(q)=P.sub.o(q)P.sub.c(q)P.sub.r(q)
[0131] with: d.sup.o(P.sub.o)=d.sup.o(A)+1, d.sup.o(P.sub.c)=d.sup.o(B).
[0132] Moreover, fixed parts are imposed to S(q) and R(q) with:
[0133] S(q)=H.sub.s(q)S′(q) and R(q)=H.sub.r(q)R′(q), with d.sup.o(H.sub.r)=d.sup.o(P.sub.r).
[0134] In order to reject the static disturbances, an integral action is also imposed in the corrector, which amounts to take H.sub.s(q)=q−1.
[0135] Moreover, the transfer operator
is the series connection of second order resonant dipoles
[0136] where
is the transform in z of the continuous resonant dipole:
[0137] with 0≤ξ.sub.nk<1, 0<ξ.sub.dk≤1, preferably ξ.sub.nk is chosen equal to 0 or very close.
[0138] This method consisting in opening the loop at predetermined frequencies is described in the book of I.D. Landau, “Commande des systémes”, Hermes, 2002. It can be noted that this method is a dual one to that consisting in rejecting harmonic disturbances at one or more given frequencies, which has been the subject of a patent application EP 2116912 entitled “Method and device for robust periodic disturbance rejection in an axis position loop”. Nevertheless, the object of the present application is to make the corrector fully blind to sinusoidal disturbances, whereas, on the contrary, in patent EP 2116912, the corrector must react perfectly to these disturbances in order to fully compensate for them. And hence, the object of the present application is antagonist with respect to that of the application EP 2116912.
[0139] Moreover, the choice of the polynomials P.sub.o(q),P.sub.c(q) is preferably made by application of the so-called “ppa” and “ppb” methods and described in the book “Automatique appliquée”, Hermes, 2009, by Philippe de Larminat. These functions have setting parameters to arbitrate the compromises inherent in the corrector synthesis.
[0140] The identification procedure will now be described.
[0141] As mentioned hereinabove, the torque undulations d.sub.m(t) whose expression is given in formula (2) appear through the sensitivity function
but thanks to the “loop opening” at the frequencies kω.sub.r, 1≤k≤N.sub.l, and which is obtained by a corrector synthesis configured for the speed at which rotates the axis, causing the forcing of
to 1, at the frequencies ω.sub.r, 2ω.sub.r . . . we have robustly S.sub.y.sub.
[0142] Now, it is known, as already mentioned, that for a rather wide range of axis rotation frequencies of precision rotary devices, such as motion simulators and centrifuges, the gain
of the transfer function of the axes of these devices may be considered, in a rather wide frequency range, as being that of a dual integrator, that is to say with a decrease of 40 dB/decade, and the corresponding transfer function has in this frequency range a quasi-constant phase of −180°. On the other hand, at low rotation frequency, the gain of this transfer function deviates from this very simple model with a model slope that tends to decrease by only 20 dB/decade, due to the viscous frictions. Moreover, at high frequency, resonances and anti-resonances appear, which also change the decrease of the transfer function gain.
[0143] By way of example,
of such a device as well as the minimum frequencies ω.sub.low and ω.sub.high between which the transfer function of these devices has substantially the properties of that of a dual integrator.
[0144] Therefore, under the hypothesis that the fundamental frequency kω.sub.r, kϵ, 1≤k≤N.sub.l (ω.sub.r) and the harmonics of the torque undulations are in the range [ω.sub.low, ω.sub.high], it may be considered that the torque undulation/“cogging” d.sub.m(t) affects y(t) by the effect of a filtering of a dual integrator.
[0145] Let's call y.sub.T(t) the torque undulations/“cogging” effect to which is added the attached coder disturbance effect on the position measurement for constant speeds of rotation such as ω.sub.low≤kω.sub.r≤ω.sub.high, kϵ, 1≤k≤N.sub.l, then the measured position can be modelled (assuming a constant or quasi-constant speed):
y.sub.m(t)=y.sub.T(t)+
[0146] where
[0147] It is hence seen that, at constant axis speed setpoint, there exists a linear relationship involving the coefficients a.sub.k,b.sub.k,α′.sub.k,β′.sub.k, which may be written:
y.sub.m(t)=φ(t)θ+
[0148] the term d″(t) being a centred disturbance term and with:
[0149] which is approximated by (due to the small deviation between y.sub.m(t) and y(t) and to the quasi-constant nature of the axis speed):
[0150] which is a vector of parameters characterizing the coder errors and the torque undulations.
[0151] Moreover, a centred position measurement of y.sub.m(t) noted y′(t) can be defined, with:
[0152] where it is reminded that y.sub.c(t) is the position setpoint provided to the control and the right term is a mean of the deviations between y.sub.m(t) and y.sub.c(t), this subtraction having for object to ensure that y′.sub.m(t) is centred. Moreover, t.sub.max is the final time of the test, Te is the duration of each sampling period.
[0153] In which case, it may finally be written:
y.sub.m(t)=φ(t)θ+d′″(t) (16)
[0154] where d′″(t) is a centred disturbance term.
[0155] For a single constant rotation speed, indexed j, ω.sub.rj, by concatenation, a matrix relationship may be written between the position measurement and a function of parameters characterizing the coder errors and the torque undulations:
[0156] In a particular embodiment, the components of φ(t) in the relationship (13) may be subjected to a filtering that may be high-pass or low-pass or band-pass. In such an embodiment, the components y′.sub.m(t) are then subjected to the same filtering.
[0157] All the harmonics are taken into account in the constitution of the vectors φ(t) of formula (13) and θ of formula (14), but in alternative embodiments, certain intermediate harmonics may be omitted in the constitution of the vectors φ(t) and θ.
[0158] It can be observed that, due to the expression of φ(t) given in (13), the matrix ϕ.sub.j is not full column rank. Which concretely means that the vector θ is not identifiable if only one test of the system is made at a single constant speed ω.sub.rj.
[0159] As a consequence, it is preferable to make multiple tests of the system at different constant speeds ω.sub.r1, ω.sub.r2, ω.sub.r3 . . . ω.sub.rn, the choice of the speeds being constraint by ω.sub.low≤kω.sub.rj≤ω.sub.high for 1≤k≤N.sub.l, j being an integer belonging to [1 . . . n] and n being the number of tests at different constant speeds. Preferably, n>=2.
[0160] The number N.sub.l is preferably identical for the different constant speeds. For all the different constant speeds, the harmonic of maximum rank considered in the calculations may hence be lower than or equal to the maximum frequency ω.sub.high.
[0161] The test may possibly be repeated several times for a given constant speed but the tests must be repeated for several different constant speeds to obtain the identifiability. It is reminded that, in the case of the position setpoint example, this corresponds to ramp setpoints whose duration may be perfectly controlled by the user and allows a high number of rotations. Preferably, during the test, the measurements for the tests are started after a certain time after the start of the ramp to avoid measuring start-up transients and that the speed is stabilized, it is also possible to start from an already-established higher or lower speed rotation to reach the test speed of rotation, in order to reduce the speed stabilisation time.
[0162] By concatenation of the vectors Y; and the matrices p, after these multiple tests at different fundamental frequencies of rotation, a whole linear relationship is obtained:
Y=ϕθ+D (19)
[0163] with:
[0164] Thereafter, the estimation of θ, called {circumflex over (θ)}, is calculated using the least squares relationship according to the well-known formula:
{circumflex over (θ)}=(ϕ.sup.Tϕ).sup.−1ϕ.sup.TY (21)
[0165] In practice, it is preferable to perform a certain number of tests at constant speed setpoint, and with more that two constant speeds in order to improve the identifiability of the parameters and reduce the uncertainties on {circumflex over (θ)}.
[0166] The interest of the method is that the number of tests at constant speed can be multiplied (the tests can be repeated at a same frequency, hence with a same position setpoint ramp and/or different speeds, hence with different position setpoint ramps), and it is also possible to make these tests last as long as desired, in order to increase significantly the information available and to hence reduce the uncertainties on the estimated parameters.
[0167] Once the vector {circumflex over (θ)} has been estimated, a coder error compensation calculation block can hence be elaborated, whose input is y.sub.m(t) and whose output is a compensated position y.sub.mc(t), with the relationship
y.sub.mc(t)=−Σ.sub.k=1.sup.Na.sub.k cos(y.sub.m(t))+b.sub.k sin(y.sub.m(t)) (22)
[0168] and y.sub.mc(t) being the compensated position measurement signal, which is injected upstream from the corrector C(q) for subtraction from y.sub.c(t), such as in the system shown in
[0169] The compensation may be implemented directly, with calculations in real time, from the analytic formula (22), or from compensation tables, previously obtained with the method of the invention, on a mesh of angular positions with preferentially interpolation between the mesh points, the latter solution limiting the calculations to searches in the compensation tables and preferably to interpolations.
[0170] It is important to note once again that the “opening of the system loop” at certain frequencies is not a physical/material operation because the system remains always looped/controlled during the tests, but is the result of a calculation method making it possible to estimate parameters obtained from the vector {circumflex over (θ)}. To obtain this immaterial “opening” of the looped system at certain frequencies, during the tests, the system is placed in a range of speeds of rotation of the rotation actuator in which it acts as a dual integrator, that is to say that the curve of the transfer function gain of the actuator has a decrease of substantially 40 dB/decade, which “opens” the system, and tests of the system are performed at several constant speeds of rotation in this range.
[0171] A second embodiment in which the compensation table to be used in the system of
[0172] For that purpose, a first estimated vector {circumflex over (θ)}.sub.1 is calculated by the procedure described hereinabove, after which the first compensation obtained by this first calculation is introduced into the system and a second series of tests is made, always at constant speeds, with the system including the first compensation. A second estimated vector {circumflex over (θ)}.sub.2 is then obtained by calculation, and a compensation which is established on the vector {circumflex over (θ)}.sub.1+{circumflex over (θ)}.sub.2 is introduced into the system for potential other tests or for the use of the system in metrology, for example. This iterative procedure of tests and calculations of estimated vector {circumflex over (θ)}.sub.3, {circumflex over (θ)}.sub.4 . . . can be continued, making it possible to establish vectors {circumflex over (θ)}.sub.1+{circumflex over (θ)}.sub.2+{circumflex over (θ)}.sub.3 . . . for the compensation calculation block. The iteration may be stopped after a determined number of iterations or a stop criterion may be set, based on the value of the vector estimated during the current iteration, the later having converging values.
[0173] It is understood that, within the framework of this iteration method, the previous determination of the range [ω.sub.low, ω.sub.high] is performed only once and does not need to be repeated at each iteration of the phases of tests and calculation of the parameters characterizing the coder errors and the torque undulations by solving the whole matrix relationship.
[0174] A description will now be made of an alternative embodiment of calculation of the estimation of θ, called {circumflex over (θ)}, which does not use the least squares formula but uses a regularisation method that consists in determining {circumflex over (θ)} using the following calculation:
{circumflex over (θ)}=(ϕ.sup.Tϕ+H).sup.−1ϕ.sup.Ty (23)
[0175] where H is a square matrix defined positive of the size of ϕ.sup.Tϕ. This way to proceed has for drawback to add bias to the estimates {circumflex over (θ)}, but, in certain cases, it may contribute to reduce the variance of the coefficients of {circumflex over (θ)} and hence the uncertainties in the position compensation.
[0176] In another alternative, the corrector synthesis method making it possible to “open the loop” at the frequencies of interest may be carried out differently than the pole placement method developed hereinabove. In particular, a H-infinity control can be implemented.
[0177] In a particular embodiment of the invention, the vector θ can be determined according to the procedure described hereinabove and using coder position error measurements obtained by an optical measurement method and in such a way that these optical measurements made over a finite number of positions is hybridized with the data collected and gathered in the vector Y. This optical method of coder position error measurement uses interferometry and can hence be very accurate. Under the hypothesis that n.sub.p measurements of coder error e.sub.i for iϵ[1, . . . n.sub.p] have been made by means of the optical measurement method, here for n.sub.p positions of the axis denoted y*.sub.i, iϵ[1 . . . n.sub.p], these measured errors can be gathered in a vector
A matrix C of size (n.sub.p, 2(N.sub.l+N)) may be constructed, in such a way that
[0178] It is reminded that N.sub.l is the maximum rank of the harmonics modelling the torque undulations and N the maximum harmonic rank of a decomposition into Fourier series of the coder errors (see equations 1, 2, 7 and 22).
[0179] In C, 0.sub.1,N.sub.
[0180] As the uncertainties on the optical measurements can be made very small, they can be neglected, in which case, the following equality is valid: E.sub.c=Cθ.
[0181] The estimation of θ is then a problem of minimization of a quadratic criterion
J=(Y−ϕθ).sup.T(Y−ϕθ)
[0182] under the following equality constraint:
E.sub.c=Cθ
[0183] The solution of this problem is classical in numerical analysis (using the Lagrangian). The interest of this method being to guarantee that the estimate of the coder error due to the procedure coincide perfectly with the optical measurement at a finite number of points.
[0184] Finally, it is understood that the invention can also be applied to linear/translation actuators in the case where said actuator comprises a controlled rotary member and a rotation sensor and that the rotation motion is converted into a translation motion.