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

Disturbance observer

A simple way to construct an acceleration control system is to use a disturbance observer (DOB). Because of its simple architecture and a design method, this observer is widely used. By observing disturbance on a system and rejecting the disturbance using the observed data, a control system obtains the robustness. To introduce a DOB, the following system is considered
x˙=Ax+Ddd+Bud˙=Addy=Cx,\begin{align} \dot{\bm{x}}&=\bm{A}\bm{x}+\bm{D}_{\rm d}\bm{d}+\bm{B}\bm{u}\\ \dot{\bm{d}}&=\bm{A}_{\rm d}\bm{d}\\ \bm{y}&=\bm{C}\bm{x}, \end{align}
where the coefficients A\bm{A}, B\bm{B}, C\bm{C}, and D\bm{D} are the system matrix, the input matrix, the observation matrix, and the disturbance matrix, respectively. The variables x\bm{x}, y\bm{y}, u\bm{u}, and d\bm{d} are the state vector, the output vector, and the disturbance vector, and the input vector, respectively. The subscript d_{\rm d} denotes the variable relating to the disturbance. The model includes an assumption that the state, the input, and the disturbance do not correlate. Extending the state-space representation, the simplified model derives as
z˙=Azz+Bzuy=Czz,\begin{align} \dot{\bm{z}}&=\bm{A}_{z}\bm{z}+\bm{B}_{z}\bm{u}\\ \bm{y}&=\bm{C}_{z}\bm{z}, \end{align}
where
z=[dx]Az=[Ad0DdA]Bz=[0B]Cz=[0C].\begin{align} \bm{z}&= \begin{bmatrix} \bm{d} \\ \bm{x} \end{bmatrix}\\ \bm{A}_{z}&= \begin{bmatrix} \bm{A}_{\rm d} & \bm{0}\\ \bm{D}_{\rm d} & \bm{A} \end{bmatrix}\\ \bm{B}_{z}&= \begin{bmatrix} \bm{0} \\ \bm{B} \end{bmatrix}\\ \bm{C}_{z}&= \begin{bmatrix} \bm{0} & \bm{C} \end{bmatrix}. \end{align}
A DOB is one of the minimal-order observers introduced by the Gopinath method. For derivation of an observer, the state-space representation should be modified again;
z˙=[Az11Az12Az21Az22]z+[Bz1Bz2]uzz=[ξy]T,\begin{align} \dot{\bm{z}}'&= \begin{bmatrix} \bm{A}_{z11} &\bm{A}_{z12}\\\bm{A}_{z21} &\bm{A}_{z22} \end{bmatrix} \bm{z}'+ \begin{bmatrix} \bm{B}_{z1}\\\bm{B}_{z2} \end{bmatrix}\bm{u}_{z}\\ \bm{z}'&= \begin{bmatrix} \bm{\xi} & \bm{y} \end{bmatrix} ^{\mathrm T}, \end{align}
where ξ\bm{\xi} is the set of the unavailable states by sensors. Herein, the following equations hold;
ξ˙=Az11ξ+Az12y+B1uzy˙Az22yBz2uz=Az21ξ.\begin{align} \dot{\bm{\xi}}=\bm{A}_{z11}\bm{\xi}+\bm{A}_{z12}\bm{y}+\bm{B}_1\bm{u}_{z}\\ \dot{\bm{y}}-\bm{A}_{z22}\bm{y}-\bm{B}_{z2}\bm{u}_{z}=\bm{A}_{z21}\bm{\xi}. \end{align}
The terms
Az12y+Bz1uUy˙Az22yBz2uY.\begin{align} \bm{A}_{z12}\bm{y}+\bm{B}_{z1}\bm{u} &\equiv \bm{U}\\ \dot{\bm{y}}-\bm{A}_{z22}\bm{y}-\bm{B}_{z2}\bm{u} &\equiv \bm{Y}.\\ \end{align}
are knowable because these are composed of the input and the available output. These terms can be regarded as the input and the output of the modified state-space representation, which is described as
ξ˙=Az11ξ+UY=Az21ξ.\begin{align} \dot{\bm{\xi}}&=\bm{A}_{z11}\bm{\xi}+\bm{U}\\ \bm{Y}&=\bm{A}_{z21}\bm{\xi}. \end{align}
Then, the dynamics of ξ\bm{\xi} is derived as
ξ^˙=Az11ξ^+U+L(YY^)=(Az11LAz21)ξ^+(Bz1LBz2)u+(Az12LAz22)y+Ly˙,\begin{align} \dot{\hat{\bm{\xi}}}&=\bm{A}_{z11}\hat{\bm{\xi}}+\bm{U}+\bm{L}(\bm{Y}-\hat{\bm{Y}})\\ &=(\bm{A}_{z11}-\bm{LA}_{z21})\hat{\bm{\xi}}+(\bm{B}_{z1}-\bm{LB}_{z2})\bm{u}+(\bm{A}_{z12}-\bm{LA}_{z22})\bm{y}+\bm{L}\dot{\bm{y}}, \end{align}
where L\bm{L} is the observer gain, and the superscript  ^ \ \hat{}\ stands for the estimated value. Direct implementation of this observer is difficult because it includes the differentiation of the output. Here, introducing a new state
P=ξ^Ly\begin{align} \bm{P}=\hat{\bm{\xi}}-\bm{Ly} \end{align}
simplifies the observer structure. The target ξ\bm{\xi} is evaluated after deriving the state P\bm{P};
P˙=(Az11LAz21)P+(Bz1LBz2)u+((Az11LAz21)L+Az12LAz22)yξ^=(sIAz11+LAz21)1{(Bz1LBz2)u+(sL+Az12LAz22)y}\begin{align} \dot{\bm{P}}&=(\bm{A}_{z11}-\bm{LA}_{z21})\bm{P}+(\bm{B}_{z1}-\bm{LB}_{z2})\bm{u}+((\bm{A}_{z11}-\bm{LA}_{z21})\bm{L}+\bm{A}_{z12}-\bm{LA}_{z22})\bm{y}\\ \therefore \hat{\bm{\xi}} &= (s\bm{I}-\bm{A}_{{\rm z}11}+\bm{L}\bm{A}_{{\rm z}21})^{-1}\{(\bm{B}_{{\rm z}1}-\bm{L}\bm{B}_{{\rm z}2})\bm{u}+(s\bm{L}+\bm{A}_{{\rm z}12}-\bm{L}\bm{A}_{{\rm z}22})\bm{y}\} \end{align}
let us consider a case ξ=d\bm{\xi}=\bm{d} and y=x\bm{y}=\bm{x}. The observer outputs
d^=(sIAd+LDd)1L{Bu+(sIA)y}=(sIAd+LDd)1LDddQd.\begin{align} \hat{\bm{d}} &= (s\bm{I}-\bm{A}_{{\rm d}}+\bm{L}\bm{D}_{{\rm d}})^{-1}\bm{L}\{-\bm{B}\bm{u}+(s\bm{I}-\bm{A})\bm{y}\} \\ &= (s\bm{I}-\bm{A}_{{\rm d}}+\bm{L}\bm{D}_{{\rm d}})^{-1}\bm{L}\bm{D}_{\rm d}\bm{d}\\ &\equiv \bm{Q}\bm{d}. \end{align}

CONTENTS

    © DigitalServo