Waiting
Login processing...

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

Behavior

Kontrollierte Rotation menschlicher Beobachter in einer Virtual-Reality-Umgebung

Published: April 21, 2022 doi: 10.3791/63699

Summary

Die kontrollierte physische Rotation eines menschlichen Beobachters ist für bestimmte experimentelle, Freizeit- und Bildungsanwendungen wünschenswert. Dieses Papier skizziert eine Methode zur Umwandlung eines Bürodrehstuhls in ein Medium für kontrollierte physische Rotation in einer Virtual-Reality-Umgebung.

Abstract

Die niedrigen Kosten und die Verfügbarkeit von Virtual Reality (VR) -Systemen haben eine jüngste Beschleunigung der Erforschung von Wahrnehmung und Verhalten unter naturalistischeren, multisensorischen und immersiveren Bedingungen unterstützt. Ein Forschungsgebiet, das besonders vom Einsatz von VR-Systemen profitiert hat, ist die multisensorische Integration, zum Beispiel die Integration von visuellen und vestibulären Signalen, um ein Gefühl der Selbstbewegung zu erzeugen. Aus diesem Grund stellt eine zugängliche Methode zur kontrollierten physischen Rotation eines Beobachters in einer virtuellen Umgebung eine sinnvolle Neuerung dar. Dieses Papier stellt eine Methode zur Automatisierung der Rotation eines Bürodrehstuhls zusammen mit einer Methode zur Integration dieser Bewegung in ein VR-Erlebnis vor. Anhand eines Beispielexperiments wird gezeigt, dass die so erzeugte physikalische Bewegung in einer Weise in die visuelle Erfahrung eines Beobachters integriert ist, die den Erwartungen entspricht; hohe Integration, wenn die Bewegung mit dem visuellen Reiz kongruent ist, und niedrige Integration, wenn die Bewegung inkongruent ist.

Introduction

Viele Hinweise verbinden sich unter natürlichen Bedingungen, um ein Gefühl der Selbstbewegung zu erzeugen1. Ein solches Gefühl zu erzeugen ist ein Ziel in vielen Erholungs-, Gesundheits- und Bildungs-VR-Anwendungen 2,3,4,5, und einfach zu verstehen, wie sich Hinweise verbinden, um ein Gefühl der Selbstbewegung zu vermitteln, war ein langfristiges Unterfangen von Neurowissenschaftlern 6,7,8,9,10,11 . Die drei wichtigsten Klassen von Hinweisen für die Wahrnehmung von Eigenbewegungen sind visuell, vestibulär und propriozeptiv1. Alle drei verbinden sich kongruent während der natürlichen aktiven Bewegung in der realen Welt, um ein robustes und reiches Gefühl der Selbstbewegung zu vermitteln. Um die Rolle jeder Klasse von Hinweisen zu verstehen und ein Gefühl dafür zu bekommen, wie sich Hinweise kombinieren, haben Forscher experimentellen Beobachtern traditionell einen oder mehrere Hinweise vorenthalten und / oder Hinweise miteinander in Konflikt gebracht 1,12. Zum Beispiel, um rotationale vestibuläre Hinweise in Abwesenheit von propriozeptiven Hinweisen bereitzustellen, kann ein Beobachter passiv von einem motorisierten Stuhl13,14,15,16 gedreht werden. Es hat sich gezeigt, dass eine solche passive Bewegung sehr überzeugende Hinweise auf die Selbstbewegungliefert 17. Kontrollierte visuelle Hinweise, die von einem VR-Headset bereitgestellt werden, können kongruent oder inkongruent mit der Stuhlbewegung sein oder ganz fehlen. Propriozeptive Hinweise können hinzugefügt werden, indem der Betrachter den Stuhl aus eigener Kraft drehen lässt, z. B. indem er den Stuhl mit den Füßen herumschiebt.

Hier wird eine Methode vorgestellt, um einen Bürodrehstuhl in ein Medium zu verwandeln, um den Körper eines Beobachters physisch zu drehen und diese Bewegung in eine visuelle (und möglicherweise auditive) virtuelle Erfahrung zu integrieren. Die Rotation des Stuhls kann unter der Kontrolle des Beobachters, eines Computerprogramms oder einer anderen Person wie des Experimentators erfolgen. Die vom Beobachter gesteuerte Rotation kann passiv sein, indem die motorgetriebene Rotation eine Funktion der Position des Handreglers des Beobachters ist, oder aktiv sein, indem der Stuhl ausgeschaltet wird und der Beobachter den Stuhl selbst dreht.

Ebenfalls vorgestellt wird eine psychophysische Anwendung für diesen Stuhl/VR-System. Diese Beispielanwendung unterstreicht die Nützlichkeit der kontrollierten passiven Rotation eines Beobachters für das Verständnis, wie Selbstbewegungshinweise interagieren, um allgemeine Wahrnehmungserfahrungen zu erzeugen. Das spezifische Ziel war es, Einblick in eine lang untersuchte visuelle Illusions-induzierte Bewegungzu erhalten 18,19. Bei induzierter Bewegung wird ein stationäres oder sich bewegendes Ziel wahrnehmungsweise von einem sich bewegenden Hintergrund "abgestoßen". Wenn sich beispielsweise ein roter Zielpunkt vertikal nach oben gegen ein Feld blauer Punkte bewegt, die sich nach rechts bewegen, scheint sich der Zielpunkt wie erwartet nach oben, aber auch nach links zu bewegen, weg von der Richtung des sich bewegendenHintergrunds 20,21. Ziel war es, zu testen, ob die Abstoßung ein Ergebnis der Interpretation der Hintergrundbewegung als durch Eigenbewegung verursacht wird22,23.

Wenn dies der Fall ist, sollte die Hinzufügung einer physischen Rotation, die mit der visuellen Hintergrundbewegung übereinstimmt, zu einem stärkeren Gefühl führen, dass die Hintergrundbewegung auf die Selbstrotation durch eine stationäre Umgebung zurückzuführen ist. Dies wiederum sollte zu einer größeren Tendenz führen, die Hintergrundbewegung von der Zielbewegung abzuziehen, um die Zielbewegung relativ zur stationären Welt23 zu erhalten. Diese erhöhte Tendenz zum Subtrahieren würde zu einer größeren wahrgenommenen Zielabstoßung führen. Physische Selbstrotation, die entweder mit der Hintergrundbewegung konsistent oder inkonsistent war, wurde hinzugefügt, um dies zu testen. Das hier vorgestellte System ermöglichte die präzise Steuerung der physischen Bewegung und der entsprechenden visuellen Bewegung, um diese Hypothese zu testen. Im Beispiel stand die Stuhlbewegung unter der direkten Kontrolle des Beobachters mit dem Handheld-Controller des VR-Systems.

