簡易コーディングを用いた進化型ロボットの実環境における行動獲得
Behavior Acquisitions of Real Robots using an Evolutionary Neural Controller
with Simple Coding
片田 喜章
Yoshiaki Katada
摂南大学
Setsunan University永松 翼
Tsubasa Nagamatsu
摂南大学
Setsunan University

森川 宣弘
Nobuhiro Morikawa
摂南大学
Setsunan University

Abstract:
One of the advantages of evolutionary robotics over other approaches in embodied cognitive
science would be its parallel population search. Due to the population search, it takes a long time toevaluate all robot in a real environment. Thus, such techniques as to shorten the time is required forreal robots to evolve in a real environment. In a recent paper, we proposed to use evolutionary neuralcontrollers with simple coding to make genetic search space small and investigated performances of them onan evolutionary robotics task using a simulated robot. In this work, we conducted a series of experimentswith two robotics problems in order to investigate whether our previous results are applicable to real-worldproblems. The results suggest that our proposed method is also beneﬁcial to these real-world problems.

1

はじめにロボットが実環境で振舞うためには，システム自身が高い環境適応能力を有し，環境との相互作用を通して自らの振舞いを獲得しなければならない [1]．このアプローチの一つに多点探索による高い解探索能力が期待できる人工進化を用いて自律ロボットの制御器を設計する進化ロボティクス (Evolutionary Robotics:ER)[2]がある．進化ロボティクスでは，制御器の評価は a) 実
環境で実ロボットを用いる [3]，または，b) シミュレーションを用いて行われる [4]．a) の方法では，実環境でロボットを評価するため，実時間がかかる．人工進化で要する進化時間は数百世代から数千世代が一般的であり，膨大な時間がかかる．しかしながら，ロボットは振舞うべき実環境で評価されているため，その環境でを評価する方法，つまり，実環境でロボットを進化させる時間を短縮する方法を考える必要がある．
これに対し，人工進化が解くべき問題の探索空間をできるだけ小さく設定することが考えられる．つまり，遺伝子長を短くすることができれば，どの進化アルゴリズムを採用しても基本的には進化時間を短縮することが可能であると期待できる．我々は文献 [8] で，GAの遺伝子長が短くなるように，人工ニューラルネットワーク (Artificial Neural Networks: ANN) の遺伝子コーディングとして考えうる最も簡単なものを数種類取りあげた．そして，この簡易コーディングを用いたANN を移動エージェントに搭載し，計算機において進化実験を行い，その性能を検証した．
本稿では，上述のアプローチを 2 種類のロボット制御問題に対して適用する．1 つは，全方位カメラを搭載適切に振舞うことができる．一方，b) の方法では，ロした移動ロボットのゴール到達問題であり，もう 1 つボットの評価にかかる時間は実環境に比べて非常に短はオプティカル・フローを用いた飛行船ロボットの飛くすることができるが，シミュレーションで獲得した行行動獲得問題である．そして，文献 [8] で得られた知制御器を実ロボットに搭載した場合，シミュレーショ見をもとに簡易コーディングを用いた進化型 ANN をンと実環境のギャップによってロボットが必ずしも実適用し，実環境でロボットを進化させる実験を行う．

環境で適切に振舞えるとは限らない [5]．この問題に対2シミュレーションを用いることができる問題は，その簡易コーディングを用いた進化型ニューラルコントローラ

環境およびロボットとの相互作用を適切にモデル化で

本節では，簡易コーディングを用いた進化型ニューしては多くのアプローチ [4][6][7] が提案されているが，きる問題に限られる．進化ロボティクスのアプローチをより多くの問題に適用するには，実環境でロボットラルコントローラの概略を示す．
ロボットの制御器として，中間層・出力層が相互結合された ANN を用いる．i 番目のニューロンの時刻 nでの出力は以下の式で表される．
m
xi (n) = f (ωij xj (n − 1))

goal

3000mm(1)

j=1ンへの結合荷重であり，f (x) はニューロンの出力関数robotであり，式 (2) で与えられるシグモイド関数を用いる．

f (x) =

1
1 + exp(−x/T )

0mm
300

