DSPRelated.com
Forums

Inertial navigation (anyone familiar with this stuff here?)

Started by Alfred Bovin March 8, 2010
Hi all.

I'll take the chance and ask this question here in the forum since perhaps 
there are someone familiar with INS here.

I'm trying to do some inertial navigation for (what perhaps will become) an 
autonomous all-terrain vehicle with a strapdown inertial sensor (an 
ADIS16350 from Analog Devices) with a 3-axis gyro and a 3-axis accel. I have 
no previous experience with this stuff so I've been reading a bit in 
"Strapdown inertial navigation technology" by Titterton and Weston.

My question is what kind of reference frame I should use. Let's say that at 
time 0 the platform is at some location (I'm not interested in the absolute 
position on the Earth) and the frame attached to the platform coincides with 
the frame I will represent the navigation in. Then at times > 0 I want to be 
able to reconstruct the motion taken by the platform based on the inertial 
data.

In the book, three different reference systems are presented of what appears 
to be of increasing complexity: navigation with respect to an inertial 
coordinate system located at the center of the Earth, navigation with 
respect to a coordinate system located at the center of the Earth but 
rotating with it and navigation with respect to a local geographic 
coordinate system.

In the summary of the chapter they then write that any of these approaches 
can be used for navigation close to Earth but the local geographic 
coordinate system is preferable for navigating over large distances.

What I fail to see is the difference between this approaches (except for 
their mathematical apperances). Do you have any opinions on what to use when 
my vechicle never leaves the surface of the Earth?

Thanks in advance.


