2A2-4

GA による並列二重倒立振子の振り上げ安定化制御
東京工業大学 ○井口圭一、木村 元、小林 重信

GA-based Control for Swinging up and Stabilizing
Parallel Double Inverted Pendulums○Keiichi Iguchi, Hajime Kimura, Shigenobu Kobayashi
Tokyo Institute of Technology

Abstract: This paper presents a GA-based control for parallel double inverted pendulums. The neural network
is used as a controler.

A weight vector of neural network is optimized directly by UNDX; one of real-coded

GAs, with no domain knowledge.

As a result, we succeeded to acquire a controler that swings up andstabilizes a parallel double inverted pendulum. Also, we confirmed its robustness for noize. Several results bycomputer simulation are shown and investigated.

1.

はじめにニューラル・ネットワーク（Neural Network：NN）

す。4 章では、ノイズ環境下での制御など、よりロバストな回路の獲得を目指す。

は多くの研究がなされ、分類問題や、関数近似など様々な分野でその有効性が示されている。理論的な制御の対象問題と手法

2.

難しいシステムの制御回路としての利用もそのひとつだ。NN ではその結合重みを学習する必要があるが、最も一般的には誤差逆伝播法（Back Propagation：BP）［2］や種々のその改良手法が広く使われてきた。しかし、これらの学習法は目的関数の勾配情報を使用するため、教師信号の存在しない問題には適用できない。
一方、理論的制御の難しい問題にはしばしば教師信号を使用できない問題が存在する。そこで、Neuro-evolution や 遺 伝 的 ア ル ゴ リ ズ ム （ GeneticAlgorithm：GA）の使用など教師信号を必要としない結合重みの学習方法が要求される。
本研究では、理論的制御の難しい問題として並列二Fig. 1 Paralell double inveted pendulum system.

重倒立振子（Fig. 1）の振り上げ安定化問題を取り上げる。倒立振子問題は、一本の振子の振り上げ安定化や二本の安定化問題については種々のアプローチにより

2.1

二重倒立振子

本研究では、Fig.1 のような並列二重倒立振子を扱う。

成功が報告されている。しかし二重倒立振子の振り上台車には長さの異なる二本の振子が接続されていて、げ安定化については、多目的 GA によるアプローチ［1］

力は台車に対してのみ左右に加えることが出来る。台などがなされているが、創発的な制御を獲得するには車に力を加えることにより、振子を頂上付近に保つこ至っていない。とを「安定化」と呼び、初め下に垂れ下がった状態か以降では、まず 2 章で対象問題と使用する手法につら振り上げ、頂上付近に安定化させることを「振り上いて説明する。3 章では、並列二重倒立振子の振り上げげ安定化」と呼ぶ。また、部分問題として取り上げる

安定化の制御 NN が GA によって獲得できることを示

一重倒立振子は振子が１本の問題で、比較的制御がや

2A2-4
NN の場合、バイアス・ニューロンとの結合重みも含めさしい問題である。
台車の加速度αと、各振子の角加速度βi は以下の式なる。

で与えられる。
24⎛⎞mi g sinθi cosθi − ⎜ f + ∑li miωi sin2 θi ⎟∑3⎝i =1i =1⎠

交叉、世代交代モデルには、実数値 GA で優れた性

2a=て、（8＋1）×2＋（2＋1）×1＝21 次元の探索問題と4⎛2⎞2能が示されている、UNDX［4］、MGG［5］を用いる。

∑m cos θ − 3 ⎜⎝ M + ∑m ⎟⎠2iii =1

各 NN の評価は５００ステップ間行い、評価値は以. ①下の式によって決定する。

ievaluation = 5000 + 10 ×∑ min(cos θ 1t , cos θ 2t ) . ③i =1tβi =3 ( g sin θ i − a cos θ i )4 li. ②

評価期間中、２本の振子を常に立てていた場合に最高値 10000、下に垂らしていた場合に最小値 0 をとる。

その他の各パラメータはTable. 1の通り。台車の可動振り上げ安定化回路の獲得範囲は限られており、範囲からはみ出した場合はその3.