ここで，ωij は j 番目のニューロンから i 番目のニューロ(2)(a) 実験環境

T はシグモイド関数の傾きを決める定数である．一般的に進化型 ANN ではその変数として，各ニューロン間の結合荷重・ニューロンのしきい値 (シグモイド関数を用いる場合はその傾き)・ニューラルネットの構造があるが，本稿では遺伝子長を短くするために結合荷重のみを GA の変数とする．シグモイド関数の傾きはT = 1 とする．ストリングへの ω のコーディング法として文献 [8] では 3 種類取りあげ，その性能を検証した．

(b) 全方位カメラを搭載した移動ロボット

本稿では，これらの中で遺伝子長が最も短くなる簡易(c) ゴール

図 1: ゴール到達問題の実験環境

コーディング法 (以下，これを用いた ANN を SANNとよぶ) を採用する (その他の簡易コーディング法については文献 [8] を参照されたい)．

SANN では入力層・中間層・出力層のノードを全結合とし，w の大きさを 1 とする．そして，ストリングは w の符号 {+, −} のみで構成する．したがって，遺複雑になる．しかし，平坦な環境では距離情報は計算が容易であり [9]，取得した画像の中心から同心円上では，全方位カメラの中心からの距離がほぼ一定となる．そこで，図 2 に示すように円周方向に一定の角度 (22.5◦ )伝子長は L = (Nh + No)(Ns + Nh + No ) ビットとなる． で 16 分割し，半径方向に同心円で 20 分割する．ANN

3

ゴール到達問題の入力は以下の画像処理によって決定される．

3.1

実験環境

本 節 で は 移 動 ロ ボット を 用 い た ゴ ー ル 到 達 問 題(i) 全方位カメラの画像 (図 2(a)) に対し，2 値化，ラベリング，重心算出の画像処理を行い，目標物と床を取り扱う．実験環境を図 1(a) に，実験に用いる面とが接しているエッジ部分を検出する (図 2(b))．

移動ロボットを図 1(b) に示す．実験環境は平面で，(ii) 検出されたエッジ部分の位置に対応するセルがロ3000mm×3000mm の正方形であり，周囲は壁で囲まボットの前方 (45◦ ) 左右 2 セルにあるときのみ，中れている．移動ロボットは全方位カメラを搭載し，画心から半径方向の距離に反比例する値を対応する像処理とロボットの制御を行うノート PC を搭載してANN の入力ノードに与える．

いる．直径 380mm，左右二輪独立駆動型で，コントローラとして中間層と出力層のノードが完全相互結合したリカレント型の ANN を用いる．ロボットが全方位カメラ画像を通してゴールとして認識する目標物のロボットの左右のモーターは，PWM 制御によりそれぞれ正回転 9 段階 (前進方向)・逆回転 9 段階 (後進方向) の速度制御が可能であり，速度指令値は ANN の形状は赤色の円筒形 (直径 300mm・高さ 290mm) とす出力値によって決定される．

る (図 1(c))

3.3

3.2

3.3.1

ロボットの入出力設定

実験
実験設定

全方位カメラを用いる場合，一般的に角度情報は信移動ロボットの初期位置および初期姿勢を図 1(a) に頼性が高く計算も容易である一方，距離情報は計算がおける左下および右向きにそれぞれ設定する．目標物

goal

goal

1.0

best
avg

wall(a) 元画像

Fitness

0.8
wall(b) 二値化画像

0.60.40.2

図 2: 全方位カメラ画像

0.00の位置は環境におけるロボットの対角線上で右上とす

102030Generation4050

図 3: ゴール到達問題における適応度の推移

