• 検索結果がありません。

台車型自立ロボットの立位安定化

ドキュメント内 2017年版PDF (ページ 127-131)

12.3 台車型自立ロボットの立位安定化

Code 1p118の自由運動では,振り子はぶらんぶらんとスイングするのみであった.

ここでは,制御力f(t)をうまく調整して,振り子を倒立状態に保つ方法を紹介する.

一般に,何らかの測定値に応じて制御力を調整することをフィードバック制御という.

以下がその一例である.

12.3.1 P制御

振り子が立位を保つには,倒れそうになったときに,立位に復元すればよい.その ために,倒れ角θに比例した力f(t)で台車を押してやる.

f(t) =Kθ (12.7)

この制御方式を,比例制御(proportional control)と呼び,略してP制御という.比 例定数Kを比例ゲインという.

実習12.2 Code 1の5行目の力を「ft = 20*x(3);」に書きかえ,12行目の初期 値を「x0 = [0; -3; 0.5; 1.2];」に書きかえて実行せよ.比例ゲインK= 20の P制御の結果が観察できる.

12.3.2 PD制御

このように,P制御だけでは振動が起きて,立位に安定しない.そこで,角速度θ˙ に比例した力でも押してやる.

f(t) =Kθ+˙ (12.8)

˙の部分を微分制御(derivative control)と呼び,略してD制御という.比例定数 Lを微分ゲインという.P制御とD制御を合せた(12.8)の制御方式を,PD制御 (proportional-derivative control)という.

実習12.3 Code 1の5行目の力を「ft = 20*x(3)+2*x(4);」に書きかえ,12行 目の初期値を「x0 = [0; -3; 0.3; 1.2];」に書きかえて実行せよ.K= 20,L= 2のPD制御の結果が観察できる.

このように,D制御は振動を抑制する効果を持つ.以上,図11.2p112の倒立振り 子は,(12.8)のPD制御により自立状態に安定化できる.

12.3.3 自立ロボットのダイナミクス

実習12.4 Code 1の5行目「ft = 20*x(3)+2*x(4);」のK= 20, L= 2の値 を試行錯誤的に調整して,次の2種類の運動を実現せよ.

(1)振動しながら立位に向う運動.

(2)振動しないで立位に向う運動.

ここで見付けたK, Lの値は,実習13.2p128で再利用するので,メモしておくこと.

ちなみに,K, Lの値が悪いと,倒立を保てなくなる.

▶▶(等速直線運動) ロボットが倒立安定化した後(x(3),x(4)0),制御力はほとんど

0になる.このロボット・シミュレータには摩擦が無いので,このときロボットは自由運 動に近い状態となる.したがって,倒立安定化が完了した時点でロボットが速度を持って いれば,その速度は保たれる.

▶▶(初期値の調整) 上述の等速直線運動により,振子が画面から出て見えなくなる場合

は,12行目の初期値「x0 = [0; -3; 0.3; 1.2];」を調整せよ.初期値の各成分は,

x0 = [台車変位;台車速度;角度;角速度];

であった.これらの物理的な効果を考えて見当をつけよ.

12.3. 台車型自立ロボットの立位安定化 121

12 章の補足

● 例題12.1p116の解答例

新しい変数と,その微分x˙1= ˙x, x˙2= ¨x, x˙3= ˙θ, x˙4= ¨θを使うと,



















˙

x1=x2x˙1= ˙x=x2

˙

x2=F(x1, x2, x3, x4)

˙

x3=x4x˙3= ˙θ=x4

˙

x4=G(x1, x2, x3, x4)

(12.9)

という1階化が得られる.

A12

使用した主要な関数

●関数一覧

関数名 機能

// コメントアウト

= 代入

function 関数の定義

function y =関数名(引数) 内容;

y =返り値;

endfunction

dx(1),dx(2) ベクトルdxの第1,2要素 x(1), x(2) ベクトルxの第1,2要素

xx(i, :) 行列xxi番目の行ベクトル

[a;b] 縦ベクトル

a b

tt=linspace(a,b,n) 等差数列tt=[t1, ... ,tn]の作成.a…始値, b…終値,n…等分数 xx=ode(x0,0,t,func) 連立1階常微分方程式を解く.※原理は12.1.2節を参照

xx…数値解,func…方程式,x0…初期値,0…初期時刻,t…解を求める時 刻列;

xx =

x(t1) x(t2) · · ·

˙

x(t1) x(t˙ 2) · · ·

plot(a,b) 2次元プロット.a…x軸の座標データ,b…y軸の座標データ

xgrid() グリッド(座標の格子)を表示する.

xtitle(”タイトル”) グラフに”タイトル”を付ける.

13

振動と固有値

物体の様々な運動形態のなかで,ロボットなどの自律的な機械装置の制御方法に深 く関わるのが,振動(vibration)という運動である.その基本となるのが,外から余 計な力がかからない場合の振動で,これを自由振動(free vibration)という.

13.1 振動とダイナミクス

13.1.1 振動

振動とは,同じ場所を行ったり来たりする形態の運動である.そのような運動が実 現するには,何が必要だろうか?—復元力(restoring force)である.復元力を持つ 物体を引っぱると,元の位置に戻ろうとする.戻りすぎて元の位置を行き過ぎること を,オーバーシュート(overshoot)という.オーバーシュートしてしまった物体は,

もう一度元に戻ろうとする.それがまたオーバーシュートして,元に戻ろうとし・・・と いう現象が繰り返される.これが振動のカラクリである.

13.1.2 ダイナミクス

振動を引き起す系は,条件を変えると表13.1p123のような6種類の動き方に変化 する可能性がある.このような事物を動き方を,ダイナミクス(dynamics)と総称す る.振動はその一形態である.また,個数を表す数に0を含めるのと似た発想で,一

定値の(動かない)動き方も表に含めた.(表中の「固有値」については後述する)

ちなみに,表13.1のようなダイナミクス(動き方)を示す事物は,物体の運動だけ ではない.それ以外にも,

電気回路 ※x(t)は電流,電圧など

化学反応 ※x(t)は物質の濃度など

経済現象 ※x(t)は株価,為替レート,GDPなど

その他,時間変動する事物

など枚挙にいとまがない.恐らくは,森羅万象の全てについて,ダイナミクスを議論す ることができる.

ドキュメント内 2017年版PDF (ページ 127-131)