ステップで評価を打ち切る。

3.1

入力の連続化

振子の角度を NN に入力する際、θの値をそのまま
パラメータ
台車の変位
台車の速度
台車の加速度

記号XVａ

初期値
000

振子の角度
振子の角速度振子の角加速度
重力加速度
台車の質量
振子の質量
振子の長さ
台車を押す力θ1,θ2
ω1,ω2
β1,β2ｇMM1,m2L1,l2ｆπ,π0,00,09.8
10.2,0.1
1,0.50範囲-2.4〜2.4-16〜16その性質上、入力が不連続な点で連続した出力を得る回路を獲得するのは難しい。とくに、頂上付近（0,2π）
はもっとも細かい制御を必要とする場面であり、ここ-10〜10に不連続点が出来ると結果として、頂上付近では常に正負最大の力を交互にかけることによる安定化を学習してしまうことになる。
この弊害を避けるために、角度の入力には cosθ、sin
θを使用する。これにより、NN への入力は振子一本に-40〜40Table. 1 Parameters of the pendulum system.

2.2

使用すると、必ず不連続な点が出来てしまう。NN では

NN の仕様制御用の NN として 3 層のフィードフォワード型 NNつき一つ増え求めるべき結合重みが増えるため、GA の探索すべき次元数は増えるが、入力を連続化することができる。
3.2

探索範囲の限定・NN による制御の特徴を用いる。台車の変位、速度、各振子の角度、角速度

NN を系の制御に用いるとき、ある NN のすべてのを［-1:1］に正規化して入力する。出力層は１個で［0:1］結合重みを定数倍して得られる回路はもとの回路と似の出力から以下の式によって台車を押す力を決定する。

た性質を持つ。とくに、出力が 0.5 より大きいか小さい

f = MAX _ F × (output − 0.5)
中間層、出力層の各ニューロンには常に 1 を出力するバイアス・ニューロンを接続する。

かのみに着目すると、ほぼ同じ結果が得られる。
つまり、ある NN のすべての結合重みを 1 以上の定数倍した回路を倒立振子の制御に適用すると、元の回路より大きな力をかけることによって、すばやく振り2.3

GA の仕様上げることができ、評価値は高くなる傾向がある。し関数最適化問題に対して優れた性能を示すことが知

かし、すべての結合重みが大きくなることは、すなわられている、実数値 GA を用いる。NN の各結合重みをち細かい制御が出来なくなることでもある。理想とすそのまま遺伝子の要素としてコード化する。8-2-1 のる制御は、「はじめ大きな力を加えることにより、すばやく振り上げ、頂上付近では徐々に加える力を減じ安2A2-4定状態に移行する」というものだが、すべての結合重化、探索範囲の限定を行った効果を調べた。

みが大きくなりすぎた回路では、常に正負最大の力を加えることしか出来ず、後半の「頂上付近では徐々に・設定
NN の中間層は 2 個。集団サイズ 100、生成子個体加える力を減じ安定状態に移行する」を達成すること

数 30、打切り世代数 10,000。NN への入力と、強制操が出来ない。

作の有無はTable. 2のとおり。
・UNDX の性質
一方 、実 数値 GA で その性 能が 実証 されて い る

入力

強制操作

UNDX［4］はFig. 2に示すように二つの主親の周りに

実験 A

θ

なし

正規分布にしたがって子個体を生成する。このとき、

実験 B

cosθ、sinθ

なし

二つの主親が定数倍方向に並んでいると、正規分布に

実験 C

θあり

したがって、その差を縮小する方向と同様、さらに拡実験 D

cosθ、sinθあり

大する方向にも子個体を生成しやすくなる。しかも上

Table. 2 Experiments settingで述べたように、同様の性質を持つ回路ではより大きな結合重みを持つ個体のほうが評価値が高くなる傾向にあり、次世代に残る可能性が高くなる。よって次世・結果
Fig. 3に実験 A〜D の収束曲線を示す。一重倒立振子代では、さらに結合重みが大きくなる方向への進行が問題は比較的簡単な問題であり、実験 B,D では求める速される。

