フレキシブルアームの反復学習制御
2009SE006 天野敦
指導教員：大石泰章

1

はじめに

目標軌道 r(t) は，反復学習制御は，制御対象の数学モデルを用いずに，試行を繰り返すことによって徐々に制御性能を上げていく制御法である．この制御方法の利点は制御対象の数学モデルの導出を経由せずに高性能な制御が可能であることである．また, モデルを用いないので制御対象の物理パラメータがわからない状況でも制御することができる．既存の反復学習制御の多くは直達項を持たない機械システ
ムに適用するとき誤差の時間微分を必要とする．観測デー
タにはノイズが含まれることから時間微分が必要であることは問題となる．浜本，杉江 [1][2] は線形なシステムに対して, 学習する入力空間を無限次元から有限次元に制約することで，誤差の時間微分を用いない反復学習法を考えた．本研究の目的は，浜本，杉江の反復学習法を実際の機械システムに適用することである.

2

制御対象

103
(s + 10)3(2)のステップ応答の逆ラプラス変換の 0[s] ≤ t ≤ 3[s] の部分とする．フレキシブルアームの出力 y(t) がこれに近くなるような入力 u(t) を求めることを目指す．制御対象の伝達関数 P は，原点に極を持つ不安定なシステムなので安定化させて反復学習させる．このときのブロック線図を図 2 に表す．ここでのゲイン K = 2 は試行錯誤的に求めた．

u(t)r(t) +-+
K +P

y(t)

ロボットアームなどの機械システムは非線形性が強く，動作点の周りで線形近似するなどしてモデルを導いている．本研究で扱うフレキシブルアームは軽量化したロボットアームの単純化モデルであり，比較的線形なシステムである．
図 2 入力 u(t) を更新するときのブロック線図
図１が本研究で用いた制御対象の写真である．フレキシ
ブルアームの制御量は先端の角度であり，操作量はアー
3.2 基底関数の設定
ムにギアを介して取り付けられたモータの電圧 V である．
文献 [1] に従い入力空間として目標軌道 r(t) とその時
アームの根元にエンコーダが付いており，角度 θ を検出間微分を基底とする空間を考える．ここでは目標軌道のすることが可能である．ここでは 1 入力 1 出力の機械シ3 階微分までを基底関数として用いる．
ステムとして使用する．

r(t),dr(t) d2 r(t) d3 r(t),,, q(t)dtdt2
dt3(3)

1
ただし，q(t) は伝達関数 s+1として持つシステムに r(t)を入力したときの出力である．基底を (3) のようにとる
ことで，入力 u(t) を基底の線形和で近似することが妥当である．入力 u(t) は以下の式で表せる．

u(t) = α0 r(t)+α1(4)また，制御対象の出力を y(t) とする．出力は入力空間に含まれると限らないので，

図 1 フレキシブルアームの写真

3

反復学習則の設計

3.1

制御対象のシミュレーションモデル

y(t) ∼= β0 r(t)+β1

フレキシブルアームの動特性は次の伝達関数であらわせる [3]．

P =−0.4037s + 0.0002895
s4 + 37.03s3 + 1154s2 + 0.0001647s

d2 r(t)d3 r(t)dr(t)+α2+α3+α4 q(t)
2dt
dt
dt3

d2 r(t)d3 r(t)dr(t)+β2+β3+β4 q(t)2dtdtdt3(5)というように入力空間の関数で近似する．以上より入力と出力をベクトルとして考えることができ，システムを静的システムとして捉えることができる．これを行列 Lfを用いると，式 (6) が成り立つ．

(1)
β = Lf α(6)ただし，2(7)

1

Im[λ]

α = [α0 , α1 , α2 , α3 , α4 ]T , β = [β0 , β1 , β2 , β3 , β4 ]T

Lf はそれぞれの基底関数を図 2 の u(t) の入力として加え，入力 r(t) = 0 として，それらの出力を (3) の基底を用いて表すことにより求めた．

−1

学習ゲインの設計−2−2(8)H は設計すべき学習ゲインである．式 (8) の両辺から α∗を引き，β ∗ = Lf α∗ , β k = Lf αk の関係を使うと，(α∗ − αk+1 ) = (I − HLf )(α∗ − αk )(9)

したがって，適当な H を選ぶ問題は離散システムの安定化問題に帰着され，

ρ(I − HLf ) < 1

設計結果

4.1

LMI による極配置

4.2

H = F X −1となる．そのときのゲイン H は式 (13) となる．
0.00590.08250.01150.0400−0.0107−0.0003
0.00560.0006−0.17120.0170

反復学習によるシミュレーション

初期入力を u0 (t) = 0，初期の入力のベクトル表現を
α0 = [ 0 0 0 0 0 ]T としてシミュレーションを行った．図 4 に 2 回反復後の出力 y 2 (t) と 10 回反復後の出力y 10 (t) を示す．(a) は目標軌道に収束していないが，反復10 回目の (b) では目標軌道に収束していると言える．

1の解 Ｘ，F を求め，ゲイン H は，0.0510
 0.0008

H =  0.0066
 0.0081−0.00092(10)LMI により I − HLf の固有値を中心 (0, 0)，半径 0.5の円領域に配置する．
[]0.025X
X − LTf F>0(11)X − F T LfX1

図 3 I − HLf の極

0.00090.05210.23370.4001−0.0137

角度[rad]となれば反復学習が成立する．ただし，ρ は固有値の絶対値の最大値である．本研究では上の式が成り立つようなゲイン H を LMI による極配置法を用いて設計する．ただし，学習速度は I − HLf の固有値の絶対値の位置に依存するので，学習速度が速くなるように設計する．今後学習速度以外にも条件を考慮する際に，ゲインを求めやすいと考え LMI を用いる．

40Re[λ]出力 y(t) が目標軌道 r(t) と一致するときの最適な入出力ベクトルを α∗ ，β ∗ とし，試行 k 回目のベクトルを αk ，β k とかく．学習則として以下を考える．

αk+1 = αk + H(β ∗ − β k )−11
角度[rad]3.300.5
目標軌道2回目
0012
時間[s]30.5
目標軌道
10回目
001
2
時間[s]

[(a) 試行 2 回目のときの出 [(b) 試行 10 回目のときの出
力 y 2 (t)]力 y 10 (t)]図 4 シミュレーション結果

5

おわりに有限次元内で入力を更新する反復学習制御をシミュレーションにより行った．学習速度の速いゲインが設計でき(12) た．また，目標軌道に追従させることができた．実験機に適用する際にノイズを伴うことから Lf が正確に求められない．ノイズを考慮した LMI によるゲインの設計を し，実験機に適用することが今後の課題である．

−0.0045−0.0177 
−0.0356  参考文献
−0.0827  [1] 浜本・杉江：入出力空間を限定した反復学習制御，シ0.0651
ステム制御情報学会論文誌，Vol.2，No.5 (1999)(13)

LMI を用いて H を求めた結果，I − HLf の固有値は図 3 のように単位円内に配置できた．図 3 は複素平面であり，外側の実線の円が単位円であり，内側の破線の円が LMI の極配置する領域である．また，×印が配置した極の位置を示している．設計した学習ゲイン H により学習則に従って入力 u(t) を更新する．

[2] 杉江：パラメータ推定型反復学習制御，計測と制御，
Vol.44，No.2 (2005）[3] 鈴木：非線形 PID によるフレキシブルアームの制振制御，南山大学大学院修士論文 (2007)3