Up:Tutorial?      Previous:SIGViewerによるSSH接続     Next:動力学シミュレーションのサンプル


テスト実行1

SIGVerseサーバを起動して、ビューワーからサーバに接続できることを確認します。

SIGVerseの起動

サーバ側でSIGVerseをインストールした場所に移動してSIGVerseを起動してみます。

 $ cd ~/sigverse-<version>/bin

SIGVerseを起動するには~/sigverse-<version>/binにあるsigserver.shシェルスクリプト実行して起動します。このとき-pオプションでポート番号を指定します。ポート番号は空いている番号でしたら何番でも構いません。9000番以上の番号で他人と重複しにくい番号をお勧めします。ポートフォワーディングによる接続の場合はローカルポートフォワーディングで指定した「サーバ側で使用するポート番号」をここで指定します。

 $ ./sigserver.sh -p 9001
[SYS]  data directory :
[SYS]   [1]  /home/<username>/sigverse-100317/share/sigverse/data/xml/
[SYS]   [2]  /home/<username>/sigverse-100317/share/sigverse/data/shape/
[SYS]  world file : MyWorld.xml
[SYS]  reading /home/<username>/sigverse-  100317/share/sigverse/data/shape/sample3.x3d...
read /home/<username>/sigverse-100317/share/sigverse/etc/X3DParser.cfg
*** JavaVMOption ***
options[0].optionString = (-Djava.class.path=/home/okamoto/sigverse-  

&b100317/share/sigverse/jar/X3DParser.jar:/home/<username>/sigverse- 

100317/share/sigverse/jar/xj3d-all.jar)
options[1].optionString = (-Djava.library.path=/tmp)
Java VM start ok
all done.[SYS]  waiting for connection...

SIGVerseが正常に起動しました。

ビューワーからサーバへの接続

次にSIGVerseを起動した状態のままビューワーを使ってサーバに接続します。 まずSIGViewerを起動します。

サービス名の入力

まず、サービス名を入力します。ビューワーは画像データなどをSIGVerseに提供します。SIGVerseのエンティティがこのサービスを利用する際にこの名前が必要となります。現在は他のユーザーがいないのでデフォルトの"SIGViewer"のままにしておきます。

SSH接続しない場合

SSHによる接続はせず直接サーバに接続する場合はSIGVerseサーバのホスト名、上で起動したポート番号をそれぞれ入力します。

connectServer1.PNG

CygwinによるSSH接続の場合

CygwinによるSSH接続の設定が完了しているものとします。ホスト名をlocalhostと入力し、ポートフォワーディングで設定したポート番号を入力します。

connectServer2.PNG

ビューワーによるSSH接続の場合

SIGViewerによるSSH接続の設定が完了しているものとします。ログインしたいサーバのホスト名と、ポート番号を入力した後Connect by SSH にチェックを入れます。次にSSHログイン時のユーザー名とキー作成時に設定したパスフレーズを入力します。

connectServer3.PNG

接続

"Connect"ボタンを押してビューワーで以下のようなロボットが見えれば接続成功です。

connectServer4.PNG

SIGViewerの視点や方向を変えるには画面上でCtrl(もしくはShift)を押しながら右クリック、または右クリックのみの状態でマウスを動かします。

接続が完了したら、サーバ側では以下のようなメッセージが出ます。

[SYS]  waiting for connection...
[SYS]  SIGViewer is connected
[SYS]  Service: "SIGViewer" is available

SIGVerseの停止

ビューワーからSIGVerseを停止するには"Quit Simulation"ボタンを押します。本当に終了してもよいか聞かれるのでOKを選択します。これでSIGVerseシミュレーションは終了します。

ビューワーからではなくサーバでシミュレーションを終了する場合は以下のようにします。

まず、サーバ側でctrl+zボタンを押してSIGVerseサーバを一旦停止します。 このときSIGVerseがバックグラウンドで起動し続けているため、同じポート番号でSIGVerseを起動することができなくなります。よって、killコマンドを使ってSIGVerseプロセスを終了する必要があります。

以下のシェルスクリプトを作成します。

$ emacs kill.sh
#!/bin/bash

for i in `ps aux | grep sig | grep $(whoami) | awk '{print $2}'`; do
    echo process id: $i
    kill -9 $i
done

実行できるように権限を変更します。

$ chmod 744 kill.sh

実行します。

$ ./kill.sh
    :
[1]+  強制終了            ./sigserver.sh -p 9001  (wd: ~/sigverse-100908/bin)

これでプロセスが終了します。

現在起動中のプロセスを確認するには以下のコマンドを使います。

$ ps aux | grep $(whoami)

今後省略しますが、SIGVerseを起動するたびにビューワーでシミュレーションを終了するか、サーバ側でkill.shを実行するようにしてください。

テスト実行2

次に世界ファイルというものを作成して仮想世界にオブジェクトを登場させます。 先ほど登場したロボットはデフォルトで用意された世界ファイル(MyWorld.xml)に記述されたものです。

世界ファイル作成

$ cd ~/sigverse-<version>/share/sigverse/data/xml

ここに世界ファイルを作成します。世界ファイルとはxmlファイルで記述されており、仮想世界の設定や登場するキャラクターの設定を行います。

$ emacs test.xml

test.xml

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

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

起動

それではSIGVerseを起動してみましょう。

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

先ほど作成した世界ファイル(test.xml)を-wオプションで指定しました。xmlファイルを作成したディレクトリまでのパスはあらかじめ設定されているので、指定する必要はありません。

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

test_1.PNG

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

キャラクターへのアタッチ

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

それでは準備されているサンプルコントローラバイナリを読み込み、エージェントにアタッチします。

ペンギンが見えている状態で以下のコマンドを実行します。(Enterキーを押すとコマンドが使えます。)

$ ./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はSIGVerseコントローラのサンプルの一つです。このサンプルは登場するキャラクターがぐるぐる回るサンプルです。

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

つまりコントローラGoRound.soがエージェントToy_Dにアタッチされました。

SIGViewerで動作確認

それではシミュレーションを開始してみましょう。

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

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

シミュレーションを停止するには"STOP"ボタンを押します。 "Disconnect"ボタンを押すとサーバとの接続を断つことができます。

それではいったんSIGViewerを終了しましょう。 次はいよいよコントローラを作成します。

Old Version

Up:Tutorial?     Previous:SIGViewerによるSSH接続     Next:動力学シミュレーションのサンプル


Attach file: filetest_1.PNG 1422 download [Information] fileconnectServer4.PNG 1436 download [Information] fileconnectServer3.PNG 1452 download [Information] fileconnectServer2.PNG 1416 download [Information] fileconnectServer1.PNG 1335 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2012-11-01 (Thu) 17:17:18 (4188d)