べき結合重みが増えたため、実験 A,C に比較し収束が遅くなっているが、どの実験も最終的に評価値 8000 を超え、振り上げ安定化に成功している。
それぞれの実験で得られた NN でシミュレートした
結果（Fig. 1〜Fig. 7）は回路によって異なる。
実験 A,C では、入力が不連続なため、振子が立っている状態でも左右に最大の力を交互にかける制御を獲得してしまっている。また、実験 A,B で得られた回路の結合重みは最大で 107 になっており、細かい制御が出来なくなっている。それらに対し、角度の入力に cosθ、sinθの値を使用し、NN 生成時に強制操作を加えた実
Fig. 2 UNDX験 D では、「はじめ大きな力で振り上げ、振子が立ったら徐々に力を減じ安定状態に移行する」という制御をこれらの作用により、NN の結合重みに対して、単純獲得している。に UNDX を適用したのでは一重倒立振子において、振り上げ安定化を行うことはできるが理想とする制御は獲得できない。そこで、NN を生成する際に結合重みベ

クトルを半径 10 の超球面上に押し込める強制操作を導入する。この操作により、結合重みが大きくなりすぎることを防げる。また、上で述べた NN の性質より、この操作によって NN の表現力が大きく低下することもない。

   


3.3

一重倒立振子

まず、比較的簡単な問題である一重倒立振子の振り上げ安定化問題に適用することによって、入力の連続







Fig. 3 Convergence curve of Ex.A-D


2A2-4

























Fig. 4 outout of Ex.A

































Fig. 5 outout of Ex.B

















Fig. 6 output of Ex.C

Fig. 7 output of Ex.D











Fig. 9 Convergence curve of swing up and stabilize
control of the paralell double inverted pendulum

Fig. 8 Simulation of Ex.D NNsystem.
Fig. 10 Simulation of double pendulum system







Fig. 11 out put of the NN2A2-43.4

並列二重倒立振子・設定・結果実験の結果得られた NN は、評価に使用した、-0.05、ＮＮへの各振子の角度の入力には、一重倒立振子の0、0.05 以外の値からスタートしても振り上げ安定化は実験で効果の確認された cosθ、sinθの値をもちいる。

可能だった。また、以下の式により台車を押す力に対入力は(x,v, cosθ1,sinθ1,ω1,cosθ2,sinθ2,ω2)の 8 入力、してノイズを加えた環境でも振り上げ安定化すること中間層は 2 個で、8-2-1 の NN となり、探索次元数はが出来た。

21 次元。集団サイズ 500、生成子個体数 100、打切り

noise =N (0, f / 10) × MAX _ F . ④

世代数 200,000 とする。

Fig. 12に 1000 ステップ間シミュレーションを行っ
・結果
5 試行の収束曲線をFig. 9に示す。評価値 8000 を超た時のノイズの加わった出力と、振子の角度の sin の値を示す。

えると、ほぼ振り上げ安定化に成功する。しかし、多くの実験で、評価値 6000、7000 前後の局所解にとらわれている。評価値 6000 付近の解は、二本の振子を同時に回し続けるもので、7000 付近の解は、一本の振子を立て、もう一本をまわしつづけるという解である。



これらの存在は、評価値として式③を使用する限り避けられない。
Fig. 10に実験で得られた最良解の様子を示す。Fig.
11はそのときの NN の出力を示す。最初の 200 ステッ 

プ辺りまでの出力が大きく、振り上げを行っているこ とがわかる。その後、小さな力を加えながら安定状態を保っている。

ロバストな回路の獲得

4.

3 章で求めた NN は、ノイズのない環境で、評価期間

Fig. 12 rubst control of the single pendulum system

4.2

並列二重倒立振子の安定化

・設定の 500 ステップの間だけ、固定された初期状態からの各振子について初期角度を-0.05、0、0.05 の 3 状態かみ振り上げ安定化できるが、これらの条件のどれかがらスタートした評価値の平均を新しい評価値とする。

