11 22
This presentation is the property of its rightful owner.
Sponsored Links
1 / 20

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


  • 155 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

進捗報告( 11 月 22 日)

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

  • Tracker

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

  • Button

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

  • Analog

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

  • Dial

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

  • ForceDevice

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


Device types

Device Types

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

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

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

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

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

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

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


11 22

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

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

    • Server側のPhantom haptic display

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

    • Client側

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

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


11 22

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

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

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

Internet

vprn_Tracker_Remote

vrpn_Connection

vprn_Button_Remote

vprn_ForceDevice_Remote


11 22

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

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

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

    • layered device

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

    • multiple-behavior device

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


11 22

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

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

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

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


11 22

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

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


Client

Client側

  • 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側

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


Vrpn vr

VRPNで新しいVR周辺機器を作る

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

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

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

  • root device class

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

      • vrpn_Tracker


Device type

既存のdevice typeの使用

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

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


Vrpn tracker watch program

VRPN tracker watch program

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

    • positionとorientationコード


Device

新たなdeviceクラスの作成

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

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

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


11 22

既存のVRPN

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

アプリケーション

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デバイス


11 22

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

  • 結果出力についての課題(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デバイス


  • Login