Alfred Bovin wrote:
> Hi all. > > I'll take the chance and ask this question here in the forum since perhaps > there are someone familiar with INS here. > > I'm trying to do some inertial navigation for (what perhaps will become) an > autonomous all-terrain vehicle with a strapdown inertial sensor (an > ADIS16350 from Analog Devices) with a 3-axis gyro and a 3-axis accel. I have > no previous experience with this stuff so I've been reading a bit in > "Strapdown inertial navigation technology" by Titterton and Weston. > > My question is what kind of reference frame I should use. Let's say that at > time 0 the platform is at some location (I'm not interested in the absolute > position on the Earth) and the frame attached to the platform coincides with > the frame I will represent the navigation in. Then at times > 0 I want to be > able to reconstruct the motion taken by the platform based on the inertial > data. > > In the book, three different reference systems are presented of what appears > to be of increasing complexity: navigation with respect to an inertial > coordinate system located at the center of the Earth, navigation with > respect to a coordinate system located at the center of the Earth but > rotating with it and navigation with respect to a local geographic > coordinate system. > > In the summary of the chapter they then write that any of these approaches > can be used for navigation close to Earth but the local geographic > coordinate system is preferable for navigating over large distances. > > What I fail to see is the difference between this approaches (except for > their mathematical apperances). Do you have any opinions on what to use when > my vechicle never leaves the surface of the Earth?
Navigating with respect to a fixed earth seemed to be easiest to me. No matter what you do you'll be left with coordinate transforms that will make your head hurt. You can't avoid that -- just go with what you think will make your head hurt least. Navigating with respect to some local geographic coordinate system would work well if you never have to change the coordinate system, but as soon as you want to make a product that'll work world-wide you're back to that headache. With that IMU I don't think you have to pay attention to the earth's rotation -- IIRC the gyros on that have errors far in excess of 15 degrees/hour, so any signal you'd get from the earth's rotation will be swamped by the gyro errors. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
On Mon, 8 Mar 2010 20:29:28 +0100, "Alfred Bovin" <alfred@bovin.invalid>
wrote:

>Hi all. > >I'll take the chance and ask this question here in the forum since perhaps >there are someone familiar with INS here.
Might try over on sci.engr.control if you don't get a good discussion started here.
>I'm trying to do some inertial navigation for (what perhaps will become) an >autonomous all-terrain vehicle with a strapdown inertial sensor (an >ADIS16350 from Analog Devices) with a 3-axis gyro and a 3-axis accel. I have >no previous experience with this stuff so I've been reading a bit in >"Strapdown inertial navigation technology" by Titterton and Weston.
Be advised that an inexpensive navigation-grade INS will run on the order of $100K. The free-inertial performance of MEMs isn't quite good enough, yet, although it may be someday given the potential demand.
>My question is what kind of reference frame I should use.
Unless you're using a specialized unit, your GPS fixes will be in WGS-84 latitude and longitude (assuming that's the fix source you'll be using) so it's probably easiest to stick with that reference frame. -- Rich Webb Norfolk, VA
Rich Webb wrote:
> On Mon, 8 Mar 2010 20:29:28 +0100, "Alfred Bovin" <alfred@bovin.invalid> > wrote: > >> Hi all. >> >> I'll take the chance and ask this question here in the forum since perhaps >> there are someone familiar with INS here. > > Might try over on sci.engr.control if you don't get a good discussion > started here. > >> I'm trying to do some inertial navigation for (what perhaps will become) an >> autonomous all-terrain vehicle with a strapdown inertial sensor (an >> ADIS16350 from Analog Devices) with a 3-axis gyro and a 3-axis accel. I have >> no previous experience with this stuff so I've been reading a bit in >> "Strapdown inertial navigation technology" by Titterton and Weston. > > Be advised that an inexpensive navigation-grade INS will run on the > order of $100K. The free-inertial performance of MEMs isn't quite good > enough, yet, although it may be someday given the potential demand. >
I had not thought to point that out in my response. Note that a MEMS sensor _will_ let you improve on the accuracy of GPS measurements, but it has to be a good one. I honestly don't know if that Analog Devices one is good enough. If you're getting enough random acceleration you'll be able to do a good job of finding down and north, though.
>> My question is what kind of reference frame I should use. > > Unless you're using a specialized unit, your GPS fixes will be in WGS-84 > latitude and longitude (assuming that's the fix source you'll be using) > so it's probably easiest to stick with that reference frame. >
Trying to translate from your INS frame of reference into GPS's WGS-84 frame will make your head hurt. Trying to write a system equation to express the motion of an accelerated, rotating body in the WGS-84 frame will make your head _really_ hurt. (Say "Coriolis". Say "Coriolis, ow ow ow"). Translating both to earth-centered, earth-fixed, then back, will make your head hurt -- each way -- but both of those together may well make your head hurt less than _just_ trying to write a system equation that stays in WGS-84 coordinates. Particularly if you want your system to work close to the poles. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com

Alfred Bovin wrote:

> Hi all. > > I'll take the chance and ask this question here in the forum since perhaps > there are someone familiar with INS here. > > I'm trying to do some inertial navigation for (what perhaps will become) an > autonomous all-terrain vehicle with a strapdown inertial sensor (an > ADIS16350 from Analog Devices) with a 3-axis gyro and a 3-axis accel. I have > no previous experience with this stuff so I've been reading a bit in > "Strapdown inertial navigation technology" by Titterton and Weston.
That won't work. The accuracy of ADIS is typical for MEMS sensors, i.e. ~1 cm/c^2 or so. This is inadequate for innertial navigation.
> My question is what kind of reference frame I should use. Let's say that at > time 0 the platform is at some location (I'm not interested in the absolute > position on the Earth) and the frame attached to the platform coincides with > the frame I will represent the navigation in. Then at times > 0 I want to be > able to reconstruct the motion taken by the platform based on the inertial > data. > > In the book, three different reference systems are presented of what appears > to be of increasing complexity: navigation with respect to an inertial > coordinate system located at the center of the Earth, navigation with > respect to a coordinate system located at the center of the Earth but > rotating with it and navigation with respect to a local geographic > coordinate system. > > In the summary of the chapter they then write that any of these approaches > can be used for navigation close to Earth but the local geographic > coordinate system is preferable for navigating over large distances. > > What I fail to see is the difference between this approaches (except for > their mathematical apperances). Do you have any opinions on what to use when > my vechicle never leaves the surface of the Earth?
You are right: math is the same regardless of coordinate system. I would do the calculations wrt the center of the Earth; then convert the result to WGS 84. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Thanks for your reply.

