Board Reference

    Flight Controller
    Field Oriented Controller

    Motor Drive

    PMSM

    Motion Control

    Attitude Control

    Tutorial

    Mathematics
    Classical Control
    State Estimation
    Feedforward Control
    Disturbance Observer
    Motion Control

Acceleration control

A disturbance observer is useful for constructing an acceleration controller. Let us consider a system
y=P(u+d)\begin{align} \bm{y} &= \bm{P}\left(\bm{u}+\bm{d}\right) \end{align}
and its inner system
x=P1(u+d)y=P2x,\begin{align} \bm{x} &= \bm{P}_{1}\left(\bm{u}+\bm{d}\right)\\ \bm{y} &= \bm{P}_{2}\bm{x}, \end{align}
where u\bm{u}, x\bm{x}, y\bm{y}, d\bm{d}, and P\bm{P} denote an force input, acceleration, measurable output, disturbance, and plant system. A disturbance observer estimates a disturbance as
d^=Q(uPn1y).\begin{align} \hat{\bm{d}} &= -\bm{Q}\left(\bm{u}-\bm{P}_{\rm n}^{-1}\bm{y}\right). \end{align}
Using this value, let us design a feedforward and feedback controller
u=P1n1rd^.\begin{align} \bm{u}&=\bm{P}_{\rm 1n}^{-1}\bm{r} - \hat{\bm{d}}. \end{align}
Here, there exist laws
u=P1n1r+Q(uPn1y)u=(IQ)1(Pn1rQPn1y),y=P(u+d)=P{(IQ)1(Pn1rQPn1y)+d}y={I+P(IQ)1QPn1}1P{(IQ)1P1n1r+d}=P{I+(IQ)1QPn1P}1{(IQ)1P1n1r+d}=P{(IQ)+QPn1P}1{P1n1r+(IQ)d}x=P1n{(IQ)+QPn1P}1{P1n1r+(IQ)d}.\begin{align} \bm{u}&=\bm{P}_{\rm 1n}^{-1}\bm{r} + \bm{Q}\left(\bm{u}-\bm{P}_{\rm n}^{-1}\bm{y}\right)\\ \therefore \bm{u}&= (\bm{I}-\bm{Q})^{-1}\left(\bm{P}_{\rm n}^{-1}\bm{r}-\bm{Q}\bm{P}_{\rm n}^{-1}\bm{y}\right),\\ \bm{y} &= \bm{P}(\bm{u} + \bm{d}) \\ &= \bm{P}\left\{(\bm{I}-\bm{Q})^{-1}\left(\bm{P}_{\rm n}^{-1}\bm{r}-\bm{Q}\bm{P}_{\rm n}^{-1}\bm{y}\right) + \bm{d}\right\} \\ \therefore \bm{y} &= \left\{ \bm{I} + \bm{P}(\bm{I}-\bm{Q})^{-1}\bm{Q}\bm{P}_{\rm n}^{-1} \right\}^{-1} \bm{P} \left\{ (\bm{I} -\bm{Q})^{-1}\bm{P}_{\rm 1n}^{-1}\bm{r} + \bm{d} \right\}\\ &= \bm{P}\left\{ \bm{I} + (\bm{I}-\bm{Q})^{-1}\bm{Q}\bm{P}_{\rm n}^{-1}\bm{P} \right\}^{-1} \left\{ (\bm{I} -\bm{Q})^{-1}\bm{P}_{\rm 1n}^{-1}\bm{r} + \bm{d} \right\}\\ &= \bm{P}\left\{ (\bm{I}-\bm{Q}) + \bm{Q}\bm{P}_{\rm n}^{-1}\bm{P} \right\}^{-1} \left\{\bm{P}_{\rm 1n}^{-1}\bm{r} + (\bm{I} -\bm{Q})\bm{d} \right\}\\ \therefore \bm{x} &= \bm{P}_{\rm 1n}\left\{ (\bm{I}-\bm{Q}) + \bm{Q}\bm{P}_{\rm n}^{-1}\bm{P} \right\}^{-1} \left\{\bm{P}_{\rm 1n}^{-1}\bm{r} + (\bm{I} -\bm{Q})\bm{d} \right\}. \end{align}
If a modeling error is sufficiently small enough, an acceleration is controlled as
x=r+P1n1(IQ)d.\begin{align} \bm{x} &= \bm{r} + \bm{P}_{\rm 1n}^{-1}(\bm{I} -\bm{Q})\bm{d}. \end{align}

Generalized form

An acceleration controller above has 2 degree-of-freedom in a controller design. It should be able to be transformed into a generalized form of 2-DoF controller. A generalized feedback controller provided by the Youla-Kučera parametrization is expressed as
C=(YQN~)1(X+QD~),\begin{align} \bm{C}=(\bm{Y}-\bm{Q}\bm{\tilde{N}})^{-1}(\bm{X}+\bm{Q}\bm{\tilde{D}}), \end{align}
where X\bm{X}, Y\bm{Y}, and Q\bm{Q} are free parameters, and N\bm{N} and D\bm{D} are parameters that appear in coprime factorization:
PND1=D~1N~.\begin{align} \bm{P}&\equiv \bm{N}\bm{D}^{-1}=\tilde{\bm{D}}^{-1}\tilde{\bm{N}}. \end{align}
Using this controller, a 2-DoF controller generate an input as
u=DKr+C(NKry)=Y1{KrXy+QN~(uP1y)}.\begin{align} \bm{u}&=\bm{D}\bm{K}\bm{r}+\bm{C}(\bm{N}\bm{K}\bm{r}-\bm{y}) \\ &=\bm{Y}^{-1}\left\{\bm{K}\bm{r}-\bm{X}\bm{y}+\bm{Q}\tilde{\bm{N}}(\bm{u}-\bm{P}^{-1}\bm{y})\right\}. \end{align}
Comparing an input of the acceleration controller with it, we found that the acceleration controller has parameters
K=N1X=0Y=D1Q=D1LN~1,\begin{align} \bm{K}&=\bm{N}^{-1}\\ \bm{X}&=\bm{0}\\ \bm{Y}&=\bm{D}^{-1}\\ \bm{Q}&=\bm{D}^{-1}\bm{L}\tilde{\bm{N}}^{-1}, \end{align}
where L\bm{L} is a free parameter. Then, a feedback controller is constructed as
C=(D1QN~)1QD~=(D1D1LN~1N~)1D1LN~1D~=(IL)1LP1.\begin{align} \bm{C}&=(\bm{D}^{-1}-\bm{Q}\tilde{\bm{N}})^{-1}\bm{Q}\tilde{\bm{D}} \\ &= (\bm{D}^{-1}-\bm{D}^{-1}\bm{L}\tilde{\bm{N}}^{-1}\tilde{\bm{N}})^{-1}\bm{D}^{-1}\bm{L}\tilde{\bm{N}}^{-1}\tilde{\bm{D}} \\ &= (\bm{I}-\bm{L})^{-1}\bm{L}\bm{P}^{-1}. \end{align}

© DigitalServo