A subscription to JoVE is required to view this content. Sign in or start your free trial.
Method Article
The controlled physical rotation of a human observer is desirable for certain experimental, recreational, and educational applications. This paper outlines a method for converting an office swivel chair into a medium for controlled physical rotation in a virtual reality environment.
The low cost and availability of Virtual Reality (VR) systems have supported a recent acceleration of research into perception and behavior under more naturalistic, multisensory, and immersive conditions. One area of research that has particularly benefited from the use of VR systems is multisensory integration, for example, the integration of visual and vestibular cues to give rise to a sense of self-motion. For this reason, an accessible method for the controlled physical rotation of an observer in a virtual environment represents a useful innovation. This paper presents a method for automating the rotation of an office swivel chair along with a method for integrating that motion into a VR experience. Using an example experiment, it is demonstrated that the physical motion, thus produced, is integrated with the visual experience of an observer in a way consistent with expectations; high integration when the motion is congruent with the visual stimulus and low integration when the motion is incongruent.
Many cues combine under natural conditions to produce a sense of self-motion1. Producing such a sense is a goal in many recreational, health, and educational VR applications2,3,4,5, and simply understanding how cues combine to give a sense of self-motion has been a long-term endeavor of neuroscientists6,7,8,9,10,11. The three most important classes of cues for self-motion perception are visual, vestibular, and proprioceptive1. All three combine congruently during natural active movement in the real world to provide a robust and rich sense of self-motion. To understand the role of each class of cues and get a sense of how cues combine, researchers have traditionally deprived experimental observers of one or more cues and/or placed cues in conflict with one another1,12. For example, to provide rotational vestibular cues in the absence of proprioceptive cues, an observer can be rotated passively by a motorized chair13,14,15,16. Such passive motion has been shown to provide very convincing cues to self-motion17. Controlled visual cues provided by a VR headset can be congruent or incongruent with the chair motion or absent altogether. Proprioceptive cues can be added by having the observer rotate the chair under their own power, e.g., by pushing the chair around with their feet.
Presented here is a method for converting an office swivel chair into a medium for physically rotating the body of an observer and integrating that motion into a visual (and potentially auditory) virtual experience. The rotation of the chair can be under the control of the observer, a computer program, or another person such as the experimenter. Observer-controlled rotation can be passive by making the motor-driven rotation a function of the position of the observer's hand-held controller or active by turning the chair off and having the observer rotate the chair themselves.
Also presented is a psychophysical application for this chair/VR system. This example application highlights the usefulness of the controlled passive rotation of an observer in understanding how self-motion cues interact to produce overall perceptual experiences. The specific goal was to gain insight into a long-studied visual illusion–induced motion18,19. In induced motion, a stationary or moving target is perceptually "repulsed" away from a moving background. For example, if a red target dot moves vertically upwards against a field of blue dots moving to the right, the target dot will appear to move upwards, as expected, but also to the left, away from the direction of the moving background20,21. The aim was to test whether the repulsion is a result of interpreting the background motion as being caused by self-motion22,23.
If this is the case, then the addition of physical rotation that is consistent with the background visual motion should lead to a stronger sense that the background motion is due to self-rotation through a stationary environment. This, in turn, should lead to a greater tendency to subtract the background motion from the target motion to get target motion relative to the stationary world23. This increased tendency to subtract would result in greater perceived target repulsion. Physical self-rotation that was either consistent with or inconsistent with the background motion was added to test this. The system presented here allowed for the precise control of physical motion and corresponding visual motion to test this hypothesis. In the example, the chair motion was under the direct control of the observer using the VR system's hand-held controller.
Although there are many examples of motorized rotating chairs for various VR applications in the literature 24,25,26,27,28,29, the authors are unaware of a concise set of instructions for making such a chair and integrating it into an interactive VR experience. Limited instructions are available for the SwiVRChair29, which is similar in structure to the one presented here but that is designed with a different purpose in mind, that is, to be driven by a computer program to improve immersion in a VR environment, where chair movement can be overridden by the user by placing their feet on the ground. Given the expense of commercially available chairs30,31, making one "in-house" may be a more viable option for some researchers. For those in this situation, the protocol below should be of use.
System overview
The protocol consists of instructions for converting an office chair into an electrically driven rotating chair and integrating the chair movement into a VR experience. The entire system, once complete, is composed of four parts: the mechanical, electrical, software, and VR subsystems. A photograph of the complete system is shown in Figure 1. The system shown was the one used in the example experiment.
The job of the mechanical subsystem is to physically rotate the upper shaft of a swivel chair via a motor. It consists of an office chair to which two things are attached: a pulley fixed to the upper rotating shaft of the office chair and an adjustable mounting frame attached to the lower fixed part of the shaft. An electric stepper motor is attached to the mount, which has a pulley attached to its shaft that lines up with the pulley on the upper shaft of the office chair. A belt couples the motor pulley to the chair pulley, allowing the motor to spin the chair.
The electrical subsystem provides power to the motor and allows the electronic control of the motor. It consists of a motor driver, a power supply for the motor, an Arduino board for interfacing the driver with a computer, and a power supply for the Arduino (optional). An Arduino board is a popular small board among hobbyists and professional makers of anything electronic, which contains a programmable microprocessor, controllers, input and output pins, and (in some models) a USB port (required here). All the electrical components are housed in a custom-modified electrically insulated box. As mains power is required for the transformer that provides power to the motor and for the (optional) Arduino power supply, and as the motor requires high operating voltages, all but the low-voltage electronic work (protocol steps 2.5 to 2.10 below) should be performed by a qualified individual.
The software subsystem consists of Arduino software for programming the Arduino, Unity software for creating the VR environment, Steam software for driving the VR system, and Ardity–a Unity plugin that allows Unity to communicate with the Arduino board. This software was installed on a Gygabyte Sabre 15WV8 laptop running Microsoft Windows 10 Enterprise for the example experiment (Figure 1).
The VR system consists of a Head-mounted Display (HMD), a hand-held controller, and base stations for determining the position and orientation of the HMD and controller in space. The VR system used for this project was the HTC Vive Pro (Figure 1).
Described below is the procedure for combining these components to achieve a virtual experience that incorporates physical rotation (experiment or otherwise) with chair motion controlled by the observer via the hand-held controller or by the host/experimenter via a computer mouse or a potentiometer. The final part of the protocol consists of the steps necessary to initiate the VR experience. Note that the method for coding Unity to allow for trials and data collection is beyond the scope of this manuscript. Some steps, particularly for the mechanical subsystem, require certain workshop equipment and a certain level of skill. In principle, the presented methods can be adjusted to suit the availability of those resources. Alternatives are offered for some of the more technical steps.
WARNING: Electrical work should be performed by a qualified person.
1. Mechanical system setup procedure
2. Electrical system setup procedure
3. VR setup procedure
4. Software setup procedure
5. Experiment (or experience) procedure
The aim of the example experiment was to determine whether the addition of physical rotation–either congruent or incongruent with the visual background motion in a scene–affected the perceived direction of a moving target in that scene. A difference between congruent and incongruent physical motion was expected based on the hypothesis that the background motion affects the perceived target direction according to how readily the visual system of a participant assigns the cause of background motion to self-moti...
This paper presents a method for adding automated rotation to an office chair under the control of an observer or experimenter, and an accompanying method for integrating that motion into a virtual experience. Critical steps include the mechanical attachment of the motor to the chair, setting up the power to and electrical control of the motor, then configuring the Arduino and computer to drive the motor controller. The mechanical attachment step requires some specialized equipment and skills, although workarounds have b...
There are no conflicts of interest.
This work was supported by Australian Research Council grants DP160104211, DP190103474, and 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 |
Request permission to reuse the text or figures of this JoVE article
Request PermissionThis article has been published
Video Coming Soon
Copyright © 2025 MyJoVE Corporation. All rights reserved