[DIY]6DOF tracking with wiimote IR cam for Z800 calibration

Tutorials on how to create your own rigs, pics, movies, and everything that has to do with S-3D at home!
Post Reply
crim3
Certif-Eyed!
Posts: 642
Joined: Sat Sep 22, 2007 3:11 am
Location: Valencia (Spain)

[DIY]6DOF tracking with wiimote IR cam for Z800 calibration

Post by crim3 »

I have exciting news for the Z800 users. Finally I implemented the Alter's 3 point pose equations in glovepie using the wiimote IR camera as video source. The glovepie script is basically a translation from Alter's equations implementation found in the free-track source code. So, now I'm trying to contact the authors to give me permission to share this script.

Free-track will support wiimote on the next release, so, why is this script so important? What I'm really after isn't head tracking, but a reliable absolute position source that can be used to calibrate the z800 tracking data constantly.
I did some firsts tests yesterday and it works pretty cool. When you are inside the view of the camera, the calculated orientation data is used to obtain the angle offsets for z800's yaw, pitch and roll (as a plus you have translation on the 3 axis). Then, when you turn your head out of view of the camera the orientation is perfect. In the case you stare too much outside the camera's view, you only have to look forward for an instant to obtain the new offset values. The target is to forget about the recenter key/button and forget about the tracker performance. Just to look around naturally and concentrate in the experience.

