Head-tracking device

Talk about Head Mounted Displays (HMDs), augmented reality, wearable computing, controller hardware, haptic feedback, motion tracking, and related topics here!
Post Reply
User avatar
mcsilvio
Two Eyed Hopeful
Posts: 57
Joined: Tue Feb 22, 2011 3:10 pm

Head-tracking device

Post by mcsilvio »

Hi all,
With all the new headsets upcoming, this may be a bit old (read: many years old). But I'm only working on it today and I need your help :D

I've been trying to connect the head-tracking data from my *VR920* to Unity3D on OSX. Got it to work today! Had to connect it from Java to C# through sockets but all is done.

HOWEVER. As is written about on the Vuzix forums, the head-tracker uses the earth's magnetic field for returning Yaw. This is troublesome for many people apparently, and im no exception.

But the vr920 is a decent display! Also, sadly, the Pitch and Roll (accelerometer based) work well. But no yaw = no deal. Also, i want to make SOME use of this thing so I want to find a solution for better head-tracking.

Can anyone recommend a solution for this head-tracking? I am envisioning a strip or something that I can just place on top of my vr920s. 6DOF would be nice. Oh cheap too! ok now I'm being a brat.

Any ideas?
Cheers,
Marco.

PS. I WILL be buying one of these next HMD's. But I am still interested in solving the head-tracking for these.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11407
Joined: Sat Apr 12, 2008 8:18 pm

Re: Head-tracking device

Post by cybereality »

There are gyro chips you can get from a place called Sparkfun, that should be better than the Vuzix (I have not tried them though):
http://www.sparkfun.com/categories/183" onclick="window.open(this.href);return false;

However you would need to create a way to interface this with a computer, maybe using a Arduino or something similar.

If you want something all ready to go, maybe this would be a better option:
http://www.hillcrestlabs-devstore.com/s ... h-1/Detail" onclick="window.open(this.href);return false;

And if you want to go really cheap and easy, you may be able to just tack on a Wiimote with Motion+. The gyro in that is actually pretty accurate and far better than the VR920 (in terms of yaw).

If you only plan to use this for a stationary setup (meaning sitting in front of a keyboard) then you might even be able to put 2 IR trackers on the VR920 and use the Wiimote mounted on top of a monitor to track the yaw only. That might be a little more involved and probably more wonky then using a gyroscope.

Also, there is a ton of discussion here you should probably read if you haven't:
http://www.mtbs3d.com/phpBB/viewtopic.p ... 71&start=0" onclick="window.open(this.href);return false;
User avatar
mcsilvio
Two Eyed Hopeful
Posts: 57
Joined: Tue Feb 22, 2011 3:10 pm

Re: Head-tracking device

Post by mcsilvio »

hi cybereality!

wow. comprehensive reply. thank you very much for it. i will investigate these avenues. i want to look around 3d architecture, very much!

may i ask, 6DoF is the three axes rotation plus the three axes of movement? if so, to me this seems like complete potition and rotation orientation. I ask because I see 9DoF trackers and I wonder what the final three DoFs are. I imagine with 6DoF, the immersion would be greatly increased from 3DoF.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11407
Joined: Sat Apr 12, 2008 8:18 pm

Re: Head-tracking device

Post by cybereality »

Usually I think 6DoF refers to orientation and acceleration, and 9DoF also includes position. But I guess it could vary, I'm not sure.
nrp
Two Eyed Hopeful
Posts: 95
Joined: Tue Jul 19, 2011 11:19 pm

Re: Head-tracking device

Post by nrp »

Typically 6DoF refers to yaw, pitch, roll and 3 axes of linear movement. 9DoF can mean adding GPS latitude, longitude, and altitude, or adding a magnetometer to the mix, depending on context. Generally, it just means adding in an additional three axis sensor to arrive at the same 6DoF output, but more accurately.
WiredEarp
Golden Eyed Wiseman! (or woman!)
Posts: 1498
Joined: Fri Jul 08, 2011 11:47 pm

Re: Head-tracking device

Post by WiredEarp »

IMHO, anything higher than 6DOF is just marketing BS.

