La rotation physique contrôlée d’un observateur humain est souhaitable pour certaines applications expérimentales, récréatives et éducatives. Cet article décrit une méthode pour convertir une chaise pivotante de bureau en un support pour une rotation physique contrôlée dans un environnement de réalité virtuelle.
Le faible coût et la disponibilité des systèmes de réalité virtuelle (RV) ont soutenu une accélération récente de la recherche sur la perception et le comportement dans des conditions plus naturalistes, multisensorielles et immersives. Un domaine de recherche qui a particulièrement bénéficié de l’utilisation des systèmes de RV est l’intégration multisensorielle, par exemple, l’intégration d’indices visuels et vestibulaires pour donner lieu à un sentiment d’auto-mouvement. Pour cette raison, une méthode accessible pour la rotation physique contrôlée d’un observateur dans un environnement virtuel représente une innovation utile. Cet article présente une méthode pour automatiser la rotation d’une chaise pivotante de bureau ainsi qu’une méthode pour intégrer ce mouvement dans une expérience vr. À l’aide d’un exemple d’expérience, il est démontré que le mouvement physique, ainsi produit, est intégré à l’expérience visuelle d’un observateur d’une manière conforme aux attentes; intégration élevée lorsque le mouvement est congruent avec le stimulus visuel et faible intégration lorsque le mouvement est incongru.
De nombreux indices se combinent dans des conditions naturelles pour produire un sentiment d’auto-mouvement1. Produire un tel sens est un objectif dans de nombreuses applications de RV récréatives, de santé et éducatives 2,3,4,5, et le simple fait de comprendre comment les indices se combinent pour donner un sentiment d’auto-mouvement a été une entreprise à long terme des neuroscientifiques 6,7,8,9,10,11 . Les trois classes d’indices les plus importantes pour la perception de l’auto-mouvement sont visuelles, vestibulaires et proprioceptives1. Tous les trois se combinent de manière congruente lors d’un mouvement actif naturel dans le monde réel pour fournir un sens robuste et riche de l’auto-mouvement. Pour comprendre le rôle de chaque classe d’indices et avoir une idée de la façon dont les indices se combinent, les chercheurs ont traditionnellement privé les observateurs expérimentaux d’un ou plusieurs indices et/ou placé des indices en conflit les uns avec les autres 1,12. Par exemple, pour fournir des signaux vestibulaires rotatifs en l’absence de signaux proprioceptifs, un observateur peut être tourné passivement par une chaise motorisée 13,14,15,16. Il a été démontré qu’un tel mouvement passif fournit des indices très convaincants à l’auto-mouvement17. Les repères visuels contrôlés fournis par un casque VR peuvent être congruents ou incongrus avec le mouvement de la chaise ou complètement absents. Des signaux proprioceptifs peuvent être ajoutés en demandant à l’observateur de faire pivoter la chaise par ses propres moyens, par exemple en poussant la chaise avec ses pieds.
Présenté ici est une méthode pour convertir une chaise pivotante de bureau en un support pour faire pivoter physiquement le corps d’un observateur et intégrer ce mouvement dans une expérience virtuelle visuelle (et potentiellement auditive). La rotation de la chaise peut être sous le contrôle de l’observateur, d’un programme informatique ou d’une autre personne telle que l’expérimentateur. La rotation contrôlée par l’observateur peut être passive en faisant de la rotation entraînée par le moteur une fonction de la position du contrôleur portatif de l’observateur ou active en éteignant la chaise et en faisant tourner la chaise lui-même par l’observateur.
Une application psychophysique pour ce système de chaise/RV est également présentée. Cet exemple d’application met en évidence l’utilité de la rotation passive contrôlée d’un observateur pour comprendre comment les signaux d’auto-mouvement interagissent pour produire des expériences perceptuelles globales. L’objectif spécifique était d’avoir un aperçu d’un mouvement induit par l’illusion visuelle longtemps étudié18,19. En mouvement induit, une cible stationnaire ou en mouvement est perceptuellement « repoussée » loin d’un arrière-plan en mouvement. Par exemple, si un point cible rouge se déplace verticalement vers le haut contre un champ de points bleus se déplaçant vers la droite, le point cible semblera se déplacer vers le haut, comme prévu, mais aussi vers la gauche, loin de la direction de l’arrière-plan en mouvement20,21. L’objectif était de vérifier si la répulsion est le résultat de l’interprétation du mouvement de fond comme étant causé par l’auto-mouvement22,23.
Si tel est le cas, l’ajout d’une rotation physique compatible avec le mouvement visuel d’arrière-plan devrait donner un sentiment plus fort que le mouvement d’arrière-plan est dû à l’auto-rotation dans un environnement stationnaire. Ceci, à son tour, devrait conduire à une plus grande tendance à soustraire le mouvement d’arrière-plan du mouvement cible pour obtenir le mouvement cible par rapport au monde stationnaire23. Cette tendance accrue à soustraire entraînerait une plus grande répulsion perçue de la cible. L’auto-rotation physique qui était compatible ou incompatible avec le mouvement d’arrière-plan a été ajoutée pour tester cela. Le système présenté ici a permis le contrôle précis du mouvement physique et du mouvement visuel correspondant pour tester cette hypothèse. Dans l’exemple, le mouvement de la chaise était sous le contrôle direct de l’observateur à l’aide du contrôleur portatif du système VR.
Bien qu’il existe de nombreux exemples de chaises tournantes motorisées pour diverses applications de RV dans la littérature 24,25,26,27,28,29, les auteurs ne sont pas au courant d’un ensemble concis d’instructions pour fabriquer une telle chaise et l’intégrer dans une expérience de RV interactive. Des instructions limitées sont disponibles pour le SwiVRChair29, dont la structure est similaire à celle présentée ici, mais qui est conçu dans un but différent, c’est-à-dire être piloté par un programme informatique pour améliorer l’immersion dans un environnement VR, où le mouvement de la chaise peut être remplacé par l’utilisateur en plaçant ses pieds sur le sol. Compte tenu du coût des chaises disponibles dans le commerce30,31, en faire une « à l’interne » peut être une option plus viable pour certains chercheurs. Pour ceux qui se trouvent dans cette situation, le protocole ci-dessous devrait être utile.
Vue d’ensemble du système
Le protocole consiste en des instructions pour convertir une chaise de bureau en une chaise rotative à entraînement électrique et intégrer le mouvement de la chaise dans une expérience de réalité virtuelle. L’ensemble du système, une fois terminé, est composé de quatre parties : les sous-systèmes mécanique, électrique, logiciel et VR. Une photographie de l’ensemble du système est illustrée à la figure 1. Le système montré était celui utilisé dans l’exemple d’expérience.
Le travail du sous-système mécanique consiste à faire pivoter physiquement l’arbre supérieur d’une chaise pivotante via un moteur. Il se compose d’une chaise de bureau à laquelle deux choses sont attachées: une poulie fixée à l’arbre rotatif supérieur de la chaise de bureau et un cadre de montage réglable attaché à la partie fixe inférieure de l’arbre. Un moteur pas à pas électrique est fixé au support, qui a une poulie attachée à son arbre qui s’aligne avec la poulie sur l’arbre supérieur de la chaise de bureau. Une courroie couple la poulie du moteur à la poulie de la chaise, ce qui permet au moteur de faire tourner la chaise.
Le sous-système électrique alimente le moteur et permet le contrôle électronique du moteur. Il se compose d’un pilote de moteur, d’une alimentation pour le moteur, d’une carte Arduino pour l’interfaçage du pilote avec un ordinateur et d’une alimentation pour l’Arduino (en option). Une carte Arduino est une petite carte populaire parmi les amateurs et les fabricants professionnels de tout ce qui est électronique, qui contient un microprocesseur programmable, des contrôleurs, des broches d’entrée et de sortie et (dans certains modèles) un port USB (requis ici). Tous les composants électriques sont logés dans une boîte isolée électriquement modifiée sur mesure. Comme l’alimentation secteur est requise pour le transformateur qui alimente le moteur et pour l’alimentation Arduino (en option), et que le moteur nécessite des tensions de fonctionnement élevées, tous les travaux électroniques sauf la basse tension (étapes de protocole 2.5 à 2.10 ci-dessous) doivent être effectués par une personne qualifiée.
Le sous-système logiciel se compose du logiciel Arduino pour la programmation de l’Arduino, du logiciel Unity pour la création de l’environnement VR, du logiciel Steam pour piloter le système VR et d’Ardity, un plugin Unity qui permet à Unity de communiquer avec la carte Arduino. Ce logiciel a été installé sur un ordinateur portable Gygabyte Sabre 15WV8 exécutant Microsoft Windows 10 Enterprise pour l’exemple d’expérience (Figure 1).
Le système VR se compose d’un casque d’affichage (HMD), d’un contrôleur portatif et de stations de base permettant de déterminer la position et l’orientation du HMD et du contrôleur dans l’espace. Le système VR utilisé pour ce projet était le HTC Vive Pro (Figure 1).
Vous trouverez ci-dessous la procédure permettant de combiner ces composants pour obtenir une expérience virtuelle qui intègre une rotation physique (expérimentale ou autre) avec le mouvement de la chaise contrôlé par l’observateur via le contrôleur portatif ou par l’hôte / expérimentateur via une souris d’ordinateur ou un potentiomètre. La dernière partie du protocole consiste en les étapes nécessaires pour initier l’expérience VR. Notez que la méthode de codage de Unity pour permettre les essais et la collecte de données dépasse le cadre de ce manuscrit. Certaines étapes, en particulier pour le sous-système mécanique, nécessitent certains équipements d’atelier et un certain niveau de compétence. En principe, les méthodes présentées peuvent être ajustées en fonction de la disponibilité de ces ressources. Des alternatives sont proposées pour certaines des étapes les plus techniques.
Cet article présente une méthode pour ajouter une rotation automatisée à une chaise de bureau sous le contrôle d’un observateur ou d’un expérimentateur, et une méthode d’accompagnement pour intégrer ce mouvement dans une expérience virtuelle. Les étapes critiques comprennent la fixation mécanique du moteur à la chaise, la configuration de l’alimentation et du contrôle électrique du moteur, puis la configuration de l’Arduino et de l’ordinateur pour entraîner le contrôleur du moteur. L’étape …
The authors have nothing to disclose.
Ce travail a été soutenu par les subventions du Conseil australien de la recherche DP160104211, DP190103474 et 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 |