みなさん,こんにちは
おかしょです.
現代制御工学では状態方程式を基にさまざまな理論が展開されていきます.
それらの理論を理解するために数値シミュレーションを行うことが多いのですが,数値シミュレーションを行うには適切な積分方法で積分を行うか,もしくは状態方程式を解いて計算をする方法の2つがあります.
ここでは後者の状態方程式を解く方法について解説します.
この記事を読むと以下のようなことがわかる・できるようになります.
- 状態方程式の解の求め方
- 特殊解を定数変化法で求める
この記事を読む前に
そもそも状態方程式が何なのかわからない方は以下の記事で解説していますので,そちらを先に読んでおくことをおすすめします.
状態方程式の解を求める手順
回を求める手順は微分方程式を解く手順と同じです.
状態方程式は以下のような形をしています.
\[
\dot{x} = Ax + Bu \tag{1}
\]
この式は非同次微分方程式と同じ形をしています.
非同次微分方程式の解き方はこちらでも解説をしましたが,解く手順は同じです.
2. 特殊解を求める
3. 非同次微分方程式の一般解を求める
4. 初期値を代入して任意定数を求める
順番に解説していきます.
同次微分方程式の一般解を求める
まずは同次微分方程式
\[
\dot{x}-Ax=0 \tag{2}
\]
の一般解を求めるのですが,同次微分方程式の一般解の求め方はこちらで解説しているのでここでは一般解だけ示します.
式(2)の同時微分方程式の一般解は
\[
x(t)=C e^{At} \tag{3}
\]
ここで,\(C\)は積分定数を表しています.
特殊解を求める
次に状態方程式は非同次微分方程式なので,特殊解を求める必要があります.
ここで,注意しなければならないのが\(u\)は制御器によって決まるもので,定数などではないということです.
このようなときに便利なのが定数変化法というものです.
先ほど求めた一般解(式(3))の定数部分を\(x\)の関数にすると以下のようになります.
\[
x(t)=C(x) e^{At} \tag{4}
\]
これを式(1)の状態方程式に代入します.
\[
\frac{d}{dt} \{C(x) e^{At}\} = AC(x) e^{At}+Bu \tag{5}
\]
これを\{C(x)\}について解いていきます.
\begin{eqnarray}
\frac{d}{dt} \{C(x) e^{At}\} &=& AC(x) e^{At}+Bu \\
\frac{dC(x)}{dt}e^{At}+ AC(x) e^{At} &=& AC(x) e^{At}+Bu\\
\frac{dC(x)}{dt}e^{At} &=& Bu\\
\frac{dC(x)}{dt} &=& e^{-At}Bu \tag{6}
\end{eqnarray}
この式を積分したものを特殊解とします.
\[
C(x) = \int_{t_{0}}^{t} e^{-A\tau}Bu(\tau) d\tau \tag{7}
\]
非同次微分方程式の一般解を求める
非同次微分方程式の一般解を求めるには,同時微分方程式の一般解と特殊解を足し合わせれば良いので以下のようになります.
\[
x = C e^{At} + \int_{t_{0}}^{t} e^{-A\tau}Bu(\tau) d\tau \tag{8}
\]
初期値を代入して任意定数を求める
\(t=0\)の時,\(x(0)=x_{0}\)であったとすると,積分定数\(C\)は\(C=x_{0}\)となるので式(8)は以下のようになります.
\[
x =x_{0} e^{At} + \int_{t_{0}}^{t} e^{-A\tau}Bu(\tau) d\tau \tag{8}
\]
まとめ
この記事では状態方程式(式(1))の解を求める方法について解説しました.
微分方程式を解くのと同時に,定数変化法についても簡単に解説をしました.
その結果,状態方程式の解は
\[
x =x_{0} e^{At} + \int_{t_{0}}^{t} e^{-A\tau}Bu(\tau) d\tau
\]
となりました.
この式を計算することで,状態方程式で表されたシステムの数値シミュレーションも可能となります.
続けて読む
現代制御について学習中の方は,以下の記事で現代制御の基礎となる状態フィードバック制御について解説しています.
ぜひ続けて読んでみてください.
Twitterでは記事の更新情報や活動の進捗などをつぶやいているので気が向いたらフォローしてください.
それでは最後まで読んでいただきありがとうございました.
コメント