Obwohl es in der Literatur viele Beispiele für motorisierte Drehstühle für verschiedene VR-Anwendungen gibt 24,25,26,27,28,29, sind den Autoren eine prägnante Reihe von Anweisungen zur Herstellung eines solchen Stuhls und zur Integration in ein interaktives VR-Erlebnis nicht bekannt. Für den SwiVRChair29 stehen begrenzte Anweisungen zur Verfügung, der in seiner Struktur dem hier vorgestellten ähnelt, aber mit einem anderen Zweck entwickelt wurde, nämlich von einem Computerprogramm gesteuert zu werden, um das Eintauchen in eine VR-Umgebung zu verbessern, in der die Stuhlbewegung vom Benutzer außer Kraft gesetzt werden kann, indem er seine Füße auf den Boden legt. Angesichts der Kosten für kommerziell erhältliche Lehrstühle30,31 könnte es für einige Forscher eine praktikablere Option sein, einen "internen" Lehrstuhl zu machen. Für diejenigen, die sich in dieser Situation befinden, sollte das folgende Protokoll von Nutzen sein.

Systemübersicht
Das Protokoll besteht aus Anweisungen zur Umwandlung eines Bürostuhls in einen elektrisch angetriebenen Drehstuhl und zur Integration der Stuhlbewegung in ein VR-Erlebnis. Das gesamte System besteht nach seiner Fertigstellung aus vier Teilen: den mechanischen, elektrischen, Software- und VR-Subsystemen. Ein Foto des gesamten Systems ist in Abbildung 1 dargestellt. Das gezeigte System war dasjenige, das im Beispielexperiment verwendet wurde.

Die Aufgabe des mechanischen Subsystems besteht darin, die obere Welle eines Drehstuhls über einen Motor physisch zu drehen. Es besteht aus einem Bürostuhl, an dem zwei Dinge befestigt sind: eine Riemenscheibe, die an der oberen rotierenden Welle des Bürostuhls befestigt ist, und ein verstellbarer Montagerahmen, der am unteren festen Teil der Welle befestigt ist. An der Halterung ist ein elektrischer Schrittmotor angebracht, an dessen Welle eine Riemenscheibe befestigt ist, die mit der Riemenscheibe auf der oberen Welle des Bürostuhls ausgerichtet ist. Ein Riemen koppelt die Motorscheibe mit der Stuhlscheibe, so dass der Motor den Stuhl drehen kann.

Das elektrische Subsystem versorgt den Motor mit Strom und ermöglicht die elektronische Steuerung des Motors. Es besteht aus einem Motortreiber, einem Netzteil für den Motor, einem Arduino-Board zur Anbindung des Treibers an einen Computer und einem Netzteil für den Arduino (optional). Ein Arduino-Board ist ein beliebtes kleines Board unter Hobbyisten und professionellen Herstellern von elektronischem Gerät, das einen programmierbaren Mikroprozessor, Controller, Ein- und Ausgangspins und (in einigen Modellen) einen USB-Anschluss (hier erforderlich) enthält. Alle elektrischen Komponenten sind in einer speziell modifizierten elektrisch isolierten Box untergebracht. Da für den Transformator, der den Motor mit Strom versorgt, und für die (optionale) Arduino-Stromversorgung Netzstrom benötigt wird und der Motor hohe Betriebsspannungen benötigt, sollten alle elektronischen Arbeiten mit Ausnahme der Niederspannungsarbeiten (Protokollschritte 2.5 bis 2.10 unten) von einer qualifizierten Person ausgeführt werden.

Das Software-Subsystem besteht aus Arduino-Software zur Programmierung des Arduino, Unity-Software zum Erstellen der VR-Umgebung, Steam-Software zum Steuern des VR-Systems und Ardity - einem Unity-Plugin, mit dem Unity mit dem Arduino-Board kommunizieren kann. Diese Software wurde auf einem Gygabyte Sabre 15WV8-Laptop mit Microsoft Windows 10 Enterprise für das Beispielexperiment installiert (Abbildung 1).

Das VR-System besteht aus einem Head-Mounted Display (HMD), einem Handheld-Controller und Basisstationen zur Bestimmung der Position und Ausrichtung des HMD und des Controllers im Weltraum. Das VR-System, das für dieses Projekt verwendet wurde, war das HTC Vive Pro (Abbildung 1).

Im Folgenden wird das Verfahren zum Kombinieren dieser Komponenten beschrieben, um eine virtuelle Erfahrung zu erzielen, die eine physische Rotation (Experiment oder anderweitig) mit einer Stuhlbewegung beinhaltet, die vom Beobachter über den Handcontroller oder vom Host / Experimentator über eine Computermaus oder ein Potentiometer gesteuert wird. Der letzte Teil des Protokolls besteht aus den Schritten, die notwendig sind, um die VR-Erfahrung zu initiieren. Beachten Sie, dass die Methode zum Codieren von Unity, um Versuche und Datensammlungen zu ermöglichen, den Rahmen dieses Manuskripts sprengen würde. Einige Schritte, insbesondere für das mechanische Subsystem, erfordern eine bestimmte Werkstattausrüstung und ein gewisses Maß an Fertigkeit. Grundsätzlich können die vorgestellten Methoden an die Verfügbarkeit dieser Ressourcen angepasst werden. Für einige der eher technischen Schritte werden Alternativen angeboten.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

WARNUNG: Elektrische Arbeiten sollten von einer qualifizierten Person durchgeführt werden.

