VR-Bike System Documentation

Version/Date: 24.04.2024

The VR-Bike system is a project combining virtual reality experiences with cycling. By connecting a spinning bike to a computer and VR headset, users can immerse themselves in virtual environments while cycling, providing an engaging and interactive fitness experience. This document explains how the system works and how to modify it.

  • Hardware:
    • VR-Bike
    • Modern PC (supporting Unity and Visual Studio)
    • VR headset (e.g. Quest 2/3)
  • Software:
    • Unity version 2020.3.18f1
    • Visual Studio 2019

The VR-Bike system was conceptualized and built by Tom Onderwater as a tool for his research project, titled: “Investigating the Effect of Visual Information and Optic Flow on Interception Adequacy using a VR-Bike”. Tom visualized the VR-Bike as “a new research tool which interfaces with a virtual environment, enabling research into the effect of optic flow as well as the realization of interception space through measuring motor ability.”

After Tom had finished working on his research, he offered the bike to the university and kindly gave us the source of the tools that he had built to run the system.

The physical component is the VR-Bike, which was developed to interface with the virtual environment and consists of two distinct sub-systems. First is the Praxtour bicycle, which is a commercially available spinning bike with a USB interface. The bike has a flywheel, making it naturally slowly come to a stop when the actor stops cycling, just like a real bike would. The resistance of the flywheel can be programmatically controlled, allowing physical braking. Second is the steering wheel which was created specifically for the Praxtour. It has its own 6 micro-controller and USB interfaces for two-way communication with the virtual environment offering steering feedback. Data communication from both components is buffered in an aggregate before being transferred to the virtual environment over a socket connection at 50 Hz. There's a fixed 0.1 seconds delay between action and perception.

(Also, the steering wheel has a spring system pulling on the handlebar to straighten it, which can be variably tightened to mimic how real bikes become harder to steer when they go faster. However, this feature is not functional at the moment.)

The virtual environment consists of a simple Unity scene. It contains the bike, a plain ground surface, trees, and a target ball, which needs to be intercepted by the player. The position of the headset is fixed relative to the cyclist model but with rotation allowed. The player is free to look around by tilting and rotating their head.

Since the sensor readings from the bike need to be read and then exported to the unity scene by the computer, the unity project has to run in PCVR mode. Therefore, you can connect any VR headset supporting PCVR to render the scene.

Steering reading range (effective: 300 - 700, centered at 500)

Wrap up the documentation with a summary of the project, its outcomes, and any future directions or improvements that could be made.

Include proper IEEE format attribution for any resources used in the project, such as images, code snippets, and other assets.


Interaction Lab