This is the 440 capstone project we did right before graduation from SFU. It's a virtual bicycle trainer with an actuator that gives haptic feedback.

Here's video demo:

I had some experience with 3d programming beforehand, so I did the 3d parts. The plan was to have a variety of environments with different ground textures, the vibration/acceleration from the motors should give a nice sense of presence.

If I was doing this again in 2015 I'd have probably used one of those newfangled VR systems.

I used Ogre for the 3d engine. It was pretty easy to make the terrain just by drawing some heightmaps and applying a few textures. There are hills and valleys in the map so the (physical) bike would tilt up/down as you go over hills and such.

Made a lake scene too. It had a dynamic day/night cycle as well as cool water effects, but we had to cut some features to increase the fps...

I ended up designing the mechanical system too, while the Dan and Mike worked on the control loop. Bought some THK rails/ballscrew off ebay for linear motion, and got some unistrut for the superstructure. We also had to add some counterweights so the motor wouldn't stall during some of the larger accelerations.

In retrospect generating our own step pulses from a pc was a pretty bad idea, that took up a lot of time.

On the day before the demo the stepper controller got fried, it shorted somehow when we put it in the enclosure. Fortunately we had the foresight to use the same controller as my CNC, so I just stripped it for parts.

The next day everyone took turns on the bike, it was great. This was probably the most fun I've had at SFU.

up arrow Back to top