【倒立振子part25】モデルの見直し

前回はモータを分解して回転子の形状と慣性モーメントの確認を行った。
そこでシステム同定なるものを使ってモータの伝達関数を求めていこうと思ったのだが、参考書である「システム同定の基礎」を読んでいるうちに、「状態空間モデルの形が求まっているのでパラメトリックモデルを使えば倒立振子ごとシステム同定できるのでは??」と思いモータが届くまでの間に準備を始めていた。
準備として単振子化するためにpart1のモデル作成から見直していたのだが、いろいろ間違っていたのでここで再度見直すことにする。

モデル作成

以前のモデルでは振子が重心までの長さではなく全長として定義しているのでごっちゃになっていた。

モデルイメージは下図にする
赤字と通り振子の重心位置までの長さを再定義した。

m_p:振子の重量   m_r:ロータの重量
\theta_p:振子の角度   \theta_r:ロータの角度
l_p:振子の長さ   l_r:ロータまでの長さ
J_p:振子の重心周りの慣性モーメント
J_r:ロータの重心周りの慣性モーメント
\mu_p:振子の回転軸周りの粘性摩擦係数
\mu_r:ロータの回転軸周りの粘性摩擦係数
P_i:各要素の重心座標
\tau_\omega:ロータの発生トルク

振子について

並進方向

重心座標

\begin{cases} 
x_p = l_p\sin\theta_p\\ 
y_p = l_p\cos\theta_p
\end{cases}

重心速度

\begin{cases} 
\dot{x_p} = {l_p}\dot{\theta_p}\cos\theta_p\\ 
\dot{y_p} = -{l_p}\dot{\theta_p}\sin\theta_p
\end{cases}

運動エネルギーは
K_{pt}= \dfrac{1}{2}m_p\dot{x_p}^2+\dfrac{1}{2}m_p\dot{y_p}^2 = \dfrac{1}{2}m_p{l_p}^2{\dot\theta_p}^2
位置エネルギー
U_{p}=m_p{g}{y_p}= m_p{g}{l_p}\cos{\theta_p}

回転方向

回転方向の運動エネルギーは
K_{p\omega}= \dfrac{1}{2}J_p\dot{\theta_p}^2

ロータについて

並進方向

重心座標(前回はここをなぜか2で割ってしまっていた)

\begin{cases} 
x_r = l_r\sin\theta_p\\ 
y_r = l_r\cos\theta_p
\end{cases}

重心速度

\begin{cases} 
\dot{x_r} = {l_r}\dot{\theta_p}\cos\theta_p\\ 
\dot{y_r} = -{l_r}\dot{\theta_p}\sin\theta_p
\end{cases}

運動エネルギーは
K_{rt}= \dfrac{1}{2}m_r\dot{x_r}^2+\dfrac{1}{2}m_r\dot{y_r}^2 = \dfrac{1}{2}m_r{l_r}^2{\dot\theta_p}^2
位置エネルギー
U_{r}=m_r{g}{y_r}= m_r{g}{l_r}\cos{\theta_p}

回転方向

回転方向の運動エネルギーは
K_{r\omega}= \dfrac{1}{2}J_r(\dot{\theta_p}+\dot{\theta_r})^2
※ここを絶対角として計算しているが\theta_rとしたほうがいいのかよく分からない。。。

ラグラジアン

L(t) = K(t) - U(t) =K_{pt} + K_{rt} + K_{p\omega} + K_{r\omega} - U_p - U_r
となる。
また損失エネルギーは粘性摩擦係数\mu_iを使用して
D(t)=\dfrac{1}{2}\mu_p{\dot\theta_p}^2+\dfrac{1}{2}\mu_r{\dot\theta_r}^2

ラグランジュの運動方程式

ラグランジュの運動方程式は以下で表せる。(計算するとニュートン運動方程式と同じになる)
\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(t) = K(t) - U(t)
で表せる。D(t)は損失エネルギー、q_iは変数(今回は\theta_p,\theta_r)となる。
またf_iは外力であり今回はi=\theta_rの際に発生トルクの\tau_\omegaとなる。

ラグランジュ運動方程式maximaを使用して求めると
 
\begin{cases} 
J_r\ddot{\theta_r}+(m_r{l_r}^2+mp{l_p}^2+J_r+J_p)\ddot{\theta_p}+\mu_p\dot{\theta_p}-(m_rl_r+m_pl_p)g\sin\theta_p=0\\
J_r\ddot{\theta_r}+\mu_r\dot\theta_r+J_r\ddot{\theta_p}=\tau_\omega
\end{cases}
この式は非線形のため線形化を行う。
 
\begin{cases} 
J_r\ddot{\theta_r}+(m_r{l_r}^2+mp{l_p}^2+J_r+J_p)\ddot{\theta_p}+\mu_p\dot{\theta_p}-(m_rl_r+m_pl_p)g\theta_p=0\\
J_r\ddot{\theta_r}+\mu_r\dot\theta_r+J_r\ddot{\theta_p}=\tau_\omega
\end{cases}

確認事項

\tau_\omegaはモータの電気的特性から求めることができる。(part3)
前回は電気的反応は機械的反応に対して速度が速いためL\frac{di_a(t)}{dt}\approx0と近似して計算しているがこれが本当にいいのかはシステム同定によって、無視したときと無視したときにどのような違いが出るのかを調べてから判断する。
ブラシレスDCモータは普通のDCモータと通電方法が違いスイッチング周波数が関係してくるが、今回は回路内蔵のためスイッチング周波数の変更ができないため無視できない可能性がある。
つまり
無視したとき⇒入力(電圧)と出力(角速度)の伝達関数が1次遅れ系
無視しないとき⇒入力(電圧)と出力(角速度)の伝達関数が2次遅れ系
によって同定の結果を比較してどれぐらい違いがあるのかを確認する。

次回

モータのシステム同定をするために必要な準備についてまとめていく。