ネットワーキング VRPNクライアントは、VRPNサーバー(データを提供するデバイス)との接続を2つの方法で確立できます。1つはTCP (信頼性は高いが効率は低い)、もう1つはUDP (信頼性は低いがレイテンシが低く効率が良い)です。レイテンシが重要な場合は、一般的に「信頼性の低い」モードが推奨されます。
「信頼性の低い」接続初期化シーケンスは、TCPプロトコルとUDPプロトコルの両方を利用します。その動作は次のとおりです。[ 3 ]
クライアントは任意のポートでリッスンするためのTCPソケットを開きます。 クライアントは、このソケットのポート番号と自身のマシン名を、VRPNサーバーの既知のポート(デフォルトは3883)宛てのUDPデータグラムで送信します。 サーバーは、ステップ2で通知されたポート番号を使用して、クライアントとのTCP接続を開きます。 TCP接続が確立されると、各デバイスは互いにサポートされているVRPNバージョンを通知します。 バージョンに互換性がない場合、接続は切断されます。 そうでない場合は、各デバイスは新しいUDPポート(以前使用されていたポートとは異なるポート)でリッスンを開始し、以前に作成されたTCP接続を使用してポート番号を他のデバイスに送信します。 今後は、すべてのデータはステップ6で開いた2つのUDPポートを介して送信されます。 この方式の利点は、接続時間が短いことと、接続中の障害を迅速に検出できることです。
しかしながら、「信頼性の低い」接続初期化プロトコルは、厳密なレイヤリング プロトコルの設計原則を遵守していません。アプリケーションレベルの VRPNペイロードが、ネットワークスタックの下位レベル、すなわちマシン名とTCP/UDPポート番号に関する情報を漏洩してしまうためです。この設計上の選択により、NAT を介して接続された2つのデバイス間でVRPN接続を確立することは不可能です。ルータは、パケットヘッダー内のレイヤ3情報だけでなく、VRPNペイロード内のIPアドレスとポート番号への参照も変換する必要があるからです。
この問題に対処するため、VRPNは[ 4 ] 、標準的なTCPサーバーとクライアントのやり取り である、2つ目の「信頼性の高い」TCPのみの接続初期化モードを提供します。VRPNサーバーは既知のTCPポートで待機し、クライアントが接続を開始します。このモードでは、すべてのデータが同じTCP接続で送信され、UDP通信は必要ありません。
対応デバイス
トラッカー(アルファベット順)3rdTech HiBall-3000 広域トラッカー(旧称 UNC 天井トラッカー)。 低遅延位置追跡システム。 ART社の光学式追跡システム(Flystick2およびFlystick3を含む)。受信コードは標準ソース配信の一部です。 トラッカーとして使用されるアナログデバイス(マゼラン、ジョイスティックが取り付けられたシリアルボックス、ラダメックSPI、マウスなど)。 ARToolkit VRPN トラッカーは、Universidad de los Andes から入手可能です。 Ascension Flock-of-birds(1つのシリアルポート経由で動作させる場合と、各センサーをそれぞれ別のシリアルポートに接続する場合)。このドライバー(および他のトラッカードライバー)は、電源のオン/オフ、シリアル接続の切断、その他の不具合が発生した場合にトラッカーをリセットします。Nest of Birdsでこのドライバーを使用すると、 送信機の駆動回路が焼損します。 テレポート装置やトラッカーとして使用されるボタン型デバイス(Global Haptics GeoOrbなど)。 Crossbow RGA300加速度センサーをシリアルインターフェースで接続する。 GameTrakデバイス。 液浸式マイクロスクライブ。 バウハウス大学ワイマール校の慣性マウスとイベントマウス。 InterSense IS-600およびIS-900(あらゆるアーキテクチャで拡張Fastrakインターフェースを使用)。ロジクール3Dマウス。 Microsoft Kinect (2種類のVRPNサーバーが利用可能。)モーションアナリシスコーポレーション(VRPNサーバーはベンダーのサーバーに組み込まれています) MotionNode慣性追跡装置。 NDIポラリス光学式トラッキングシステム。 Novint社 製フォースフィードバック装置。OptiTrack Motive(旧NaturalPoint OptiTrack Tracking Tools)(VRPNサーバーはベンダーサーバーに組み込まれています)。 Origin Systems DynaSightトラッカー(パッシブリフレクター付き)。このドライバーは、SeeReal D4Dステレオディスプレイに搭載されている旧型トラッカーにも対応しています。OSVR ハッカー開発者キットその他のInterSenseトラッカー(InterSenseネイティブライブラリを使用するもの、USBベースのものも含む)。現在、VRPNメーリングリストでは、このインターフェースを使用した場合に位置情報と姿勢情報が一貫して返されるかどうかについて議論が行われています。 PS-Tech社 製光学式トラッキングシステム。フェーズスペース追跡システム。 PNIスペースポイント。 Polhemus Fastrakトラッカーと3Spaceトラッカーは複数のアーキテクチャに対応し、LibertyおよびLibertyHSトラッカーは少なくともLinux上で動作します。PatriotトラッカーはLibertyドライバを使用してサポートされます。G4 Powertrack。 Razer Hydra ゲームコントローラー。センサブル・テクノロジーズ社製 PHANToM 力覚フィードバック装置。 Sensics dSight トラッカー。Sensics zSightトラッカー。 シリアルポートGPSデバイス。 Vicon(VRPNサーバーはベンダーのサーバーに組み込まれています)。 ビューポイント・アイトラッカー。 Virtual Realities Ltd.社製のWintracker III磁気トラッキングシステム WorldViz 精密位置追跡 PPT 1.2。 Yost Labs 3Spaceセンサー(およびワイヤレス3Spaceセンサー)。 zSpaceの ハードウェアおよびソフトウェアプラットフォーム(ベンダーサーバーに組み込まれたVRPNサーバー)。
その他の機器(アルファベット順)3DConnexion SpaceNavigator、SpaceExplorer、Spacemouse Pro、Navigator for Notebooks、SpaceTravelerデバイス、およびSpaceMouseWireless(ボタンと6DOF差動アナログ)。5DTグローブトラッカー(指の動きを表す5つの値に加え、ピッチとロールの値を計測するアナログデバイス)。また、5DT16グローブにも対応しており、16個のアナログ値をボタン操作に変換するドライバーも付属しています。 B&GシステムズのCerealBoxボタン/ダイヤル/スライダー/ジョイスティックコントローラーは、サーバー機能を備えたあらゆるマシンに接続できます。 バイオサイエンスツール社製温度制御システム。 CHプロダクツ ファイタースティック Windows上でDirectInput対応ジョイスティック(フォースフィードバック対応ジョイスティックを含む)を使用可能にします(ハウツーを参照)。また、Windows上でDirectInput対応ランブルパックも使用可能にします。 Dream Cheeky USBドラムキット。 ユークリデオン・ホログラフィックス社製ホログラム装置(ホログラムテーブル、ホログラムルーム、ホログラムウォール)。 フラウンホーファーIMK ADBoxとFakespace Cubic Mouse。 グローバルハプティクスGeOrb(ボタンおよびアナログスティック)。 Haydon-Kerk IDEAドライブ、リニアモーションコントローラ。 ヒルクレスト・ラボの フリースペース・デバイス。ジョイスティックコントローラー:Contour ShuttleXpress、Futaba InterLink Elite、Griffin PowerMate、Logitech Extreme 3D Pro、Saitek ST290 Pro、Microsoft SideWinder Precision 2、Microsoft SideWinder、Microsoft Xbox S(すべてのOSでコントローラーとして使用可能)、Microsoft Xbox 360(すべてのOSでコントローラーとして使用可能)、Afterglow Ax1 For Xbox 360(すべてのOSでコントローラーとして使用可能)。 Windowsのキーボード。 ボタン付きのロジクール Magellan および Spaceball 6DOF モーションコントローラー(Spaceball 5000 を含む)。LUDL XYステージをLibUSB経由で実行します。 Linux(コンソールにログインしている場合)およびWindows上のマウスデバイス。 ナショナルインスツルメンツの A/D変換カード。任天堂Wiiリモコン(トラッカーとしても機能)。 NRL ImmersionBoxシリアルドライバ(ボタンのみ対応)。 Windowsで使用できるその他のジョイスティック。 Linux上で動作するPC用ジョイスティック。 Radamec製シリアル位置インターフェース対応ビデオ/ムービーカメラトラッカー(ズーム/フォーカス調整機能なし、モーションベース未テスト)。 レトロリンク ゲームキューブ。 シリアルマウス:シリアルポートに接続された、いくつかのタイプのシリアルマウスのボタン。 SGIのボタンとダイヤルボックス(SGI製またはその他のマシン上)。 MindTel社のTotally Neat Gadget(TNG)(ボタンとアナログスティック)。 Xbox 360 ゲームコントローラー。 UNCのハンドヘルドコントローラー(または最大5つのボタンを備えた任意のデバイス。LinuxまたはWindowsマシンのパラレルポートに接続できますが、その使用は非推奨です。代わりにTNG3を使用してください)。 ワンダ製アナログ/ボタン式デバイス。 Miles SDK(廃止済み)、AuSIMサウンドハードウェア、およびMicrosoft DirectSoundに基づいたWin32サウンドサーバー。 PI Engineering社のXKeysデバイス:デスクトップ、プロフェッショナル、ジョグ&シャトル、ジョイスティック、フットペダル。 Zaber.comの線形位置決め要素。
参考文献 ↑ Sensics http://sensics.com ↑ テイラー、ラッセル( 2001年11月15~17日)。「VRPN」。ACM仮想現実ソフトウェアおよび 技術シンポジウム議事録 。pp. 55–61。doi : 10.1145/505008.505019。ISBN 9781581134278 . S2CID 1487053 . ↑ vrpn: vrpn_Connection の使用 - 公式 GitHub リポジトリ 、仮想現実周辺ネットワーク、 2018-02-19、2018-02-20 取得 ↑ vrpn: VRPNのトラブルシューティング - 公式GitHubリポジトリ 、仮想現実周辺ネットワーク、2018年2月19日、 2018年2月20日 取得
外部リンク VRPN GitHub Wiki センシックス ノースカロライナ大学コンピュータサイエンス学部 ラッセル・M・テイラー2世のホームページ