古典制御

制御工学

PID制御とは

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

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

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 \equiv ...
制御工学

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

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

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

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

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

制御工学ではよく伝達関数の性質を調べるために部分分数分解をすることがある。部分分数分解とは分数の分母を因数分解し、それらをいくつかの分数の和に分解することを指す。例えば\begin{align}\frac{1}{(x+p_{1})(x+p_...
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}またフィ...
python

【制御】Pythonで単位ステップ関数を描く

Pythonで単位ステップ関数を描画する。単位ステップ関数は\begin{align}H(x)=\begin{cases}1 \hspace{10mm} (x \geq 0)\\0 \hspace{10mm} (x <0)\end{case...
制御工学

【制御】無限大ノルムの性質2

伝達関数\(G(s)\)について、\(H_{\infty}\)ノルムは\begin{align}\parallel G(s) \parallel_{\infty} = \sup_\omega \left | G(s) \right |\en...
制御工学

【制御】無限大ノルムの性質1

無限大ノルム\begin{align}\parallel G(s) \parallel_{\infty} = \sup_\omega \left | G(s) \right |\end{align}は伝達関数\(G(s)\)の\(s=j\o...
python

【制御】互いに逆数の関係にあるシステムのボード線図と性質

2つのシステムが\begin{align}G_1=\frac{1}{s^2+s+1} \hspace{10mm} G_2= \frac{1}{G_1}\end{align}のような逆数の関係にある時、それぞれのボード線図は\(x=0\)で反...
python

【制御】直列に接続されたシステムのボード線図と性質

2つのシステム\begin{align}G_1=\frac{1}{s} \hspace{10mm} G_2=\frac{1}{s^2+s+1}\end{align}が直列に接続されているとき、全体のボード線図はそれぞれの伝達関数のボード線図...
制御工学

【制御】安定多項式の定義

システムを示す次の伝達関数があるとする。\begin{align}G(s)=\frac{N(s)}{D(s)}=\frac{b_{m} s^{m} + \cdots + b_{1} s + b_{0} }{s^{n} + a_{n-1} s...
MATLAB/simulink

【制御】MATLABで離散時関系のH∞ノルムを求める

MATLABならば連続時間のときと同じ。以下コードs=tf('s');sys=c2d(1/(s^2+s+1),1);norm(sys,Inf)
MATLAB/simulink

【制御】MATLABでH∞ノルムを計算する

線形時不変なシステム\begin{align}H(s)=\frac{1}{s^2+s+1}\end{align}のH∞ノルムを求める。すでに用意されている関数を使えばすぐに実装できる。以下コードs=tf('s');sys=1/(s^2+s+...
制御工学

二次遅れシステムの基本形

二次遅れ要素の例として、ばね-質量-ダンパ系の運動方程式は、\begin{align}f(t)= m \frac{d^2x(t)}{dt^2} + c \frac{dx(t)}{dt} + k x(t)\end{align}である.ここで\...
制御工学

一次遅れシステムの基本形

入力信号\(x(t)\)と出力信号\(y(t)\)の間に次の一階微分方程式が成り立つものを一次遅れ要素もしくは一次要素という。次のような微分方程式を持つシステムは一次遅れ系である。\begin{align}\tau \frac{dy}{dt...
制御工学

伝達関数の定義

次のようなシステムを示す\(n\)階斉次微分方程式\begin{align}\dfrac{d^n}{dt^n} y(t) &+ a_{n-1} \dfrac{d^{n-1}}{dt^{n-1}}y(t) + \cdots + a_{1} \...
python

Pythonで指定した極、零点、ゲインを実現する伝達関数を求める

これの続き。zpk2tfを使うと指定した極、零点、ゲインを持つ伝達関数を簡単に設計できるようになる。極、零点、ゲインは次のように指定する。zero = np.array([])pole = np.array()G = tf(*zpk2tf(...
python

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

これの続き。Pythonで同じ解析をした。from control.matlab import *import numpy as npfrom matplotlib import pyplot as pltN = 1000t = np.li...