The Concept of Swarm Robotics — [学士論文研究②]

Keisuke Okumura | 奥村圭祐
14 min readMay 8, 2017

“体系的な知識を身につけよ”

ということで学士論文研究のための知見をまとめていきたいと思います. 本日は Swarm Robotics のコンセプトについてまとめます. アジェンダは次の通り.

  1. Swarm Robotics (群ロボット工学)とは
  2. 従来のロボット (Single Robot) と比べて
  3. 他のマルチエージェントシステム (Multi-Agent System) と比べて
  4. 実用化について

キワード: Swarm Robotics, Swarm Intelligence, Decentralized

※ 内容に誤りなどがございましたらご指摘いただけると幸いです.

1. Swarm Robotics (群ロボット工学)とは

Swarm Robotics (群ロボット工学) とは, シンプルな構成をもつロボットが多数集まって特定のタスクをこなす, マルチロボットシステムの新しいアプローチ方法です. ロボット(エージェント)間の相互作用と, ロボット群と環境との相互作用によって集団的な行動がとられる のですが, 昆虫を始めとする, 自然界に存在する “群れ” の行動にインスパイアされて発達してきた分野でもあります.

自然界の群行動

アリや蜂の群れを考えてみてほしいのですが, 科学者は当初, 女王アリや女王蜂が絶対の権力者, すなわちリーダーとなって群れ全体の行動指針を決定しているという仮説を立てていました. しかしながらここ半世紀でのリサーチの結果, 群れのネットワークにはリーダーが不在であることの証明がなされています. これはアリや蜂のネットワークにはグローバルな情報を保持するストレージがないということであり, 1 つの個体がネットワーク全ての情報にアクセスすることはできないことを示しています.

http://okayama.summacle.jp/

もう一つ, 自然界の集団的な行動が秩序立っている具体例として, 昆虫ではありませんが鳥の群行動をあげておきます. 詳しくは下の動画を参照してください.

群れの中には指揮をとるリーダーのような鳥はいませんし, 人間のように言語でコミュニケーションをとることはできません. しかし群れを形成する個体が周囲環境を認識し, 3 つの行動ルールに従うだけで一糸乱れない群行動が生まれていると言われています.

研究のコンセプト

Swarm Robotics ではこのような自然界の現象をロボットに応用し, 実社会に役立てることを目標としています. 研究対象としましては, シンプルなロボットを数多く配置して有効活用するための状況設計や, 群れを成すロボット単体の物理的な設計, 行動を制御するアルゴリズムの開発等になります. ロボットは通常, シンプルに設計されており, サイズが小さく, 金銭的コストも小さいです. 従って群れを成すロボットの数を増やすことは容易となっています.

ここで Swarm Robotics での重要なコンセプトとして, 群れの中でエージェント同士がどのようにコミュニケーションを行うか という問題を提起したいと思います. 通常はローカルな環境, つまりあるロボットからせいぜい複数台のロボットに対してのみ通信が可能となっています. この特徴はシステムがスケーラブルでロバストであることを保証します.

2. 従来のロボット (Single Robot) と比べて

http://autoc-one.jp/

Swarm Robotics の特徴を, 単体でタスクを成し遂げる, 高性能な従来のロボットと比較してみましょう. 従来のロボットはある特定のタスクに対して人間がどのように行動するか, という点にインスパイアされてきました. 一方 Swarm Robotics は社会的な動物の群れから影響を受けています.

例えば, 社会的なタスクに取り組むにあたって, 従来のロボットは全体設計, 制御モジュールともに複雑になりがちです. これは製造やメンテナンスがコスト高になりやすいことを意味します. また従来のロボットは障害に対して脆弱です. 一部分が故障して, システム全体に影響を与えるかどうかを予期することは非常に難しく, 従来のロボットではこの問題を克服することができません.

一方, Swarm Robotics は従来のロボットと同じ能力を, ロボット群の協調行動で達成することができます. 群れを成す個体そのものの再利用性は高く, 製造とメンテナンスにコストはあまりかかりません. Swarm Robotics は大規模なタスクに適しており, 複数のタスクを同時にこなすことも可能です.

以下に, Swarm Robotics が高性能な従来のロボットと比較して特に優れている点について詳解していきます.

シングルロボットと比べての特徴