You need to buy a wiimote, build a 3 leds "cap" model (I did mine with the plastic structure of an old HP printer from the trash. I think it's PVC, very good to model DIY clumsy things) and set up/complete the script to each one needs. I still have to try it more, but it looks like those z800 users (and maybe vr920 users, as glovepie also supports them) who will go through all this won't regret the effort.

I sent a note yesterday to the free-track authors through their contact page at their web. I'm still waiting for them to reply.
Zalman Trimon ZM-M220W / Acer H5360 with Another Eye2000 shutters / nVIDIA GTX760
genetic
Cross Eyed!
Posts: 119
Joined: Sun May 27, 2007 11:59 pm

Post by genetic »

Sounds cool! No doubt this is a major triumph.

However, I need 360 degree rotation so I’m guessing this is out for me. I understand how great this is just the same, on my computer the ctrl + shift + c? never recentered for me. I always relied on the in game “center view” button. For most games it works great but a few games don’t even have that button and I have to look up to fix it. One advantage of standing and playing is that you can’t off center your yaw but the pitch gets off about every 5 min requiring a button push or a quick look up.

I’m happy to hear about your work. It looks like the z800 will continue to be the best (yet obscure at this point) HMD under $14000 for at least another year or so as TD visor thinks head tracking is a perk rather than a necessity.
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

genetic wrote:I’m happy to hear about your work. It looks like the z800 will continue to be the best (yet obscure at this point) HMD under $14000 for at least another year or so as TD visor thinks head tracking is a perk rather than a necessity.
I believe that the way applications like freetrack are going, especially if you need to use a freetrack like application as well as the built in trackers to constantly re-calibrate them all the time, I feel that the inbuilt trackers are becoming obsolete. Therefore, I don't think in built head tracking would impact my decision to puchase a HMD. Other features I feel are far more important at this point.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11407
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

Oh, this could be interesting. I guess this should work for the VR920 as well, that would be cool.
genetic
Cross Eyed!
Posts: 119
Joined: Sun May 27, 2007 11:59 pm

Post by genetic »

android78 wrote:
genetic wrote:I’m happy to hear about your work. It looks like the z800 will continue to be the best (yet obscure at this point) HMD under $14000 for at least another year or so as TD visor thinks head tracking is a perk rather than a necessity.
I believe that the way applications like freetrack are going, especially if you need to use a freetrack like application as well as the built in trackers to constantly re-calibrate them all the time, I feel that the inbuilt trackers are becoming obsolete. Therefore, I don't think in built head tracking would impact my decision to puchase a HMD. Other features I feel are far more important at this point.
Im always a bit surprised by head tracking opinions. Yes there are some interesting camera based options entering the market but very good and affordable options already exist. If TD visor wants to put out a product now, then they should have a head tracker that works now. Leave the future options for a future HMD.

Also I will beat a dead horse here but the Z800 head tracking is great! Pushing a “center view” button every 5 minutes may not be optimal but it is far from a hassle compared to what you are getting.

Apparently, I got the magic unit with wonderful tracking. That or the other product that others have tried and didn’t like did not use both gyros and a compass or was of poor quality.

This is what I know after hundreds of hours over the last few years.

If the headtraking with (my magic z800) is bad, it is because of fps issues or stereo driver issues.

Case in point: DOOM 3 with 93.xx stereo drivers has really bad tracking. Disable S-3D and it has great tracking. Install the 169.xx? stereo drivers and the tracking is now very good in S-3D.

Finally, the gyro + compass combo gives 360 degree freedom where as you would have to rig up more than one camera and have supporting software to do the same with a camera tracker.

I love new solutions but I also need a tracker for the here and now.
genetic
Cross Eyed!
Posts: 119
Joined: Sun May 27, 2007 11:59 pm

Post by genetic »

android78 wrote: Other features I feel are far more important at this point.
As for far more important features here is my opinion (after hundreds of hours logged, seriously, I’m surprised that my visor is still going after the abuse I have put it through)

1. headtracking - if there was a REASONABLE third party tracker or add on then no tracking on the HMD itself would be fine.

2. S-3D

3. That f-ing wire!!!!!!!! -If only wireless VGA was viable…..

4. FOV -money solves this problem
http://www.tekgear.ca/index.cfm?pageID= ... elist=1,83

Pisight not an option because of unique multi display requirements.

5. Picture quality. –apparently improved with the TD visor but then you must buy your own tracker from $200 and up or smash a gyroscopic mouse on your head which is probably not of the best quality..
crim3
Certif-Eyed!
Posts: 642
Joined: Sat Sep 22, 2007 3:11 am
Location: Valencia (Spain)

Post by crim3 »

I have always suspected that my z800's head tracker performs worst than it should. I was the only one complaining about it at the z800 forum. The problem is that I can't compare it to be sure. But, since I bought it, I've been obsessed with the head tracking.

I still don't have any reply from those guys of free track. But it's open source anyway, so I'll post a script today or tomorrow. I just wanted to be polite with them as I admire freeware projects that reach professional quality levels.

Remember that I have done it to fullfil my own needs. I share it just in case that it can be useful to someone else. None is forced to use it.
Zalman Trimon ZM-M220W / Acer H5360 with Another Eye2000 shutters / nVIDIA GTX760
genetic
Cross Eyed!
Posts: 119
Joined: Sun May 27, 2007 11:59 pm

Post by genetic »

Yeah, I wonder. eMagin was infamous for poor quality control. If I do have to replace it in the future rather than upgrade, it will be a stressful purchase indeed.

However, it could be that our headtracking is the same but we are not. I think Cybereality recently said that he could detect the difference between 60fps and 90fps, or something like that. I can only tell when it is smooth or not. Maybe you have better than average spatial awareness.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11407
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

genetic wrote:However, it could be that our headtracking is the same but we are not. I think Cybereality recently said that he could detect the difference between 60fps and 90fps, or something like that. I can only tell when it is smooth or not. Maybe you have better than average spatial awareness.
It also matters where you are and which direction you are making the zero vector. For example, I have recently noticed the headtracking on the VR920 is much improved when I use it in my living room. In my bedroom, its a bit jittery. So orientation may play a bigger role than the subtle differences in tracking between devices. Unlike the FPS thing, its pretty clear when the headtracking gets wonky. But surely some people will notice more than others.
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

It also matters where you are and which direction you are making the zero vector. For example, I have recently noticed the headtracking on the VR920 is much improved when I use it in my living room. In my bedroom, its a bit jittery.
If the Z800 is using a digital compas, then electromagnetic interferance would play havock with them. I remember playing with the digital compases at uni and they were really bad when using them inside concrete or metal buildings. Even just being close to a large metal object would throw them out something shocking.
Last edited by android78 on Wed Jul 02, 2008 11:30 pm, edited 1 time in total.
genetic
Cross Eyed!
Posts: 119
Joined: Sun May 27, 2007 11:59 pm

Post by genetic »

You are not wrong in theory but in practice I have never had the slightest problem with that. You would need a very strong magnet or have it be very close. You may remember crim3’s experience with that but for me, I just never leave them near a speaker or hard drives as advised in the instructions and I have never had a problem.

I also use some earbud headphones that have powerful-ish magnets in them. When I first got them I simply checked their magnetic field with a compass deemed them safe and moved on.
crim3
Certif-Eyed!
Posts: 642
Joined: Sat Sep 22, 2007 3:11 am
Location: Valencia (Spain)

Post by crim3 »

I also think that electromagnetic noise may affect the motion sensor to some extend. Even sometimes I have seen a relation between changes in the sound received from the earphones and head tracking. But in a electricaly noisy environment is difficult to came to a conclussion.

If I want perfect precission is because as a flight simmer, when I look at the forward direction I need to be looking forward in the sim, too. I compensate little deviations rotating the chair a bit looking for the new forward direction. Sometimes it's too much and it's uncomfortable, 'cos the joystick, throttle, etc stay at the same place.
But what I really hate is when the pitch (and sometimes yaw) keep moving very slow meanwhile the head keeps steady. Sometimes just a second sometimes about 5 or 6 seconds. I have to wait till it stops moving and then a head movement returns everything back to normality. By Murphy's law, it use to happen during landing.

I think that, in general, the z800 has a great motion sensor with a great driver. If you don't recenter it tends to be very consistent over time. The problem is that it's constantly deviating and compensating and the experience is deteriorated. But when there is no need of a reference direction, that is, a game that can be played standing up, this motion sensor is perfect. The problem is that very few games allows proper head tracking (mouse emulation for head tracking should be forbidden by law! :) ). When you feed the game with absolut angles then you don't have to care about fps like with mouse emulation.