1. Verfahren zur Einrichtung des mechanischen Systems

  1. Befestigen Sie die Hauptrolle am oberen Schaft des Drehstuhls.
    1. Entfernen Sie den oberen Schaft.
      HINWEIS: Dies beinhaltet in der Regel, den Stuhl auf die Seite zu stellen und einen Stift an der Basis des Stuhls zu entfernen, der verhindert, dass der obere Schaft aus dem unteren Schaft rutscht.
    2. Reibungsanpassung der Riemenscheibe an die Welle.
      1. Verwenden Sie Vernier-Bremssättel, um den Durchmesser der Welle zu erhalten. Verwenden Sie eine Drehmaschine, um das Riemenscheibenloch so zu bohren, dass es dem Durchmesser der Welle entspricht.
      2. Erstellen Sie Gewindebohrungen für Schrauben, die die Riemenscheibe an der Welle befestigen. Bohren Sie zusätzliche Löcher in die Nabe der Riemenscheibe, um insgesamt 4 zu erhalten, wobei der Durchmesser an den der Schrauben angepasst wird. Gewinde die Löcher mit einem Gewindebohrer, so dass Schrauben verwendet werden können, um die Riemenscheibe an der Welle zu befestigen und das Gewinde an das der Schrauben anzupassen
        HINWEIS: Eine ALTERNATIVE, wenn das Erzeugen eines Gewindes nicht möglich ist, besteht darin, den ganzen Weg durch die Nabe der Riemenscheibe und die Welle des Stuhls zu bohren und eine Schraube ganz durchzufahren, sobald die korrekte Platzierung der Riemenscheibe bestimmt wurde (nach Schritt 1.4.6).
      3. Schieben Sie die Riemenscheibe auf die Stuhlwelle.
      4. Setzen Sie die Schrauben locker ein (ziehen Sie an, nachdem die Haupt- und kleinen Riemenscheiben ausgerichtet sind).
    3. Legen Sie den Antriebsriemen lose auf die obere Stuhlwelle (um später an die Haupt- und kleinen Riemenscheiben angepasst zu werden).
    4. Befestigen Sie den oberen Stuhlschaft wieder an der Stuhlbasis.
  2. Befestigen Sie die Motorhalterung an der unteren Welle des Drehstuhls.
    1. Fertigen Sie eine verstellbare Klemme, an der die Motorhalterungen befestigt werden können.
      1. Fertigen Sie die beiden passenden Komponenten der Klemme – eine für jede Seite der Welle (die mit vier Schrauben zusammengepresst werden soll). Die Abmessungen sind Abbildung 2 zu entnehmen.
      2. Schneiden Sie für jedes Bauteil das 90°-Winkeleisen auf die Länge. Befestigen Sie die 4 Blätter, durch die die Schrauben verlaufen werden.
      3. Runden Sie die Kanten jedes Blattes (Metallstange) zur Sicherheit ab. Bohren Sie Löcher am Ende jeder Stange, die groß genug sind, damit die Schrauben durchpassen. Machen Sie eine 45°-Biegung an der entsprechenden Position (ritzen Sie den Balken, um die Biegung präziser zu machen). Schweißen Sie jede Stange punktgenau an die Winkel-Eisenschraubenlöcher nach außen.
        HINWEIS: Alternativ können die Blätter verschraubt werden, wobei darauf zu achten ist, dass kein Vorsprung entsteht, der verhindert, dass das Winkeleisen den Stuhlschaft berührt.
    2. Stellen Sie zwei Motorhalterungen her. Die Abmessungen sind Abbildung 3 zu entnehmen. Bohren Sie für jede Halterung zwei Löcher in die Stange, um sie an der gerade beschriebenen Klemme zu befestigen. Biegen Sie 90° an der entsprechenden Position (ritzen Sie die Stange, um die Biegung präziser zu machen).
    3. Befestigen Sie die Klemme und montieren Sie sie an der unteren Welle des Stuhls, indem Sie die 4 Schrauben durch die Klemmkomponenten und Halterungen einführen und festziehen. Stellen Sie sicher, dass die Schrauben nicht zu fest sind, wenn die Halterung an den Ausrichtungsprozess in Schritt 1.4.6 angepasst werden muss.
  3. Befestigen Sie die kleine Riemenscheibe an der Motorwelle.
    1. Schleifen Sie den Schlüssel auf der Motorwelle flach (nicht mehr hervorstehend).
      HINWEIS: Dies sorgt für eine ebene Oberfläche, gegen die die Riemenscheibenschraube angezogen werden kann, um ein Verrutschen der Riemenscheibe um die Motorwelle zu verhindern.
    2. Bohren Sie das Loch in der Riemenscheibe aus, um dem Durchmesser der Motorwelle zu entsprechen.
    3. Schieben Sie die Riemenscheibe über die Welle und ziehen Sie die Schraube locker gegen die ebene Oberfläche auf der Welle fest.
  4. Befestigen Sie den Motor an der oben beschriebenen Motorhalterung.
    1. Bereiten Sie jede der 4 Motorbefestigungsstangen vor, indem Sie zwei Löcher an den entsprechenden Positionen bohren (Löcher müssen mit den Montagelöchern im Motor übereinstimmen). Die Abmessungen sind Abbildung 4 zu entnehmen.
    2. Wenn dies für den Abstand erforderlich ist, schneiden Sie einen Abschnitt aus der oberen der beiden Stangen, damit sich die Riemenscheibe auf der Motorwelle frei drehen kann (optional).
    3. Legen Sie die vier kleinen Deckelhalterungen über die vier äußeren Löcher. Verwenden Sie sie später, um die Schutzhülle über dem Band und den Riemenscheiben zu befestigen.
    4. Befestigen Sie die acht Muttern und Schrauben locker und lassen Sie so Platz zwischen den oberen und unteren Stangen, um die Montagebügelstangen zwischen sie zu schieben.
    5. Schieben Sie die Motorbefestigungsstangen auf die Halterung - jede obere Stange über der Montagehalterungsleiste und jede untere darunter.
    6. Positionieren und klemmen Sie den Motor.
      1. Bewegen Sie die Hauptriemenscheibe, die kleine Riemenscheibe oder beide nach oben und unten, bis die Haupt- und kleinen Riemenscheiben horizontal ausgerichtet sind. Bewegen Sie die Klemme bei Bedarf.
      2. Legen Sie den Antriebsriemen über die kleinen und Hauptrollen.
      3. Schieben Sie die Motorbaugruppe vom Stuhl weg, bis der Gurt fest sitzt.
      4. Ziehen Sie die 8 Schrauben an den Motorbefestigungsstangen fest, um den Motor an der Motorhalterung zu befestigen.
      5. Ziehen Sie die Klemmbolzen und Riemenscheibenschrauben fest.
  5. Befestigen Sie eine Abdeckung, um zu verhindern, dass sich etwas im Riemenscheiben- / Gurtsystem verfängt.
    1. Biegen Sie die Seiten der Acrylschutzhülle gemäß Abbildung 5.
      HINWEIS: Eine ALTERNATIVE, wenn kein Acrylbieger verfügbar ist, ist die Verwendung eines Blech- und Blechbiegers.
    2. Schneiden Sie einen Abschnitt aus, der um den Schaft des Stuhls passt, wie in Abbildung 5 dargestellt.
    3. Bohren Sie Löcher, die zu den Löchern an den kleinen Halterungen der Abdeckungsbefestigung passen.
    4. Verwenden Sie die kleinen Deckelbefestigungsbolzen, um die Abdeckung zu befestigen.

