6 Axis Motion Sensing - VR Gloves

Hi,
I'm a pretty avid PC gamer, and I really want a new way of interacting with the virtual world of games. I'm working on virtual reality gloves that utilize the Arduino Leonardo. I've planned everything out, except how to program the motion control. I'm using an analog triple axis accelerometer and two analog dual axis gyros to sense all 3 axes of rotation. I chose to go analog because it seemed much easier to work with. I have thought of a few different approaches, but I'm still not sure. I want to get an effect similar to a wii remote, sensing each glove's position and angle in space.

Here's my take:
I suppose I could calculate the direction of each movement. I would create a 3D vector with that. I would then subtract the calculated pull of gravity (the sensors would be calibrated before use). Using this vector, I could figure out how fast the gloves are moving and where they are based on how much they have accelerated, and for how long they have been in motion before deceleration. Then I would factor in the rotation and keep track of gravity with this rotation.

I'm just not sure this is the best approach. It's the best one I've thought of at least. I'm just wondering if anyone knows a better way to do this, if there's some standard procedure that companies like Nintendo follow when coding such a device.

Whether or not there are any better solutions, I'm still really determined to get this working. I want to apply what I'm learning in High School right now and make something cool, learn something, and have fun in the process.

I would really appreciate any help.

Thanks,
-Dylan

Calculation deflection by integrating acceleration is fine in the short term, but the longer you do it for the more you'll suffer from integration errors which will lead to the calculated deflections and speeds gradually getting less and less accurate. Acceleration sensing would work best as a means to detect changes in position and speed responsively over the short term, while using some form of absolute position sensing over the longer term to eliminate the integration errors.

That makes a lot of sense. I was worried about how the gloves would sense position in the long term. What would you suggest for sensing absolute position?

It seems to me that a Kinect might work. I'll be using this with an omni directional treadmill at some point in the future (http://www.kickstarter.com/projects/1944625487/omni-move-naturally-in-your-favorite-game) though, and it seems that this wouldn't work in such a case where I would be rotating, unless I had an array of kinects. Still, I would be happy using a kinect now, but perhaps there is a more efficient approach.

Thanks for your help!
-Dylan

FutureInventions:
Still, I would be happy using a kinect now, but perhaps there is a more efficient approach.

I suppose you have found the Razer Hydra - right?

http://www.razerzone.com/gaming-controllers/razer-hydra

Essentially a 3D magnetic tracker system; I have one (got a discount on it as an owner of the Rift dev kit) - but I have yet to try it out.

Not sure whether it will end up being better or worse than my Ascension Flock of Birds - but it certainly is cheaper (I got my two sensor flock via Ebay - which was waaaaaaay cheaper than buying such a system new!).

As for homebrewing your own magnetic tracker? Well - despite my early naivete on how easy it could be (see http://www.phoenixgarage.org/show_article/104) - it's actually very difficult to do (imagine that). Basically, just sensing the EM pulse and calculating position based on relative strength of the fields is one thing - the difficult part is overcoming the signal-to-noise ratio. Plus a lot of processing to turn it all into a set of numbers. Not really something you could easily do with a standard Arduino...

All that said - I'm going to let you on to a little "secret" out there in the web and real world - a homebrew magnetic tracker created around 2000/2001 by a guy named "Juan F. Herrera" - first off:

http://www.reocities.com/CapeCanaveral/hangar/5801/tracker_cellar/index.html

Unfortunately, not much is left there - except that little FTP link (btw - there is text in the black block area - highlight it to view it):

ftp://ftp.circuitcellar.com/pub/Circuit_Cellar/2001/133/

Essentially - he got an article published about his tracker in Circuit Cellar magazine ("Magnetic Position Tracker", August 2001, #133). At that FTP link, the file "herrera 133.zip" is what you want to download - but sadly, it doesn't contain the article itself! But maybe you can find a copy of it somewhere?

At the time (2000/2001), Mr. Herrera was at the Physics Institute of the Universidad de Antioquia in Medellin, Colombia; I was in contact with him a bit - but lost track of him - not sure where or what he's been up to since.

If you do find out - certainly share it with us!

Very interesting, thanks. Yes, I have known about the Hydra for a while. It really excited me at first, but then I discovered only a dozen or so games actually supported the motion controls. Kind of a bummer. It might be an option if I can figure out a way to hack it or obtain raw data from the software, but it's certainly very interesting. Relatively cheap too. It might be difficult to get accurate tracking if I'm moving around on an omni treadmill, however. Maybe there's a way to make a tracker with a very large area? I'll have to do some research on it and see what I come up with. I'll look for that article as well, and post whatever I find! :slight_smile:

Thanks a lot!
-Dylan