る．各個体につき 1 試行行い，1 試行はロボットがゴールに到達するか，40 ステップで終了とする (1 ステッ
プは約 1s)．なお，ロボットのゴール判定は搭載され3.3.2ている全方位カメラを用いて行う．
ロボットのコントローラーとして，第 2 節で示したSANN を用いる．入力ノード数は Ns = 2(ロボットの前方左右 2 セル)，中間ノード数は Nh = 1，出力ノード数は No = 2(左右モータ) とする．したがって，L = 15となる．一般的に入力ノード数は解くべき問題やロボットの設定 (センサ数) に依存し，中間ノード数は ANNの設計者が問題ごとに決定するが，第 1 節で述べたように本実験では遺伝子長を短くすることが目的であるため，上記のように比較的小さい数で実験を行う．
進化手法として，ANN を設計する問題に対しその有効性が確認されている拡張型遺伝的アルゴリズムである Operon GA(以下 OGA[10]) を用いる [11][12]．ANNの結合荷重の符号を変数とし，第 2 節で述べたコーディングを行う．文献 [11] と同様の理由により交叉は用いない．点突然変異率を q = 1/L とする．OGA では遺伝的操作として点突然変異に加えて 5 つの遺伝的操作を用いる．これらは結合，分割，重複，欠失，逆位とよばれ，各パラメータは文献 [11] における推奨値を参考に，(gcon , gdiv , gdup , gdel , ginv ) = (0.3, 0.3, 0.6, 0.3, 0.3) を使用する．各遺伝子座における値のリスト長は 6 とする．選択法としてトーナメント選択を用い，エリート戦略1 を適用する．OGA では強い選択圧が推奨されていることから，トーナメントサイズを 6 に設定する．
個体数を 25，世代数を 50 とする．ロボットは，より早くゴールである目標物に到達することを目的とし，次の適応度関数を用いて適応度を計算する:

Step
F itness = 1 −M axStep
ここで，M axStep は 40 とする．
1 適応度が最も高い個体を次世代の親個体として引き継ぐ．

実験結果

世代数に対する OGA の最大適応度と集団の平均適応度の推移を図 3 に示す．実環境における進化のため，ノイズなどにより最大適応度・平均適応度ともに安定しないが，世代を通して適応度が増加していることがわかる．最終世代で得られた最良個体の振舞いを図 4に示す．最初，初期位置付近で回転することで，ゴール方向へ姿勢を調整し，その後，ゆるやかなカーブを描いてゴールに到達している．

4飛行船ロボットの行動獲得
3 次元空間を移動できるロボットのプラットフォー

ムとして機体内部に比重の軽い気体を充填して空中を漂いながら移動する飛行船ロボットが注目されている[13]．特にヘリウムを充填して中性浮力に基づく空中移動を行う小型飛行船ロボットは，移動するために必要なエネルギーコストが小さく，また静穏であるため，屋内での観測活動などに応用が期待されている．一方で，飛行船ロボットは，a) 大きな浮力を実現することが難しく，十分な駆動装置やセンサーなどを搭載することが困難であり，b) 慣性が大きく，環境中の微小な空気の流れに影響を受け，制御が容易ではないという問題をもつ．これに対し，ロボットが環境との相互作用を通して自らの振舞いを獲得していく進化ロボティ
クスのアプローチは小型自律飛行船ロボットの制御に有効であると考えられる [14]．また，飛行船ロボットはそのモデル化が容易ではなく，シミュレーションで獲得した制御器が実環境でうまく動かないことが予想(3)される．よって，本稿で提案している簡易コーディン
グを適用し，実環境でロボットを進化させるのに適した問題であるといえる．そこで，本節では飛行船型ロボットを用いた行動獲得問題を取り扱う．

1234(a) 実験環境

5678(b) CMOS カメラを搭載した飛行船ロボット(c) 飛行船ロボットのプロペラユニット

図 5: 飛行行動獲得問題の実験環境

910

図 4: ゴール到達問題における最良個体の振舞い

4.1

実験環境

実験環境を図 5(a) に，実験に用いる飛行船ロボットを図 5(b) に示す．飛行船ロボットはバルーン・プロペラユニット・カメラから成る．プロペラユニットは市販の飛行船ラジコンの本体を使用している．バルーンの直径 800mm，プロペラユニットの重量約 55g(カメラを含む)，駆動用として前進・旋回用に 2 つ，上昇・下降用に 1 つの合計 3 つの DC モーターを備え，プロペラにそれぞれ接続されている (図 5(c))．機体の下部に無線 CMOS カメラを搭載する．カメラからの画像の受信および ANN の出力によるモーターコマンドの送信は無線を介して外部に設置したデスクトップ PCから行う．飛行船ロボットシステムにおける制御の流れを以下に示す．

