Last updated:
剛体の運動を考えるためにまず必要となるのは、運動方程式を立てることだ。
方針としては、並進・回転運動する剛体の運動エネルギーを求めて、これをもとにLagrangeの運動方程式を立てていこう。
このように進めると、並進・回転それぞれの運動方程式が同様の手順で求められて、角運動量・慣性モーメントに対応する量も自然と現れてくれる。
剛体の運動エネルギー
Figure 1: Reference coordinate system and body fixed coordinate system.
ある剛体に固定されたローカルな正規直交座標系をFbとして、基底ベクトルを並べたもの(ベクトリクス)を用いて次のように表す。
ここで上矢印を使ったベクトルは、基準となるような正規直交慣性座標系のベクトルであることを表す。
Fb≡b1b2b3
剛体内の質点nの位置は、基準座標系で次のように表すことができる。rnはFb原点から質点nへのベクトルで、rnはこれをFbでのパラメタとして表したもの。ただし、今のところFb原点は剛体の重心である必要はないし、剛体と一緒に動いていれば別に剛体内になくてもかまわない。
Rn=Ro+rn=Ro+FbTrn
これを時間微分すれば質点の速度が得られる。
Vn=Vo+FbTr˙n+F˙bTrn=Vo+FbTr˙n+(ω×FbT)rn
剛体では、Fb内での質点の位置は変化しないのでrn˙=0。よって、質点nの速度は次のように表される。
Vn=Vo+ω×rn
剛体内全ての質点について運動エネルギーを足し合わせて、剛体の運動エネルギーTを求める。ただし、剛体の質量はm=∑nmn、重心はc=∑nmnrnのように表される。
T=21n∑mnvn⋅vn=21n∑mn(Vo+ω×rn)⋅(Vo+ω×rn)=21n∑mnVo⋅Vo+n∑Vo⋅(ω×mnrn)+21n∑mn(rn×ω)T(rn×ω)=21mVo⋅Vo+Vo⋅(ω×c)+21ωT[n∑mn(rn×)T(rn×)]ω=21mVo⋅Vo+Vo⋅(ω×c)+21ωT[n∑mn(I(rn⋅rn)−rnrnT)]ω
ここで、3項目の角速度ベクトルに挟まれた部分を、慣性モーメントJと定義してやれば、剛体の運動エネルギーは次のような形で表すことが出来る。
T=21mVo⋅Vo+Vo⋅(ω×c)+21ωTJω
ちなみに、u×はあるベクトルu=[u1 u2 u3]について、反対称行列(skew symmetric matrix)を作るような操作を表す。具体的な成分は(3)のようになっており、左からベクトルに作用させると外積と同様の結果を返すので、外積を行列の形に変換したものと思えばよい。
u×≡0u3−u2−u30u1u2−u10
剛体のエネルギーは、任意の正規直交で静止した座標系Faで、同等な形に書くことが出来るので確認しておこう。まず、Faと基準座標系の間には次のような関係があるものとする。
r=rTFa,whereFa=[a1 a2 a3]T
また、VoのFaでのパラメタはvoと表すことにする。
(小文字にしたのは、見た目的に大文字が鬱陶しい気がしたのと、最終的に原点を剛体のCoMに一致させるのを見越して)
Vo=voTFa=FaTvo
これを(2)に代入する。
T=21m(FaTvo)TFaTvo+(FaTvo)T(FaT(ω×c))+21(FaTω)T(FaTJFa)(FaTω)=21mvoTFaFaTvo+voTFaFaT(ω×c)+21ωTFaFaTJFaFaTω=21mvoTvo+voT(ω×c)+21ωTJω
上の式変形で用いた慣性モーメントの座標変換は、次のように導くことが出来る。
J= n∑mn(I(rn⋅rn)−rnrnT)=n∑mn(I(rn⋅rn)−(FaTrn)(FaTrn)T)=n∑mn(I(rn⋅rn)−FaTrnrnTFa)=FaTn∑mn(I(rn⋅rn)− rnrnT)Fa=FaTJFa
Lagrangeの運動方程式
ここで、座標が剛体に固定されて原点が重心にある(ただし瞬間瞬間で静止している)とすれば、運動エネルギーは並進エネルギーと回転エネルギーの和という、きれいに分離された形で書ける。
T=21mvoTvo+21ωTJω
ポテンシャルをU(r,θ)とすると、ラグランジアンL=T−Uを用いて次のように回転と並進の運動方程式が得られる。
dtd∂vo∂L=∂r∂Ldtd∂ω∂L=∂θ∂L:Equation of Motion for Translation:Equation of Motion for Rotation
並進の運動方程式は、(5)のように運動量の微分と力を等置した形をしている。
mdtdvo=−∂r∂U
回転の運動方程式は、(6)のように角運動量の微分とモーメントを等置した形になる。
dtd(Jω)=−∂θ∂U
最終的に数値計算を行うために、角速度ベクトルの微分方程式の形にしたいので(6)をさらに変形しよう。
角度に依存したポテンシャル(モーメント)がないとすると右辺はゼロで、左辺は次のように変形できる。
dtd∂ω∂L=dtd(Jω)=dtdJω+Jdtdω=ω×Jω+Jdtdω
ちなみに、Jの時間微分はω×Jではないのだが、以下のようにdtdJω=ω×Jωとなることを確認できる。
J+dJ=n∑mn[I{(rn+ω×rndt)⋅(rn+ω×rndt)}−(rn+ω×rndt)(rn+ω×rndt)T]
dJ=n∑mn[I{rn⋅(ω×rndt)+(ω×rndt)⋅rn}−rn(ω×rndt)T−(ω×rndt)rnT]=n∑mn[I{rnT(ω×rndt)+(ω×rndt)Trn}−rn(ω×rndt)T−(ω×rndt)rnT]=n∑mn[I{rnTω×rndt−rnTω×rndt}+rnrnTω×dt−ω×rnrnTdt]=n∑mn(rnrnTω×−ω×rnrnT)dt
dtdJω=(n∑mn(rnrnTω×−ω×rnrnT))ω=ω×(−n∑mnrnrnT)ωω×Jω= ω×(n∑mn(I(rn⋅rn)− rnrnT))ω=ω×(−n∑mnrnrnT)ω
最終的に回転の運動方程式は次のように表される。
dtdω=−J−1ω×Jω
オイラーの運動方程式
特に、慣性モーメントが(8)のように表される時、(7)を成分ごとに分離した形(9)で表すことができる。
これをオイラーの運動方程式(Euler’s Motion Equations)と呼ぶ。
J=J1000J2000J3
dtdω1+J1J3−J2ω2ω3=0dtdω2+J2J1−J3ω3ω1=0dtdω3+J3J2−J1ω1ω2=0
References
この記事では座標系を基底ベクトルを並べた形(1)で表しており、おそらくあまり馴染みのない書き方だと思う。
テンソルと似てはいるのだが、姿勢運動に関しては基底ベクトルが3次元正規直交な場合だけで十分なので、その分だけ簡略化した表現というイメージだ。
座標系をはっきりした形で書くので、座標系がいくつもあって相互に変換が必要な場合などには、混乱がおきにくい。
この表現方法や計算のルールに関しては[2]をもとにしているので、さらに詳しく知りたい場合には参照していただきたい。
- エリ・ランダウ, イェ・エム・リフシッツ, “力学 (増訂第3版) ランダウ=リフシッツ理論物理学教程”, 東京図書, 1986
- Peter C. Hughes, “Spacecraft Attitude Dynamics”, Dover Publications, 2004