Parallel (並行性)

群れに属するロボットの数は, 通常かなり大きなものなると考えられます. これは複数のターゲットを対象としたタスクを, Swarm が対応ができることを示唆しています. 例えば, ある環境下で広範囲に分散した複数のターゲットを探索するタスクを与えた場合, 従来のロボットと比較して時間を大幅に節約することが可能です.

Scalable (大規模化が容易)

群れに所属する個体の相互作用は局地的なものであり, 個体はタスクに参加するか否かを, いつでも, 群れ全体の合意を得ることなく決めることができます. 群れはこの人口変化に対応することができ, タスクの再割り当てを特別なオペレーションなく行うことができます. これはシステムがソフトウェアやハードウェアの修正なしに異なる群れのサイズに対応することを示しており, 実世界での活用において大変有効であると考えられています.

Stable (安定性)

Swarm のシステムは, 一部が不可抗力によってタスクを行うことができない状況となっても, 全体に対して大きな影響はありません. 群れ全体としては, 継続してタスクに取り組むことができます. ただ, 少ないロボットでのパフォーマンスは必然的に劣化することになります. この特徴は危険な環境下でのタスク実行 (鉱山での採掘活動など) に有効です.

Economical (経済的)

Swarm Robotics では製造, メンテナンスともにコストが低く設計されます. 全体のシステムは例え数百のロボットが群れを構成をしていると仮定しても, 大量生産できない従来の高性能ロボットよりも安価です.

Energy Efficient (エネルギー)

群れを構成するロボット単体は, 大きなロボットと比べて小さく簡潔な設計であることから, エネルギーコストで比較すると, 一台の高性能なロボットより遥かに効率的です. これによって, Swarm Robotics では活動時間をより長く見積もることができます. 燃料施設がない環境, もしくは有線の電気チャージが禁止されている区域などにおいては, Swarm Robotics は活躍することでしょう.

Swarm Robotics は与えられたタスクを, 個体同士のインタラクションの結果生じる, 協調的な動作を通して達成することができます. 従来のロボットがかろうじて達成していたタスクをより容易に行うことができるポテンシャルがあり, この分野の研究はここ 10 年で重要なものとなってきています.

3. 他のマルチエージェントシステム (Multi-Agent System) と比べて

マルチエージェントシステム (Multi-Agent System) やセンサーネットワーク (sensor network) といった領域は, 多数のエージェントが協調的行動を行って特定のタスクに取り組むシステムであり, Swarm Robotics と混合されがちです. しかしながら Swarm Robotics はこれらの領域と異なる点があり, 基本的に区別することが可能となっています.

http://www.yuden.co.jp/

一般的に, マルチエージェントシステムやセンサーネットワークシステムでは, 複数の 静的 なエージェントが 既知の環境 で行動することを前提としています. マルチロボットシステム (Multi-Robot System) でのロボットは 不均質 であり(全てが同じフォームをしているわけではない), 外部からコントロールされている 事例もあります.

以下に, Swarm Robotics が上記のシステムとどのような点で異なるのか, 詳解していきます.

他のマルチエージェントシステムと比べての特徴

Autonomous (自律性)

Swarm Robotics の群れを成す個体は自律的です. 独立して動作を行い, 他のロボットと相互作用を行います.

Decentralization (脱中心化)

協調行動のためのルールを上手く設計することで, 群れから中央集権的な構造を取り除きいてタスクを達成することができます. これはスケーラビリティと柔軟性を保証します. 同時に, 局地的な通信妨害や通信にラグがある場合においても高い対応能力をもちます.

Local Sensing and Communications (ローカルセンシングと通信)

ハードウェアの制約やコスト面を鑑みて, Swarm のロボット単体に搭載されるセンサーや通信能力には限界があり, 従って群れ全体を通して行われるようなコミュニケーションは行われません(グローバル通信). グローバル通信を行うにあたって, 通信に関するコストは, ロボットが増えるにつれ指数関数的に増大する傾向にあり, Swarm のスケーラビリティや柔軟性を制限する結果になります. しかし, ロボット間のインタラクションに使用されない限りでは, 制御系のアップデートや端末信号の送信など, 特定のグローバル通信は有効策となっています.

Homogenous (均質性)

