VRPN - VRPN
| Vývojáři | ReliaSolve |
|---|---|
| Napsáno | C ++ , Python , Java |
| Typ | VR Middleware |
| webová stránka | github |
VRPN (Virtual-Reality Peripheral Network) je na zařízení nezávislé síťové rozhraní pro přístup k periferním zařízením virtuální reality v aplikacích VR. Původně jej navrhl a implementoval Russell M. Taylor II na katedře informatiky University of North Carolina v Chapel Hill . VRPN byla udržována a podporována společností Sensics, zatímco to bylo obchodní. V současné době jej udržuje ReliaSolve a je vyvíjen ve spolupráci s produktivní komunitou přispěvatelů. Podrobněji je popsán na vrpn.org a ve VRPN-VRST .
Účelem VRPN je poskytnout jednotné rozhraní pro vstupní zařízení, jako jsou sledovače pohybu nebo joystickové ovladače. Poskytuje také následující:
- Časové razítko údajů
- Několikanásobný současný přístup k periferním zařízením
- Automatické opětovné připojení serverů, které selhaly
- Ukládání a přehrávání relací
Systém VRPN se skládá z programovacích rozhraní pro klientskou aplikaci a ovladače hardwaru a serverovou aplikaci, která komunikuje s hardwarovými zařízeními. Klientská rozhraní jsou napsána v C ++, ale byla zabalena v C #, Pythonu a Javě.
Typickou aplikací VRPN je kódování a odesílání dat o snímání pohybu 6DoF v síti v reálném čase.
Síťování
Klient VRPN může navázat spojení se serverem VRPN (zařízením poskytujícím data) dvěma způsoby: buď přes TCP (spolehlivý, ale méně efektivní), nebo přes UDP (nespolehlivý, ale s nižší latencí a efektivnější). Režim „nespolehlivý“ je obecně preferován, když je latence kritická.
„Nespolehlivá“ inicializační sekvence připojení využívá protokoly TCP i UDP. Funguje to následovně:
- klient otevře soket TCP pro naslouchání na libovolném portu;
- klient odešle číslo portu tohoto soketu spolu s vlastním názvem počítače v datagramu UDP směrovaném na dobře známý port serveru VRPN (výchozí hodnota je 3883);
- server zahájí TCP spojení s klientem na číslo portu sdělené v kroku 2;
- pokud je navázáno připojení TCP, každé zařízení sdělí druhému podporovanou verzi VRPN;
- pokud verze nejsou kompatibilní, spojení je přerušeno;
- jinak každé zařízení začne naslouchat na novém portu UDP (odlišném od dříve používaných) a odešle číslo portu do druhého zařízení pomocí dříve vytvořeného připojení TCP;
- od této chvíle jsou všechna data odesílána přes dva porty UDP otevřené v kroku 6.
Výhody tohoto přístupu jsou: rychlá doba připojení a rychlá detekce selhání během připojení.
„Nespolehlivý“ inicializační protokol připojení však nerespektuje přísný princip návrhu protokolu vrstvení , protože užitečné zatížení VRPN na úrovni aplikace propouští informace o nižších úrovních v síťovém zásobníku, jmenovitě názvy strojů a čísla portů TCP / UDP. Kvůli této konstrukční volbě je nemožné navázat spojení VRPN mezi dvěma zařízeními připojenými přes NAT : router by musel překládat nejen informace vrstvy 3 v hlavičkách paketů, ale také odkazy na IP adresy a čísla portů uvnitř užitečného zatížení VRPN.
Pro řešení tohoto problému nabízí VRPN druhý „spolehlivý“ režim inicializace připojení pouze s TCP, což je standardní interakce TCP-klient : server VRPN naslouchá na známém portu TCP a klient zahájí připojení. V tomto režimu jsou všechna data odesílána na stejném připojení TCP a není nutná žádná komunikace UDP.
Podporovaná zařízení
Trackery (řazeny abecedně)
- Wide Area Tracker od společnosti 3rdTech HiBall-3000 (dříve UNC Ceiling tracker).
- Optické sledovací systémy ART , včetně Flystick2 a Flystick3. Přijímací kód je součástí standardní distribuce zdroje.
- Analogová zařízení používaná jako sledovací zařízení (Magellan, CerealBox s připojenými joysticky, Radamec SPI, myš, ...).
- Sledovač ARToolkit VRPN k dispozici na Universidad de los Andes.
- Ascension Flock-of-birds (buď běží přes jeden sériový port, nebo s každým senzorem připojeným k jeho vlastnímu sériovému portu). Tento ovladač (a další ovladače sledovače) resetuje sledovač v případě výpadku napájení, sériového odpojení nebo jiných chyb. _ Nepoužívejte tento ovladač na Nest of Birds_, protože by došlo k vyhoření obvodů pohonu vysílače (viz e-mail od Kylea Smitha).
- Knoflíková zařízení používaná jako teleporty nebo trackery (Global Haptics GeoOrb, ...).
- Akcelerometr Crossbow RGA300 využívající sériové rozhraní.
- Zařízení GameTrak.
- Ponoření Microscribe .
- Inerciální myš a myš z Weimarské univerzity v Bauhausu.
- InterSense IS-600 a IS-900 (pomocí rozšířeného rozhraní Fastrak na jakékoli architektuře).
- Logitech 3D myš.
- Microsoft Kinect (dva různé servery VRPN dostupné na https://github.com/vancegroup/KVR a http://people.ict.usc.edu/~suma/faast ).
- Motion Analysis Corporation (server VRPN je zabudován do serveru prodejce)
- Inerciální sledovací zařízení MotionNode .
- Optický sledovací systém NDI Polaris .
- Zařízení silové zpětné vazby Novint .
- OptiTrack Motive (dříve NaturalPoint OptiTrack Tracking Tools) (server VRPN je integrován do serveru dodavatele).
- Sledovač Origin Systems DynaSight (s pasivním reflektorem). Tento ovladač podporuje také starší tracker ve stereofonním displeji SeeReal D4D.
- OSVR Hacker Developer Kit
- Jiné sledovače InterSense (využívající nativní knihovnu InterSense, dokonce i ty založené na USB); na e-mailovém seznamu VRPN aktuálně probíhá diskuse o tom, zda jsou při použití tohoto rozhraní konzistentně vráceny informace o poloze a orientaci.
- Optický sledovací systém PS-Tech .
- Systém sledování PhaseSpace .
- PNI SpacePoint .
- Polhemus FasTrak tracker a 3Space trackery na několika architekturách, Liberty a LibertyHS tracker pod alespoň Linux. Sledovač Patriot je podporován pomocí ovladače Liberty. G4 Powertrack.
- Herní ovladač Razer Hydra .
- Sensable Technologies PHANToM silové zpětnovazební zařízení.
- Tracker Sensics dSight.
- Sledovač Sensics zSight .
- Zařízení GPS se sériovým portem.
- Vicon (server VRPN je zabudován do serveru dodavatele).
- Viewpoint tracker Eye.
- Systém magnetického sledování Wintracker III od společnosti Virtual Realities Ltd.
- WorldViz Precision Position Tracker PPT 1.2.
- Yost Labs 3Space Sensor (a bezdrátové 3Space senzory).
- Pohlcující interaktivní hardwarová a softwarová platforma zSpace (server VRPN zabudovaný do serveru dodavatele).
Jiná zařízení (uvedena v abecedním pořadí)
- 3DConnexion SpaceNavigator, SpaceExplorer, Spacemouse Pro, Navigator pro notebooky, zařízení SpaceTraveler a SpaceMouseWireless (tlačítka a 6DOF analogový analog).
- Tracker rukavic 5DT (analogové zařízení s 5 hodnotami pro prsty plus rozteč a rozteč). Rukavice 5DT16 je také podporována spolu s ovladačem pro převod 16 analogových hodnot na stisknutí tlačítek.
- Systémy B&G CerealBox s tlačítky / vytočením / posuvníkem / joystickem zapojené do jakéhokoli serveru schopného pracovat.
- Tepelně-řídicí systém Biosciences Tools.
- CH Products Fighterstick
- Joysticky s povolenou DirectInput (včetně joysticků se zpětnou vazbou) v systému Windows (viz návod). DirectInput také povolil Rumble Pack ve Windows.
- Dream Cheeky USB bicí sada.
- Hologramová zařízení Euclideon Hologram (hologramový stůl, hologramová místnost, hologramová zeď).
- Fraunhofer IMK ADBox a Fakespace kubická myš.
- Global Haptics GeOrb (tlačítka a analogy).
- Pohony Haydon-Kerk IDEA, řadiče lineárního pohybu.
- Freespace zařízení Hillcrest Labs .
- Ovladače joysticku: Contour ShuttleXpress, Futaba InterLink Elite, Griffin PowerMate, Logitech Extreme 3D Pro, Saitek ST290 Pro, Microsoft SideWinder Precision 2, Microsoft SideWinder, Microsoft Xbox S (surový ovladač na všech O / S), Microsoft Xbox 360 (surový ovladač na all O / S), Afterglow Ax1 For Xbox 360 (raw controller on all O / S).
- Klávesnice ve Windows.
- Ovladače pohybu Logitech Magellan a Spaceball 6DOF s tlačítky (včetně Spaceball 5000).
- LUDL XY vystupuje přes LibUSB.
- Myš zařízení na Linuxu (když jste přihlášeni na konzoli) a Windows.
- A / D karty National Instruments .
- Nintendo Wii Remote (také jako tracker).
- Sériový ovladač NRL ImmersionBox (podpora pouze pro tlačítka).
- Další joysticky ve Windows.
- PC joysticky běžící pod Linuxem.
- Sledovač videa / videokamery Radamec Serial Position Interface (zvětšení / zaostření bez měřítka, nevyzkoušená základna pohybu).
- Retrolink GameCube.
- Sériové myši: Tlačítka na několika stylech sériových myší zapojených do sériového portu.
- Krabice tlačítek SGI a vytáčení (na SGI nebo jiných strojích).
- Totally Neat Gadget (TNGs) od MindTel (tlačítka a analogy).
- Herní ovladač pro Xbox 360.
- Ruční ovladač UNC (nebo jakékoli zařízení s až 5 tlačítky; lze zapojit do paralelního portu na linuxovém nebo Windows boxu - jeho použití je zastaralé, použijte místo toho TNG3).
- Analogové / tlačítkové zařízení Wanda.
- Zvukové servery Win32 založené na Miles SDK (zastaralé), zvukovém hardwaru AuSIM a Microsoft DirectSound.
- Zařízení XKeys od PI Engineering : Desktop, Professional, Jog & Shuttle, Joystick a nožní pedál.
- Lineární polohovací prvky Zaber.com .
Reference
- ^ Sensics http://sensics.com
- ^ Taylor, Russell (15. – 17. Listopadu 2001). „VRPN: na zařízení nezávislý, síťově transparentní periferní systém VR“ . VRST '01 Proceedings of the ACM Symposium on Virtual Reality Software and Technology : 55–61. doi : 10,1145 / 505008,505019 .
- ^ vrpn: Používání vrpn_Connection - oficiální úložiště GitHub , periferní síť virtuální reality, 19. února 2018 , vyvoláno 20. února 2018
- ^ vrpn: Řešení potíží s VRPN - oficiální úložiště GitHub , periferní síť virtuální reality, 2018-02-19 , vyvoláno 2018-02-20