Hey,
I am developing an android app with the help of the estimote beacons, and I am trying to get the absolute position of the smartphone but to do so I need to know the distance between me and the beacons so afterwards I can use trilateration but I am having some big error rates and I am not sure if it is normal or if it is a problem with the beacons.
I tried different measurments, one indoors and another outdoors the result was not as I expected. I even tried using filters, I already tried Kalman filters and I will try the particle filter but I don’t think it is possible. I am just wondering if the error could be in the beacon themselves.
I tested on a room like this:
For you to understand my real distance to the beacons are:
- B1: 1.20 meters
- B2: 3.85 meters
- B3: 3.70 meters
- B4: 5.25 meters
After multiple times of collecting distances with the estimote API, i get in average this distances:
- B1: 1.33 meters(not bad)
- B2: 4.2 meters(0.35 meters error)
- B3: 5.33 meters(1,48 meters error)
- B4: 5.73 meters (0.50 meters error)
Although the reading are not that bad(except for B3), in a 6*6 room that can lead to some errors, the problem is that sometimes all those beacons readings are wrong and suddenly instead of being near the B1 beacon I am all the way across the room near B4.I then made a graphic and histogram with all the beacon readings and I can’t do anything with them. As you can see in this histogram:
-
B1 Histogram:
-
B2 Histogram:
- B3 Histogram:
- B4 Histogram:
As you can see the first beacon sometimes reads very differente distances, and that error is killing the app, instead of being near him I am all the way across the room, or even further away… Combining the error of the 4 beacons and most of the time the app says I am at a random position…
I tried with kalman filters but it was even worse, I got in average these distances:
- B1: 2 meters(0.7 meters error)
- B2: 5.15 meters(1.3 meters)
- B3: 3.65 meters(0.05 meters error, not bad at all)
- B4: 3.50 meters(1.75 meters error)
It helped eliminating some irrational errors, but at the same time it did not eliminate big errors estimates…
Is there any specific filter I can apply to eliminate errors? or at least diminishes the error?
Thank you very much