Tanuki_Bayashin’s diary

電子工作を趣味としています。最近はラズベリーパイPicoというマイコンを使って楽しんでいます

運動方程式の性質 その1

※なにか気になる点がありましたらコメント欄にご記入ください。
【目次】

1.はじめに

学生時代 Slotine と言う人の論文を読み(読まされ?)、以下のような関係式に出会いました。



\begin{aligned}
 \left [ \dfrac{1}{2} \dot M( \theta ) - C(\dot \theta , \theta) \right ]^T = - \left [ \dfrac{1}{2} \dot M( \theta ) - C(\dot \theta , \theta) \right ] \quad (1)
\end{aligned}

これは、力学に出てくる運動方程式



\begin{aligned}
M( \theta ) \ddot \theta + C(\dot \theta , \theta) \dot \theta + D( \dot \theta ) + G( \theta ) = \tau \quad \quad (2)
\end{aligned}

のなかの行列  M(\theta)(慣性行列) と  C(\dot \theta ,\theta ) (遠心力、コリオリ力に関する行列)の間の関係式です。
今回は、今自分が取り組んでいる倒立振子運動方程式がこの関係式を満たしていることを示したいと思います。
(この式の一般的な証明は、ラグランジュ方程式が出てくるような力学の教科書に出てくると思います)

ご参考:”On the Adaptive Control of Robot Manipulators Jean-Jacques E. Slotine Weiping Li ”
https://journals.sagepub.com/doi/10.1177/027836498700600303

登録が必要なようです。


2.倒立振子運動方程式

まず運動方程式を以下に示します。



\begin{aligned}
&M( \theta ) \ddot \theta + C(\dot \theta , \theta) \dot \theta + D( \dot \theta ) + G( \theta ) = \tau \quad \quad (2) \\
\\
&但し、\\
&M(\theta) :慣性行列        C(\dot \theta , \theta) : 遠心力、コリオリ力に関する行列 \\
&D( \dot \theta ):摩擦に関する項(静止摩擦力などを含む)  G( \theta ): 重力項 \\
&\theta :一般化座標(ここでは角度)  \dot \theta:一般化速度(ここでは角速度)\\
& \ddot \theta :角加速度(一般化加速度と呼んでいいのか筆者は知らないです)\\
& \tau :一般化力(ここではトルク)\\
\end{aligned}

このとき、1輪車型の倒立振子(写真1)の運動方程式では、

写真1 自作した倒立振子(注:現時点で倒立できていません)



\begin{aligned}
M( \theta ) &= \left [

 \begin{array}{l}

 \alpha + 2 \beta \cos \theta _p \quad \gamma + &\beta \cos \theta _p \\
 \gamma + \beta \cos \theta _p \quad &\gamma 
 \end{array}

 \right ] \\

C(\dot \theta , \theta)  &= \left [

 \begin{array}{l}

{-} \beta \sin \theta _p \cdot \dot \theta _p &0 \\
{-} \beta \sin \theta _p \cdot \dot \theta _p &0
 \end{array}

 \right ] \\

但し、\\
\alpha &= (m_w + m_p) r_w^2 + m_p r_p^2 + I_p + I_w \\
\beta &= m_p r_w r_p \\
\gamma &= (m_w + m_p)r_w^2 + I_w \\
\\
ここで、\\
m_w &:車輪の質量 [ \mathrm {Kg} ] \\
m_p &:本体の質量 [ \mathrm {Kg} ] \\
r_w &:車輪の回転軸から車輪の重心までの長さ [ \mathrm m ] \\
r_p &:車輪の回転軸から本体の重心までの長さ [ \mathrm m ] \\
I_w &:車輪の回転軸まわりの車輪の慣性モーメント [ \mathrm {Kg m^2} ] \\
I_p &:車輪の回転軸まわりの本体の慣性モーメント [ \mathrm {Kg m^2} ] \\

\theta _p &:本体の傾斜角 \left [ \mathrm rad \right ] \\
 \dot \theta _p &: 本体の角速度 \left [ \mathrm rad \right ] \\
\end{aligned}

であることが導かれています。(トランジスタ技術2019年7月号
そうすると、



\begin{aligned}
\dfrac{d }{dt} M( \theta ) &= \left [

 \begin{array}{l}
 {-} 2 \beta \sin \theta _p \cdot \dot \theta _p \quad {- \beta \sin \theta _p \cdot \dot \theta _p} \\
 {-} \beta \sin \theta _p \cdot \dot \theta _p {\quad \quad \quad\quad 0 }

 \end{array}

 \right ] \\


\end{aligned}

となるので、



\begin{aligned}

 \dfrac{1}{2} \dot M( \theta ) - C(\dot \theta , \theta) &= 

 \left [

 \begin{array}{l}
 {-} \beta \sin \theta _p \cdot \dot \theta _p  {\quad - \dfrac{1}{2} \beta \sin \theta _p \cdot \dot \theta _p} \\
 {-} \dfrac{1}{2} \beta \sin \theta _p \cdot \dot \theta _p {\quad \quad \quad 0\quad } 

 \end{array}

 \right ]
{-}

 \left [

 \begin{array}{l}

{-} \beta \sin \theta _p \cdot \dot \theta _p { \quad 0\quad } \\
{-} \beta \sin \theta _p \cdot \dot \theta _p { \quad 0\quad }
 \end{array}

 \right ] \\

&= 

 \left [

 \begin{array}{l}

 0 & - \dfrac{1}{2} \beta \sin \theta _p \cdot \dot \theta _p \\
 \dfrac{1}{2} \beta \sin \theta _p \cdot \dot \theta _p &{\quad \quad 0}
 \end{array}

 \right ] \\

\end{aligned}

この行列は歪対象行列の条件を満たしています。(付録参照)

付録

一般に(1)式のような行列を歪(わい)対象行列(skew symmetric matrix)と言います。
すなわち、



\begin{aligned}
行列Aを(n×n)の正方行列としたとき、\\

 A^T = - A \\
\\
但し、A^T は行列A の転置行列を意味します\\

\end{aligned}

と言った行列のことです。
このとき、行列 A には以下の性質があります。



\begin{aligned}

x を(&n×1)の任意のベクトルとしたとき、\\
x^T A x &= 0 \\
\\
となる&。(この式の左辺を二次形式と呼びます)\\
\\
証明:&\\
J &= x^T A x \\
と置き&ます。J はスカラーなので、転置しても同じ値を示します。\\
よって&\\
J^T &= ( x^T A x )^T \\
 &= x^T A^T x \\
(転置&に関する公式 (AB)^T = B^T A^T を2重に使った)\\
 &= x^T( - A ) x \\
 &= - x^T A x \\
 &= -J \\
 
したが&って右辺を移項すると、\\
 2J &= 0 \\
 \therefore J &= 0 \quad \quad \quad (証明終わり)\\

\end{aligned}

このことにより、式(1)に出てくる行列の二次形式は0になることが分かります。

このことをうまく利用すると、式(2)で表されるロボットなどを制御するとき、慣性行列  M( \theta ) 逆行列を計算することなく、入力  \tau を求めることができる制御測を導くことができるのだそうです。
(1980年代後半には知られていました)

以上