その名の通り「逆立ちした振り子」です。普通の振り子は支持点が重心の上方にあるのに対して,倒立振子は支持点が重心の下方に存在します。倒立振子が倒れないようにするには,常に支持点を重心の真下に位置させる制御技術が必要で,その応用として二輪移動装置のセグウェイが知られています。
図1.2 セグウェイ |
最終的に,セグウェイを作りたい!しかし,いきなり本番は無理なので,まずは小型なヤツをつくりました。
あんまり小型でもセグウェイに繋がらない!そこで・・・
→ 床を走る60cm位のヤツに決定!
→ 無線でコントロールしたい!
以下に製作したブツを示します。
この倒立振子は外乱を加えるとバランスをとる為に大きく振動しますが,減衰しながら最終的に初期位置へ復帰することができます。
また,無線コントローラからの速度指令を受信して,任意の方向へ走行を行うことが出来ます。
倒立動作は赤い起動SWを押すことによって開始し,動作の停止は黒い停止SWを押します。起動SWを押す際は,各センサの初期値を取得するために本体を出来るだけ垂直に立てる必要があります。
倒立振子を設計するためには,まず車体へ働く力を物理的に把握することが必要です。文献を調べたところ,運動方程式を立てる方法が2つあることが分かりました。
参考文献によれば,厳密な設計は以下の段階を踏まなくてはならないようです。
この4段階を経ると以下の制御式が得られるようです。
(5.1式)この式は,ある制御周期kに加えるべきトルク指令uがその時点での本体傾斜角θ,本体傾斜角速度ω,車輪回転角速度φとその制御偏差の積算値に各フィードバックゲインF1〜4を乗じ,足し合わせたものであることを示しています。 倒立振子の制御は,この式を用いて本体傾斜角速度ωをゼロに,車輪角速度φを車輪角速度目標値φdにすることが課題です。
ところが,私には上記の制御式を導出し,各ゲインを推定できる知識がありませんでした。そこで,場当たり的ではありますがF1〜4の適切な組み合わせを現物合わせで調整することにしました。 現物調整にあたり,車輪角速度φ[deg/s]は倒立振子の動作を観察するのに分かりにくい単位です。そこで,φ[deg/s]を車輪並進速度v[mm/s]に直して利用することにしました。 実際に利用したのは以下の制御式です。
(5.2式)