Oculus Rift na platformie Motion Simulator

12

Obecnie opracowuję środowisko VR dla istniejącej (fizycznie) dużej platformy symulatora ruchu. Użytkownik może usiąść na tej platformie ruchu i zostaje przyspieszony i przechylony, aby wywołać wrażenie ruchu w środowisku symulatora samochodu badawczego. Śledzenie pozycji Oculus Rift jest już zamontowane na ruchomej platformie przed użytkownikiem, tak jak na komputerze.

Obecnie używanym przeze mnie silnikiem 3D jest Unity 5.3. Kąty obrotu i liniowe przyspieszenia platformy są już wprowadzane do Unity. Wyniki nie są jednak tym, do czego dążyłem. Podczas gdy kompensacja rotacyjna działa dobrze, dopóki przechylamy platformę, gdy prędkość kątowa spadnie do zera, moduł śledzący resetuje się bez wywoływania przeze mnie lub uruchamiania zdarzenia, które to zrobił. Kompensacja przyspieszenia liniowego zawsze drga wokół prawdziwego punktu spoczynkowego.

Próbowałem już użyć natywnej implementacji Unity VR, a także wtyczki Oculus. Jednak połączenie czujnika nie jest dostępne na tym poziomie. Fora Oculus mają wiele tematów na ten temat, ale nie mogłem znaleźć żadnych rozwiązań.

Czy istnieją alternatywy, które można wypróbować, aby korzystać z Oculus na ruchomej platformie?

Chciałbym idealnie odjąć indukowany ruch od danych czujnika Oculus przed dalszym przetwarzaniem. Już rozważałem załatanie np. LibOVR, ale nie znalazłem też żadnych pomocnych funkcji związanych z fuzją czujnika.

Kapt.Brackbier
źródło
Czy Twoi użytkownicy nie chorują na tę kombinację platformy VR + Motion?
Vaillancourt
5
Nie, ponieważ chcemy, aby dokładnie czuli to, co widzą. W rzeczywistości oceniamy wszystkie kroki ze studentami psychologii. Jedynym najbardziej wpływowym czynnikiem dla choroby chorej jest rozbieżność między tym, co użytkownicy widzą, a tym, co czują , co staramy się zminimalizować w naszej konfiguracji i dlatego przybyliśmy tutaj, aby zapytać.
Kapt.Brackbier
Dobrze wiedzieć! Powodzenia w projekcie :)
Vaillancourt
1
Co się stanie, jeśli czujnik zostanie zamontowany statycznie na zewnątrz platformy?
Skyblade 28.09.16
1
Jeśli rozumiem, w zestawie słuchawkowym jest wbudowany akcelerometr + żyroskop do regulacji wyższych częstotliwości (nie opiera się wyłącznie na kamerze), więc gdy jest przyspieszany przez platformę, zaczyna wariować, ponieważ istnieje rozbieżność między czujnikiem wizualnym a wewnętrzne. W takim przypadku nie widzę innego rozwiązania niż przepisanie sterowników niskiego poziomu. Naprawdę podoba mi się pomysł Skyblades (jeśli jest to opcja) i słyszałem, że wiele czujników jest opcją.
CiscoIPPhone

Odpowiedzi:

0

Nie mogę udzielić ostatecznej odpowiedzi, ale sugeruję, abyś eksperymentował z zestawami słuchawkowymi różnych producentów (Microsoft Mixed Reality, VIVE i potencjalnie na telefony komórkowe) i sprawdził, czy problem z resetowaniem również występuje. Mam przeczucie, że problem resetowania jest specyficzny dla Oculusa i ogólnie nie jest cechą systemów VR.

Jako przykład udanego projektu, który jest podobny, zobacz artykuł CarVR: Włączanie rozrywki w wirtualnej rzeczywistości w samochodzie . Mówi o użyciu VR w jadącym samochodzie.

Podobnie jak to, co zrobiłeś, umieścili IMU na platformie (samochód) i odjęli te dane od renderowania w Unity. Wygląda na to, że zakończyły się powodzeniem w testach i nie wspominają o resecie ani innych problemach. W swoich badaniach w szczególności wykorzystali Samsung GearVR z Samsung Galaxy S6 Edge jako urządzenie VR.

Innym podejściem byłoby użycie systemu VR, który określa kamery w oparciu o kamery. Teoretycznie system tylko kamery może w pełni zarządzać ruchem głowy i orientacją, jeśli jest wystarczająco silny. Zestawy Microsoft rzeczywistości mieszanej robią to do pewnego stopnia. Zobacz tę stronę firmy Microsoft dotyczącą śledzenia, aby zapoznać się z pewnym tłem. To powiedziawszy, uważam, że system Microsoftu to połączenie śledzenia kamery ze zintegrowanymi czujnikami dla podejścia hybrydowego.

Tim Holt
źródło