Swarm Robotics システムではロボットの分業化は少なければ少ないほど好ましく, それぞれの役割に従事するロボットの数は可能な限り多い方が好ましいとされています. ここで示す役割とは, タスクに取り組んでいる最中に動的に変更することのできないシステムのことであり, 例えば物理的なロボットの構造を示します. 均質でない例として, フットサルを行うロボットを想像してほしいのですが, ゴールキーパーなどそれぞれのロボットが特別な役割を果たしており, これは Swarm Robotics の括りではありません.

Flexibility (柔軟性)

高い柔軟性をもったシステムは, 異なるタスクを同じハードウェアと, マイナーチェンジされたソフトウェアによって扱うことができます. 自然界の群れにおいても, 同一の群れが様々なタスクを取り扱うことができることと同様です.

3. 実用化について

Swarm Robotics は, 危険で不便な環境下でのタスクに対して有効的なアプローチ方法に成りうると思われます. しかし実生活での応用はまだ現実的でなく, 現在は特定の問題をモデル化して Swarm Robotics によるアプローチを理論的に研究している段階です.

モデル化された問題は, パターン形成問題や地形図制作, 移動 (Flocking) や自己組織化, その他には発臭源の探索, 鉱脈探索, 災害地での被害者救助を含みます. さらにより社会的な問題として, 交通システムや地雷除去, 惑星探索などを始めとする巨大スペースにおけるナビゲーションも扱っています.

以下に Swarm Robotics が適しているタスクの特徴を列挙します.

適しているタスクの特徴

Tasks Cover Large Area (巨大な地域にまたがるタスク)

Swarm Robotics は広大なスペースでタスクを実行することに優位性をもっています. 群れに所属するロボットは対象となる環境にばら撒かれ, 地形の動的変化を探知することが可能です. 具体例としては, 化学物質のリークや汚染への対応が挙げられます.

Tasks Dangerous to Robot (危険なタスク)

Swarm Robotics の特徴としてスケーラビリティと安定性を取り上げましたが, これらの特性のおかげで Swarm は危険なタスクに取り組む際に, 冗長性を備えています. 群れ全体で考えると, 特定のタスクが終了するまでにロボットを幾らか失うことになっても, 与えられたタスクを達成することが可能だからです. 作業従事者に危害を加えるような環境, またはタスクを終えた後ロボットそのものが回収不能に陥るような状況下で, 高価なロボットを使用することは躊躇われますが, Swarm Robotics は個々のロボットが安価なため, 合理的な解決策を与えてくれます.

Tasks Require Scaling Population (スケーリングが必要なタスク)

与えられたタスクの仕事量が時間とともに変化するということはよくあることです. これに対して Swarm Robotics は今現在の仕事量に合わせて群れの大きさを調整することが可能であり, 時間的にも経済的にも高い生産性をもちます. 例えばタンカー事故が発生して石油が流出し, これらの石油を取り除かなければならない状況を考えてみてください. Swarm Robotics を用いたソリューションでは最初に多くのロボットを投入し, 清掃がある程度進行し, リークしたいるエリアが限定されてくると従事するロボットの数を減らすことが可能です. また清掃の進行が滞っているエリアにたくさんのロボットを派遣することもできます.

Tasks require redundancy (冗長性が必要なタスク)

Swarm Robotics は冗長性をもっており, 幾つかのロボットが取り除かれても全体にとって決定的な影響はありません. タスクが正常に終了することが求められている場合, 冗長性をもつ Swarm は適していると考えられています.

具体的なロボットを用いたアプローチ

次に, 幾つか物理的なロボットを用いて Swarm Robotics の問題にアプローチしている実例を詳解します.

Sambots

自己組織化にフォーカスしたもので, ヘビやキャタピラ, 四角形, 三角形などの形状に変形することが可能です.

https://www.researchgate.net

I-Swarm Project

医療現場で用いることを目的としたマイクロロボットの開発です.

Kilobot

1000 台を超える小型ロボットの大群に, 一定の陣形を作るように命令してその通りに移動させるプロジェクトです.

Swarm Robotics の研究はまだ始まったばかりですが, 間違いなく面白い研究分野になると僕個人は考えています. 今回は抽象的な話へと内容が偏りました. Swarm Robotics と Autonomous Mobile Robots との関係性についてはまた別の機会にまとめたいと思います.

--

--