クラウドコンピューティングを用いた 進化型ロボティックスワームの群れ

平成 27 年度 修士論文概要
クラウドコンピューティングを用いた
進化型ロボティックスワームの群れ行動生成
Collective Behavior Acquisition of Evolutionary Robotic Swarms using Cloud Computing
機械システム工学専攻 生産システム A 研究室
M140573 森川 達矢
【背景と目的】
スワームロボティックシステム(Swarm Robotic Systems:SRS)とは,多数の比較的単純なロボット
が局所的な相互作用を通じてタスク達成を図るシステムである.SRS における制御器の設計手法の一つに,
進化計算を用いて設計する進化ロボティクス(Evolutionary Robotics:ER)がある.ER を用いることで
人間では設計が困難な制御器の獲得が期待出来るが,システムの規模に応じて計算量が膨大になる.膨大
な計算量に対する解決方法の一つとして,クラウドコンピューティングが近年注目を集める.クラウドコ
ンピューティングは高い拡張性を持ち,要求に応じて,短期的に少ない費用で膨大な計算リソースが利用
可能である.本研究ではクラウドコンピューティングを用いることで,SRS の群れ行動生成において,シ
ステムの規模に応じて変化する計算コストに対処する.
【実験設定】
本研究で取り扱う協調採餌タスクでは,ロボット群が図
1 に示す環境内に置かれた餌を,より多く持ち帰ることが
Robot
目的となる.餌は 4 台以上のロボットが力を加えなければ
Nest
動かすことができない重さとなっており,ロボット間の協
Obstacle
調が必要となる.クラウド環境上の仮想マシン(Virtual
Food
Machine:VM)を用い,ER において計算時間の多くを
占める,個体群の評価を並列に行う.並列計算には高速な
データ処理が可能な,オープンソースソフトウェアである
Apache Spark を用いる.複数の VM を用いて Spark のク
Fig. 1: Cooperative food foraging problem
ラスタを構築する.クラスタ内の VM に個体を割り振り,
各 VM 上で図 1 の環境を用いてロボット群の振る舞いを並列に評価する.次世代の個体群の生成には他個体
の情報を必要とする.そのため,評価を終えた個体群を 1 台の VM に集約し,次世代の個体群を生成する.
VM 数とロボット台数を変化させ,実装した並列計算の特性を検証する.VM 数を 1,8,16 とし,ロ
ボット台数を 36,64,100 として群れ行動生成を行う.クラスタに使用する VM のスペックは全て同一で
あり,CPU は1コア,クロック数 2.50GHz,メモリは 2GB である.進化計算には DE/rand/1/exp を用
い,世代数 300,個体数 128,試行回数は 5 とする.VM 数 1 の場合,計算時間が膨大になるため,1 世代
の計算時間から推測した推測値を用いる.
【実験結果】
16 VMs
VM 数とロボット台数ごとの計算時間の平均値を図 2 に
て計算時間が短縮されていることがわかる.また,各ロボッ
ト台数,VM 数において,一台の VM と比較した並列化効
率は約 65%であった.これはロボット群の振る舞いに差が
生じたため,クラスタ内で同期待ちが発生したと考えられ
る.これらのことから,ロボット台数や VM 数によらず,
一定の並列化効率が得られる並列計算を実装できたと言え
る.VM 数を増やすことで,より多くのロボットを取り扱っ
た群れ行動の生成が期待できる.
Processing time [s]
示す.VM 数を増加させることで,各ロボット台数におい
8 VMs
Single
400,000
300,000
200,000
100,000
0
36
64
Number of robots
100
Fig. 2: Average processing time(sec)