みなさん,こんにちは
おかしょです.
現在いろいろな機械が自動制御されています.
それらの多くはPID制御器を基に設計された制御器を使用しているらしいです.
このPID制御器は非常に単純な構造をしているので,制御工学の授業でも取り上げられることが多いです.
そこで,この記事では2次遅れ系の伝達関数で表現されるシステムをPID制御器で制御する数値シミュレーションを行います.
この記事を読むと以下のようなことがわかる・できるようになります.
- 2次遅れ系のシステムを制御する方法
- PID制御のゲイン決定方法
この記事を読む前に
この記事では2次遅れ系のシステムの数値シミュレーションを行います.
以下の記事では2次遅れ系のシステムについて解説しているので,そちらを先に読んでおいた方がこの記事の内容を理解しやすいかもしれません.
2次遅れ系のシステムとは
制御工学の学習をしていると,参考書に1次遅れ系のシステムがよく例として扱われます.
今回数値シミュレーションを行う2次遅れ系のシステムも1次遅れ系のシステムと同じくらい取り扱われることが多いです.
1次遅れ系のシステムの場合は応答が振動的になりにくいですが,2次遅れ系のシステムは振動的な応答になることが多いです.
2次遅れ系の応答は3種類に分けられます.
振動的な応答をする不足減衰,応答が振動的にならない過減衰,その二つの境界線となる臨界減衰の3種類です.
2次遅れ系のシステムを表す伝達関数は以下のような形をしています.
$$ G(s) = \frac{\omega^2}{s^2 +2\zeta \omega s +\omega^2} $$
2次暮れ系のシステムの応答
ここで,2次遅れ系にPID制御などの制御器を搭載しなかった時の応答を見てみます.
伝達関数の\(\zeta=0.1,\ \omega=1\)として,入力は一定値で1を与えました.
安定なシステムなので,目標値には収束していますが,振動的な応答となってしまいました.
2次遅れ系のシステムは\(\zeta\)が1よりも小さい時は不足減衰となるため,応答が振動的となります.
一般的に応答が振動的になるのは避けたいので制御器を搭載して,応答の波形をコントロールします.
PID制御の伝達関数
2遅れ系のシステムにPID制御器を搭載した時の伝達関数を求めてみます.
出力をラプラス変換したものを\(Y\),入力を\(R\)とすると,伝達関数は以下のようにして求められます.
\begin{eqnarray}
Y &=& (R-Y)(K_p +K_d s+\frac{1}{s} K_i)(\frac{\omega^2}{s^2 +2\zeta \omega s +\omega^2}) \\
\frac{Y}{R} &=& \frac{(K_p +K_d s+\frac{1}{s} K_i)(\frac{\omega^2}{s^2 +2\zeta \omega s +\omega^2})}{1+(K_p +K_d s+\frac{1}{s} K_i)(\frac{\omega^2}{s^2 +2\zeta \omega s +\omega^2})} \\
&=& \frac{(K_d s^2+K_p s +K_i) \omega^2}{s(s^2 +2\zeta \omega s +\omega^2)+(K_d s^2+K_p s +K_i) \omega^2} \\
&=& \frac{K_d \omega^2 s^2+K_p \omega^2 s +K_i \omega^2}{s^3 +(2\zeta \omega+K_d \omega^2)s^2 +\omega^2(1+K_p) s+K_i \omega^2} \\
\end{eqnarray}
PID制御のゲインを決める
この記事ではPID制御のゲインを極配置法で決定したいと思います.
極配置法というのは,システムの安定性などを決定する極を自分で決めた位置に移動させる方法のことを言います.
先程求めた伝達関数は分母が3次の式だったので,極が3つ存在します.
そこで,今回は極の位置を\(-5,\ -1 \pm j\)とします.
この位置に極を配置するために必要なゲインを求めます.
設定した位置に極を配置するには,伝達関数の分母多項式が
$$ (s+1)(s^2+2s+s) = s^3+7s^2+12s+10 $$
となる必要があります.
先程求めた伝達関数の分母と見比べて係数比較をすると,以下のような式が求められます.
\begin{eqnarray}
2\zeta \omega+K_d \omega^2 &=& 7\\
\omega^2(1+K_p) &=& 12\\
K_i \omega^2 &=& 10\\
\end{eqnarray}
この式から,それぞれのゲインを求めると以下のようになります.
\begin{eqnarray}
K_p &=& \frac{7-2\zeta \omega}{\omega^2}\\
K_d &=& \frac{12-\omega^2}{\omega^2}\\
K_i &=& \frac{10}{\omega^2}
\end{eqnarray}
PID制御の結果
以上のような設定の下で数値シミュレーションを行ったところ,以下のような結果になりました.
このように先程の制御器を搭載しなかった時のシミュレーション結果とはかなり違った結果が得られました.
先程は収束するまでに50秒ほどかかっていましたが,PID制御器を搭載することで10秒もかからずに収束させることができました.
しかし,応答の最初の方は目標値を超えてしまっています.
このような応答を改善するには,極配置法で指定した極の位置を変更することでさらに良い応答を得ることが可能です.
まとめ
この記事では2次遅れ系のシステムをPID制御器で制御をする数値シミュレーションの結果を報告しました.
数値シミュレーションでは極配置法によってPIDのゲインを決めて数値シミュレーションを行いました.
ゲインを決定した極配置法ではシステムの正確なモデルが必要で,モデル化誤差が存在した場合は今回の数値シミュレーション結果のような良好な結果を得ることはできません.
このようなモデル化誤差にも対応する制御をロバスト制御と呼びます.
続けて読む
以下の記事では,今回のような2次遅れ系のシステムに限らずPID制御器について解説しています.
興味のある方は参考にしてください.
Twitterでは記事の更新情報や活動の進捗などをつぶやいているので気が向いたらフォローしてください.
それでは最後まで読んでいただきありがとうございました.
コメント