DIY Head Tracker For A Tenner

Should be movement on all 3 axis corresponding to yaw, pitch and roll. So you should be able to move the x around the white square and see the z-axis move too. Do the UI pick up the tracker ? Next step would be to load the calibration sketch using Arduinio IDE and posting a screenshot of the UI for us to take a look.

Thanks for the feedback, not had a chance to run the UI yet (purchased a ready programmed unit), a touch busy currently, but when I get a chance to review the calibration instructions I will post the results
Thank you
Pete
 
Thanks for the feedback, not had a chance to run the UI yet (purchased a ready programmed unit), a touch busy currently, but when I get a chance to review the calibration instructions I will post the results
Thank you
Pete

The UI seems to show all axis working, though i did seem to have to install the driver for the UI to work (i was not using the micro driver on my other machine with the game installed, I'll try that next..)

Sorry didn't see an option to add an attachment
 
hi folks
sorry, but i don't have the time to read through all 145 pages of this (although it is a very interesting read!)
can someone point me in the direction where to get the bits needed for this and the software please ?
many thanks ;)
 
The UI seems to show all axis working, though i did seem to have to install the driver for the UI to work (i was not using the micro driver on my other machine with the game installed, I'll try that next..)

Sorry didn't see an option to add an attachment

Can you drop screenshots in an email to me at pocketmoon at gmail dot com ?

Cheers,

Rob
 
Can someone explain the calibration process/option? [I was calibrating because my view was seemingly drifting slowly to the right]


What does 3 (reset view/drift tracking) do exactly for example?

Should the process ALWAYS be to calibrate - Run the program. Press 3... wait X minutes press 8?

On one of my earlier tries this was the state of affairs after 10 mins.
image
edtracker1.png
What's interesting is the head is looking to the right, which was the problem I was experiencing in game, with my view seemingly drifting to the right.

On my last session, I came in and press 3 and just left it and after ten minutes had this.
image
edtracker2.png

So does that look OK/normal?

Compared to the manual why are the red and yellow dots miles off?

DMP Yaw means? Good? Bad?

Any advice/tips appreciated.

Anyone? Would be useful to know what the figures actually mean, such that you know what's actually good/bad? A DMP Yaw of 0.29? Good? Bad? Not important?

A definitive, this is what the keys actually do, would be useful too?
3 - "Reset" - Does that basically just reset the tracker to a forwards position (like the onboard button) and start the drift readings again?
8 - "Save Drift Compensation" - Apply the drift readings measured to the unit?

Are you basically after a situation where you'd run the program, press 3, and after X tens of minutes there's negligable drift in "Yaw Drift"?
 
Anyone? Would be useful to know what the figures actually mean, such that you know what's actually good/bad? A DMP Yaw of 0.29? Good? Bad? Not important?

A definitive, this is what the keys actually do, would be useful too?
3 - "Reset" - Does that basically just reset the tracker to a forwards position (like the onboard button) and start the drift readings again?
8 - "Save Drift Compensation" - Apply the drift readings measured to the unit?

Are you basically after a situation where you'd run the program, press 3, and after X tens of minutes there's negligable drift in "Yaw Drift"?

Hi,
DMP values are the pitch/yaw/roll values that the sensor is generating. In an ideal world with perfect bias calibration (done using the Calibration sketch) and a perfectly flat sensor, then these would be 0,0,0. The yaw value is the one we concentrate on as it will drift (the other two don't).

3/reset does the same thing as pressing the tracker button; it askes the tracker to assume the direction it's currently pointing is 'straight ahead'. This creates a static offset (e.g. +123) that then gets applied to the DMP yaw before it sends the data out as a joystick position.

If you hit 3 the tracker recentres and then starts to calculate any residual yaw rift. Once the yaw drift value stabilises (after a few minutes and, crucially, after the device has warmed up) then hitting 8 will take the current yaw drift value and store in on the tracker (this is show as Drift Comp on the UI). The tracker then continually adjusts the DMP yaw with this value.

So you get two yaw offsets. One is a fixed value that gets set when pressing 3 that centres the view, and the other is a value that is accumulatively subtracted from the DMP yaw to compensate for drift. If you get drift of less than 0.5 then that's great. The in-game 'self centring' should take care of things overall.

One thing that's noticable is that changes in ambient temp can effect the drift value. So a quick drift calc is good; let tracker warm up, hit 3, wait a few minutes, hit 8, job done.

If yo find that the drift comensation value is very large (say more than +/- 3.0) then you may need to load the Calibration sketch and recalc bias values.

See here for a vid of me running through the whole process, start to finish:

http://youtu.be/4ozsWSO2X-o

The reason your dots may be off center is a diffrence position from when it was calibrated. I perform both bias calibration and drift compensation with the tracker clamped in a small vice. Your final drift values look Ok though. Be sure to not have the UI running while your in-game as that stops the auto-centring being applied.

I'll stuck a video up soon explaining the auto-centring. It's your friend when combating drift :)
 
Stunning service from these guys . Personal service second to none . British shed mentality at is very best . Well done guys cant wait to try the pre built for dummies one you are sending me.

Well worth the small amount of beer vouchers . Top notch.
 
Hi,
DMP values are the pitch/yaw/roll values that the sensor is generating. In an ideal world with perfect bias calibration (done using the Calibration sketch) and a perfectly flat sensor, then these would be 0,0,0. The yaw value is the one we concentrate on as it will drift (the other two don't).

3/reset does the same thing as pressing the tracker button; it askes the tracker to assume the direction it's currently pointing is 'straight ahead'. This creates a static offset (e.g. +123) that then gets applied to the DMP yaw before it sends the data out as a joystick position.

If you hit 3 the tracker recentres and then starts to calculate any residual yaw rift. Once the yaw drift value stabilises (after a few minutes and, crucially, after the device has warmed up) then hitting 8 will take the current yaw drift value and store in on the tracker (this is show as Drift Comp on the UI). The tracker then continually adjusts the DMP yaw with this value.

So you get two yaw offsets. One is a fixed value that gets set when pressing 3 that centres the view, and the other is a value that is accumulatively subtracted from the DMP yaw to compensate for drift. If you get drift of less than 0.5 then that's great. The in-game 'self centring' should take care of things overall.

One thing that's noticable is that changes in ambient temp can effect the drift value. So a quick drift calc is good; let tracker warm up, hit 3, wait a few minutes, hit 8, job done.

If yo find that the drift comensation value is very large (say more than +/- 3.0) then you may need to load the Calibration sketch and recalc bias values.

See here for a vid of me running through the whole process, start to finish:

http://youtu.be/4ozsWSO2X-o

The reason your dots may be off center is a diffrence position from when it was calibrated. I perform both bias calibration and drift compensation with the tracker clamped in a small vice. Your final drift values look Ok though. Be sure to not have the UI running while your in-game as that stops the auto-centring being applied.

I'll stuck a video up soon explaining the auto-centring. It's your friend when combating drift :)

Thanks!

Surely the holy grail is if you load up the Calibration program, press 3, and after say 20 mins there is negligable drift? ie: The head is still forwards, and the "Yaw Drift" value is basically close to 0? eg - http://s2.postimg.org/cn3bo9np5/edtracker2.png
 
Last edited:
It's the main sketch which handles drift compensation but yes. With the auto-centre it's possible to play for 30 minutes/hour without having to reset 'forward' but as small a drift value as possible helps :)

