I must during my Thesis use only a 9 dof sensor connected to raspberry pi to determinate the acceleration, velocity and Position. I tried to make the Integral of acceleration(after removing gravity) to have the velocity and integral of velocity to have the position but I have a very bad result. I use the RTIMUlib2 to have the data from accelerometer:
https://github.com/richards-tech/RTIMUL … 670b6d8ac8
Can you help me to find a python code to have a good values near to the real values :roll:
Hi there,
This type of sensor is not well suited to navigation - sure it works in principle, but the levels of bias, noise, bias instability, temperature sensitivity, cross axis sensitivity g^2 sensitivity, misalignment etc. are all so bad that they absolutely cannot be used as the only source of position information for more than a few seconds.
For example, here is a brochure from a company that sells high end GPS+Inertial navigation systems showing what the various sensors are capable of in a properly integrated vehicle system: http://www.novatel.com/assets/Documents … ochure.pdf
Scroll down to page 5 where they have the charts of ‘Span Performance’ - Notice how the SPAN-IGM-A1 has an expected horizontal position error of 5 metres after 30 seconds of GPS outage? The A1 option is for a $1500.00 Analog Devices ADIS16488 tactical grade IMU. Many of the other inertial sensors discussed in this document (e.g. the HG1700) are considered weapons guidance systems and are export controlled under ITAR… though given a minute it still accumulates ~2.5 metres of horizontal error.
Any inertial navigation system, no matter how good needs to be fed with external information to do its job.
To use an MPU9150 as a guidance sensor, you have to feed in other sources of information very frequently such as periods of ZUPT (zero velocity when you know the wheels aren’t turning) ZARU (zero angular rate when you know your bot isn’t turning), odometry information from wheel encoders, map matching or visual object recognition etc.
So to answer your question about python code that will produce good values - ‘no’, as the problem is not with the code, it’s just a fundamental limitation of the technology that even inertial sensors costing 10,000x more require external information to do a reasonable job, and even they will become ‘very bad’ if you ask them to navigate for an hour without any external information.