剛体の運動方程式を求めたい。
自由な速度 𝛀 に対する運動方程式(1)が欲しい
いよいよ、剛体の運動を求める方法を考える。前章で見たように、剛体の状態を一意的に決めるには、剛体上の1点
𝒙0
と回転行列
𝑅
を指定すればよい。従って、「剛体の運動を求める」とは、これら
𝒙0,𝑅
の時間発展を求めることである。
𝑅
の代わりに前章の10.3節で例示した自由な座標
𝜽
でもよい。
そのためには、これまでと同様に、初期値として
𝒙0(0),𝑅(0)
およびその微分
˙𝒙0(0),˙𝑅(0)
を与えたうえで、2階微分
¨𝒙0,¨𝑅
を与える方程式(=運動方程式)を解くという流れになる。
第9章で議論したように、自由な座標が与えられれば、拘束力を消去することにより運動方程式が得られる。その議論を援用したいわけだが、残念ながら
𝑅
は自由な座標ではない。しかし、拘束力を消去するのに必要なのは、運動可能な方向の情報なので、自由な「速度」が分かれば十分である。前章で見たように、
𝑅
の自由な「速度」として、角速度ベクトル
𝝎
が存在する。
˙𝑅
と
𝝎
の関係式は以下:
˙𝑅=𝝎×𝑅
従って、
˙𝒙0
と
𝝎
をまとめたもの
𝛀
:
𝛀=[˙𝒙0𝝎]
を考えて、拘束力を消去すれば、
𝛀
に対する運動方程式:
˙𝛀≡[¨𝒙0˙𝝎]=[⋯](1)
が得られるはずである。
この章では、上記の議論に従って、剛体の運動方程式(1)を導出する。また、式(1)が得られたとしても、これを用いて実際の計算を行う方法は自明ではない。具体的な手続きについて、多少議論が必要だろう。そこでこの章では、以下の2つの節に分けて議論を行う:11.1剛体の運動方程式の導出11.2剛体の運動の計算
11.1剛体の運動方程式の導出
この節では、剛体の運動方程式(10)を導く。剛体自体には拘束条件がかかっていないとする。剛体にさらに拘束がかかっている場合については次章で扱う。
11.1.1自由な速度 𝛀 に対する運動方程式(展開前):式(6)
議論の出発地点は、剛体を構成する全ての質点要素
𝒙𝑖
に対する運動方程式:
⎡⎢
⎢⎣𝑚1𝑚2⋱⎤⎥
⎥⎦⏟___⏟___⏟𝑀⎡⎢
⎢⎣¨𝒙1¨𝒙2⋮⎤⎥
⎥⎦⏟¨𝑿=⎡⎢
⎢⎣𝒇1𝒇2⋮⎤⎥
⎥⎦⏟𝑭+⎡⎢
⎢⎣𝒇c1𝒇c2⋮⎤⎥
⎥⎦⏟𝑭c(2)
である。これを変形して、式(1)の形に持っていけばよい:
拘束力
𝑭c
を消したい
式(2)で未知なのは、拘束力
𝑭c
である。第9章と同様に、
𝑭c
を消去することを考える。
𝑭c
と
˙𝑿
の関係式
拘束力
𝑭c
は、ダランベールの原理により、拘束条件を満たす全ての速度
˙𝑿
と「直交」する(第8章の8.2節):
˙𝑿T𝑭c=0(3)
˙𝑿
は、自由な速度
𝛀
の1次式として以下のように表せる:(以下の【11.1-注1】)
˙𝑿=⎡⎢
⎢⎣1−𝒙10×1−𝒙20×⋮⋮⎤⎥
⎥⎦⏟__⏟__⏟≡𝐴𝛀(4)
𝑭c
を消去
式(4)を式(3)に代入して
˙𝑿
を消去すると、
𝛀
が任意の値をとれることに注意して
𝐴T𝑭c=0
が成立する。従って、運動方程式(2)から
𝑭c
を消去するには、
𝐴T
を辺々左乗すればよい:
𝐴T𝑀¨𝑿=𝐴T𝑭(5)
自由な速度
˙𝛀
に対する方程式
この運動方程式(5)の
¨𝑿
に速度(4)を代入すれば、欲しかった
˙𝛀
に対する方程式が得られる:
𝐴T𝑀(𝑑𝑑𝑡𝐴𝛀)=𝐴T𝑭(6)
後は、
𝐴
の中身を実際に展開して、
˙𝛀=[⋯]
の形にするだけである(後述のように、実際にはこの形より式(9)の形のほうがきれいになる)。
【11.1-注1】 ˙𝑿 と 𝛀 の関係
質点要素の速度
˙𝑿
と自由な速度
𝛀
は、以下の関係で結ばれる:
˙𝑿≡⎡⎢
⎢⎣˙𝒙1˙𝒙2⋮⎤⎥
⎥⎦=⎡⎢
⎢⎣1−𝒙10×1−𝒙20×⋮⋮⎤⎥
⎥⎦⏟__⏟__⏟𝐴[˙𝒙0𝝎]⎡⎢
⎢⎣1−𝒙10×1−𝒙20×⋮⋮⎤⎥
⎥⎦⏟𝛀(7)
𝒙𝑖0=𝒙𝑖−𝒙0
。ベクトルのクロス
𝒙×
の定義は、第10章の【10.2-注2】。
導出
前章の10.2節で示したように、質点要素の速度
˙𝒙𝑖
は
˙𝒙𝑖=˙𝒙0+𝝎×𝒙𝑖0=[1−𝒙𝑖0×][˙𝒙0𝝎]⏟𝛀
である。これを式(7)の中辺に代入すれば、最右辺になる。
◼
11.1.2基準点を重心(8)に取った時の運動方程式:式(9)
運動方程式(6)に式(7)の
𝐴
を代入して、各項を計算していく。実際の計算を行うに当たって、任意にとれる剛体上の基準点
𝒙0
として、重心
𝒙g
を採用することにしよう:(
𝑚≡∑𝑚𝑖
は剛体の全質量)
𝒙0=𝒙g≡1𝑚∑𝑖𝑚𝑖𝒙𝑖(8)
その理由は、剛体内の拘束力は作用・反作用の法則を満たすので、重心の速度
˙𝒙g
が拘束力の影響を受けない(第6章の【6.2-注1】)からである。これにより、
˙𝒙g
は、拘束力の影響を受けず、外力だけに依存することになる。
式(8)のもとで、運動方程式(6)の
𝐴
を展開すると、以下の運動方程式が得られる:(
𝒙𝑖g=𝒙𝑖−𝒙g
)
𝑑𝑑𝑡(𝜇𝛀)=𝚽𝜇≡[𝑚00∑𝑖𝑚𝑖(|𝒙𝑖g|2−𝒙𝑖g𝒙T𝑖g)]𝚽≡[∑𝑖𝒇𝑖∑𝑖𝒙𝑖g×𝒇𝑖](9)
導出は以下の【11.1-注2】の通りである。上式は、外力
𝒇𝑖
だけを右辺に集めることを優先し、当初予定していた
˙𝛀=[⋯]
の形にはしていない。このおかげで、外力がない場合には、右辺がゼロになり、左辺の
𝜇𝛀
が保存することが分かる。なお、
𝜇
がブロック対角行列になっているのは、基準点を
𝒙0=𝒙g
としたおかげである。
【11.1-注2】運動方程式(6)の各項の計算
運動方程式(6)の左辺の微分を括り出したもの:
𝑑𝑑𝑡(𝐴T𝑀𝐴𝛀)−˙𝐴T𝑀𝐴𝛀=𝐴T𝑭
の各項を、式(7)の
𝐴
、および、
𝒙0=𝒙g
のもとで計算すると、以下のようになる:(
𝒙𝑖g=𝒙𝑖−𝒙g
)
𝜇≡𝐴T𝑀𝐴=[𝑚00∑𝑖𝑚𝑖(|𝒙𝑖g|2−𝒙𝑖g𝒙T𝑖g)]˙𝐴T𝑀𝐴𝛀=𝟎𝐴T𝑭=[∑𝑖𝒇𝑖∑𝑖𝒙𝑖g×𝒇𝑖]
導出
3つの式を1つずつ見ていく。
第1式
𝜇≡𝐴T𝑀𝐴=[11⋯𝒙1g×𝒙2g×⋯]⎡⎢
⎢⎣𝑚1𝑚2⋱⎤⎥
⎥⎦⎡⎢
⎢⎣1−𝒙1g×1−𝒙2g×⋮⋮⎤⎥
⎥⎦=[∑𝑖𝑚𝑖−∑𝑖𝑚𝑖𝒙𝑖g×∑𝑖𝑚𝑖𝒙𝑖g×−∑𝑖𝑚𝑖(𝒙𝑖g×)2]∣
∣
∣
∣
∣∑𝑖𝑚𝑖(𝒙𝑖g)=∑𝑖𝑚𝑖(𝒙𝑖−𝒙g)=𝑚𝒙g−𝑚𝒙g=𝟎(𝒙×)2=−|𝒙|2+𝒙𝒙T(第10章の【10.2-注2】)=[𝑚00∑𝑖𝑚𝑖(|𝒙𝑖g|2−𝒙𝑖g𝒙T𝑖g)]
(赤字部分がうまく消えるのは、重心を基準にとったからである。)
◼
第2式
˙𝐴T𝑀𝐴𝛀=˙𝐴T𝑀˙𝑿=[00⋯˙𝒙1g×˙𝒙2g×⋯]⎡⎢
⎢⎣𝑚1𝑚2⋱⎤⎥
⎥⎦⎡⎢
⎢⎣˙𝒙1˙𝒙2⋮⎤⎥
⎥⎦=∑𝑖𝑚𝑖˙𝒙𝑖g×˙𝒙𝑖∣
∣
∣
∣˙𝒙𝑖=˙𝒙𝑖g+˙𝒙gを代入して、˙𝒙𝑖g×˙𝒙𝑖g=𝟎を使う。=∑𝑖𝑚𝑖˙𝒙𝑖g⏟𝟎×˙𝒙𝑔=𝟎
(結果がゼロになるのは、重心を基準にとったからである。)
◼
第3式
𝐴T𝑭=[11⋯𝒙1g×𝒙2g×⋯]⎡⎢
⎢⎣𝒇1𝒇2⋮⎤⎥
⎥⎦=[∑𝑖𝒇𝑖∑𝑖𝒙𝑖g×𝒇𝑖]◼
11.1.3剛体の運動方程式(9)の分離:式(10)
得られた結果をまとめておこう。式(9)を、重心速度
˙𝒙g
に対するものと、角速度
𝝎
に対するものに分けて書くと、以下のようになる:
𝑚¨𝒙g≡𝒇𝑑𝑑𝑡(𝐼g𝝎)≡𝝉g⎫{
{⎬{
{⎭(10)
ただし、赤字部分の定義は以下である:
全質量:𝑚=∑𝑖𝑚𝑖外力の和:𝒇=∑𝑖𝒇𝑖慣性モーメント:𝐼g=∑𝑖𝑚𝑖(|𝒙𝑖g|2−𝒙𝑖g𝒙T𝑖g)トルク:𝝉g=∑𝑖𝒙𝑖g×𝒇𝑖(11)(12)
慣性モーメント
𝐼g
とトルク
𝝉g
に添え字
g
がついているのは、重心を基準にしていることを表している。式(10)の第2式より、外力(またはトルク
𝝉g
)がゼロの場合には
𝐼g𝝎
(角運動量という)が保存する。
式(10)の第1式を見ると、質点の運動方程式と同じ形になっている。即ち、重心
𝒙g
の時間変化を知るだけであれば、剛体に働く外力の和
𝒇
さえ分かればよく、物体の形状を考慮する必要はない。これまでも、キャッチボールや振り子を考える際、物体の形状を考慮してこなかったが、実際それでよかったわけである。
式(10)の第2式は、回転に関する運動方程式である。その性質について次の段落にまとめる。
11.1.4回転に関する運動方程式(10)の性質
- 簡単のため、慣性モーメント
𝐼g
がスカラー行列(=単位行列を実数倍したもの)になる場合(例えば球対称な剛体)を考える。この時、
𝐼g
の時間微分は、
˙𝐼g=0
となる(以下の【11.1-注3】)。従って、式(10)の第2式は
𝐼g˙𝝎=𝝉g
となり、第1式
𝑚¨𝒙g=𝒇
と同じ形である。質量
𝑚
が大きくなるほど速度を変化させづらくなるのと同様に、
𝐼g
は、大きくなるほど回転運動を変化させづらくなるような量(=回転の慣性を表す量)と見なせる。一方、トルク
𝝉g
は、物体を回転させようとする「力」のようなものということになる。
- 式(12)を見ると、トルク
𝝉g
が最大になるのは、重心方向と外力が直交する時であることが分かる。例えば、ボウリングのボールに力を加えて回転させる時、最も効率よく回転させることができるのは、球面に沿った方向に力を加える場合であることが直感的にわかる。実際この時、ちょうどトルクの大きさも最大になっている。逆に、ボールの重心に向かうような力がかかっている場合、トルクが
𝟎
になり、ボールの回転には影響しない。
- 慣性モーメント
𝐼g
がスカラー行列でない場合、式(10)の第2式を
˙𝝎=[⋯]
の形に変形すると、以下のようになる:(以下の【11.1-注3】を使った)
˙𝝎=𝐼−1g(𝝉g−𝝎×𝐼g𝝎)(13)
これからも分かるように、たとえ
𝝉g=𝟎
であっても、右辺第2項が残るので、一般には
˙𝝎≠𝟎
である。即ち、外力が働いていない場合であっても、回転軸(=
𝝎
の向き)は変化し得る。
- 全ての質点要素がある同一直線
𝐿
上に乗っている場合、
𝐼
の逆行列が存在しなくなる(
𝐿
に平行なベクトル
𝒍
に対して
𝐼g𝒍=𝟎
となる)。よって、運動方程式(13)は成立しなくなる。これは自然な結果である。というのも、全ての質点要素が
𝐿
上に乗っている場合、
𝐿
の周りの回転角度が意味をなさなくなるためである。逆に、質点要素が、平面的あるいは立体的に分布している場合には、
𝐼
は常に逆行列を持つ。
【11.1-注3】慣性モーメント 𝐼g の時間微分
慣性モーメント
𝐼g
の時間微分は、以下のようになる:
˙𝐼g=𝝎×𝐼g−𝐼g𝝎×(14)
導出
定義式(11)の微分を素直に計算すると以下のようになる:(見やすくするため
𝒙𝑖g
を
𝒙𝑖
と略記している)
˙𝐼g=𝑑𝑑𝑡∑𝑖𝑚𝑖(|𝒙𝑖|2−𝒙𝑖𝒙T𝑖)∣
∣
∣
∣
∣𝑑𝑑𝑡|𝒙𝑖|2=2𝒙T𝑖˙𝒙𝑖=2𝒙T𝑖𝝎×𝒙𝑖=0𝑑𝑑𝑡𝒙𝑖𝒙T𝑖=˙𝒙𝑖𝒙T𝑖+𝒙𝑖˙𝒙T𝑖=𝝎×𝒙𝑖𝒙T𝑖−𝒙𝑖𝒙T𝑖𝝎×=∑𝑖𝑚𝑖(−𝝎×𝒙𝑖𝒙T𝑖+𝒙𝑖𝒙T𝑖𝝎×)
一方、式(14)の右辺も変形すれば同じ結果になる:
𝝎×𝐼g−𝐼g𝝎×=𝝎×∑𝑖𝑚𝑖(|𝒙𝑖|2−𝒙𝑖𝒙T𝑖)=𝝎×−∑𝑖𝑚𝑖(|𝒙𝑖|2−𝒙𝑖𝒙T𝑖)𝝎×=∑𝑖𝑚𝑖(−𝝎×𝒙𝑖𝒙T𝑖+𝒙𝑖𝒙T𝑖𝝎×)◼
11.2剛体の運動の計算
運動方程式(10)を用いれば、重心速度
˙𝒙g
と角速度
𝝎
の時間変化が計算できることになる。しかし、初期値をどのように設定するかなど、はっきりさせるべき点がある。この節では、それら、実際の計算に必要な議論を行う。特に、見通しの良い1階の正規形に変形すると式(19)のようになる。
11.2.1剛体のモデリング
まず当然であるが、剛体の形状を定義する必要がある。剛体の形状は変化しないので、適当な位置・向きに配置し、その時の各質点要素
𝑚𝑖,̃𝒙𝑖
を与えてやれば十分である。これを剛体のモデル位置と呼ぶことにする。その後、このモデル位置での慣性モーメント
̃𝐼g
と重心
̃𝒙g
を、計算しておく(式(11)と式(8)に):
̃𝐼g=∑𝑖𝑚𝑖(∣̃𝒙𝑖g∣2−̃𝒙𝑖g̃𝒙T𝑖g)̃𝒙g=1𝑚∑𝑖𝑚𝑖̃𝒙𝑖⎫{
{
{⎬{
{
{⎭(15)
モデル位置は、
𝑡=0
における位置でなくとも、計算しやすいようにとればよい。例えば、
̃𝐼g
が対角行列になるようにとれる(以下の【11.2-注1】の式(17)のように、対角行列にすることは常に可能である)。モデル位置での剛体の向きが、
𝑡=0
での向きと異なる場合、回転行列
𝑅
の初期値は単位行列ではなくなる:
𝑅(0)≠1
。
任意の時刻における質点要素の座標
𝒙𝑖
を求めるには、重心
𝒙g
と回転行列
𝑅
が分かればよい:(前章の10.1節)
𝒙𝑖=𝒙g+𝑅(̃𝒙𝑖−̃𝒙g)(16)
よって、後は
𝒙g,𝑅
の時間変化を計算すれば、全ての質点要素
𝒙𝑖
の運動を計算できる、即ち、剛体の運動が計算できる。
【11.2-注1】慣性モーメントは対角化可能
どのような
̃𝐼
であっても、適当に回転させることによって、
𝐼
を以下のように対角化することができる:
𝐼=⎡⎢
⎢⎣𝐼1000𝐼2000𝐼3⎤⎥
⎥⎦(17)
対角成分
𝐼1,𝐼2,𝐼3
を主慣性モーメントという。逆に言えば、モデル位置をうまくとれば、
̃𝐼
を対角化することができる。
証明の概要
剛体を回転させた時の慣性モーメントの変化は、以下の【11.2-注2】で与えられる。一方、線形代数の定理により、「任意の実対称行列
𝐴
は、回転行列
𝑅
によって対角化できる(=
𝑅𝐴𝑅T
が対角行列になる)」ことが知られている。慣性モーメントは対称行列なのでこの定理が使えて、回転によって対角化できることが言える。
◼
【11.2-注2】慣性モーメントの性質
モデル位置での慣性モーメントが
̃𝐼g
である剛体が、回転行列
𝑅
だけ回転したとする。回転後の慣性モーメント
𝐼g
は以下のようになる:
𝐼g=𝑅̃𝐼g𝑅T(18)
導出
慣性モーメント
̃𝐼g,𝐼
の定義は
̃𝐼g=∑𝑖𝑚𝑖(∣̃𝒙𝑖g∣2−̃𝒙𝑖g̃𝒙T𝑖g)𝐼g=∑𝑖𝑚𝑖(|𝒙𝑖g|2−𝒙𝑖g𝒙T𝑖g)
である。これの第2式に式(16):
𝒙𝑖g=𝑅̃𝒙𝑖g
を代入して、同第1式をくくりだせば、式(18)が得られる(
𝑅𝑅T=1
を使う)。
11.2.2運動方程式(19)を解けば運動が求まる
上述の通り、剛体の運動を計算することは、重心位置
𝒙g(𝑡)
および回転行列
𝑅(𝑡)
の時間変化を計算することに他ならない。そのためには、運動方程式(10)を解けば良いわけだが、1階の微分方程式(第3章の【3.1-注1】)の形に変形しておくと見通しがよい:
𝑑𝑑𝑡⎡⎢
⎢
⎢
⎢⎣𝒙g˙𝒙g𝑅𝐼g𝝎⎤⎥
⎥
⎥
⎥⎦=⎡⎢
⎢
⎢
⎢⎣˙𝒙g𝑚−1𝒇𝝎×𝑅𝝉g⎤⎥
⎥
⎥
⎥⎦(19)
上2つが重心
𝒙g
に関するもの、下2つが回転
𝑅
に関するものである。第4成分は、角運動量
𝐼g𝝎
の微分での代わりに、角速度
𝝎
の微分(13)を用いてもよい。
後は、時刻
𝑡=0
における
[⋯]
部分の値を与えたうえで、1次近似から得られる漸化式:
[⋯]𝑡+𝛿𝑡≐[⋯]𝑡+𝑑𝑑𝑡[⋯]𝑡⋅𝛿𝑡(20)
を用いて、微小な時間幅
𝛿𝑡
ずつ時刻を進めていけば、任意の時刻
𝑡
の
[⋯]𝑡
が計算できる、即ち、
𝒙g(𝑡),𝑅(𝑡)
が求まる。これは第3章の【3.1-注1】で述べたオイラー法である。そこでも指摘した通り、式(20)は精度が低いので、実用上は誤差の少ない4次のルンゲ・クッタ法などを使う。
なお、式(20)の第4成分から、時刻
𝑡+𝛿𝑡
における角運動量
𝐼g𝝎
が決まるが、実際に必要なのは、同時刻の
𝝎
である。実際、漸化式(20)の次のステップで、第3成分の計算をする際に
𝝎
を使う。
𝝎
を求めるには慣性モーメント
𝐼g
が分かれば良いわけだが、【11.2-注2】により、
𝑅
とモデル座標での慣性モーメント
̃𝐼g
から計算できる。
式(19)では、
𝑅
の時間発展を計算対象としたが、
𝑅
の代わりに、第10章の10.3節で述べたオイラー角などの自由な座標
𝜽
を用いることもできる。その場合、同章の【10.3-注2】や【10.3-注3】に示した
𝝎
と
˙𝜽
の関係式を
˙𝜽=𝐴𝝎
と書くことにして、以下のようになる:
𝑑𝑑𝑡⎡⎢
⎢
⎢
⎢⎣𝒙g˙𝒙g𝜽𝐼g𝝎⎤⎥
⎥
⎥
⎥⎦=⎡⎢
⎢
⎢
⎢⎣˙𝒙g𝑚−1𝒇𝐴𝝎𝝉g⎤⎥
⎥
⎥
⎥⎦
𝜽
の初期値は任意の値をとることができる。
11.2.3【例題】重力は剛体の回転に影響しない
例として、外力として一様な重力のみが作用している場合を考える。この場合、外力の総和
𝒇
およびトルク
𝝉g
は、例外的に簡単になる:
𝒇=∑𝑖𝑚𝑖𝒈=𝑚𝒈𝝉g=∑𝑖𝒙𝑖g×𝑚𝑖𝒈=𝟎∵∑𝑖𝑚𝑖𝒙𝑖g=𝑚(𝒙g−𝒙g)=𝟎
よって、運動方程式(10)の第1式より、重心
𝒙g
の運動方程式は
𝑚¨𝒙g=𝑚𝒈
となり、第1章の質点のキャッチボールの場合と同じになる。また、回転部分については、同第2式よりトルクが発生しないので、重力は回転には影響しないことも分かる。
そこで、回転部分のみの着目して、外力が働いていない場合の運動について数値計算を行う。実際に計算を行うと、右図のようになる。