私のブックマーク
ロボカップシミュレーション
秋山英久(産業技術総合研究所)
はじめに
ロボカップサッカー/レスキューシミュレーションはマルチエージェントシステムのテストベッドと呼ばれ、機械学習などのベンチマークとして利用されている。
シミュレーションリーグには実機の制約が無いため、ロボカップの他のリーグとは異なり、ロボットの個体制御よりも集団制御・チームワークの研究に焦点が当てられている。
ハードウェアトラブルに悩まされることもなく、パソコンが一台あればシミュレータを動かせるため、極めて低コストで取り組みを開始できる研究プラットフォームである。
また、公式シミュレータはプログラミング教育のためのツールとしても知られており、国内外の多くの大学などで演習課題として取り上げられた実績がある。
ここでは、ロボカップサッカー/レスキューシミュレーションに関係するページやリソースを紹介する。
ロボカップ全般
ロボカップでは、RoboCup Federationを中心として各国・地域に国際委員会が設けられている。
これらの公式サイトには運営や過去の競技会に関する一般的な情報が網羅されているが、競技会の最新情報や各競技のルールなどは必ずしも掲載されていない。
- ロボカップ公式サイト: http:://www.robocup.org/
- ロボカップ日本委員会: http:://www.robocup.or.jp/
競技会やイベントに関する最新情報は、各リーグあるいは競技会の専用サイトや公式Wikiで更新される。
競技参加を目指す場合はこれらのサイトで情報を入手する必要がある。
特に、シミュレーションリーグの日本公式サイトであるSimJPには、競技運営に関するさまざまな情報だけでなく、シミュレータのインストール方法などのドキュメントも掲載されている。
- SimJP(ロボカップシミュレーションリーグ日本公式サイト): http://rc-oz.sourceforge.jp/pukiwiki/
- RoboCup 2011: http://www.robocup2011.org/
RoboCup2011はトルコ、イスタンブールで開催予定である。 - RoboCup Federation Wiki: http://wiki.robocup.org/
競技運営に関する最新情報は公式Wikiで更新される予定である。 - ジャパンオープン公式サイト: http://www.robocup-japanopen.org/
- GermanOpen Official Page: http://www.robocup-german-open.de/
ロボカップのコミュニティ内にはさまざまなメーリングリストが存在している。
イベントだけでなくシミュレータの最新バージョンのリリースなどの告知もこれらのメーリングリストで行われるので、競技参加を目指す場合はメーリングリストに登録しておいた方がよい。
メーリングリストは、運営側からの情報の告知だけでなく、シミュレータの使用方法やチーム開発に関する質問・回答の目的にも利用できる。
- 日本語メーリングリスト(シミュレーションリーグ専用): http://lists.sourceforge.jp/mailman/listinfo/rc-oz-simjp
- 日本語メーリングリスト(全体アナウンス用): http://www.robocup.or.jp/ml.html
- 英語メーリングリスト(サッカー2D専用): https://lists.cc.gatech.edu/mailman/listinfo/robocup-sim
- 英語メーリングリスト(サッカー3D専用): https://lists.sourceforge.net/lists/listinfo/sserver-three-d
- 英語メーリングリスト(レスキューエージェント専用): https://lists.cc.gatech.edu/mailman/listinfo/robocup-rescue-s
- 英語メーリングリスト(レスキューバーチャルロボット専用): https://lists.cc.gatech.edu/mailman/listinfo/robocup-rescue-v
- 英語メーリングリスト(全体アナウンス用): https://lists.cc.gatech.edu/mailman/listinfo/robocup-worldwide
シミュレータ・ライブラリなど
ロボカップシミュレーションの各リーグでは、それぞれのリーグの目的に応じた公式シミュレータが用意されている。
シミュレータはすべてオープンソースで開発されており、無料で利用できる。
参加チームによって公開されたエージェント開発のためのライブラリやツールも利用可能である。
サッカーシミュレーション 2D
公式シミュレータ
サッカーシミュレーション2Dリーグの公式シミュレータは、2次元の仮想フィールドでのサッカーを実現するシミュレータである。
高さの概念は無く、ボールやプレイヤが宙を飛ぶことはない。
しかし、マルチエージェントシステムのプラットフォームとしての完成度は高く、シミュレータは現在もsourceforge.netにおいて開発が継続されている。
チームワーク研究が目的であれば、2Dサッカーシミュレータがプラットフォームとしてもっとも適しているだろう。
- The RoboCup Soccer Simulator(公式サイト): http://sserver.sourceforge.net/
- 開発プロジェクトページ: https://sourceforge.net/projects/sserver/
- シミュレータの配布ページ: https://sourceforge.net/projects/sserver/files/
シミュレータの各種ソフトウェアは、有志の手によってubuntuやFedoraでのパッケージ化が進められている。
特に、Fedoraに関しては公式リポジトリに取り込まれており、サッカーシミュレータ一式をすぐに利用可能である。
ただし、近年は公式競技で用いるOSとしてubuntuが採用されることが多いので、競技参加を目指す場合はubuntuを利用しておく方がトラブルは少ないだろう。
また、これらのパッケージは公式に管理されているものではないため、必ずしも最新バージョンではないことにも注意が必要である。
- ubuntu用パッケージ: https://launchpad.net/~gnurubuntu/+archive/rubuntu
- Fedora用パッケージ: https://fedoraproject.org/wiki/SIGs/Robotics
パッケージ化されていない最新のシミュレータを使用したい場合や、パッケージが用意されていない環境では、シミュレータを手動でコンパイル・インストールする必要がある。
シミュレータ一式をLinuxやMac OS Xへ自分でコンパイル・インストールするための手順は以下のページで解説されている。
- 公式Wikiの解説ページ: https://sourceforge.net/apps/mediawiki/sserver/index.php?title=Install
- SimJP Wikiの解説ページ: http://rc-oz.sourceforge.jp/pukiwiki/index.php?2D
- 2D/シミュレータのインストール: http://rctools.sourceforge.jp/pukiwiki/index.php?2D%2F%A5%B7%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
ライブラリ・サンプルエージェント
エージェントプログラムを一から開発するには大変な労力を要する。
低レベルな処理の実装を済ませたライブラリやサンプルエージェント,開発補助ツールがいくつか公開されているので、エージェントの意思決定の研究に注力したい場合はこれらを利用すると良いだろう。
特に理由がなければHELIOS Base(agent2d)の利用を勧める。
agent2dはRoboCup2010で優勝したHELIOSが公開しているサンプルエージェントプログラムである。
- HELIOS Base(agent2d): http://rctools.sourceforge.jp/
- 配布ページ: https://sourceforge.jp/projects/rctools/releases/
- メーリングリスト: http://lists.sourceforge.jp/mailman/listinfo/rctools-users
librcsc,agent2d,soccerwindow2,fedit2に関する質問・回答用のメーリングリスト。 - 秋キャンプ2010講習会: http://rc-oz.sourceforge.jp/pukiwiki/index.php?Event/2010/Camp#sa313d9f
agent2dを用いたチーム開発について解説した講習会。
他にも、過去に世界大会で優勝したチームのいくつかがチーム開発のベースとなるソースコードを公開している。
- WrightEagle Base: http://wrighteagle.org/2D/
- Brainstormers Base: http://sourceforge.net/projects/bsrelease/files/
- UvA Trilearn Base: http://www.science.uva.nl/~jellekok/robocup/2003/index_en.html
やや情報が古く、最新のシミュレータの仕様には追従していないが、人工知能学会誌「研究のツールボックス」の記事もチーム開発の足がかりとして有用であろう。
- 人工知能学会誌「研究のツールボックス」 RoboCup Soccer Simulator: https://www.ai-gakkai.or.jp/jsai/journal/toolbox/02/#SECOND
2Dサッカーのサブタスクとして提案されたKeepawayに特化したフレームワークも公開されている。
Keepawayは強化学習のテストベッドとして期待されている。
- Learning to Play Keepaway: http://www.cs.utexas.edu/~AustinVilla/sim/Keepaway/
サッカーシミュレーション 3D
サッカーシミュレーション3Dリーグの公式シミュレータは、2Dサッカーシミュレータでは扱えなかった高さの概念を導入している。
3Dサッカーシミュレータは、空間を3次元にするだけでなく、厳密な物理シミュレーションに基づく汎用ロボットシミュレータとして設計されている。
二足歩行ロボットのシミュレーションが実現されているものの、2Dサッカーシミュレータよりもロボットの制御そのものにリソースを割かなければならない。
3Dサッカーシミュレータも2Dと同様にsourceforge.netにおいて開発されている。
バージョン0.6.1以降は2Dとは独立したプロジェクトで管理されているので注意が必要である。
- SimSpark: http://simspark.sourceforge.net/
- 開発プロジェクトページ: https://sourceforge.net/projects/simspark/
- シミュレータの配布ページ: https://sourceforge.net/projects/simspark/files/
2Dと同様に、3DサッカーシミュレータもubuntuとFedora用のパッケージが有志の手によって用意されている。
- ubuntu用パッケージ: https://launchpad.net/~gnurubuntu/+archive/rubuntu
- Fedora用パッケージ: https://fedoraproject.org/wiki/SIGs/Robotics
3Dサッカーシミュレータ(バージョン0.6.4、2010年度の公式バージョン)のコンパイル・インストール手順がSimJP内で解説されている。
- 3D/環境構築/rcssserver3d-0.6.4: http://rc-oz.sourceforge.jp/pukiwiki/index.php?3D%2F%B4%C4%B6%AD%B9%BD%C3%DB%2Frcssserver3d-0.6.4
3Dリーグにおいても参加チームによってライブラリが公開されているが、残念ながら、2Dリーグほどは充実していない。
最もよく知られているものはLittle Green BATSが公開しているライブラリである。
これを用いてエージェントを動かすまでを解説した講習会が、2010年度のシミュレーションリーグ秋キャンプで開催された。
- Little Green BATS: http://sourceforge.net/projects/littlegreenbats/
- 秋キャンプ2010講習会: http://rc-oz.sourceforge.jp/pukiwiki/index.php?Event/2010/Camp#h742b00a
レスキューシミュレーション
レスキューシミュレーションリーグには、エージェント、インフラストラクチャ、バーチャルロボットの3つのサブリーグが存在する。
エージェントシミュレーションは都市の地図上での地震発生後の救助シミュレーションを目的としたものである。
インフラストラクチャはそのシミュレータの開発そのものを目的としている。
より大規模なマルチエージェントシミュレーションを扱いたい場合は、サッカーよりもレスキューエージェントシミュレーションが適しているだろう。
バーチャルロボットは実機レスキューロボットのリアルなシミュレーションを目的としてもので、前者二つとは大きく異なった競技となっている。
レスキュー エージェントシミュレーション・インフラストラクチャ
レスキューエージェントシミュレーション・インフラストラクチャリーグに関する情報は、sourceforge.netの公式サイトに集約されている。
レスキューエージェントシミュレーション部門では参加チームのソースコードの公開が義務付けられており、それらのソースコードも公式サイトで配布されている。
- RoboCup Rescue Simulation League: http://roborescue.sourceforge.net/
レスキューエージェントシミュレーションのための通信ライブラリが日本人有志の手によって開発・公開されている。
- RoboCup Rescue 通信ライブラリ: http://sourceforge.jp/projects/rcrscs/
レスキューシミュレーション バーチャルロボット
バーチャルロボットリーグでは,Unrealエンジンを用いたUSARSimというシミュレータを採用し、レスキューロボットのリアルなシミュレーションを目指している。
まだ参加チームは少なく、情報が充実していないのが現状である。
- USARSim: http://usarsim.sourceforge.net/
代表的な参加チーム・研究者
ここでは、サッカー2Dリーグの代表的なチーム・研究者を紹介する。
以下に列挙するチーム・研究者はいずれも世界大会で優勝した経験を持ち、ソフトウェアや論文として有益なリソースを提供している。
- HELIOS : http://rctools.sourceforge.jp/
RoboCup2010で優勝した、筆者が中心となって開発するチームである。今後もライブラリや開発補助ツールを公開していく予定である。 - WrightEagle : http://wrighteagle.org/
中国科学技術大学のチーム。RoboCup2006,2009で優勝。シミュレーションだけでなく、実機にも取り組んでいる。 - Brainstormers : http://www.informatik.uni-freiburg.de/~tgabel/brainstormers/bs2d_home.html
ドイツのチーム。RoboCup2005,2007,2008で優勝。カールスルーエ、オスナブリュック、フライブルグと所属を移動し、現在は活動休止中。 - UvA Trilearn : http://www.science.uva.nl/~jellekok/robocup/
アムステルダム大学のチーム。RoboCup2003で優勝。ベースプログラムを公開しており、多くのチームが利用していた。
修士論文で2Dサッカーシミュレータに関する豊富な解説を述べている。
- Peter Stone : http://www.cs.utexas.edu/~pstone/
RoboCup1998,1999で優勝したCMUnitedを率いていた。現在は3Dリーグや標準プラットフォームリーグを中心に活動している。Keepawayの提唱者で、多くの論文を発表している。 - Thomas Gabel : http://www.tgabel.de/
2005年から2010年までのBrainstormersのチームリーダーを務めていた。マルチエージェントシステムにおける強化学習研究に取り組んでいる。
その他の特殊な試みとしては、未踏ソフトウェアとしても採択されたOZEDなどがある。
ソフトウェアはまだ一般公開されていないが、問い合わせれば入手可能である。
- OZED : http://ozed.sourceforge.jp/
研究会・国際会議など
ロボカップでは、毎年の世界大会と同時にRoboCup Symposiumが開催されている。
CFPは、競技会の案内とほぼ同時期に競技会の公式サイト上で告知される。
RoboCup Symposiumuの採択率は比較的低く、難易度は高い。
国内では、人工知能学会AIチャレンジ研究会や情報処理学会ゲーム情報学研究会などでロボカップシミュレーションに関する発表が多い。
AIチャレンジ研究会はジャパンオープンと併催されており、その際はテーマとしてロボカップが取り上げられる。
- RoboCup International Symposium 2011: http://www.robocup2011.org/en/content.asp?PID={98F7B40C-6272-4CC9-AA0F-FA9BA6A8E03B}
- 人工知能学会 AIチャレンジ研究会 : http://winnie.kuis.kyoto-u.ac.jp/sig-challenge/
- 情報処理学会 ゲーム情報学研究会 : http://sig-gi.c.u-tokyo.ac.jp/
その他のリソース
サッカーシミュレーションに関する論文をまとめたリストが有志の手によって作成されている。
- Publication List: http://www.cs.utexas.edu/~pstone/tmp/sim-league-research.pdf
Bib形式: http://www.cs.utexas.edu/~pstone/tmp/sim-league-research.bib
サッカーシミュレーションに関するさまざまなデータを保存するための公式データリポジトリが用意されている。
過去の参加チームのプログラムバイナリや試合のログファイルなどが保存されている。
練習用の対戦相手を用意したい場合や、過去の試合を分析したい場合はこのリポジトリを利用すると良い。
- 公式データリポジトリ: http://www.socsim.robocup.org/files/
おわりに
本稿では、ロボカップシミュレーションに関係するページを紹介した。
ロボカップシミュレーションは人工知能のさまざまな分野と関連し、多くの研究題材が眠っている。
その一方で、問題の複雑さからエージェントプログラムの開発そのものにかかる労力が大きく、研究として取り組むまでのハードルが高いという側面がある。
本稿が、ロボカップに興味がある、競技参加したい、研究プラットフォームとして利用したい、という方々への助けとなれば幸いである。