斜面を滑りながら転がる剛体球運動の計算アルゴリズム【HTML, WebGL】
滑らずに転がる剛体球に続いて、今回は「滑りながら転がる」剛体球の運動をシミュレーションするよ。滑らずに転がる剛体球には静止摩擦力が加わっていたのだけれども、滑りながら転がる剛体球には動摩擦力が加わるね。この2つの摩擦力のうちどちらが剛体球に働くかは次の条件で決まるよ。
静止摩擦力が働く条件
条件1:剛体球が接地面で滑っていない(剛体球の回転による接点の軌跡と重心移動距離が一致)
条件2:滑らないために必要な静止摩擦力が最大静止摩擦力よりも小さい
動摩擦力が働く条件
・静止摩擦力の条件を満たさない場合
最大静止摩擦力
いくら剛体球が接地面で滑っていない状態でも静止摩擦力には最大値があり、最大静止摩擦力と呼ばれるよ。最大静止摩擦力は接地面に加わる力(垂直抗力)に比例するので、その比例定数を$${\mu}$$(静止摩擦係数)として
$$
\boldsymbol{f}_{\mu}=\mu|\boldsymbol{S}| \,\hat{\boldsymbol{t}}
$$
と表されるね。$${\hat{\boldsymbol{t}}}$$は接地面の接線方向ベクトルだよ。滑っていない状態の剛体球が「滑らずに転がる」ために必要な摩擦力がこの最大摩擦力を下回った場合に、この「滑らずに転がる」ために必要な摩擦力が静止摩擦力として剛体球に加わることになるね。ここで言う「滑らずに転がる」ために必要な摩擦力は前回導出した
$$
\boldsymbol{f}=\frac{M}{1+\frac{Ma^2}{I}} \left[(\boldsymbol{g}\cdot \hat{\boldsymbol{n}})\, \hat{\boldsymbol{n}}-\boldsymbol{g}\right]
$$
だよ。
動摩擦力
剛体球が接地面で滑っている(回転運動と重心運動が一致しない)とき、剛体球には動摩擦力が加わわるね。この動摩擦力も接地面に加わる力(垂直抗力)に比例するので、その比例定数を$${\mu^*}$$(動摩擦係数)として
$$
\boldsymbol{f}_{\mu^*}=\mu^*|\boldsymbol{S}| \,\hat{\boldsymbol{t}}
$$
と表されるよ。$${\hat{\boldsymbol{t}}}$$は接地面の接線方向ベクトルで、滑りを抑制する方向となるね。ちなみに動摩擦係数と静止摩擦係数は接触する材質種類ごとによって大きく異なり、静止摩擦係数の方が動摩擦係数よりも必ず大きくなるね。
斜面を滑りながら転がる剛体球の計算アルゴリズム
斜面を滑りながら転がる剛体球の計算アルゴリズムの導出を行うよ。下図は滑りながら転がる剛体球に加わる力の模式図だよ。
剛体球が斜面を角速度$${\boldsymbol{\omega}}$$で回転しながら速度$${\boldsymbol{v}}$$で運動していることを想定しているよ。この状態で摩擦力がどのように働くかを考えるね。
静止摩擦力が働く条件と摩擦力
まず、静止摩擦力が働くための条件1を検証するために、回転運動が重心運動と一致しているかを判定する判別式$${\boldsymbol{D}}$$を定義するね。
$$
\boldsymbol{D} := \boldsymbol{v} - a\,\boldsymbol{\omega}\times \hat{\boldsymbol{n}}
$$
$${\boldsymbol{v} = d\boldsymbol{R}/dt}$$だよ。もし、回転運動と重心運動が一致していれば、この式で示した「滑らないで転がる」条件を満たすことになるので、$${\boldsymbol{D}=0}$$となります。ただし、数値計算の場合には厳密に$${0}$$とはならないので、微小量$${\delta}$$を用意して
$$
|\boldsymbol{D} |< \delta
$$
を満たすときに$${\boldsymbol{D}=0}$$を満たしていると見なすね。さらに静止摩擦力が働くための条件2は「滑らないで転がる」ために必要な摩擦力が最大静止摩擦力を下回ることだったね。両者とも摩擦力の向きは一致するので、絶対値の大小を比較することがわかるね。つまり、
$$
|\boldsymbol{f}|<|\boldsymbol{f}_{\mu}|
$$
を満たす場合に、滑らないで転がるために必要な摩擦力が静止摩擦力として剛体球に加わることになるよ。
動摩擦力が働く条件と摩擦力
重心運動と回転運動が不一致の場合に動摩擦力が働くね。動摩擦力の向きは$${\boldsymbol{D}}$$の逆向きなので、
$$
\boldsymbol{f}_{\mu^*} = -\mu^*|\boldsymbol{S}|\hat{\boldsymbol{D}}
$$
と表わすことができるね。
並進運動と回転運動の運動方程式
次の表式は前回に導出した斜面上の剛体球に対する運動方程式だね。条件に合わせて$${\boldsymbol{f}}$$に静止摩擦力か動摩擦力を与えるだけだよ。
$$
\frac{d^2\boldsymbol{R}}{dt^2} = \left[\boldsymbol{g} -(\boldsymbol{g}\cdot \hat{\boldsymbol{n}})\, \hat{\boldsymbol{n}}\right] +\boldsymbol{f}
$$
$$
\frac{d^2\boldsymbol{\theta}}{dt^2} = -\frac{a}{I}\, \hat{\boldsymbol{n}} \times \boldsymbol{f}
$$
シミュレーション結果
次のアニメーションは斜面に初速度$${\boldsymbol{v}_0=0}$$の状態で初角速度$${\boldsymbol{\omega}_0}$$のみを与えたときの結果だよ。剛体球ごとに動摩擦係数の値を変化させているよ。はじめは滑っているけれども、動摩擦力で回転がある程度遅くなった段階で、静止摩擦力に切り替わる様子がわかるね。
プログラムソース(HTML)
上記シミュレーションの計算と動画作成のプログラムソースを販売するよ。もし良かったら試してみてください。
ここから先は
¥ 500
この記事が気に入ったらチップで応援してみませんか?