CPC G05B 13/042 (2013.01) [G05B 13/048 (2013.01); H02P 25/06 (2013.01)] | 8 Claims |
1. A linear motor motion control method, wherein, it comprises:
a displacement planning signal and an actual displacement signal of a linear motor are obtained;
an extended state observer constructed in advance based on model parameters of the linear motor is used to perform state estimation based on a total control amount of the linear motor and the actual displacement signal; and a corresponding displacement observation signal, a speed observation signal and a disturbance observation signal are obtained;
a pre-constructed phase advance controller is used to improve an estimated lag of the disturbance observation signal and obtain an improved disturbance observation signal;
a model prediction controller constructed in advance based on a mathematical model of the linear motor is used to perform rolling optimization based on the displacement planning signal, the displacement observation signal and the speed observation signal to obtain an optimal control amount increment;
the total control amount is updated based on the improved disturbance observation signal and the optimal control amount increment, and a corresponding drive signal is output to a drive end of the linear motor based on an updated total control amount; this achieves a motion control of the linear motor;
a prediction model used by the model prediction controller is:
Yp(k)=PxΔX(k)+Iy(k)+PuΔU(k)
in the formula, k is a current time value, Yp (k) is a predicted displacement output value sequence (Yp (k)=[y(k+1|k) y(k+2|k) . . . y(k+p|k)]Tp×1), the superscript T indicates transposition, y(k+i|k) is a displacement output value in a future time k+i predicted at a current time k(i=1, 2, . . . , p), Px is a system matrix (Px=[CAΣx=12CAx . . . Σx=1pCAx]Tp×2), I is an unit matrix (I=[1 1 . . . 1]Tp×1), Pu is a control matrix
![]() t is a signal sampling interval time, a1 represents a speed gain, b0 represents a control amount gain, ΔX(k) is an observation signal difference sequence (ΔX(k)=[z1(k)−z1 (k−1) z2 (k)−z2 (k−1)]T), z1 (k) represents the displacement observation signal at the current time k, z1 (k−1) represents the displacement observation signal at a time k−1, z2 (k) is the speed observation signal at the current time k, z2 (k−1) represents the speed observation signal at the time k−1, y(k) is the actual displacement signal at the current time k, ΔU(k) is a control increment sequence (ΔU(k)=[Δu0(k) Δu0 (k+1) . . . Δu0(k+m−1)]Tm×1), Δu0(j) represents the optimal control amount increment, m is a control time domain, and p is a prediction time domain.
|