制御工学

制御工学

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

入力信号\(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} \...
制御工学

線形非同次微分方程式の解の導出

あるシステムを表す線形非同次微分方程式\begin{align}\dot{x} (t) = Ax(t) +Bu(t) \hspace{5mm} x(t_0)=x_0\end{align}の解を求める。 \begin{align} \dot{...
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...
python

Pythonでナイキスト線図を書く

これの続き。Pythonでナイキスト線図を書いてみた。from control.matlab import *import numpy as npfrom matplotlib import pyplot as pltN=100t=np.l...
python

Pythonで忘却係数付き逐次最小二乗法を実装する

これの続き。忘却係数付き逐次最小二乗法の更新則は \begin{align}\hat{\theta}_{N} &= \hat{\theta}_{N-1} + \dfrac{P_{N-1} z_{N} }{\rho + z_{N}^{T} P...
制御工学

指定した極を実現する伝達関数を求める

二次遅れ系\begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align} に極が与えられたとき、その極を実現する伝達関...
python

Pythonでボード線図を書く

Pythonでボード線図を書くにはbode関数を使えばいい。from control.matlab import *from matplotlib import pyplot as plts = tf('s')num=den=sys = t...
python

Pythonでシステムの極を調べる

Pythonでシステムの極を調べるにはsyspole = pole(sys)を実行すればいい。以下コードfrom control.matlab import *s = tf('s')zeta = 1omega = 2P = omega **...
制御工学

二次遅れ系の極の導出

二次遅れ系\begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align} の極を導出する。分子に\(s\)が含まれてい...
python

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

Pythonでフィードバック結合のシミュレーションをする。\begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align...
python

Pythonでフィードバック結合をシミュレーションする

Pythonでフィードバック結合のシミュレーションをする。\begin{align}P(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align...
python

Pythonで二次遅れ系のシミュレーションをする

Pythonで二次遅れ系をシミュレーションをする。\begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end{align} コー...
ディジタル制御

双一次変換を使って二次遅れ系の伝達関数を離散化する

二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_n^2}{s^2+2 \zeta \omega_n s + \omega_n^2}\end{align} を双一次変換で離散化する。\(s\)に \begin...
システム同定

指定した応答を実現するようなシステムの設計法

指定した応答を実現するようなシステムを設計することを考える。システムを次で与える。\begin{align} G&=\frac{ z^{-1} P(1) }{ P(z^{-1}) }\\P(z^{-1})&=1 + p_1 z^{-1} +...
MATLAB/simulink

逐次最小二乗法を使って二次遅れ系の伝達関数を推定する その2

前回の記事の続き前回と同様に逐次最小二乗法を用いて二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}^2}\end...
MATLAB/simulink

逐次最小二乗法を使って二次遅れ系の伝達関数を推定する

逐次最小二乗法については前回の記事を参照。逐次最小二乗法を用いて二次遅れ系の伝達関数\begin{align}G(s)=\frac{\omega_{n}^2 }{s^2 + 2 \zeta \omega_{n} s + \omega_{n}...
制御工学

感度関数と相補感度関数

次のような制御器\(K(s)\)とプラント\(P(s)\)で構成されるフィードバックシステムを考える。この系の伝達関数は\begin{align}G (s) =\frac{P(s)K (s) }{1+P (s) K (s) }\end{al...
制御工学

双一次変換とパデ近似

\(s\)領域から\(z\)領域への変換はサンプリング時間を\(T\)とすると\begin{align}z &=e^{sT} \\ &=\frac{ e^{s T/2} }{e^{-s T/2 }}\end{align} ここで\( e^{...