Method Article
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.
ATTENZIONE: i lavori elettrici devono essere eseguiti da una persona qualificata.
1. Procedura di configurazione del sistema meccanico
2. Procedura di configurazione dell'impianto elettrico
3. Procedura di configurazione VR
4. Procedura di configurazione del software
5. Procedura di esperimento (o esperienza)
Lo scopo dell'esperimento di esempio era determinare se l'aggiunta di rotazione fisica – congruente o incongruente con il movimento visivo di sfondo in una scena – influenzasse la direzione percepita di un bersaglio in movimento in quella scena. Ci si aspettava una differenza tra movimento fisico congruente e incongruente sulla base dell'ipotesi che il movimento di sfondo influenza la direzione del bersaglio percepita in base alla prontezza con cui il sistema visivo di un partecipante assegna la causa del movimento di sfondo all'auto-movimento32,33. Se lo sfondo e i movimenti fisici erano congruenti, allora ci si aspettava un maggiore senso di nesso causale e, quindi, una maggiore deviazione della direzione del bersaglio percepita dalla sua direzione effettiva nel display visivo.
Un osservatore controllava la velocità di rotazione e la direzione della sedia utilizzando un controller VR. Più a sinistra o a destra il controller era dalla direzione di punta dell'HMD, maggiore era la velocità di rotazione. Nella condizione congruente, se il modello target, che aveva sempre una componente di movimento verticale positiva, sembrava andare alla deriva verso destra o verticale, l'osservatore spostava il controller a sinistra. Ciò ha causato la rotazione della sedia a sinistra (in senso antiorario) e la rotazione dell'HMD sull'osservatore in senso antiorario, il che ha fatto sì che lo sfondo nella scena visiva si muovesse verso destra alla velocità appropriata (come se fosse uno sfondo stazionario su cui l'osservatore stava ruotando, Figura 7A). Questo movimento di sfondo verso destra "respingeva" il bersaglio, aggiungendo una componente di movimento verso sinistra al movimento target percepito, come previsto dall'illusione del movimento indotto. La direzione del bersaglio era controllata dal computer, sempre verso l'alto ma camminando casualmente in senso orario o antiorario della sua direzione corrente a piccoli intervalli regolari (ottenendo una camminata casuale, iniziando in verticale e attraversando i due quadranti superiori dello spazio euclideo). Lo scopo dell'osservatore era quello di regolare la propria velocità e direzione di rotazione e, quindi, la velocità e la direzione dello sfondo, in modo che il movimento indotto causato dallo sfondo annullasse esattamente qualsiasi componente di movimento verso sinistra o verso destra nel bersaglio.
Nella condizione incongruente, il movimento del controller verso sinistra ha causato la rotazione della sedia a destra (in senso orario) e lo sfondo a spostarsi verso destra tramite rotazione HMD in senso orario (Figura 7B). Pertanto, il movimento del controller verso sinistra ha causato il movimento di sfondo verso destra proprio come nella condizione congruente, ma la sedia si è mossa nella direzione opposta a quella che ha fatto nella condizione congruente, cioè si è mossa in modo incongruente con lo sfondo. La rotazione verso destra, ad esempio, era accompagnata da un movimento di sfondo verso destra, che è incoerente con un osservatore che ruota su uno sfondo stazionario.
Uno screenshot dello stimolo visivo è mostrato nella Figura 8. I pattern su ogni piccolo elemento di stimolo circolare si muovevano alla stessa velocità e direzione degli altri pattern dello stesso oggetto (target o sfondo) senza che gli elementi stessi si muovessero, come se ogni elemento fosse una finestra stazionaria attraverso la quale si poteva vedere il movimento di un grande oggetto sottostante. Ciò ha permesso un senso di movimento senza che il bersaglio e lo sfondo si spostassero dall'area di visualizzazione. L'area di visualizzazione era un aereo impostato a 8 m di distanza dall'osservatore nella scena virtuale e bloccato in posizione rispetto all'HMD. Gli elementi target giacevano su un anello con un raggio di 5° di angolo visivo e gli elementi di sfondo erano sparsi casualmente su un'area di 20° x 20° sul piano di visualizzazione. La velocità del bersaglio era mantenuta a 6 ° / s e la sua direzione variava da -10 ° circa a 190 ° (cioè, generalmente rimaneva nei primi due quadranti dello spazio euclideo). La direzione dello sfondo era sempre orizzontale e la velocità variava in base alla velocità con cui la testa dell'osservatore ruotava in senso orario o antiorario. I dati raccolti continuamente sono stati analizzati con un metodo precedentemente sviluppato in laboratorio per l'analisi di dati psicofisici continui. Questo metodo è un'estensione di un approccio esistente all'analisi dei dati di tracciamento continuo33.
La forza dell'effetto di moto indotto nelle condizioni di moto congruenti e incongruenti era rappresentata dal valore del parametro β in Eq (1):
(1)
Dove p è un vettore che rappresenta la velocità target percepita, t rappresenta la velocità target effettiva e b rappresenta la velocità di fondo. β controlla la misura in cui la velocità di fondo viene sottratta dal movimento target per produrre la velocità target percepita. Quando un osservatore sta ruotando nel mondo reale e un bersaglio si muove all'interno del suo campo visivo, il movimento di sfondo deve essere sottratto completamente dal movimento del bersaglio per ottenere il movimento del bersaglio rispetto al mondo stazionario32. Un valore β di 1 è, quindi, favorevole con il sistema visivo che assegna la causa del movimento di sfondo completamente all'auto-movimento, e un valore inferiore indica l'assegnazione parziale. I valori medi β di nove osservatori per le due condizioni sono mostrati nella Figura 9.
Per tutti gli osservatori tranne uno, il valore medio β è diminuito a causa del fatto che la sedia si muove in modo incongruente con lo stimolo visivo (sebbene il cambiamento sia stato significativo per un solo osservatore, t(4) = 13,6, p = 0,000). I dati sono stati analizzati con un ANOVA bidirezionale utilizzando osservatore e congruenza come i due fattori. Entrambi i fattori erano significativi con l'osservatore F (8, 32) = 2,857, p = 0,016 e la congruenza F (1, 32) = 8,236, p = 0,007 che indica una differenza significativa tra gli osservatori e un effetto significativo del senso di rotazione della sedia. Il valore medio di β previsto per la condizione congruente era 1,03 e 0,87 per la condizione incongruente. Questi risultati corrispondono alle aspettative presentate sopra. Un valore β vicino a 1 per la condizione congruente indica la disponibilità ad assegnare il movimento di sfondo all'automovimento. Un valore significativamente più basso per la condizione incongruente indica una minore prontezza a farlo. Questo, a sua volta, indica che l'esperienza di movimento fornita dal presidente corrispondeva alle aspettative; la sedia ha fornito un mezzo efficace per dare agli osservatori un senso di movimento fisico nel modo previsto.
Figura 1: Una fotografia del sistema completo. Fare clic qui per visualizzare una versione più grande di questa figura.
Figura 2: Morsetto per il fissaggio del motore alla base della sedia. (A) L'intero gruppo morsetto. (B) Dimensioni per angolo ferro e foglie combinate. (C) Dimensioni delle foglie. (D) Dimensioni angolari del ferro. Tutte le dimensioni in mm. Clicca qui per visualizzare una versione più grande di questa figura.
Figura 3: Staffa per il fissaggio del motore al morsetto. (A) Assemblaggio. (B) Dimensioni in mm. Abbreviazione: dia = diametro. Fare clic qui per visualizzare una versione più grande di questa figura.
Figura 4: Collegamento del motore alla staffa del motore. (A) Come collegare le barre di attacco del motore. (B) Dimensioni della barra di fissaggio del motore in mm. (C) Come fissare le staffe di copertura. Fare clic qui per visualizzare una versione più grande di questa figura.
Figura 5: Fissaggio del coperchio. (A) Processo di fissaggio del coperchio. (B) Il sistema meccanico completato. (C) Dimensioni del coperchio in mm. Fare clic qui per visualizzare una versione più grande di questa figura.
Figura 6: Tutti i componenti elettrici ed elettronici nella custodia dello strumento. Si noti che l'alimentazione a 5 V per Arduino è scollegata in questa foto. Fare clic qui per visualizzare una versione più grande di questa figura.
Figura 7: Una rappresentazione schematica delle azioni dell'osservatore e dei conseguenti cambiamenti di sedia e scena durante l'esperimento. (A) Condizione congruente: se il controller è stato spostato in senso antiorario, anche la sedia si è mossa in senso antiorario e lo sfondo visivo si è mosso nella direzione opposta come se fosse una scena stazionaria contro la quale la persona stava ruotando. (B) Condizione incongruente: la stessa del congruente, tranne per il fatto che la sedia si è mossa nella direzione opposta rendendo il movimento della sedia incongruente con il movimento visivo di sfondo. Nel diagramma, l'osservatore ruota in senso orario e la scena ruota ulteriormente in senso orario rispetto al movimento dell'osservatore, il che è incoerente con l'esperienza naturale. Fare clic qui per visualizzare una versione più grande di questa figura.
Figura 8: Screenshot dell'area contenente stimoli di movimento del display visivo. Questo piano di immagine 2D è stato posizionato a 8 m di distanza dall'osservatore che occupa un'area di 35 ° x 35 ° della scena visiva nell'ambiente VR. L'anello bersaglio aveva un raggio di 5° di angolo visivo e l'area di sfondo era sottesa di 20° x 20°. Abbreviazione: VR = realtà virtuale. Fare clic qui per visualizzare una versione più grande di questa figura.
Figura 9: Valori beta medi per ciascun osservatore nelle condizioni congruenti e incongruenti. Per tutti gli osservatori tranne uno, il valore beta è diminuito per la condizione incongruente di movimento della sedia / visivo, indicando una minore probabilità di vedere il movimento visivo di sfondo come causato dal movimento fisico dell'osservatore. Un ANOVA a 2 vie ha rivelato che il cambiamento di gruppo nel valore beta era significativo (vedi testo per i dettagli). Fare clic qui per visualizzare una versione più grande di questa figura.
File supplementare 1: Esempio di codice Arduino, hybrid_motor_controller.ino. Fare clic qui per scaricare questo file.
File supplementare 2: esempio di script Unity C#, ChairController.cs. Fare clic qui per scaricare questo file.
File supplementare 3: esempio di script Unity C#, SetUpTrial.cs. Fare clic qui per scaricare questo file.
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 alcune attrezzature e abilità specializzate, sebbene siano state suggerite soluzioni alternative per i compiti più difficili. Ulteriori modifiche possono essere richieste a seconda della disponibilità dell'hardware.
Il lavoro elettrico ad alta tensione dovrebbe essere completato da una persona qualificata e, se richiesto dalla legge, essere certificato dall'ente competente. Il lavoro a bassa tensione può essere svolto da una persona con esperienza limitata. Sopra ci sono istruzioni abbastanza specifiche da consentire la riproduzione se viene utilizzata la stessa attrezzatura, ma attrezzature diverse richiederanno lievi modifiche della procedura.
Il codice Arduino è stato fornito per integrare la specifica configurazione elettronica suggerita qui. Si noti che Arduino e le altre istruzioni software fornite funzionano con Arduino versione 1.8.12, SteamVR versione 1.18.7, Unity versione 2020.2.7f1 e Ardity versione 1. Altre versioni del software potrebbero richiedere modifiche del protocollo.
Una limitazione del metodo è che l'accelerazione angolare deve essere smorzata. Un metodo per farlo è fornito nel codice Arduino. Questo perché il servo ibrido cercherà di "recuperare" i passi del motore mancati (se l'attrito o l'inerzia impediscono al motore di accelerare alla velocità a cui è stato istruito), il che può portare a overshooting e "rimbalzo" rotazionale. Smorzare i comandi di accelerazione provenienti dal computer è un modo per affrontare questo problema; questo è l'approccio adottato nel codice di esempio fornito. Un motore DC spazzolato o brushless può essere utilizzato per alleviare questo problema, ma questi motori tendono ad avere una coppia bassa a basse velocità, rendendo molto difficile il controllo della rotazione a basse velocità. Gli autori hanno prima provato un motore DC brushless prima di passare al motore passo-passo ibrido.
Esistono alternative all'approccio qui presentato. E' possibile acquistare sedie rotanti prefabbricate30 e sedie che si muovono in altre direzioni31, ad esempio sedie che effettuano piccoli movimenti traslazionali 34,35 o rotazionali 36,37 fino a sedie e gabbie strap-in che eseguono grandi movimenti multidimensionali 38,39,40 . Questi sistemi sono generalmente costruiti per applicazioni ricreative ma possono, in linea di principio, essere adattati per condurre esperimenti, anche se "sbloccare" il sistema per consentirgli di funzionare con il software di uno sperimentatore può rivelarsi difficile in alcune circostanze. Questi sistemi tendono anche ad essere costosi. È stata, alla fine, la spesa che ha portato gli autori a sviluppare il proprio sistema. Per confronto, il costo del kit utilizzato per automatizzare il movimento della sedia da ufficio in questo progetto è stato di circa AUD $ 540 (costo di laptop, sedia da ufficio e sistema VR non inclusi).
I dati presentati nella sezione dei risultati rappresentativi indicano che il movimento fisico di un osservatore sulla sedia motorizzata può avere un impatto significativo sulla sua esperienza della scena visiva. In particolare, la direzione di rotazione – congruente contro incongruente – è stato un fattore altamente significativo nel guidare i valori di β per il gruppo, producendo un valore medio di β di 1,03 quando la sedia girava in una direzione congruente con il movimento visivo dello sfondo e un valore di β significativamente inferiore (0,87) quando la sedia girava in modo incongruente. Ci sono state variazioni nella forza dell'effetto tra gli individui (anche producendo l'effetto opposto in un individuo, anche se insignificante). Tuttavia, il cambiamento medio causato dalla commutazione della direzione di rotazione è stato molto significativo, come rivelato dall'ANOVA (p = 0,007). Un ulteriore supporto per l'efficacia della sedia è che il valore medio β per il gruppo nella condizione congruente era vicino a 1 (non significativamente diverso da 1; p = 0,89, t-test accoppiato), indicando che gli osservatori stavano, in media, visualizzando la scena visiva come se stessero effettivamente ruotando nel mondo reale, sottraendo completamente il movimento dello sfondo dal movimento del bersaglio per ottenere il vero movimento del bersaglio rispetto al mondo stazionario.
Le applicazioni sperimentali per il metodo qui presentato sono ampie, dato il crescente interesse per la sperimentazione mediata dalla realtà virtuale. Ovunque sia auspicabile un movimento rotatorio automatizzato in un ambiente virtuale, il metodo è applicabile. La sedia fornisce segnali rotazionali vestibolari e cinestesici di piccole dimensioni come segnali di pressione, vibrazionali e inerziali. Il controllo di tali segnali è importante per comprendere i meccanismi del senso di auto-movimento e per capire come i segnali vestibolari generalmente si integrano con altri segnali sensoriali. L'esperimento di esempio indica che i segnali fisici forniti dalla sedia si combinano con segnali visivi per produrre un'interpretazione della scena, cioè la direzione percepita del bersaglio, che è coerente con l'esperienza del mondo reale quando i segnali sono congruenti e incoerenti quando non lo sono.
Non ci sono conflitti di interesse.
Questo lavoro è stato supportato dalle sovvenzioni dell'Australian Research Council DP160104211, DP190103474 e DP190103103.
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 |
Richiedi autorizzazione per utilizzare il testo o le figure di questo articolo JoVE
Richiedi AutorizzazioneThis article has been published
Video Coming Soon