(i) 飛行船ロボットに搭載されたカメラから無線で送られてくる映像を受信機で受信する(ii) 受信した映像を PC に取り込み，画像処理を実行する(iii) 画像処理の結果から ANN により行動出力を決定する(iv) 決定された各プロペラへの出力は送信機からプロペラユニットへ送信される(v) 受信した出力値をもとにモーターを駆動する
4.2

ロボットの入出力設定

一般的に，カメラをロボットのセンサーとして用いる場合，取得した画像情報から設計者が明示的に対象を抽出するように処理を行う．しかし，この方法は設計者のもつ問題の知識に依存し，本来，自律ロボットの研究が目指す適応性・頑健性を妨げる恐れがある．
そこで本稿ではフレーム間の各画素について，濃淡をもとにその対応点を求め，速度ベクトルを計算するオプティカルフローを用いる [15]．そして，図 5(a) の環境でオプティカルフローを入力として飛行船ロボットの移動速度の最大化を目指す．ここでは環境中の対象を明示的に抽出するといった処理は全く行っていない． 評価に用いる場合は画像全体から速度ベクトルの大きカメラにより取得した画像の中心部およびその周囲の動きを求めるために，図 6 のように画像を 9 つのセルに分割する．分割したセル毎にオプティカルフローによる速度ベクトルの大きさの平均を計算し，ANN の入力とする．
本実験では 3 つの駆動用モーターの出力は正回転・停止の 2 種類を用いる．ANN の出力値 x が x > xerrの場合に正回転，x < xerr の場合に停止とする (本実験では xerr = 0.2 と設定する)．

4.3さを求める．

4.3.2

実験結果

世代数に対する OGA の最大適応度と集団の平均適応度の推移を図 7 に示す．第 3 節と同様に最大適応度・平均適応度ともに安定しないが，世代を通して徐々に適応度が増加していることがわかる．最大適応度・平均適応度に大きな差は見られない．
最終世代で得られた個体の典型的な振舞いを図 8 に示す．最初，環境の上方へ回転しながら移動し，その実験

4.3.1 実験設定
飛行船ロボットの初期位置は環境中央，高さは床面より約 1m とし，初期姿勢はランダムに設定する．各個体につき 2 試行行い，1 試行は 30 ステップで終了とする (1 ステップは約 2s)．
ロボットの制御器として，第 2 節で示した SANN を用いる．入力ノード数は Ns = 9(9 つに分割したセル内における速度ベクトルの大きさの平均)，中間ノード数は Nh = 1，出力ノード数は No = 3(前進用左右モー後ゆっくりと旋回を繰り返しながら下降する．最後に大きなカーブを描いて行動を終えている．最終世代で見られた他の振舞いとして，3 次元空間中であまり位置を変えず，旋回もしくは回転を続けるものがあった．
これは式 (4) で定義した適応度関数が，試行中の速度ベクトルの大きさの平均を表すことから，あまり位置を変えずに回転を続けることで高い適応度を獲得したためだと考えられる．しかしながら，最終世代では試行中，回転のみをし続ける個体は見られなかった．これはオプティカルフローを求める際に，対応点がフレータ・上昇用モータ) とする．したがって，L = 52 となる． ムから外れた場合はその画素では速度が 0 となるため，進化手法として OGA を用い，設定は第 3 節と同じ回転のみをする個体には一定の淘汰圧がかかるためだとする．ロボットは試行中 (30 ステップ) に，図 5(a) と推測される．今後，3 次元空間中の位置もより大きに示す 3 次元空間をより速く移動することを目的とし，次の適応度関数を用いて適応度を計算する:

F itness =1
M axStepMaxStep
t=1

ni=1 |vi (t)|n · M axSpeed

く変えるような振舞いを獲得するには，適応度関数に前進・旋回用モーターの出力差が小さくなるような要(4)素を導入する必要がある．

5

おわりに

ここで，vi は各画素における速度ベクトル，n は画素

実ロボットを環境で進化させるには膨大な時間がか数，M axSpeed はその画素の計算上取り得る速度の最かる．この問題に対し，われわれは簡易コーディングを大値であり，M axStep は 30 とする．オプティカルフ

