A Gyroscopic Video Game Controller

Pictures:

DSC01006 (2)

^the Device itself, made of clear plastic acrylic

DSC01007

^ A closeup of the Arduino and trigger system

DSC01008

^ The carrying case

DSC01005

^ The device in its case

Skills used:

Rhino CAD software, Electrical Engineering, Mechanical Engineering, Arduino IDE, Computer Science, Vector Geometry

 

Description:

Ok, so this was a hell of a challenge, and currently is still one. This is an acrylic gun-shaped mechanism, approximately 4 feet long, utilizing the Arduino Esplora’s ability to function as a mouse and keyboard in order to play first-person shooter games more realistically. While this would function quite well with an Oculus Rift, it plays best on a windows computer.

What inspired me to create this in the first place was not for fun, but for exercise. I for one, have an intense hatred for treadmills. Running as fast as you can and getting nowhere… there isn’t even a better metaphor. Since the controller has Euler angles and accelerations in that tilted coordinate system, it is possible to determine accelerations, and thus movement, in all directions. To put it simply, this controller allows one to play a FPS (Halo: Combat Evolved, currently) in a large field (Virginia Tech’s Drillfield), translating real movement into in-game movement. It is much more fun to run around shooting aliens and capturing flags then it is to just plain run.

The system consists of a Parallax gyroscope communicating with the Arduino through a hacked SPI header. The Esplora itself has buttons that control aiming lockup, reload, grenade, action, pause, switch weapon, flashlight, as well as other necessary controls. Firing is controlled by pins that used to be photoresistors, but were cut off for more inputs. Movement is controlled by an accelerometer, which is the only part of this design that is functioning out of whack. Due to the insanely fast refresh rate required to keep the angles correct, I try to minimize matrix operations, so my accelerations are not 100% correct, and that leads to noise and drift. I am currently working on putting a Kalman filter on it, but again, speed is critical to the operation.

To play this, I have a helmet-mounted computer utilizing a low-power intel 4400 Haswell processor to play Halo: CE at minimum settings.

How does one store, carry, and protect such an item? In a gun case of course, with a snarky warning label.

 

Pros:

    • Extremely cool.
    • Frees me from treadmills for the foreseeable future.
    • Halo: CE is the greatest game ever made and deserves to be played in reality instead of on a flat screen.

Cons:

    • I have never felt more sketchy in my life walking into a Virginia Tech residence hall with a gun case.
    • I have issues with the movement vectors.

 

Opportunities for improvement:

I need a Kalman filter to make the accelerations more accurate, and thus make the darn thing actually work.

Conclusion:

An interesting idea, and all the parts are there, but I don’t have the machine shop access or the materials to make it as perfect as I think it should be.

This a cool idea, and I really want to see it done, but damn, it’s a lot of work.