計測自動制御学会東北支部 第 231 回研究集会 (2006.10.31)
資料番号 231-15

遺伝的アルゴリズムによる非線形制御系の設計
Design of Nonlinear Control System Using Genetic Algorithm○水谷紘也 ∗ ，大久保重範 ∗∗∗ ，及川一美 ∗∗ ，高橋達也 ‡○ Hiroya Mizutani∗ ,Shigenori Okubo∗∗∗ , Kazumi Oikawa∗∗ , Tatuya Takahashi‡
山形大学工学部

Yamagata University
キーワード : 遺伝的アルゴリズム (genetic algorithm)，非線形制御 (nonlinear control),クロネッカー積 (kroneker product), 拡張リカッチ方程式 (extended Riccati equation)

連絡先 : 〒992-8510

山形県米沢市城南 4-3-16 山形大学工学部

機械システム工学科

大久保研究室水谷紘也，Tel.:(0238)26-3245，Fax.: (0238)26-3245，E-mail: sokubo@dip.yz.yamagata-u.ac.jp

2. 縮約形

1. はじめに本研究の目的は多項式形非線形制御系の安定化制

クロネッカ巾 x[k] には同一要素が含まれているが,御を行うことである. 本研究では, システムを非線形独立な要素を辞書順に並べたベクトルを x[k] の縮約のままで扱い, 線形レギュレータの理論を拡張して非形と呼ぶことにし,x<k> で表す. 一例として,2 変数 3線形系に適用する. しかし, 拡張したリカッチ方程式次形（n = 2,k = 3）の場合を以下で示す.

は長方行列を解とするものであり, これを要素毎に分x=解すると, 変数の個数より方程式の個数が多く, 数学的に解くことができない. そこで, 変数に具体的な数[2]x値を代入し, 評価関数の荷重行列が正定になるように調節する手法をとる. この変数をどのように決めるかの探索法として, 遺伝的アルゴリズム (GA:GeneticAlgorithm) を用い, 高近似の解を求め, それを制御に使うこととする. しかしながら,GA で必ず解を得られるとは限らないため, 非線形多項式を解を得やすい· ¸x1x2· ¸ · ¸xx=x⊗x= 1 ⊗ 1x2x2
 2  2 x1x1
x1 x2  ⇒ x<2> = x1 x2 =
x1 x2 x22x22(1)(2)x[3] = x ⊗ x ⊗ x£
¤T= x31 , x21 x2 , x21 x2 , x1 x22 , x21 x2 , x1 x22 , x1 x22 , x32 ,ように変数変換することによって, N 次のべき状態ベクトルの 2 次形式なるリアプノフ関数が存在し, 大域的に安定な非線形レギュレータを設計する.

–1–
x31
x21 x2 ⇒ x<3> = 
x1 x22 x32(3)このように縮約形で扱うことによって, 行列の次数

N >= 2 のとき,Nva ¡Neq となり数学的に解くことがでが小さくなり, 計算を行うのに便利となる. この先きない. そこで GA を用いて,PG<1,2N −1> に具体的x<n> で表記したテンソルは, 縮約形を用いているもな数値を与え, 評価関数の荷重行列 QG<2N −1,2N −1>のとする.

が正定になるように調節する.

3. 非線形レギュレータ

4. 安定条件
V (t) は正方荷重行列 P̃G<N,N > を用いると (13) 式

制御対象は状態の多項式からなる非線形系であり,(4) 式のように与える.

ẋ =2N−1Xのように表すことができる.

A<1,k> x<k> + Bu

1 <N >TG(x)P̃G<N,N > G<N > (x)22N−1X
1=xT P<1,k> x<k>
(13)
k+1

V (t) =(4)k=1

状態ベクトル x であり, 簡略化のためにべき状態ベク
トルを G<2N −1> (x), 係数行列を AG<1,2N −1> とするとき制御対象の非線形システム方程式は, テンソルの縮約形を用いて表すと (5) 式のようになる.

k=1

上 式 の P<1,2N −1> 1 と P̃G<N,N > の 関 係 か らP̃G<N,N > を求める. 縮約形で閉ループ系が大域的に安定であることを表記すれば (14) 式となる.

ẋ = AG<1,2N −1> G<2N −1> (x) + Bu

(5)
P̃G<N,N > > 0, QG<2N −1,2N −1> > 0(14)⇒ V (t) > 0, V̇ (t) < 0(15)

べき状態ベクトルの縮約形を (7) 式のように表す.

AG<1,2N −1> = [A<1,1>£
G<2N −1> (x) = xT

A<1,2> · · · A<1,2N −1> ](6)¤T <2>
T <2N −1> Tx··· x(7)このように線形システムのように記述することができる. 制御入力 u の縮約形表示は (8) 式となる.

