USARSim Manual Trans


河原林研究室 >> RoboCup Rescue Virtual Robot Memo >> USARSim Manual Trans

目次

卒研生が自分用に訳したものですが、 何かのお役に立つかもしれないし、立ったら嬉しいなぁと思い、マニュアル作成者のStephen Balakirsky氏の許可を得て掲載しました。(ちなみに英語マニュアルはhttp://sourceforge.net/projects/usarsim/にあります。) [指導教官 河原林]

マニュアルV3.1

1 導入 - Introduction

 これは、USARSimバージョン2.0についてのマニュアルです。
ファイルはUSARSimのWebサイトのファイルリリースセクションにあります(http://sourceforge.net/projects/usarsim/)
 ベースリリースをインストールするには、CVS(この文章の後ろで説明されている)からのコードをチェックするか、ソースターボールをダウンロードしてください。
マップやツールはWebサイトから入手できます。

 

1.1 背景 - Background

・ 危険、不明確さ、時間時ストレスが掛かった環境での大規模な仕事は、ますます消火、レスキュー、そして軍事作戦にとって重要になってきています。
・人間に代わり、ロボットが最も危険な活動をすることで、人命への危険を減らすことができます。
・なぜなら、そのような緊急事態は相対的に稀であり、最善の商店であることがようきゅ・うされ、直接的問題にはロボットを導入し、実践する機会が少ないというのがあります。

 

1.2 USARSimとは何か - What is USARSim

・ USARSimは都市の探索、レスキュー(USAB:Urban Search And Rescue)ロボットや環境を実物そっくり(ハイファイ)にシミュレートし、人とロボットの相互作用(HRI:Human-Robot Interaction)やマルチロボットを調整する研究ツールとして設計されました。
・初期のリリースからサポートする環境は拡大してきており、ハイウェイロボット、DARPA都市チャレンジ、ロボットサッカー、潜水艦、ヒューマノイド、ヘリコプターなどがあります。
・USARSimは自律移動ロボットによる都市探索・レスキューのNIST(National Institete of Standard)試験設備を参照するシミュレーションの手引きとして設計されました。(Jacoffe, et al. 2001)
・NIST USER Test Facility は規格化された災害現場があり、3つの区域から構成されています。
・yerrow、orange、redの3つで、順に難しい区域となっています。
・USARはロボットの挙動に焦点を置いており、物理的相互作用は規格化されています。
・しかし、フィールドは瓦礫がちらかった環境です。
・USARSimはHRIをサポートしており、ユーザーインターフェース(特にビデオカメラ)の精密レタリング、ロボットの自動動作や挙動の精密描写、遠隔操作によるロボット挙動に関する操縦者の認識の精密描写に使われます。

・ゲームエンジン上にシミュレーションを組み込むことにより、ハイファイを低コストで実現しています。
・優れた視覚レタリングと物理モデルを提供する高いボリュームを持つ商用プラットホームにシミュレーション中の最も難しい面を任せることで、私たちはロボット工学特有のタスクであるプロットホーム、制御システム、センサ、インターフェースツール、そして環境のモデリングに努力を向けることができます
・ゲームエンジンに統合・先導された高度な編集・開発ツールにより、広い範囲のプラットホームでとても現物そっくりのモデルを、より少ない時間で作ることができ、タスクの順番を加速させることができます。
・ 現在リリースされているシミュレーションは多彩な環境モデル(レベル)、商用も出ると実験用ロボット、そしてセンサモデルから成っています。
・シミュレーションするユーザーとして、あなたがテストしたいユーザーインターフェース、オートメーション、ロジックのコーディネーションが供給されると予想されます。
・デバッグと開発時は「Unreal spectators」を用いて自己供給(ロボットに取り付ける)視点か外信(第3者)視点でシミュレーションできます。
・テストコャトロールインターフェースでロボットの手動操作を行えます。
・ロボットコントロールプログラムはGame Bot interface、MOAST System(http://moast.sourceforge.net/)、Player interface、もしくはPyroのミドルウェアを用いることで書けます。

 

2 システムの概観


2.1 ェステムの構成

・システムの構成をFig.1に示します。
・ダッシュドボックスの下にはユーザへインタラクティブなバーチャル環境を供給するシミュレータがあります。
・ユーザ側のダッシュドボックスでは研究の手助けとしてシミュレータを使うことができます。
・システムはクライアントサーバの構成を使用しています。
・Fig.1のNetworkアイコンの上は、クライアント側です。
これは、Unreal clientとコントローラもしくはユーザ側のアプリケーションが含まれます。
・Unreal clientはシミュレートされた環境を描写します。
・Unreal clientは支店の偏向を通して、環境下でのロボットの視野を得ることができます。
全てのクライアントはネットワークを通じ、サーバとデータを交換します。
サーバ側はUnreal serverと呼びます。
・これにはUnreal engine、Gamebots、マップ、そしてモデル(ロボットモデル、被害者モデルなどのようなもの)が含まれる。
・Unreal serverはシミュレータ中の全てのオブジェクトのステータス(状態)を保管し、クライアントからのオブジェクトのステータス変更に関するデータに反応して、両方のUnreal clientとユーザ側のコントローラにデータを送信します。
・要約するとシステムは3つの主要成分で構成されており、それは

  1. サーバの役割をするUnreal engine
  2. クライアントとサーバの間で通信するGamebot
  3. シミュレータ中のロボットを制御するControl client

です。

 
  • 2.1.1 アンリアルエンジン - Unreal engine
    ・シミュレータで使用しているUnreal engineはEpic Games(URL)によって、Unreal Tournament 2004と一緒にリリースされています。
    ・注:ゲーム Unreal Tournamet 2004 の振るライセンスが必要です。
    (たいていの小売されているソフトウェアは約$40です)
    ・デモ版ではUSARSimは動かないでしょう。
    これはマルチプレイヤーの戦闘指向のFPS(一人称視点シューター)ソフトウェアでWindows、LivuxそしてMacintoshのプラットホームに向けられたものです。
    ・驚くべき3DグラフィックはKarma engineとして知られる物理エンジンによって供給され、ハイクオリティーなリアリティーを得るためUnrealに入っています。
    ・Unreal engineはゲームを開発する開発者向けのスクリプト言語「Unreal Script」を提供しています。
    ・このスクリプトによって、開発者はゲーム中のオブジェクト(アクターと呼んでいます)を作ったり、アクターの挙動を制御することができます。
    Unreal EditorはUnreal engineとともに開発者がマップ、テクスチャや地形などを作るのを手だすけるオーサリングツールです。
    Uneal engineの更なる情報はUnreal Technologyページ(URL)にあります。
     
     
  • 2.1.2 ゲームボット - Gamebot
    ・Unreal engineで使われている通信プロトコルは固定(独占?)です。
    これにより、他のアプリケーションからUnreal Tournamentへアクセスするのが困難となっています。
    ・それゆえ、Gamebot(URL)はUnreal Tournametに向けて改造され、Unreal engineと外のアプリケーションを繋ぐために研究者によって作られました。
    ・これはUnreal engineおTCP/IPソケットを開放し、外部とデータを交換します。
    ・USARSimはGamebotがコントローラと通信できるようにします。
    ・自身のコントロールコマンドとメッセージをサポートするための改修はGamebotにより加えられます。
     
     
  • 2.1.3 コントローラ - Controler
    ・”コントローラ”はユーザ側のアプリケーションで、ロボット工学、チーム間協力、人とロボットの相互作用などの研究に用います。
    ・通常、コントローラは次のような用途で使います。
    ・最初に、Unreal Serverと接続します。
    ・その時、USARSimへロボットを生成するようにコマンドを送信します。
    ・シミュレータ中でロボットが生成された後、コントローラはセンサのデータとロボットをコントロールするためのコマンドを送信します
    ・Unrealのクライアント・サーバの構成により、シミュレータt上に複数のロボットを追加できるようになっています。
    ・しかし、全てのロボットは通信のためにソケットを用いるため、コントローラは全てのロボットと接続しなくてはなりません。
    ・MOAST(the Mobility Open Architecture Simulation annd Tools : 移動性のオープンアーキテクチャシミュレーションとツール)のフレームワークは、研究者が専門分野への注力に専念できるように計画されました。
    ・これを実現するため、フレームワークは階層、コントローラのモジュールセット、インターフェース及びツールを提供します。
    ・コントローラは4D/RCS Reference Model Architecture (Albus 2000)の階層に従い、挙動の発生、ワールドのモデリング、センサの加工を供給します。
    ・階層はローレベルのサーボコントロールからハイレベルのロボットチームコントロールの実行をサポートします。
    ・フレームワークを利用するのに、実験的コードはロボットからの情報を得てコントロールを動かさせるために、1つかそれ以上の標準化されたインターフェースと接続します。
    ・MOASTは開発され、USARSimのシミュレーションシステムと十分に統合されています。
    ・MOASTに関するさらなる情報は(URL)にあります。
    ・MOASTインターフェースの詳細な説明はセクション11.1にあります。
     
    ・MOASTのほかにもUSARSimはPyroとPlayerという2つの人気があるコントローラをサポートしています。
    ・Pyroがシミュレータt上のロボットをコントロールできるようにする、PyroのプラグインはUSARSim中に含まれています。
    ・PyroはAIやロボット工学を探求するためのPythonのライブラリ、環境、GUI、そしてローレベルのドライバです。
    ・Pyroのプラグインに関する詳細な説明はセクション11.2で述べています。
     
    ・USARSim Playerno doraibaha Playerがシミュレータ中のロボットやセンサを実際のデバイスであるかのようにコントロールするためのデバイスドライバです。
    ・Playerはロボット上の線鞘アクターをシンプルに、完璧にコントロールするためのロボットデバイスサーバです。
    ・さらなる情報はPlayerのWebサイトにあります(URL)。
    ・USARSim Playerドライバの詳細な説明はセクション11.3にあります。
     
     

3.2 シミュレータの構成要素

・USARSimのコアは相互査証環境、ロボット、そしてそれらのセンサと影響のシミュレーションです。
・ここでは、3つに分けられたコア・コンポーネントを以下のセクションで紹介します。

 
  • 3.2.1 環境のシミュレーション ・環境はシミュレーション中でとても重要な役割を果たします。
    ・これがシミュレーション環境を提供し、これのめによりシミュレーションは感覚を生成できます。
    ・USARSimとの使用のために配分されたそれらの特殊化された環境は、説明されます。