Bristlebotを作ったことがある人なら、振動ロボット、またはビブロボットと呼ばれるカテゴリーの人工生命がいかにシンプルでエレガントであるかは実感されていると思う。さてそのビブボットだが、集団になると凄いことになる。
2011年、ハーバード大学の研究グループがKilobotという超小型で安価な(50ドル以下)オープンソースの研究用ロボットを開発した。それは赤外線信号を使って集団をコントロールできる。先週、サイエンス誌(self-folding walking paper robotsを掲載した雑誌)の最新号で、主執筆者でありハーバード大学のSchool of Engineering and Applied Sciences(SEAS)のRadhika Nagpal研究室とWyss Institute for Biologically Inspired Engineeringの研究助手を務めるMichael Rubensteinが、Kilobotの集団を動かして特定の形状に整列させるプログラムについて解説している。
Kilobotは、25セント玉を重ねたものに3本の針のような脚を付けたような形をしている。個別に操作するのは容易ではない。2つの振動モーターが本体の両側に配置されているが、コースを外れたり移動距離を誤ったりすることが多い。
しかし、1024台のKilobotをひとつの場所に集めると(この数は1キロバイトのビット数にちなんでいる)、彼らは与えられた仕事を完璧に果たすようになる。たとえば、特定の形状に整列するという仕事の場合、4台が座標系の原点を決め、残りのロボットが、相対位置を確認しつつ、グループの縁に沿って移動するといった原始的な方法で移動して、自分の位置に納まる。グループから離れてしまうロボットがあれば、または数台が集中して動けなくなってしまったときは、他のロボットが入り込んで、それらを列に戻す。
早送り画像を見てわかるとおり、ひとつの形状を作り上げるのに12時間ほどかかる。このニュースの主眼は、使用したKilobotの数にある。これはロボットの群行動に関する実験のひとつに過ぎないが、このKilobotの実験は、100台を超える数の群を扱った最初のものとなった。
完成品の KilobotはK-Teamで購入できる。または、クリエイティブ・コモンズ非商用(CC BY-NC-SA 3.0)ライセンスのもとで自作することもできる。
訳者から:ムービーの中の解説文です。
・1000台のロボットによるプログラム可能な自己集合の実験。
・自然界では数百万もの個体が協調して複雑な構造体が作られている。
・こうした能力を人工システムに持ち込むことは大変に難しい。
・我々はシンプルで低価格なロボット、Kilobotを開発した。これを1024台使うことで群の集団行動の実験が可能になった。
・大量生産によりコストを抑えたKilobotの移動方法は振動モーターを使った斬新なもので、通信は反射赤外線光で行う。
・我々は大きな群のプログラム可能な自己集合のアルゴリズムを開発した。これを使うことで、すべてのロボットに望みの形状を覚えさせることができる。
・このアルゴリズムにより、人の手を介さずにロボットをしっかりとした形状に集合させることができる。1000台規模のロボット群では初めてのことだ。
・この自己集合アルゴリズムは、単純な一体形状ならば、どんな形にでも正しく対応できるはずだ。
・これは、3つの基本的な動作、「勾配」「外周追従」「分散協調システム」で構成されている。
・エラーを起こしがちな大きなグループを制御するための追加的ストラテジー(「希なエラーの検出」「ロボット間の差異の補間」「連続空間アルゴリズム」)に依存している。
・最初に4台のシードとなるロボットを形状の基本位置に配置する。
・適当に配置されたロボットは、外側のものから外周に沿って順番に移動を開始する。
・集団的に構築された座標系によって規定された形状にはまるまで、ロボットは外周に沿って移動を続ける。
・形状の内側に入ると、ロボットは形状の外に出そうになるか、他のロボットにぶつかるまで動き続ける。そのいずれかが発生したときに、ロボットは停止する。
・これは、低機能でエラーの多い個体が協調することで、大規模な自律ロボット群の複雑な集団的行動が実現すること、またそのようなプログラムが可能であることを示している。
– Kathy Ceceri
[原文]