Chung, testing the bike in the virtual reality lab.
Our project idea was to implement a virtual world for an exercising bike in order to make exercising a more immersive experience.
This project is interesting since a typical stationary biking experience is often monotonous and found repetitive. From a VR perspective, it is interesting because the gliding motion is often found sickening. From a practical perspective, it will bring excitement to working out and perhaps motivate more people into exercising. We are building on the fact that there is a significant amount of 2D virtual reality exercise simulations, but not many 3D simulations.
One of the challenges about the VR exercise bike was to find a way to track the speed of the wheel and have that speed relayed to our code to render an accurate and comfortable riding experience. Ultimately, we ended up taping a mouse to the side of the wheel, and wrapping the wheel spokes with paper. By doing so, the mouse is able to track the fibers in the paper with the mouse speed from the laser and relay an accurate speed to be interpreted by the virtual reality biking experience. From a physical aspect, one challenging part was trying to physically stabilize the bike. The structural integrity of the bike stand would give out at times, but we later reinforced it with duct tape to make it more stable. However, even after reinforcing the bike stand, there was still a weight limit on the bike before it physically broke down. Moreover, implementing the track proved to be challenging feat. To make it seem like the track ran infinitely, we had an invisible “exit” and “enter” plane that teleported the user to the “enter” plane every time they reached the “exit” plane. The challenging aspect of this was to make the transition from the “exit” plane to the “enter” plane seamless, and unnoticeable to the user. Furthermore, to make the track non-repetitive to the user, we added randomly generated attributes to the side of the track, such as dinosaurs, and pillars to make the track non-repetitive.
What works well: One of the interesting aspects that we initially did not intend for is when the user is biking, there is some flow of wind generated from how the wheel speed of the bike is calculated. Consequently, this results in a more immersive experience for the user for them to believe that the faster they pedal, the more wind they experience, much like a biking experience in real life. The teleportation to make it seem like a seamless and infinite track was implemented well as users could not recognize the teleportation points of the track. Moreover, the addition of random attributes that appeared randomly also helped in making the track seem unique and infinite. When the bike was physically stable, users found the experience to be realistic and feel like they were actually biking in a real world. When the users looked off to the side, we slowed down the optical flow of images to make it more realistic. Furthermore, we displayed the traveling speed of the bike so users could tell how fast or slow they were traveling. The acceleration and deceleration experienced by users was also realistic and well executed as we spent a large majority of our time trying to find an accurate acceleration and dampening speed.
One way to expand on this project would be to implement it in a way that multiple people on multiple VR exercise bikes could bike with each other much like one would in real life with friends or family. By introducing multiple players to the VR biking experience, there are many different paths to explore to expand on the idea. One interesting way would be to make a “competitive” exercising biking experience. By doing so, it adds another element of fun to exercising as well as getting rid of the inconvenience of having to physically meet up with friends if one desires to bike with them. Furthermore, the track could have been more realistic by taking photos of an actual bike track or path and adding that to the virtual world to make it more realistic.
One thing that fails is the structural integrity of the bike. Even though we tried multiple times to reinforce and stabilize to provide users with a more peace of mind biking experience, there seemed to be a weight limit for the users. While the acceleration and deceleration of the bike was realistic and well implemented, the track’s graphics and realism wasn’t the most realistic experience. Although it gave users the impression of it being realistic, we think it would have been more immersive if actual pictures of a bike track or path were used to implement the virtual track. In terms of detecting the speed and RPM of the wheel, after very high speeds, the laser of the mouse could not track the fibers of the paper that accurately.
Comfortable Experience: When the bike was stabilized and without the fear of the bike breaking down on the user, the experience was comfortable due to the accurate representation of the acceleration and deceleration of the bike. Moreover, the acceleration was instantaneous with little latency involved. The FPS of the track made it a smooth experience without broken parts in the track, which in turn reduced the potential of becoming nauseous.
How we used course concepts
Since our project involved a significant amount of time in ensuring that users did not feel motion sickness as well as making it a realistic experience, there was a lot of time invested looking through best practices manual. Moreover, to combat the initial motion sickness experience initially, a lot of time was spent looking into the psychological aspect of the class. More specifically, we looked into the vestibular organs, as well as what causes motion sickness. From a technical aspect, we implemented our course track using the terrain techniques from MP5.