倒立振子

倒立振子（とうりつしんし 英: inverted pendulum）とは、支点よりも重心が高い位置にある振り子をいう。写真に示すように、支点を台車に載せて実装する、台車駆動型倒立振子がよく知られている。ほとんどの応用例において振り子はある回転軸まわりにのみ運動するよう固定されており、自由度は1に制限されている。振り子は吊り下げられた状態が安定であり、したがって倒立振子は本質的に不安定であるため倒立状態を保つためには常に能動的に制御する必要がある。このためには支軸に直接トルクを加えたり、支点を水平方向もしくは鉛直方向に移動させることにより振り子の錘の回転速度を変化させることにより総トルクを変化させたりしてフィードバック系を構築する。支点を動かす型の倒立振子の一番簡単な例は、箒を手の上に立たせる系である。倒立振子は動力学と制御論における古典的な問題であり、制御戦略の試験用ベンチマークとして用いられる。また、パーソナルモビリティ分野において二輪倒立振子（例: セグウェイ）や自立安定一輪車（例: ホンダ・U3-X）などの形式で応用されつつある。 別の種類の倒立振子として、高層建築に用いられる傾斜計が挙げられる。建築物の基部にワイヤの一端を固定し、他端につけた浮きを建築物の最上部に油で浮かべ、浮きの平衡位置の変化を測定することで傾斜を検出する。 倒立振子は動力学および制御論における古典的な問題であり、制御アルゴリズム（PID制御、状態空間表示、ニューラルネットワーク、ファジィ制御、遺伝的アルゴリズムなど）の試験用ベンチマークとして広く用いられている。この問題はリンクの追加や台車への移動指令、台車をシーソーの上に載せるなどの様々な拡張が可能である。また、ロケットやミサイルは空気抵抗の力の中心が重心よりも前側にあるため空気力学的に不安定であり、その誘導制御問題と倒立振子問題は関連している。このような問題を理解するため、単純なロボット台車の上に載せた倒立振子が用いられることが多い。手の上に箒を立てる遊びや、自律平衡型の輸送機械であるセグウェイなどもこの問題の解である。 フィードバックに頼らず倒立振子を安定化する別の方法として、支点を上下に高速に振動させる方法がある。このような装置をカピッツァの振り子（英語版）と呼ぶ。支点を（加速度と振幅の意味で）十分に強く振動させることにより、直感には強く反するが倒立振子に加えられた擾乱から回復することが可能となる。支点が単振動する場合は、振り子の動きはマシュー方程式により記述することができる。 倒立振子の運動方程式は、倒立振子に課せられる拘束によって変化する。倒立振子の構成には様々なものがありうるため、それらを記述する運動方程式も数多く存在する。 振り子の支点が空間的に固定されている場合、運動方程式は非倒立振子（英語版）のものと同一となる。次に示す方程式は運動に抗する摩擦力がなく、棒は質量のない剛体と見做すことができ、平面内に運動が制限されているという仮定をおいた場合の運動方程式である。 θ ¨ − g ℓ sin ⁡ θ = 0 {\displaystyle {\ddot {\theta }}-{g \over \ell }\sin \theta =0} ここで、··θ は角加速度を、g は重力加速度を、ℓ は振り子の長さを、θ は平衡位置からの変位角を表わす。 片々足し合わせることにより角加速度項と重力項が同符号となるように変形することもできる。 θ ¨ = g ℓ sin ⁡ θ {\displaystyle {\ddot {\theta }}={g \over \ell }\sin \theta } したがって、倒立振子は不安定平衡点からみた初期位置の方向に向かって、長さに反比例した加速度で遠ざかることがわかる。したがって、振り子は長い方が短い振り子よりも遅く落ちる。 トルクと慣性モーメントを用いた導出 質量 m の質点を、長さ ℓ の質量のない剛体棒の支点と逆側に固定した構成の振り子を考える。 系の総トルクは慣性モーメントと角加速度をかけた値に等しくなる。 τ n e t = I θ ¨ {\displaystyle {\boldsymbol {\tau }}_{\mathrm {net} }=I{\ddot {\theta }}} 重力による総トルクは以下のように書ける。 τ n e t = m g ℓ sin ⁡ θ {\displaystyle {\boldsymbol {\tau }}_{\mathrm {net} }=mg\ell \sin \theta \,\!} ここで、θ は倒立平衡点から測った変位角である。 したがって、次の運動方程式を得る。 I θ ¨ = m g ℓ sin ⁡ θ {\displaystyle I{\ddot {\theta }}=mg\ell \sin \theta \,\!} 質点の慣性モーメントは次のように得られる。 I = m R 2 {\displaystyle I=mR^{2}} 倒立振子の場合、動径は棒の長さ ℓ に等しい。 I = mℓ2 を代入すると以下が得られる。 m ℓ 2 θ ¨ = m g ℓ sin ⁡ θ {\displaystyle m\ell ^{2}{\ddot {\theta }}=mg\ell \sin \theta \,\!} mℓ2 で辺々割って次を得る。 θ ¨ = g ℓ sin ⁡ θ {\displaystyle {\ddot {\theta }}={g \over \ell }\sin \theta } 台車駆動型倒立振子は図のように、質量 m の質点を長さ ℓ の棒の先に付け、逆側を水平に動ける台につけた構成である。台車は線形運動（英語版）しかしないものとし、運動を起こさせたり妨げたりするような力がはたらくものとする。 倒立振子を安定化するための要点は定性的に三つのステップにまとめることができる。 もし傾き角 θ が右向きならば台車は右に加速する必要があり、逆もまたなりたつ。 軌条中心からの相対台車位置 x を安定させるには、ヌル角度（制御系がゼロにしようとする角度誤差）を位置で変調すればよい。具体的にはヌル角度を θ + kx とする。ただし、k は小さくとる。これにより、台車が軌条中心から外れているなら棒は中心に向けてわずかに傾こうとするので、台車は中心向きに加速する。軌条中心では棒が鉛直に立つことで安定となる。傾きセンサのオフセットや軌条の傾きなどの不安定要素は安定位置のオフセットとして表われる。さらにオフセットを追加すると位置制御ができる。 クレーンで荷を運ぶときのように、運動する支点に吊り下げられた非倒立振子の応答には振り子の角振動数 ωp = √g/ℓ にピークがある。制御不能な振動を防ぐため、ωp に近い支点運動の周波数スペクトルを抑制する必要がある。倒立振子でも、安定化のために同じようなフィルタが必要となる。 ヌル角度変調戦略の結果として、位置フィードバックは正のフィードバックとなり、突然右に動くよう指令すると台車はまず左へ動いてから右へ傾いた振り子を再び平衡にするため右へと移動する。倒立振子の不安定性と、正の位置フィードバックによる不安定性との相互作用により系は安定となっており、これを数学的に解析することは興味深く奥の深い問題となっている。 ラグランジュ方程式から運動方程式を導出することもできる。前掲の図のように、θ(t) を長さ ℓ の振り子の直立位置からの変位角とし、作用する力は重力および x 方向への外力 F とする。 x(t) を台車の位置と定義すると、系のラグランジアン L = T − V は以下のように書ける。 L = 1 2 M v 1 2 + 1 2 m v 2 2 − m g ℓ cos ⁡ θ {\displaystyle L={\frac {1}{2}}Mv_{1}^{2}+{\frac {1}{2}}mv_{2}^{2}-mg\ell \cos \theta } ここで v1 は台車の速度、 v2 は質量 m の質点の速度とする。v1 および v2 は x と θ の導関数を用いて次のように書ける。 v 1 2 = x ˙ 2 {\displaystyle v_{1}^{2}={\dot {x}}^{2}} v 2 2 = ( d d t ( x − ℓ sin ⁡ θ ) ) 2 + ( d d t ( ℓ cos ⁡ θ ) ) 2 {\displaystyle v_{2}^{2}=\left({\frac {\mathrm {d} }{\mathrm {d} t}}{\left(x-\ell \sin \theta \right)}\right)^{2}+\left({\frac {\mathrm {d} }{\mathrm {d} t}}{\left(\ell \cos \theta \right)}\right)^{2}} v2 の表式を展開すると以下のようになる。 v 2 2 = x ˙ 2 − 2 ℓ x ˙ θ ˙ cos ⁡ θ + ℓ 2 θ ˙ 2 {\displaystyle v_{2}^{2}={\dot {x}}^{2}-2\ell {\dot {x}}{\dot {\theta }}\cos \theta +\ell ^{2}{\dot {\theta }}^{2}} すると、ラグランジアンは次のように書ける。 L = 1 2 ( M + m ) x ˙ 2 − m ℓ x ˙ θ ˙ cos ⁡ θ + 1 2 m ℓ 2 θ ˙ 2 − m g ℓ cos ⁡ θ {\displaystyle L={\frac {1}{2}}\left(M+m\right){\dot {x}}^{2}-m\ell {\dot {x}}{\dot {\theta }}\cos \theta +{\frac {1}{2}}m\ell ^{2}{\dot {\theta }}^{2}-mg\ell \cos \theta } ここで、オイラー・ラグランジュの運動方程式は次の表式である。 d d t ∂ L ∂ x ˙ − ∂ L ∂ x = F {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} t}}{\partial {L} \over \partial {\dot {x}}}-{\partial {L} \over \partial x}=F} d d t ∂ L ∂ θ ˙ − ∂ L ∂ θ = 0 {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} t}}{\partial {L} \over \partial {\dot {\theta }}}-{\partial {L} \over \partial \theta }=0} この方程式系における L に上の表式を代入すると、倒立振子の運動を記述する方程式系が次のように得られる。 ( M + m ) x ¨ − m ℓ θ ¨ cos ⁡ θ + m ℓ θ ˙ 2 sin ⁡ θ = F {\displaystyle \left(M+m\right){\ddot {x}}-m\ell {\ddot {\theta }}\cos \theta +m\ell {\dot {\theta }}^{2}\sin \theta =F} ℓ θ ¨ − g sin ⁡ θ = x ¨ cos ⁡ θ {\displaystyle \ell {\ddot {\theta }}-g\sin \theta ={\ddot {x}}\cos \theta } この方程式系は非線形であるが、制御系の目標は振り子を直立に保つことなので、θ ≈ 0 近傍で線形化することが多い。 ラグランジュ方程式の代わりに、ニュートンの第二法則を用いる方が利点が多いことが多い。ニュートン方程式を用いれば、振り子と台車の間の結節点における反力が得られる。すると、それぞれの物体について x 方向と y 方向のあわせて二つの方程式が得られる。台車の運動方程式は次のようになる。ただし、左辺は合力、右辺は加速度を表わす。 F − R x = M x ¨ {\displaystyle F-R_{x}=M{\ddot {x}}} F N − R y − M g = 0 {\displaystyle F_{N}-R_{y}-Mg=0} ここで、Rx および Ry は結節点における反力を表わす。FN は台車にかかる垂直抗力である。二つ目の方程式は鉛直方向の反力にしか依存しないので、垂直抗力を解くのに用いることができる。一つ目の方程式は水平方向の反力を解くのに用いることができる。この運動方程式系を完成させるには、振り子に固定された質点の加速度を計算する必要がある。慣性座標系における質点の位置は次のように表わすことができる。 r → P = ( x − ℓ sin ⁡ θ ) x