- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
Up:[[Tutorial]] Previous:[[Clean Up]] Next:[[ROSノードの利用]]
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]]の発展版になります。
※このサンプルはSIGVerse v2.2.2以降で動作します。
ロボットがテーブルなどの障害物を回避しながら、部屋の中のゴミを正しいゴミ箱に捨てるサンプルを紹介します。
また、後述するレフェリーサービスにより、ロボットが障害物と接触した、誤ったゴミ箱にゴミを捨てた場合には減点、正しいゴミ箱にゴミを捨てた場合には加点されます。
ここで、レフェリーサービスは以下のリストに基づいて採点を行います。
#ref(ObjectList.xlsx)
***修正点 [#xec68eb8]
-ロボットが物体を通り抜けられないよう修正。
-レフェリーサービスによる自動採点を導入。
-環境に家具や壁、床を設置して家庭環境を再現。
**コントローラサンプルコード取得 [#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]] Next:[[ROSノードの利用]]
Up:[[Tutorial]] Previous:[[Clean Up Task Sample 1, 2]]
#counter