拘束システムに対するリファレンスガバナの実現
M2004MM025 小島 伸也
指導教員1

はじめに現実の制御系設計を考えると, アクチュエータ, 制御対高見 勳による影響でメモリ不足に陥る問題がある. 1[ms] 程度のサンプリングタイムにおいてもリファレンスガバナが設計できないという問題は, 致命的であるといえる.

象共に限界入力値が設定されている. もし, これらの拘束

そこで本論文では, サンプリングの間引き [3][4][5] をを考慮にいれなかった場合には, ワインドアップ現象など行うことで計算量とメモリ容量の低減化をし, 拘束条件をによる制御系の不安定化や, ハードウェアの破壊を招く可満足するための LMI を定式化する. さらに, それを三慣性能性がある. よって, 制御系設計では, 良好な過渡応答を達システムに適用させてみることで, 提案法の有効性を考察,成することのみならず, 上記の拘束条件を満足することが検証する.

要求される. これらの要求を同時に満たすための手法の一つとして, 制御系への目標値信号を修正することにより入力や状態制約を満足させる, リファレンスガバナが最近注目されている.

2 リファレンスガバナ設計
有限時間で入力される参照入力 r(t) に対し, 新たなる修正目標値を生成する機構であるリファレンスガバナを付

過去のリファレンスガバナの設計に関する研究は, オン加した閉ループシステムを図 1 示す. ここで, Σ p は制御対ライン設計 [1] とオフライン設計 [2] の 2 つに大きく分け象である. また, Σc はフィードバック補償器であり, 拘束ることができる. それぞれの特徴は以下の通りである.

条件を考慮して設計されているものではないとする. Σ p ,オンライン設計

Σc から成る閉ループシステム Σcl を考える. このとき, 閉ループシステム Σcl は離散時間システムとして扱い, その状態方程式は次式のように記述されるものとする.

• フィードバック制御が可能となる.
• 閉ループ系の状態量の情報を常に必要とする.
• 制約条件を満たす際の保守性がオフライン設計よりも高い.
• サンプリングタイムの短いシステムに対しては, 計x(t + 1) = Acl x(t) + Bcl g(t)y(t) = Cycl x(t) + Dycl g(t)z(t) = Czcl x(t) + Dzcl g(t)

Σcl：

(1)

算時間の影響によって実時間での実装は困難となる場合がある.

オフライン設計• フィードバック制御ができないので, 未知の入力に対して非常に弱い.
• 計算をオフラインで行うため, 追従特性を考慮することができ, より積極的な参照入力を生成できる.
• オンライン設計と比べて, 比較的実装が容易であり,実用性が高い.

ここで, x(t) ∈ Rn は閉ループ系の状態, y(t) ∈ Rm は出力,g(t) ∈ Rm は設計すべき修正目標値, z(t) ∈ Rl は拘束条件を表すためのベクトルである. なお, 初期状態は x(0) = 0である. 拘束条件 z(t) は以下の不等式で記述されるものとする.
|z j (t)| ≤ 1∀ j ∈ [1, l],∀t(2)ここで, z j は z の j 番目の要素を表す.



ここで, 特に, オフライン設計に注目し, 現実問題を考えてみる. 制御系を設計するにあたって, 目標値をステップ関数に限定しても実用上大きな制約になることはない. また, 目標値があらかじめ与えられる場合も多く, そのとき

r(t)
Σrg(t) +-u(t)ΣcΣpy(t)にはオンラインで目標値を修正する必然性もあまりない.

Σcl

これらは, メカトロニクス系に代表される多くの位置決め

図 1 リファレンスガバナを付加した閉ループシステム系にあてはまり, まさにリファレンスガバナのオフライン設計に対して最適な制御対象であるといえる.
しかし, 実装にあたって, リファレンスガバナは計算量という大きな問題を有する. これは, サンプリングタイムが小さくなればなるほど, 線形行列不等式 (Linear MatrixInequalities : LMI) で解くべき変数が増加し, 数値的にLMI を解くことが困難になる設計時の問題と, 変数の増加

リファレンスガバナとは, (2) 式を満たしながら, 出力y(t) が与えられたステップ目標値定数 r(t) = r0 にできるだ
け速く追従するような修正目標値列 g(0), g(1), g(2), · · · を生成することにある [6].
本論文では, リファレンスガバナを導出するにあたって

最小とすべき目的関数 J を (3) 式に定義する.

J=N
X
t=02||r0 − y(t)|| +N
X
t=0と表すことができる. この考えを使って, 間隔を n 倍にしたときの z(t), y(t) を考える. すると,
2w(t)||r0 − g(t)||(3)

ここで, w(t) は重み関数, N は総サンプリング数である.

