Forum
Buying gear? Please use these links to help 14ers.com:

More info...

Other ways to help...

BackCountry Navigator Pro

Info on gear, conditioning, and preparation for hiking/climbing. Gear Classifieds
User avatar
Posts: 690
Joined: Mon May 07, 2007 9:44 am
Location: Castle Rock, Co

Re: BackCountry Navigator Pro

Postby dsunwall » Wed Sep 04, 2013 9:45 pm

jdorje wrote:Your magnetometer probably becomes uncalibrated faster when walking because of all the jarring and small rotations.
hmm, well I was only speculating, thought I had it figured out. You might be right, is this something you know from working with smartphones or from reading you have done?

User avatar
Posts: 1192
Joined: Wed Jun 16, 2010 3:33 pm
Location: Crestone, CO and/or Chapel Hill, NC

Re: BackCountry Navigator Pro

Postby jdorje » Wed Sep 04, 2013 11:26 pm

A bit of both, I suppose.

http://en.wikipedia.org/wiki/Magnetometer

The vector magnetometer in smartphones is an undocumented POS in my opinion. You'd think your phone's documentation would say something about it, tell you how to calibrate it, etc. You'd be wrong. My suspicion is that the goal is to hide how crappy the hardware actually is. Google has good android documentation, but it only covers the software side of things. The magnetometer in my phone is an AKM AK8963, or so it claims.

For a list of your sensors, a quick search turned up this app: https://play.google.com/store/apps/details?id=com.miian.android.sensors

My understanding (documentation on this seems scarce at best) is that it's three separate orthogonal linear magnetometers, most likely hall effect sensors. Each one detects the component of magnetic field going in its direction, and they can be combined to get a 3d vector. The approved way to "calibrate" the hardware is to spin it repeatedly on each of the three axes. This is a pain but seems to work. Other methods like waving it in a figure 8 seem unreliable by comparison. Note that this is a hardware thing: software calibration is completely separate.

Software calibration would, naturally, be done in the software end. Of course, any app can attempt its own calibration on the back end. But there's no way this could be done with a moving device + GPS. The GPS readout can give you the approximate heading of your movement, but the accelerometer cannot reliably tell you in which direction you are moving so there's no way to convert the direction of movement into a useful calibration. Imagine closing your eyes on a car/airplane/train, spinning around a few times, and trying to tell from your sense of balance which direction is forward.

Calibration is also done on the front end by the operating system. The typical phone has three hardware sensors for motion: magnetometer, accelerometer, and gyroscope. Two of these, the magnetometer and accelerometer, are present in almost all phones. Combining the vectors from each allows an orientation or "rotation vector" sensor: the accelerometer gives the direction of down and the magnetometer gives the direction of magnetic north (which not parallel to the surface). The gyroscope sensor just gives angular velocity measurements, and is pretty close to useless without the other two to calibrate it. But with these sensors there are sets of "software sensors" that are available. Here's where you would think good software calibration would be done, but in fact it seems rather disappointing; even the gyroscopic calibration is rather poor.
-Jason Dorje Short

Previous

Who is online

Users browsing this forum: cory1223oh and 9 guests