u = −R−1 B T PG<1,2N −1> G<2N −1> (x)V (t) =12Z ∝(x(t)) + uT Ru)dt

GA の最も基本的な方法である SGA は動作は非常に単純だが, 適応する問題が複雑になるにつれて, なかなか解を得ることが難しくなってきた. そこで, その問題を解決するために,CHC という方法を用いる.

CHC は Eshelman が提案した GA であり,C(cross(G<2N −1>T (x(t))QG<2N −1,2N −1>t<2N −1>G(8)5. CHC(9)

generational elitist selection),H(heterogeneous recombination),C(cataclysmic mutation) の略語であ

拡張リカッチ方程式の縮約形は (10) 式となる.

る. この方法は単純性を犠牲とする代わりに各操作をT
QG<2N −1,2N −1> + PG<1,2N−1> AG<1,2N −1>+ATG<1,2N −1> PG<1,2N −1>

より効果的に行い, 得られた最良個体を確実に残すという意図を前面に出したアルゴリズムである. そのア

T−1 T−PG<1,2N
B PG<1,2N −1> = 0 (10)−1> BR

ルゴリズムのフローチャートを Fig. 1 に示す. ここPG<1,2N −1> の独立な変数の個数 Nva , 方程式の本数

で N は個体群サイズ,L は個体長,k は世代,d は閾値,rNeq は次式で表される.

は拡散率を表す. 一方で, より解を得やすいようにす

Nva =2N
Xるため, システムに対して変数変換を行う.
n Hk = n+2N C2N − (n + 1)

(11)

k=2

Neq =

4N−2X

n Hk = n+4N −2 C4N −2 − (n + 1)

(12)

k=2–2–x1 = x1s , x2 = x2s とおくと, この問題は,3 変数 3 次形式の非線形レギュレータとして扱える.

K1K1
K3 3x1s −x2s +(x − 3x21s x2sDDD 1s− 3x1s x22s − x32s )K1
K1K3 3ẍ1s = −x1s +x2s −(x − 3x21s x2MMM 1s1− 3x1s x22s − x32s ) +u(18)Mẋ2s =

整理すると  0ẋ1sẋ = ẋ2s  =  KD1
1ẍ1s−KM
0+ 00
Fig. 10+  KD33−KM

Flowchart

6. 変数変換

0 00 00 0

実際に Fig. 2 に示すようなマスバネダンパー系を例にして, 変数変換を行った. 状態方程式を次式で与える.

M ẍ + K1 (x1 − x2 ) + K3 (x1 − x2 )3 = u(16)K1 (x1 − x2 ) + K3 (x1 − x2 )3 = Dẋ2(17)::粘性減衰係数 [N s/m]

K 1 , K3:

ばね定数 [N/m], [N/m3 ]

0000
3− 3K
D3K3

 M00000003K3D
3− 3K
M0 000 0 − KD3
K30 0M
x31s
 x21s x2s  2
 x1s ẋ1s   x1s x22s   
00 x1s x2s ẋ1s 
 +  0 u
0 2x1s ẋ1s 1
0 M
 x32s  2
 x2s ẋ1s  x2s ẋ21s ẋ31s+ A<1,3> x<3> + Bu

質量 [kg]

D100
0= A<1,1> x<1> + A<1,2> x<2>

=M000 1x1s− KD1 0 x2s K10 ẋ1sM
 2 x1s
 x1s x2s 0 x1s ẋ1s 
0  2 x2s 
0 x2s ẋ1s ẋ21s
03
X

A<1,k> x<k> + Bu

k=1

= AG<1,3> G<3> (x) + Bu(19)

このシステムを X システムと呼ぶ事にする. このシステムについて GA を行なったが, 安定条件 (評価値の最小値が正となること) を満たす解を見つけることができなかった.
よって X システムを GA によって解を見つけやすいように変数変換を行う. (変数変換後のシステムを AFig. 2

A model of the dynamic system

システムと呼ぶ事にする)
ここで,x1s = a1 、x2s = −3a2 − a32 (= ȧ1 ) のように–3–−4 0+ −4 00 0

変数変換を行うと,

x1s + x2s = a1(20)x1s − x2s = a2(21)た だ し, 定 数 c1 =K1
D , c2=K3
D , c3=K1
M , c4=000K31M , c5 = M とする.

ẋ1s = −(c1 + 2)a2 − (c2 + 1)a32 − 3a3 − a33− 4a31 − 2a21 a3−2 0 0 0−1−2 0 0 0 −(1 + 2c2 )0 0 0 00
3a1
 a21 a2  2
 a1 a3   a1 a22   
−1 0a1 a2 a3 
−1 0 v+a1 a23 


0 
13 
 a2 2  a2 a3  a2 a23 
a33000(22)とすると、ȧ1ȧ1+= −(c1 + 2)a2 − (c2 + 1)a32
22− 3a3 − a33 − 4a31 − 2a21 a3 (= ẋ1s )(23)ȧ1ȧ1ẋ2s =−= c1 (x1s − x2s ) + c2 (x1s − x2s )322= c1 a2 + c2 a32(24)= AG<1,3> G<3> (a) + Bv

ẋ1s =ẍ1s = −4(3a21 + a1 a3 )ȧ1 − (c2 + 2+ 3(c2 + 1)a22 )ȧ2 − (3 + 3a23 + 2a21 )ȧ3

(25)

B PG<1,3> G

(29)
(a)

(30)

このシステムについては、GA で解を見つけることができた。(28) 式から (u と v の関係)u について整理

この u を X システムに用いてシミュレーションをす(26)

A システムについて GA をして求まった PG<1,3>
は、

(27)

15.084707 −9.352079 −1.938935
PG<1,3> = −9.352079 15.379049 −0.086860−1.938935 −0.086860 16.629038−3.108627 −2.640199 3.788145
2.294327−1.320099 4.588654 −4.191762 −6.613920
1.894073 −4.191762 −0.925299 2.756572+ 3(c1 + 1)a22 )ȧ2 + 4(3a21 + a1 a3 )ȧ1 }1={−c3 (x1s − x2s )−(3 + 3a23 + 2a21 )−4.191762 −0.462650 19.697646 −27.839636
5.513145
0.257121 −9.279879 38.712556
0.514243 −4.964546 −4.245849 −3.781320− c4 (x1s − x2s )3 + c5 u + (c1 + 2+ 3(c1 + 1)a22 )ȧ2 + 4(3a21 + a1 a3 )ȧ1 }1={−c3 a2 − c4 a32 + c5 u−(3 + 3a23 + 2a21 )−12.737547 38.712556 −7.562639 30.047615−3.781320
1.211564 −3.991077 −1.825066
30.047615 −1.995538 −3.650131 2.615348

0.403855 −1.995538 −1.825066 0.871783
16.419501 −3.975420 42.108795 0.162099 −1.325140 42.108795
0.486296 10.532609+ (c1 + 2 + 3(c1 + 1)a22 )ȧ2+ 4(3a21 + a1 a3 )ȧ1 }
=v