There are only 6DOF possible. xyz translation, xyz rotation. The 9DOF stuff is just a lame way of saying they have alternative ways of getting some of the data, for increased accuracy.
mars3554
One Eyed Hopeful
Posts: 24
Joined: Sat May 21, 2011 4:12 pm
Location: Minnesota

Re: Head-tracking device

Post by mars3554 »

I have a little knowledge about the subject. The "degrees" refer to the number of variables the unit will track.

[3] an accelerometer will detect g's in the x y and z direction but as the name implies, it is only acceleration.
[3] a gyro will detect change in radians/angles per second in the x y and z direction
[3] a magnetometer will detect direction of the earth magnetic field or artificial magnetic field in the x y and z direction.

3+3+3 = 9dof

The reason you need so many sensors in so many directions is because each sensor gives you different data and is only
good at a certain type of data. (simple explanation)

There is a lot of papers out on google about 9dof devices and how to get a heading out of them. The major push in the industry
right now is to have a monolithic device that has all 3 sensors (accl,gyro,mag) on a single IC including a micro that does all
the math and spits out exactly where your pointed. There is also a 10dof sensor with the last degree being barometric pressure.

With a sensitive enough device, it can figure out which level on a house it's at as pressure changes with height.

This is getting long but one last thing:
If you want a 9dof device that will spit UART messages through usb and then into some loopback UDP socket, the sparkfun razor is a good device.
Keep in mind though that sparkfun is charging a large markup for the device and if you have the effort, rolling your own board would be a
better solution.
User avatar
mcsilvio
Two Eyed Hopeful
Posts: 57
Joined: Tue Feb 22, 2011 3:10 pm

Re: Head-tracking device

Post by mcsilvio »

That's great info guys. Thanks. I *wish* that the magnetometer would be enough for yaw in this VR920. Alas, I will need to buy a third party unit. I'll check out the sparkfun razor.

The flaws in using a magnetometer for yaw: can they be compensated for in the software interpretation of the reading? or should i be looking for better hardware?

cheers,
Marco.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11407
Joined: Sat Apr 12, 2008 8:18 pm

Re: Head-tracking device

Post by cybereality »

If you are using this for a stationary setup (aka mouse/keyboard) you may want to look into FreeTrack:
http://www.free-track.net/english/" onclick="window.open(this.href);return false;
mars3554
One Eyed Hopeful
Posts: 24
Joined: Sat May 21, 2011 4:12 pm
Location: Minnesota

Re: Head-tracking device

Post by mars3554 »

mcsilvio wrote:That's great info guys. Thanks. I *wish* that the magnetometer would be enough for yaw in this VR920. Alas, I will need to buy a third party unit. I'll check out the sparkfun razor.

The flaws in using a magnetometer for yaw: can they be compensated for in the software interpretation of the reading? or should i be looking for better hardware?

cheers,
Marco.

Magnetometer gives you an absolute heading (instead of relative). Earth's magnetic north is fixed. The issue is that magnetometers have very slow response.

Your intuition is correct, they are compensated using gyros. Gyros have super fast response and can be super accurate but will "drift". If you think about it as being in a room and closing your eyes, well you can have a really good idea of where you are even if you take a few steps but after a while you will loose track.

The way I've seen the compensation work is to use speed as a confidence value.

eg. If I am turning really slowly, I will use mostly magnetometer readings and very little gyro readings.
If I am turning really quickly all of a sudden, I will use my gyro readings.

The issue with this method is that if you are constantly spinning at a higher speed, the magnetometer will never get a word in so you will become inaccurate but as soon as you slow down, your accuracy increases.

If you worked with dead reckoning navigation systems, it is somewhat analogous.
User avatar
mcsilvio
Two Eyed Hopeful
Posts: 57
Joined: Tue Feb 22, 2011 3:10 pm

Re: Head-tracking device

Post by mcsilvio »

mars3554 thanks for the help. it seems you know much about this. im thinking that i need to grab one of these sparkfun 9DoF IMUs. they seem reliable on youtube. while youre watching :D id like to ask: is there any reasonable way I can augment my surroundings so that the magnetometer becomes a reliable device for interpreting yaw?

