Up:Tutorial?
ここでは、2014年1月25日26日に開催されたロボカップキャンプにおけるシミュレーションリーグの発表資料とサンプルプログラムを紹介します。
キャンプにおける発表資料は以下からダウンロードできます。
このサンプルはClean Up?の発展版になります。
※このサンプルはSIGVerse v2.2.2以降で動作します。
ロボットがテーブルなどの障害物を回避しながら、部屋の中のゴミを正しいゴミ箱に捨てるサンプルを紹介します。
また、後述するレフェリーサービスにより、ロボットが障害物と接触した、誤ったゴミ箱にゴミを捨てた場合には減点、正しいゴミ箱にゴミを捨てた場合には加点されます。
ここで、レフェリーサービスは以下のリストに基づいて採点を行います。
以下をサーバ側でダウンロードします。
次に展開します。
$ tar xzvf CleanUpDemo2014.tar.gz $ cd CleanUpDemo2014
以下をViewer側でダウンロードします。
SIGViewerにサービスを登録します。
サービスの登録方法についてはキネクトによるエージェントの操作をご覧ください。
それでは実行してみましょう。 サーバ側でまずSIGVerseサーバを実行します。
$ sigserver.sh -w ./CleanUpDemo2014Robo.xml
ビューワーで接続すると部屋の中央にロボットが立っていて、手前のガラステーブルの上に缶とペットボトルが置いてあります。
次にレフェリーサービスを起動します。
シミュレーションを開始するとロボットが移動し始めます。
ロボットが障害物に衝突するとレフェリーサービスによって減点されます。
次にロボットが缶をゴミ箱に運び始めます。
間違ったゴミ箱に捨てた場合は減点されます。
次にペットボトルをゴミ箱に運び始めます。
正しいゴミ箱に捨てた場合には得点が加算されます。
終了するときはゴミ認識サービスプロバイダの終了→ビューワーでシミュレーション終了(もしくはQuit)→ビューワーでdisconnect→サーバの終了の順に行います。