Indoor Positioning System Based on Gyroscope and Accelerometer

Indoor Positioning System based on Gyroscope and Accelerometer

Gyros and accelerometers are not enough.

You get position by integrating the linear acceleration twice but the error is horrible. It is useless in practice.

Here is an explanation by (Google Tech Talk) at 23:20. I highly recommend this video.

As for indoor positioning, I have found these useful:

  • RSSI-Based Indoor Localization and Tracking Using Sigma-Point Kalman Smoothers
  • Pedestrian Tracking with Shoe-Mounted Inertial Sensors
  • Enhancing the Performance of Pedometers Using a Single Accelerometer

I have no idea how these methods would perform in real-life applications or how to turn them into a nice Android app.

A similar question is Calculating distance within a building.

2D indoor mapping using motion sensors

I've though about this topic more than once.
AFAIK, there are some studies showing results using accelerometers/gyros but the calculations are complex, and to be possible it depends on the processing power / memory you have available in your project.
I've then found posts about something called subpos and I see it as an alternative, you can read something here: https://hackaday.io/project/4872-subpos-positioning-system
The basic idea is to have some beacons and then calculate position using wifi signals.
I think that a combination of the two conceps (subpos + sensors) could be useful in a practical approach.

You can found more info in this question: Indoor Positioning System based on Gyroscope and Accelerometer

How can I locate people with a gyroscope and accelerometer?

You don't!

The values retrieved from the gyroscope and accelerometer are "relative" to the device. They have no absolute meaning which you would need to retrieve some kind of location.

You can theoretically measure / calculate what way a device has taken but you do not know if the user took that way in Germany, China or the USA. You know he went right, then left, then 200m straight - but that is not of any help if you do not know from where he originated.

That being said, if you do have the initial position you can theoretically calculate the new position based on the measured values. But that calculation is probably far to error prone and far to inexact. If you try to measure the values over the course of a few minutes or even hours you will probably get an measurement that is many meters or even kilometers off.

Tracking a car using Accelerometer and Gyroscope when GPS signal is low

This a classic question: It won't work. That answer is about the position but it won't work even for the speed.

You would be better off with a heuristic that uses the last and the first measured velocity from the GPS and interpolates between them, enforcing position constraints deducible from a map.

Complementary filter (Gyro + accel) with Android

I can only repeat myself.

You get position by integrating the linear acceleration twice but the error is horrible. It is useless in practice. In other words, you are trying to solve the impossible.

What you actually can do is to track just the orientation.

Roll, pitch and yaw are evil, do not use them. Check in the video I already recommended, at 38:25.

Here is an excellent tutorial on how to track orientation with gyros and accelerometers.

Similar questions that you might find helpful:

track small movements of iphone with no GPS

What is the real world accuracy of phone accelerometers when used for positioning?

how to calculate phone's movement in the vertical direction from rest?

iOS: Movement Precision in 3D Space

How to use Accelerometer to measure distance for Android Application Development

Distance moved by Accelerometer

How can I find distance traveled with a gyroscope and accelerometer?



Related Topics



Leave a reply



Submit