i have this problem where the yaw reading is fine, except for a certain point in the pitch. as i pitch up or down, at a given point, the yaw becomes totally messed up. ill stop keeping this thread alive. :D:D many thanks,
marco.
User avatar
cadcoke5
Binocular Vision CONFIRMED!
Posts: 210
Joined: Mon May 24, 2010 8:43 pm
Location: near Lancaster, PA USA

Re: Head-tracking device

Post by cadcoke5 »

I think that magnetism can provide only one direction. If you added another magnet to try to do roll, then you would mess up your yaw.

I think that your vertical accelerometer is the way to get roll. If you are stationary, you typically stay with your head upright, and only occasionally roll your head. So you can "lock" onto this position as your reference, zero roll position. If you are doing a lot of walking, then it would be harder to extrapolate, but perhaps you can think of the reading as being an electrical AC signal with a DC component, and extract the true zero roll position.

Joe Dunfee
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11407
Joined: Sat Apr 12, 2008 8:18 pm

Re: Head-tracking device

Post by cybereality »

mcsilvio wrote: i have this problem where the yaw reading is fine, except for a certain point in the pitch. as i pitch up or down, at a given point, the yaw becomes totally messed up..
Unfortunately, that has just a problem with the VR920 tracker. If you calibrate it correctly you can sometimes help the situation, but I think everyone suffered from this. Thankfully the new 6TC tracker used on newer Wrap models (920VR, 1200VR) is a *lot* better in terms of the yaw. But I guess that doesn't really help you much if you want to use the VR920.
mars3554
One Eyed Hopeful
Posts: 24
Joined: Sat May 21, 2011 4:12 pm
Location: Minnesota

Re: Head-tracking device

Post by mars3554 »

mcsilvio wrote:mars3554 thanks for the help. it seems you know much about this. im thinking that i need to grab one of these sparkfun 9DoF IMUs. they seem reliable on youtube. while youre watching :D id like to ask: is there any reasonable way I can augment my surroundings so that the magnetometer becomes a reliable device for interpreting yaw?

i have this problem where the yaw reading is fine, except for a certain point in the pitch. as i pitch up or down, at a given point, the yaw becomes totally messed up. ill stop keeping this thread alive. :D:D many thanks,
marco.
I do not have a 920 tracker so I do not know what exactly they are doing with the software. With 6dof, (assuming 3 axis accelerometer, 3 axis gyro)
you can have an excellent elevation reading but your heading will eventually drift.

You could be running into Gimbal lock if they implemented the heading using Euler angles. Quaternion representation is all the rage these days but is
obscure to non mathematicians.

http://en.wikipedia.org/wiki/Gimbal_loc ... ler_angles

[youtube]http://www.youtube.com/watch?v=rrUCBOlJdt4[/youtube]
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11407
Joined: Sat Apr 12, 2008 8:18 pm

Re: Head-tracking device

Post by cybereality »

I don't think the VR920 suffers from gimbal lock, because the accuracy depends mostly on how you calibrate it. At times it will work good, then other times not. It isn't a consistent issue as it would be if it were merely a faulty algorithm. But that is not to say that better software couldn't help the issue. I just think its more of a hardware issue than anything else.
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: Head-tracking device

Post by Fredz »

Gimbal lock is a well know problem to programmers in the 3D field and there are numerous libraries to take care of it, without the need to really understand the mathematics behind quaternions. As an amateur game programmer that's one of the first thing I've been exposed to when I was doing character animation, so I'm pretty sure a company specialized in this field for a long time is well aware of this problem.
mars3554
One Eyed Hopeful
Posts: 24
Joined: Sat May 21, 2011 4:12 pm
Location: Minnesota

Re: Head-tracking device

Post by mars3554 »

Fredz wrote:Gimbal lock is a well know problem to programmers in the 3D field and there are numerous libraries to take care of it, without the need to really understand the mathematics behind quaternions. As an amateur game programmer that's one of the first thing I've been exposed to when I was doing character animation, so I'm pretty sure a company specialized in this field for a long time is well aware of this problem.
I'll stop guessing what the problem is then, seeing as I do not own one of these tracking devices.
Post Reply

Return to “General VR/AR Discussion”