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

Luenberger observer

A Luenberger observer estimates a state using a plant model. Let us consider a system
x˙=Ax+Bu+vy=Cx+w,\begin{align} \dot{\bm{x}}&=\bm{A}\bm{x}+\bm{B}\bm{u}+\bm{v} \\ \bm{y}&=\bm{C}\bm{x}+\bm{w}, \end{align}
where x\bm{x}, y\bm{y}, and u\bm{u} are a state, output, and input; A\bm{A}, B\bm{B}, and C\bm{C} stand for a system matrix, input matrix, and observation matrix; v\bm{v} and w\bm{w} are a process noise and observation noise. The state-space representation model enables the prediction of a state
x^˙=Anx^+Bnuy^=Cnx^,\begin{align} \dot{\hat{\bm{x}}}&=\bm{A}_{\rm n}\hat{\bm{x}}+\bm{B}_{\rm n}\bm{u} \\ \hat{\bm{y}}&=\bm{C}_{\rm n}\hat{\bm{x}}, \end{align}
where a subscript n_{\rm n} denotes a nominal model. An observer compensate a state comparing a system output and predicted state.
x^˙=Anx^+Bnu+L(yy^)y^=Cnx^,\begin{align} \dot{\hat{\bm{x}}}&=\bm{A}_{\rm n}\hat{\bm{x}}+\bm{B}_{\rm n}\bm{u} + \bm{L}(\bm{y}-\hat{\bm{y}}) \\ \hat{\bm{y}}&=\bm{C}_{\rm n}\hat{\bm{x}}, \end{align}
where L\bm{L} is a observer gain.

Error dynamics

The dynamics of a plant and observer provides the dynamics of an estimation error:
x˙x^˙=(Ax+Bu+v)(Anx^+Bnu+L(yy^))=An(xx^)+Aex+BeuL(Cx+wCnx^)+v=An(xx^)+Aex+BeuLCn(xx^)LCex+vLw=(AnLCn)(xx^)+(AeLCe)x+Beu+vLw,\begin{align} \dot{\bm{x}}-\dot{\hat{\bm{x}}}&=\left(\bm{A}\bm{x}+\bm{B}\bm{u}+\bm{v}\right)-\left(\bm{A}_{\rm n}\hat{\bm{x}}+\bm{B}_{\rm n}\bm{u}+\bm{L}(\bm{y}-\hat{\bm{y}})\right) \\ &=\bm{A}_{\rm n}(\bm{x}-\hat{\bm{x}})+\bm{A}_{\rm e}\bm{x}+\bm{B}_{\rm e}\bm{u} -\bm{L}(\bm{C}\bm{x}+\bm{w}-\bm{C}_{\rm n}\hat{\bm{x}})+\bm{v} \\ &=\bm{A}_{\rm n}(\bm{x}-\hat{\bm{x}})+\bm{A}_{\rm e}\bm{x}+\bm{B}_{\rm e}\bm{u} -\bm{L}\bm{C}_{\rm n}(\bm{x}-\hat{\bm{x}})-\bm{L}\bm{C}_{\rm e}\bm{x}+\bm{v}-\bm{L}\bm{w} \\ &=(\bm{A}_{\rm n}-\bm{L}\bm{C}_{\rm n})(\bm{x}-\hat{\bm{x}})+(\bm{A}_{\rm e}-\bm{L}\bm{C}_{\rm e})\bm{x}+\bm{B}_{\rm e}\bm{u}+\bm{v}-\bm{L}\bm{w}, \end{align}
where a subscript e_{\rm e} denotes a modeling error as
Xe=XXn.\begin{align} \bm{X}_{\rm e} &= \bm{X}-\bm{X}_{\rm n}. \end{align}
Then, we can found
e˙=(AnLCn)e+(AeLCe)x+Beu+vLw,exx^.\begin{align} \dot{\bm{e}}&=(\bm{A}_{\rm n}-\bm{L}\bm{C}_{\rm n})\bm{e}+(\bm{A}_{\rm e}-\bm{L}\bm{C}_{\rm e})\bm{x}+\bm{B}_{\rm e}\bm{u}+\bm{v}-\bm{L}\bm{w},\\ \bm{e} &\equiv \bm{x} -\hat{\bm{x}}. \end{align}

