Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Behavior

Gecontroleerde rotatie van menselijke waarnemers in een virtual reality-omgeving

Published: April 21, 2022 doi: 10.3791/63699

Summary

De gecontroleerde fysieke rotatie van een menselijke waarnemer is wenselijk voor bepaalde experimentele, recreatieve en educatieve toepassingen. Dit artikel schetst een methode voor het omzetten van een bureaustoel in een medium voor gecontroleerde fysieke rotatie in een virtual reality-omgeving.

Abstract

De lage kosten en beschikbaarheid van Virtual Reality (VR) -systemen hebben een recente versnelling van onderzoek naar perceptie en gedrag onder meer naturalistische, multisensorische en meeslepende omstandigheden ondersteund. Een onderzoeksgebied dat vooral heeft geprofiteerd van het gebruik van VR-systemen is multisensorische integratie, bijvoorbeeld de integratie van visuele en vestibulaire signalen om aanleiding te geven tot een gevoel van zelfbeweging. Om deze reden is een toegankelijke methode voor de gecontroleerde fysieke rotatie van een waarnemer in een virtuele omgeving een nuttige innovatie. Dit artikel presenteert een methode voor het automatiseren van de rotatie van een bureaustoel, samen met een methode om die beweging te integreren in een VR-ervaring. Met behulp van een voorbeeldexperiment wordt aangetoond dat de aldus geproduceerde fysieke beweging is geïntegreerd met de visuele ervaring van een waarnemer op een manier die consistent is met de verwachtingen; hoge integratie wanneer de beweging congruent is met de visuele stimulus en lage integratie wanneer de beweging incongruent is.

Introduction

Veel signalen combineren onder natuurlijke omstandigheden om een gevoel van zelfbeweging te produceren1. Het produceren van een dergelijk gevoel is een doel in veel recreatieve, gezondheids- en educatieve VR-toepassingen 2,3,4,5, en eenvoudigweg begrijpen hoe signalen combineren om een gevoel van zelfbeweging te geven, is een langetermijninspanning van neurowetenschappers 6,7,8,9,10,11 . De drie belangrijkste klassen van signalen voor zelfbewegingsperceptie zijn visueel, vestibulair en proprioceptief1. Alle drie combineren congruent tijdens natuurlijke actieve beweging in de echte wereld om een robuust en rijk gevoel van zelfbeweging te bieden. Om de rol van elke klasse van signalen te begrijpen en een idee te krijgen van hoe signalen combineren, hebben onderzoekers experimentele waarnemers traditioneel beroofd van een of meer signalen en / of signalen in conflict met elkaar geplaatst 1,12. Om bijvoorbeeld roterende vestibulaire signalen te geven in afwezigheid van proprioceptieve signalen, kan een waarnemer passief worden gedraaid door een gemotoriseerde stoel 13,14,15,16. Van een dergelijke passieve beweging is aangetoond dat ze zeer overtuigende aanwijzingen geeft voor zelfbeweging17. Gecontroleerde visuele aanwijzingen van een VR-headset kunnen congruent of incongruent zijn met de beweging van de stoel of helemaal afwezig zijn. Proprioceptieve signalen kunnen worden toegevoegd door de waarnemer de stoel op eigen kracht te laten draaien, bijvoorbeeld door de stoel met zijn voeten rond te duwen.

Hier wordt een methode gepresenteerd voor het omzetten van een bureaustoel in een medium voor het fysiek roteren van het lichaam van een waarnemer en het integreren van die beweging in een visuele (en mogelijk auditieve) virtuele ervaring. De rotatie van de stoel kan onder controle staan van de waarnemer, een computerprogramma of een andere persoon zoals de experimentator. Waarnemergestuurde rotatie kan passief zijn door de motoraangedreven rotatie een functie te maken van de positie van de handcontroller van de waarnemer of actief door de stoel uit te schakelen en de waarnemer de stoel zelf te laten draaien.

Ook wordt een psychofysische toepassing voor deze stoel/VR-systeem gepresenteerd. Deze voorbeeldtoepassing benadrukt het nut van de gecontroleerde passieve rotatie van een waarnemer bij het begrijpen hoe zelfbewegingssignalen op elkaar inwerken om algemene perceptuele ervaringen te produceren. Het specifieke doel was om inzicht te krijgen in een lang bestudeerde visuele illusie-geïnduceerde beweging18,19. Bij geïnduceerde beweging wordt een stationair of bewegend doelwit waarneembaar "afgestoten" weg van een bewegende achtergrond. Als een rode doelpuntpunt bijvoorbeeld verticaal omhoog beweegt tegen een veld met blauwe stippen die naar rechts bewegen, lijkt de doelpuntpunt naar boven te bewegen, zoals verwacht, maar ook naar links, weg van de richting van de bewegende achtergrond20,21. Het doel was om te testen of de afstoting het gevolg is van het interpreteren van de achtergrondbeweging als veroorzaakt door zelfbeweging 22,23.

Als dit het geval is, moet de toevoeging van fysieke rotatie die consistent is met de visuele achtergrondbeweging leiden tot een sterker gevoel dat de achtergrondbeweging te wijten is aan zelfrotatie door een stationaire omgeving. Dit zou op zijn beurt moeten leiden tot een grotere neiging om de achtergrondbeweging van de doelbeweging af te trekken om doelbeweging te krijgen ten opzichte van de stationaire wereld23. Deze verhoogde neiging om af te trekken zou resulteren in een grotere waargenomen doelafstoting. Fysieke zelfrotatie die consistent of inconsistent was met de achtergrondbeweging werd toegevoegd om dit te testen. Het hier gepresenteerde systeem maakte de precieze controle van fysieke beweging en bijbehorende visuele beweging mogelijk om deze hypothese te testen. In het voorbeeld stond de stoelbeweging onder de directe controle van de waarnemer met behulp van de handcontroller van het VR-systeem.

Hoewel er veel voorbeelden zijn van gemotoriseerde roterende stoelen voor verschillende VR-toepassingen in de literatuur 24,25,26,27,28,29, zijn de auteurs niet op de hoogte van een beknopte reeks instructies voor het maken van een dergelijke stoel en het integreren ervan in een interactieve VR-ervaring. Er zijn beperkte instructies beschikbaar voor de SwiVRChair29, die qua structuur vergelijkbaar is met de hier gepresenteerde, maar die is ontworpen met een ander doel in gedachten, dat wil zeggen, aangedreven door een computerprogramma om de onderdompeling in een VR-omgeving te verbeteren, waar stoelbewegingen door de gebruiker kunnen worden overschreven door hun voeten op de grond te plaatsen. Gezien de kosten van commercieel verkrijgbare stoelen 30,31, kan het maken van een "in-house" voor sommige onderzoekers een meer haalbare optie zijn. Voor degenen in deze situatie zou het onderstaande protocol van nut moeten zijn.

Systeemoverzicht
Het protocol bestaat uit instructies voor het ombouwen van een bureaustoel tot een elektrisch aangedreven draaistoel en het integreren van de stoelbeweging in een VR-ervaring. Het hele systeem, eenmaal voltooid, bestaat uit vier delen: de mechanische, elektrische, software- en VR-subsystemen. Een foto van het complete systeem is weergegeven in figuur 1. Het getoonde systeem was het systeem dat werd gebruikt in het voorbeeldexperiment.