w(t) を t の単調増加関数として与えることにより, t が小さい時点では g(t) の変動を大きく, t が大きくなれば g(t)が定数 r0 に一致するといったように修正目標値 g(t) の動きを大まかに決定することができる. この評価関数を最小化する修正目標値列 g(t) の設計を LMI に帰着させて解ことで, 最適なリファレンスガバナを設計できる.

3

サンプリングの間引き

t−1Xj)−1j)−2(A2(t−Bcl + A2(t−Bcl )g̃( j)clcl(4)

j=0z̃2 (t) =t−1
X
j=0nXj)−kCzcl (An(t−Bcl )g̃( j) + Dzcl g̃(t)cl[t = 0, 1, · · · , N/2]と表せる. 次に, 時刻 2t + 1 の場合は, x̃2 (t) = x(2t + 1),
g̃(t) = g(2t) と考えることで,
t−1Xj)j)−1(A2(t−Bcl + A2(t−Bcl )g̃( j)clcl(5)

j=0nXj)−k+1Czcl (An(t−Bcl )g̃( j)clk=1+(Czcl Bcl + Dzcl )g̃(t)..
.
t−1nXXj)−k+n−1z̃n (t) =Czcl (An(t−Bcl )g̃( j)cl(10)

Ak−1cl )Bcl + Dzcl )g̃(t)(11)

k=1+(Czcl (k=1ỹ(t) =t−1XCycl (j=0と表せる. このとき, 出力 y(t) は状態 x̃1 (t) のときだけ注目すれば良いとする. しかし, 拘束条件 z(t) は, 全てのサンプリングにおいて満たされなければならないので全ての状
態 x̃1 (t), x̃2 (t) を考慮するとj)−12(t− j)−2Czcl (A2(t−Bcl + AclBcl )g̃( j)clj=0+Dzcl g̃(t)t−1Xj)j)−1z̃2 (t) =Czcl (A2(t−Bcl + A2(t−Bcl )g̃( j)
clcl

(6)

j=0+(Czcl Bcl + Dzcl )g̃(t)t−1Xj)−12(t− j)−2ỹ(t) =Cycl (A2(t−Bcl + AclBcl )g̃( j)clnXj)−kAn(t−Bcl )g̃( j) + Dycl g̃(t)cl(12)

k=1[t = 0, 1, · · · , N/n]となる. ベクトル Z̃1 , Z̃2 , · · · , Z̃n , Ỹ, G̃ をZ̃1 = [z̃T1 (0) z̃T1 (1)Z̃2 = [z̃T2 (0) z̃T2 (1)..
.
Z̃n = [z̃Tn (0) z̃Tn (1)···z̃T1 (N/n)]T···z̃T2 (N/n)]T···z̃Tn (N/n)]T······ỹT (N/n)]Tg̃T (N/n)]Tと定義すると (9), (10), (11), (12) 式は Z̃1 = M̃z1 G̃, Z̃2 =M̃z2 G̃, · · · , Z̃n = M̃zn G̃, Ỹ = M̃yG̃ と表すことができる. ここで, M̃z1 , M̃z2 , · · · , M̃zn は (Nl/n× N/n) 行列, M̃y は (N/n×N/n) 行列である. まず, 評価関数 J に Schur Complement

