11 22
Download
1 / 20

進捗報告( 11 月 22 日) - PowerPoint PPT Presentation


  • 191 Views
  • Uploaded on

進捗報告( 11 月 22 日). 中川和久. VRPN: A Device-Independent, Network-Transparent VR Peripheral System. VR 周辺機器について 本質的に同じ作用をアプリケーションに命令するのに、それぞれの VR 周辺機器に対してそれぞれのインターフェースが存在している。 VRPN では VR 周辺機器の機能を発揮する時に生じる一連の命令に対してインターフェースを用意している。 device type.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 進捗報告( 11 月 22 日)' - bona


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
11 22

進捗報告(11月22日)

中川和久


Vrpn a device independent network transparent vr peripheral system
VRPN: A Device-Independent, Network-Transparent VR Peripheral System

  • VR周辺機器について

    • 本質的に同じ作用をアプリケーションに命令するのに、それぞれのVR周辺機器に対してそれぞれのインターフェースが存在している。

    • VRPNではVR周辺機器の機能を発揮する時に生じる一連の命令に対してインターフェースを用意している。

      • device type


Vrpn a device independent network transparent vr peripheral system1
VRPN: A Device-Independent, Network-Transparent VR Peripheral System

  • VRアプリケーションについて

    • どの時間のイベントがシステム内で起こっているのかを把握する必要がある。

  • VRPNでの同期

    • vrpn_Clockクラスという形でライブラリに存在している。


Vrpn a device independent network transparent vr peripheral system2
VRPN: A Device-Independent, Network-Transparent VR Peripheral System

  • VRPNの本質

    • VRPNはVR専用のAPIを提供することが目的ではない。

    • 様々なVR周辺機器に対しての一律のソフトウェアインターフェイスを提供し、素早い応答でVR周辺機器にネットワーク的に透過なアクセスを実現を可能にするときの問題を解決する。


Vrpn a device independent network transparent vr peripheral system3
VRPN: A Device-Independent, Network-Transparent VR Peripheral System

  • 既存のVRツールキットとの互換性

    • device-interface layer

      • WorldToolkit

      • Maverik

      • NCSA -CAVE application-

      • Naval Research Laboratory -Dragon application-

      • Panda3D

      • DIVERSE


Common device types
Common device types Peripheral System

  • Tracker

    • poses、 pose velocities、 pose accelerationsを報告する。

  • Button

    • 1つ以上のボタンに対してpressとreleaseのイベントを報告する。

  • Analog

    • 多次元のアナログ情報を報告する。

  • Dial

    • 付加的なrotation情報を報告する。

  • ForceDevice

    • Server側から送られる情報で、Client側が表面を特定し、3次元として情報を捉えることを可能にする。


Device types
Device Types Peripheral System

  • VR周辺機器を1つのtypeとして捉える。

    • 簡素で機能豊かなソフトウェアインターフェースを供給するためには工夫が必要である。

      • VR周辺機器をそれらの機能に基づいて区分けする。

      • VR周辺機器をそれぞれ関連づける。

      • 多種多様のインターフェースを経由できるようにする。

      • サポートしていないメッセージを無視する。

      • 全てのメッセージをアプリケーション・レベルで通信する。


1. Peripheral System機能に基づいたVR周辺機器の区分け

  • VRPNのドライバは多数の機能を備えたVR周辺機器を、device typeで細分化させて捉える。

    • Server側のPhantom haptic display

      • Client側から転送されたデータを描写する。

    • Client側

      • Tracker、Button、ForceDeviceそれぞれのデータを出力する。

      • 1つだけしかないhaptic deviceを3つの別々なマシンのように扱う。


2. VR Peripheral System周辺機器の関連づけ

  • 細分化させたtypeを同じネットワークに接続させる。

    • Client側のHaptic deviceを3-typesに細分化した際のTracker、Button、ForceDeviceは別々の物ではあるが、効率よく通信するために同じネットワークに接続させる。

Internet

vprn_Tracker_Remote

vrpn_Connection

vprn_Button_Remote

vprn_ForceDevice_Remote


