曲がった床の上を、滑ったり転がったりしている剛体の運動を計算したい。剛体に課せられる拘束条件としては、「滑り拘束」(=摩擦なく滑る)と「転がり拘束」(=摩擦が働き、全く滑らずに転がる)を考える。
運動方程式(1)の拘束力 𝒇c と拘束トルク 𝝉cg を求めればよい
床の上の剛体の場合、拘束条件は、床との接点
𝒙c
に対して課せられる。
𝒙c
の位置は時々刻々変化するので、前章の固定点の議論は使えない。ではどうすべきだろうか。
運動方程式の導出の方針案
運動方程式を求めることが目的となるわけだが、そのための戦略として、以下の2種類が考えられる:
- 1つ目は、前章のように、自由な速度
𝛀
を求め、
𝛀
に対する運動方程式を立てる方法。
- 2つ目は、素の剛体の運動方程式(第11章の11.1.3節)に、拘束力の総和
𝒇c
と拘束トルク
𝝉cg
を加えたもの:(添え字
g
は重心を基準にしていることを表す)
𝑚¨𝒙g=𝒇+𝒇c𝑑𝑑𝑡(𝐼g𝝎)=𝝉g+𝝉cg⎫{
{⎬{
{⎭(1)
を用いる方法である。自由な速度を考えない代わりに、拘束力
𝒇c,𝝉cg
を書き下すことで、運動方程式を確定させる。
2つ目を採用する
床の上の運動では、拘束の対象となる接点
𝒙c
が変化するため、(自由な速度を見つける必要がある)1つ目の方法は難しそうである。よって、式(1)の拘束力を書き下すという、2つ目の方法を採用しよう。
「拘束条件から拘束力を求める公式」が欲しい
拘束力を書き下したいわけだが、考え方としては、「拘束条件を式で表せば、ダランベールの原理から拘束力が決まる」という、第8章の【8.2-注4】の導出をなぞることになる。ただし今回は、剛体という「拘束条件の塊」に、さらに拘束条件が課されるという多層構造になっているので、【8.2-注4】がそのまま使えるわけではない。よって、「拘束条件が追加された場合の拘束力の公式」を導出しておくのが良いだろう。加えて、後述するが、「拘束条件が
𝑮=𝟎
の形で描けない」という点も、これまでとは異なる。
この章の方針
最初に議論すべきは、1剛体に拘束条件が追加された場合の拘束力
𝒇c,𝝉cg
を求める一般公式の導出と、2実際に、床の上を運動する剛体に課せられた拘束条件の定式化である。これらが揃って初めて、実際の計算手順を議論できる。この章では、この方針に従って、以下のように4つの節に分けて議論する。13.1拘束条件が追加された剛体の運動方程式13.2剛体と床が接しているための条件13.3滑り拘束13.4転がり拘束
13.1拘束条件が追加された剛体の運動方程式
この節では、剛体に拘束条件を課した時の拘束力を一般的に求め、その場合の運動方程式(12)を導く。これにより、後の節で、滑り・転がりの場合の拘束条件を求めれば、運動方程式が確定する。
この節の表記法
形式的な計算を見やすくするため、第11章の11.1.2節のように、運動方程式(1)を以下のようにまとめておく:
𝑑𝑑𝑡(𝜇𝛀)=𝚽+𝚽c(2)
ただし、各々の記号は以下のように定義している:
𝜇≡[𝑚00𝐼g],𝛀≡[˙𝒙g𝝎],𝚽≡[𝒇𝝉g],𝚽c≡[𝒇c𝝉cg]
運動方程式を決めるためには、拘束力
𝚽c
を求めればよい。重心を基準にしていることに注意。
𝜇
などは
𝜇g
のように書いたほうがよいが、見づらいので略記している。
13.1.1剛体の速度 𝛀 に対する拘束条件の一般形:式(6)
まず、剛体の速度
𝛀
に対する拘束条件が、どのような形で与えられるかを考える。
「座標に対する拘束条件」を微分してみる:式(4)
一般に、座標
𝑿
に対する拘束条件の場合は
𝑮(𝑡,𝑿)=𝟎(3)
の形で与えられる。速度
˙𝑿
に対する条件は、これを
𝑡
で微分したもの:
𝜕𝑮𝜕𝑿˙𝑿+𝜕𝑮𝜕𝑡=𝟎(4)
である。
剛体の速度 𝛀 に対する拘束条件:式(6)
剛体の場合、
˙𝑿
は質点要素の速度であり、剛体の速度
𝛀
との関係式は、ある行列
𝐴
を用いて
˙𝑿=𝐴𝛀(5)
の形で書ける(第11章の【11.1-注1】)。そこで、この関係式を式(4)に代入すると、
𝛀
に対する拘束条件は、以下の形になる:
𝐵𝛀+𝒃=𝟎(6)
これが
𝛀
に対する拘束条件の一般系だと仮定しよう。
参考式(6)でしか表せない拘束条件がある
速度の拘束条件(6)は、座標の拘束条件(3)をもとに導いたが、この2つは等価ではない。即ち、式(3) → 式(6)は言えるが、その逆は言えない。詳しくはこの節の最後の【13.1-注3】で述べるが、例えば、転がり拘束の場合、拘束条件は速度の式(6)の形で書けるにもかかわらず、座標の式(3)の形にすることはできない(存在しない)。即ち、速度に対する拘束条件(6)は、座標のもの(3)よりも広いものとなっている。
13.1.2ダランベールの原理(9)により、運動方程式は式(12)
拘束条件(6)から拘束力
𝚽c
を導くには、ダランベールの原理を適用すればよい。
復習質点要素に対するダランベールの原理::式(7)
ダランベールの原理によると、質点要素が受ける拘束力
𝑭c
は、拘束面に接する全ての速度
˙𝑿
と垂直:
˙𝑿T𝑭c=0(7)
となるのだった(第8章の8.2.3節)。「拘束面に接する」と注釈した通り、式(7)の
˙𝑿
は、厳密には、仮想変位、即ち、拘束面の接空間内のベクトルである(第8章の8.2.4節)。拘束条件(4)で言えば、
˙𝑿
は、時間変化を表す0次の項を無視した
𝜕𝑮𝜕𝑿˙𝑿=𝟎
を満たすものである。
剛体に対するダランベールの原理:式(9)
式(7)は、「質点要素の拘束力と速度」の関係式なので、「剛体の拘束力
𝚽c
と速度
𝛀
」の関係式にしたい。まず、
𝑭c
と
𝚽c
の関係式は
𝚽c=𝐴T𝑭c(8)
である(第11章の【11.1-注2】)。式(7)に式(5)を代入して
˙𝑿
を消した後、式(8)を使って
𝑭c
も消せば、求めたい関係式が得られる:
𝛀T𝚽c=0(9)
ただし、この式の
𝛀
も仮想変位なので、
𝛀
が従うのは、拘束条件(6)そのものではなく、時間依存性を除いたものである(
𝒃=𝟎
としたもの):
𝐵𝛀=𝟎(10)
剛体の運動方程式:式(12)
(9)は、質点に対する式(7)と同じ形である。よって、拘束力を書き下す方法も第8章と同じである。実際に計算して、運動方程式の形で書き下すと、以下の【13.1-注1】のようになる。
【13.1-注1】拘束された剛体の運動方程式:式(12)
剛体に、速度
𝛀
に対する拘束条件
𝐵𝛀+𝒃=𝟎(11)
が課せられているとする。この時、剛体の運動方程式は以下のようになる:
𝑑𝑑𝑡(𝜇𝛀)=𝚽+𝚽c𝚽c≡𝐵T𝝀𝝀≡−(𝐵𝜇−1𝐵T)−1[˙𝐵𝛀+˙𝒃+𝐵𝜇−1(𝚽−˙𝜇𝛀)](12)(13)
なお、
˙𝜇𝛀
は以下のように書ける:(第11章の【11.1-注3】)
˙𝜇𝛀=[0𝝎×𝐼g𝝎]
導出
導出の流れは、第8章の【8.2-注4】と同じである。
1拘束力
𝚽c
の書き換え:式(14)
式(10)を満たす全ての速度
𝛀
に対して、拘束力
𝚽c
は式(9)を満たすのだから、拘束力
𝚽c
は、未知の係数
𝝀
を用いて、以下のように書ける(第8章の【8.2-注3】):
𝚽c=𝐵𝝀(14)
2係数
𝝀
を決める
𝝀
を決めるには、運動方程式(2)と拘束条件(6)を連立すればよい。まず、運動方程式(2)に式(14)を代入し、左辺の時間微分を実行しておく:
˙𝜇𝛀+𝜇˙𝛀=𝚽+𝐵T𝝀∴˙𝛀=𝜇−1(𝚽+𝐵T𝝀−˙𝜇𝛀)
𝝀
を求めるには、
˙𝛀
を消せばよいので、拘束条件(11)の時間微分:
˙𝐵𝛀+𝐵˙𝛀+˙𝒃=𝟎
に代入してやる。後は、その式を
𝝀=[⋯]
の形に変形すれば、式(13)になる。
◼
13.1.3参考初期値は、配置に対する拘束条件も満たすようにとる
式(12)によって運動方程が確定したら、後は、初期値を与えてやることで運動が計算できる。初期値は、拘束条件を満たす必要があるが、厄介な点がある。初期値さえ拘束条件を満たしていれば、その後の運動方程式(12)の解は、自動的に拘束条件を満たし続ける。(そうなるように式(13)の
𝝀
を求めた。)
「配置の拘束条件」も考慮する必要がある
まず、
𝑡=0
における初期速度
𝛀
は、もちろん拘束条件(11)を満たさなければならない。これに加えて、一般には、剛体の配置(位置
𝒙g
と向き
𝜽
)にも拘束条件が課される(例えば床に接しているという条件)。従って、
𝑡=0
における初期配置
𝒙g,𝜽
についても、拘束条件を考慮する必要がある。
「配置の拘束条件」は減ることがある
もし、拘束条件が、速度
𝛀
を含まない関係式
𝑮(𝑡,𝒙g,𝜽)=𝟎
の形に書けたならば、初期値が満たすべき拘束条件は、第8章のように、
𝑮=˙𝑮=𝟎
である。その場合、拘束条件(11)は
˙𝑮=𝟎
と等価である。問題なのは、式(11)に対応する
𝑮
が常に存在するとは限らないということである。
𝑮
が存在しない場合、拘束条件(11)は非可積分であるという(以下の【13.1-注2】)。非可積分な拘束条件を含む場合、配置
𝒙g,𝜽
に対する条件は、速度
𝛀
に対する条件(11)よりも少なくなる。
まとめ:初期値の取り方
従って、速度の式(11)として拘束条件が与えられている場合、正しい初期値を与えるためには、配置に対する拘束条件
𝑮=𝟎
も特定する必要がある。ただし、
𝑮
の要素数は、式(11)の本数より少ないことがある。そのうえで、初期値は、式(11)と
𝑮=𝟎
を満たすようにとればよい。
𝑮
は物理的に決まることが多い。例えば、以下の13.4節で述べるように、転がり拘束は非可積分だが、「床に接する」という条件が
𝑮=𝟎
に対応する。
【13.1-注2】拘束条件の可積分性
微分形の拘束条件:
𝐵˙𝑿+𝒃=𝟎(15)
が、何らかの拘束条件
𝑮=𝟎
の時間微分:
˙𝑮=𝟎(16)
で表せる時、式(15)は可積分(あるいはホロノミック)であるという。逆に、
𝑮
が存在しない場合、非可積分(あるいは非ホロノミック)であるという。
𝐵,𝒃,𝑮
は
(𝑡,𝑿)
の関数である。
補足
可積分な例
例えば、
ˆ𝒙T˙𝒙=𝟎
という拘束条件は、
𝑑𝑑𝑡(|𝒙|−𝑙)=𝟎
と書けるので、可積分である。これは、原点からの距離
𝑙
が一定という拘束条件である。
𝑙
は、問題設定の中で与えられているはずである。
非可積分な例
「転がり拘束」は非可積分である。床の上を転がるボールを考えると、運動の自由度は、「
𝑧
軸周りのスピン」と「前後/左右に転がす操作」の3自由度である。よって、もし、転がり拘束が可積分であれば、3つの拘束条件(剛体の自由度
6
-自由度
3
)
𝐺1=𝐺2=𝐺3=0
が存在し、ボールの配置の
6
自由度(位置
𝒙g
と角度
𝜽
)のうち、自由に決められるのは
3
成分のみとなる。しかし、これは現実と矛盾する。実際、実験してみるとすぐ分かるが、ボールをうまく転がしてやることで、床の上の任意の位置に(=2自由度)、任意の向きで(=3自由度)配置することができる。即ち、配置の自由度は5であり、運動(速度)の3自由度より大きくなる。よって、可積分ではありえない。
𝑮
を数学的に求めるのは難しい
可積分の場合には、式(16)を満たす
𝑮
を特定したくなるが、単純に、式(15)と式(16)の左辺同士を見比べて
˙𝑮=𝐵˙𝑿+𝒃
となる
𝑮
を探せばよいというわけではない。というのも、拘束条件(15)には、逆行列を持つ任意の行列値関数
𝑓(𝑡,𝑿)
を両辺に掛ける自由度があるからである。従って、解くべきは
˙𝑮=𝑓(𝑡,𝑿)(𝐵˙𝑿+𝒃)(17)
である。この
𝑓(𝑡,𝑿)
も考慮する必要があるので、
𝑮
を数学的に特定するのは難易度が高い。ただし、可積分かどうかの判定自体は、第15章の15.3節で述べるフロベニウスの定理を使えば、比較的容易である。
13.2剛体と床が接しているための条件
拘束条件から運動方程式を決める公式が得られた(前節の式(12))。この節では、次のステップとして、剛体と床が接触し続けるための、(剛体の速度
˙𝒙g,𝝎
に対する)拘束条件(24)を導く。滑り拘束と転がり拘束は両方とも、この条件を満たさなければならない。なお、簡単のため、床と剛体は1点でのみ接しているとする。
13.2.1モデリング:時刻 𝑡 での剛体の形状は式(21)
まず準備として、床の形状を
𝐺≤0
、剛体の形状を
𝐻≤0
で表す。
床の形状の定義:式(18)
床の形状を
𝐺(𝑡,𝒙)≤0(18)
で表すことにする(右図)。即ち、これを満たす
𝒙
の集合が床を構成する。
𝑡
に依存しているように書いているのは、時間とともに床が変形してもよいことを表している。
剛体の形状の定義:式(19)
また、モデル配置における剛体の形状を
˜𝐻(𝒙)≤0(19)
で表すことにする(右図)。モデル配置は任意であり、床と接触するようにとる必要はない。
任意の配置での剛体の形状:式(20), (21)
任意の時刻
𝑡
での剛体の形状も
𝐻(𝑡,𝒙)≤0(20)
で表す。
𝐻(𝑡,𝒙)
は、剛体の配置(重心位置
𝒙g
、回転行列
𝑅
)と、モデル位置での形状
˜𝐻
を用いて、以下のように書ける:
𝐻(𝑡,𝒙)=˜𝐻(𝑅T(𝒙−𝒙g)+˜𝒙g)(21)
˜𝒙g
は、モデル位置での剛体の重心である。
𝐻
が時刻
𝑡
に依存しているのは、剛体の運動によって配置
𝒙g,𝑅
が変化するためであり、剛体自体が変形するわけではない。式(21)の導出モデル位置での質点要素
˜𝒙𝑖
が満たす式
˜𝐻(˜𝒙𝑖)≤0
に、時刻
𝑡
での質点要素の位置
𝒙𝑖=𝒙g+𝑅(˜𝒙𝑖−˜𝒙g)
を使って、
˜𝒙𝑖
を消去すればよい(回転行列の性質
𝑅−1=𝑅T
を使う)。
◼
13.2.2剛体の配置 𝒙g,𝑅 に対する拘束条件:式(22)
それでは、この節の目的である、剛体と床が接触しているための条件を考えよう。
床と剛体の接触条件:式(22)
剛体と床の接触点を
𝒙c
とおく(右図)。
𝒙c
が満たす条件は、「
𝒙c
が剛体と床の両方の表面にあり、かつその点での接平面が一致する」ことなので、以下のように書ける:
𝐺=0𝐻=0ˆ∇𝐺+ˆ∇𝐻=𝟎⎫{
{⎬{
{⎭(22)
𝐺,𝐻
は、ともに
(𝑡,𝒙c)
での値。
ˆ∇𝐺
は
∇𝐺
の大きさを正規化したものである(
ˆ∇𝐻
についても同様)。
∇𝐺,∇𝐻
はそれぞれ
𝐺,𝐻
が大きくなる方向を向くので、右図のように互いに逆を向くことに注意。また、これ以降、床と剛体の接触点は、1点のみと仮定する。
剛体に対する拘束条件は、1つのみ
式(22)の第3式は、
3
成分であるが、実際には
2
つの条件しか与えない。
∇𝐺,∇𝐻
の一方が与えられた時に、他方の向き(=2自由度)を決めるための条件だからである。よって、式(22)は全体として
4
つの条件を与える。これら全てが拘束条件になるわけではなく、
𝒙c
の3成分を決定するために
3
つの条件を消費する。よって、剛体に対する拘束条件の数は、残りの
4−3=1
つとなる。例えば、水平な床の上の球を考えると、拘束条件は球の高さを固定する
1
つだけであり、水平方向や回転方向は自由に動ける。その
1
つが、式(21)を通して剛体の位置・向き
𝒙g,𝑅
に対する拘束条件を与える。
13.2.3剛体の速度 𝛀 に対する拘束条件:式(25)
運動方程式を導くには、剛体の速度
𝛀
に対する拘束条件(11)が必要である。よって、式(22)を微分して、
𝛀
に対する条件にしたい。
拘束条件の時間微分:式(23)
実際に式(22)を時間微分すると以下のようになる:(接触点
𝒙c
も時間依存することに注意)
𝜕𝐺𝜕𝑡+(∇𝐺)T˙𝒙c=0𝜕𝐻𝜕𝑡+(∇𝐻)T˙𝒙c=0(𝜕ˆ∇𝐺𝜕𝑡+𝜕ˆ∇𝐻𝜕𝑡)+(𝜕ˆ∇𝐺𝜕𝒙+𝜕ˆ∇𝐻𝜕𝒙)˙𝒙c=𝟎⎫{
{
{
{
{⎬{
{
{
{
{⎭(23)
𝐻
の時間微分には剛体の速度
𝛀
が含まれているので、
𝛀
に対する拘束条件になっている。式(22)の場合と同様に、式(23)は、「
𝛀
に対する1つの条件」と「接触点の速度
˙𝒙c
に対する3つの条件」が合わさったものである。なお、上述の通り、
𝐺
の時間依存性は「床の移動・変形」によるもの、
𝐻
の時間依存性は「剛体の配置
𝒙g,𝑅
の時間変化」によるものである。微分公式式(23)の導出は、以下の微分公式を各項に使うだけである:
𝑑𝑑𝑡𝑽(𝑡,𝒙(𝑡))=𝜕𝑽𝜕𝑡+𝜕𝑽𝜕𝒙˙𝒙
剛体の速度 𝛀 に対する拘束条件を分離する:式(25)
運動方程式を得るためには、拘束条件を式(11)(
𝐵𝛀+𝒃=𝟎
)の形にする必要がある。そのために、上式(23)から、剛体の
𝛀
に対する拘束条件を分離したい。
˙𝒙c
を消去すればよいのだが、これは簡単で
式(23)の第1式|∇𝐺|+同第2式|∇𝐻|
に、式(22)の第3式を代入すればよい:
1|∇𝐺|𝜕𝐺𝜕𝑡+1|∇𝐻|𝜕𝐻𝜕𝑡=0(24)
これが
𝛀
に対する拘束条件であり、実際に式(11)の形に変形すると、以下の【13.2-注1】の式(25)のようになる。
【13.2-注1】床との接触条件
床と剛体が接触し続けている時、剛体の速度
𝛀
に対する拘束条件は、以下のようになる:
𝐵𝛀+𝑏=0𝐵≡(∇𝐺)T[1−(𝒙c−𝒙g)×]𝑏≡𝜕𝐺𝜕𝑡⎫{
{
{⎬{
{
{⎭(25)
床の形状は
𝐺(𝑡,𝒙)≤0
で与えられ、
𝒙c
は剛体と床の接触点である。特に、床が静止している場合(
𝑏=0
)、この式は、接触点
𝒙c
における「剛体の質点要素の速度
[⋯]𝛀
」が、
∇𝐺
と垂直、即ち、拘束面と平行になっていることを意味しており、直感的にも自然である(そうでなかったら、めり込んだり離れたりしてしまう)。
導出
速度
𝛀
に対する拘束条件(24):(再掲)
1|∇𝐺|𝜕𝐺𝜕𝑡+1|∇𝐻|𝜕𝐻𝜕𝑡=0(26)
から式(25)を導くには、
𝜕𝐻𝜕𝑡
に含まれている
𝛀
を括りだせばよい。
𝜕𝐻/𝜕𝑡 の計算:式(30)
そのためには、
𝐻
とモデル形状
˜𝐻
の関係式(21):(再掲)
𝐻(𝑡,𝒙)≡˜𝐻(𝑅T(𝒙−𝒙g)+˜𝒙g⏟___⏟___⏟≡˜𝒙)(27)
を使えばよい。
𝑅,𝒙g
の時間微分が
𝛀
に対応する。この式(27)の両辺の
𝑡
微分および
𝒙
微分を取ると、それぞれ以下のようになる:(
𝜕𝜕𝑡
が
𝑅,𝒙g
だけに作用することに注意)
𝜕𝐻𝜕𝑡=𝑑˜𝐻𝑑˜𝒙𝜕˜𝒙𝜕𝑡∣
∣
∣
∣
∣
∣
∣𝜕˜𝒙𝜕𝑡=𝜕𝜕𝑡[𝑅T(𝒙−𝒙g)+˜𝒙g]=˙𝑅T(𝒙−𝒙g)+𝑅T(𝟎−˙𝒙g)+𝟎=−𝑅T[𝝎×(𝒙−𝒙g)+˙𝒙g]∵˙𝑅=𝝎×𝑅=−𝑅T[1−(𝒙−𝒙g)×]𝛀∵𝛀≡[˙𝒙g𝝎]=−𝑑˜𝐻𝑑˜𝒙𝑅T[1−(𝒙−𝒙g)×]𝛀𝜕𝐻𝜕𝒙≡(∇𝐻)T=𝑑˜𝐻𝑑˜𝒙𝜕˜𝒙𝜕𝒙⏟𝑅T(28)(29)
後は、第1式に、第2式を代入して
˜𝐻
部分を消去すると以下を得る:
𝜕𝐻𝜕𝑡=−(∇𝐻)T[1−(𝒙−𝒙g)×]𝛀(30)
式の取りまとめ
後は、式(30)を式(26)に代入すれば、与式が得られる。ただし、式(30)の
𝒙
は
𝒙c
で置き換えておく。また、式(22)の第3式
ˆ∇𝐺+ˆ∇𝐻=𝟎
を使って、
∇𝐻
を消去して、
𝐺
に関する項で統一する。
◼
13.2.4参考接触点 𝒙c の速度 ˙𝒙c :式(32)
条件式(23)は、接触点の速度
˙𝒙c
を決める式でもある。これを実際に求めよう。
拘束条件(23)の第3式に着目する → 条件が足りない
同式の第3式:(再掲)
(𝜕ˆ∇𝐺𝜕𝑡+𝜕ˆ∇𝐻𝜕𝑡)+(𝜕ˆ∇𝐺𝜕𝒙+𝜕ˆ∇𝐻𝜕𝒙)˙𝒙c=𝟎(31)
は3成分の式なので、逆行列をかけて
˙𝒙c=[⋯]
の形に変形できればよいが、それはできない。なぜなら、
(⋯)
部分は、単位ベクトル
ˆ∇𝐺,ˆ∇𝐻
の微分の性質(第8章の【8.3-注1】)により、拘束面への射影行列を含むからである。(単位行列以外の)射影行列は逆行列を持たない。実際、行列
𝑃
が逆行列を持つと仮定して、射影行列であるための条件
𝑃2=𝑃
に、
𝑃−1
を辺々かければ
𝑃=1
となる。
残りの拘束条件も使って、式(31)が解けるようにしたい
よって、
˙𝒙c
を求めるには、式(31)だけではだめで、条件式(23)の残りの式も使う必要がある。方針としては、式(31)に適当な項を加えて、係数行列
(⋯)
が逆行列を持つようにすればよい。上述の通り、
(⋯)
は「拘束面への射影行列」を含むのだから、逆行列を持たせるには、「拘束面の垂線方向(=
∇𝐺
方向)への射影行列」に比例する項を加えればよさそうである。
∇𝐺 方向の条件を加えれば解ける:式(32)
式(23)の第1式に着目すると、これは「
˙𝒙c
の
∇𝐺
方向成分を決める式」になっている。よって、射影行列の形に変形でき、実際、
∇𝐺
を辺々かければ以下をのようになる:
𝜕𝐺𝜕𝑡∇𝐺+∇𝐺(∇𝐺)T˙𝒙c=0
後は、これを式(31)に辺々加えればよい:
(𝜕ˆ∇𝐺𝜕𝒙+𝜕ˆ∇𝐻𝜕𝒙+∇𝐺(∇𝐺)T)˙𝒙c=−(𝜕ˆ∇𝐺𝜕𝑡+𝜕ˆ∇𝐻𝜕𝑡+𝜕𝐺𝜕𝑡∇𝐺)
新たな係数行列
(⋯)
は逆行列を持つので、
˙𝒙c
について解ける:
˙𝒙c=−𝐾−1(𝜕ˆ∇𝐺𝜕𝑡+𝜕ˆ∇𝐻𝜕𝑡+𝜕𝐺𝜕𝑡∇𝐺)𝐾≡(⋯)=𝜕ˆ∇𝐺𝜕𝒙+𝜕ˆ∇𝐻𝜕𝒙+∇𝐺(∇𝐺)T(32)(33)
以上により、条件式(23)を、「速度
𝛀
に対する1つの拘束条件(25)」と「
˙𝒙c
を与える3成分の式(32)」に過不足なく分離することができた。
𝐾
が逆行列を持つこと任意のゼロでないベクトル
𝛿𝒙≠𝟎
に対して、
𝐾𝛿𝒙≠𝟎
となることを言えばよい。まず、
𝐾𝛿𝒙
において、式(33)の第1, 2項がかかる部分は「拘束面に平行」になり、第3項がかかる部分は「拘束面に垂直」になる。1
𝛿𝒙
が拘束面に垂直な(=
∇𝐺
方向の)成分を持つとき、この第3項のため、
𝐾𝛿𝒙
は必ず
∇𝐺
方向の成分を持つ。2残るは、
𝛿𝒙
が拘束面に平行な場合だが、剛体と床の曲率は異なるので、(剛体と床の垂線方向の差異を表す)第1, 2項がかかる部分はゼロにならない。
◼
13.3滑り拘束
この節では、「滑り拘束」に対する運動方程式の解き方をまとめる。前述のように、今考えているのは、常に1点で接触している状況である。接触点が複数ある場合、あるいは運動の途中で増える場合(衝突運動になることが多いだろう)は考慮していない。逆に、接触点が減る場合も扱えない。例えば、本来であれば空中に飛び上がってしまうような場合でも、床から離れないようにする拘束力が働いて、床にくっついたままになる。
13.3.1滑り運動の計算方法
数値的に計算する方法をまとめると、以下のようになる:
1運動方程式を確定させる
剛体が床の上を滑るという拘束条件は、剛体と床が接触しているという前節の式(25)そのものである。よって、式(25)の
𝐵,𝑏
を使って、運動方程式(12)が確定する。
2モデリング
床の形状
𝐺(𝑡,𝒙)
と、モデル配置での剛体の形状
˜𝐻(𝒙)
を定義する。
3初期値を設定する
𝑡=0
での初期値を与える。初期配置
𝒙g,𝑅
については、拘束条件(22)を満たす接触点
𝒙c
が存在するようにとる。初期速度
˙𝒙g,𝛀
については、拘束条件(25)を満たすようにをとる。
4運動方程式を解く
その後の運動は、運動方程式(12)から計算できる。その解き方は、第11章の11.2.2節と同じである。ただし、式(12)の拘束力
𝚽c
を確定させるために、接触点
𝒙c
を計算ステップごとに求める必要がある。
𝒙c
は、
𝒙g,𝑅
から直接計算することも原理的には可能であるが、ステップごとに計算するのは大変である。これを回避するには、式(32)から決まる
˙𝒙c
を用いて、
𝒙c
の時間変化を並行して計算していけば良い:
𝒙c(𝑡+𝛿𝑡)≐𝒙c+˙𝒙c𝛿𝑡
13.3.2例題曲面上を滑る楕円体
例として、楕円体の剛体(=球を
𝑥,𝑦,𝑧
方向につぶしたもの):
˜𝐻(𝒙)≡𝑥2𝑎2+𝑦2𝑏2+𝑧2𝑐2−1(34)
を取りあげる(
𝑎,𝑏,𝑐
は定数)。密度は一様とする。
慣性モーメント:式(35)
このモデル配置(34)での慣性モーメント
˜𝐼g
は、剛体を質点要素に分解して数値的に近似計算してもよいが、今の場合には解析的に計算することができ、以下のようになる:
˜𝐼g=𝑚5⎡⎢
⎢
⎢⎣𝑏2+𝑐2𝑐2+𝑎2𝑎2+𝑏2⎤⎥
⎥
⎥⎦(35)
𝑚
は剛体の質量である。(導出は第14章で行う。)
数値シミュレーション
数値計算を行うと右図のようになる。床は静止している。
13.4転がり拘束
この節では、「転がり拘束」での拘束条件(36)を導く。
13.4.1転がり運動の拘束条件:式(36)
滑らないということは、接触点
𝒙c
において、剛体と床が相対速度を持っていないということである。即ち、「
𝒙c
に位置している剛体上の質点要素
𝒙c,𝐻
」の速度
˙𝒙c,𝐻
:
˙𝒙c,𝐻=˙𝒙g+𝝎×(𝒙c−𝒙g)
と「
𝒙c
に位置している拘束面上の点
𝒙c,𝐺
」の速度
˙𝒙c,𝐺
が等しいということである:
˙𝒙c,𝐻≡˙𝒙g+𝝎×(𝒙c−𝒙g)=˙𝒙c,𝐺
これを、式(11)の形に変形すると、転がり運動の拘束条件が得られる:
𝐵𝛀+𝒃=𝟎𝐵≡[1−(𝒙c−𝒙g)×]𝒃≡−˙𝒙c,𝐺⎫{
{⎬{
{⎭(36)
˙𝒙c,𝐺
は別途与える必要がある床が静止している場合には、
˙𝒙c,𝐺=𝟎
である。そうでない場合、
˙𝒙c,𝐺
を決めるためには、床の上の各点の速度が必要となる。床の形状の定義式
𝐺≤0
にこの情報は含まれているが、動く壁との衝突(第5章の5.2節)の際にも述べたように、この定義式の中には、床と平行な方向の速度成分の情報が含まれていない。そのため、追加でその情報を与えてやる必要がある。滑り拘束を含んでいる拘束条件(36)は、滑り運動の拘束条件(25)を含んでいる。実際、式(36)の両辺に
∇𝐺T
を左乗すると式(25)に一致する。右辺の一致が分かりづらいかもしれないが、
𝐺(𝑡,𝒙c,𝐺)=0
の時間微分:
𝜕𝐺𝜕𝑡+𝜕𝐺𝜕𝒙˙𝒙c,𝐺=0
に着目すれば明らかである。
13.4.2転がり運動の計算方法
転がり拘束がある場合の計算方法は、滑り拘束の場合(13.3.1節)と基本的に同じである。ここでは、滑り拘束とは異なる個所を強調して説明する。
1運動方程式を確定させる
滑り拘束の場合と同様だが、
𝐵,𝑏
として、式(36)のものを使う。
2モデリング
滑り拘束の場合と同じ。
3初期値を設定する
初期配置に対する拘束条件は、床と剛体が接していることのみなので、滑り拘束の場合と同じである。一方、初期速度については拘束条件(36)の3成分すべてが成り立つ必要がある。配置に対する条件より、速度に対する条件のほうが多いので、上述の通り、転がり拘束は非可積分(【13.1-注2】)であることが分かる。
4運動方程式を解く
滑り拘束の場合と同じ。
13.4.3例題曲面上を転がる楕円体
前節と同じ楕円体形状の剛体の場合、数値計算を行うと右図のようになる。床は静止している。