制御工学

MATLAB/simulink

MATLABを使って複素数を写像してみる

複素関数を使えば複素数を写像できる。 ディジタル制御では \begin{align}z=e^{sT}\end{align} を使うので\(T=1\)として写像してみる 例えば下のプログラムの例では虚軸が円に写される。 x=0; y=-5:0...
制御工学

PID制御とは

PID制御とは比例・積分・微分の3つを組み合わせて行う制御方式である。 PID制御は次のように与えられる。 \begin{align}u(t)=K_P e(t) + K_{I} \int_0^{t} e(\tau) d\tau + K_D ...
制御工学

レギュレータ問題における操作量の表現

PID制御則が \begin{align} u(t)=K_{p} e(t) + K_{i} \int e(\tau) d \tau + K_{d} \frac{d e(t)}{dt}\end{align} で与えられているとき、この制御則に...
制御工学

PID制御とレギュレータ問題

PID制御は \begin{align}u(t)=K_{p} e(t) + K_{i} \int e(\tau) d \tau + K_{d} \frac{d e(t)}{dt}\end{align} のような問題を言い、\(r \equi...
制御工学

Lyapunov方程式を証明する

システムの安定性を調べるにはLyapunov方程式 \begin{align}PA+A^{T}P=-Q\end{align} を調べればいい。 \(P\)は\(A\)の固有値の実部が負であれば \begin{align}P=\int_0^\...
制御工学

線形システムが可安定であるとは

線形システム \begin{align}\dot{x} (t) = A x(t) + B u(t)\end{align} について、行列 \begin{align}A-BK\end{align} の固有値の実部が全て負になるような状態フィー...
制御工学

システムが安定であるとは

\( \forall \varepsilon > 0\)に対して\(\delta > 0\)が存在して、\(\| x_0 - x_e \| < \delta \)となる初期状態\(x_0\)について、\(\| x(t) - x_e \| <...
制御工学

自律システムの定義

微分方程式系が\(t\)を含まないとき、すなわち、ある微分方程式系が \begin{align}\dot{x} = f(x(t)) \hspace{5mm} f(x_e) = 0\end{align} のとき、このシステムを自律システムとい...
制御工学

安定性の定義

入力\(u(t)\)と状態ベクトル\(x(t)\)を用いて記述される次のシステムがあるとする。 \begin{align}y=f(x(t),u(t))\end{align} このシステムの内部安定性を調べるために\(u(t)\)を時間関数に...
制御工学

ローパスフィルタを後退差分法で離散化する

連続時間でのローパスフィルタは \begin{align}H_{s}=\frac{1}{\tau s +1} \end{align} \(s=\displaystyle \frac{1-z^{-1}}{T_s}\)を代入して \begin{...
MATLAB/simulink

MATLABでローパスフィルターのボード線図を書く

ローパスフィルターの伝達関数は \begin{align}H(s)=\frac{1}{1+\tau s}\end{align} このときカットオフ周波数は\(\omega=\frac{1}{\tau}\)となる。 ローパスフィルターの伝達関...
制御工学

LQ制御問題とは

制御対象の状態方程式を次で与える。 \begin{align}\frac{dx}{dt}=Ax+Bu\end{align} ここで\(x\)を状態ベクトル、\(u\)を入力、\(A,B\)は係数行列である。 この制御対象について、LQ制御問...
制御工学

状態遷移行列の求め方

ある行列\(A\)について状態遷移行列\(e^{At}\)は次のようにして求める。 \begin{align}e^{At}=\mathcal{L}^{-1} \end{align}
ディジタル制御

MATLABで離散化された伝達関数のH∞ノルムを求める

MATLABで離散化された伝達関数のH∞ノルムを求める。H∞ノルムは以前求めたベクトル軌跡のノルムの最大値 \begin{align}P(e^{i \theta})= \sup_{\theta \in } \left | \frac{1}{...
ディジタル制御

MATLABで離散化された伝達関数のナイキスト線図を描く

離散化された伝達関数のナイキスト線図を描く。離散化された伝達関数を \begin{align}P(z^{-1})=\frac{1}{1+2z^{-1}+3z^{-2}}\end{align} とするとベクトル軌跡は\(z=e^{i \the...
ディジタル制御

PID制御器を後退差分で離散化する

PID制御器を後退差分で離散化する。後退差分は \begin{align}s=\frac{1-z^{-1}}{T}\end{align} で表されるのでPID制御器に適応すると操作量は \begin{align}C=K_P+K_I \fra...
python

Pythonで伝達関数を部分分数分解する

制御工学ではよく伝達関数の性質を調べるために部分分数分解をすることがある。部分分数分解とは分数の分母を因数分解し、それらをいくつかの分数の和に分解することを指す。例えば \begin{align}\frac{1}{(x+p_{1})(x+p...
MATLAB/simulink

MATLABで双一次変換を使った離散PID制御と連続PID制御の応答を確認する

双一次変換を使った離散PID制御と連続PID制御の応答を確認する。双一次変換は連続時間の伝達関数に対して\(s\)を \begin{align}s=\frac{2(z-1)}{T(z+1)}\end{align} に置き換えればいい。\(T...
ディジタル制御

双一次変換を使ってPID制御器の伝達関数を離散化する

PID制御器の伝達関数 \begin{align}C(s)=K_P + \frac{K_ I}{s} + K_D s\end{align} を双一次変換で離散化する。\(s\)に \begin{align}s=\frac{2(1-z^{-1...
MATLAB/simulink

MatlabでPID制御のシミュレーションをする

MatlabでPID制御のシミュレーションをする。システムとPID制御器の伝達関数は \begin{align}P&=\frac{1}{s+1} \\C&=K_P + \frac{K_I}{s} + K_D s \end{align} また...