[[Tutorial]]

*テスト実行 [#k98de9c8]

前回ではSIGVerseを起動してロボットが立っているのが見ることが出来ました。このロボットを動かす為にはコントローラを作成しなければなりません。すでにいくつかのコントローラのサンプルが用意されているのでそれを使ってテスト実行してみましょう。
次に世界ファイルというものを作成して仮想世界にオブジェクトを登場させます。

**エージェントへのアタッチ [#x7fbc2a4]
**世界ファイル作成 [#z2214ae9]
 $ cd ~/sigverse-<version>/share/sigverse/data/xml
ここに世界ファイルを作成します。世界ファイルはxmlファイルで記述されています。
 $ emacs test.xml

test.xml

 <?xml version="1.0" encoding="utf8"?>
 <world name="myworld">
 
   <!--重力の指定-->  
   <gravity x="0.0" y="-9.8" z="0.0"/> 
   
   <!--登場キャラクターのインスタンス作成-->
   <instanciate class="seToy_D.xml">
 
         <!--キャラクターの名前-->
         <set-attr-value name="name" value="Toy_D"/>
         
         <!--動力学演算の機能off-->
         <set-attr-value name="dynamics" value="false"/>
        
         <!--C++言語の指定-->
         <set-attr-value name="language" value="c++"/>
 
   </instanciate>
 </world>

※ファイル保存時にコードシステムを聞かれたらutf-8を入力します。

これは仮想世界にペンギンのキャラクターを登場させる世界ファイルです。

**起動 [#uaa20dda]
それではSIGVerseを起動してみましょう。

 $ cd ~/sigverse-<version>/bin
 $ ./sigserver.sh -w test.xml -p 9001 

先ほど作成した世界ファイルを-wオプションで指定しました。

次にSIGViewerを起動して接続先のホスト名、上で起動したポート番号を入力して、"Connect to SimServer"ボタンを押してサーバに接続します。

#ref(test_1.jpg)

ペンギンのようなキャラクターが見えます。

それではSIGViewer、メインサーバを一度終了します。(この時先ほど作成したkill.shを実行します。)

**キャラクターへのアタッチ [#w06ddb12]

このキャラクターを動かす為にはコントローラを作成し、登場するキャラクターにアタッチしなければなりません。すでにいくつかのコントローラのサンプルが用意されているのでそれを使ってテスト実行してみましょう。


まずSIGVerseを起動します。
 $ cd ~/sigverse-<version>/bin
 $ ./sigserver.sh -p 9001 &
 $ ./sigserver.sh -w test.xml -p 9001 &


 all done.[SYS]  waiting for connection...
最後にメッセージが表示されると思います。
この時メインサーバはエージェントがアタッチされるのを待っています。

次にすでに準備されているサンプルコントローラバイナリを読み込み、エージェントにアタッチします。
この状態ではメインサーバではエージェントがアタッチされるのを待っています。

 $ ./sigrunac -l ../share/sigverse/samples/GoRound.so -n Robot1 -p 9001
次にすでに準備されているサンプルコントローラバイナリを読み込み、エージェントにアタッチします。(Enterキーを押すとコマンドが使えます。)

sigrunacはコントローラをシミュレーションサーバ中のエージェントにアタッチするためのツールです。-lオプションでアタッチするコントローラライブラリを指定します。サンプルのコントローラライブラリは
 $ ./sigrunac -l ../share/sigverse/samples/GoRound.so -n Toy_D -p 9001
 [SYS]  Controller attached to "Toy_D"
 [SYS]  127.0.0.1 connected
 [SYS]  Toy_D : dataport
 [SYS]  127.0.0.1 connected

これでキャラクタ-にアタッチしました。
sigrunacはコントローラをシミュレーションサーバ中のエージェントにアタッチしてテストするためのツールです。-lオプションでアタッチするコントローラライブラリを指定します。サンプルのコントローラライブラリは

sigverse-<version>/share/sigverse/samples/

にいくつか用意されています。
GoRound.soというコントローラは登場するキャラクターがぐるぐる回るサンプルです。

-nオプションでアタッチするエージェントの名前を指定します。
-nオプションでアタッチするエージェントの名前を指定します。Toy_Dは先ほどのペンギンのようなキャラクターの名前です。

**SIGViewerで動作確認 [#d8e640c8]
それではSIGViewerを起動してサーバに接続し、シミュレーションを開始します。


SIGViewerを起動して接続するホスト名とポート番号を入力し、Connect to SimServer?ボタンをクリックしてサーバに接続します。

次にSIM_CTRL_CMDの枠の中がSTARTとなっている状態でSendボタンを押してシミュレーションを開始します。


#ref(round_1.jpg)
#ref(test_2.jpg)

ロボットがぐるぐる回転しているのが見えましたでしょうか?
ペンギンがぐるぐる回転しているのが見えましたでしょうか?

LEFT:[[戻る>環境設定]]
RIGHT:[[次へ>動力学シミュレーションのサンプル]]


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