二重振り子カオスシミュレーター 戻る
力学・カオス

二重振り子カオスシミュレーター

二重振り子の運動方程式を Runge-Kutta 4 次法でリアルタイム積分。初期角度をわずか 0.001° ずらした 2 軌道を同時描画し、カオスの『バタフライ効果』を視覚的に体験できます。

初期条件

プリセット

計算結果
経過時間 [s]
0.000
全力学的エネルギー [J/kg]
2軌道の位置差 [m]
先端速度 v₂ [m/s]
軌道1(基準) 軌道2(+ε)
アニメーション
軌道1の (θ₁, θ₂) 軌跡
位相図
発散

縦軸(対数スケール):2軌道の先端間距離 d(t)。傾き ≈ リャプノフ指数 λ。

理論・主要公式

$\ddot\theta_1 = \dfrac{-r\dot\theta_2^2\sin\Delta - 2g\sin\theta_1 - \cos\Delta\bigl(\dot\theta_1^2\sin\Delta - g\sin\theta_2\bigr)}{2-\cos^2\Delta}$

$\ddot\theta_2 = \dfrac{2\dot\theta_1^2\sin\Delta - 2g\sin\theta_2 + \cos\Delta(r\dot\theta_2^2\sin\Delta + 2g\sin\theta_1)}{r(2-\cos^2\Delta)}$

$\Delta = \theta_1 - \theta_2$

積分:Runge-Kutta 4次法、dt=0.005 s

🙋 「決定論的なのに予測不可能」ってどういうこと?

🙋
二重振り子って適切にした力学の方程式があるのに、なぜ「カオス」と呼ばれるんですか?方程式があれば未来が計算できるはずでは?
🎓
原理的にはそうなんだけど、「同じ初期条件でも観測の誤差が必ずある」というのが問題なんだ。このシミュレーターで試してみよう。θ₁=120°と120.001°(差は0.001°)から出発した2軌道を同時に見ると、最初は重なってるが数秒後には全く別の動きになる。これが「初期値鋭敏性」——カオスの本質だよ。
🙋
「軌道発散」タブを見ると、距離がどんどん大きくなってますね。これが指数的増大?
🎓
そう。縦軸が対数スケールになっているから、直線的に増えているなら d(t) ∝ exp(λt)、つまり指数増大だ。この傾き λ がリャプノフ指数で、二重振り子では典型的に λ ≈ 1〜3 s⁻¹ 程度。たとえば λ=2 なら 1秒後に差が e²≈7倍になる。位置の精度が mm オーダーでも、数秒後には m オーダーの誤差になってしまう。
🙋
でも「小振幅(線形)」プリセットにすると、2軌道がずっと重なったままですね。カオスにならない?
🎓
大発見だ。小振幅(θ≪1 rad)では sin θ ≈ θ の線形化が成り立って、2つの固有振動モードを持つ「連成振動」になる。これは可積分系で、長期予測が可能。カオスが現れるのはエネルギーが大きい(振れ幅が大きい)ときだけ。物理では「線形→可積分→予測可能」「非線形→カオス可能→予測困難」というパターンが多い。
🙋
天気予報が「1週間より先は難しい」というのも同じ理由ですか?
🎓
まさに。ローレンツが1960年代に発見した「ローレンツ・アトラクター」は大気の簡略モデルで、カオスが気象予測を本質的に困難にすることを示した。大気の初期観測誤差が約2週間でシステム全体のスケールまで増大するため、2週間を超える精密予報は原理的に困難とされている。これがバタフライ効果の名前の由来——「ブラジルの蝶の羽ばたきがテキサスの竜巻を引き起こす」という比喩だ。
🙋
カオスって困るだけじゃなくて、役立てることもできるんですか?
🎓
実は応用が多いんだ。流体の混合にカオス的な流れを使うと少ないエネルギーで均一混合できる(マイクロ流体チップなど)。カオス暗号では初期値鋭敏性を暗号鍵として活用する。また心電図のカオス特性を分析すると健康な心拍と不整脈を識別できる。カオスはランダムではなく「構造をもった複雑性」だから、制御と利用の余地がある。

よくある質問

