[DIY]6DOF tracking with wiimote IR cam for Z800 calibration
-
- 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
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.
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
-
- Cross Eyed!
- Posts: 119
- Joined: Sun May 27, 2007 11:59 pm
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.
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.
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
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.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.
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
-
- Cross Eyed!
- Posts: 119
- Joined: Sun May 27, 2007 11:59 pm
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.android78 wrote: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.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.
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.
-
- Cross Eyed!
- Posts: 119
- Joined: Sun May 27, 2007 11:59 pm
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)android78 wrote: Other features I feel are far more important at this point.
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..
-
- Certif-Eyed!
- Posts: 642
- Joined: Sat Sep 22, 2007 3:11 am
- Location: Valencia (Spain)
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.
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
-
- Cross Eyed!
- Posts: 119
- Joined: Sun May 27, 2007 11:59 pm
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.
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.
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
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.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.
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
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.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.
Last edited by android78 on Wed Jul 02, 2008 11:30 pm, edited 1 time in total.
-
- Cross Eyed!
- Posts: 119
- Joined: Sun May 27, 2007 11:59 pm
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.
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.
-
- Certif-Eyed!
- Posts: 642
- Joined: Sat Sep 22, 2007 3:11 am
- Location: Valencia (Spain)
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
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
-
- Certif-Eyed!
- Posts: 642
- Joined: Sat Sep 22, 2007 3:11 am
- Location: Valencia (Spain)
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 If someone wonders, no, I'm not showing my face. I don't feel like ever doing so
Those 2 scripts should be enough for anyone to create their own 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 If someone wonders, no, I'm not showing my face. I don't feel like ever doing so
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
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
I like the Video (an use the same mouse ).
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.
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!
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!
-
- Certif-Eyed!
- Posts: 642
- Joined: Sat Sep 22, 2007 3:11 am
- Location: Valencia (Spain)
-
- Certif-Eyed!
- Posts: 642
- Joined: Sat Sep 22, 2007 3:11 am
- Location: Valencia (Spain)
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.
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
- phil
- Cross Eyed!
- Posts: 160
- Joined: Sat Apr 26, 2008 4:23 pm
- Location: Montréal, Canada
- Contact:
crim3 - Thanks very much for sharing that code!!
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!
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!
- StereoGaming4Me
- Two Eyed Hopeful
- Posts: 70
- Joined: Sat Dec 22, 2007 3:38 am
genetic wrote: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.android78 wrote: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.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.
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 = (