古典制御

制御工学

二次遅れ系の過渡応答の極大極小値

二次遅れ系の伝達関数\(G(s)\)\begin{align}G(s)=\dfrac{\omega_{n}^2}{s^2 + 2 \zeta \omega_{n} s+ \omega_{n}^2}\end{align}についての行過ぎ量を求...
制御工学

特性方程式とシステムの安定性

今線形時不変なシステムの伝達関数が\begin{align}G(s)=\frac{N(s)}{D(s)}\end{align}で与えられているとする。このとき、伝達関数の分母から作られる特性方程式\(D(s)=0\)を調べることで安定性を知...
MATLAB/simulink

Ziegler-Nicholsの限界感度法を用いたPIDゲインを調整法

PID制御器をZiegler-Nicholsの限界感度法を用いて調整する。限界感度法は1時遅れ系+むだ時間もしくは積分系むだ時間の時有効となる手法である。まず、simulinkで次のような 1時遅れ系+むだ時間のPID制御モデルを作成する。...
MATLAB/simulink

simulinkで状態方程式をシミュレーションする

前回の記事の続き前回のパラメータを使ってsimulinkでシミュレーションした。モデルはこれ。結果は同じになる。
古典制御

微分要素と積分要素のボード線図

微分要素と積分要素の伝達関数は\begin{align}G_1(s)=\frac{1}{s} \hspace{5mm} G_2 (s) = s\end{align}で表される。\(s=j \omega\)を代入すれば \begin{alig...
MATLAB/simulink

古典制御と現代制御の双方の視点からばねマスダンパ系を解析する

ばねマスダンパ系について、古典制御と現代制御の各変数の相互関係とそれらの解析結果が一致することを示す。ばねマスダンパ系の運動方程式は\begin{align}M \ddot{y}(t) + C \dot{y} (t) + ky (t) =u...
MATLAB/simulink

線形時不変なシステムのH∞ノルムを計算する

線形時不変なシステムのH∞ノルムを計算する。適当な伝達関数\begin{align}G(s)=\frac{1}{(s+1)(s+2)}\end{align}を定義する。H∞ノルムの定義は\begin{align}\| G(j \omega)...
MATLAB/simulink

MALTABを使ってボード線図を書く

MATLABでボード線図を描くときbode(sys)とすれば即座に得られるが、今回は別の方法で描画する。ボード線図はゲイン線図と位相線図からなり、その定義は\begin{align}gain &: 20 \log_{10} |G(j\ome...
MATLAB/simulink

MATLABでもっとも単純な数値積分と数値微分を実装する

伝達関数\begin{align}P=\frac{1}{s^2+1}\end{align}の単純な数値積分と数値微分を考える。始めに確認のため、連続時間での結果を確認する。連続時間での微分と積分はラプラス演算子を用いて\begin{alig...
MATLAB/simulink

ボード線図の示す意味と応答への影響

伝達関数とボード線図の関係を考察する。今伝達関数が\begin{align}G(s)=\frac{s^2+1}{s^2+6s+8}\end{align}で与えられているとする。この時の分子多項式に\(s=-j \omega\)を代入した時明...
MATLAB/simulink

離散時間モデルのボード線図とstep応答

MATLABを使って離散時間モデルのボード線図の描画とstep応答を調べる。MATLABのbode関数は離散時間モデルにも対応しているので簡単。ボード線図step応答ソースT = 0.1; s=tf("s");Gs = 2/(3*s^2+2...
MATLAB/simulink

MATLABで離散モデルに対しPID制御器を作りシミュレーションする

前回に続いてMATLABで離散モデルに対しPID制御器を構築する。与えられたモデルを離散化するにはG=c2d(omega^2/(s^2+2*zeta*omega*s+omega^2),Ts);を使えばいい。例では二次遅れ系をサンプル時間Ts...
MATLAB/simulink

MATLABでPID制御器を作りシミュレーションする

MATLABでPID制御器を作って実装する。MATLABにはモデルを与えればそれっぽくPID制御器を構築してくれる便利な関数pidtuneがあるので今回はこれを使う。pidtuneの構文は下記の通り。 = pidtune(G,'PID');...
制御工学

伝達関数から状態方程式への変換例

線形時不変な伝達関数と状態方程式との変換を考える。\begin{align}G(s)=\frac{5}{s^2-3s+4}\end{align}\begin{align}U(s)&= s^2-3s+4 \\Y(s)&=5\end{align...
制御工学

状態方程式から伝達関数への変換例

線形時不変な状態方程式と伝達関数との変換を考える。\begin{align}\dot{x}(t) &= Ax(t)+Bu(t) \\y(t)&=Cx(t)+Du(t)\end{align}の各変数を\begin{align}A=\begin...
制御工学

状態方程式と伝達関数の関係から見るシステムの安定条件

線形時不変な状態方程式\begin{align}\dot{x}(t) &= Ax(t)+Bu(t) \\y(t)&=Cx(t)+Du(t)\end{align}との伝達関数表現は\begin{align}G(s)=C(sI-A)^{-1} ...
制御工学

状態方程式と伝達関数の相互変換

線形時不変な状態方程式\begin{align}\dot{x}(t) &= Ax(t)+Bu(t) \\y(t)&=Cx(t)+Du(t)\end{align}と伝達関数との関係について考える。状態方程式をラプラス変換すれば\begin{a...
MATLAB/simulink

極に着目した連続時間システムと離散時間システムの安定性判別

初めに連続時間システムの伝達関数の安定性を調べる。連続時間システムの伝達関数は\begin{align}P_1=\frac{ a_m s^m+a_{m-1} s^{m-1}+ \cdots + a_0}{ b_n s^n+b_{n-1} s...
ディジタル制御

MATLABを使って伝達関数を離散化する

MATLABを使えば伝達関数を簡単に離散時間モデルに変換することができる。たとえば\begin{align}G=\frac{10}{15s+1}\end{align}であれば\begin{align}\frac{0.6449}{z - 0....
MATLAB/simulink

MATLABでむだ時間を含む伝達関数を定義してシミュレーションをする

MATLABを使ってむだ時間を含む伝達関数を定義して一時遅れ系をシミュレーションする。むだ時間を含む一時遅れ系は\begin{align}G=\frac{K}{1+Ts} e^{-Ls}\end{align}で与えられるような系である。この...