I only have done some basic reading on what digital gyros and magnetometers are and wonder what you can do with them. I suppose if you do the right math with 3-axis accelerometer and magnetometer you can find the three angles you make with a fixed x-y-z system, basically orientation. Then why are some many IMU's including 3-axis accelerometer and gyros instead of magnetometers? What is this combo supposed to do?
In real world applications you often see deviations from theory. Most of those deviations are due to "noise" but there are other issues (e.g. sensor drift) as well. So often sets of sensors are applied to get overdetermined equations. The idea is to get more stable / better results.
As an accelerometer tells you your rate of change in speed from which you can integrate to get your position, a gyroscope tells you the rate of angular rotation from which can you integrate to get your orientation. Of course, you'd be nutty to think that you could get an accurate position from an accelerometer over a long period time just as you'd be nutty to think you could maintain an accurate orientation from a gyroscope. That's what people mean when they talk about "drift" in a gyroscope.
So what if I use a magnetic sensor? I should be able to find orientation with 3-d magnetic sensor and 3-d accelerometer, right?
"That's what people mean when they talk about "drift" in a gyroscope."
Altho more technically known as precession I think.
liudr:
So what if I use a magnetic sensor? I should be able to find orientation with 3-d magnetic sensor and 3-d accelerometer, right?
From what I've followed on the diydrones.com site the magnetometer readings are used as a kind of sanity check for attitude control, and even then they're only valuable on generally stationary/copter platforms where the GPS heading cannot be used. I assume that magnetometers are just not accurate enough for the quick attitude corrections that are required in a flying platform -- not to mention the havoc that can result from magnetic interference from the motors or outside sources (power lines, flagpoles, etc.).
If you're trying to avoid gyros, I think it would be interesting to try mounting an additional 2d accelerometer in the tail of a plane and a 1d on the wing in addition to a 3d in the fuselage. Reading the difference in values of the accelerometers would theoretically give you the same results as a gyroscope when rotation around any axis occurred. It would also be programmatically simple to make attitude corrections based on differences in Z axis readings in all three accelerometers.
CrossRoads:
Altho more technically known as precession I think.
I suppose the term would be the equivalent for a solid state gyroscope, but I dunno if I'd want to say that out loud in a room full of physics or math majors. It's the same kind of "drift" that you'd get if you based your position only on integrals of accelerometer readings.
Thanks Chagrin. What I have in mind is a 3-d static platform, much like a cell phone or a tablet. If I have no interference nearby, I might be able to get the angle of the device makes with respect to a fixed x-y-z system with accelerometer and a magnetometer then? Is that what a cell phone has instead of a gyro?
Also remember the "gyro's" of which we speak are not gyroscopes.
They are rate sensors or rate gyro's.
You find "real" rate gyros in planes, they are just a tad larger, being mechanical.
A "real" gyro is a tricky thing to build, the bearings have to be very precise to avoid drag, which will up the precession.
liudr:
Thanks Chagrin. What I have in mind is a 3-d static platform, much like a cell phone or a tablet. If I have no interference nearby, I might be able to get the angle of the device makes with respect to a fixed x-y-z system with accelerometer and a magnetometer then? Is that what a cell phone has instead of a gyro?
If you're saying that you need to be able to tell what side is "up" on your device then you only need the accelerometer. The only time you would need a magnetometer is if you need to be able to determine what direction your device is pointing when it's rotated on a plane parallel to the earth.
Yes I need that, like the google sky map. I'll get an IMU with probably all three sensors.