I had time yesterday to fly a bit more and "the thing" is working quite well. I'm eager to put the script on the forum in the hope that it can help someone else as much as it does for me. I'll do it this evening when I'm back home (will be about noon at the other side of the ocean, I think).

In case someone thinks that I'm attaching a wiimote to my head, I have to explain that it's used as a web cam, not a motion sensor. It lays on the monitor. In the head you need to wear the IR leds (more exactly, on the HMD in my case). What makes the wiimote specially good for optical head tracking over a webcam is that the hardware in it does the image processing job and give to the computer the final result, dot coordinates on the image. I plan to do a video to show it. I quick and dirty one.

What a long rant... o_O! Sorry, it looks like sometimes I have a need to express myself. If I could do it in spanish I would overflow the forum :)
Zalman Trimon ZM-M220W / Acer H5360 with Another Eye2000 shutters / nVIDIA GTX760
crim3
Certif-Eyed!
Posts: 642
Joined: Sat Sep 22, 2007 3:11 am
Location: Valencia (Spain)

Post by crim3 »

Ok, the glovepie scripts:
- The basic demo. It doesn't outputs to anything, only shows a 3D model sample moving with the optical data. The model (bigship.x) is included.
- The generic 6DOF script mixing z800 data with optical data. It outputs to a TrackIr emulation (glovepie's FakeTrackIr)
- And my cheesy video :oops: If someone wonders, no, I'm not showing my face. I don't feel like ever doing so :P

Those 2 scripts should be enough for anyone to create their own scripts.
Zalman Trimon ZM-M220W / Acer H5360 with Another Eye2000 shutters / nVIDIA GTX760
User avatar
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

I like the Video (an use the same mouse :D).

I think I never saw a video showing all the details of a HMD (Z800).
Maybe you want to make one more showing the HMD in detail - and how it looks through the glasses, if that is possible/reasonable at all.

@ topic: I'm sorry I don't have the necessary devices, so I couldn't test.
However thanks for sharing.
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
crim3
Certif-Eyed!
Posts: 642
Joined: Sat Sep 22, 2007 3:11 am
Location: Valencia (Spain)

Post by crim3 »

LukePC1 wrote:Maybe you want to make one more showing the HMD in detail - and how it looks through the glasses, if that is possible/reasonable at all.
Yes, sure.
Zalman Trimon ZM-M220W / Acer H5360 with Another Eye2000 shutters / nVIDIA GTX760
crim3
Certif-Eyed!
Posts: 642
Joined: Sat Sep 22, 2007 3:11 am
Location: Valencia (Spain)

Post by crim3 »

Here it is:
http://www.youtube.com/watch?v=3k8UMXwT810

The auto adhesive Velcro tape over the z800 is not included in the package :)

