-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question about the yaw axis (magnetometer) values #8
Comments
I don't know about your particular setup, but the magnetometer is the flakiest part of the sensor and unfortunately the only information you have for the yaw-axis. |
Hello, @ssokol. The Euler values are relative to magnetic north and the code doesn't know about true north. Yes, I think you might be expecting too much from the device, but if you want more accuracy then an advanced calibration method like the one @thesummer suggests might be a good idea. |
@DavidEGrayson Thanks for the response. I may look into the more detailed calibration method but it's not mission critical in this instance as my project also includes a GPS which can provide the heading. I'm fairly sure that there is a way to overcome the issue as there are similar MEMS-based AHRS products on the market (see http://www.aviation.levil.com/AHRS_micro_DataSheet.pdf) that claim 0.1 degree resolution. @thesummer If you happen across the code you used for calibration I would grateful. I've tried reducing interference by taking the unit out into the yard to calibrate and test, but the issue remains. Not sure how to do the calibration motion with the unit mounted in a plane -- it's not aerobatic so the range of motion is relatively limited (if you want to live). |
I found this article from another AHRS vendor helpful in understanding the calibration process: http://www.vectornav.com/Downloads/Support/AN012.pdf @ssokol Of course specs for "resolution" are not the same as specs for "accuracy", but it does seem like you should be able to get better results than you describe. |
Ok. I found the calibration file and edited it, so I can share it without embarrassing myself ;-) I didn't have the time to test it again, but I think it should work or at least give you an idea. In general I would be interested to know if this method really yields better results for you. Best regards, Jan |
@ssokol Out of curiosity, have you had a chance to test the other magnetometer calibration? |
Unfortunately not yet. Family and job seem to take up too much time... Will reply when I have done. Sent from my iPhone On Jun 24, 2013, at 8:09 PM, Jan Sommer [email protected] wrote:
|
@thesummer Finally got a chance to try out your code. I've not yet taken out the old Silva compass for the ultimate comparison, but the rough value is MUCH closer to what I would expect. I'm going flying tomorrow and I'll let you all know how it works out in the "target environment". |
I'll keep this issue open because @thesummer's new calibration script and his modifications to my code look like they might be useful, especially since @ssokol said the result was "MUCH closer". My current calibration script (in minimu9-ahrs version 2.0.0) takes about 18 minutes to run and sometimes produces totally invalid calibrations (along with a warning), so there is room for improvement. |
David,
I've been working with the unit and the code for several days now and have noticed that:
even after calibration the "north" value does not correlate with magnetic north as shown by my trusty Siva compass. It appears to be off by ~-15 degrees.
if I rotate the device a perfect 180 from the perceived 0 to its opposite, the device reads not 180 but 200
If I create a correction factor of 15 degrees to "true up" the north reading, then swing the device around 180 it reads 224 (!?!?)
Is the Euler value output corrected for "true" north vs. magnetic north?
I've tried moving the mounting around to several place (it's currently attached to the outside of the plastic housing that contains the Raspberry Pi) with similar results.
Any suggestions? I've re-run the calibration utility multiple times. Am I simply expecting too much from the sensor? Does it need to be attached to a dongle that is several feet from the Pi? (How long can you extend an i2c connection?)
Many thanks for your advice.
The text was updated successfully, but these errors were encountered: