next up previous contents index
Next: 歴史 Up: RoboCupの目標 Previous: シミュレーションリーグ   Contents   Index

サッカーサーバとは

サッカーサーバによって,様々なプログラミング言語によって書かれたプログラムから成る自律エージェントは互いにサッカーを プレイすることが出来る.

サッカーの試合は,クライアント/サーバ様式にて実行される.サッカーサーバは仮想フィールドを与え,ボールおよびプレーヤの 動き全てをシミュレートする.各クライアントは 1 プレーヤの動きを制御する.サーバと各クライアント間の通信は UDP/IP ソケットを通して行われる.従って,ユーザは UDP/IP に対応するものならいかなる種類のプログラミングシステムも使うことが出来る.

サッカーサーバは soccerserversoccermonitor いう2つのプログラムにより構成される. soccerserver はボールや プレーヤの動きをシミュレートし,クライアントと通信し,ルールに従って試合を制御するサーバプログラムである. soccermonitor は X ウインドウシステムを用いてモニタ上へsoccerserver からの仮想フィールドの状態を表示する プログラムである.一つの soccerserverに対して複数の soccermonitor プログラムを接続することが出来るので,複数の ディスプレイ上にサッカーフィールドを表示することも可能である.

UDP ソケットによってクライアントは soccerserver と接続する.そのソケットを用いて,クライアントはプレーヤを制御するために コマンドを送信したり,プレーヤのセンサーからの情報を受け取る.言い替えると,クライアントプログラムはプレーヤの頭脳である: クライアントはサーバから視覚・聴覚などの知覚情報を受け取り,サーバへと制御コマンドを送る.

各クライアントは 1 プレーヤのみ制御可能である[*][*].そのためチームはプレ ーヤと同数のクライアントから成る.クライアント間の通信はsay および hear プロトコルを用いて soccerserver 経由にて行われなくてはならない. (section 4.2.1参照.) サッカーサーバの目的のひとつは,エージェント間の コミュニケーションの効率が基準のひとつとなるマルチエージェントシステムの評価である.ユーザはそのような制約された通信によって 複数のクライアントの制御を実現しなくてはならない.



2005-08-05