I recently found multiple research papers that say that in theory double integral of accelerometer data gives a position of the device. Does that refer to absolute position (like the one given by a GPS)? or for example starting position and then relative position to the starting position?Thank you for helping me clarify this.
-
1\$\begingroup\$ Yes, relative to the starting position. \$\endgroup\$– ChuApr 14, 2017 at 10:28
-
\$\begingroup\$ But this is just theory. Practically if you double integrate the acceleration from MEMS accelerometer output you get a useless relative position, because of drift. \$\endgroup\$– Marko BuršičApr 14, 2017 at 11:00
-
5\$\begingroup\$ What you're describing is an Inertial Navigation System \$\endgroup\$– MTCosterApr 14, 2017 at 11:34
-
1\$\begingroup\$ also, as an accelerometer, you can't differentiate acceleration from gravity, and from centrifugal effect. \$\endgroup\$– njzk2Apr 14, 2017 at 13:42
-
1\$\begingroup\$ Even if we ignore the lack of reference system, keep in mind that accelerometers are not accurate and the error will add up over time. \$\endgroup\$– PeterApr 14, 2017 at 16:12
3 Answers
In theory, is the position derived from accelerometer absolute?
Ok, so imagine you're a sensor. All you can sense is acceleration. You're an accelerometer.
Now you're at rest, or moving at a constant speed. You can't tell the difference, since Newton's laws don't allow that – an object at rest or in linear motion experiences no acceleration.
Obviously, since you might be moving (or not), you can't tell where you are, and whether you'll be at the same position in 10 seconds.
So, that answers your question. An accelerometer + signal processor can only tell the position relative to some starting position, and only if the starting speed is known.
Mathematically, you'd have to differentiate twice to go from position to acceleration. So you'd have to integrate twice to go back. Each integration step adds an unknown "offset" to your result.
I'm a bit surprised you didn't come up with either approach!
-
2\$\begingroup\$ I would also add. You also need the same orientation. If the thing rotates on any axis, accelerometer alone is not sufficient. \$\endgroup\$– Trevor_GApr 14, 2017 at 13:42
-
1\$\begingroup\$ @Trevor true! rotations along one of the accelerometer axes isn't covered by it \$\endgroup\$ Apr 14, 2017 at 13:44
-
1\$\begingroup\$ Perhaps the OP newer had a dynamics class? \$\endgroup\$– joojaaApr 14, 2017 at 22:29
-
\$\begingroup\$ @joojaa no, that's simple school physics & math. it boils down to looking up the word "acceleration" prior to asking what an "accelerometer" does. I don't really think there's much to say about that. \$\endgroup\$ Apr 14, 2017 at 23:01
-
\$\begingroup\$ @MarcusMüller yes but still most students before a dynamics course wouldnt know to do this. \$\endgroup\$– joojaaApr 15, 2017 at 7:38
Integration comes in two types: one type is the definite integral, which takes a function over a defined range of its independent variable. The other type is the indefinite integral.
The indefinite integral is only defined within an arbitrary constant. So, twice integrating the acceleration of a body, you are in need of two constants of integration, before the formula is complete and can give a definite value which relates to reality.
The two constants needed, are an initial position and velocity. Well, actually the position and velocity at ANY times covered by your acceleration data would do.
-
\$\begingroup\$ That's actually 6 scalars that are needed. \$\endgroup\$– 42-Apr 14, 2017 at 19:56
-
-
\$\begingroup\$ Time is the independent variable; it is never 'predicted' by the equation. The 'constants' position and velocity are vectors, and in three dimensions that means six numbers involved. \$\endgroup\$– Whit3rdApr 15, 2017 at 0:44
Imagine you have an acceleration sensor resting at fixed position. The first integration will give the speed signal, another integration will give the position. If the acceleration is zero, speed is constant. But what if there is a small offset to the acceleration signal? This offset will be integrated and the result is an increasing speed and the error of position will increase with time, faster and faster. It is not possible to remove even the smallest offset to the acceleration signal, the result is the speed error and position error increasing with time. Even if the absolute position was true at start, it will get lost over time.