崩れると、全く制御できなくなってしまう。NN は本来、汎化能力にすぐれているとされており、これでは NNの性能を生かしきれていない。

・結果得られた NN は、評価に使用した振子の初期角度

3 章では固定された状態からのみの評価値のみで探［-0.05：0.05］や、評価ステップの 500 ステップを越索を行っていたため、線の探索になっていたと考えら

えても 2 本とも立てつづけることが出来た。Fig. 13、れる。そこで、様々な初期状態から開始したシミュレ

Fig. 14にもっとも難しいと思われる、「二本の振子がーションの評価値をもちいた探索を行うことにより、反対の方向（-0.06、0.06）へ傾いている状態」からノ面の探索を目指す。

イズのある環境での 1000 ステップのシミュレーションの様子を示す。ノイズは式④による。
はじめに、やや大きめの力をかけることによって、4.1

一重倒立振子の振り上げ安定化

・設定
π-0.05、π、π＋0.05 の 3 点からスタートした評価値の平均を評価値とする。

二本の振子を同じ向きにした後（Fig. 13）、安定化に移っている。かなり大きなノイズが入っているにもかかわらず、徐々に振動は小さくなり、評価期間を大きく超えても 2 本とも、安定して立っている。2A2-4   



Fig. 13 output with noise of first 100 steps.

5.

まとめ・ 理想的環境下での並列二重倒立振子の振り上げ安定化回路の獲得に成功した
NN への入力を連続化すること、結合重みが大きくなりすぎないように強制操作を行うこと、によっ



Fig. 14 noise and angle pendulums.

作によって今まで獲得できなかった、並列二重倒立振子の振り上げ安定化に成功した。この手法が、並列二重倒立振子の振り上げ安定化に限らず、広く有効であることを示すために、他問題へ適用し確認したい。て並列二重倒立振子の振り上げ安定化回路を獲得出来ることを示した。

参考文献［1］ 武市 雅司、小林重信：GA による並列二重倒立伸子の・ ロバストな安定化回路の獲得に成功した
初期値をずらして探索を行うことによって、初期値のみでなく、ノイズや評価期間に対してもロバストな回路を獲得できることを示した。

振り上げ安定化制御,SICE 第 27 回知能システムシン
ポジウム資料 133／138（2000）［2］ D. E. Rumelhart, G. E. Hinton, and R. J. Williams:
Learning internal representations by error propagation. In D. E. Rumelhart and J. L. McClelland,

6.

今後の課題

・ 並列二重倒立振子のロバストな振り上げ安定化制
御の獲得
ロバストな安定化回路を獲得することには成功

editors, Parallel Distributed Processing: Explorations in the Microstructures of Congnition, 318／362 MIT Press (1986)［3］ IsaoOno,MiyukiTakahashi,

NorihikoOno:

したため、3 章で得られた回路を振り上げように使

Evolving Neural Networks in Environments with

い、安定化領域に達したら、回路を切り替えること

Delayed Rewords by A Real-Coded GA using theによって、ロバストな振り上げ安定化は可能である

unimodal Normal Distribution Crossover, Congress

が、ヒューリスティックを含まずにそのような回路

on Evolutionary Computation 2000 Vol.1 659／666の獲得を目指す。

（2000）［4］ Ono,I. And Kobayashi,S.:A Real-coded Genetic

・ 獲得率の向上
本論文の実験では、振り上げ安定化の獲得には、とらわれやすい局所解が存在し、成功率が低い。評価関数にてを加えることなく、局所解にとらわれない、もしくは局所解から回復する探索を目指す。

Algorithm for Function Optimization Using Unimodal Normal Distribution Crossover,Proc. 7th Int’l
Conf. On Genetic Algorithms, 246／253（1997）［5］ H.Satoh,

M.Yamamura,

Exploration

・ 他問題への適用
本論文により、入力の連続化、結合重みの強制操

S.Kobayashi:Minimal

Generation Gap Model for Gas considering BothandExploitation,IIZUKA ’96,494／497（1996）

Preceedingsof