制御工学 ルーリエ系の定義 線形時不変なシステム\begin{align}\dot{x}(t)&=Ax(t) + bu(t)\\y(t)&=cx(t) \\e(t)&=-y(t)\end{align}に対しフィードバック則\begin{align}u(t)=\phi(... 2021.07.31 制御工学現代制御非線形システム
MATLAB/simulink MATLABを使って行列の指数関数を計算 MATLABを使って前回の記事で考察した行列の指数関数を計算する。簡単に復習をすると行列の指数関数は \begin{align} e^A=\sum_{k=0}^{\infty}\frac{(P^{-1} A P)^k}{k!}=P^{-1}... 2021.07.30 MATLAB/simulinkプログラミング制御工学
代数 行列の指数関数の計算 とくに現代制御においては行列の指数関数を計算する場面が現れる。行列の指数関数は\begin{align} e^{A}, \exp A, \end{align}で表される。いま、行列の指数関数を \begin{align} e^A=\sum_... 2021.07.29 代数制御工学数学現代制御
MATLAB/simulink simulinkでシミュレーションした結果をワークスペースに書き出してグラフを作成する simulinkでシミュレーションした結果のグラフをMATLABを使って出力する。前回の記事のモデルにTo Workspaceブロックを次のように追加する。このようにすればワークスペースにoutの構造体として格納されるので、MATLAB側で... 2021.07.27 MATLAB/simulinkプログラミング制御工学現代制御
MATLAB/simulink simulinkで状態方程式をシミュレーションする 前回の記事の続き前回のパラメータを使ってsimulinkでシミュレーションした。モデルはこれ。結果は同じになる。 2021.07.26 MATLAB/simulinkプログラミング制御工学古典制御現代制御
古典制御 微分要素と積分要素のボード線図 微分要素と積分要素の伝達関数は\begin{align}G_1(s)=\frac{1}{s} \hspace{5mm} G_2 (s) = s\end{align}で表される。\(s=j \omega\)を代入すれば \begin{alig... 2021.07.24 古典制御
MATLAB/simulink 古典制御と現代制御の双方の視点からばねマスダンパ系を解析する ばねマスダンパ系について、古典制御と現代制御の各変数の相互関係とそれらの解析結果が一致することを示す。ばねマスダンパ系の運動方程式は\begin{align}M \ddot{y}(t) + C \dot{y} (t) + ky (t) =u... 2021.07.22 MATLAB/simulinkプログラミング制御工学古典制御現代制御
MATLAB/simulink 線形時不変なシステムのH∞ノルムを計算する 線形時不変なシステムのH∞ノルムを計算する。適当な伝達関数\begin{align}G(s)=\frac{1}{(s+1)(s+2)}\end{align}を定義する。H∞ノルムの定義は\begin{align}\| G(j \omega)... 2021.07.20 MATLAB/simulinkプログラミング制御工学古典制御現代制御
MATLAB/simulink 線形時不変なシステムの可制御行列と可観測行列を調べる 線形時不変なシステム(A,B,C,D)の可制御性と可観測性を調べる。以前証明した結果から可制御性行列\begin{align}M_c=\begin{bmatrix}B & AB & \cdots & A^{n-1}B\end{bmatrix... 2021.07.20 MATLAB/simulinkプログラミング制御工学現代制御
MATLAB/simulink MALTABを使ってボード線図を書く MATLABでボード線図を描くときbode(sys)とすれば即座に得られるが、今回は別の方法で描画する。ボード線図はゲイン線図と位相線図からなり、その定義は\begin{align}gain &: 20 \log_{10} |G(j\ome... 2021.07.19 MATLAB/simulinkプログラミング制御工学古典制御
制御工学 関数とノルム 信号などの大きさを図る手法としてノルムが定義されている。普段よく使う絶対値\begin{align}|x|= \begin{cases}x \hspace{5mm} &( x \geq 0) \\-x &( x < 0)\end{cases... 2021.07.19 制御工学
MATLAB/simulink MATLABでもっとも単純な数値積分と数値微分を実装する 伝達関数\begin{align}P=\frac{1}{s^2+1}\end{align}の単純な数値積分と数値微分を考える。始めに確認のため、連続時間での結果を確認する。連続時間での微分と積分はラプラス演算子を用いて\begin{alig... 2021.07.18 MATLAB/simulinkプログラミング制御工学古典制御
MATLAB/simulink ボード線図の示す意味と応答への影響 伝達関数とボード線図の関係を考察する。今伝達関数が\begin{align}G(s)=\frac{s^2+1}{s^2+6s+8}\end{align}で与えられているとする。この時の分子多項式に\(s=-j \omega\)を代入した時明... 2021.07.16 MATLAB/simulinkプログラミング制御工学古典制御
MATLAB/simulink 離散時間モデルのボード線図とstep応答 MATLABを使って離散時間モデルのボード線図の描画とstep応答を調べる。MATLABのbode関数は離散時間モデルにも対応しているので簡単。ボード線図step応答ソースT = 0.1; s=tf("s");Gs = 2/(3*s^2+2... 2021.07.15 MATLAB/simulinkプログラミング制御工学古典制御
MATLAB/simulink MATLABで離散モデルに対しPID制御器を作りシミュレーションする 前回に続いてMATLABで離散モデルに対しPID制御器を構築する。与えられたモデルを離散化するにはG=c2d(omega^2/(s^2+2*zeta*omega*s+omega^2),Ts);を使えばいい。例では二次遅れ系をサンプル時間Ts... 2021.07.13 MATLAB/simulinkプログラミング制御工学古典制御
MATLAB/simulink MATLABでPID制御器を作りシミュレーションする MATLABでPID制御器を作って実装する。MATLABにはモデルを与えればそれっぽくPID制御器を構築してくれる便利な関数pidtuneがあるので今回はこれを使う。pidtuneの構文は下記の通り。 = pidtune(G,'PID');... 2021.07.13 MATLAB/simulinkプログラミング制御工学古典制御
制御工学 現代制御の視点から見た線形時不変な多入力多出力なシステムのPID制御 線形時不変な多入力多出力なシステム\begin{align}\dot{x}(t)&=Ax(t)+Bu(t) \\y(t)&=Cx(t)\end{align}をPID制御則は\begin{align}u(t)=K_{P} (r-y(t)) +... 2021.07.12 制御工学現代制御
制御工学 線形システムに対するリアプノフの定理の必要十分条件 線形システムの安定性を考える。このとき\begin{align}V(x)=x^{T} Px\end{align}と考えればその微分は\begin{align}\dot{V} (x)=\dot{x}^{T} P x + x^{T} P \do... 2021.07.11 制御工学現代制御
制御工学 状態方程式の同値変換 次の状態方程式で表現されるシステム\begin{align}\dot{x}(t) &=Ax(t)+Bu(t)\\y(t)&=Cx(t)\end{align}において任意の正則な行列\(T¥)を使って\begin{align}\overlin... 2021.07.10 制御工学現代制御
制御工学 線形時不変システムの可制御性の十分条件 線形時不変な状態方程式\begin{align}\dot{x}(t) &= Ax(t)+Bu(t) \\y(t)&=Cx(t)+Du(t)\end{align}について\begin{align}\mathrm{rank} M_c = n\e... 2021.07.06 制御工学現代制御