「倒立振子」の版間の差分
編集の要約なし |
m ページ「Inverted pendulum」の翻訳により作成 |
||
1行目: | 1行目: | ||
[[ファイル:Balancer_with_wine_3.JPG|右|サムネイル|単純なロボティクス系、台車駆動型倒立振子。1976年。]] |
|||
'''倒立振子'''とは倒立した状態で安定を維持する[[振り子]] |
|||
倒立振子(とうりつしんし inverted pendulum)とは、[[支点]]よりも[[重心]]が高い位置にある[[振り子]]をいう。写真に示すように、支点を台車に載せて実装する、台車駆動型倒立振子がよく知られている<ref>C.A. Hamilton Union College Senior Project 1966</ref>。ほとんどの応用例において振り子はある[[自転|回転軸]]まわりにのみ運動するよう固定されており、[[自由度]]は1に制限されている。振り子は吊り下げられた状態が安定であり、したがって倒立振子は本質的に不安定であるため倒立状態を保つためには能動的に制御する必要がある。このためには支軸に直接トルクを加えたり、支点を水平方向もしくは鉛直方向に移動させることにより振り子の錘の回転速度を変化させることにより総トルクを変化させたりして[[フィードバック]]系を構築する。支点を動かす型の倒立振子の一番簡単な例は、箒を手の上に立たせる系である。倒立振子は[[動力学]]と[[制御理論|制御論]]における古典的な問題であり、制御戦略の試験用ベンチマークとして用いられる。 |
|||
別の種類の倒立振子として、高層建築において支点を基部に固定し、建築物と同じ高さに油で浮かべた浮きの平衡位置の移動により傾斜を計測する傾斜計が挙げられる。 |
|||
== 概要 == |
== 概要 == |
||
倒立振子は[[動力学]]および[[制御理論|制御論]]における古典的な問題であり、制御アルゴリズム([[PID制御]]、[[状態空間 (制御理論)|状態空間表示]]、[[ニューラルネットワーク]]、[[ファジィ制御|ファジイ制御]]、[[遺伝的アルゴリズム]]など)の試験用ベンチマークとして広く用いられている。この問題は[[リンク機構|リンク]]の追加や台車への移動指令、台車をシーソーの上に載せるなどの様々な拡張が可能である。また、ロケットやミサイルは空気抵抗の力の中心が重心よりも前側にあるため[[空気力学]]的に不安定であり、その[[ミサイルの誘導方式|誘導制御問題]]と倒立振子問題は関連している<ref>http://exploration.grc.nasa.gov/education/rocket/rktstab.html</ref>。このような問題を理解するため、単純なロボット台車の上に載せた倒立振子が用いられることが多い。手の上に箒を立てる遊びや、自律平衡型の輸送機械である[[セグウェイ]]などもこの問題の解である。 |
|||
一般的な振り子では支持点が重心の上方にあるが、倒立振子は支持点が重心の下方に存在するので倒立振子が倒れないようにするために常時、支持点を重心の真下に位置させるための制御技術が必要になる<ref name="matome">[http://matome.naver.jp/odai/2136401209031725401 倒立振子(とうりつしんし)の仕組み と倒立振子ロボ]</ref><ref>[http://maverickengineer.web.fc2.com/ 倒立振子の製作]</ref>。[[運動方程式]]を立てる方法は[[ラグランジュ法]]と[[ニュートン・オイラー法]]の2種類がある<ref name="matome"/>。[[アナログ制御]]と[[デジタル制御]]のどちらでも実現可能。 |
|||
フィードバックに頼らず倒立振子を安定化する別の方法として、支点を上下に高速に振動させる方法がある。このような装置を[[:en:Kapitza's_pendulum|カピッツァの振り子]]と呼ぶ。支点を(加速度と振幅の意味で)十分に強く振動させることにより、直感には強く反するが倒立振子に加えられた擾乱から回復することが可能となる。支点が[[自由振動|単振動]]する場合は、振り子の動きは[[マシュー函数|マシュー方程式]]により記述することができる。 |
|||
== 用途 == |
|||
以前は自動制御の教材を除いて実用例が少なかったが、制御技術の進展により近年では[[パーソナルモビリティ]]を中心として実用例が増えつつある。 |
|||
* [[セグウェイ]] |
|||
* [[ホンダ・U3-X]] |
|||
* [[自立安定一輪車]] |
|||
* [[ハロー! ミップ]] |
|||
== |
== 運動方程式 == |
||
倒立振子の[[運動方程式]]は、倒立振子に課せられる拘束によって変化する。倒立振子の構成には様々なものがありうるため、それらを記述する運動方程式も数多く存在する。 |
|||
* [[ゼロモーメントポイント]] |
|||
* [[二重振り子]] |
|||
* [[ニュートンのゆりかご]] |
|||
* [[二足歩行ロボット]] |
|||
== |
=== 支点固定型 === |
||
振り子の支点が空間的に固定されている場合、運動方程式は[[:en:Pendulum_(mathematics)|非倒立振子]]のものと同一となる。次に示す方程式は運動に抗する摩擦力がなく、棒は質量のない剛体と見做すことができ、[[2次元|平面内]]に運動が制限されているという仮定をおいた場合の運動方程式である。 |
|||
: <math>\ddot \theta - {g \over \ell} \sin \theta = 0</math> |
|||
ここで、 <math>\ddot \theta </math> は[[角加速度]]を、<math>g </math> は[[重力加速度]]を、<math>\ell</math> は振り子の長さを、<math>\theta</math> は平衡位置からの変位角を表わす。 |
|||
片々足し合わせることにより角加速度項と重力項が同符号となるように変形することもできる。 |
|||
: <math>\ddot \theta = {g \over \ell} \sin \theta</math> |
|||
したがって、倒立振子は不安定平衡点からみた初期位置の方向に向かって、長さに反比例した加速度で遠ざかることがわかる。したがって、振り子は長い方が短い振り子よりも遅く落ちる。 |
|||
'''トルクと慣性モーメントを用いた導出''' |
|||
[[ファイル:Cart-pendulum.svg|サムネイル|330x330ピクセル| 台車上の倒立振子を表わす模式図。棒は質量を持たないものとする。台車の質量と棒の端点の質量はそれぞれ M および m とする。棒の長さは l とする。]] |
|||
質量 <math /> の質点を、長さ <math /> の質量のない剛体棒の支点と逆側に固定した構成の振り子を考える。 |
|||
系の総[[トルク]]は[[慣性モーメント]]と角加速度をかけた値に等しくなる。 |
|||
: <math>\boldsymbol{\tau}_{\mathrm{net}}=I \ddot \theta</math> |
|||
重力による総トルクは以下のように書ける。 |
|||
: <math>\boldsymbol{\tau}_{\mathrm{net}}= m g \ell \sin \theta\,\!</math> |
|||
ここで、<math> \theta\ </math> は倒立平衡点から測った変位角である。 |
|||
したがって、次の運動方程式を得る。 |
|||
: <math> I \ddot \theta= m g \ell \sin \theta\,\!</math> |
|||
質点の慣性モーメントは次のように得られる。 |
|||
: <math>I = m R^2</math> |
|||
倒立振子の場合、動径は棒の長さ <math> \ell </math> に等しい。 |
|||
<math>I = m \ell ^2</math> |
|||
: <math> m \ell ^2 \ddot \theta= m g \ell \sin \theta\,\!</math> |
|||
質量と <math>\ell^2</math> で辺々割って次を得る。 |
|||
: <math>\ddot \theta = {g \over \ell} \sin \theta</math> |
|||
=== 台車駆動型倒立振子 === |
|||
台車駆動型倒立振子は図のように、質量 <math> m </math> の質点を長さ <math> \ell </math> の棒の先に付け、逆側を水平に動ける台につけた構成である。台車は[[:en:Linear_motion|線形運動]]しかしないものとし、 and is subject to forces resulting in or hindering motion. |
|||
=== 安定化の要点 === |
|||
倒立振子を安定化するための要点は定性的に三つのステップにまとめることができる。 |
|||
[[ファイル:Inverted_Pendulum_control_essentials.JPG|サムネイル|600x600ピクセル| ワイングラスを載せた台車の単純な安定化制御系]] |
|||
1. もし傾き角 <math> \theta </math> が右向きならば台車は右に加速する必要があり、逆もまたなりたつ。 |
|||
2. 軌条中心からの相対台車位置 <math> x </math> を、ヌル角度(制御系がゼロにしようとする角度誤差)を位置で変調することにより、つまりヌル角度 <math> = \theta + k x </math> とすることにより安定化する。ただし、<math> k </math> は小さくとる。これにより棒が軌条中心に向けて若干傾いた位置に安定化されることになり、傾き角が鉛直の場合は軌条中心に向けて安定化制御がかかることになる。傾きセンサのオフセットや軌条の傾きなどの不安定要素は安定位置のオフセットとして表われる。さらにオフセットを追加すると位置制御ができる。 |
|||
3. 支点に吊り下げられた通常の振り子は振り子の角速度 <math> \omega_p = \sqrt {g/\ell} </math> に反応のピーク点を持つ。制御不能な振動を防ぐため、<math> \omega_p </math>に近い支点運動の周波数スペクトルを抑制する必要がある。倒立振子でも、安定化のために同じようなフィルタが必要となる。 |
|||
ヌル角度変調戦略の結果として、位置フィードバックは正のフィードバックとなり、突然右に動くよう指令すると台車はまず左へ動いてから右へ傾いた振り子を再び平衡にするため右へと移動する。振り子の不安定性と正の位置フィードバックとの相互作用により系は安定となっており、これを数学的に解析することは興味深く奥の深い問題となっている。 |
|||
=== ラグランジュ方程式 === |
|||
[[ラグランジュ力学|ラグランジュ方程式]]から運動方程式を導出することもできる。 <math>\theta(t)</math> を長さ <math>l</math> の振り子の直立位置からの変位角とし、作用する力は重力と x 方向への外力 ''F'' とする。<math>x(t)</math> を台車の位置と定義すると、系の[[ラグランジュ力学|ラグランジアン]] <math>L = T - V</math> は以下のように書ける。 |
|||
: <math> |
|||
L = \frac{1}{2} M v_1^2 + \frac{1}{2} m v_2^2 - m g \ell\cos\theta |
|||
</math> |
|||
ここで <math>v_1</math> は台車の速度、 <math>v_2</math> は質量 <math>m</math> の質点の速度とする。<math>v_1</math> および <math>v_2</math> は x と <math>\theta</math> の導関数を用いて次のように書ける。 |
|||
: <math> |
|||
v_1^2=\dot x^2 |
|||
</math> |
|||
: <math> |
|||
v_2^2=\left({\frac{d}{dt}}{\left(x- \ell\sin\theta\right)}\right)^2 + \left({\frac{d}{dt}}{\left( \ell\cos\theta \right)}\right)^2 |
|||
</math> |
|||
<math>v_2</math> の表式を簡単化すると以下のように書ける。 |
|||
: <math> |
|||
v_2^2= \dot x^2 -2 \ell \dot x \dot \theta\cos \theta + \ell^2\dot \theta^2 |
|||
</math> |
|||
すると、ラグランジアンは次のように書ける。 |
|||
: <math> |
|||
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-m g \ell\cos \theta |
|||
</math> |
|||
ここで、[[オイラー=ラグランジュ方程式|オイラー・ラグランジュの運動方程式]]は次の表式である。 |
|||
: <math> |
|||
\frac{\mathrm{d}}{\mathrm{d}t}{\partial{L}\over \partial{\dot x}} - {\partial{L}\over \partial x} = F |
|||
</math> |
|||
: <math> |
|||
\frac{\mathrm{d}}{\mathrm{d}t}{\partial{L}\over \partial{\dot \theta}} - {\partial{L}\over \partial \theta} = 0 |
|||
</math> |
|||
この方程式系における <math>L</math> に上の表式を代入すると、倒立振子の運動を記述する方程式系が次のように得られる。 |
|||
: <math> |
|||
\left ( M + m \right ) \ddot x - m \ell \ddot \theta \cos \theta + m \ell \dot \theta^2 \sin \theta = F |
|||
</math> |
|||
: <math> |
|||
\ell \ddot \theta - g \sin \theta = \ddot x \cos \theta |
|||
</math> |
|||
この方程式系は非線形であるが、制御系の目標は振り子を直立に保つことなので、<math>\theta \approx 0</math> 近傍で線形化することが多い。 |
|||
=== ニュートンの第二法則 === |
|||
[[ラグランジュ力学|ラグランジュ方程式]]の代わりに、[[運動の第2法則|ニュートンの第二法則]]を用いる方が利点が多いことが多い。ニュートン方程式を用いれば、振り子と台車の間の結節点における反力が得られる。すると、物体一つにつき x-方向と y-方向のあわせて二つの方程式が得られる。台車の運動方程式は次のようになる。ただし、左辺は合力、右辺は加速度を表わす。 |
|||
: <math> |
|||
F-R_x = M \ddot x |
|||
</math> |
|||
: <math> |
|||
F_N - R_y - M g = 0 |
|||
</math> |
|||
ここで、<math>R_x</math> は <math>R_y</math> 結節点における反力を表わす。<math>F_N</math> は台車にかかる垂直抗力である。二つ目の方程式は鉛直方向の反力にしか依存しないので、垂直抗力を解くのに用いることができる。一つ目の方程式は水平方向の反力を解くのに用いることができる。この運動方程式系を完成させるには、振り子に固定された質点の加速度を計算する必要がある。質点の位置は次のような慣性座標系により表わすことができる。 |
|||
: <math> |
|||
\vec r_P = (x-\ell \sin \theta) \hat x_I + \ell \cos \theta \hat y_I |
|||
</math> |
|||
二階微分をとることにより慣性系における加速度ベクトルを得る。 |
|||
: <math> |
|||
\vec a_{P/I} = (\ddot x + \ell \dot \theta^2 \sin \theta - \ell \ddot \theta \cos \theta ) \hat x_I + (-\ell \dot \theta^2 \cos \theta - \ell \ddot \theta \sin \theta) \hat y_I |
|||
</math> |
|||
第二運動法則を用いて、x-方向と y-方向の二つの方程式を得る。質点にかかる反力は台車にかかる反力と逆符号になることに注意されたい。これは[[運動の第3法則|ニュートンの第三法則]]から帰結する。 |
|||
: <math> |
|||
R_x = m(\ddot x + \ell \dot \theta^2 \sin \theta - \ell \ddot \theta \cos \theta ) |
|||
</math> |
|||
: <math> |
|||
R_y - m g = m (-\ell \dot \theta^2 \cos \theta - \ell \ddot \theta \sin \theta) |
|||
</math> |
|||
一つ目の方程式から、外力 <math>F</math> によらず水平方向の反力を計算する方法が得られる。 二つ目の方程式は鉛直方向の反力の計算に用いることができる。一つ目の運動方程式は <math>F-R_x = M \ddot x</math> を <math>R_x = m(\ddot x + \ell \dot \theta^2 \sin \theta - \ell \ddot \theta \cos \theta )</math> 代入して次のように得られる。 |
|||
: <math> |
|||
\left (M+m \right) \ddot x - m \ell \ddot \theta \cos \theta + m \ell \dot \theta^2 \sin \theta = F |
|||
</math> |
|||
この方程式をよく見れば、ラグランジュ法による方程式と同じであることがわかる。二つ目の方程式を得るには、振り子の運動方程式を常に振り子に直交する単位ベクトルとのドット積をとる必要がある。このベクトルは物体系の x-座標と呼ばれることが多い。慣性座標系ではこのベクトルは単純な二次元座標変換を用いて以下のように表わされる。 |
|||
: <math> |
|||
\hat x_B = \cos \theta \hat x_I + \sin \theta \hat y_I |
|||
</math> |
|||
ベクトル表記で書いた振り子の運動方程式は <math>\sum \vec F = m \vec a_{P/I}</math> のようになる。この両辺に <math>\hat x_B</math> とのドット積をかけると、左辺は次のようになる(転置をとってかけるとドット積になることに注意)。 |
|||
: <math> |
|||
(\hat x_B)^T\sum \vec F = (\hat x_B)^T (R_x \hat x_I + R_y \hat y_I - m g \hat y_I) = (\hat x_B)^T(R_p \hat y_B - m g \hat y_I) = -m g \sin \theta |
|||
</math> |
|||
上の式展開においては反力の物体系成分と慣性系成分との関係式が用いられている。質点と台車を繋ぐ棒が質量を持たないという仮定から、この棒は棒に垂直な負荷をまったく伝えないことを意味する。したがって、反力の物体系成分は単に <math>R_p \hat y_B</math> のように書け、棒に沿った成分しか持たないことがいえる。このことから、棒の張力に関して次の方程式が得られる。 |
|||
: <math> |
|||
R_p = \sqrt{ R_x^2 + R_y^2} |
|||
</math> |
|||
先の運動方程式の右辺と <math>\hat x_B</math> とのドット積も同様に計算することができる。その結果は(少々整理すると)以下のようになる。 |
|||
: <math> |
|||
m(\hat x_B)^T(\vec a_{P/I}) = m(\ddot x \cos \theta - \ell \ddot \theta) |
|||
</math> |
|||
左辺と右辺を繋いで m で割ると以下を得る。 |
|||
: <math> |
|||
\ell \ddot \theta - g \sin \theta = \ddot x \cos \theta |
|||
</math> |
|||
これもまた、ラグランジュ法による方程式と同一である。ニュートン法を用いる利点は、全ての反力が明らかであり、損壊がないことを保証できる点にある。 |
|||
=== 支点の振動する振り子 === |
|||
質量の無い、振動する台に繋がれた振り子の運動方程式は台車に繋がれた振り子と同じように導出することができる。質点の位置はこの場合は次のように表わされる。 |
|||
: <math>\left( -\ell \sin \theta , y + \ell \cos \theta \right)</math> |
|||
そして、位置の一階微分をとることにより速度が得られる。 |
|||
: <math>v^2=\dot y^2-2 \ell \dot y \dot \theta \sin \theta + \ell^2\dot \theta ^2.</math>[[ファイル:Inverted_pendulum_oscillatory_base.svg|右|サムネイル|500x500ピクセル|台の振動する振り子のプロット。左のプロットは遅い振動に対する振り子の応答を、二つ目のプロットは速い振動に対する応答を示す。]] |
|||
この系の[[ラグランジュ力学|ラグランジアン]]は次のように書ける。 |
|||
: <math> |
|||
L = \frac{1 }{2} m \left ( \dot y^2-2 \ell \dot y \dot \theta \sin \theta + \ell^2\dot \theta ^2 \right) - m g \left( y + \ell \cos \theta \right ) |
|||
</math> |
|||
そして、オイラー・ラグランジュ方程式 |
|||
: <math> |
|||
{\mathrm{d} \over \mathrm{d}t}{\partial{L}\over \partial{\dot \theta}} - {\partial{L}\over \partial \theta} = 0 |
|||
</math> |
|||
から次の運動方程式が得られる。 |
|||
: <math> |
|||
\ell \ddot \theta - \ddot y \sin \theta = g \sin \theta. |
|||
</math> |
|||
ここで、''y'' が[[自由振動|単振動]] <math>y = A \sin \omega t</math> で表わされる場合、次の[[微分方程式]]を得る。 |
|||
: <math> |
|||
\ddot \theta - {g \over \ell} \sin \theta = -{A \over \ell} \omega^2 \sin \omega t \sin \theta. |
|||
</math> |
|||
この方程式は基礎的閉形式解を持たないが、様々な方法で調べることができる。たとえば、振幅が小さい場合は[[マシュー函数|マシュー方程式]]により精度よく近似することができる。解析により、振動が速ければ振り子が直立を保つことがわかる。最初のプロットは <math>y</math> の振動が遅い場合には振り子を直立状態からずらすとすぐに倒れてしまうことを示している。短時間で <math>\theta</math> は 90° を超えており、つまり振り子は倒れてしまっている。<math>y</math> の振動が速ければ振り子は直立位置の周りで安定に保たれる。二つ目のプロットは振り子が直立位置 (<math>\theta = 0</math>) からずれてもその近傍で振動することを示している。直立位置からのずれは小さくたもたれ、倒れてしまうことはない。 |
|||
== 倒立振子の種類 == |
|||
倒立振子を安定させることは広く取り組まれている工学的課題である<ref>http://robotics.ee.uwa.edu.au/theses/2003-Balance-Ooi.pdf</ref>。台車駆動型倒立振子にも、棒を載せただけのものから振り子が複数の節に分かれているものまで様々な変種がある。その他にも、倒立振子の棒もしくは節分けされた棒を回転部品の端にとりつける種類のものがある。台車型と回転型の両方で倒立振子は平面上に倒れるしかない。これらのプロジェクトでは、平衡位置にあるものを維持するだけでなく、自律的に平衡位置を達成することが求められる。また、二輪倒立振子という別のプラットフォームもある。二輪倒立振子では一点での回転が可能であり、格段に高い操作性を実現できる<ref>http://csuchico-dspace.calstate.edu/bitstream/handle/10211.4/145/4%2022%2009%20Jose%20Miranda.pdf?sequence=1</ref>。その他にも、一点上での平衡をとるものもある。[[独楽|コマ]]や [[一輪車]]、ボール上の倒立振子はすべて一点上で平衡をとる。上で説明したように、鉛直に振動する台によっても倒立振子を安定化することができる。 |
|||
== 倒立振子の例 == |
|||
倒立振子には人造のものも自然のものも含めて様々な例がある。 |
|||
最も身近な倒立振子は[[ヒト]]であるといわれる。直立した体を持つヒトは常に平衡を保つための調製を行なっていなければ立つことも歩くことも走ることもできない。 |
|||
単純な例として、箒や定規を手の上で直立させる遊びが挙げられる。 |
|||
倒立振子は様々な装置に組込まれており、また特異的な工学的問題として研究されている<ref>http://csuchico-dspace.calstate.edu/bitstream/handle/10211.4/145/4%2022%2009%20Jose%20Miranda.pdf?sequence=1</ref>。倒立振子は本質的に不安定なので擾乱により計測可能な反応を示すため、初期の[[地震計]]の設計における中心的要素として採用されていた<ref>http://earthquake.usgs.gov/learn/topics/seismology/history/part12.php</ref>。 |
|||
倒立振子模型はいくつかの個人輸送システムにも採用されている。二輪車椅子やその他の二輪モーター車両により高い移動性を確保することができる。 |
|||
== 関連項目 == |
|||
* [[振り子]] |
|||
* [[自立安定一輪車|自律安定一輪車]] |
|||
* [[セグウェイ]] |
|||
* [[:en:Double_inverted_pendulum|二重倒立振子]] |
|||
* [[:en:Inertia_wheel_pendulum|慣性車輪振子]] |
|||
* [[:en:Furuta_pendulum|古田の振子]] |
|||
* [[:en:IBOT|iBOT]] |
|||
* [[:en:Humanoid_robot|人型ロボット]] |
|||
* [[一輪車]] |
|||
* [[球体ロボット]] |
|||
* [[振動]] |
|||
== 出典 == |
|||
{{Reflist}} |
{{Reflist}} |
||
== 文献 == |
== 関連文献 == |
||
* Franklin; et al. (2005). Feedback control of dynamic systems, 5, Prentice Hall. ISBN 0-13-149930-0 |
|||
* "現代制御理論を使った倒立振り子の実験." [[トランジスタ技術]] [[CQ出版]] 1993年5月号 315-322. |
|||
* "現代制御理論を使った倒立振り子の実験." [[トランジスタ技術]] [[CQ出版]] 1993年6月号 367-373. |
|||
* "現代制御理論を使った倒立振り子の実験." [[トランジスタ技術]] [[CQ出版]] 1993年7月号 363-370. |
|||
* [[インターフェース (雑誌)|Interface]] [[CQ出版]] 2006年7月号 |
|||
* [[Design Wave Magazine]] [[CQ出版]] 2007年8月号 |
|||
* 森正三, 西原裕善, 古田勝久. "倒立振子制御用ハイブリッド制御系." 計測自動制御学会論文集 12.4 (1976): 482-487. |
|||
* 佐伯正美. "倒立振子の非線形コントローラ設計と厳密な線形化法." 計測自動制御学会論文集 29.4 (1993): 491-493. |
|||
* 杉江明士, 井上雄二郎, 木村英紀. "結合倒立振子の安定化制御." 計測自動制御学会論文集 14.5 (1978): 591-597. |
|||
* 畠山直也, 島田明. "[http://www.sic.shibaura-it.ac.jp/~ashimada/research/theses/2008-03-ZeroDyna.pdf Zero Dynamics を利用した倒立振子型二輪ロボットの高速移動制御.]" 計測自動制御学会論文集 44.3 (2008): 252-259. |
|||
== 外部リンク == |
== 外部リンク == |
||
* [https://www.youtube.com/watch?v=-vpc-mt_wPg YouTube - Inverted Pendulum - Demo #3] |
|||
* [http://mech.u-fukui.ac.jp/~Kawa-Lab/kenkyu/pend/pend.htm 倒立振子系に対する安定化制御] |
|||
* [http://www.youtube.com/watch?v=MWJHcI7UcuE YouTube - inverted pendulum] |
|||
* [http://kinno-homepage.sakura.ne.jp/pendulum/report.pdf ワンチップマイコンを応用した自立型倒立振り子] |
|||
* [http://www.youtube.com/watch?v=B6vr1x6KDaY&feature=relmfu YouTube - Double Pendulum on a Cart] |
|||
* {{YouTube|J4CP9I88y_g|Hello! MiP}} |
|||
* [http://www.youtube.com/watch?v=cyN-CRNrb3E&feature=related YouTube - Triple Pendulum on a Cart] |
|||
* {{YouTube|AfFBa4JG1n4|倒立2輪 新タイプ}} |
|||
* [http://mw.concord.org/modeler1.3/mirror/mechanics/inversependulum.html A dynamical simulation of an inverse pendulum on an oscillatory base] |
|||
* [http://www.library.cmu.edu/ctms/ctms/examples/pend/invpen.htm Inverted pendulum modeling with several control systems in Matlab] |
|||
{{DEFAULTSORT:とうりつしんし}} |
|||
* [http://www.engr.usask.ca/classes/EE/480/Inverted%20Pendulum.pdf Inverted Pendulum: Analysis, Design, and Implementation] |
|||
[[Category:力学]] |
|||
* [http://lars.mec.ua.pt/public/LAR%20Projects/Humanoid/2006_MiltonRuas-Projecto/Simuladores/Pendulo%20Invertido/bugeja.pdf Non-Linear Swing-Up and Stabilizing Control of an Inverted Pendulum System] |
|||
* [http://neuron.tuke.sk/~vascak/predmety/FSR/Eseje/Seliga%20-%20Stabilization%20fuzzy%20control%20of%20inverted%20pendulum%20systems.pdf Stabilization fuzzy control of inverted pendulum systems] |
|||
[[Category:制御工学]] |
|||
[[Category:振り子]] |
[[Category:振り子]] |
||
[[Category:動力学]] |
|||
[[Category:機械要素]] |
|||
[[Category:ロボット工学]] |
2016年11月18日 (金) 15:33時点における版
倒立振子(とうりつしんし inverted pendulum)とは、支点よりも重心が高い位置にある振り子をいう。写真に示すように、支点を台車に載せて実装する、台車駆動型倒立振子がよく知られている[1]。ほとんどの応用例において振り子はある回転軸まわりにのみ運動するよう固定されており、自由度は1に制限されている。振り子は吊り下げられた状態が安定であり、したがって倒立振子は本質的に不安定であるため倒立状態を保つためには能動的に制御する必要がある。このためには支軸に直接トルクを加えたり、支点を水平方向もしくは鉛直方向に移動させることにより振り子の錘の回転速度を変化させることにより総トルクを変化させたりしてフィードバック系を構築する。支点を動かす型の倒立振子の一番簡単な例は、箒を手の上に立たせる系である。倒立振子は動力学と制御論における古典的な問題であり、制御戦略の試験用ベンチマークとして用いられる。
別の種類の倒立振子として、高層建築において支点を基部に固定し、建築物と同じ高さに油で浮かべた浮きの平衡位置の移動により傾斜を計測する傾斜計が挙げられる。
概要
倒立振子は動力学および制御論における古典的な問題であり、制御アルゴリズム(PID制御、状態空間表示、ニューラルネットワーク、ファジイ制御、遺伝的アルゴリズムなど)の試験用ベンチマークとして広く用いられている。この問題はリンクの追加や台車への移動指令、台車をシーソーの上に載せるなどの様々な拡張が可能である。また、ロケットやミサイルは空気抵抗の力の中心が重心よりも前側にあるため空気力学的に不安定であり、その誘導制御問題と倒立振子問題は関連している[2]。このような問題を理解するため、単純なロボット台車の上に載せた倒立振子が用いられることが多い。手の上に箒を立てる遊びや、自律平衡型の輸送機械であるセグウェイなどもこの問題の解である。
フィードバックに頼らず倒立振子を安定化する別の方法として、支点を上下に高速に振動させる方法がある。このような装置をカピッツァの振り子と呼ぶ。支点を(加速度と振幅の意味で)十分に強く振動させることにより、直感には強く反するが倒立振子に加えられた擾乱から回復することが可能となる。支点が単振動する場合は、振り子の動きはマシュー方程式により記述することができる。
運動方程式
倒立振子の運動方程式は、倒立振子に課せられる拘束によって変化する。倒立振子の構成には様々なものがありうるため、それらを記述する運動方程式も数多く存在する。
支点固定型
振り子の支点が空間的に固定されている場合、運動方程式は非倒立振子のものと同一となる。次に示す方程式は運動に抗する摩擦力がなく、棒は質量のない剛体と見做すことができ、平面内に運動が制限されているという仮定をおいた場合の運動方程式である。
ここで、 は角加速度を、 は重力加速度を、 は振り子の長さを、 は平衡位置からの変位角を表わす。
片々足し合わせることにより角加速度項と重力項が同符号となるように変形することもできる。
したがって、倒立振子は不安定平衡点からみた初期位置の方向に向かって、長さに反比例した加速度で遠ざかることがわかる。したがって、振り子は長い方が短い振り子よりも遅く落ちる。
トルクと慣性モーメントを用いた導出
質量 の質点を、長さ の質量のない剛体棒の支点と逆側に固定した構成の振り子を考える。
系の総トルクは慣性モーメントと角加速度をかけた値に等しくなる。
重力による総トルクは以下のように書ける。
ここで、 は倒立平衡点から測った変位角である。
したがって、次の運動方程式を得る。
質点の慣性モーメントは次のように得られる。
倒立振子の場合、動径は棒の長さ に等しい。
質量と で辺々割って次を得る。
台車駆動型倒立振子
台車駆動型倒立振子は図のように、質量 の質点を長さ の棒の先に付け、逆側を水平に動ける台につけた構成である。台車は線形運動しかしないものとし、 and is subject to forces resulting in or hindering motion.
安定化の要点
倒立振子を安定化するための要点は定性的に三つのステップにまとめることができる。
1. もし傾き角 が右向きならば台車は右に加速する必要があり、逆もまたなりたつ。
2. 軌条中心からの相対台車位置 を、ヌル角度(制御系がゼロにしようとする角度誤差)を位置で変調することにより、つまりヌル角度 とすることにより安定化する。ただし、 は小さくとる。これにより棒が軌条中心に向けて若干傾いた位置に安定化されることになり、傾き角が鉛直の場合は軌条中心に向けて安定化制御がかかることになる。傾きセンサのオフセットや軌条の傾きなどの不安定要素は安定位置のオフセットとして表われる。さらにオフセットを追加すると位置制御ができる。
3. 支点に吊り下げられた通常の振り子は振り子の角速度 に反応のピーク点を持つ。制御不能な振動を防ぐため、に近い支点運動の周波数スペクトルを抑制する必要がある。倒立振子でも、安定化のために同じようなフィルタが必要となる。
ヌル角度変調戦略の結果として、位置フィードバックは正のフィードバックとなり、突然右に動くよう指令すると台車はまず左へ動いてから右へ傾いた振り子を再び平衡にするため右へと移動する。振り子の不安定性と正の位置フィードバックとの相互作用により系は安定となっており、これを数学的に解析することは興味深く奥の深い問題となっている。
ラグランジュ方程式
ラグランジュ方程式から運動方程式を導出することもできる。 を長さ の振り子の直立位置からの変位角とし、作用する力は重力と x 方向への外力 F とする。 を台車の位置と定義すると、系のラグランジアン は以下のように書ける。
ここで は台車の速度、 は質量 の質点の速度とする。 および は x と の導関数を用いて次のように書ける。
の表式を簡単化すると以下のように書ける。
すると、ラグランジアンは次のように書ける。
ここで、オイラー・ラグランジュの運動方程式は次の表式である。
この方程式系における に上の表式を代入すると、倒立振子の運動を記述する方程式系が次のように得られる。
この方程式系は非線形であるが、制御系の目標は振り子を直立に保つことなので、 近傍で線形化することが多い。
ニュートンの第二法則
ラグランジュ方程式の代わりに、ニュートンの第二法則を用いる方が利点が多いことが多い。ニュートン方程式を用いれば、振り子と台車の間の結節点における反力が得られる。すると、物体一つにつき x-方向と y-方向のあわせて二つの方程式が得られる。台車の運動方程式は次のようになる。ただし、左辺は合力、右辺は加速度を表わす。
ここで、 は 結節点における反力を表わす。 は台車にかかる垂直抗力である。二つ目の方程式は鉛直方向の反力にしか依存しないので、垂直抗力を解くのに用いることができる。一つ目の方程式は水平方向の反力を解くのに用いることができる。この運動方程式系を完成させるには、振り子に固定された質点の加速度を計算する必要がある。質点の位置は次のような慣性座標系により表わすことができる。
二階微分をとることにより慣性系における加速度ベクトルを得る。
第二運動法則を用いて、x-方向と y-方向の二つの方程式を得る。質点にかかる反力は台車にかかる反力と逆符号になることに注意されたい。これはニュートンの第三法則から帰結する。
一つ目の方程式から、外力 によらず水平方向の反力を計算する方法が得られる。 二つ目の方程式は鉛直方向の反力の計算に用いることができる。一つ目の運動方程式は を 代入して次のように得られる。
この方程式をよく見れば、ラグランジュ法による方程式と同じであることがわかる。二つ目の方程式を得るには、振り子の運動方程式を常に振り子に直交する単位ベクトルとのドット積をとる必要がある。このベクトルは物体系の x-座標と呼ばれることが多い。慣性座標系ではこのベクトルは単純な二次元座標変換を用いて以下のように表わされる。
ベクトル表記で書いた振り子の運動方程式は のようになる。この両辺に とのドット積をかけると、左辺は次のようになる(転置をとってかけるとドット積になることに注意)。
上の式展開においては反力の物体系成分と慣性系成分との関係式が用いられている。質点と台車を繋ぐ棒が質量を持たないという仮定から、この棒は棒に垂直な負荷をまったく伝えないことを意味する。したがって、反力の物体系成分は単に のように書け、棒に沿った成分しか持たないことがいえる。このことから、棒の張力に関して次の方程式が得られる。
先の運動方程式の右辺と とのドット積も同様に計算することができる。その結果は(少々整理すると)以下のようになる。
左辺と右辺を繋いで m で割ると以下を得る。
これもまた、ラグランジュ法による方程式と同一である。ニュートン法を用いる利点は、全ての反力が明らかであり、損壊がないことを保証できる点にある。
支点の振動する振り子
質量の無い、振動する台に繋がれた振り子の運動方程式は台車に繋がれた振り子と同じように導出することができる。質点の位置はこの場合は次のように表わされる。
そして、位置の一階微分をとることにより速度が得られる。
この系のラグランジアンは次のように書ける。
そして、オイラー・ラグランジュ方程式
から次の運動方程式が得られる。
ここで、y が単振動 で表わされる場合、次の微分方程式を得る。
この方程式は基礎的閉形式解を持たないが、様々な方法で調べることができる。たとえば、振幅が小さい場合はマシュー方程式により精度よく近似することができる。解析により、振動が速ければ振り子が直立を保つことがわかる。最初のプロットは の振動が遅い場合には振り子を直立状態からずらすとすぐに倒れてしまうことを示している。短時間で は 90° を超えており、つまり振り子は倒れてしまっている。 の振動が速ければ振り子は直立位置の周りで安定に保たれる。二つ目のプロットは振り子が直立位置 () からずれてもその近傍で振動することを示している。直立位置からのずれは小さくたもたれ、倒れてしまうことはない。
倒立振子の種類
倒立振子を安定させることは広く取り組まれている工学的課題である[3]。台車駆動型倒立振子にも、棒を載せただけのものから振り子が複数の節に分かれているものまで様々な変種がある。その他にも、倒立振子の棒もしくは節分けされた棒を回転部品の端にとりつける種類のものがある。台車型と回転型の両方で倒立振子は平面上に倒れるしかない。これらのプロジェクトでは、平衡位置にあるものを維持するだけでなく、自律的に平衡位置を達成することが求められる。また、二輪倒立振子という別のプラットフォームもある。二輪倒立振子では一点での回転が可能であり、格段に高い操作性を実現できる[4]。その他にも、一点上での平衡をとるものもある。コマや 一輪車、ボール上の倒立振子はすべて一点上で平衡をとる。上で説明したように、鉛直に振動する台によっても倒立振子を安定化することができる。
倒立振子の例
倒立振子には人造のものも自然のものも含めて様々な例がある。
最も身近な倒立振子はヒトであるといわれる。直立した体を持つヒトは常に平衡を保つための調製を行なっていなければ立つことも歩くことも走ることもできない。
単純な例として、箒や定規を手の上で直立させる遊びが挙げられる。
倒立振子は様々な装置に組込まれており、また特異的な工学的問題として研究されている[5]。倒立振子は本質的に不安定なので擾乱により計測可能な反応を示すため、初期の地震計の設計における中心的要素として採用されていた[6]。
倒立振子模型はいくつかの個人輸送システムにも採用されている。二輪車椅子やその他の二輪モーター車両により高い移動性を確保することができる。
関連項目
出典
- ^ C.A. Hamilton Union College Senior Project 1966
- ^ http://exploration.grc.nasa.gov/education/rocket/rktstab.html
- ^ http://robotics.ee.uwa.edu.au/theses/2003-Balance-Ooi.pdf
- ^ http://csuchico-dspace.calstate.edu/bitstream/handle/10211.4/145/4%2022%2009%20Jose%20Miranda.pdf?sequence=1
- ^ http://csuchico-dspace.calstate.edu/bitstream/handle/10211.4/145/4%2022%2009%20Jose%20Miranda.pdf?sequence=1
- ^ http://earthquake.usgs.gov/learn/topics/seismology/history/part12.php
関連文献
- Franklin; et al. (2005). Feedback control of dynamic systems, 5, Prentice Hall. ISBN 0-13-149930-0
外部リンク
- YouTube - Inverted Pendulum - Demo #3
- YouTube - inverted pendulum
- YouTube - Double Pendulum on a Cart
- YouTube - Triple Pendulum on a Cart
- A dynamical simulation of an inverse pendulum on an oscillatory base
- Inverted pendulum modeling with several control systems in Matlab
- Inverted Pendulum: Analysis, Design, and Implementation
- Non-Linear Swing-Up and Stabilizing Control of an Inverted Pendulum System
- Stabilization fuzzy control of inverted pendulum systems