<3>

る。

ȧ2 = −(2 + 2c1 )a2 − (1 + 2c2 )a32 − 3a3− a33 − 4a31 − 2a21 a3
1ȧ3 ={ẍ1 + (c1 + 2−(3 + 3a23 + 2a21 )T

し、u(a1 , a2 , a3 ) を u(x1s , x2s , ẋ1s ) へもどしてやり、上式を連立して

ȧ1 = −2a2 − a32 − 3a3 − a33 − 4a31 − 2a21 a3v = −R−1(28)

(31)
整理すると

   ȧ10−2−3a1ȧ = ȧ2  = 0 −2(c1 + 1) −3 a2 ȧ3000a3
 2 a1 a1 a2 

0 0 0 0 0 0 
a1 a3 + 0 0 0 0 0 0  2 a2 

0 0 0 0 0 0 
a2 a3 a23

た だ し,PG<1,3> の 要 素 の 探 索 範 囲 は-30.0 か ら30.0 までとする.
X シ ス テ ム で の M, K1 , D, K3 は 次 の よ う に 設 定する.

M = 1.0, K1 = 0.1, D = 0.1, K3 = 0.15

–4–(32)

今後の課題は, この理論の多変数への応用だが, 現在行っている方法では変数が多くなる毎に, 評価する主座小行列式の数が多くなり, 全てを正にすることが困難となる. そのため, より効果的に評価値を得られるように評価方法の改善を行うことである.

Fig. 3Behavior of min(Di) in genetic algorithm

参考文献
1) 大久保重範：非線形レギュレータの遺伝的アルゴリズムによる設計, 計測自動制御学会論文集,33-11,1072/1080(1997)
2) 大久保重範：非線形システムのべき状態フィードバックによる直接的な安定化制御, 計測自動制御
学会論文集,34-11,1596/1602(1998)

3) 安居院猛, 長尾智晴：ジェネティックアルゴリズ
Fig. 4

Fig. 5ム, 昭晃堂 (1993)

State response without control

State response with control

7. おわりに
3 変数 3 次元のマスバネダンパー系のモデルを設けて, 遺伝的アルゴリズムを用いた最適値探索を行った.
その結果, 得られた解を用いることによって, 非線形レギュレータを設計できることを確認した. また, テンソルの縮約形を導入することによって, 非線形システムを線形システムのように扱える. 行列 PG を求めるのに, 遺伝的アルゴリズムを使うことによって, 多項式非線形制御系を安定化制御できることを確認した.

–5–