De taak van het mechanische subsysteem is om de bovenas van een draaistoel fysiek te draaien via een motor. Het bestaat uit een bureaustoel waaraan twee dingen zijn bevestigd: een katrol bevestigd aan de bovenste roterende as van de bureaustoel en een verstelbaar montageframe bevestigd aan het onderste vaste deel van de as. Een elektrische stappenmotor is bevestigd aan de houder, die een katrol aan de as heeft bevestigd die in lijn is met de katrol op de bovenste as van de bureaustoel. Een riem koppelt de motorpoelie aan de stoelpoelie, waardoor de motor de stoel kan laten draaien.

Het elektrische subsysteem levert stroom aan de motor en maakt de elektronische besturing van de motor mogelijk. Het bestaat uit een motordriver, een voeding voor de motor, een Arduino-bord voor het koppelen van de driver met een computer en een voeding voor de Arduino (optioneel). Een Arduino-bord is een populair klein bord onder hobbyisten en professionele makers van alles wat elektronisch is, dat een programmeerbare microprocessor, controllers, invoer- en uitgangspennen en (in sommige modellen) een USB-poort bevat (hier vereist). Alle elektrische componenten zijn ondergebracht in een op maat gemaakte elektrisch geïsoleerde doos. Aangezien netstroom vereist is voor de transformator die de motor van stroom voorziet en voor de (optionele) Arduino-voeding, en omdat de motor hoge bedrijfsspanningen vereist, moeten alle behalve de laagspanningselektronica (protocolstappen 2.5 tot 2.10 hieronder) worden uitgevoerd door een gekwalificeerd persoon.

Het softwaresubsysteem bestaat uit Arduino-software voor het programmeren van de Arduino, Unity-software voor het maken van de VR-omgeving, Steam-software voor het besturen van het VR-systeem en Ardity - een Unity-plug-in waarmee Unity kan communiceren met het Arduino-bord. Deze software is geïnstalleerd op een Gygabyte Sabre 15WV8-laptop met Microsoft Windows 10 Enterprise voor het voorbeeldexperiment (figuur 1).

Het VR-systeem bestaat uit een Head-mounted Display (HMD), een draagbare controller en basisstations voor het bepalen van de positie en oriëntatie van de HMD en controller in de ruimte. Het VR-systeem dat voor dit project werd gebruikt, was de HTC Vive Pro (figuur 1).

Hieronder wordt de procedure beschreven voor het combineren van deze componenten om een virtuele ervaring te bereiken die fysieke rotatie (experiment of anderszins) omvat met stoelbewegingen die worden bestuurd door de waarnemer via de draagbare controller of door de gastheer / experimentator via een computermuis of een potentiometer. Het laatste deel van het protocol bestaat uit de stappen die nodig zijn om de VR-ervaring te initiëren. Merk op dat de methode voor het coderen van Unity om proeven en gegevensverzameling mogelijk te maken buiten het bereik van dit manuscript valt. Sommige stappen, met name voor het mechanische subsysteem, vereisen bepaalde werkplaatsuitrusting en een bepaald vaardigheidsniveau. In principe kunnen de gepresenteerde methoden worden aangepast aan de beschikbaarheid van die middelen. Voor enkele van de meer technische stappen worden alternatieven aangeboden.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

WAARSCHUWING: Elektrische werkzaamheden moeten worden uitgevoerd door een gekwalificeerd persoon.

1. Mechanische systeem setup procedure

  1. Bevestig de hoofdpoelie aan de bovenas van de draaistoel.
    1. Verwijder de bovenas.
      OPMERKING: Dit houdt meestal in dat de stoel op zijn kant wordt geplaatst en een pin aan de basis van de stoel wordt verwijderd die voorkomt dat de bovenste schacht uit de onderste schacht glijdt.
    2. Wrijving-fit de katrol op de as.
      1. Gebruik Vernier remklauwen om de diameter van de as te verkrijgen. Gebruik een draaibank om het katrolgat te boren om overeen te komen met de diameter van de as.
      2. Maak gaten met schroefdraad voor schroeven die de katrol aan de as bevestigen. Boor extra gaten in de naaf van de katrol om er in totaal 4 te maken, waarbij de diameter overeenkomt met die van de schroeven. Rijg de gaten met een kraan zodat schroeven kunnen worden gebruikt om de katrol aan de as te bevestigen, waarbij de schroefdraad overeenkomt met die van de schroeven
        OPMERKING: Een ALTERNATIEF als het maken van een draad niet mogelijk is, is om helemaal door de naaf van de katrol en de schacht van de stoel te boren en een bout helemaal door te laten lopen zodra de juiste plaatsing van de katrol is bepaald (na stap 1.4.6).
      3. Schuif de katrol op de schacht van de stoel.
      4. Plaats de schroeven losjes (draai vast nadat de hoofd- en kleine katrollen zijn uitgelijnd).
    3. Plaats de aandrijfriem losjes op de schacht van de bovenstoel (om later op de hoofd- en kleine katrollen te worden gemonteerd).
    4. Bevestig de schacht van de bovenstoel opnieuw aan het stoelonderstel.
  2. Bevestig de motorsteun aan de onderas van de draaistoel.
    1. Fabriceer een verstelbare klem waaraan de motorbevestigingsbeugels kunnen worden bevestigd.
      1. Fabriceer de twee bijpassende componenten van de klem - één voor elke kant van de as (samengeperst met vier bouten). Zie figuur 2 voor afmetingen.
      2. Snijd voor elk onderdeel het 90° hoekijzer op lengte. Bevestig de 4 bladeren waar de bouten doorheen lopen.
      3. Rond de randen van elk blad (metalen staaf) voor de veiligheid. Boor gaten aan het einde van elke staaf die groot genoeg zijn om de bouten erdoorheen te laten passen. Maak een bocht van 45° op de juiste positie (scoor de stang om de bocht preciezer te maken). Punt-las elke staaf aan de hoek ijzer-bout gaten naar buiten.
        OPMERKING: ALS ALTERNATIEF kunnen de bladeren op hun plaats worden vastgeschroefd, waarbij u voorzichtig moet zijn om geen uitsteeksel te veroorzaken dat voorkomt dat het hoekijzer contact maakt met de stoelas.
    2. Fabriceer twee motorbevestigingsbeugels. Zie figuur 3 voor afmetingen. Boor voor elke beugel twee gaten in de stang voor bevestiging aan de zojuist beschreven klem. Buig 90° op de juiste positie (scoor de stang om de bocht nauwkeuriger te maken).
    3. Bevestig de klem en monteer deze aan de onderas van de stoel door de 4 bouten door de klemcomponenten en beugels te steken en aan te spannen. Zorg ervoor dat de bouten niet te strak zitten als de houder moet worden aangepast aan het uitlijnproces in stap 1.4.6.
  3. Bevestig de kleine katrol aan de motoras.
    1. Slijp de sleutel op de motoras plat (steekt niet meer uit).
      OPMERKING: Dit zorgt voor een vlak oppervlak waartegen de katrolschroef kan worden aangedraaid om slippen van de katrol rond de motoras te voorkomen.
    2. Boor het gat in de katrol uit om overeen te komen met de diameter van de motoras.
    3. Schuif de katrol over de as en draai de schroef losjes vast tegen het vlakke oppervlak op de as.
  4. Bevestig de motor aan de hierboven beschreven motorbeugel.
    1. Bereid elk van de 4 motorbevestigingsstaven voor door twee gaten in de juiste posities te boren (gaten moeten in lijn liggen met de montagegaten in de motor). Zie figuur 4 voor afmetingen.
    2. Snijd indien nodig voor de speling een gedeelte uit de bovenkant van de twee staven zodat de katrol op de motoras vrij kan draaien (optioneel).
    3. Plaats de vier kleine bevestigingsbeugels over de vier buitenste gaten. Gebruik ze later om de beschermhoes over de riem en katrollen te bevestigen.
    4. Bevestig de acht moeren en bouten losjes, zodat er ruimte overblijft tussen de bovenste en onderste staven om de montagebeugelstangen ertussen te schuiven.
    5. Schuif de motorbevestigingsstangen op de beugel - elke bovenste balk boven de montagebeugelbalk en elke onderste eronder.
    6. Plaats en klem de motor.
      1. Beweeg de hoofdpoelie, de kleine katrol of zowel op als neer totdat de hoofd- en kleine katrollen horizontaal zijn uitgelijnd. Verplaats de klem indien nodig.
      2. Plaats de aandrijfriem over de kleine en belangrijkste katrollen.
      3. Schuif de motor van de stoel af totdat de riem strak zit.
      4. Draai de 8 bouten op de motorbevestigingsstangen vast om de motor aan de motorbeugel te bevestigen.
      5. Draai de klembouten en katrolschroeven vast.
  5. Bevestig een afdekking om te voorkomen dat er iets vast komt te zitten in het katrol/ riemsysteem.
    1. Buig de zijkanten van de acryl beschermhoes volgens figuur 5.
      OPMERKING: Een ALTERNATIEF, als een acryl bender niet beschikbaar is, is om een metalen plaat en plaat bender te gebruiken.
    2. Knip een gedeelte uit om rond de schacht van de stoel te passen volgens figuur 5.
    3. Boor gaten om overeen te komen met de gaten op de kleine afdekbevestigingsbeugels.
    4. Gebruik de kleine bevestigingsbouten om de hoes te bevestigen.

