Ideally, a gyroscope and an accelerometer would be enough for a complete navigation solution (attitude + position), using dead reckoning. This comprise the Inertial Navigation System, INS. In non-ideal world, we would couple the INS with GPS. The GPS helps 'fix' the navigation solution at certain times, to help mitigate the drift in the INS output.

My question. Suppose I have no access to a GPS, but have access to a Spirit level instrument with associated camera and image processing algorithms. This system serves to provide an absolute values of pitch and roll angles, but with slower update rate and lower resolution. Still, it is assumed to be drift-free. Can such a system be used in place of normal GPS to achieve dead reckoning solution?

P.S. The reason for not using GPS is that I am trying to find a self-supporting navigation solution...


By itself, no, it cannot.

Your method of fixing the INS system is pretty clever, but it only accounts for drift in the gyroscope. Accelerometers are also (very) prone to drift, generally showing up as an increasing velocity bias. The typical method to account for accelerometer drift is to use zero-velocity updates. By detecting points when you are not moving, you can periodically remove any non-zero velocities from your model.

  • $\begingroup$ This does not work for a UAV which is consistently moving. Also, as far as I know, the accelerometer's output is reasonably stable over the long run; only over the short run is it unstable. $\endgroup$ – student1 Jul 28 '14 at 13:34
  • $\begingroup$ You're right, zero-updates won't work for UAV, though I can't think of any alternatives right now. And it's not your acceleration measurement that's the problem, it's the integration to velocity and position. The INS wiki gives a basic definition of inertial drift. $\endgroup$ – David K Jul 28 '14 at 13:46
  • $\begingroup$ Oh right. I guess my 'solution' can only be considered an improvement, rather than a complete alternative to GPS. $\endgroup$ – student1 Jul 28 '14 at 14:10

(MEMS) Inclinometers are just accelerometers with a narrow bandwidth, but higher stability properties. For example, compare the SCA103T vs the SCA1000 from the same manufacturer.

Even considering this, the original answer is still incomplete. The real problem is drift in height - you have about 9 minutes of useful navigation before it essentially becomes useless. This is true, even for insanely expensive ring laser gyros.

The reason is that errors in height cause an error in your predicted gravity, which you need to remove from the accelerometers before double-integrating. If the predicted gravity is wrong, then the error on the accelerometers will get larger, which causes more drift in height, which causes the gravity error to be even more wrong, which causes ....

So, the error in height is exponential. This is why typical "standalone" INS systems always have something like barometric altitude for aiding. GPS will do a similar thing (and have other benefits too).


  • $\begingroup$ Yes there will be a barometer. Thanks for the answer, but how did you come up with exactly 9 minutes? $\endgroup$ – student1 Jul 29 '14 at 16:42
  • $\begingroup$ about 9 minutes. Not exactly, it obviously depends on the exact drift. $\endgroup$ – MSalters Jul 30 '14 at 8:59
  • $\begingroup$ The 9.49 minutes is a fundamental result of inertial navigation and is a result of the interaction between gravity and height errors. I will need to edit the answer with the derivation. $\endgroup$ – Damien Jul 31 '14 at 21:40
  • $\begingroup$ With real sensors, you will get substantially less time. Position errors accumulate with $t^3$ of gyro errors and $t^2$ of accelerometer and attitude errors in the short term. If your accelerometer has a bias of $10mg = 0.1m/s^2$ (quite typical), you can use high-school physics is calculate the position error. $\endgroup$ – Damien Jul 31 '14 at 21:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.