---
# System prepended metadata

title: 簡單介紹 Internal Model Control

---

## 什麼是 internal model principle
intrernal model控制簡稱為IMP或是IMC。一言以蔽之就是只要在控制系統的閉迴路中加入代表要追蹤(tracking)的參考訊號(ref)的模型，並維持系統的穩定性，那系統的穩態誤差就會為0。
用控制理論的說法就會是系統閉迴路的pole必須包含tracking ref。例如要零誤差追蹤一個step function，那整個迴路的轉移函數中就必須有$\frac{1}{s}$這一項。

> 如此一來控制系統教科書中type 0, 1, 2就不用死背了，用IMP來理解就可以ㄌ~

## IMP控制器的目的
當系統已經有已知的追蹤目標或是固定頻率的外部干擾，此時用internal model就會有滿好的效果。優點是可以有效消除已知頻率的干擾而增進追蹤效能，而缺點是如果外部干擾或是目標並非符合本來設好的內部模型，那IMP的效益不大。而且IMP對於系統內部的穩定性沒有幫助。

## IMP 範例說明
文獻中IMP有相當多的實踐方式，可以將內部模型放在不同的地方。這邊用一維的系統加上並聯的IMP來作範例。

下圖是一個經典的迴授系統，$r$ 是參考輸入 reference、$e$ 是追蹤誤差、$y$ 是系統的實際輸出、$C$ 是控制器、$P$ 則是受控體 plant。

![image](https://hackmd.io/_uploads/HJDisd3Oxl.png =80%x)

定義 Sensitivity function為誤差和參考輸入的比值，數學式表示為:
$$
S :=\frac{E(s)}{R(s)} =  \frac{1}{1+PC}
$$

如果我希望這個迴授系統可以追蹤特定頻率為 $f_t$ 的訊號，那系統的sensitivity function應該長得像下圖有著notch的形狀，在頻率 $f_t$ 的位置有一個最低點，代表系統對於頻率 $f_t$ 的訊號追蹤誤差很低。

![IMG_0200](https://hackmd.io/_uploads/rkstwUgFee.jpg =40%x)

由此可知，要達到這樣的Sensitivity形狀，位在Sensitivity數學式分母的控制器 $C$ 就必須是一個peak filter的形狀。
![IMG_0201](https://hackmd.io/_uploads/SJ1luLgYel.jpg =40%x)

在s domain裡面，peak / notch filter的transfer function如下，$\zeta$ 影響notch的寬度； $\omega_0$影響濾波器的中心頻率； $a$ 則是決定濾波器型態和增益。
$$
N(s)=\frac{s^2+2a\zeta\omega_0s+\omega_0^2}{s^2+2\zeta\omega_0s+\omega_0^2}
$$
> 當$a<1$時為notch filter;當$a>1$時則為peak filter

實務上無論是控制馬達或是機器人都是在離散域做操作，因此所有的轉移函數都要是z domain。設計方法有兩種:

- 在s domain設計好 $N(s)$ 然後在MATLAB中用`c2d()`指令轉為z domain
- 直接設計 $N(z)$。notch的數學式可以寫為:
$$
N(z) = \frac{z^2-2z\cos{\omega_0}+1}{z^2-2bz\cos{\omega_0}+b^2}
$$
其中$\omega_0$的數值會和中心頻率$f_t$以及系統取樣時間 $T_s$有關:
$$
\omega_0 = 2\pi\times f_t \times T_s
$$

然而如果直接把peak filter放在控制器的位置會有系統不穩定性的疑慮，系統的root locus可能會是下面的圖形:

![img](https://hackmd.io/_uploads/r1NRa8xtge.jpg =80%x)

因此需要額外**並聯一個PID控制器**來負責系統的穩定性，控制方塊圖如下，$N$ 為peak filter。

![imp](https://hackmd.io/_uploads/r1fOlPxFgl.png=80%x)

其中 $\alpha$ 是一個可以調整的gain，設定的相對小一點就可以避免系統不穩定。這樣就可以利用IMP來追蹤特定頻率的訊號。

## 參考資料
- 2022 **EE5128 Linear Systems** lecture notes 
- 2023 **EE5071 Precision Motion Control** lecture notes