I don't have any hard and fast value but less than +/- 0.2 is great. Anything less than +/-1.0 should be taken care of by the auto-centre.

I'm looking at temperature compensation for a future UI as well. It's tricky though because you have to cool and then warm the tracker to get a couple of data sets. This could be done while the tracker is in use to build up a profile over time. So the more you use it the better the temp compensation is.

Cheers

Rob
 
It's the main sketch which handles drift compensation but yes. With the auto-centre it's possible to play for 30 minutes/hour without having to reset 'forward' but as small a drift value as possible helps :)

I don't have any hard and fast value but less than +/- 0.2 is great. Anything less than +/-1.0 should be taken care of by the auto-centre.

I'm looking at temperature compensation for a future UI as well. It's tricky though because you have to cool and then warm the tracker to get a couple of data sets. This could be done while the tracker is in use to build up a profile over time. So the more you use it the better the temp compensation is.

Cheers

Rob
So 0.03 Yaw Drift is v.good then - http://s2.postimg.org/cn3bo9np5/edtracker2.png

Can't imagine the battle involved if temp. can effect drift, other than building up in effect a graph of drift by temp :S
 
It's the main sketch which handles drift compensation but yes. With the auto-centre it's possible to play for 30 minutes/hour without having to reset 'forward' but as small a drift value as possible helps :)

I don't have any hard and fast value but less than +/- 0.2 is great. Anything less than +/-1.0 should be taken care of by the auto-centre.

I'm looking at temperature compensation for a future UI as well. It's tricky though because you have to cool and then warm the tracker to get a couple of data sets. This could be done while the tracker is in use to build up a profile over time. So the more you use it the better the temp compensation is.

Cheers

Rob

Laptop + long USB lead to tracker in the fridge? (Not kidding).
 
So a quick drift calc is good; let tracker warm up, hit 3, wait a few minutes, hit 8, job done.

I would say it's critical that after you press 8, you then press 3 and watch the yaw value over the next minute. If it doesn't settle down to 0.0 (give or take 0.1) then leave it a further 5 to 10 minutes, re-press 8, re-press 3 and continue to repeat this process until the yaw stabilises to near-zero.

It doesn't always do it on one keypress.

Sorry Rob, just my experience! I still think an inferred head-reset should be performed after every keypress of 8 ;-)
 
Just built mine from the specs at edtracker.org.uk and the hobbycomponents package, works a treat! Only problem with the hobbycomponents package is the PCB they send isn't stripboard, none of the pads are connected together...

I've no idea if I did this right, but I ended up soldering all the links to pads adjacent to the pad for the pin they'd connect to, then bridging adjacent pads with strands of very thin wire (couldn't get the solder to glob between the pads). I'm decent at soldering so it's not a mess or anything, just wondered if there was a better way?

Also I didn't connect pin AD0 or the two extra ground pins on the arduino because the breadboard image on edtracker.org.uk didn't have them hooked up. I tested continuity and all the arduino grounds seem to be common, so decided not to bother.
 
what i did was to remove more of the insulation than was necessary, so i could then bend the excessive wire over to the arduino/mpu/switch pins on the adjacent pad.
i too have not connected any other pins than those necessary, works like a charm. the ground pins are connected on the aduino board anyway.
 
Just for you Dan :) Done. Soon (before Beta arrives)

While you're taking requests... Maybe show a timer of how long the configuration has been measuring drift for? eg: I was measuring 10-15 mins at a time, but would have been nice if it showed a timer counting up from the last reset?
 
Back
Top Bottom