DIY Head Tracker For A Tenner

Sounds like someone is building the sketches with the device set incorrectly so the boot loader is being overwritten with the wrong one. This would then cause the official drivers to stop working.

I can assure you we don't touch the bootloaders ;)
 
I used some quick drying 2 part epoxy to lock/secure the microUSB socket in place. I wonder if a dab of that on the temp reading part of the board would insulate it and make it change temp much less.

Trouble is, which part of the board is the temp sensor.

The temp sensor is within the MPU IC. Interesting tip : stick your finger on it while watching the calibration; it's pretty sensitive!
 
I used some quick drying 2 part epoxy to lock/secure the microUSB socket in place. I wonder if a dab of that on the temp reading part of the board would insulate it and make it change temp much less.

Trouble is, which part of the board is the temp sensor.

Do we really thing ths unit's temp makes that much different to drift?
 
Definitely, from what I was seeing last night.

That would explain why after a calibration I'm getting a 0 drift over a 10-15 minute test, only to find later that day the drift is terrible - http://forums.frontier.co.uk/showpost.php?p=772535&postcount=2226

I'm beginning to wonder if the magnetometer version is the only true way out of this? Assuming the magnetometer can give a consistent directional reading!?

That or if temp has a consistent effect on drift, it is taken into account somehow.
 
Last edited:
That would explain why after a calibration I'm getting a 0 drift over a 10-15 minute test, only to find later that day the drift is terrible - http://forums.frontier.co.uk/showpost.php?p=772535&postcount=2226

Indeed. I'm going to try a calibration of the device at a constant temperature of 22 degrees (working, on head temperature) and see how that works in game. I could do with an angle-poised lamp to warm it up but don't have one, unfortunately. :)
 
Just so we're clear, and no-one thinks we've ever said otherwise, there is no way to eliminate the actual drift on the sensor of the MPU6050 without additional sensor fusing. The aim was always to get drift within acceptable limits for the purposes of head tracking; I've always worked to 60 minutes between button presses and I certainly get that in ED using the tracker natively with exponential mode and a high sensitivity.

Bad calibration will only exacerbate the issue, that's for certain.

I'm not trying to palm anyone off with excuses, I'm just being transparent with what we've always said and aimed for. If you're having to press that re-centre button every 5 minutes, then I would drop back a version to 2.20.4, ensure your calibration is spot on, and then feed back if you're still seeing the issue. Maybe it is related to 2.20.5 after all...
 
Just so we're clear, and no-one thinks we've ever said otherwise, there is no way to eliminate the actual drift on the sensor of the MPU6050 without additional sensor fusing. The aim was always to get drift within acceptable limits for the purposes of head tracking; I've always worked to 60 minutes between button presses and I certainly get that in ED using the tracker natively with exponential mode and a high sensitivity.

Bad calibration will only exacerbate the issue, that's for certain.

I'm not trying to palm anyone off with excuses, I'm just being transparent with what we've always said and aimed for. If you're having to press that re-centre button every 5 minutes, then I would drop back a version to 2.20.4, ensure your calibration is spot on, and then feed back if you're still seeing the issue. Maybe it is related to 2.20.5 after all...

It could simply be the more aggressive centering code in 2.20.4 dealt with drift better? ie: As temps change, and drift increases/decreases, 2.20.4 gave a more consistent result, where as the less aggressive 2.20.5 shows drift more readily?

My experience last night with 2.20.5 was I would come out of many combat situations with my view skewed. This would certainly happen before with 2.20.4, but not as often. I recalibrated the device again a few more times, and it seemed better towards the end of last night, but it was still occuring. I'll run some calibration tests and try and get an idea of how much my temp affects the drift compensation. I'll also flick between 2.20.4 & 2.20.5 to try and get a feel of how that affects it too.


ps: No one expects any miracles out of this little device, and I'm sure we all understand its limitation. But that said, it's a great little device :) And it would be great if the magnetometer version could help reduce/stop the drift issue :)
 
Last edited:
Indeed. I'm going to try a calibration of the device at a constant temperature of 22 degrees (working, on head temperature) and see how that works in game. I could do with an angle-poised lamp to warm it up but don't have one, unfortunately. :)

Can I suggest if people are calibrating they make a note of the "drift comp" value and their temperature? And build up a list of a few and post it here?

If there is a fairly reliable relationship that could then be built in to adjust the drift compensation according to temp that might be useful!

I'll certainly do a few tests and post my results here. ie: Drift compensation by temp.


If there is a relationship, you can imagine the calibration program being given an option to run a test in a loop (eg: for hours) where it simpy resets, tests for ten minutes, and checks itself and calibrates itself repeated accordingly with temp/drift. You could leave it while you're out for the afternoon doing a good solid calibration automatically ideally across as range of temperatures as the EDTracker warms up.
 
Last edited:
It could simply be the more aggressive centering code in 2.20.4 dealt with drift better?

Yep, that's what I'm thinking too, I think when Rob puts it as a tuneable parameter people can set it how they need it (or turn it off completely if they wish).

ps: No one expects any miracles out of this little device, and I'm sure we all understand its limitation. But that said, it's a great little device :) And it would be great if the magnetometer version could help reduce/stop the drift issue :)

Yep, agreed ;). I know what you're saying, and I think 99% of people understand, but there'll always be that 1% that are expecting some sort of commercial-grade solution, no matter how much we tell them otherwise ;)