>> What I fail to see is the difference between this approaches (except for >> their mathematical apperances). Do you have any opinions on what to use >> when my vechicle never leaves the surface of the Earth? > > Navigating with respect to a fixed earth seemed to be easiest to me. No > matter what you do you'll be left with coordinate transforms that will > make your head hurt. You can't avoid that -- just go with what you think > will make your head hurt least.
When you say "fixed earth" do you mean a non-rotating coordinate system attached to the center of the earth oriented at some fixed stars? I admit that I'm already a little dizzy trying to vizualize these coordinate systems, but I fail to see how this will be a good method. If I describe the motion in this non-rotating frame then I'll not only get the motion of my vehicle but also the rotation of the earth with respect to this frame, right? An approach which makes more sense to me is to have three coordinate systems: 1) an inertial frame as explained above 2) an Earth frame with the same origin as the inertial frame but rotating with the Earth 3) the body frame Then as far as I understand it, the motion of the vehicle represented in this Earth frame will then (ideally) only consist of the motion taken by the vehicle. The next problem is now to transform this motion given in the Earth frame to the frame I use for the navigation (that is: the frame attached to the position where the vehicle starts at time t = 0 as described in my initial post). If we now assume that I will not synchronize with any GPS information, then I argue that if I'm not interested in an absolute position but only the relative motion so to speak, then the initial alignment between the Earth frame and the navigation frame doesn't matter. I may then simply say that at time t = 0 the axes of the Earth frame is aligned with the navigation frame without calculating any explicit rotation matrix. Is this complete rubbish?
> With that IMU I don't think you have to pay attention to the earth's > rotation -- IIRC the gyros on that have errors far in excess of 15 > degrees/hour, so any signal you'd get from the earth's rotation will be > swamped by the gyro errors.
According to the data sheet the IMU has a gyro RMS output noise (worst case configuration) of 0.6 deg/sec = 36 deg/hour, so you're right when saying that the noise probably swamps the Earth's rotation. But if I don't model the Earth's rotation then this will give an additional noise term, and the combined error gets larger, right?
"Vladimir Vassilevsky" <nospam@nowhere.com> wrote in message 
news:BuSdnXH74Y3VNAjWnZ2dnUVZ_uydnZ2d@giganews.com...
>> I'll take the chance and ask this question here in the forum since >> perhaps there are someone familiar with INS here. >> >> I'm trying to do some inertial navigation for (what perhaps will become) >> an autonomous all-terrain vehicle with a strapdown inertial sensor (an >> ADIS16350 from Analog Devices) with a 3-axis gyro and a 3-axis accel. I >> have no previous experience with this stuff so I've been reading a bit in >> "Strapdown inertial navigation technology" by Titterton and Weston. > > That won't work. The accuracy of ADIS is typical for MEMS sensors, i.e. ~1 > cm/c^2 or so. This is inadequate for innertial navigation.
Thanks for your reply. I should say that this ADIS device came along with the platform from the factory, and I want to experiment a little with it. I realize now that, as you say, the performance is probably not good enough to make reliable inertial navigation, but then I may have misunderstood something fundamental regarding the usage of inexpensive MEMS IMUs. When you say that the device is inadequate for innertial navigation, do you then mean that it cannot be used in a system where it's the only sensor? As I said, I have no previous experience with inertial navigation, but what is the typical usage of such inexpensive devices as the one I have? Is it to have short term navigation at a higher frequency than more reliable sensor data is available (such as GPS)? I of course also have odometry data available (10 Hz) and I'm experimenting with motion estimates from a stereo camera system (around 6-7 Hz). Do you think the IMU can be of any help/usage in this system?
Alfred Bovin wrote:
> Thanks for your reply. > >>> What I fail to see is the difference between this approaches (except for >>> their mathematical apperances). Do you have any opinions on what to use >>> when my vechicle never leaves the surface of the Earth? >> Navigating with respect to a fixed earth seemed to be easiest to me. No >> matter what you do you'll be left with coordinate transforms that will >> make your head hurt. You can't avoid that -- just go with what you think >> will make your head hurt least. > > When you say "fixed earth" do you mean a non-rotating coordinate system > attached to the center of the earth oriented at some fixed stars?
I didn't state it well -- I found an earth-fixed, earth centered coordinate system to work well for me. If you look at the references this has the z axis going up through the north pole, the x axis exiting the equator at 0,0 lat/lon, and the y axis following from the right-hand rule. So the frame rotates with the earth.
> I admit that I'm already a little dizzy trying to vizualize these coordinate > systems,
Ha ha! Ha ha ha ha ha! (Keep it up and you'll be a bit manic, too).
> but I fail to see how this will be a good method.
For some it would be -- but as I said, that's not what I meant.
> If I describe the motion in this non-rotating frame then I'll not only get > the motion of my vehicle but also the rotation of the earth with respect to > this frame, right?
Yes you would; then you'd have to translate.
> An approach which makes more sense to me is to have three coordinate > systems: > 1) an inertial frame as explained above > 2) an Earth frame with the same origin as the inertial frame but rotating > with the Earth > 3) the body frame
I'd leave off (1), just taking the earth's rotation into account in (2).
> Then as far as I understand it, the motion of the vehicle represented in > this Earth frame will then (ideally) only consist of the motion taken by the > vehicle.
The vehicle and the earth's rotation.
> The next problem is now to transform this motion given in the Earth frame to > the frame I use for the navigation (that is: the frame attached to the > position where the vehicle starts at time t = 0 as described in my initial > post).
I'm not sure what you mean -- you want to establish a frame of reference around the vehicle's starting point? Why?
> If we now assume that I will not synchronize with any GPS information, then > I argue that if I'm not interested in an absolute position but only the > relative motion so to speak, then the initial alignment between the Earth > frame and the navigation frame doesn't matter. I may then simply say that at > time t = 0 the axes of the Earth frame is aligned with the navigation frame > without calculating any explicit rotation matrix. > > Is this complete rubbish?
That particular IMU has orders of magnitude worse performance than you need for inertial-only navigation, unless you're only interested in spans of time less than a second. I'm not sure what orientation you're worried about, but the orientation of the vehicle with respect to the earth is exceedingly important, lest you mistake the direction of that 10m/s^2 gravity vector.
>> With that IMU I don't think you have to pay attention to the earth's >> rotation -- IIRC the gyros on that have errors far in excess of 15 >> degrees/hour, so any signal you'd get from the earth's rotation will be >> swamped by the gyro errors. > > According to the data sheet the IMU has a gyro RMS output noise (worst case > configuration) of 0.6 deg/sec = 36 deg/hour, so you're right when saying > that the noise probably swamps the Earth's rotation. But if I don't model > the Earth's rotation then this will give an additional noise term, and the > combined error gets larger, right?
Yes, the combined error gets larger. But if it doesn't get _significantly_ larger then it doesn't matter. That's lower than I expected; maybe you could benefit from paying attention to the Earth's rotation. Do pay attention to Vladimir's nay-saying, by the way -- that IMU is probably marginal even for GPS-aided inertial navigation. It certainly won't help you much through extended GPS dropouts, which you'll tend to see on a ground-based vehicle. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Alfred Bovin wrote:
> "Vladimir Vassilevsky" <nospam@nowhere.com> wrote in message > news:BuSdnXH74Y3VNAjWnZ2dnUVZ_uydnZ2d@giganews.com... >>> I'll take the chance and ask this question here in the forum since >>> perhaps there are someone familiar with INS here. >>> >>> I'm trying to do some inertial navigation for (what perhaps will become) >>> an autonomous all-terrain vehicle with a strapdown inertial sensor (an >>> ADIS16350 from Analog Devices) with a 3-axis gyro and a 3-axis accel. I >>> have no previous experience with this stuff so I've been reading a bit in >>> "Strapdown inertial navigation technology" by Titterton and Weston. >> That won't work. The accuracy of ADIS is typical for MEMS sensors, i.e. ~1 >> cm/c^2 or so. This is inadequate for innertial navigation. > > Thanks for your reply. > > I should say that this ADIS device came along with the platform from the > factory, and I want to experiment a little with it. > > I realize now that, as you say, the performance is probably not good enough > to make reliable inertial navigation, but then I may have misunderstood > something fundamental regarding the usage of inexpensive MEMS IMUs. > > When you say that the device is inadequate for innertial navigation, do you > then mean that it cannot be used in a system where it's the only sensor? > > As I said, I have no previous experience with inertial navigation, but what > is the typical usage of such inexpensive devices as the one I have? Is it to > have short term navigation at a higher frequency than more reliable sensor > data is available (such as GPS)? > > I of course also have odometry data available (10 Hz) and I'm experimenting > with motion estimates from a stereo camera system (around 6-7 Hz). Do you > think the IMU can be of any help/usage in this system? > >
The IMU can _help_. In particular, the IMU plus a GPS receiver will vastly increase the short-term accuracy of the GPS measurement. It won't be good enough to resolve problems with multipath on the GPS, nor will it carry you through a very long GPS dropout. Odometry and visual data may help, but it's problematic -- how do you tell the difference between a wheel slip and the sudden onset of GPS multipath? In theory you could make a filter that would sort this out (web search on "particle filter"); in practice you could spend a long time dinking with such a filter without getting something that is robust and practical. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
On Mon, 08 Mar 2010 15:47:52 -0800, Tim Wescott <tim@seemywebsite.now>
wrote:

>Rich Webb wrote:
>> Unless you're using a specialized unit, your GPS fixes will be in WGS-84 >> latitude and longitude (assuming that's the fix source you'll be using) >> so it's probably easiest to stick with that reference frame. >> >Trying to translate from your INS frame of reference into GPS's WGS-84 >frame will make your head hurt. Trying to write a system equation to >express the motion of an accelerated, rotating body in the WGS-84 frame >will make your head _really_ hurt. (Say "Coriolis". Say "Coriolis, ow >ow ow"). > >Translating both to earth-centered, earth-fixed, then back, will make >your head hurt -- each way -- but both of those together may well make >your head hurt less than _just_ trying to write a system equation that >stays in WGS-84 coordinates. Particularly if you want your system to >work close to the poles.
Yes, I've drifted away from the navigation equations in the last few years (no pun intended (okay, that was a lie)) and do miss the mental gymnastics but not so much the pain. It sounds as if the OP doesn't want a GPS reference. If the problem is local area navigation (e.g., something like Sparkfun's annual Autonomous Vehicle Competition) then his best bet might be simply to stick with a flat earth model and use odometry to estimate his sensor corrections. -- Rich Webb Norfolk, VA