3. Peripheral System多種多様のインターフェースを経由

  • あるVR周辺機器が時間毎に違ったdevice typeとして認識されることもある。

    • 自由に回転するダイアルはDialインターフェースで回転角を特定することも出来るし、Analogインターフェースで値を特定することも出来る。

    • layered device

      • AnalogFly (低レベルでAnalog、高レベルでTracker)

    • multiple-behavior device

      • vrpn_Trackerインターフェースを複製(違う名前)


4. Peripheral Systemサポートしていないメッセージを無視

  • VRPN内でサポートしていないdevice typeからの命令は無視できるようにする。

    • 稼動中のTrackerの割合を報告するmessage

      • Phantomと3rdTechのトラッカー・デバイスは、稼動中のTrackerの割合に適応するように入力命令を制御するが、他のVR周辺機器は安全にmessageを無視できる。


5. Peripheral Systemアプリケーション・レベルでの通信

  • 既存のdevice typeにも適応しないようなデータはVRPNのライブラリの改編をせずに、新たなmessage typeとして送信される。


Client
Client Peripheral System側

  • VRアプリケーションが取扱うdevice type

    • vrpn_Tracker_Remote

    • vrpn_Button_Remote

    • vrpn_Analog_Remote

    • vrpn_Dial_Remote

    • vrpn_ForceDevice_Remote

    • vrpn_Poser_Remote

      • 接続したいポーザーをパラメータとしてServer側に伝える。

    • vrpn_Analog_Output_Remote

      • 接続したいサーバーをパラメータとしてServer側に伝える。

    • vrpn_Sound_Remote

      • 音声について、Client側でサンプリングが行われる。


Server
Server Peripheral System側

  • VRPNのServerがVRアプリケーションにmessageを伝えるときには同期が必要である。


Vrpn vr
VRPN Peripheral Systemで新しいVR周辺機器を作る

  • 主に2種類のアプローチ

    • 既存のdevice typeを用いて作る方法

    • 新たなdeviceクラスを作る方法

  • root device class

    • message typesの記述とそのmessageの送り先を処理する。

      • vrpn_Tracker


Device type
既存の Peripheral Systemdevice typeの使用

  • 既存のdevice typeに新たな能力を加える

    • 新たなVR周辺機器が、既存のdevice typeを複数組み込むことで実現が出来るのであれば、Server側のroot device classに新たなmessage typeでエンコード・デコード出来るように拡張して、Client側に存在する_Remoteクラスはそのmessage typeを送信するようにする。


Vrpn tracker watch program
VRPN tracker watch program Peripheral System

  • 新たなトラッカーが出来たとき、このプログラムを用いてテストすることが出来る。

    • positionとorientationコード


Device
新たな Peripheral Systemdeviceクラスの作成

  • ルールに則った名前の指定を行う。

  • vrpn_BaseClassに由来したdeviceクラスの作成を行う。

    • 同期をとり、新たなmessage typeを流す。


既存の Peripheral SystemVRPN

  • アプリケーション・レベルでの通信

アプリケーション

Server

Client

VRアプリケーション

VRPNアプリケーション

VRPNアプリケーション

Tracker0

vrpn_AnalogFly

vrpn_timer

vrpn_timer

Analog

Button

Analog

Button

vrpn_Log

vrpn_Joystick

vrpn_connection

vrpn_connection

ドライバ

Networkクライアントドライバ

Networkクライアントドライバ

USBクライアントドライバ

usbcore.o

eth0

eth0

usb-ohci.o

デバイス

Networkデバイス

Networkデバイス


卒業研究で実現しようとする Peripheral SystemVRPN

  • 結果出力についての課題(ForceDeviceの設定)

アプリケーション

Server

Client

VRアプリケーション

VRPNアプリケーション

Tracker0

vrpn_AnalogFly

vrpn_timer

Button

vrpn_Log

Analog

ドライバ

Networkクライアントドライバ

Networkクライアントドライバ

USBクライアントドライバ

usbcore.o

eth0

eth0

usb-ohci.o

デバイス

Networkデバイス

Networkデバイス