2. Procedure voor het instellen van het elektrische systeem

  1. Sluit de aan/uit-schakelaar en de nooduitschakelingsschakelaar aan op het lichtnet. Gebruik de juiste spannings- en stroomkabels om de IEC-connector (mannelijke connector voor de netvoedingskabel) in serie aan de noodstop- en aan/uitschakelaar te bevestigen (zodat het verbreken van het circuit met een van beide de stroom naar de rest van de componenten zal onderbreken).
    OPMERKING: Solderen kan nodig zijn.
  2. Sluit de 5 V DC voeding voor de Arduino aan op de aan/uit schakelaar (optioneel).
    OPMERKING: Solderen en netkabel vereist.
  3. Sluit de 48 V DC voeding voor de stoeldriver aan op de aan/uit schakelaar parallel aan de 5 V voeding.
    OPMERKING: Netkabel vereist.
  4. Zorg voor de juiste DIP-schakelaarinstellingen voor de hybride stappenmotordriver. Bijvoorbeeld:
    1. Stel schakelaars 1-4 in op AAN, UIT, AAN en AAN, respectievelijk, voor 1.600 pulsen per omwenteling voor de stappenmotor (hoe hoger het getal, hoe fijner de regeling, maar hoe lager de limiet op rotatiesnelheid, afhankelijk van hoe snel de Arduino pulsen kan produceren).
    2. Schakel 5 naar UIT voor de standaardrotatierichting tegen de klok in.
    3. Schakel 6 naar AAN voor de drive Point Motion (PM) -modus in tegenstelling tot de ruimtevectorbesturingsmodus (of Field-oriented Control, FOC).
    4. Stel schakelaars 7 en 8 in op UIT en UIT om de controller af te stemmen op de 86-serie 12 NM closed-loop motor.
  5. Sluit de hybride stappenmotordriver aan op de voedingskabels en stoelaandrijving.
    1. Bevestig de juiste nominale kabels van de 48 V-voedingsuitgangsklemmen op de behuizing van de voedingsingang van de motordriver en plaats de behuizing.
    2. Sluit de twee motorkabels via hun connectorbehuizingen aan op de driver.
  6. Sluit de Arduino aan op de hybride stappenmotordriver.
    1. Gebruik vastgemaakte springdraden om de PUL + ("pul" +), DIR + ("richting" +) en ENA + ("inschakelen" +) terminals op de behuizing van de motordriverconnector aan te sluiten op pinnen 2, 3 en 5 (pincodes optioneel, maar hier vermeld als voorbeelden die overal moeten worden gebruikt) op de Arduino.
    2. Gebruik korte draden om de PUL-, DIR- en ENA-terminals van de connectorbehuizing van de motordriver aan te sluiten en een langere vastgepinde springdraad om ENA- aan te sluiten op een GND (ground) pin op de Arduino.
    3. Steek de connectorbehuizing in de motordriver.
  7. Sluit de Arduino aan op de 5 V DC voeding (optioneel). Gebruik vastgemaakte springdraden om pinnen GND en Vin op de Arduino aan te sluiten op de 5 V-uitgangen van de 5 V-voeding.
  8. Sluit de potentiometer aan op de Arduino. Gebruik vastgemaakte springdraden om de A1 (een "analog in" terminal) GND en 5 V pinnen op de Arduino aan te sluiten op de drie aansluitingen van de potentiometer.
    OPMERKING: Solderen vereist.
  9. Sluit de tuimelschakelaar aan op de Arduino. Sluit pin 6 en GND op de Arduino aan op de twee tuimelschakelaars met behulp van vastgemaakte springdraden.
    OPMERKING: Solderen vereist.
  10. Sluit de LED aan op de Arduino.
    1. Soldeer de weerstand aan een aansluiting van de LED (om de spanning op het LED-circuit te laten vallen).
    2. Bevestig pinnen 7 en GND op de Arduino aan het uiteinde van de weerstand en de andere LED-terminal met behulp van vastgepinde springdraden.
      OPMERKING: Solderen vereist.
  11. Isoleer en huisvest de elektrische /elektronische componenten. Zie figuur 6 voor een afbeelding van een voltooid gehuisvest systeem.
    OPMERKING: Er zijn veel manieren om de hoogspanningscomponenten van het elektrische systeem te isoleren, de fragiele elektronische componenten te beschermen tegen schade en al deze componenten in een beheersbare ruimte te bevatten. Hieronder is een voorgestelde methode.
    1. Boor /snijd gaten in de zijkant van de instrumentbehuizing voor de IEC-voedingsconnector, de hoofdschakelaar, de twee motorbesturingskabels, de kleine tuimelschakelaar, de LED, de potentiometer en de USB-poort van de Arduino (maak deze groot om lucht in de behuizing te laten stromen voor koeling).
    2. Bevestig elk van deze componenten met behulp van de juiste middelen (bijv. Schroeven, bouten, hete lijmpistool).
    3. Knip ventilatiegaten (één boven de ventilator in de 48 V-voeding) en een gat voor de noodschakelaar in het deksel van de behuizing; bevestig vervolgens de ventilatiefilters en de schakelaar.
    4. Bevestig de Arduino aan de basis van de behuizing met behulp van afstandhouders en schroeven. Plaats de USB-poort zo dat deze wordt uitgelijnd met het GAT van de USB-poort in de behuizing.
    5. Bevestig de 48 V en 5 V voedingen en de motordriver aan de basis van de behuizing met behulp van klittenband en schuimblokken.

3. VR-installatieprocedure

  1. Stel het VR-systeem in volgens de instructies van de fabrikant.

