WOLFRAM

倒立振り子

線形二次レギュレータを使って不安定な振り子を安定させます.ロボットの制御によく使用されるこのタイプのフィードバックレギュレータを,ここでは倒立振り子を直立状態に保つために使います.

この例を実行するためには以下が必要です.

System ModelerとMathematicaの最新版

どちらかお選びください.

無料評価版を
取得する
ダウンロードを
続行する

倒立振り子モデル

倒立振り子モデルは振り子と台車で構成され,振り子の回転軸は台車の中心にあります.振り子は質量中心が回転軸の上になるように初期化されます.振り子が台車の真上にある場合,振り子は定常状態になり,乱されるまでそこに留まります.

倒立振り子のアニメーション

真下に垂れ下がった振り子は安定した位置にありますが,倒立振り子は不安定です.つまり,少しでも乱されると振り子は倒れてしまい,元の位置に戻ることはありません.

制御系

不安定な振り子を安定させるためには,制御系が使えます.ここでは線形二次レギュレータを使用します.まずレギュレータはシステムの状態,つまり台車の位置と速度,振り子の角度,角速度を測定します.次に,すべての状態がゼロになるように台車に適用する力を計算します.言い換えると,レギュレータは振り子が真上を向き(ここでは0度と定義),台車が原点に戻ることを目指します.

制御系をハイライトした倒立振り子モデルのダイアグラム

外部接続

無料のModelPlugライブラリを使用すると,Arduinoボードをモデルに接続し,モデルで指定された2つのアナログピンへの入力を制御することで,外乱力をリアルタイムで設定することができます.これは例えばサムホイールポテンショメータを使用して実行できます.

外部接続をハイライトした倒立振り子モデルのダイアグラム