Up:[[Tutorial]] Previous:[[HMD+KINECT]] ---- #contents *Clean Up タスクサンプル [#g2cfff41] このサンプルは[[Clean UP 2013]]の発展版になります。 Clean UP 2013のサンプルでは、・・・した。 このサンプルでは、・・・ます。 ※このサンプルはv2.2.3以降で動作します。 ロボットがゴミをゴミ箱に捨てるサンプルを紹介します。 **コントローラサンプルコード取得 [#ud1eaff5] 以下をサーバ側でダウンロードします。 #ref(CleanUp_2014_v1.tar.gz) ***2014 修正点 [#xec68eb8] -ロボットが物体を通り抜けられないよう修正。 -レフェリーサービスの導入。 -(※注意)SIGVerse v2.2.3以降で正常に動作します。 **コンパイル [#g44a9810] 次に展開してコンパイルします。 $ tar xzvf CleanUp_2014_v1.tar.gz $ cd CleanUp_2014 $ 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(Referee_v1_v2013.zip) ***vc2010 [#w0461d81] #ref(Referee_v1_v2010.zip) **設定 [#xd01eb20] hoge hoge ・・・ **ゴミ認識サービス [#j9720a3a] ゴミを認識するサービスプロバイダのサンプルについては[[Clean UP 2013]]をご覧ください。 **実行 [#bc5cacad] それでは実行してみましょう。 サーバ側でまずSIGVerseサーバを実行します。 $ sigserver.sh -w ./CleanUp.xml -p 9001 ビューワーで接続するとロボットが机の前に立っていて、机の上に缶とペットボトルが置いてあります。 #ref(./CleanUp_1.PNG,60%) 次にビューワーでサーバに接続してシミュレーションを開始します。この時点ではロボットは認識を開始せず、ゴミ認識サービスが起動するのを待っています。 #ref(./CleanUp_2.PNG,60%) 次にクライアント側でゴミ認識サービスを起動します。するとゴミ認識サービスによりゴミの位置が認識されてロボットがペットボトルをゴミ箱に運び始めます。 #ref(./CleanUp_3.PNG,60%) **終了 [#t177810d] 終了するときはゴミ認識サービスプロバイダの終了→ビューワーでシミュレーション終了(もしくはQuit)→ビューワーでdisconnect→サーバの終了の順に行います。 #highlight(end)