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.
“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.
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)
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.
You say the 747was one of the first airliners to use INS. If so, how did piston powered airliners of the 40s and 50s fly across the Atlantic and Pacific?
As I recall from a documentary I saw, navigation could be a pretty seat of your pants thing where a pilot would fly well north or south of the destination using a chronometer to gauge longitude, then run north or south to intersect the desired latitude visually determining location. In any case a Google search indicates that the Sumner – St Hilaire method of solar navigation (Sextant) was often used. http://dc3airways.com/tech_editor/files/te_nav_lr_nav.pdf
They used celestial navigation which has been in use since the 1700’s.
They used sextant, compass and dead reckoning .. many military and commercial flights also had a navigator onboard.
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.
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.
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?
Most modern INS use automated position fixing systems, usually GPS, to restrain drift. Interestingly, it’s frequently the velocity source that best limits INS error.
The error rate of an INS isn’t a velocity, per se, but really an indication of the error as a function of time.
But why????? because he can is a sufficient answer but alot of work for a wheel that already exist
His own indoor navigation system?
.. because the ease with which you can pull GPS coordinates from an Arduino has probably lost its luster in the eyes of many. It’s just *too* easy..
Inertial guidance, on the other hand, is a good hefty challenge for those who wish to learn more than just bit-banging another digital peripheral. I’ll be interested to see where this goes.
Why not combine this with GPS? Inertial navigation could fill in the gaps when the GPS can’t find a signal. When there is a signal GPS cordinates could be used to apply correction for any inaccuracy in the inertia nav system.
For some additional fun, he could use a learning algorithm to teach the INS to be more accurate.
Rubbish!
I wonder if you could add that to a smartphone for GPS drops.
My Pioneer AVIX-X930BT NAV unit mixes GPS and INS. Makes it really useful for navigating in cities where you can’t see enough satellites to get a good lock. I think Apple iPhones > 3GS and iPads also use their accelerometers in conjunction with their GPS system.
INS systems can give you a better data rate than GPS can. Self-navigation needs accurate and fast updates of location, which 10-30 Hz out of your GPS isn’t going to give you. Not to mention, if your GPS lock isn’t very good (urban canyons, etc.), then you’re going to need something to fill in the blanks. INS!
The first application that came to mind was a “find your way back” nav system for firefighters in a smoke-filled building.
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.
Ahhh… how about $90k for an avionics grade strap-down IMU.
It reminds me the South-pointing chariot, an old (2600 BCE) chinese navigational tool:
https://en.wikipedia.org/wiki/South_Pointing_Chariot
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.
You may find some useful info here:
http://zupt.com/inertial-positioning-technology/
http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/
*Cough* Kalman filter *cough*
*Cough* Quaternions *cough*
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:
http://www.youtube.com/watch?v=6ijArKE8vKU
If you know the layout of the building, you can match this data to know corners, hallways, and doorways, to keep it synchronized with the map. It may be possible to periodically resync with an outdoor terrain map as well. It may also be possible to build such a map dynamically using a particle filter:
http://www.youtube.com/watch?v=dcmU1IVWU-s
Another example using an IMU and an Accessibility Map:
http://www.youtube.com/watch?v=OT1KjUI4IkM
Sensor Fusion Adaptive Filtering for Position Monitoring in Intense Activities:
http://www.ehu.es/ccwintco/uploads/5/50/HAIS2010_800.pdf
“We can conclude that the standard RLS sensor fusion approach used to calculate the position angle, based on inertial signals, outperforms the existing Kalman filter approach. • RLS has shown its superior capability of filtering large peaks of dynamic acceleration and its good performance to remove the dynamic bias present in the gyroscope angle signal.”
QRD-RLS Adaptive Filtering (PDF book):
http://kdpu.edu.ua/download/library/Course/Adaptive/QRD-RLS%20adaptive%20filtering.pdf
This makes me think of the first car navi system available, introduced by Honda in 1981:
http://en.m.wikipedia.org/wiki/Electro_Gyrocator
An interesting discussion of this topic in a forum:
http://www.mtbs3d.com/phpBB/viewtopic.php?f=140&t=16425
And another one that devolved into (and recovered from) a flamewar, but still contains useful relevant information:
https://developer.oculusvr.com/forums/viewtopic.php?f=25&t=1091
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
Or the neighbor’s cat?
You don’t need a kill switch for that. You need a throttle lock.
then your crazy cat lady neighbor comes after you with a shotgun. dont fuck with cat people.
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).
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.
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.
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
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.
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.
Share your work or it never happened ;)
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.
searched in google and found some inertial navigation devices like vectanav, inertialelements, motionnode etc. Among these devices, i found that inertial elements(http://www.inertialelements.com) is very good navigation devices with low cost. There is variety of interesting navigation devices like MIMU22BT(wireless inertial navigation module), MIMU4444(massive inertial sensory array module), MIMU4X4C(variant of massive inertial sensory array module MIMU4444) etc.
I suggest those who are really interested in INUs and the capabilities, speak with someone (retired or current) that worked at Charles Stark Draper labs. At least they can shed some light based on declassified facts and not hear say. Examples, a propeller airplane equipped with the first aircraft prototype INU navigated from the east coast to the west coast in the 1950s (a lot more than a few minutes of drift to account for…). In the 1970s a nuclear sub could circumnavigate the globe entirely underwater and go up a river without any other navigational aids. The sub only needed passive and active sonar to avoid temporal obstructions. Oh yes, there is the little matter of landing on the moon in 1969 which would be impossible without an INU. Bear in mind, these are all cases of almost unlimited budgets, but even 10 year old technology can be light years ahead of commercial stuff if cost is secondary.