ω_spring = — rad/s
ω_pendulum = — rad/s
比 = —(≈2で共振)
運動方程式
$$\ddot{r}= r\dot{\theta}^2 - g\cos\theta + \frac{k}{m}(L_0 - r)$$ $$\ddot{\theta}= \frac{-g\sin\theta - 2\dot{r}\dot{\theta}}{r}$$ RK4数値積分 dt=0.001s色付きトレイル:過去600点の軌跡。速さが速いほど明るい色で表示。
バネの伸縮と振れが連成する非線形系をRK4積分でリアルタイム可視化。パラメトリック共振からカオスまで、エネルギー移動の不思議を体感しよう。
色付きトレイル:過去600点の軌跡。速さが速いほど明るい色で表示。
バネ振り子の運動は、バネ方向(半径方向)の伸縮と、それに垂直な角度方向の回転の、2つの自由度で記述されます。それぞれの方向の加速度($\ddot{r}$, $\ddot{\theta}$)を求める運動方程式は以下の通りです。
$$\ddot{r}= r\dot{\theta}^2 - g\cos\theta + \frac{k}{m}(L_0 - r)$$$r$: バネの長さ [m]
$\dot{\theta}$: 角速度 [rad/s](振り子の揺れる速さ)
$g$: 重力加速度 [m/s²]
$\theta$: 振れ角 [rad]
$k$: バネ定数 [N/m]
$m$: おもりの質量 [kg]
$L_0$: バネの自然長 [m]
右辺第一項 $r\dot{\theta}^2$ は遠心力、第二項 $-g\cos\theta$ は重力の半径方向成分、第三項 $\frac{k}{m}(L_0 - r)$ はフックの法則に基づくバネの復元力です。
角度方向の回転運動を記述する方程式です。単純振り子の式に、バネの伸縮速度($\dot{r}$)の影響を加えた形になっています。
$$\ddot{\theta}= \frac{-g\sin\theta - 2\dot{r}\dot{\theta}}{r}$$$\ddot{\theta}$: 角加速度 [rad/s²]
$\dot{r}$: バネの伸縮速度 [m/s]
右辺の分子 $-g\sin\theta$ は重力によるトルク、$-2\dot{r}\dot{\theta}$ はコリオリ力に相当する項です。分母の $r$ があるため、バネが伸びると($r$が大きくなると)角加速度は小さくなります。これらの式は連成しているため、解析的に解くのは難しく、シミュレーターではRK4(4次ルンゲ・クッタ)法という数値積分手法で解いています。
柔軟ロボットアーム:産業用ロボットアームを軽量化・高速化するため、アーム自体にある程度の柔軟性(弾性)を持たせることがあります。このような「柔軟リンクロボット」の動的挙動を解析する際、バネ振り子のモデルが基礎となります。伸縮と回転の連成振動を制御しないと、定位精度が落ちてしまいます。
ケーブル・ワイヤー構造物:クレーンのワイヤーで吊り下げられた荷物や、海底ケーブルなどは、バネ振り子と同様に伸縮振動と揺れ振動が連成します。特に船舶からの荷役作業では、この複合振動による荷物の不安定な動き(スイング)を抑制する制御技術が重要です。
原子間力顕微鏡(AFM)のカンチレバー:試料表面を走査する探針を支える薄い板(カンチレバー)は、一種の振り子としてモデル化できます。ここに探針と試料間の分子間力がバネのように働くため、その動的応答を理解する上でバネ振り子の理論が応用されます。
構造物の耐震設計:高層ビルや橋梁は、地震時に複雑な振動モードを示します。特に、塔部(バネに相当)の縦振動と、上部構造(振り子に相当)の横揺れが連成してエネルギーを交換する挙動は、バネ振り子のモデルでその一端を理解することができます。
まず、「バネが柔らかいほど振り子の動きが遅くなる」と思いがちですが、実はそう単純ではありません。確かにバネ定数kを小さくするとバネの伸縮はゆっくりになりますが、振り子の揺れの周期は主に初期の長さで決まります。kを極端に小さくして「グニャグニャ」状態にすると、伸縮と揺れが強く連成し、一見不規則な動きに見えることがあります。これは動きが遅いのではなく、複雑になっているのです。
次に、パラメータ設定時の落とし穴です。「自然長L0」と「初期長さr0」を混同しないでください。シミュレーション開始時のバネの長さはr0です。例えば、L0=1.0m、r0=1.5mと設定すると、最初からバネが0.5m伸びた状態で静止することになります。この状態からそっと手を離す(初速度ゼロ)と、おもりは真下に落ちながら振り子運動を始める、という予想外の動きになります。意図した初期状態を作りたいなら、r0とL0の関係を意識しましょう。
最後に、シミュレーション結果の解釈です。エネルギー保存則は、減衰項がない理想系では常に成り立ちますが、バネのエネルギーと振り子のエネルギーは保存「されない」という点が重要です。両者が時間とともに盛んにやり取りする(交換する)のが本質です。グラフでエネルギーの内訳が激しく変動していても、総和が一定ならばシミュレーションは正しく動作しています。エネルギーが完全に一方に偏った状態から動き始めることは、現実ではほぼありえません。
このバネ振り子のシミュレーションで扱っている「2自由度の連成振動」と「非線形動力学」の考え方は、様々な先端工学分野に直結しています。例えば、自動車や建物の「免震・制振装置」の設計です。建物(質量)をバネとダンパーで支える基礎隔震は、一次元的なバネ振り子モデルを発展させたもの。さらに風や地震で建物が揺れる(振り子運動)と、免震装置のバネやダンパーが動き(伸縮運動)、エネルギーを吸収・分散します。まさに連成振動の応用です。
もう一つの重要な応用は、航空宇宙分野における「スピン安定性の解析」や「燃料スロッシング(液面振動)」の問題です。ロケットの機体(振り子)の回転運動と、タンク内の液体燃料のスロッシング(バネ的な往復運動)が連成すると、予期せぬ不安定振動(パラメトリック共振に類似)を引き起こす危険があります。このシミュレーターでkやmを変えて複雑な軌道が生まれるのを観察することは、そのような危険な連成モードをイメージする訓練になります。
さらに微視的な世界では、分子動力学シミュレーションにおける「原子間ポテンシャル」のモデル化にも通じます。二原子分子では、原子間の結合がバネ(調和振動子近似)のように振る舞い、分子全体として回転(振り子運動)します。バネ振り子の運動方程式は、このような分子の振動-回転スペクトルを理解するための初歩的なモデルと言えるでしょう。
このシミュレーターに慣れたら、次のステップとして「相平面図」や「ポアンカレ写像」の概念を学ぶことを強くお勧めします。今は時間経過による軌道を見ていますが、横軸を位置(rやθ)、縦軸を速度($\dot{r}$や$\dot{\theta}$)とした「相平面」上で軌跡をプロットすると、運動の本質的な構造(安定・不安定点、リミットサイクル)が一目でわかります。特にカオス的な運動では、この相平面図が複雑な糸まり状の「ストレンジアトラクタ」を示します。
数学的背景を深めたいなら、「ラグランジュ形式の力学」を学びましょう。今回の運動方程式はニュートンの運動法則から導出しましたが、より複雑な多自由度系では、エネルギーから出発するラグランジュ方程式の方が体系的に導出できます。バネ振り子の運動エネルギー $T = \frac{1}{2}m(\dot{r}^2 + r^2\dot{\theta}^2)$ と位置エネルギー $U = \frac{1}{2}k(r-L_0)^2 - mgr\cos\theta$ を定義し、ラグランジアン $L=T-U$ を作れば、自動的に先の2つの運動方程式が得られます。この方法はロボットアームの動力学モデリングなどで必須です。
最後に、この先のトピックとして、「強制振動とカオスへの道」を提案します。今は自由振動だけですが、支点を上下に振動させるなど外部から周期的な力を加える(強制振動)と、さらに豊かな現象が現れます。例えば、振り子の揺れを止めようと支点を揺らしたら、逆に共振して大きく揺れてしまった、といった現象です。これをきっかけに、非線形力学の深淵である「周期倍分岐ルートを経由したカオス」の世界に足を踏み入れてみてはいかがでしょうか。