F1 (γ, G̃) =t−1
Xn−1Xを適用すると[t = 0, 1, · · · , N/2]z̃1 (t) =(9)k=1Ỹ = [ỹT (0) ỹT (1)G̃ = [g̃T (0) g̃T (1)j=0x̃2 (t) =t−1
X

j=0

本節では, より実用的なリファレンスガバナ設計を考える. 従来の手法では, 修正目標値 g(t) の生成の際, サンプリングタイム 0.01[s] で 1[s] 間のガバナを設計すると, N=100, サンプリングタイム 0.001[s] なら, N=1000 とLMI 変数の数は, サンプリングタイムと制御時間に比例して大きくなる. そこで, 各サンプリングからの情報を間引いても, 拘束条件を常に満たすような LMI 最適化問題を再度設計する. つまり, g(0) = g(1), g(2) = g(3), · · · とすることで, g(0) が決まれば次は g(2) といったようにサンプリングの間隔を 2 倍にして扱うことにする. このとき, (1)式は以下のような 2 つの状態 x̃1 (t), x̃2 (t) に分けることができる. まず, 時刻 2t のときの状態として, x˜1 (t) = x(2t),g̃(t) = g(2t) と考えることで,x̃1 (t) =z̃1 (t) =(7)"Θ̃1G̃TG̃
γ − Θ̃2 + 2Θ̃3G̃

#>0(13)r0T (1) · · · r0T (N/n)]T ,W̃ = diag(w(0), w(1), · · · , w(N/n)), Θ̃1 = ( M̃yT M̃y + W̃)−1 ,Θ̃2 = R̃T0 (I + W̃)R̃0 , Θ̃3 = (R̃T0 M̃y + R̃T0 W̃) であり, γ は J の上界である. 制約条件 (2) 式も LMI となる. 実際, Z̃1 = M̃z1 G̃
, Z̃2 = M̃z2 G̃, · · · , Z̃n = M̃zn G̃ より,が導かれる. なお, R̃0 = [r0T (0)Z̃1i2 = ( M̃z1 G̃)Ti ( M̃z1 G̃)i < 1(14)Z̃2i2 = ( M̃z2 G̃)Ti ( M̃z2 G̃)i < 1(15)..
.
2Z̃ni = ( M̃zn G̃)Ti ( M̃zn G̃)i < 1[for i = 1, · · · , (N/n + 1)l](16)

j=0+Dycl g̃(t)[t = 0, 1, · · · , N/2]

(8)が成り立てば (2) 式は満たされる. ここで添字 i はベクトルの i 番目の要素であることを示す. 上式に Schur(a) 出力応答 y(t)( M̃z2 G̃)i
1

#

#

6000

5000>0>0(17)
(18)

5000

4000

4000
Reference[count]( M̃z1 G̃)i
1(b) 参照入力 g(t)6000

Output[count]Complement を適用し"
1F2i (G̃) =( M̃z1 G̃)Ti"
1F3i (G̃) =( M̃z2 G̃)Ti
..
.
"
1i
Fn+1(G̃) =( M̃zn G̃)Ti

3000

2000

#2000
1000

100003000

00.20.4

0.60.80100.20.4( M̃zn G̃)i>01[∀i ∈ [1, (N/n + 1)l]]

(19)

0.6

0.8

1

Time[s]Time[s](c) 入力電圧 u(t)642
Input[V]を得る. よって, 有限時間区間でリファレンスガバナを設計するには, (13), (17), (18), (19) 式を満たすような γ0-2と G̃ に関する LMI 最適化問題を解けばよい. この手-4法を導入すると, 解くべき LMI の変数 G̃ は間引きする-6ごとに N/2, N/3, · · · と減少していく. その結果, n 回に00.2

0.40.6

1 回修正目標値を生成したとき, LMI 行列のサイズはNNN
n + 2 + 2n n + 1 l , 変数の数は n + 2 に減少させることができる. これにより, 従来のリファレンスガバナでは設計できなかったサンプリングタイムが小さく, 制御時間が大きな LMI 最適化問題も解けるようになる.

(a) 出力応答 y(t)(b) 参照入力 g(t)

6000

6000

5000

5000

 01000
k1
 − k1 − c100J1J1
 J1
 00010x˙p =  k1k22)
0− (k1J+k− cJ22
 J2J22
 00000
k2000− kJ23J320 J1 = 0.0025[kgm ] J2 = 0.0018[kgm2 ] kaktkp 
 J1  u,  J3 = 0.0018[kgm2 ]0+ 


0

 k1 = 2.7[Nm/rad] k2 = 2.6[Nm/rad]
0


0

y = 0 0 0 0 1 0 xp

00001
c− J33






 x p





c1 = 0.007[Nm/(rad/s)] 
c2 = 0.001[Nm/(rad/s)] 
c3 = 0.001[Nm/(rad/s)] 
ka = 2[A/V]kt = 0.1[Nm@M/A]
k p = 3[Nm@D/Nm@M]

Reference[count]

4000

3000

200003000
2000
1000

1000

00.20.40.60.80100.20.40.60.8

1Time[s]Time[s](c) 入力電圧 u(t)642
Input[V]

制御対象として三慣性システムを考える. この制御対象の状態ベクトル x p を [θ1 θ˙1 θ2 θ˙2 θ3 θ˙3 ]T , u = Vとする Σ p の状態空間モデルは

Output[count]

実験例と検証1

図 2 リファレンスガバナなしのシステム応答

4000

40.8

Time[s]0-2-4-600.2

0.4

0.60.81Time[s]図 3 リファレンスガバナを付加したシステム応答で与えられる. この制御対象には安全性の観点から, 入力電圧 U[V] には飽和のために |U| ≤ 4.884 なる制約があるものとする. なお, この三慣性システムは一定以上の入力飽和があると安全のため自動的に制御を中断する.
次に, 制御対象をサンプリングタイム 0.005[s] の零次ホールドで離散化して, 補償器を設計する. シミュレーショ
ンでは, 参照入力を r0 = 5000[count], 制御時間を 1[s] 与える (N = 200). まず, リファレンスガバナを適用しないシミュレーション結果を図 2 に, リファレンスガバナを適用した場合のシミュレーション結果を図 3 に示す.
図 2, 3 より, リファレンスガバナを付加しない場合は,入力電圧が拘束条件を完全に満たしていないことがわかる. 実際, 実機に適用して実験してみると入力飽和の影響
より三慣性システムは制御を中断してしまうといった結果になった. この点において, リファレンスガバナの有効性は十分に確認できる.

しかし, このリファレンスガバナを実制御対象に実装するにあたって, 各サンプリング周期ごとに修正目標値 g(t)を生成する従来の手法では, 大規模な制御設計に対して,実装のしやすさやデータ量といった問題が発生してくる.
そこで, 本論文で提案するサンプリングタイムを間引きした設計を考える.
この手法を取り入れたことによって, 改善された結果を
表 1 に示し, 参考としてサンプリングタイムを 10 倍に間引いたときのシミュレーション結果を図 4 に示す. シミュレーションでは, 参照入力を r0 = 5000[count], 制御時間を1[s] 与える (N = 20).

(a) 出力応答 y(t)間引きと計算時間の関係なし

行列サイズ

604
202
71[s]

変数の数
計算時間

2倍
506
102
19[s]

4倍
460
52
13[s]

10 倍
442
22
11[s]

6000

5000

5000

4000

4000
Reference[count]

間引き(b) 参照入力 g(t)6000

Output[count]

表13000

2000

2000
1000

1000

03000

00.20.40.60.80

100.20.4(a) 出力応答 y(t)(b) 参照入力 g(t)

6000

5000

6500042000

123000

Input[V]3000

0.8(c) 入力電圧 u(t)

6000

4000
Reference[count]Output[count]

4000

0.6Time[s]Time[s]

2000

0-2
1000

1000

-4000.2

0.4

0.6

0.80100.2

0.4

0.6

0.8

1-6Time[s]Time[s]00.2

0.4

0.60.81Time[s](c) 入力電圧 u(t)6

図 5 実制御対象のシステム応答 (10 倍)
4

Input[V]20

いっても, 実制御対象では拘束条件を破ってしまう点であ-2る. そこで, 今後はこの不確かな拘束条件の見積もり法を-4-6考える必要がある.
00.2

0.4

0.60.81Time[s]参考文献
図 4 リファレンスガバナを付加したシステム応答 (10 倍)

図 4 より, サンプリングタイムを間引きしたとしても,拘束条件を破ることのない良好な結果を得ることを確認した. 表 1 より注目すべき点は, 各間引きに対する計算時間の違いで, 変数の数が半分になっただけで計算時間が1/4 ほど短縮されているのがわかる. この結果より, 修正目標値のサンプリング時間を長くし, LMI 変数の数を減少するように提案した手法は, 効果的であったといえる.
最後に, サンプリングタイムを 10 倍に間引いて設計したリファレンスガバナを三慣性システムに適用した際の出力結果を図 5 に示す.

5

おわりに
本論文では, サンプリングタイムを間引きすることで計算時間の大幅な短縮に成功し, より現実の制御対象に実装可能なリファレンスガバナを生成できた. この間引きの大きな利点は, データの軽減化に成功しながらも拘束条件は常に満たしているところにある. よって, 単純な参照入力(リファレンスガバナ) を閉ループ系に付加するだけで, 大幅な改善が期待されると考えられる. 実際, 今回提案したリファレンスガバナを三慣性システムに適用した場合, リファレンスガバナなしでは制御できなかったコントローラ
でも, リファレンスガバナを付加することで制御可能となることが確認できた.
今後の課題は, オフライン設計の場合, モデル化誤差の影響が顕著に現れるので, シミュレーションではうまく[1] 大原, 平田：参照入力集合のパラメトリゼーションにもとづく拘束システムの制御, 計測自動制御学会論文集, 40-8, 796/805 (2004)[2] 畑中, 鷹羽：外乱を受ける拘束システムに対するリファレンスガバナの設計法, 計測自動制御学会論文集,
40-8, 806/814 (2004)[3] 平田, 小木曽：状態アフィン関数表現によるリファレンスガバナの構成法と制御検証実験, 計測自動制御学会論文集, 40-2, 247/256 (2004)[4] 平田, 小木曽：実装データの軽減化を考慮したリファレンスガバナの実験的検証および考察, 第 4 回制御部
門大会資料, 193/196 (2004)[5] 平田, 小木曽：変数のブロッキングを用いて表現される拘束システムに対するリファレンスガバナ, 計測自動制御学会論文集, 41-1, 88/90 (2005)[6] 杉江, 山本：状態および入力の制約を考慮した閉ループ系の目標値生成, 計測自動制御学会論文集, 37-9,
849/855 (2001)