VRPN - VRPN - Wikipedia
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Vývojáři | ReliaSolve |
---|---|
Napsáno | C ++, Krajta, Jáva |
Typ | VR Middleware |
webová stránka | github |
VRPN (Virtual-Reality Peripheral Network) je na zařízení nezávislé síťové rozhraní pro přístup virtuální realita periferní zařízení v aplikacích VR. To bylo původně navrženo a implementováno Russellem M. Taylorem II na katedře výpočetní techniky University of North Carolina at Chapel Hill. VRPN byla udržována a podporována Sensics[1] zatímco to byl obchod. V současné době ji udržuje ReliaSolve a vyvinut ve spolupráci s produktivní komunitou přispěvatelů. Podrobněji je to popsáno na vrpn.org a v VRPN-VRST[2].
Účelem VRPN je poskytnout jednotné rozhraní pro vstupní zařízení, jako je sledovače pohybu nebo joystick řadič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 i ovladače hardwaru a serverovou aplikaci, která komunikuje s hardwarovými zařízeními. Rozhraní klienta jsou zapsána C ++ ale byl zabalen v C #, Pythonu a Javě.
Typickou aplikací VRPN je kódování a odesílání 6DoF zachycení pohybu data 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 více UDP (nespolehlivé, ale s nižší latencí a efektivnější). Režim „nespolehlivý“ je obecně upřednostňován, když je latence kritická.
"Nespolehlivá" inicializační sekvence připojení využívá protokoly TCP i UDP. Funguje to následovně[3]:
- klient otevře TCP zásuvka pro poslech 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í.
Protokol "nespolehlivého" inicializace připojení však nerespektuje přísné vrstvení princip návrhu protokolu, jako na úrovni aplikace Užitečné zatížení VRPN 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 prostřednictvím NAT: router by musel přeložit nejen informace vrstvy 3 v záhlavích paketů, ale také odkazy na IP adresy a čísla portů uvnitř užitečné zátěže VRPN.
Pro řešení tohoto problému nabízí VRPN[4] druhý „spolehlivý“ režim inicializace připojení pouze na TCP, který je standardem Interakce TCP server-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ě)
- 3. Tech HiBall-3000 Wide Area Tracker (dříve UNC Ceiling tracker).
- UMĚNÍ optické sledovací systémy, 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š, ...).
- ARToolkit VRPN tracker k dispozici na Universidad de los Andes.
- Nanebevstoupení Hejno ptáků (buď běží přes jeden sériový port, nebo s každým senzorem připojeným k 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 hnízdě ptáků_, 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.
- Inertialmouse a Event Mouse 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 k dispozici od https://github.com/vancegroup/KVR a http://people.ict.usc.edu/~suma/faast ).
- MotionNode inerciální sledovací zařízení.
- NDI Polaris optický sledovací systém.
- Novint silové zpětnovazební zařízení.
- Motiv OptiTrack (was NaturalPoint OptiTrack Tracking Tools) (VRPN server is built into vendor server).
- Systémy původu DynaSight tracker (s pasivním reflektorem). Tento ovladač také podporuje 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.
- PS-Tech optický sledovací systém.
- PhaseSpace sledovací systém.
- PNI SpacePoint.
- Polhemus Sledovač Fastrak a sledovače 3Space na několika architekturách, sledovač Liberty a LibertyHS alespoň v systému Linux. Sledovač Patriot je podporován pomocí ovladače Liberty. G4 Powertrack.
- Razer Hydra herní ovladač.
- Citlivé technologie Zařízení pro zpětnou vazbu síly PHANToM.
- Sensics dSight tracker.
- Sensics zSight stopař.
- Zařízení GPS se sériovým portem.
- Vicon (Server VRPN je zabudován do serveru dodavatele).
- Hledisko Sledovač očí.
- Wintracker III magnetický sledovací systém od Virtual Realities Ltd.
- WorldViz Přesný sledovač polohy PPT 1.2.
- Senzor Yost Labs 3Space (a bezdrátové senzory 3Space).
- zSpace pohlcující interaktivní hardwarová a softwarová platforma (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).
- 5DT sledovač rukavic (analogové zařízení s 5 hodnotami pro prsty plus rozteč a rolování). Rukavice 5DT16 je také podporována spolu s ovladačem pro převod 16 analogových hodnot na stisknutí tlačítek.
- B&G systems CerealBox řadiče tlačítek / vytáčení / posuvníků / joysticků zapojené do jakéhokoli zařízení podporujícího server.
- Systém řízení teploty Biosciences Tools.
- CH Products Fighterstick
- Joysticky s povolenou funkcí DirectInput (včetně joysticků se zpětnou vazbou) v systému Windows (viz postupy). Také DirectInput povolil Rumble Pack ve Windows.
- Dream Cheeky USB bicí souprava.
- Fraunhofer IMK ADBox a Fakespace kubická myš.
- Global Haptics GeOrb (tlačítka a analogy).
- Pohony Haydon-Kerk IDEA, řadiče lineárního pohybu.
- Hillcrest Labs Volný prostor zařízení.
- 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.
- Logitech Ovladače pohybu 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 konzole) a Windows.
- Národní nástroje A / D karty.
- Nintendo Wii Remote (také jako tracker).
- NRL Sériový ovladač 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) from 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é) AuSIM zvukový hardware a Microsoft DirectSound.
- Zařízení XKeys od P.I. Inženýrství: Desktop, Professional, Jog & Shuttle, Joystick a nožní pedál.
- Zaber.com lineární polohovací prvky.
Reference
- ^ Sensics http://sensics.com
- ^ {{cite journal | last1 = Taylor | first1 = Russell | title = VRPN: a device-independent, network-transparent VRipheral system | journal = VRST '01 Proceedings of the ACM symposium on Virtual reality software and technology | date = 15 November - 17, 2001 | stránky = 55-61 | doi = 10.1145 / 505008.505019 | url =https://dl.acm.org/citation.cfm?id=505019}
- ^ vrpn: Používání vrpn_Connection - oficiální úložiště GitHub, Periferní síť virtuální reality, 19. 2. 2018, vyvoláno 2018-02-20
- ^ vrpn: Řešení potíží s VRPN - oficiální úložiště GitHub, Periferní síť virtuální reality, 19. 2. 2018, vyvoláno 2018-02-20