La rotazione fisica controllata di un osservatore umano è auspicabile per alcune applicazioni sperimentali, ricreative ed educative. Questo documento delinea un metodo per convertire una sedia girevole da ufficio in un mezzo per la rotazione fisica controllata in un ambiente di realtà virtuale.
Il basso costo e la disponibilità dei sistemi di realtà virtuale (VR) hanno supportato una recente accelerazione della ricerca sulla percezione e il comportamento in condizioni più naturalistiche, multisensoriali e immersive. Un’area di ricerca che ha particolarmente beneficiato dell’uso di sistemi VR è l’integrazione multisensoriale, ad esempio l’integrazione di segnali visivi e vestibolari per dare origine a un senso di auto-movimento. Per questo motivo, un metodo accessibile per la rotazione fisica controllata di un osservatore in un ambiente virtuale rappresenta un’utile innovazione. Questo documento presenta un metodo per automatizzare la rotazione di una sedia girevole da ufficio insieme a un metodo per integrare quel movimento in un’esperienza VR. Utilizzando un esperimento di esempio, si dimostra che il moto fisico, così prodotto, è integrato con l’esperienza visiva di un osservatore in modo coerente con le aspettative; alta integrazione quando il moto è congruente con lo stimolo visivo e bassa integrazione quando il moto è incongruente.
Molti segnali si combinano in condizioni naturali per produrre un senso di auto-movimento1. Produrre un tale senso è un obiettivo in molte applicazioni VR ricreative, sanitarie ed educative 2,3,4,5, e semplicemente capire come i segnali si combinano per dare un senso di auto-movimento è stato uno sforzo a lungo termine dei neuroscienziati 6,7,8,9,10,11 . Le tre classi più importanti di segnali per la percezione dell’auto-movimento sono visive, vestibolari e propriocettive1. Tutti e tre si combinano in modo congruente durante il movimento attivo naturale nel mondo reale per fornire un senso robusto e ricco di auto-movimento. Per comprendere il ruolo di ciascuna classe di segnali e avere un’idea di come i segnali si combinano, i ricercatori hanno tradizionalmente privato gli osservatori sperimentali di uno o più segnali e / o messo i segnali in conflitto tra loro 1,12. Ad esempio, per fornire segnali vestibolari rotazionali in assenza di segnali propriocettivi, un osservatore può essere ruotato passivamente da una sedia motorizzata 13,14,15,16. È stato dimostrato che tale movimento passivo fornisce segnali molto convincenti all’auto-movimento17. I segnali visivi controllati forniti da un auricolare VR possono essere congruenti o incongruenti con il movimento della sedia o del tutto assenti. I segnali propriocettivi possono essere aggiunti facendo ruotare la sedia con la propria potenza, ad esempio spingendo la sedia con i piedi.
Qui viene presentato un metodo per convertire una sedia girevole da ufficio in un mezzo per ruotare fisicamente il corpo di un osservatore e integrare quel movimento in un’esperienza virtuale visiva (e potenzialmente uditiva). La rotazione della sedia può essere sotto il controllo dell’osservatore, di un programma per computer o di un’altra persona come lo sperimentatore. La rotazione controllata dall’osservatore può essere passiva rendendo la rotazione azionata dal motore una funzione della posizione del controller portatile dell’osservatore o attiva spegnendo la sedia e facendo ruotare la sedia dall’osservatore stesso.
Viene inoltre presentata un’applicazione psicofisica per questo sistema sedia/VR. Questa applicazione di esempio evidenzia l’utilità della rotazione passiva controllata di un osservatore nel comprendere come i segnali di auto-movimento interagiscono per produrre esperienze percettive complessive. L’obiettivo specifico era quello di ottenere informazioni su un movimento indotto dall’illusione visiva a lungo studiato18,19. Nel movimento indotto, un bersaglio stazionario o in movimento viene percettivamente “respinto” lontano da uno sfondo in movimento. Ad esempio, se un punto bersaglio rosso si muove verticalmente verso l’alto contro un campo di punti blu che si sposta a destra, il punto target sembrerà spostarsi verso l’alto, come previsto, ma anche verso sinistra, lontano dalla direzione dello sfondo in movimento20,21. L’obiettivo era quello di verificare se la repulsione è il risultato dell’interpretazione del movimento di fondo come causato dall’auto-movimento22,23.
Se questo è il caso, allora l’aggiunta di rotazione fisica che è coerente con il movimento visivo di sfondo dovrebbe portare a una sensazione più forte che il movimento di sfondo è dovuto all’auto-rotazione attraverso un ambiente stazionario. Questo, a sua volta, dovrebbe portare a una maggiore tendenza a sottrarre il movimento di sfondo dal movimento target per ottenere il movimento target rispetto al mondo stazionario23. Questa maggiore tendenza a sottrarre si tradurrebbe in una maggiore repulsione target percepita. Per testare questo è stata aggiunta l’autorotazione fisica che era coerente o incoerente con il movimento di sfondo. Il sistema qui presentato ha permesso il controllo preciso del movimento fisico e del corrispondente movimento visivo per testare questa ipotesi. Nell’esempio, il movimento della sedia era sotto il controllo diretto dell’osservatore utilizzando il controller portatile del sistema VR.
Sebbene ci siano molti esempi di sedie rotanti motorizzate per varie applicazioni VR nella letteratura 24,25,26,27,28,29, gli autori non sono a conoscenza di una serie concisa di istruzioni per realizzare una sedia del genere e integrarla in un’esperienza VR interattiva. Sono disponibili istruzioni limitate per lo SwiVRChair29, che è simile nella struttura a quello qui presentato ma che è stato progettato con uno scopo diverso in mente, cioè essere guidato da un programma per computer per migliorare l’immersione in un ambiente VR, dove il movimento della sedia può essere sovrascritto dall’utente posizionando i piedi a terra. Data la spesa di sedie disponibili in commercio30,31, farne una “in-house” potrebbe essere un’opzione più praticabile per alcuni ricercatori. Per coloro che si trovano in questa situazione, il protocollo seguente dovrebbe essere utile.
Panoramica del sistema
Il protocollo consiste in istruzioni per convertire una sedia da ufficio in una sedia rotante ad azionamento elettrico e integrare il movimento della sedia in un’esperienza VR. L’intero sistema, una volta completato, è composto da quattro parti: i sottosistemi meccanici, elettrici, software e VR. Una fotografia dell’intero sistema è mostrata nella Figura 1. Il sistema mostrato era quello utilizzato nell’esperimento di esempio.
Il compito del sottosistema meccanico è quello di ruotare fisicamente l’albero superiore di una sedia girevole tramite un motore. È costituito da una sedia da ufficio a cui sono attaccate due cose: una puleggia fissata all’albero rotante superiore della sedia da ufficio e un telaio di montaggio regolabile fissato alla parte fissa inferiore dell’albero. Un motore passo-passo elettrico è collegato al supporto, che ha una puleggia attaccata al suo albero che si allinea con la puleggia sull’albero superiore della sedia da ufficio. Una cinghia accoppia la puleggia del motore alla puleggia della sedia, consentendo al motore di far girare la sedia.
Il sottosistema elettrico fornisce alimentazione al motore e consente il controllo elettronico del motore. È costituito da un driver motore, un alimentatore per il motore, una scheda Arduino per interfacciare il driver con un computer e un alimentatore per Arduino (opzionale). Una scheda Arduino è una piccola scheda popolare tra gli hobbisti e i produttori professionisti di qualsiasi cosa elettronica, che contiene un microprocessore programmabile, controller, pin di ingresso e uscita e (in alcuni modelli) una porta USB (richiesta qui). Tutti i componenti elettrici sono alloggiati in una scatola isolata elettricamente modificata su misura. Poiché l’alimentazione di rete è necessaria per il trasformatore che fornisce alimentazione al motore e per l’alimentatore Arduino (opzionale), e poiché il motore richiede tensioni di funzionamento elevate, tutto tranne il lavoro elettronico a bassa tensione (passaggi del protocollo da 2.5 a 2.10 di seguito) deve essere eseguito da un individuo qualificato.
Il sottosistema software è costituito dal software Arduino per la programmazione di Arduino, dal software Unity per la creazione dell’ambiente VR, dal software Steam per la guida del sistema VR e da Ardity, un plug-in Unity che consente a Unity di comunicare con la scheda Arduino. Questo software è stato installato su un laptop Gygabyte Sabre 15WV8 con Microsoft Windows 10 Enterprise per l’esperimento di esempio (Figura 1).
Il sistema VR è costituito da un Head-mounted Display (HMD), un controller portatile e stazioni base per determinare la posizione e l’orientamento dell’HMD e del controller nello spazio. Il sistema VR utilizzato per questo progetto è stato l’HTC Vive Pro (Figura 1).
Di seguito è descritta la procedura per combinare questi componenti per ottenere un’esperienza virtuale che incorpora la rotazione fisica (esperimento o altro) con il movimento della sedia controllato dall’osservatore tramite il controller portatile o dall’host / sperimentatore tramite un mouse del computer o un potenziometro. La parte finale del protocollo consiste nei passaggi necessari per avviare l’esperienza VR. Si noti che il metodo per codificare Unity per consentire prove e raccolta di dati esula dallo scopo di questo manoscritto. Alcuni passaggi, in particolare per il sottosistema meccanico, richiedono determinate attrezzature per officina e un certo livello di abilità. In linea di principio, i metodi presentati possono essere adattati in base alla disponibilità di tali risorse. Le alternative sono offerte per alcuni dei passaggi più tecnici.
Questo documento presenta un metodo per aggiungere la rotazione automatica a una sedia da ufficio sotto il controllo di un osservatore o di uno sperimentatore e un metodo di accompagnamento per integrare quel movimento in un’esperienza virtuale. I passaggi critici includono il fissaggio meccanico del motore alla sedia, l’impostazione dell’alimentazione e del controllo elettrico del motore, quindi la configurazione di Arduino e del computer per pilotare il controller del motore. La fase di attacco meccanico richiede alcun…
The authors have nothing to disclose.
Questo lavoro è stato supportato dalle sovvenzioni dell’Australian Research Council DP160104211, DP190103474 e DP190103103.
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 |