2. Einrichtungsverfahren für das elektrische System

  1. Schließen Sie den Ein-/Ausschalter und den Notabschaltschalter an das Stromnetz an. Verwenden Sie geeignete Spannungs- und Stromleitungen, um den IEC-Anschluss (männlicher Stecker für das Netzkabel) in Reihe an den Notabschalt- und Ein-/Ausschalter anzuschließen (so dass das Brechen des Stromkreises mit einem der beiden die Stromversorgung für den Rest der Komponenten unterbricht).
    HINWEIS: Möglicherweise ist Löten erforderlich.
  2. Schließen Sie das 5 V DC Netzteil für den Arduino an den Ein-/Ausschalter an (optional).
    HINWEIS: Löt- und Netzkabel erforderlich.
  3. Schließen Sie das 48 V DC Netzteil für den Stuhltreiber parallel zur 5 V Stromversorgung an den Ein-/Ausschalter an.
    HINWEIS: Netzkabel erforderlich.
  4. Nehmen Sie die entsprechenden DIP-Schaltereinstellungen für den Hybrid-Schrittmotortreiber vor. Zum Beispiel:
    1. Stellen Sie die Schalter 1-4 auf ON, OFF, ON bzw. ON für 1.600 Impulse pro Umdrehung für den Schrittmotor ein (je höher die Zahl, desto feiner die Steuerung, aber desto niedriger ist die Obergrenze für die Drehzahl, je nachdem, wie schnell der Arduino Impulse erzeugen kann).
    2. Schalten Sie 5 auf AUS, um die Standarddrehrichtung gegen den Uhrzeigersinn zu erhalten.
    3. Schalten Sie 6 auf ON für den Fahr-Point-Motion-Modus (PM) im Gegensatz zum Space-Vektor-Steuerungsmodus (oder Field-oriented Control, FOC).
    4. Stellen Sie die Schalter 7 und 8 auf AUS und AUS ein, um den Regler an den 12-NM-Closed-Loop-Motor der Serie 86 anzupassen.
  5. Schließen Sie den Hybrid-Schrittmotortreiber an die Stromversorgungs- und Stuhltreiberkabel an.
    1. Befestigen Sie entsprechend bewertete Kabel von den 48-V-Stromversorgungsausgangsklemmen am Gehäuse des Stromeingangssteckers des Motortreibers und setzen Sie das Gehäuse ein.
    2. Verbinden Sie die beiden Motorkabel über ihre Steckergehäuse mit dem Treiber.
  6. Verbinden Sie den Arduino mit dem Hybrid-Schrittmotortreiber.
    1. Verwenden Sie gepinnte Sprungdrähte, um die PUL+-Klemmen ("Impuls" +), DIR+ ("Richtung" +) und ENA+-Klemmen am Motortreibersteckergehäuse mit den Pins 2, 3 und 5 (Pinnummern optional, aber hier als Beispiele für die Verwendung im gesamten Arduino angegeben) am Arduino zu verbinden.
    2. Verwenden Sie kurze Drähte, um die PUL-, DIR- und ENA-Klemmen des Motortreibersteckergehäuses zu verbinden, und einen längeren gepinnten Sprungdraht, um ENA- mit einem GND-Pin (Masse) am Arduino zu verbinden.
    3. Stecken Sie das Steckergehäuse in den Motortreiber.
  7. Schließen Sie den Arduino an das 5 V DC Netzteil an (optional). Verwenden Sie gepinnte Sprungdrähte, um die Pins GND und Vin am Arduino mit den 5-V-Ausgangsklemmen der 5-V-Stromversorgung zu verbinden.
  8. Schließen Sie das Potentiometer an den Arduino an. Verwenden Sie gepinnte Sprungdrähte, um den A1 (ein "Analog In" -Anschluss) GND und 5-V-Pins am Arduino mit den drei Anschlüssen des Potentiometers zu verbinden.
    HINWEIS: Löten erforderlich.
  9. Schließen Sie den Kippschalter an den Arduino an. Verbinden Sie Pin 6 und GND am Arduino mit den beiden Kippschalterklemmen über gepinnte Sprungdrähte.
    HINWEIS: Löten erforderlich.
  10. Schließen Sie die LED an den Arduino an.
    1. Löten Sie den Widerstand an einen Anschluss der LED (um die Spannung auf der LED-Schaltung zu senken).
    2. Befestigen Sie die Pins 7 und GND am Arduino am Ende des Widerstands und der anderen LED-Klemme mit gepinnten Sprungdrähten.
      HINWEIS: Löten erforderlich.
  11. Isolieren und unterbringen Sie die elektrischen/elektronischen Komponenten. Abbildung 6 für ein Bild eines fertiggestellten Gehäusesystems.
    HINWEIS: Es gibt viele Möglichkeiten, die Hochspannungskomponenten des elektrischen Systems zu isolieren, die zerbrechlichen elektronischen Komponenten vor Beschädigungen zu schützen und all diese Komponenten in einem überschaubaren Raum zu halten. Im Folgenden finden Sie eine vorgeschlagene Methode.
    1. Bohren / schneiden Sie Löcher in die Seite des Instrumentengehäuses für den IEC-Stromanschluss, den Hauptein-/Ausschalter, die beiden Motorsteuerkabel, den kleinen Kippschalter, die LED, das Potentiometer und den USB-Anschluss des Arduino (machen Sie diesen groß, damit Luft zur Kühlung in das Gehäuse strömen kann).
    2. Befestigen Sie jede dieser Komponenten mit den geeigneten Mitteln (z. B. Schrauben, Bolzen, Heißklebepistole).
    3. Schneiden Sie Lüftungslöcher (eines über dem Lüfter in der 48-V-Stromversorgung) und ein Loch für den Notschalter im Deckel des Gehäuses; Befestigen Sie dann die Lüftungsfilter und den Schalter.
    4. Befestigen Sie den Arduino mit Abstandshaltern und Schrauben an der Basis des Gehäuses. Positionieren Sie die Position so, dass der USB-Anschluss mit dem USB-Anschlussloch im Gehäuse ausgerichtet ist.
    5. Befestigen Sie die 48-V- und 5-V-Netzteile sowie den Motortreiber mit Velcro- und Schaumstoffblöcken an der Basis des Gehäuses.

3. VR-Einrichtungsverfahren

  1. Richten Sie das VR-System gemäß den Anweisungen des Herstellers ein.

