制御工学

ラプラス変換を使って微分方程式を解く

各時間\(t\)でのロボットの速度\(\dot{x}(t)\)や位置\(x(t)\)を求めたり、目標通りに制御するために、微分方程式(Differential Equation)を解く必要が出てきます。

 

この微分方程式を解く方法として、ラプラス変換(Laplace Transform)を用いた方法があります。

 

しかし、微分方程式やラプラス変換とは何かが分かったとしても、実際にどう使用すれば良いかを理解するのは容易ではありません。

 

そこで、今回は実際に具体的な値を用いて、微分方程式をラプラス変換(Laplace Transform)で解く方法を紹介したいと思います。

 

具体例を学ぶことで、よりラプラス変換による微分方程式の解き方が理解できるようになると思います。

 

5/2追記:計算式に間違いがあったため、修正いたしました。

 

 

取り扱う微分方程式

今回は、下記のような2階微分方程式を取り扱います。

$$ \frac{ d^2 x(t) }{ dt^2 } + 2 \frac{ d x(t) }{ dt } + 2 x(t) = \sin \left( 2 t \right)  $$

 

初期条件として、時刻\(t\)においてロボットの位置\(x(0)\)と速度\(\dot{x}(0)\)は、

$$ \begin{eqnarray} \left\{ \begin{array}{l} x(0) = 4 \\ \dot{x}(0) = -4 \end{array} \right. \end{eqnarray} $$

とします。

 

今回は、この2階微分方程式について、ラプラス変換を用いて時刻\(t\)におけるロボットの位置\(x\)を求めていきます。

 

ラプラス変換を行う

対象の微分方程式の各成分について、ラプラス変換を行います。

$$ \left[ s^2 X(s) – s x(0) – \dot{x}(0) \right] + 2 \left[ s X(s) – x(0) \right] + 2 X(s) = \frac{2}{s^2 + 2^2}$$

 

ラプラス変換をして求めた周波数領域の式に初期条件を代入し、式を整理していきます。

$$ \begin{eqnarray} \left(s^2 + 2 s + 2\right) X(s) &=& \frac{2}{s^2 + 4} + 4s + 4 \\ &=& \frac{2 + (4 s + 4)(s^2 + 4)}{s^2 + 4} \\ &=& \frac{4 s^3 + 4 s^2 + 16 s + 18}{s^2 + 4} \end{eqnarray} $$

 

これより、周波数領域での\(X(s)\)についての式は、

$$ X(s) = \frac{4 s^3 + 4 s^2 + 16 s + 18}{(s^2 + 4)(s^2 + 2 s + 2)} $$

となることが分かります。

 

部分分数分解を行う

先に求めた周波数領域\(s\)での運動\(X(s)\)についての式について、逆ラプラス変換を行えば、時間領域\(t\)でのロボットの運動\(x(t)\)が分かります。

 

しかし、逆ラプラス変換を行うには現時点での\(X(s)\)についての式は複雑です。

 

そこで、部分分数分解を行い、逆ラプラス変換を行いやすくしていきます。

 

先程の\(X(s)\)についての式について、分母の各多項式で分解すると、

$$ \begin{eqnarray} X(s) &=& \frac{4 s^3 + 4 s^2 + 16 s + 18}{(s^2 + 4)(s^2 + 2 s + 2)} \\ &=& \frac{A s + B}{s^2 + 4} + \frac{C s + D}{s^2 + 2 s + 2} \end{eqnarray} $$

となります。

 

この関係式について、分母は同一になるため、分子のみに注目して計算すると、

$$ \begin{eqnarray} 4 s^3 + 4 s^2 + 16 s + 18 = (A s + B)(s^2 + 2 s + 2) + (C s + D)(s^2 + 4) \\ = (A+C) s^3 + (2A+B+D) s^2 + (2A+2B+4C) s + (2B+4D) \end{eqnarray} $$

となり、

$$ \begin{eqnarray} \left\{ \begin{array}{l} A+C=4 \\ 2A+B+D = 4 \\ 2A+2B+4C = 16 \\ 2B+4D = 18 \end{array} \right. \end{eqnarray} $$

という連立方程式が出てきます。

 

この連立方程式を解くと、

$$ \begin{eqnarray} \left\{ \begin{array}{l} A = – \frac{1}{5} \\ B = – \frac{1}{5} \\ C = \frac{21}{5} \\ D = \frac{23}{5} \\ \end{array} \right. \end{eqnarray} $$

と求めることが出来ます。

 

よって、この求めた各パラメータを元の式に代入すると、

$$ X(s) = \frac{-\frac{1}{5} s -\frac{1}{5}}{s^2 + 4} + \frac{\frac{21}{5} s + \frac{23}{5}}{s^2 + 2 s + 2} $$

となり、\(X(s)\)についての式を部分分数に分解することが出来ました。

 

逆ラプラス変換を行う

先程までに求めた\(X(s)\)についての式を周波数領域\(s\)から時間領域\(t\)に変換するために逆ラプラス変換を行います。

 

まず、部分分数分解した式を整理して、下記のように逆ラプラス変換を行いやすい形にします。

$$ \begin{eqnarray} X(s) &=&  \frac{-\frac{1}{5} s -\frac{1}{5}}{s^2 + 4} + \frac{\frac{21}{5} s + \frac{23}{5}}{s^2 + 2 s + 2} \\ &=& \frac{1}{5} \left[ -\frac{s}{s^2 + 2^2} -\frac{1}{2} \frac{2}{s^2 + 2^2} + 21 \frac{s+1}{(s+1)^2+1^2}  + 2 \frac{1}{(s+1)^2+1^2} \right] \end{eqnarray} $$

 

そして、各項について逆ラプラス変換を行うと、

$$ x(t) = \frac{1}{5} \left[ – \cos (2t) – \frac{1}{2} \sin (2t) + 21 e^{-t} \cos (t) + 2 e^{-t} \sin (t) \right] $$

と時間領域でのロボットの運動を求めることが出来ました。

 

まとめ

今回は、2階微分方程式を例に用いて、ラプラス変換を使って実際に解く流れを紹介しました。

POSTED COMMENT

  1. 最後の部分分数分解のところの分母の中についてなのですが、1+(s+1)^2ではなく,1+(s-1)^2ではないでしょうか

    • tajima より:

      ご指摘ありがとうございます。

      確認しましたところ最後の式は合っていたのですが、途中式が間違っていました。
      式中に含まれるs^2-2s+2をs^2+2s+2と修正いたしました。

      この度は確認不足により混乱を招き、申し訳ございませんでした。
      今後ともどうぞよろしくお願いいたします。

tajima へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です