3

I am working in a monocular 3D Mapping project, and I need every time both position and rotation (angle).

To filter Gyroscope Data, I decided to use the "compass" and set 0 value to the angle if it's north.

But to get the position, I will need to double integrate the accelerometer value with a small sampling step (1ms) and 7 values mean filter.

I think this will make position more accurate. But does someone have an idea about the error range ? for example, in 10 meters, How much the error will be. And does anyone have a better idea?

The sensors are from STM32F3 Discovery Board

Thanks

geniant
  • 117
  • 2
  • 10
  • 1
    Another name for using only one's accelerometers to determine position is dead reckoning (sometimes written as ded reckoning, perhaps short for deduced reckoning). This term originates from the days of sailing ships, when one could measure velocity but not position. Doing that for any length of time meant the ship was dead. You are wanting to use acceleration, which is doubly dangerous. You need occasional measurements of position and velocity to correct the integration errors. This is what the Kalman filter was invented for. – David Hammen Dec 30 '15 at 22:32
  • Also keep in mind that accelerometers do not and cannot measure gravitation, which in your case is most likely the dominant force that affects the object you are trying to measure. – David Hammen Dec 30 '15 at 22:36
  • To eliminate gravitation, and since I'll need only two axis, I think about making Z axis always parallel to Gravitation (so gravitation is projected totally on Z axis, and my measurements will be on X and Y axis) – geniant Dec 31 '15 at 20:24
  • What if you are going up or down a hill? – David Hammen Dec 31 '15 at 20:26
  • If it works in planar surface, I'll think about this case hhh – geniant Dec 31 '15 at 20:40

1 Answers1

2

The STM32F3 has two sensors you'd be using:

The sensor accuracy should appear somewhere in the datasheet. Since you'll be using several sensors, you'll have to calculate the total error over the time your measuring. Note, the error won't be a single number like 10 meters because it will accumulate over time. If you had a GPS or some other way of determining your position you'd be able to limit your accumulated error.

What you're doing sounds like an Inertial Measurement Unit. If you haven't already, I'd recommend reading up on that and also Dead Reckoning.

Doug Richardson
  • 10,483
  • 6
  • 51
  • 77
  • Thank you for your answer. In my case, I'll need to measure only 1 meter at max, (or little bit more or less) every time (one meter and stop and other 1m and stop and so on) in one direction. does the accelero. do the job ? because GPS can make a measurement error of meters in normal cases – geniant Dec 31 '15 at 20:28