4. Software-Setup-Verfahren

  1. Installieren und richten Sie die Arduino-Software ein.
    1. Laden Sie das Arduino-Programm gemäß den Anweisungen des Entwicklers herunter und installieren Sie es.
    2. Verbinden Sie den Arduino über ein USB-Kabel mit dem Computer.
    3. Wählen Sie im Dropdown-Menü Extras den Port aus, an dem das Arduino-Board befestigt ist.
    4. Wählen Sie im selben Menü die entsprechende Platine und den entsprechenden Prozessor aus. Stellen Sie sicher, dass es mit der Platine und dem Prozessor übereinstimmt, die in Abschnitt 2 oben verwendet werden, z. B. "Arduino Mega 2560" Board und "ATmega2560" Prozessor.
  2. Programmieren Sie das Arduino-Board so, dass der Stuhl 1) mit Hilfe des Potentiometers und 2) mit Befehlen des Computers über USB gedreht werden kann.
    1. Schreiben Sie den Code, der auf den Arduino-Prozessor hochgeladen werden soll.
      HINWEIS: Beispielcode aus dem Beispielexperiment ist in der Zusatzdatei 1 enthalten (Dateiname: hybrid_motor_controller.ino).
    2. Beachten Sie die Baudrate (Argument für den Befehl Serial.Begin(), z. B. 9.600.
    3. Speichern Sie den Code und laden Sie ihn über den Upload-Button auf das Arduino-Board hoch.
  3. Testen Sie, ob das System bisher funktioniert.
    1. Schließen Sie das Teilsystem "Elektrisch" an und schalten Sie es ein.
    2. Betätigen Sie den kleinen Kippschalter an eine Position, an der die kleine LED-Kontrollleuchte aufleuchtet.
    3. Drehen Sie das Potentiometer, um sicherzustellen, dass es die Geschwindigkeit und Richtung des Stuhls steuert.
  4. Installieren und konfigurieren Sie Steam und SteamVR gemäß den Anweisungen des Entwicklers.
  5. Installieren und richten Sie Unity ein.
    1. Installieren und konfigurieren Sie Unity gemäß den Anweisungen des Entwicklers.
    2. Öffnen Sie ein neues oder vorhandenes Unity-Projekt (wählen Sie einen Typ, z. B. "3D", der für die Anwendung geeignet ist).
    3. Richten Sie SteamVR für die Verwendung im Projekt ein.
      1. Öffnen Sie den Asset Store (klicken Sie auf Fenster | Asset Store).
      2. Suchen Sie nach SteamVR und wählen Sie SteamVR Plugin.
      3. Klicken Sie auf Zu Assets hinzufügen.
      4. Öffnen Sie in Unity den Paketmanager (klicken Sie auf Fenster | Paket-Manager).
      5. Suchen Sie SteamVR auf der Registerkarte Meine Assets .
      6. Klicken Sie auf Importieren und folgen Sie den Anweisungen , um den Import abzuschließen.
      7. Klicken Sie auf Alle akzeptieren , wenn Sie aufgefordert werden, Konfigurationsänderungen vorzunehmen.
      8. Importieren Sie das Steam VR Camera Rig in die Szene. Suchen Sie im Projektfenster auf dem Inspektorbildschirm nach einem neuen Asset namens Steam VR. Öffnen Sie Steam VR | Prefabs.
      9. Ziehen Sie das Asset [Kamera-Rig] in die Hierarchie oder das Szenenfenster, um die Verwendung des VR-Headsets und der Controller im Spiel zu ermöglichen.
      10. Entfernen Sie die Standard-Hauptkamera aus der Hierarchie oder Szene, da sie die SteamVR-Kamera stört.
  6. Installieren und richten Sie Ardity ein.
    1. Suchen Sie im Unity Asset Store nach Ardity und wählen Sie es zum Herunterladen aus (Schritt 4.5.3.2 oben).
    2. Aktualisieren Sie den API-Kompatibilitätsgrad.
      1. Öffnen Sie die Projekteinstellungen im Menü Bearbeiten .
      2. Klicken Sie auf Player | Andere Einstellungen.
      3. Wählen Sie . NET 4.X im Dropdown-Menü für API-Kompatibilitätsgrad.
      4. Beenden Sie die Einstellungen und warten Sie, bis Fehlermeldungen verschwinden.
  7. Richten Sie die Unity-Spielumgebung ein.
    HINWEIS: Die folgenden Mindestschritte sind erforderlich, damit der Benutzer die Kontrolle über den Stuhl hat und die Stuhlbewegung in seine VR-Erfahrung integriert ist.
    1. Erstellen Sie die Objekte und Funktionen, die für die jeweilige Anwendung erforderlich sind.
      1. Erstellen Sie Objekte, indem Sie auf GameObject klicken und entweder 2D-Objekt oder 3D-Objekt auswählen.
      2. Fügen Sie dem erstellten Objekt Funktionen hinzu, indem Sie im Informationsfenster für das Objekt auf die Schaltfläche Komponente hinzufügen klicken und eine der Optionen auswählen. Wählen Sie Neues Skript aus, um ein C#-Skript zu erstellen, das dem in Supplemental File 3 ähnelt (Dateiname: SetUpTrial.cs).
    2. Importieren Sie das Serial Controller-Skript in das Spiel.
      1. Öffnen Sie im Projektfenster im Ordner "Elemente" den Ordner "Ardity" | Skripts-Ordner.
      2. Ziehen Sie das SerialController-Skript in das gewünschte Spielobjekt im Heirarchy-Fenster , z. B. das Hintergrund-Spielobjekt .
      3. Klicken Sie auf das Objekt und scrollen Sie in der Liste der Komponenten im Inspektorfenster nach unten, um das SerialController-Skript zu finden.
      4. Stellen Sie sicher, dass der Portname und die Baudrate mit denen für das Arduino-Programm übereinstimmen, das in den Schritten 4.1 und 4.2 oben festgelegt wurde.
      5. Ziehen Sie das Objekt, an das das SerialController-Skript angefügt ist, aus dem Hierarchiefenster in das Eingabefeld neben Nachrichtenlistener im Informationsfenster.
    3. Schreiben und importieren Sie das Skript des Stuhlcontrollers in das Spiel.
      1. Klicken Sie unten im Inspektorfenster für dasselbe Spielobjekt auf Komponente hinzufügen und wählen Sie Neues Skript. Nennen Sie das neue Skript ChairController.
      2. Schreiben Sie den Code, der erforderlich ist, um Controller- und Mausbefehle zu nehmen und sie in Zahlen umzuwandeln, die über USB an den Arduino gesendet werden.
        HINWEIS: Ein minimales Beispiel für den erforderlichen Code ist in Supplemental File 2 enthalten (Dateiname: ChairController.cs).
      3. Speichern Sie das Skript.
      4. Füllen Sie die leeren Felder im Inspektorfenster aus. Ziehen Sie das HMD-Objekt aus dem Fenster Hierarchie in das Eingabefeld neben Kopf unter dem Skript " Chair Controller " im Fenster "Inspektor". Ziehen Sie auf ähnliche Weise das Controller-Objekt (rechts) in das Feld neben Hand.

5. Ablauf des Experiments (oder der Erfahrung)

  1. Wählen Sie die Eingabemethode aus.
    HINWEIS: Der bereitgestellte Beispiel-ChairController-Code bezieht sich auf ein Skript namens SetUpTrial, in dem die öffentliche ganzzahlige Variable inputType festgelegt ist (wobei inputType 3 der VR-Controller und inputType 4 die Maus ist). Diese Skript-/Variablenanordnung wurde in den folgenden Schritten angenommen.
  2. Klicken Sie auf das Spielobjekt, an das das SetUpTrial-Skript angehängt ist, z. B. Background.
  3. Führen Sie im Inspektorfenster einen Bildlauf nach unten durch, um die öffentlichen Variablen des Skripts SetUpTrial zu finden.
  4. Setzen Sie inputType auf 3 für VR-Controller oder 4 für die Maussteuerung.
  5. Drücken Sie die Play-Taste in Unity, um das VR-Erlebnis mit einer Bewegung zu beginnen, die von den Controllern oder der Maus gesteuert wird.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

Ziel des Beispielexperiments war es, festzustellen, ob die Hinzufügung einer physischen Rotation - entweder kongruent oder inkongruent mit der visuellen Hintergrundbewegung in einer Szene - die wahrgenommene Richtung eines sich bewegenden Ziels in dieser Szene beeinflusst. Ein Unterschied zwischen kongruenter und inkongruenter physischer Bewegung wurde erwartet, basierend auf der Hypothese, dass die Hintergrundbewegung die wahrgenommene Zielrichtung beeinflusst, je nachdem, wie leicht das visuelle System eines Teilnehmers die Ursache der Hintergrundbewegung der Selbstbewegung zuordnet32,33. Wenn der Hintergrund und die physischen Bewegungen kongruent waren, wurde ein größeres Gefühl des kausalen Zusammenhangs und damit eine größere Abweichung der wahrgenommenen Zielrichtung von ihrer tatsächlichen Richtung in der visuellen Anzeige erwartet.

Ein Beobachter steuerte die Drehzahl und Richtung des Stuhls mit einem VR-Controller. Je weiter links oder rechts der Regler aus der Richtung des HMD war, desto größer war die Drehgeschwindigkeit. Wenn in der kongruenten Bedingung das Zielmuster, das immer eine positive vertikale Bewegungskomponente hatte, nach rechts von vertikal zu driften schien, bewegte der Beobachter den Controller nach links. Dies führte dazu, dass sich der Stuhl nach links drehte (gegen den Uhrzeigersinn) und das HMD auf dem Beobachter gegen den Uhrzeigersinn drehte, wodurch sich der Hintergrund in der visuellen Szene mit der entsprechenden Geschwindigkeit nach rechts bewegte (als wäre es ein stationärer Hintergrund, vor dem sich der Beobachter drehte, Abbildung 7A). Diese Bewegung nach rechts im Hintergrund "stieß" das Ziel ab und fügte der wahrgenommenen Zielbewegung eine Bewegungskomponente nach links hinzu, wie es die induzierte Bewegungsillusion erwartet. Die Zielrichtung wurde vom Computer gesteuert, immer nach oben, aber zufällig entweder im Uhrzeigersinn oder gegen den Uhrzeigersinn ihrer aktuellen Richtung in kleinen regelmäßigen Abständen (Erreichen eines zufälligen Spaziergangs, der vertikal beginnt und die oberen beiden Quadranten des euklidischen Raums überspannt). Das Ziel des Beobachters war es, seine eigene Rotationsgeschwindigkeit und -richtung und damit die Geschwindigkeit und Richtung des Hintergrunds so einzustellen, dass die durch den Hintergrund verursachte induzierte Bewegung jede linke oder rechte Bewegungskomponente im Ziel genau aufhebt.

In der inkongruenten Bedingung führte die Bewegung des Controllers nach links dazu, dass sich der Stuhl nach rechts (im Uhrzeigersinn) drehte und der Hintergrund sich über die HMD-Drehung im Uhrzeigersinn nach rechts bewegte (Abbildung 7B). So verursachte die Bewegung des Controllers nach links eine Bewegung nach rechts im Hintergrund, genau wie im kongruenten Zustand, aber der Stuhl bewegte sich in die entgegengesetzte Richtung zu dem, was er im kongruenten Zustand tat, dh er bewegte sich inkongruent mit dem Hintergrund. Die Rechtsrotation zum Beispiel wurde von einer Bewegung des rechten Hintergrunds begleitet, was mit der Rotation eines Beobachters vor einem stationären Hintergrund unvereinbar ist.

Ein Screenshot des visuellen Reizes ist in Abbildung 8 dargestellt. Die Muster auf jedem kleinen kreisförmigen Stimuluselement bewegten sich mit der gleichen Geschwindigkeit und Richtung wie die anderen Muster desselben Objekts (Ziel oder Hintergrund), ohne dass sich die Elemente selbst bewegten, als ob jedes Element ein stationäres Fenster wäre, durch das die Bewegung eines großen darunter liegenden Objekts gesehen werden könnte. Dies ermöglichte ein Bewegungsgefühl, ohne dass sich das Ziel und der Hintergrund vom Anzeigebereich entfernten. Der Ausstellungsbereich war eine Ebene, die in der virtuellen Szene 8 m vom Betrachter entfernt war und relativ zum HMD in Position gebracht wurde. Die Zielelemente lagen auf einem Ring mit einem Radius von 5° Blickwinkel, und die Hintergrundelemente wurden zufällig über einen 20° x 20° großen Bereich auf der Anzeigeebene gestreut. Die Geschwindigkeit des Ziels wurde bei 6 ° / s gehalten, und seine Richtung variierte von -10 ° bis 190 ° (dh blieb im Allgemeinen in den oberen beiden Quadranten des euklidischen Raums). Die Hintergrundrichtung war immer horizontal, und die Geschwindigkeit variierte je nachdem, wie schnell sich der Kopf des Beobachters im Uhrzeigersinn oder gegen den Uhrzeigersinn drehte. Die kontinuierlich gesammelten Daten wurden mit einer zuvor im Labor entwickelten Methode zur Analyse kontinuierlicher psychophysischer Daten analysiert. Diese Methode ist eine Erweiterung eines bestehenden Ansatzes zur Analyse kontinuierlicher Tracking-Daten33.

Die Stärke des induzierten Bewegungseffekts unter den kongruenten und inkongruenten Bewegungsbedingungen wurde durch den Wert des Parameters β in Eq (1) dargestellt:

Equation 1(1)

Dabei steht p für einen Vektor, der die wahrgenommene Zielgeschwindigkeit, t für die tatsächliche Zielgeschwindigkeit und b für die Hintergrundgeschwindigkeit steht. β steuert das Ausmaß, in dem die Hintergrundgeschwindigkeit von der Zielbewegung abgezogen wird, um die wahrgenommene Zielgeschwindigkeit zu erzeugen. Wenn sich ein Beobachter in der realen Welt dreht und sich ein Ziel in seinem Gesichtsfeld bewegt, muss die Hintergrundbewegung vollständig von der Zielbewegung abgezogen werden, um die Zielbewegung relativ zur stationären Welt32 zu erhalten. Ein β Wert von 1 ist daher förderlich, da das visuelle System die Ursache der Hintergrundbewegung vollständig der Eigenbewegung zuordnet und ein niedrigerer Wert eine teilweise Zuordnung anzeigt. Die mittleren β Werte von neun Beobachtern für die beiden Bedingungen sind in Abbildung 9 dargestellt.

Für alle außer einem Beobachter sank der mittlere β Wert, weil sich der Stuhl inkongruent mit dem visuellen Reiz bewegte (obwohl die Änderung nur für einen Beobachter signifikant war, t(4) = 13,6, p = 0,000). Die Daten wurden mit einer Zwei-Wege-ANOVA unter Verwendung von Beobachter und Kongruenz als die beiden Faktoren analysiert. Beide Faktoren waren signifikant mit Beobachter F (8, 32) = 2,857, p = 0,016 und Kongruenz F (1, 32) = 8,236, p = 0,007, was auf einen signifikanten Unterschied zwischen den Beobachtern und einen signifikanten Effekt der Stuhlrotationsrichtung hinweist. Der vorhergesagte Mittelwert β für die kongruente Bedingung betrug 1,03 und 0,87 für die inkongruente Bedingung. Diese Ergebnisse entsprechen den oben dargestellten Erwartungen. Ein β Wert nahe 1 für die kongruente Bedingung gibt die Bereitschaft an, der Eigenbewegung eine Hintergrundbewegung zuzuweisen. Ein deutlich niedrigerer Wert für die inkongruente Bedingung weist auf eine verminderte Bereitschaft dazu hin. Dies wiederum deutet darauf hin, dass die vom Stuhl bereitgestellte Bewegungserfahrung den Erwartungen entsprach; Der Stuhl bot ein effektives Mittel, um den Beobachtern ein Gefühl der körperlichen Bewegung in der erwarteten Weise zu vermitteln.

Figure 1
Abbildung 1: Ein Foto des kompletten Systems. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 2
Abbildung 2: Klemme zur Befestigung des Motors an der Basis des Stuhls. (A) Die gesamte Klemmbaugruppe. (B) Abmessungen für Winkeleisen und Blätter kombiniert. (C) Abmessungen des Blattes. (D) Winkel Eisenabmessungen. Alle Abmessungen in mm. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Figure 3
Abbildung 3: Halterung zur Befestigung des Motors an der Klemme . (A) Montage. (B) Abmessungen in mm. Abkürzung: dia = Durchmesser. Bitte klicken Sie hier, um eine größere Version dieser Abbildung zu sehen.

Figure 4
Abbildung 4: Anbringen des Motors an der Motorhalterung . (A) So befestigen Sie die Motorbefestigungsstangen. (B) Abmessungen der Motorbefestigungsstange in mm. (C) So befestigen Sie die Abdeckhalterungen. Bitte klicken Sie hier, um eine größere Version dieser Abbildung zu sehen.

Figure 5
Abbildung 5: Anbringen der Abdeckung . (A) Befestigungsverfahren für Abdeckungen. (B) Das fertige mechanische System. (C) Abdeckungsmaße in mm. Bitte klicken Sie hier, um eine größere Version dieser Abbildung zu sehen.

Figure 6
Bild 6: Alle elektrischen und elektronischen Komponenten im Instrumentengehäuse. Beachten Sie, dass die 5-V-Stromversorgung des Arduino auf diesem Foto getrennt ist. Bitte klicken Sie hier, um eine größere Version dieser Abbildung zu sehen.

Figure 7
Abbildung 7: Eine schematische Darstellung der Aktionen des Beobachters und der daraus resultierenden Stuhl- und Szenenwechsel während des Experiments . (A) Kongruenter Zustand: Wenn der Controller gegen den Uhrzeigersinn bewegt wurde, bewegte sich der Stuhl auch gegen den Uhrzeigersinn, und der visuelle Hintergrund bewegte sich in die entgegengesetzte Richtung, als wäre es eine stationäre Szene, gegen die sich die Person drehte. (B) Inkongruenter Zustand: derselbe wie der kongruente, mit der Ausnahme, dass sich der Stuhl in die entgegengesetzte Richtung bewegte, wodurch die Bewegung des Stuhls mit der visuellen Hintergrundbewegung inkongruent wurde. Im Diagramm dreht sich der Beobachter im Uhrzeigersinn, und die Szene dreht sich weiter im Uhrzeigersinn relativ zur Bewegung des Beobachters, was mit der natürlichen Erfahrung unvereinbar ist. Bitte klicken Sie hier, um eine größere Version dieser Abbildung zu sehen.

Figure 8
Abbildung 8: Ein Screenshot des Bewegungsreiz-haltigen Bereichs der visuellen Anzeige. Diese 2D-Bildebene wurde in 8 m Entfernung vom Betrachter platziert, der einen Bereich von 35° x 35° der visuellen Szene in der VR-Umgebung einnimmt. Der Zielring hatte einen Radius von 5° Blickwinkel und der Hintergrundbereich subtil 20° x 20°. Abkürzung: VR = Virtual Reality. Bitte klicken Sie hier, um eine größere Version dieser Abbildung zu sehen.

Figure 9
Abbildung 9: Mittlere Betawerte für jeden Beobachter unter den kongruenten und inkongruenten Bedingungen. Für alle außer einem Beobachter nahm der Beta-Wert für die inkongruente Stuhl- / visuelle Bewegungsbedingung ab, was auf eine verringerte Wahrscheinlichkeit hinweist, die visuelle Hintergrundbewegung als durch die körperliche Bewegung des Beobachters verursacht zu betrachten. Eine 2-Wege-ANOVA ergab, dass die Gruppenänderung des Beta-Wertes signifikant war (siehe Text für Details). Bitte klicken Sie hier, um eine größere Version dieser Abbildung zu sehen.

Ergänzende Datei 1: Beispiel Arduino-Code, hybrid_motor_controller.ino. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Ergänzende Datei 2: Beispiel Unity C#-Skript, ChairController.cs. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Ergänzende Datei 3: Beispiel für ein Unity C#-Skript, SetUpTrial.cs. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

Dieses Papier stellt eine Methode zum Hinzufügen einer automatisierten Rotation zu einem Bürostuhl unter der Kontrolle eines Beobachters oder Experimentators und eine begleitende Methode zur Integration dieser Bewegung in ein virtuelles Erlebnis vor. Zu den kritischen Schritten gehören die mechanische Befestigung des Motors am Stuhl, die Einrichtung der Stromversorgung und der elektrischen Steuerung des Motors sowie die anschließende Konfiguration des Arduino und des Computers zum Antrieb der Motorsteuerung. Der mechanische Befestigungsschritt erfordert einige spezielle Geräte und Fähigkeiten, obwohl Workarounds für die schwierigsten Aufgaben vorgeschlagen wurden. Weitere Modifikationen können je nach Verfügbarkeit der Hardware erforderlich sein.

Die elektrischen Hochspannungsarbeiten sollten von einer qualifizierten Person durchgeführt werden und, sofern gesetzlich vorgeschrieben, von der zuständigen Stelle zertifiziert werden. Die Niederspannungsarbeit kann von einer Person mit begrenzter Erfahrung durchgeführt werden. Oben finden Sie Anweisungen, die spezifisch genug sind, um die Reproduktion zu ermöglichen, wenn die gleiche Ausrüstung verwendet wird, aber unterschiedliche Geräte erfordern leichte Änderungen des Verfahrens.

Der Arduino-Code wurde bereitgestellt, um die hier vorgeschlagene spezifische elektronische Konfiguration zu ergänzen. Beachten Sie, dass die bereitgestellten Arduino- und anderen Softwareanweisungen mit Arduino-Version 1.8.12, SteamVR-Version 1.18.7, Unity-Version 2020.2.7f1 und Ardity-Version 1 funktionieren. Andere Softwareversionen erfordern möglicherweise Änderungen des Protokolls.

Eine Einschränkung der Methode besteht darin, dass die Winkelbeschleunigung gedämpft werden muss. Eine Methode dazu ist im Arduino-Code enthalten. Dies liegt daran, dass das Hybrid-Servo versucht, verpasste Motorschritte "aufzuholen" (wenn Reibung oder Trägheit verhindern, dass der Motor so schnell beschleunigt, wie er angewiesen ist), was zu Überschwingen und rotierendem "Hüpfen" führen kann. Das Dämpfen der Beschleunigungsbefehle, die vom Computer kommen, ist eine Möglichkeit, damit umzugehen; Dies ist der Ansatz, der im bereitgestellten Beispielcode verwendet wird. Ein bürstenbehafteter oder bürstenloser Gleichstrommotor kann verwendet werden, um dieses Problem zu lindern, aber diese Motoren neigen dazu, bei niedrigen Drehzahlen ein niedriges Drehmoment zu haben, was die Rotationssteuerung bei niedrigen Drehzahlen sehr schwierig macht. Die Autoren versuchten zunächst einen bürstenlosen Gleichstrommotor, bevor sie auf den Hybridschrittmotor umstiegen.

Es gibt Alternativen zu dem hier vorgestellten Ansatz. Es ist möglich, vorgefertigte rotierende Stühle 30 und Stühle, die sich in andere Richtungen bewegen 31, zu kaufen, z. B. Stühle, die kleine translationale 34,35 oder rotierende 36,37-Bewegungen bis hin zu Gurtstühlen und Käfigen ausführen, die große mehrdimensionale Bewegungen ausführen38,39,40 . Diese Systeme werden im Allgemeinen für Freizeitanwendungen entwickelt, können aber im Prinzip für die Durchführung von Experimenten angepasst werden, obwohl sich das "Entsperren" des Systems, damit es mit der Software eines Experimentators arbeiten kann, unter bestimmten Umständen als schwierig erweisen kann. Diese Systeme sind in der Regel auch teuer. Am Ende waren es die Kosten, die die Autoren dazu brachten, ihr eigenes System zu entwickeln. Zum Vergleich: Die Kosten für das Kit, das zur Automatisierung der Bewegung des Bürostuhls in diesem Projekt verwendet wurde, beliefen sich auf etwa 540 AUD $ (Kosten für Laptop, Bürostuhl und VR-System nicht inbegriffen).

Die im Abschnitt "Repräsentative Ergebnisse" dargestellten Daten deuten darauf hin, dass die physische Bewegung eines Beobachters auf dem motorisierten Stuhl einen signifikanten Einfluss auf seine Erfahrung der visuellen Szene haben kann. Insbesondere die Spinrichtung - kongruent versus inkongruent - war ein sehr signifikanter Faktor bei der Steuerung β Werte für die Gruppe, was zu einem durchschnittlichen β Wert von 1,03 führte, wenn sich der Stuhl in eine Richtung drehte, die mit der visuellen Hintergrundbewegung kongruent war, und einen signifikant niedrigeren β Wert (0,87), wenn sich der Stuhl inkongruent drehte. Es gab Unterschiede in der Stärke des Effekts zwischen Individuen (was sogar den gegenteiligen Effekt bei einem Individuum hervorrief, wenn auch unbedeutend). Die durchschnittliche Änderung, die durch das Umschalten der Spinrichtung verursacht wurde, war jedoch sehr signifikant, wie die ANOVA (p = 0,007) zeigte. Eine weitere Unterstützung für die Wirksamkeit des Lehrstuhls besteht darin, dass der durchschnittliche β-Wert für die Gruppe im kongruenten Zustand nahe bei 1 lag (nicht signifikant von 1 abweicht; p = 0,89, gepaarter t-Test), was darauf hindeutet, dass die Beobachter die visuelle Szene im Durchschnitt so betrachteten, als würden sie sich tatsächlich in der realen Welt drehen. Vollständiges Subtrahieren der Bewegung des Hintergrunds von der Zielbewegung, um die wahre Bewegung des Ziels relativ zur stationären Welt zu erhalten.

Die experimentellen Anwendungen für die hier vorgestellte Methode sind angesichts des gestiegenen Interesses an VR-vermittelten Experimenten expansiv. Überall dort, wo eine automatisierte Drehbewegung in einer virtuellen Umgebung wünschenswert ist, ist die Methode anwendbar. Der Stuhl bietet vestibuläre und kleine kinästhetische Rotationshinweise wie Druck-, Vibrations- und Trägheitshinweise. Die Kontrolle solcher Hinweise ist wichtig, um die Mechanismen des Selbstbewegungsgefühls zu verstehen und zu verstehen, wie vestibuläre Hinweise im Allgemeinen mit anderen sensorischen Hinweisen integriert werden. Das Beispielexperiment zeigt, dass die vom Stuhl bereitgestellten physischen Hinweise mit visuellen Hinweisen kombiniert werden, um eine Szeneninterpretation zu erzeugen, d. H. Die wahrgenommene Richtung des Ziels, die mit der realen Erfahrung übereinstimmt, wenn die Hinweise kongruent und inkonsistent sind, wenn sie es nicht sind.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

Es gibt keine Interessenkonflikte.

Acknowledgments

Diese Arbeit wurde durch die Zuschüsse des Australian Research Council DP160104211, DP190103474 und DP190103103 unterstützt.

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

Verhalten Ausgabe 182
Kontrollierte Rotation menschlicher Beobachter in einer Virtual-Reality-Umgebung
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