4. Procedure voor het instellen van software

  1. Installeer en stel de Arduino-software in.
    1. Download en installeer het Arduino-programma volgens de instructies van de ontwikkelaar.
    2. Sluit de Arduino aan op de computer met behulp van een USB-kabel.
    3. Selecteer in het vervolgkeuzemenu Extra de poort waarop het Arduino-bord is aangesloten.
    4. Selecteer in hetzelfde menu het juiste bord en de juiste processor. Zorg ervoor dat het overeenkomt met het bord en de processor die worden gebruikt in sectie 2 hierboven, bijvoorbeeld "Arduino Mega 2560" -bord en "ATmega2560" -processor.
  2. Programmeer het Arduino-bord om rotatie van de stoel mogelijk te maken 1) door middel van de potentiometer en 2) door middel van commando's van de computer via USB.
    1. Schrijf de code die moet worden geüpload naar de Arduino-processor.
      OPMERKING: Voorbeeldcode uit het voorbeeldexperiment is opgenomen in Aanvullend bestand 1 (bestandsnaam: hybrid_motor_controller.ino).
    2. Noteer de baudrate (argument voor de opdracht Serial.Begin(), bijvoorbeeld 9.600.
    3. Sla de code op en upload deze naar het Arduino-bord met behulp van de uploadknop .
  3. Test of het systeem tot nu toe werkt.
    1. Sluit het subsysteem Elektriciteit aan en schakel het in.
    2. Druk op de kleine schakelaar naar een positie waar het kleine LED-indicatielampje gaat branden.
    3. Draai de potentiometer om ervoor te zorgen dat deze de snelheid en richting van de stoel regelt.
  4. Installeer en configureer Steam en SteamVR volgens de instructies van de ontwikkelaar.
  5. Installeer en stel Unity in.
    1. Installeer en configureer Unity volgens de instructies van de ontwikkelaar.
    2. Open een nieuw of bestaand Unity-project (kies een type, bijvoorbeeld "3D" dat geschikt is voor de toepassing).
    3. Stel SteamVR in voor gebruik in het project.
      1. Open het activaarchief (klik op Venster | Activawinkel).
      2. Zoek naar SteamVR en selecteer SteamVR Plugin.
      3. Klik op Toevoegen aan middelen.
      4. Open in Unity Package Manager (klik op Window | Pakketbeheer).
      5. Zoek SteamVR op het tabblad Mijn middelen .
      6. Klik op Importeren en volg de aanwijzingen om het importeren te voltooien.
      7. Klik op Alles accepteren als u wordt gevraagd configuratiewijzigingen aan te brengen.
      8. Importeer de Steam VR Camera Rig in de scène. Zoek naar een nieuw item met de naam Steam VR in het projectvenster op het inspecteursscherm. Open Steam VR | prefabs.
      9. Sleep het element [Camera Rig] naar de hiërarchie of het scènevenster om het gebruik van de VR-headset en controllers in de game toe te staan.
      10. Verwijder de standaard hoofdcamera uit de hiërarchie of scène omdat dit de SteamVR-camera zal verstoren.
  6. Installeer en stel Ardity in.
    1. Zoek naar Ardity in de Unity Asset Store en selecteer het om te downloaden (stap 4.5.3.2 hierboven).
    2. Werk het API-compatibiliteitsniveau bij.
      1. Open Projectinstellingen in het menu Bewerken .
      2. Klik op Speler | Andere instellingen.
      3. Kies .NET 4.X in het vervolgkeuzemenu voor API-compatibiliteitsniveau.
      4. Sluit Instellingen af en wacht tot foutberichten verdwijnen.
  7. Stel de Unity-spelomgeving in.
    OPMERKING: De volgende minimale stappen zijn vereist voor de gebruiker om controle over de stoel te hebben en de stoelbeweging te integreren met zijn VR-ervaring.
    1. Maak de objecten en functies die nodig zijn voor de specifieke toepassing.
      1. Maak objecten door op GameObject te klikken en 2D-object of 3D-object te selecteren.
      2. Voeg functionaliteit toe aan het gemaakte object door te klikken op de knop Component toevoegen in het infovenster voor het object en een van de opties te selecteren. Selecteer Nieuw script om een C#-script te maken dat lijkt op het script in Supplemental File 3 (bestandsnaam: SetUpTrial.cs).
    2. Importeer het script van de seriële controller in de game.
      1. Open onder de map Assets in het venster Project de map Ardity | Map Scripts .
      2. Sleep het Script SerialController naar het gewenste spelobject in het venster Heirarchie , bijvoorbeeld het spelobject Achtergrond .
      3. Klik op het object en scrol omlaag in de lijst met componenten in het Inspector-venster om het SerialController-script te vinden.
      4. Zorg ervoor dat de poortnaam en de baudrate overeenkomen met die voor het Arduino-programma dat is ingesteld in stap 4.1 en 4.2 hierboven.
      5. Sleep het object waaraan het script SerialController is gekoppeld vanuit het hiërarchievenster naar het invoervak naast Berichtlistener in het infovenster.
    3. Schrijf en importeer het script van de stoelcontroller in het spel.
      1. Klik onder aan het Infovenster voor hetzelfde spelobject op Component toevoegen en selecteer Nieuw script. Geef het nieuwe script de naam ChairController.
      2. Schrijf de code die nodig is om controller- en muisopdrachten te nemen en zet ze om in nummers die via USB naar de Arduino moeten worden verzonden.
        OPMERKING: Een minimaal voorbeeld van de vereiste code is opgenomen in Supplemental File 2 (bestandsnaam: ChairController.cs).
      3. Sla het script op.
      4. Vul de lege vakken in het infovenster. Sleep het HMD-object vanuit het hiërarchievenster naar het invoervak naast Hoofd onder het script Stoelcontroller in het infovenster. Sleep op dezelfde manier het object Controller (rechts) naar het vak naast Hand.

5. Experimenteer (of ervaring) procedure

  1. Selecteer de invoermethode.
    OPMERKING: Het gegeven voorbeeld van de ChairController-code verwijst naar een script met de naam SetUpTrial waarin de variabele inputType voor het openbare gehele getal is ingesteld (waarbij inputType 3 een VR-controller is en inputType 4 muis). Deze script/variabele rangschikking is in de onderstaande stappen overgenomen.
  2. Klik op het spelobject waaraan het SetUpTrial-script is gekoppeld, bijvoorbeeld Achtergrond.
  3. Scrol omlaag in het infovenster om de openbare variabelen van het script SetUpTrial te vinden.
  4. Stel inputType in op 3 voor VR-controller of 4 voor muisbesturing.
  5. Druk op de afspeelknop in Unity om de VR-ervaring te starten met beweging die wordt bestuurd door de controllers of de muis.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

Het doel van het voorbeeldexperiment was om te bepalen of de toevoeging van fysieke rotatie - congruent of incongruent met de visuele achtergrondbeweging in een scène - de waargenomen richting van een bewegend doelwit in die scène beïnvloedde. Een verschil tussen congruente en incongruente fysieke beweging werd verwacht op basis van de hypothese dat de achtergrondbeweging de waargenomen doelrichting beïnvloedt volgens hoe gemakkelijk het visuele systeem van een deelnemer de oorzaak van achtergrondbeweging toewijst aan zelfbeweging 32,33. Als de achtergrond en fysieke bewegingen congruent waren, werd een groter gevoel van causaal verband verwacht en dus een grotere afwijking van de waargenomen doelrichting van de werkelijke richting in de visuele weergave.

Een waarnemer regelde de rotatiesnelheid en richting van de stoel met behulp van een VR-controller. Hoe verder naar links of rechts de controller zich van de richting van de HMD bevond, hoe groter de rotatiesnelheid. In de congruente toestand, als het doelpatroon, dat altijd een positieve verticale bewegingscomponent had, naar rechts of verticaal leek te drijven, zou de waarnemer de controller naar links verplaatsen. Dit zorgde ervoor dat de stoel naar links draaide (tegen de klok in) en de HMD op de waarnemer tegen de klok in draaide, waardoor de achtergrond in de visuele scène met de juiste snelheid naar rechts bewoog (alsof het een stilstaande achtergrond was waartegen de waarnemer draaide, figuur 7A). Deze rechtse achtergrondbeweging "stootte" het doel af en voegde een linkswaartse bewegingscomponent toe aan de waargenomen doelbeweging, zoals verwacht door de geïnduceerde bewegingsillusie. De doelrichting werd gecontroleerd door de computer, altijd naar boven, maar willekeurig met de klok mee of tegen de klok in van de huidige richting met kleine regelmatige tussenpozen (het bereiken van een willekeurige wandeling, beginnend bij verticaal en overspannend de bovenste twee kwadranten van de Euclidische ruimte). Het doel van de waarnemer was om hun eigen rotatiesnelheid en -richting en dus de snelheid en richting van de achtergrond aan te passen, zodat de geïnduceerde beweging veroorzaakt door de achtergrond precies elke linkse of rechtse bewegingscomponent in het doel annuleerde.

In de incongruente toestand zorgde de beweging van de linker controller ervoor dat de stoel naar rechts draaide (met de klok mee) en de achtergrond naar rechts bewoog via HMD-rotatie met de klok mee (figuur 7B). De beweging van de linkercontroller veroorzaakte dus beweging naar rechtse achtergrond, net als in de congruente toestand, maar de stoel bewoog in de tegenovergestelde richting van wat het deed in de congruente toestand, dat wil zeggen, het bewoog incongruent met de achtergrond. Rechtswaartse rotatie ging bijvoorbeeld gepaard met rechtse achtergrondbeweging, wat niet consistent is met een waarnemer die tegen een stationaire achtergrond roteert.

Een screenshot van de visuele stimulus is weergegeven in figuur 8. De patronen op elk klein cirkelvormig stimuluselement bewogen met dezelfde snelheid en richting als de andere patronen van hetzelfde object (doel of achtergrond) zonder dat de elementen zelf bewogen, alsof elk element een stilstaand venster was waardoor de beweging van een groot onderliggend object kon worden gezien. Dit zorgde voor een gevoel van beweging zonder dat het doel en de achtergrond van het weergavegebied verwijderden. Het weergavegebied was een vliegtuig op 8 m afstand van de waarnemer in de virtuele scène en vergrendeld in positie ten opzichte van de HMD. De doelelementen lagen op een ring met een straal van 5° visuele hoek en de achtergrondelementen werden willekeurig verspreid over een gebied van 20° x 20° op het weergavevlak. De snelheid van het doel werd op 6° /s gehouden en de richting varieerde van -10 ° rond tot 190 ° (d.w.z. over het algemeen bleef het in de bovenste twee kwadranten van de Euclidische ruimte). De achtergrondrichting was altijd horizontaal en de snelheid varieerde afhankelijk van hoe snel het hoofd van de waarnemer met de klok mee of tegen de klok in draaide. De continu verzamelde gegevens werden geanalyseerd met een methode die eerder in het laboratorium was ontwikkeld voor het analyseren van continue psychofysische gegevens. Deze methode is een uitbreiding van een bestaande benadering voor het analyseren van continue trackinggegevens33.

De sterkte van het geïnduceerde bewegingseffect onder de congruente en incongruente bewegingsomstandigheden werd weergegeven door de waarde van de parameter β in Eq (1):

Equation 1(1)

Waarbij p een vector is die de waargenomen doelsnelheid vertegenwoordigt, vertegenwoordigt t de werkelijke doelsnelheid en b de achtergrondsnelheid. β bepaalt de mate waarin de achtergrondsnelheid wordt afgetrokken van de doelbeweging om de waargenomen doelsnelheid te produceren. Wanneer een waarnemer in de echte wereld roteert en een doel binnen zijn gezichtsveld beweegt, moet de achtergrondbeweging volledig van de doelbeweging worden afgetrokken om de doelbeweging ten opzichte van de stationaire wereld32 te krijgen. Een β waarde van 1 is dus bevorderlijk voor het visuele systeem dat de oorzaak van de achtergrondbeweging volledig aan zelfbeweging toewijst, en een lagere waarde duidt op gedeeltelijke toewijzing. De gemiddelde β waarden van negen waarnemers voor de twee voorwaarden zijn weergegeven in figuur 9.

Voor alle waarnemers, op één na, daalde de gemiddelde β waarde omdat de stoel incongruent bewoog met de visuele stimulus (hoewel de verandering significant was voor slechts één waarnemer, t(4) = 13,6, p = 0,000). De gegevens werden geanalyseerd met een tweerichtings-ANOVA met behulp van waarnemer en congruentie als de twee factoren. Beide factoren waren significant met waarnemer F (8, 32) = 2,857, p = 0,016 en congruentie F (1, 32) = 8,236, p = 0,007, wat wijst op een significant verschil tussen waarnemers en een significant effect van de draairichting van de stoel. De voorspelde gemiddelde β waarde voor de congruente aandoening was 1,03 en 0,87 voor de incongruente aandoening. Deze resultaten komen overeen met de hierboven gepresenteerde verwachtingen. Een β waarde in de buurt van 1 voor de congruente voorwaarde geeft aan dat men bereid is achtergrondbeweging toe te wijzen aan zelfbeweging. Een significant lagere waarde voor de incongruente aandoening duidt op een verminderde bereidheid om dit te doen. Dit geeft op zijn beurt aan dat de bewegingservaring van de stoel aan de verwachtingen voldeed; de stoel bood een effectief middel om waarnemers een gevoel van fysieke beweging te geven op de verwachte manier.

Figure 1
Figuur 1: Een foto van het complete systeem. Klik hier voor een grotere versie van deze figuur.

Figure 2
Figuur 2: Klem voor het bevestigen van de motor aan de basis van de stoel. (A) De gehele klemeenheid. (B) Afmetingen voor hoekijzer en bladeren gecombineerd. (C) Bladafmetingen. (D) Hoekijzeren afmetingen. Alle afmetingen in mm. Klik hier om een grotere versie van deze figuur te bekijken.

Figure 3
Figuur 3: Beugel voor het bevestigen van de motor aan de klem. (A) Montage. (B) Afmetingen in mm. Afkorting: dia = diameter. Klik hier om een grotere versie van deze figuur te bekijken.

Figure 4
Figuur 4: De motor aan de motorbeugel bevestigen. (A) Hoe de bevestigingsstaven van de motor te bevestigen. (B) Afmetingen van de motorbevestigingsstang in mm. (C) Hoe de afdekbeugels te bevestigen. Klik hier om een grotere versie van deze figuur te bekijken.

Figure 5
Figuur 5: Bevestiging van de cover. (A) Cover attachment process. (B) Het voltooide mechanische systeem. (C) Afdekmaten in mm. Klik hier om een grotere versie van deze figuur te bekijken.

Figure 6
Figuur 6: Alle elektrische en elektronische componenten in de instrumentenkoffer. Merk op dat de 5 V-voeding naar de Arduino op deze foto is losgekoppeld. Klik hier om een grotere versie van deze figuur te bekijken.

Figure 7
Figuur 7: Een schematische weergave van de acties van de waarnemer en de resulterende stoel- en scèneveranderingen tijdens het experiment. (A) Congruente toestand: als de controller tegen de klok in werd bewogen, bewoog de stoel ook tegen de klok in en bewoog de visuele achtergrond in de tegenovergestelde richting alsof het een stationaire scène was waartegen de persoon draaide. (B) Incongruente toestand: hetzelfde als de congruente, behalve dat de stoel in de tegenovergestelde richting bewoog, waardoor de stoel incongruent werd met de visuele achtergrondbeweging. In het diagram draait de waarnemer met de klok mee en draait de scène verder met de klok mee ten opzichte van de beweging van de waarnemer, wat niet strookt met de natuurlijke ervaring. Klik hier om een grotere versie van deze figuur te bekijken.

Figure 8
Figuur 8: Een screenshot van het bewegingsstimulusbevattende gebied van het visuele display. Dit 2D-beeldvlak werd op 8 m afstand van de waarnemer geplaatst en beslaat een gebied van 35 ° x 35 ° van de visuele scène in de VR-omgeving. De doelring had een straal van 5° visuele hoek en het achtergrondgebied was 20° x 20°. Afkorting: VR = virtual reality. Klik hier om een grotere versie van deze figuur te bekijken.

Figure 9
Figuur 9: Gemiddelde bètawaarden voor elke waarnemer in de congruente en incongruente omstandigheden. Voor alle waarnemers, op één na, daalde de bètawaarde voor de incongruente stoel / visuele bewegingsconditie, wat wijst op een verminderde kans om de visuele achtergrondbeweging te zien als veroorzaakt door de fysieke beweging van de waarnemer. Een 2-weg ANOVA onthulde dat de groepsverandering in bètawaarde significant was (zie tekst voor details). Klik hier om een grotere versie van deze figuur te bekijken.

Aanvullend bestand 1: Voorbeeld Arduino-code, hybrid_motor_controller.ino. Klik hier om dit bestand te downloaden.

Aanvullend bestand 2: Voorbeeld Unity C# script, ChairController.cs. Klik hier om dit bestand te downloaden.

Aanvullend bestand 3: Voorbeeld Unity C#-script, SetUpTrial.cs. Klik hier om dit bestand te downloaden.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

Dit artikel presenteert een methode voor het toevoegen van geautomatiseerde rotatie aan een bureaustoel onder controle van een waarnemer of experimentator, en een bijbehorende methode voor het integreren van die beweging in een virtuele ervaring. Kritieke stappen omvatten de mechanische bevestiging van de motor aan de stoel, het instellen van de stroom naar en elektrische besturing van de motor, en vervolgens het configureren van de Arduino en computer om de motorcontroller aan te drijven. De mechanische bevestigingsstap vereist enkele gespecialiseerde apparatuur en vaardigheden, hoewel er tijdelijke oplossingen zijn voorgesteld voor de moeilijkste taken. Verdere aanpassingen kunnen nodig zijn, afhankelijk van de beschikbaarheid van hardware.

Het hoogspanningswerk moet worden uitgevoerd door een gekwalificeerde persoon en, indien wettelijk vereist, worden gecertificeerd door de relevante instantie. Het laagspanningswerk kan worden gedaan door een persoon met beperkte ervaring. Hierboven staan instructies die specifiek genoeg zijn om reproductie mogelijk te maken als dezelfde apparatuur wordt gebruikt, maar verschillende apparatuur vereist kleine wijzigingen in de procedure.

Arduino-code is verstrekt als aanvulling op de specifieke elektronische configuratie die hier wordt voorgesteld. Merk op dat de Meegeleverde Arduino en andere software-instructies werken met Arduino-versie 1.8.12, SteamVR-versie 1.18.7, Unity-versie 2020.2.7f1 en Ardity-versie 1. Andere softwareversies kunnen wijzigingen van het protocol vereisen.

Een beperking van de methode is dat de hoekversnelling gedempt moet worden. Een methode om dit te doen wordt gegeven in de Arduino-code. Dit komt omdat de hybride servo zal proberen "in te halen" op gemiste motorstappen (als wrijving of traagheid voorkomt dat de motor zo snel accelereert als wordt geïnstrueerd), wat kan leiden tot overshooting en rotatie "stuiteren". Het dempen van de versnellingscommando's die van de computer komen is een manier om hiermee om te gaan; dit is de benadering die wordt gevolgd in de verstrekte voorbeeldcode. Een geborstelde of borstelloze DC-motor kan worden gebruikt om dit probleem te verlichten, maar deze motoren hebben de neiging om een laag koppel te hebben bij lage snelheden, waardoor rotatieregeling bij lage snelheden erg moeilijk is. De auteurs probeerden eerst een borstelloze DC-motor voordat ze overschakelden op de hybride stappenmotor.

Er bestaan alternatieven voor de hier gepresenteerde aanpak. Het is mogelijk om voorgebakken roterende stoelen30 en stoelen die in andere richtingen bewegen31 te kopen, bijvoorbeeld stoelen die kleine translationele34,35 of roterende36,37 bewegingen helemaal tot aan inbindstoelen en kooien uitvoeren die grote multidimensionale bewegingen uitvoeren 38,39,40 . Deze systemen zijn over het algemeen gebouwd voor recreatieve toepassingen, maar kunnen in principe worden aangepast voor het uitvoeren van experimenten, hoewel het "ontgrendelen" van het systeem om het te laten werken met de software van een experimentator in sommige omstandigheden moeilijk kan zijn. Deze systemen hebben ook de neiging om duur te zijn. Het waren uiteindelijk de kosten die de auteurs ertoe brachten hun eigen systeem te ontwikkelen. Ter vergelijking: de kosten van de kit die wordt gebruikt om de beweging van de bureaustoel in dit project te automatiseren, waren ongeveer AUD $ 540 (kosten van laptop, bureaustoel en VR-systeem niet inbegrepen).

De gegevens in de sectie representatieve resultaten geven aan dat de fysieke beweging van een waarnemer op de gemotoriseerde stoel een aanzienlijke invloed kan hebben op hun ervaring van de visuele scène. In het bijzonder was spinrichting - congruent versus incongruent - een zeer belangrijke factor bij het aansturen van β waarden voor de groep, wat een gemiddelde β waarde van 1,03 produceerde wanneer de stoel draaide in een richting die congruent was met de visuele achtergrondbeweging en een aanzienlijk lagere β waarde (0,87) wanneer de stoel incongruent draaide. Er waren variaties in de sterkte van het effect tussen individuen (zelfs het produceren van het tegenovergestelde effect bij één individu, zij het onbeduidend). De gemiddelde verandering veroorzaakt door het veranderen van de draairichting was echter zeer significant, zoals blijkt uit de ANOVA (p = 0,007). Verdere ondersteuning voor de effectiviteit van de stoel is dat de gemiddelde β waarde voor de groep in de congruente toestand dicht bij 1 lag (niet significant verschillend van 1; p = 0,89, gepaarde t-test), wat aangeeft dat de waarnemers gemiddeld de visuele scène bekeken alsof ze daadwerkelijk in de echte wereld draaiden, de beweging van de achtergrond volledig aftrekken van de doelbeweging om de ware beweging van het doel ten opzichte van de stationaire wereld te krijgen.

De experimentele toepassingen voor de hier gepresenteerde methode zijn uitgebreid, gezien de toegenomen interesse in VR-gemedieerde experimenten. Waar geautomatiseerde rotatiebeweging in een virtuele omgeving wenselijk is, is de methode toepasbaar. De stoel biedt vestibulaire en kleine kinesthetische rotatiesignalen zoals druk-, trillings- en traagheidssignalen. Het beheersen van dergelijke signalen is belangrijk om de mechanismen van het gevoel van zelfbeweging te begrijpen en om te begrijpen hoe vestibulaire signalen over het algemeen integreren met andere sensorische signalen. Het voorbeeldexperiment geeft aan dat de fysieke signalen van de stoel worden gecombineerd met visuele signalen om een scène-interpretatie te produceren, d.w.z. de waargenomen richting van het doelwit, die consistent is met de ervaring in de echte wereld wanneer de signalen congruent zijn en inconsistent wanneer ze dat niet zijn.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

Er zijn geen belangenconflicten.

Acknowledgments

Dit werk werd ondersteund door de subsidies van de Australian Research Council DP160104211, DP190103474 en DP190103103.

Materials

Name Company Catalog Number Comments
48 V DC power supply (motor) Meanwell RSP-320-48 https://www.meanwellaustralia.com.au/products/rsp-320
5 V DC power supply (arduino) Jaycar MP3295 https://www.jaycar.com.au/15w-5v-3a-enclosed-power-supply/p/MP3295?pos=5&queryId=dda344422ab16c6
7f558551ac0acbd40
Ardity plugin for Unity Open Source https://ardity.dwilches.com/
Arduino MEGA 2560 Jaycar XC4420 https://www.jaycar.com.au/duinotech-mega-2560-r3-board-for-arduino/p/XC4420?pos=2&queryId=901771805f4bf6e0
ec31d41601d14dc3
Arduino software Arduino https://www.arduino.cc/en/software
Belt Motion Dynamics RFTB10010 Choose a size that suits the application. We used 60 tooth. https://www.motiondynamics.com.au/polyurethane-timing-belts-16mm-t-10/
Bracket bolts (holding motor) The Fastner Factory 161260 x 4. https://www.thefastenerfactory.com.au/bolts-and-nuts/all-stainless-bolts/stainless-button-socket-head-cap-screws/stainless-steel-button-socket-head-cap-screw-m6-x-35mm-100pc
Bracket bolts (not holding motor) The Fastner Factory 161258 x 4. https://www.thefastenerfactory.com.au/bolts-and-nuts/all-stainless-bolts/stainless-button-socket-head-cap-screws/stainless-steel-button-socket-head-cap-screw-m6-x-25mm-100pc
Clamp Angle Iron Austral Wright Metals 50004813 x 2. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Clamp bolts The Fastner Factory 161265 x 4. https://www.thefastenerfactory.com.au/bolts-and-nuts/all-stainless-bolts/stainless-button-socket-head-cap-screws/stainless-steel-button-socket-head-cap-screw-m6-x-70mm-100pc  
Clamp leaves (stainless flat bar) Austral Wright Metals 50004687 x 8. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Cover (acrylic) Bunnings Warehouse 1010489 https://www.bunnings.com.au/suntuf-900-x-600-x-5mm-grey-acrylic-sheet_p1010489
Cover bolts/nuts Bunnings Warehouse 247292 x 4. https://www.bunnings.com.au/pinnacle-m3-x-16mm-stainless-steel-hex-head-bolts-and-nuts-12-pack_p0247292
Cover brackets Bunnings Warehouse 44061 x 4. https://www.bunnings.com.au/zenith-20mm-zinc-plated-angle-bracket-16-pack_p0044061
Emergency shut-off switch Jaycar SP0786 https://www.jaycar.com.au/latching-emergency-stop-switch/p/SP0786?pos=1&queryId=5abe9876cf78dc3d
d26b9067fbc36f74
Hybrid stepper motor and driver Vevor ? Closed Loop Stepper Motor Nema 34 12NM Servo Motor Hybrid Driver https://vevor.com.au/products/1712oz-in-nema34-closed-loop-stepper-motor-12nm-hybrid-servo-driver-hsc86-kit?variant=33058303311975
IEC mains power connector RS components 811-7213 https://au.rs-online.com/web/p/iec-connectors/8117213
Instrument case (housing) Jaycar HB6381 https://www.jaycar.com.au/abs-instrument-case-with-purge-valve-mpv2/p/HB6381
LED Jaycar ZD0205 https://www.jaycar.com.au/green-10mm-led-100mcd-round-diffused/p/ZD0205?pos=11&queryId=e596cbd3d71e86
37ab9340cee51175e7&sort=
relevance
Main pulley (chair) Motion Dynamics ALTP10020 Choose a size that suits the application. More teeth = slower rotation. We used 36 tooth. https://www.motiondynamics.com.au/timing-pulleys-t10-16mm.html
Motor attachment bars (Stainless flat bar) Austral Wright Metals 50004687 x 4. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Mounting brackets (stainless flat bar) Austral Wright Metals 50004687 x 2. https://www.australwright.com.au/products/stainless-steel/stainless-steel-bar-round-flat-angle-square/
Nuts The Fastner Factory 161989 x 12. https://www.thefastenerfactory.com.au/stainless-steel-hex-nylon-insert-lock-nut-m6-100pc
On/off switch Jaycar SK0982 https://www.jaycar.com.au/dpdt-illuminated-rocker-large-red/p/SK0982?pos=4&queryId=88e0c5abfa682b74
fa631c6d513abc73&sort=relevance
Potentiometer Jaycar RP8610 https://www.jaycar.com.au/10k-ohm-logarithmic-a-single-gang-9mm-potentiometer/p/RP8610?pos=4&queryId=0d1510281ba100d
174b8e3d7f806a020
Pulley screws The Fastner Factory 155856 x 5. https://www.thefastenerfactory.com.au/stainless-steel-hex-socket-head-cap-screw-m4-x-25mm-100pc
resistor 150 Ohm Jaycar RR2554 https://www.jaycar.com.au/150-ohm-1-watt-carbon-film-resistors-pack-of-2/p/RR2554?pos=19&queryId=48c6317c73fd361
a42c835398d282c4a&sort=
relevance
Small pulley (motor) Motion Dynamics ALTP10020 Choose a size that suits the application. More teeth = faster rotation. We used 24 tooth. https://www.motiondynamics.com.au/timing-pulleys-t10-16mm.html
Small toggle switch Jaycar ST0555 https://www.jaycar.com.au/sealed-mini-toggle-switch/p/ST0555?pos=14&queryId=066b989a151d83
31885c6cec92fba517&sort=
relevance
Steam software Valve Corporation https://store.steampowered.com/
SteamVR plugin for Steam Valve Corporation https://store.steampowered.com/app/250820/SteamVR/
Unity software Unity Technologies https://unity3d.com/get-unity/download
VR system Scorptec 99HANW007-00 HTC Vive Pro with controllers and base stations. https://www.scorptec.com.au/product/gaming-peripherals/vr/72064-99hanw007-00?gclid=Cj0KCQiA5OuNBhCRARIsA
CgaiqX8NjXZ9F6ilIpVmYEhhanm
GA67xLzllk5EmjuG0gnhu4xmiE
_RwSgaAhn8EALw_wcB

DOWNLOAD MATERIALS LIST

References

  1. Campos, J., Bülthoff, H. Multimodal integration during self-motion in virtual reality. The Neural Bases of Multisensory. Murray, M. M., Wallace, M. T. , CRC Press. (2012).
  2. Radianti, J., Majchrzak, T. A., Fromm, J., Wohlgenannt, I. A systematic review of immersive virtual reality applications for higher education: Design elements, lessons learned, and research agenda. Computers & Education. 147, 103778 (2020).
  3. Madshaven, J. M. Investigating the user experience of virtual reality rehabilitation solution for biomechatronics laboratory and home environment. Frontiers in Virtual Reality. 2, 645042 (2021).
  4. Fan, Z. Design of physical training motion simulation system based on virtual reality technology. 2021 The 13th International Conference on Computer Modeling and Simulation. Association for Computing Machinery. , 81-86 (2021).
  5. Roettl, J., Terlutter, R. The same video game in 2D, 3D or virtual reality - How does technology impact game evaluation and brand placements. PLoS One. 13 (7), 0200724 (2018).
  6. Riecke, B. E., Sigurdarson, S., Milne, A. P. Moving through virtual reality without moving. Cognitive Processing. 13, Suppl 1 293-297 (2012).
  7. Fauville, G., Queiroz, A. C. M., Woolsey, E. S., Kelly, J. W., Bailenson, J. N. The effect of water immersion on vection in virtual reality. Scientific Reports. 11 (1), 1022 (2021).
  8. Bernhard, E. R., Jörg, S. -P., Marios, N. A., Markus Von Der, H., Heinrich, H. B. Cognitive factors can influence self-motion perception (vection) in virtual reality. ACM Transactions on Applied Perception. 3 (3), 194-216 (2006).
  9. Gibson, J. J. The perception of the visual world. , Houghton Mifflin. (1950).
  10. Angelaki, D. E., Gu, Y., Deangelis, G. C. Visual and vestibular cue integration for heading perception in extrastriate visual cortex. Journal of Physiology. 589, Pt 4 825-833 (2011).
  11. Badcock, D., Palmisano, S., May, J. G. Vision and virtual environments. Handbook of Virtual Environments: Design, Implementation, and Applications. Hale, K. S., Stanney, K. M. , CRC Press. 39-85 (2014).
  12. Kaliuzhna, M., Prsa, M., Gale, S., Lee, S. J., Blanke, O. Learning to integrate contradictory multisensory self-motion cue pairings. Journal of Vision. 15 (1), (2015).
  13. Wilkie, R. M., Wann, J. P. The role of visual and nonvisual information in the control of locomotion. Journal of Experimental Psychology: Human Perception and Performance. 31 (5), 901-911 (2005).
  14. Sinha, N., et al. Perception of self motion during and after passive rotation of the body around an earth-vertical axis. Progress in Brain Research. 171, 277-281 (2008).
  15. Tremblay, L., et al. Biases in the perception of self-motion during whole-body acceleration and deceleration. Frontiers in Integrative Neuroscience. 7, 90 (2013).
  16. Nooij, S. A. E., Bockisch, C. J., Bülthoff, H. H., Straumann, D. Beyond sensory conflict: The role of beliefs and perception in motion sickness. PLoS One. 16 (1), 0245295 (2021).
  17. Harris, L., et al. Simulating self-motion I: Cues for the perception of motion. Virtual Reality. 6 (2), 75-85 (2002).
  18. Carr, H. A., Hardy, M. C. Some factors in the perception of relative motion: A preliminary experiment. Psychological Review. 27, 24-37 (1920).
  19. Reinhardt-Rutland, A. H. Induced movement in the visual modality: An overview. Psychological Bulletin. 103, 57-71 (1988).
  20. Zivotofsky, A. Z., et al. Tracking of illusory target motion: Differences between gaze and head responses. Vision Research. 35 (21), 3029-3035 (1995).
  21. Farrell-Whelan, M., Wenderoth, P., Wiese, M. Studies of the angular function of a Duncker-type induced motion illusion. Perception. 41 (6), 733-746 (2012).
  22. Warren, P. A., Rushton, S. K. Optic flow processing for the assessment of object movement during ego movement. Current Biology. 19 (18), 1555-1560 (2009).
  23. Fajen, B. R., Matthis, J. S. Visual and non-visual contributions to the perception of object motion during self-motion. PLoS One. 8 (2), 55446 (2013).
  24. Duminduwardena, U. C., Cohen, M. Controlling the Schaire Internet Chair with a mobile device. Proceedings CIT: The Fourth International Conference on Computer and Information Technology. , Wuhan, China. 215-220 (2004).
  25. Ashiri, M., Lithgow, B., Mansouri, B., Moussavi, Z. Comparison between vestibular responses to a physical and virtual reality rotating chair. Proceedings of the 11th Augmented Human International Conference. , Association for Computing Machinery. Winnipeg, Manitoba, Canada. (2020).
  26. Koenig, E. A new multiaxis rotating chair for oculomotor and vestibular function testing in humans. Neuro-ophthalmology. 16 (3), 157-162 (1996).
  27. Mowrey, D., Clayson, D. Motion sickness, ginger, and psychophysics. The Lancet. 319 (8273), 655-657 (1982).
  28. Sanmugananthan, P., Nguyen, N., Murphy, B., Hossieni, A. Design and development of a rotating chair to measure the cervico-ocular reflex. Cureus. 13 (10), 19099 (2021).
  29. Gugenheimer, J., Wolf, D., Haas, G., Krebs, S., Rukzio, E. SwiVRChair: a motorized swivel chair to nudge users' orientation for 360 degree storytelling in virtual reality. 1996-2000. Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems. , Association for Computing Machinery. San Jose, California, USA. (2016).
  30. Roto VR Ltd. Roto VR Chair. , Available from: https://www.rotovr.com/ (2021).
  31. Yaw VR Ltd. Yaw Motion Simulator. , Available from: https://www.yawvr.com/ (2021).
  32. Warren, P. A., Rushton, S. K. Perception of object trajectory: Parsing retinal motion into self and object movement components. Journal of Vision. 7 (11), 1-21 (2007).
  33. Bonnen, K., Burge, J., Yates, J., Pillow, J., Cormack, L. K. Continuous psychophysics: Target-tracking to measure visual sensitivity. Journal of Visualized Experiments: JoVE. (3), (2015).
  34. SimXperience. , Available from: https://www.simxperience.com/ (2021).
  35. Harris, L. R., Jenkin, M., Zikovitz, D. C. Visual and non-visual cues in the perception of linear self-motion. Experimental Brain Research. 135, 12-21 (2000).
  36. DOF Reality Motion Simulators. , Available from: https://www.dofreality.com/ (2021).
  37. Next Level Racing. , Available from: https://nextlevelracing.com/ (2022).
  38. Motion Systems. , Available from: https://motionsystems.eu/ (2022).
  39. Redbird Flight Simulations. , Available from: https://simulators.redbirdflight.com/ (2022).
  40. Teufel, H. J., et al. MPI motion simulator: development and analysis of a novel motion simulator. Proceedings of the AIAA Modeling and Simulation Technologies Conference and Exhibit (AIAA 2007). , Hilton Head, South Carolina. (2007).

Tags

Gedrag Probleem 182
Gecontroleerde rotatie van menselijke waarnemers in een virtual reality-omgeving
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Falconbridge, M., Falconbridge, P.,More

Falconbridge, M., Falconbridge, P., Badcock, D. R. Controlled Rotation of Human Observers in a Virtual Reality Environment. J. Vis. Exp. (182), e63699, doi:10.3791/63699 (2022).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter