Matlab Exercise

MATLAB/Simulinkによる現代制御入門



Chapter 6: オブザーバーと出力フィードバック




6.2 微分信号を利用した状態の復元

6.2.1 差分近似による速度の復元

Figure 6.1 速度復元の手順

6.2.2 入出力信号の時間微分を利用した状態変数の復元

η(t)η˙(t)η¨(t)η(n-1)(t)=C¯C¯AC¯A2C¯An-1x(t)+000C¯B00C¯ABC¯B0C¯An-2BC¯An-3BC¯Bu(t)u(t)u(n-2)(t)              (6.1)

to be simplified,

α(t)=Vox(t)+Eβ(t)                                                         (6.2)

where η(t)=C¯x(t) , Vo=C¯C¯AC¯A2C¯An-1T is the observability matrix. NOTICE that n is the dimension of A . [ref]

Equation (6.1) is somehow similar to prediction equation [ref]page 35, pp.8, eq1.12

y(ki+1|ki)y(ki+2|ki)y(ki+3|ki)y(ki+Np|ki)=CACA3CA2CANpx(ki)+CB000CABCB00CA2BCABCB0CANp-1BCANp-2BCANp-3BCANp-NcBΔu(ki)Δu(ki+1)Δu(ki+2)Δu(ki+Nc-1)              (6.3)

To distinguish, 1. the dimensions of those two are:
Equation (6.1) :

rn×1=rn×n·n×1+rn×(n-1)·p(n-1)×1

where n , r and p are dimensions of state variable, output and input respectively.
Equation (6.3) :

Np(n+r)×1=Np(n+r)×n·(n+r)×1+Np(n+r)×p(Nc-1)·p(Nc-1)×1

where Np and Nc are prediction horizon and control horizon respectively.
2. the receding equations are:
Equation (6.1) :

x˙(t)=Ax(t)+Bu(t)                                                                                     (6.4)

Equation (6.3) :

Δxm(k+1)y(k+1)=Am0CmIΔxm(k)y(k)+BmCmBmΔu(k)                                         (6.5)

状態変数が下より復元できる

x(t)=Vo-1(α(t)-Eβ(t))                                                         (6.6)

しかし、微分の定義より、

ωi(t)=θ˙i(t)=limΔt0θi(t)-θi(t-Δt)t-(t-Δt)=limΔt0θi(t)-θi(t-Δt)Δt             (6.7)



6.3 同一次元オブザーバーによる状態推定

6.3.1 同一次元オブザーバーの構成

結論
State estimator in equation (6.6) has a fatal shortcome that it cannot deal with noise, comparing to observer in equation (6.8)

x^˙(t)=Ax^(t)+Bu(t)-L(η(t)-η^(t))                                                 (6.8)

Q: 1. HOW TO WORK OUT x^(t) ?
2. HOW TO SELECT OBSERVER GAIN L ?
3. HOW TO DESIGN EMBEDDED CODE?
A:1. It costs time iterating to converge.


6.4 同一次元オブザーバーを利用した出力フィードバック制御

A:2.

Figure 6.2 Output feedback controller using observer

x˙(t)x^˙(t)=Ax(t)+B(Ckx^(t)+Hyref(t)Akx^(t)+BkC¯x(t)+BHyref(t)=ABCkBkC¯Akx(t)x^(t)+BHBHyref(t)  (6.9)

where Ak=A+BK+LC¯, Bk=-L, Ck=K .
which can be simplified as

x˙cl(t)=Aclxcl(t)+Bclyref(t)                                                                  (6.10)Acl:=ABCkBkC¯Ak=ABK-LC¯A+BK+LC¯,Bcl=BHBH

分離定理:状態フィードバックゲイン K とオブザーバーゲイン L を独立に設計すること。
That, Ackermann's formula are utilized twice: 1. work out K and reference gain H , 2. work out L
Q4: WHAT IS H FOR?
Q5: CAN Ackermann's formula USED IN MOMI SYSTEMS?
Ackermann's formula in pole placement: [ref1]page46, pp.82 [ref2]

K=-eVc-1ΔAL=-ΔAVo-1eT                                                    (6.11)


where Vc=BABAn-1B, Vo=C¯C¯AC¯An-1T are controllability matrix and observability matrix respectively. e=001 , ΔA:=An+δn-1An-1++δ1A+δ0I , where δ0, δ1, , δn-1 can be derived according to [ref]page70, pp.131例6.5 .
A4: The method here using H is tracking control mentioned in [ref]page53, pp.96, chap.5 , which cannot deal with disturbance as is stated in [ref]page54, pp.98, sec.5.1.3 .
A5: Ackermann's formula should NEVER be used in MOMI systems, see [ref]page46, pp.83, sec.4.3.4 . Conclusively, when MI, K は無数に存在する、 when MO, L は無数に存在する。 check [ref]page47, pp.85 for pole placement of MIMO systems.
A3: For embedded coding, we should work out K , H and L ahead of main loop as a setup step. Then fulfill 2 source files with functionalities of 同一次元オブザーバー and 出力フィードバック形式のコントローラ as is shown in figure 6.2 . The code of main loop can refer to [ref] .