かわロボシミュレータユーザーズマニュアル

かわロボシミュレータ ユーザーズマニュアル
著者
tazz
改訂履歴
2014/2/17 執筆開始
1
はじめに
かわロボシミュレータは,
「かわさきロボット競技大会」(略してかわロボ)のバトルロ
ボットトーナメントの世界をコンピュータ上で再現することを目的として開発されまし
た.今のところプログラムの使用目的は特に限定されていません.ロボット同士の仮想対
戦を楽しんだり,実機の設計に役立ててもらえればよいと思います.
ユーザは形状データと XML ファイルを記述するだけで独自のロボットのシミュレーショ
ンモデルを作成し,かわロボシミュレータでシミュレートさせることができます.基本的
にはプログラム開発の必要はありません.
また,かわロボシミュレータは「かわさきロボット」専用ではありませんので,他のコ
ンテストロボットや,研究用ロボットのシミュレーションにも使うこともできます.
本マニュアルはかわロボシミュレータの操作方法について説明します.ロボットのシ
ミュレーションモデルの作成方法については開発者マニュアルを参照してください.
2
開始と終了
プログラムの実行ファイルは
ROOT/bin/kmview.exe
1
図 1: 起動時の画面
です.ただし ROOT はかわロボシミュレータのルートディレクトリです.ご自分の環境に
合わせて読み替えてください.
上のプログラムを実行すると,図 1 のような画面が表示されるはずです(バージョン毎
に多少の差異があるかと思います).もし何も表示されないという場合は環境が動作条件
を満たしていないか,プログラムの不具合である可能性があります.7 節を参考に開発者
に問い合わせてみてください.
無事起動したら,ためしにロボットをロードしてみましょう.コマンド入力ウィンドウ
に load kishin と入力し,エンターキーを押してください.問題がなければビューワ
ウィンドウにシミュレーションモデル ‘kishin’ が表示されるはずです.
次に,シミュレーションを開始します.これにはコマンド入力ウィンドウに run と入
力します.ロボットが地面に接地すると思います.矢印キーで操縦してみてください.
プログラムを終了するには以下のいずれかを実行してください:
• ウィンドウ右上の×ボタンをクリックする
• コマンド入力ウィンドウに ‘q’ か ‘quit’ と入力する
• コマンドプロンプトに ‘q’ か ‘quit’ と入力する
3
インタフェース
以下では GUI の各部とその操作方法を説明します.
2
3.1
ビューワウィンドウ
ビューワウィンドウにはシミュレーション空間が表示されます.以下の方法でカメラ操
作ができます.
• 左クリック+ドラッグで注視点を中心としてカメラが回転
• 右クリック+ドラッグでズームイン/ズームアウト
• Alt +左クリック+ドラッグで注視点移動
また,ビューワ左下のリストボックスからカメラを切り替えられます.ワールド注視カ
メラに加えて,ロードされているロボット毎にロボット注視カメラがあります.また,ロ
ボット自体に固定カメラが定義されている場合はそれらに切り替えることもできます.
3.2
コマンド入力ウィンドウ
4 節で説明するコマンドを入力するために使用します.コマンド入力ウィンドウをクリッ
クしてフォーカスされた状態にしないと入力されないので注意してください.また,矢印
上下キーで過去に入力されたコマンドの履歴が順番に表示されます.
3.3
ヒントウィンドウ
カーソルを合わせている部分の簡単な使用方法が表示されます.
3.4
パネルコンテナ
さまざまな情報を表示したり,操作するためのパネルが格納されています.各パネルは
右上の▼/▲ボタンで展開したり折りたたむことができます.
レンダリングパネル
レンダリング設定をカスタマイズできます.
シミュレーションパネル
シミュレーション設定をカスタマイズできます.
3
キーボードパネル
キーボードの状態が表示されます.また,ロード中のロボットの中からキーボードで操
作するロボットを選択できます.
ジョイスティックパネル
ジョイスティック(ゲームパッド)の状態が表示されます.ジョイスティックが複数接
続されている場合は,リストボックスから表示・設定するジョイスティックを選択できま
す.また,ロード中のロボットの中からジョイスティックで操作するロボットを選択でき
ます.
ロボットパネル
ロードされているロボットの情報を表示します.
ブラウザパネル (開発中)
シミュレータ内部のシーン情報をツリー状に表示します.
ログパネル
メッセージログが表示されます.基本的にコマンドプロンプトに表示されるメッセージ
と同一です.
4
コマンド
コマンドはコマンド入力ウィンドウとコマンドプロンプトのいずれかから入力できま
す.入力されたコマンド文字列は履歴に記憶されます.
4.1
コマンド一覧
load robotname instancename
ロボットをロードします.robotname にはロボットのシミュレーションモデルの名前
を指定します.また,instancename にはロードされる個々のロボットに与える名前を
指定します.例えば,load kishin mykishin と入力すると,シミュレーションモデ
ル kishin を用いてロボットがロードされ,mykishin という名前がつけられます.イ
4
ンスタンス名を省略した場合,ロボット名に番号をつけたものがインスタンス名となり
ます.
unload instancename
ロボットをアンロードします.instancename にはアンロードするロボットのインス
タンス名を指定します.
run service
サービスを開始します.サービスはシミュレーションかサーバのいずれかです.
service を省略して run と入力すると,シミュレーションが開始されます.
run server と入力すると,サーバが始動し,クライアントからの接続要求の待ち受
け状態になります.
stop service
サービスを停止します.
service を省略して stop と入力すると,シミュレーションが停止します.
stop server と入力すると,サーバが停止します.
step
シミュレーションをステップ実行します.コマ送りのように 1 ステップずつ進めたい場
合に利用します.
connect address
クライアントとしてサーバに接続します.address に接続するサーバの IP アドレスを指
定します.省略した場合が設定ファイル中のデフォルトアドレスが使用されます.
disconnect
サーバとの接続を解除します.
q, quit
プログラムを終了します.
5
5
ネットワーク機能(開発中)
ネットワーク機能を利用することで,異なる PC 上のプログラム間でシミュレーション
の同期を行うことができます.プログラムはサーバかクライアントのいずれかとして動作
します.
サーバとして動作するには,run/stop server コマンドを使用します.クライアン
トとして動作するには connect/disconnect コマンドを使用します.
物理シミュレーションの計算はサーバ上で集中的に行われます.クライアントは,サー
バによって計算されたシミュレーション結果を受信し,それにもとづいてシーンを描画し
ます.また,クライアント上のキーボードやジョイスティックの操作情報はサーバへ送信
され,ロボットの操作に用いられます.
ネットワーク接続中は,サーバとクライアント上のシミュレーション状態は常に同期さ
れます.例えばサーバ上でロボットがロードされた場合はクライアント上でも同じロボッ
トがロードされます.また,その逆も同様です.
クライアント動作中に入力されたコマンドの内,リモート化可能コマンドはクライア
ント上で処理されずに,サーバへ送信されます.例えば,ネットワーク接続状態で load
kishin と入力した場合,そのコマンドはサーバへ送信され,サーバ上にロボットがロー
ドされます.その後,同期処理によって自動的にクライアント上にも同じロボットがロー
ドされます.
6
カスタマイズ
プログラムの振る舞いは設定ファイルでカスタマイズが可能です.設定ファイルは,
ROOT/bin/conf/kmview.xml です.各設定項目についてはファイル中のコメントを
参考にしてください.
7
トラブルシューティング
処理系が動作条件を満たさない場合や,プログラムの不具合のために起動に失敗する
ことがあります.この場合は,設定ファイル中の message level 項目を “verbose” に
設定して再度プログラムを起動し,コマンドプロンプトに出力されるメッセージを確認の
上,開発者へメールしてください.
*トラブル対応の早さは開発者の時間的余裕に大きく依存しますのでご了承ください.
6