An introduction to inertial navigation systems

acc_sens

Long before ships relied on GPS to determine their location – and even before radio navigation systems such as LORAN, vessels relied on a still impressively sophisticated means of determining their position: inertial navigation. The theory is simple: if you keep a few very accurate gyroscopes and accelerometers on board, you’ll be able to calculate where you are relative to your previous position. Since electronic gyros and accelerometers are all over the place, [Sebastian] thought he would have a go at creating his own inertial navigation system.

The difficulty in using this method is that every gyroscope invariably has some error. Since the measurements from the gyros and accelerometers are integrated together, the error is also integrated, resulting in an increasing positioning error as time goes on. With a few clever algorithms and very good sensors, it’s possible to minimize this error.

[Sebastian] doesn’t have really great hardware – he’s only working with a accelerometer/gyro breakout board that’s good enough for experimental purposes. After reading the accelerometer data with an Arduino, he’s able to capture all the sensor data and read it into a Python script.

The next steps are to figure out a decent algorithm to integrate all the sensor data, and possibly add a barometer and magnetic compass for better compensation for errors. The project is still in the early phases, but seeing as how an inertial navigation system is one of the engineering triumphs of the early 20th century, we’re eagerly awaiting any progress updates.

Comments

  1. Reg says:

    “Long before ships relied on GPS to determine their location – and even before radio navigation systems such as LORAN, vessels relied on a still impressively sophisticated means of determining their position: inertial navigation.”

    Citation please.

    LORAN was invented by the Alfred Loomis during WWII. To the best of my knowledge, at that time a sextant, chronometer and book of tables was the means of obtaining an accurate fix. And except for coastal waters continued to be the standard until GPS became cheap. Inertial navigation is a late 20th century invention developed for ICBM guidance. Just a bit pricey for ships.

    • Protolamer says:

      Usable gyrocompass was invented in 1906 in Germany by Hermann Anschütz-Kaempfe, and after successful tests in 1908 became widely used in German Imperial Navy.
      – Wikipedia (with sources)

      • Steven-X says:

        I just looked this up myself. The US Navy uses INS in their submarine fleet. Hard to pick up LORAN when 500 feet below the surface. The USAF had INS systems in their fighter aircraft, with F-15 and later aircraft using Laser gyros. The 747 was one of the first commercial aircraft to use INS. Also keep in mind that LORAN and other radio-based systems (including GPS) are subject to jamming (my Air Force career was electronic warfare), so having an independent INS system is still important.

      • Jan says:

        Gyrocompass and inertial navigation isn’t the same thing.

        I think what the original author meant was navigation by dead reckoning – that is, indeed, known since antiquity, but is not the same thing as inertial navigation.

        • NaviGator says:

          I think you’re right, Jan. Practical inertial nav systems did not exist prior to the 60s. And, while a gyrocompass is an impressive accomplishment, it was an aid to dead reckoning.

    • hat says:

      Your point is well-made, but I wanted to add something: It’s not (just) the price that prevents use of INS on ships: Every INS drifts (because in real life your accelerometers and gyros don’t have infinite frequency response or infinitesimal zero offset), and the rate is often given as something like “x miles per hour” (counter to my intuition, which is that the drift should be in units of distance per time squared). The drift isn’t really a problem for an ICBM (flight time under 60 minutes), and works ok as an alternate navigation system for an aircraft (flight time of maybe a dozen hours), but it’s completely untenable for something like a ship (away for weeks or months at a time).

      The only reason it’s used on submarines is because you can’t (practically) use any sort of radio navigation while submerged, so the only choice is to use a really good INS and apply corrections whenever you can. Of course, you could apply the same INS corrections on a ship (e.g. by taking a reading with a sextant), but if you have to take sextant readings every night anyway, why bother with the cost of an INS?

  2. JulsPower says:

    But why????? because he can is a sufficient answer but alot of work for a wheel that already exist

  3. Derpigator says:

    Navigation grade gyros and accelerometers are very pricy ($10K and above for what you see on aircraft), even the cheaper sensors you find in missiles cost a few thousands.
    You won’t get anywhere with a 5$ sensors, even with the best algorithms out there you can’t make up for such errors.
    An interesting and viable option would be to navigate using GPS and switch to the INS if something blocks the GPS signal (Driving inside a tunnel for example).
    Or perhaps figuring out if you’re getting false GPS signals all of a sudden.

  4. Santiago says:

    It reminds me the South-pointing chariot, an old (2600 BCE) chinese navigational tool:

    https://en.wikipedia.org/wiki/South_Pointing_Chariot

  5. Aprone says:

    I’m curious to see how me minimizes error over time, because I’ve been faced with this same challenge in a recent project of mine. Eliminating drift wasn’t too bad, but I’m not at all happy with the error that builds up.

  6. slyrobotics says:

    *Cough* Kalman filter *cough*

  7. geekmaster says:

    Instead of Kalman, you can use Madgewick or other (better) fusion algorithms. Madgewick has also done pretty accurate position tracking with a foot-mounted IMU:

  8. IA599 says:

    This makes me think of the first car navi system available, introduced by Honda in 1981:

    http://en.m.wikipedia.org/wiki/Electro_Gyrocator

  9. geekmaster says:

    An interesting discussion of this topic in a forum:

    http://www.mtbs3d.com/phpBB/viewtopic.php?f=140&t=16425

  10. repurposer says:

    I look forward to using this technique in combination with telemetry and waypoints to automate my lawn mower, along with a fool proof kill switch in case it decides to mow next door… or the street

  11. DrStober says:

    Having done some poking around for material on the topic, there’s a fair bit of interesting research on how to get quality data out of MEMS based IMUs. Kalman filters are one option, but there’s other approaches being researched.

    I don’t have links handy, but I found these and others pretty easily before:
    “Improved Heuristic Drift Elimination with Magnetically-aided Dominant Directions (MiHDE) for Pedestrian Navigation in Complex Buildings” A.R. Jim´enez, F. Seco, F. Zampella, J.C. Prieto and J. Guevara

    “Heuristic Drift Elimination for Personnel Tracking Systems” Johann Borenstein and Lauro Ojeda

    There’s also been some other folks that try to characterize the drift and correct for it that way. Part of the problem is that there’s multiple sources of gyro drift and elements of the drift error can vary substantially due to the physical differences in each gyro and even each gyro axis.

    GPS combined with IMU’s are great. However, there’s a lot of interesting stuff you can do with accurate and precise indoor location data. For example, Dr. Johan Borenstein was working on first responder applications (see: http://mrl.engin.umich.edu/PE_Indoor.html).

  12. Hattori Hanzo says:

    This is going to be interesting. My well educated guess is that he will quickly find out that his neat idea will be as good as useless with affordable sensors when used for times longer than some seconds.
    It might be enough to sense a turn between GPS updates, but actual navigation based on cheap sensors is just not feasible yet. You need external sources to stabilize your IMU’s data or you will land in some far away place just by waiting long enough. And depending on your sensors and the needed accuracy, long enough might be in fact extremely short.

  13. Galane says:

    The F-111 had a quite precise inertial navigation system plus terrain following radar, automatic landing and pretty much automatic everything else.

    The pilot would set the coordinates of their takeoff point then set the coordinates of their destination. After setting some other parameters like altitude limits they could pretty much sit back and enjoy the ride. IIRC, one thing the F-111 could not to automatically was drop its bombs. Had to have a human in the loop to press the button at the right time.

    I don’t know if the planes got upgraded systems as the years went by. Their modular electronics systems took up a lot of volume. As electronics became smaller and more integrated, there would’ve been large amounts of space opened up to pack in more equipment.

    • Nah. That isn’t how the Air Force works.

      Most of the systems used in aircraft are original, never really get a lot of updates.

      Rule of thumb for the military: Everything is 10 years behind, and that is only after they adopt something.

      The F-111 was using 1970s and 1980s techonology, maybe a minor upgrade here and there, but the 1970s and 1980s technology was tested and reliable, so the Air Force has no reason to upgrade.

      Even our more modern aircraft like JSTARS and AWACs depend on early 1990s technology.

  14. hey!
    as the author of the mentioned blogpost i just wanted to thank you for the traffic. until yesterday i had about 400 pageviews on the blog, half of them probably being myself, today the counter says 6000. and i got some helpful comments.
    i’m currently studying for my finals, but i hope to find a free weekend to come back to the project soon.

    to address some of the comments here: i’m very well aware of the fact that with these cheap sensors the results will not be accurate – that’s why the whole blogpost starts with the thoughts on error propagation. however, the first use of this thing will be on a water-rocket – flight time of about 10 seconds.

    regards

    • Hattori Hanzo says:

      Ach sieh an, einer von der TUM :)

      For a model rocket, as strange as it sounds, you should do much better than for e.g. a pedestrian.
      Good luck, though, anyways.

  15. LordNothing says:

    i kinda started playing with my imu but havent figured out all the filtering algorithms, let alone figure out how to do them on a platform without an fpu (which will be a job in itself). this article was no help, my tools are already orders of magnitude more complete than this one. a graph does not progress make.

  16. On USAF Aircraft, we use a combination of INUs and GPS, the INUs will eventually drift, there is an acceptable limit on drift (roughly 0.8 nautical miles over a certain period of time is the limit), but combined with GPS, the INUs can self correct for drift, that way you are only dependent fully upon the INUs for Inertia only navigation when the GPS signal is lost.

    We use Ring Laser Gyroscopes for our INUs.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 93,546 other followers