カオスは決定論的です——同じ初期条件から出発すれば必ず同じ軌道をたどります。ランダムは確率的(真の不確定性)で、初期条件が同じでも毎回異なる結果になります。二重振り子は完全な方程式で記述されるため、乱数は一切ありません。ただし観測精度が有限なため実質的に予測不能になる、という違いが重要です。
単振り子の運動方程式 θ̈ + (g/L)sinθ = 0 は保存系(エネルギー保存)の1自由度系で、Liouvilleの定理により位相空間が体積保存されます。Arnold-Liouville定理より可積分系(積分で解ける)であり、KAM定理によって運動はトーラス上に留まりカオスにはなりません。2自由度以上の非線形系では可積分性が崩れてカオスが生じえます。
初期状態 x₀ と微小ずれ x₀+δ₀ から出発した2軌道を並行して積分し、時刻 t での距離 δ(t) を測定します。λ = lim_{t→∞} (1/t) * ln(δ(t)/δ₀) がリャプノフ指数です。実際には距離が大きくなりすぎると再正規化(δをδ₀に戻してδを測り続ける)が必要です。このシミュレーターでは再正規化なしの単純発散を示しているため、十分長い時間後は精度が落ちます。
常微分方程式の数値解法で、各ステップで4つの勾配評価を行い、Simpson則的な重み付けで次ステップを計算します。4次精度(局所誤差∝dt⁵)のため、単純なオイラー法(1次)より精度が高く、二重振り子のような非線形系でも比較的安定して積分できます。カオスでは真の軌道追跡は不可能ですが、統計的な特性(リャプノフ指数など)は正確に計算できます。
摩擦なし(保存系)の設定では全力学的エネルギー E = T + V が一定に保たれるはずです。数値積分の誤差でエネルギーが少しずつドリフトしますが、RK4とdt=0.005では長時間でも誤差が小さく抑えられます。このシミュレーターでは統計カード「全力学的エネルギー」を表示しているので、時間が経つにつれてエネルギーが一定に保たれているか確認できます。

二重振り子カオスシミュレーターとは

二重振り子は、質量 \( m_1, m_2 \) と長さ \( l_1, l_2 \) を持つ2本の剛体棒から構成され、重力 \( g \) の下で運動する。その運動方程式は、ラグランジュ形式から導出され、一般化座標として角度 \( \theta_1, \theta_2 \) を用いると、以下の連立2階常微分方程式で記述される。 $ (m_1 + m_2) l_1 \ddot{\theta}_1 + m_2 l_2 \ddot{\theta}_2 \cos(\theta_1 - \theta_2) + m_2 l_2 \dot{\theta}_2^2 \sin(\theta_1 - \theta_2) + (m_1 + m_2) g \sin \theta_1 = 0 $ $ m_2 l_2 \ddot{\theta}_2 + m_2 l_1 \ddot{\theta}_1 \cos(\theta_1 - \theta_2) - m_2 l_1 \dot{\theta}_1^2 \sin(\theta_1 - \theta_2) + m_2 g \sin \theta_2 = 0 $ この系は非線形性が強く、解析解が存在しないため、本シミュレーターでは4次のRunge-Kutta法を用いて数値積分を行う。特に、初期角度をわずか \( 0.001^\circ \) だけずらした2つの軌道を同時に計算し、時間経過に伴う軌跡の指数的な乖離を可視化する。これにより、カオス系における初期値鋭敏性、すなわち「バタフライ効果」を直感的に観察できる。

実世界での応用

産業での実際の使用例
二重振り子のカオス挙動は、自動車業界におけるサスペンション設計(例:トヨタのAVS可変サスペンション)や、建設機械のブーム振動制御(コマツ油圧ショベル)で応用されています。特に、非線形振動が引き起こす予測困難な共振を回避するため、本シミュレーターで初期値鋭敏性を検証し、制御パラメータの最適化に活用されています。

研究・教育での活用
物理学や機械工学の大学教育では、カオス理論の入門教材として広く採用。東京大学やMITの講義では、二重振り子の軌道分岐をリアルタイムで観察し、リャプノフ指数の概念を直感的に理解する実験ツールとして使用。また、気象予測における「バタフライ効果」のアナロジー教育にも役立っています。

CAE解析との連携や実務での位置付け
本シミュレーターは、汎用CAEツール(ANSYSやAbaqus)の非線形動解析における初期条件依存性の事前検証に利用されます。実務では、ロボットアームの関節トルク変動や、風力発電ブレードのフラッタ解析の前段階として、カオス領域の有無を簡易判定。計算負荷の高い本格CAE解析の試行錯誤を削減し、設計効率を向上させる役割を果たします。

よくある誤解と注意点

「初期値の微小な差が結果を大きく変える」というカオスの性質から、シミュレーターの数値計算そのものが不正確だと思いがちですが、実際はRunge-Kutta4次法は十分に高精度であり、表示される軌道の分岐は物理的なカオス性を正しく再現しています。ただし、長時間の積分では数値誤差が累積するため、特に「リアルタイム」表示では厳密な再現性を保証できない点に注意が必要です。また、初期角度を0.001°ずらした2軌道は「バタフライ効果」の視覚的デモンストレーションですが、この差は現実の実験では測定誤差の範囲内であり、実際の物理系で同じ軌道を再現することは不可能です。さらに、画面上で軌道が交差したりループを描く様子を見て「振り子が同じ位置を通過している」と誤解しがちですが、実際には時間的な位相が異なるため、厳密には同じ運動状態ではありません。あくまでカオスの概念理解のためのモデルであることを認識してご利用ください。