Up:[[Tutorial]]
Up:[[Tutorial]]     Previous:[[Clean Up Task Sample 1, 2]]
----
#contents

*ロボカップ@ホームキャンプ2014 [#g2cfff41]

ここでは、2014年1月25日26日に開催されたロボカップキャンプにおけるシミュレーションリーグの発表資料とサンプルプログラムを紹介します。

キャンプにおける発表資料は以下からダウンロードできます。
#ref(RoboCupCamp.pdf)

*Clean Up タスクサンプル 3[#g2cfff41]

このサンプルは[[Clean Up]]の発展版になります。
//Clean UP 2013のサンプルでは、・・・した。
//このサンプルでは、・・・ます。

※このサンプルはSIGVerse v2.2.2以降で動作します。

ロボットがテーブルなどの障害物を回避しながら、部屋の中のゴミを正しいゴミ箱に捨てるサンプルを紹介します。

また、後述するレフェリーサービスにより、ロボットが障害物と接触した、誤ったゴミ箱にゴミを捨てた場合には減点、正しいゴミ箱にゴミを捨てた場合には加点されます。

ここで、レフェリーサービスは以下のリストに基づいて採点を行います。
#ref(ObjectList.xlsx)

***修正点 [#xec68eb8]
-ロボットが物体を通り抜けられないよう修正。
-レフェリーサービスによる自動採点を導入。
-環境に家具や壁、床を設置して家庭環境を再現。
//-(※注意)SIGVerse v2.2.0以降で正常に動作します。

**コントローラサンプルコード取得 [#ud1eaff5]

以下をサーバ側でダウンロードします。
#ref(CleanUpDemo2014.tar.gz)

//**コンパイル [#g44a9810]
次に展開します。

 $ tar xzvf CleanUpDemo2014.tar.gz
 $ cd CleanUpDemo2014
// $ make

//***コンパイルに失敗する場合 [#g8d7bc28]

//コンパイルするには環境変数SIGVERSE_PATHにバージョンSIGVerseのバージョン2.2.3以降を設定する必要があります。
// $ export SIGVERSE_PATH=/home/<username>/sigverse-<バージョン2.2.3以降>
// $ export PATH=$PATH:$SIGVERSE_PATH/bin
// $ bash

//※注意)動作環境によっては以下のコードをコントローラの最初に追加する必要があります。
// #include <unistd.h>

**レフェリーサービス取得 [#i66cae44]
以下をViewer側でダウンロードします。
//***vc2008 [#a5e84bc9]
#ref(RobocupReferee.zip)
//***vc2010 [#w0461d81]
//#ref(Referee_v1_v2010.zip)

SIGViewerにサービスを登録します。

サービスの登録方法については[[キネクトによるエージェントの操作]]をご覧ください。


//**設定 [#xd01eb20]
//hoge hoge ・・・

//**ゴミ認識サービス [#j9720a3a]
//ゴミを認識するサービスプロバイダのサンプルについては[[Clean UP 2013]]をご覧ください。

**実行 [#bc5cacad]

それでは実行してみましょう。
サーバ側でまずSIGVerseサーバを実行します。
 $ sigserver.sh -w ./CleanUpDemo2014Robo.xml

ビューワーで接続すると部屋の中央にロボットが立っていて、手前のガラステーブルの上に缶とペットボトルが置いてあります。

#ref(./CleanUp2014_1.jpg,60%)

次にレフェリーサービスを起動します。

#ref(./CleanUp2014_2.jpg,60%)
 
#ref(./CleanUp2014_3.jpg,60%)

シミュレーションを開始するとロボットが移動し始めます。

ロボットが障害物に衝突するとレフェリーサービスによって減点されます。

#ref(./CleanUp2014_4.jpg,60%)

次にロボットが缶をゴミ箱に運び始めます。

#ref(./CleanUp2014_5.jpg,60%)

間違ったゴミ箱に捨てた場合は減点されます。

#ref(./CleanUp2014_6.jpg,60%)

次にペットボトルをゴミ箱に運び始めます。

#ref(./CleanUp2014_7.jpg,60%)

正しいゴミ箱に捨てた場合には得点が加算されます。

#ref(./CleanUp2014_8.jpg,60%)

**終了 [#t177810d]
終了するときはゴミ認識サービスプロバイダの終了→ビューワーでシミュレーション終了(もしくはQuit)→ビューワーでdisconnect→サーバの終了の順に行います。

#highlight(end)

----
Up:[[Tutorial]]     Previous:[[Clean Up Task Sample 1, 2]]
#counter


Front page   New List of pages Search Recent changes   Help   RSS of recent changes