If I'm missing something you wanted to see in the video just tell me.
Zalman Trimon ZM-M220W / Acer H5360 with Another Eye2000 shutters / nVIDIA GTX760
User avatar
phil
Cross Eyed!
Posts: 160
Joined: Sat Apr 26, 2008 4:23 pm
Location: Montréal, Canada
Contact:

Post by phil »

crim3 - Thanks very much for sharing that code!! :D

I've borrowed the 3D pose equations from your script and put them in my game for the TrackIR support - it's a big improvement over what I had before. 8) (thread)

Cheers!
crim3
Certif-Eyed!
Posts: 642
Joined: Sat Sep 22, 2007 3:11 am
Location: Valencia (Spain)

Post by crim3 »

that's great :)
Zalman Trimon ZM-M220W / Acer H5360 with Another Eye2000 shutters / nVIDIA GTX760
User avatar
StereoGaming4Me
Two Eyed Hopeful
Posts: 70
Joined: Sat Dec 22, 2007 3:38 am

Post by StereoGaming4Me »

genetic wrote:
android78 wrote:
genetic wrote:I’m happy to hear about your work. It looks like the z800 will continue to be the best (yet obscure at this point) HMD under $14000 for at least another year or so as TD visor thinks head tracking is a perk rather than a necessity.
I believe that the way applications like freetrack are going, especially if you need to use a freetrack like application as well as the built in trackers to constantly re-calibrate them all the time, I feel that the inbuilt trackers are becoming obsolete. Therefore, I don't think in built head tracking would impact my decision to puchase a HMD. Other features I feel are far more important at this point.
Im always a bit surprised by head tracking opinions. Yes there are some interesting camera based options entering the market but very good and affordable options already exist. If TD visor wants to put out a product now, then they should have a head tracker that works now. Leave the future options for a future HMD.

Also I will beat a dead horse here but the Z800 head tracking is great! Pushing a “center view” button every 5 minutes may not be optimal but it is far from a hassle compared to what you are getting.

Apparently, I got the magic unit with wonderful tracking. That or the other product that others have tried and didn’t like did not use both gyros and a compass or was of poor quality.

This is what I know after hundreds of hours over the last few years.

If the headtraking with (my magic z800) is bad, it is because of fps issues or stereo driver issues.

Case in point: DOOM 3 with 93.xx stereo drivers has really bad tracking. Disable S-3D and it has great tracking. Install the 169.xx? stereo drivers and the tracking is now very good in S-3D.

Finally, the gyro + compass combo gives 360 degree freedom where as you would have to rig up more than one camera and have supporting software to do the same with a camera tracker.

I love new solutions but I also need a tracker for the here and now.

I'm another person who owns a magical z800 with perfect head tracking, there are settings in the software even to fine tune it. I just can't handle the stereo long with head tracking enabled --> instant headache = (
Post Reply

Return to “Do it Yourself!”