Separation principle

Let us consider an observer-based feedback controller
u=urefFx^.\begin{align} \bm{u}&=\bm{u}^{\rm ref}-\bm{F}\hat{\bm{x}}. \end{align}
This controller affects a state and estimation error as
x˙=Ax+B(urefFx^)+v=(ABF)x+BFe+Buref+ve˙=(AnLCn)e+(AeLCe)x+Be(urefFx^)+vLw=(AnLCn+BeF)e+(AeLCeBeF)x+Beuref+vLw.\begin{align} \dot{\bm{x}}&=\bm{A}\bm{x}+\bm{B}(\bm{u}^{\rm ref}-\bm{F}\hat{\bm{x}})+\bm{v} \\ &=(\bm{A}-\bm{B}\bm{F})\bm{x}+\bm{B}\bm{F}e+\bm{B}\bm{u}^{\rm ref}+\bm{v} \\ \dot{\bm{e}}&=(\bm{A}_{\rm n}-\bm{L}\bm{C}_{\rm n})e+(\bm{A}_{\rm e}-\bm{L}\bm{C}_{\rm e})\bm{x}+\bm{B}_{\rm e}(\bm{u}^{\rm ref} - \bm{F}\hat{\bm{x}})+\bm{v}-\bm{L}\bm{w}\\ &=(\bm{A}_{\rm n}-\bm{L}\bm{C}_{\rm n}+\bm{B}_{\rm e}\bm{F})e+(\bm{A}_{\rm e}-\bm{L}\bm{C}_{\rm e}-\bm{B}_{\rm e}\bm{F})\bm{x}+\bm{B}_{\rm e}\bm{u}^{\rm ref}+\bm{v}-\bm{L}\bm{w}. \end{align}
It provides a following state-space representation
xE˙=AExE+BEuref+[II]v+[0L]w,\begin{align} \dot{\bm{x}_{\rm E}} = \bm{A}_{\rm E}\bm{x}_{\rm E} + \bm{B}_{\rm E} \bm{u}^{\rm ref} +\begin{bmatrix} \bm{I} \\ \bm{I} \end{bmatrix}\bm{v}+\begin{bmatrix} \bm{0} \\ -\bm{L} \end{bmatrix}\bm{w}, \end{align}
where
xE[xe]AE[ABFBFAeLCeBeFAnLCn+BeF]BE[BBe].\begin{align} \bm{x}_{\rm E} &\equiv \begin{bmatrix} \bm{x} \\ \bm{e} \end{bmatrix}\\ \bm{A}_{\rm E} &\equiv \begin{bmatrix} \bm{A}-\bm{B}\bm{F} & \bm{B}\bm{F} \\ \bm{A}_{\rm e}-\bm{L}\bm{C}_{\rm e} -\bm{B}_{\rm e}\bm{F} & \bm{A}_{\rm n}-\bm{L}\bm{C}_{\rm n}+\bm{B}_{\rm e}\bm{F} \end{bmatrix}\\ \bm{B}_{\rm E} &\equiv \begin{bmatrix} \bm{B} \\ \bm{B}_{\rm e} \end{bmatrix}. \end{align}
If a modeling error is sufficiently small enough,
AE=[ABFBF0AnLCn]\begin{align} \bm{A}_{\rm E} &= \begin{bmatrix} \bm{A}-\bm{B}\bm{F} & \bm{B}\bm{F} \\ \bm{0} & \bm{A}_{\rm n}-\bm{L}\bm{C}_{\rm n}\end{bmatrix} \end{align}
holds, and the characteristics of control and observation are separated.

© DigitalServo