Up:Tutorial? Previous:SIGViewerによるSSH接続? Next:動力学シミュレーションのサンプル
※このチュートリアルはバージョン2.1.0以上で正常に動作します。バージョン2.0.3以前の場合はこちら
SIGVerseサーバを起動して、ビューワーからサーバに接続できることを確認します。
SIGVerseの利用に必要な環境変数を設定します。
$ emacs ~/.bashrc
ホームディレクトリにある.bashrcを開いて以下の2行を追加します。
export SIGVERSE_PATH=/home/<username>/sigverse-<version> export PATH=$PATH:$SIGVERSE_PATH/bin
SIGVERSE_PATHにシグバースのインストール先のパスを指定します。<username>と<version>は自分の環境に置き換えます。
bashを起動します。
$ bash
それではSIGVerseを起動してみましょう。 sigserver.shシェルスクリプト実行して起動します。
$ sigserver.sh
ポートフォワーディングにより接続する場合はログイン時に-Lオプションで指定した「サーバ側で使用するポート番号」をここで指定します。
$ sigserver.sh -p 9001
以下のように表示されればSIGVerseサーバの起動に成功です。
+ '[' -z ']' + LD_LIBRARY_PATH=/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server + SIGVERSE_X3DPARSER_CONFIG=/home/hoge/sigverse- 2.1.0/share/sigverse/etc/X3DParser.cfg + SIGVERSE_RUNAC=/hoge/okamoto/sigverse-2.1.0/bin/sigrunac + SIGVERSE_DATADIR=/home/okamoto/sigverse-2.1.0/share/sigverse/data + export LD_LIBRARY_PATH SIGVERSE_X3DPARSER_CONFIG SIGVERSE_RUNAC SIGVERSE_DATADIR + /home/hoge/sigverse-2.1.0/bin/sigserver [SYS] ///////// ////////////////////////////////////////////////// [SYS] ////////////// World number 0 (port 9000) /////////////// [SYS] /////////////////////////////////////////////////////////// [SYS] data directory : [SYS] [1] /home/hoge/sigverse-2.1.0/share/sigverse/data/xml/ [SYS] [2] /home/hoge/sigverse-2.1.0/share/sigverse/data/shape/ [SYS] world file : MyWorld.xml [SYS] building entity (entName=(Robot-nii), className=(Robot), X3DFileName= (/home/hoge/sigverse-2.1.0/share/sigverse/data/shape/robot_nii_v2.x3d)) read /home/hoge/sigverse-2.1.0/share/sigverse/etc/X3DParser.cf g *** JavaVMOption *** options[0].optionString = (-Djava.class.path=/home/hoge/sigverse- 2.1.0/share/sigverse/jar/X3DParser.jar:/home/hoge/sigverse- 2.1.0/share/sigverse/jar/xj3d-all.jar) options[1].optionString = (-Djava.library.path=/tmp) Java VM start ok [SYS] waiting for connection...
SIGVerse起動時にポート番号を指定しなかった場合はワールド番号とポート番号が自動で割り振られます。 ここではここではワールド番号0 ポート番号9000が割り振られました。
SIGVerseが正常に起動しました。
次にSIGVerseを起動した状態のままビューワーを使ってサーバに接続します。 まずSIGViewerを起動します。
まず、サービス名を入力します。ビューワーは画像データなどをSIGVerseに提供します。SIGVerseのエンティティがこのサービスを利用する際にこの名前が必要となります。現在は他のユーザーがいないのでデフォルトの"SIGViewer"のままにしておきます。
SSHによる接続はせず直接サーバに接続する場合はSIGVerseサーバのホスト名、上で割り振られたワールド番号(もしくはポート番号)をそれぞれ入力します。
CygwinによるSSH接続の設定が完了しているものとします。ホスト名をlocalhostと入力し、ポートフォワーディングで設定したポート番号を入力します。
SIGViewerによるSSH接続?の設定が完了しているものとします。ログインしたいサーバのホスト名と、ワールド番号(もしくはポート番号)を入力した後Connect by SSH にチェックを入れます。次にSSHログイン時のユーザー名とキー作成時に設定したパスフレーズを入力します。
"Connect"ボタンを押してビューワーで以下のようなロボットが見えれば接続成功です。
SIGViewerの視点や方向を変えるには画面上でCtrl(もしくはShift)を押しながら右クリック、または右クリックした状態でマウスを動かします。
接続が完了したら、サーバ側では以下のようなメッセージが出ます。
[SYS] waiting for connection... [SYS] SIGViewer is connected [SYS] Service: "SIGViewer" is available
シミュレーションをいったん終了するにはビューワーの右下トレイのSTOPボタンを押します。
ビューワーからSIGVerseサーバーを終了するには"Quit Simulation"ボタンを押します。本当に終了してもよいか聞かれるのでOKを選択します。これでSIGVerseシミュレーションは終了します。
ビューワーからではなくサーバでシミュレーションを終了する場合は以下のようにします。
まずビューワーの右下のトレイにあるDisconnectボタンを押してサーバから切断します。次にサーバ側でctrl+cボタンを押してSIGVerseサーバを一旦終了します。 このときSIGVerseがバックグラウンドで起動し続ことがあります。以下のコマンドを使うとSIGVerseプロセスを強制終了することができます。
$ sigkill.sh
現在起動中のプロセスを確認するには以下のコマンドを使います。
$ ps aux | grep $(whoami)
sigkillを使うと自分が起動しているシグバースプロセスをすべて強制終了してしまいます。ポート番号を指定してSIGVerseサーバを終了する場合は以下のコマンドを使用します。
$ sigend.sh -p 9001
これによりポート番号9001のSIGVerseプロセスを終了します。 ※ただし他のユーザーのプロセスを誤って終了させてしまう可能性があるので使うときは注意が必要です。
Up:Tutorial? Previous:SIGViewerによるSSH接続? Next:動力学シミュレーションのサンプル