【倒立振子part1】モデル作成

今回は前回のロードマップのうちの一番初めの項目である

 

制御モデル

慣性ロータ(フライホイールのほうが正確なのか?)を使用した倒立振子のモデルを作成していく。

 

モデルのイメージは下記。

パラメータは下記とする。

mp:振子の重量   mr:ロータの重量

θp:振子の角度   θr:ロータの角度

lp:振子の長さ   lr:ロータまでの長さ

Jp:振子の重心周りの慣性モーメント

Jr:ロータの重心周りの慣性モーメント

μp:振子の回転軸周りの粘性摩擦係数

μr:ロータの回転軸周りの粘性摩擦係数

Pi:各要素の重心座標

τw:ロータの発生トルク

 

ラグランジュの運動方程式を使用してモデルを作成する。

ラグランジュの運動方程式は以下で表せる。(計算するとニュートン運動方程式と同じになる)

\dfrac{d}{dt}\left( \dfrac{\partial L(t)}{\partial \dot{q_i}(t)}\right) -\dfrac{\partial L(t)}{\partial {q_i}(t)}+\dfrac{\partial D(t)}{\partial {q_i}(t)}=f_i

この時

ラグラジアンLは運動エネルギーKと位置エネルギーUを用いて

L(t) = K(t) - U(t)

で表せる。D(t)は損失エネルギー、qiは変数(今回はθpとθr)となる。

またfiは外力であり今回はi=θrの際に発生トルクのτwとなる。

 

まずモデル作成のために振子とロータの運動エネルギーと位置エネルギーを求める。

振子について

・並進方向

重心座標

\begin{eqnarray}
  \left\{
    \begin{array}{l}
      x_p = \dfrac{1}{2}l_p\sin\theta_p \\
     y_p = \dfrac{1}{2}l_p\cos\theta_p \\
    \end{array}
  \right.
\end{eqnarray}

重心速度

\begin{eqnarray}
  \left\{
    \begin{array}{l}
      \dot{x_p} = \dfrac{1}{2}{l_p}\cdot\dot{\theta_p}\cos\theta_p \\
     \dot{y_p} = -\dfrac{1}{2}{l_p}\cdot\dot{\theta_p}\sin\theta_p \\
    \end{array}
  \right.
\end{eqnarray}

なので

運動エネルギーKpt

K_{pt}= \dfrac{1}{2}m_p\dot{x_p}^2+\dfrac{1}{2}m_p\dot{y_p}^2 = \dfrac{1}{8}m_p\cdot{l_p}^2\cdot{\dot\theta_p}^2

位置エネルギーUpは

U_{p}=m_p\cdot{g}\cdot{y_p}= m_p\cdot{g}\cdot{l_p}\cos{\theta_p}

・回転方向

回転方向の運動エネルギーKpωは

K_{p\omega}= \dfrac{1}{2}J_p\dot{\theta_p}^2

 

慣性ロータについて

・並進方向

重心座標\begin{eqnarray}
  \left\{
    \begin{array}{l}
      x_r = \dfrac{1}{2}l_r\sin\theta_p \\
     y_r = \dfrac{1}{2}l_r\cos\theta_p\\
    \end{array}
  \right.
\end{eqnarray}

重心速度\begin{eqnarray}
  \left\{
    \begin{array}{l}
      \dot{x_r} = \dfrac{1}{2}{l_r}\cdot\dot{\theta_p}\cos\theta_p \\
     \dot{y_r} = -\dfrac{1}{2}{l_r}\cdot\dot{\theta_p}\sin\theta_p \\
    \end{array}
  \right.
\end{eqnarray}

なので

運動エネルギーKrtは

K_{rt}= \dfrac{1}{2}m_r\dot{x_r}^2+\dfrac{1}{2}m_r\dot{y_r}^2 = \dfrac{1}{8}m_r\cdot{l_r}^2\cdot{\dot\theta_p}^2

位置エネルギーUpは

U_{r}=m_r\cdot{g}\cdot{y_r} = m_r\cdot{g}\cdot{l_r}\cos{\theta_p}

・回転方向

回転方向の運動エネルギーKpωは

K_{r\omega}= \dfrac{1}{2}J_r(\dot{\theta_p}+\dot{\theta_r})^2

 

以上よりこのモデルのラグラジアン

L(t) = K(t) - U(t) =K_{pt} + K_{rt} + K_{p\omega} + K_{r\omega} - U_p - U_r

となる。

また損失エネルギーは粘性摩擦係数μiを使用して

D(t)=\dfrac{1}{2}\mu_p{\theta_p}^2+\dfrac{1}{2}\mu_r{\theta_r}^2

 

ここからのラグランジュの運動方程式を導出するのは手計算ではしんどいのでmaxiamを使用して求めていく。

maxiamaの使用方法については記憶にないので思い出しながら次以降にまとめていく。

 

 

 

P.S

初めてTeXを使用して数式を書いてみた。

数式をTeXにする方法と確認できるサイトとして下記の2つのサイトを使用した。

今後使用する際に忘れないようにここにメモしておく。

・手書きの数式をTeX変換できるサイト

webdemo.myscript.com

・コードを書いて合ってるかを確認できるサイト

www.hostmath.com