用いた進化型 ANN を提案してきた．本稿ではこのアローを ANN の入力に用いる場合はセルに分割したが， プローチを 2 種類のロボット制御問題に対して適用し，0.5

Fitness

0.4
0.3
0.2
0.1

bestavg0.00

図 6: 9 つに分割された画像とオプティカルフロー

102030Generation4050

図 7: 飛行行動獲得問題における適応度の推移

gorithm in a Population of Robots, In Proceedings ofCongress on Evolutionary Computation, pp.335-342,
1999

12

[4] N. Jakobi: Half-baked Ad-hoc and Noisy: Minimal
Simulation for Evolutionary Robotics, In Proceedings of the Fourth European Conference on Artiﬁcial
Life, pp.348-357, 1997
[5] R. A. Brooks: Artiﬁcial Life and Real Robots, InProceedings of the First European Conference on Artiﬁcial Life, pp.3-10, 1992

34

[6] O. Miglino, H. H. Lund and D. Nolﬁ: Evolving Mobile Robots in Simulated and Real Environments,Artiﬁcial Life 2, pp.417-434, 1995
[7] 高崎, 片田, 大倉, 田浦: 進化型自律移動ロボットのオンラインモデル更新に関する一手法, 第 47 回自動制御連合講演会, CD-ROM 予稿集, 404, 2004

5768

[8] 片田, 高田: 簡易コーディングを用いた進化型ニューラルコントローラの性能評価, 第 34 回知能システム・シンポジウム資料, pp. 149-154, 2007
[9] 森, 家田, 松井: 全方位移動機構と全方位視覚を有する小型ロボットによるサッカー競技の実現 -チーム OMNIの戦略-, 人工知能学会 第 6 回 SIG-Challenge 研究会
論文集, Vol.1, pp.42-47, 2000
[10] 大倉，上田: 中立突然変異型 GA による騙し問題の最適化, 計測自動制御学会論文集, Vol. 32, No. 10, pp. 14611469, 1996910

図 8: 飛行行動獲得問題における最終世代の個体の振舞い
実環境でロボットを進化させる実験を行った．各々の実験で，ロボットは最終世代において適切な振舞いを獲得できていることを確認した．また，両実験とも実験時間は約 50 時間であった．以上より，これらの制御問題において，簡易コーディングを用いた進化型 ANNは実環境におけるロボットの進化に有効であることを確認した．今後，他の進化ロボティクスの問題にも本手法を適用し，その有効性および限界を調べたい．

参考文献[11] 片田，大倉，上田: Neutral Networks を含む適応度景観における遺伝的アルゴリズムの進化ダイナミクス, シス
テム制御情報学会論文誌, Vol. 17, No. 5, pp. 187-195,2004[12] Y. Katada, K. Ohkura and K. Ueda: An Approach toEvolutionary Robotics Using the Genetic Algorithmwith Variable Mutation Rate Strategy, In Proceedings of Parallel Problem Solving from Nature (PPSNVIII), pp. 952-961, 2004[13] 川端, 羽田, 浅間: 軽航空機 (LTA) ロボティクス, 日本
ロボット学会誌, Vol.24, No.8, pp.901-905, 2006[14] J.C. Zuﬀerey, D. Floreano, M. van Leeuwen, andT. Merenda: Evolving Vision-based Flying Robots,
In Proceedings of the 2nd International Workshop on Biologically Motivated Computer Vision(BMCV’2002), Lecture Notes in Computer Science,
pp. 592–600, 2002

[1] R. Pfeifer and C. Scheier: Understanding Intelligence, The MIT Press, 1999[15] 安居院，長尾: C 言語による画像処理入門, 昭晃堂, 2000

[2] Stefano Nolﬁ and Dario Floreano: EvolutionaryRobotics: The Biology, Intelligence, and Technology
of Self-Organizing Machines, MIT Press, 2000

連絡先
大阪府寝屋川市池田中町 17-8

[3] R. A. Watson, S. G. Ficici and J. B. Pollack: Embodied Evolution: Embodying an Evolutionary Al-E-mail: katada@ele.setsunan.ac.jp