Can I suggest if people are calibrating they make a note of the "drift comp" value and their temperature? And build up a list of a few and post it here?

If there is a fairly reliable relationship that could then be built in to adjust the drift compensation according to temp that might be useful!

I'll certainly do a few tests and post my results here. ie: Drift compensation by temp.

Rob did some of this in the early days and found it was a pretty linear relationship. There is some feature alluded to in the Invensense MPU around temperature compensation that the device is supposed to do itself, but I guess that was a locked-down feature or one that never really worked.

I think it's doable if it is indeed linear. Mag integration would be the next focus though, it's been on our list for too long :)
 
I think it's doable if it is indeed linear. Mag integration would be the next focus though, it's been on our list for too long :)
And is the belief that mag integration would be the end of drift compensation as such? ie: The unit would simply know which way you're head is really pointing and not guess?

Downside is of course we'd all need up upgrade our beloved existing EDTrackers? ie: The existing units don't have the magnetometers in :(
 
I'm not trying to palm anyone off with excuses, I'm just being transparent with what we've always said and aimed for. If you're having to press that re-centre button every 5 minutes, then I would drop back a version to 2.20.4, ensure your calibration is spot on, and then feed back if you're still seeing the issue. Maybe it is related to 2.20.5 after all...
I can assure you that my drift problem has NOT suddenly gotten worse with the newer firmware. It's simply coincidence that I recently posted this:

@brumster
Why can't the act of pressing the reset button (recentering it) automatically recalculate the drift? This would automagically handle changes in drift over temperature & time (so no need for fancy Y=MX+C to estimate the drift like I suggested before). This also seems like it *ought* to be simple to implement?

I'm just getting annoyed that I calibrate it one day, and it seems fine (well recenter every 15 minutes or so), and then the next day it's drifting like crazy (recenter every few minutes).
 
Yep, magnetometer integration should remove that need - although again, it's only going to be as reliable as the magnetometer calibration :) in all fairness the auto-centering will probably still be useful to remain, but toned right down and linked with the mag readings.

The 9050 mag isn't brilliant compared to a separate one, to be honest. It jumps around a fair bit and so will need some filtering. But using it purely as an occasional reference to centre, it should improve things. You can see here :-

Qbjo6sz1JwOw_UMNlOvwvZXFyd_AYPuTeABqFt56CjY=w682-h468-no


The grey line is the mag, green is gyro, yellow is accel. The gyro is pretty good, the mag is a little noisier and has the occasional mard, but certainly remains consistent...
 
I can assure you that my drift problem has NOT suddenly gotten worse with the newer firmware. It's simply coincidence that I recently posted this:

Hi Chris, arrgh I missed that post, sorry! - the problem with the suggestion is that the device needs to be still to calculate the yaw drift - so a button press isn't really suitable while playing, you'll never be able to keep your head still for a suitable period (the sensor is very sensitive!).
 
Yep, agreed ;). I know what you're saying, and I think 99% of people understand, but there'll always be that 1% that are expecting some sort of commercial-grade solution, no matter how much we tell them otherwise ;)

Please don't get me wrong, I think the EDTracker is a cracking solution for the money. I've found the new sketch to give me a much more stable experience, even with my hacky calibration I mentioned earlier. If I can get a calibration done at the working, on head temperature of 22 degrees, I'm expecting it to be even more stable...and increase past the 5 minute reset need.
 
@brumster
Why can't the act of pressing the reset button (recentering it) automatically recalculate the drift? This would automagically handle changes in drift over temperature & time (so no need for fancy Y=MX+C to estimate the drift like I suggested before). This also seems like it *ought* to be simple to implement?

I'm just getting annoyed that I calibrate it one day, and it seems fine (well recenter every 15 minutes or so), and then the next day it's drifting like crazy (recenter every few minutes).

The drift calibration needs time to work. It needs the device to be absolutely still, and to simply then see after a set time (eg: 10 mins) how far off "true" it thinks it is. If it thinks it's rotated 10 degrees, but in fact knows it really hasn't moved at all, then a drift compensation can be calculated.

Doing this test over a couple of seconds simply wouldn't get a good enough result.

So it needs to be over a good long period, eg: ten or more minutes, and even more importantly with the unit absolutely static.


The problem a number of seem to be getting, is that the unit's temperature may also play a part. ie: It may drift more/less with temp. Hence - http://forums.frontier.co.uk/showpost.php?p=773706&postcount=2249
 
Last edited:
I've started to save my free headlook only for looking around in combat. Any other time my drift is a reset every couple of minutes.

When I first got it, it was every 10 or so, and that was uncalibrated grrr.

wish there was a way to bind a JS/kb button to reset the track, I could cope with that every few minutes.
 
And is the belief that mag integration would be the end of drift compensation as such? ie: The unit would simply know which way you're head is really pointing and not guess?

Downside is of course we'd all need up upgrade our beloved existing EDTrackers? ie: The existing units don't have the magnetometers in :(

No everyone :p

No Indeed :D

The Mag sensor board you need is the MPU 9150 It's a straight upgrade for the 9050 ... it does cost about £14.00 from amazon though but i think going forward it's the full stop fix for our drift issues.


I think 99% of people understand, but there'll always be that 1% that are expecting some sort of commercial-grade solution, no matter how much we tell them otherwise ;)

All kudos to you guys for doing something that we couldn't do and then amazingly sharing it with the community, any moaning will be drowned under the praise I'm sure. :)
 
Back
Top Bottom