Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multilateration using combinations of KNN #126

Open
Steppschuh opened this issue Oct 25, 2018 · 4 comments
Open

Multilateration using combinations of KNN #126

Steppschuh opened this issue Oct 25, 2018 · 4 comments
Labels
accuracy enhancement Improves positioning accuracy core lib Core Library location estimation Affects location estimation (i.e. multilateration)
Milestone

Comments

@Steppschuh
Copy link
Contributor

Steppschuh commented Oct 25, 2018

The current implementation uses the available beacons, sorts them by distance, removes far away beacons if there are more than MAXIMUM_BEACON_COUNT and passes them to Multilateration.

I think we could use all combinations of the k nearest beacons, pass them to Multilateration and then merge the results.

Merging could be done be weighting each result based on the distance sum of the used beacons. The results from closer beacons should obviously be weighted more that the ones from beacons that are far away.

We could iteratively adjust k from MINIMUM_BEACON_COUNT (3) up to MAXIMUM_BEACON_COUNT (currently 10) to find the best results.

@Steppschuh Steppschuh added enhancement General improvement core lib Core Library labels Oct 25, 2018
@Steppschuh Steppschuh added this to the 0.5.0 milestone Oct 25, 2018
@Steppschuh Steppschuh added this to To Do in Java Core Library via automation Oct 25, 2018
@hadiidbouk
Copy link

That's just a way to implement the logic, it will never affect the accuracy right?

@Steppschuh
Copy link
Contributor Author

I think it would increase the accuracy, as we would calculate multiple Multilaterations with subsets of all beacons instead of using all (up to MAXIMUM_BEACON_COUNT ) beacons in a single calculation (with one large equation system).

It certainly would result in more stable results without adding a delay.

@Steppschuh Steppschuh added location estimation Affects location estimation (i.e. multilateration) accuracy enhancement Improves positioning accuracy and removed enhancement General improvement labels Oct 25, 2018
@hadiidbouk
Copy link

What I did in my code, is adding a K-means clustering algorithm after saving a group of points from multilateration, and then get the centre of these clusters in order to present it in my map.

I am not sure what approach is better here.

@Steppschuh
Copy link
Contributor Author

Steppschuh commented Oct 25, 2018

Your method merges the results of successive multilaterations using the current implementation, which is something different than proposed above. It will increase the delay, but is also worth considering as an alternative to getMeanLocation(long amount, TimeUnit timeUnit). Please feel free to create a PR for this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accuracy enhancement Improves positioning accuracy core lib Core Library location estimation Affects location estimation (i.e. multilateration)
Projects
Development

No branches or pull requests

2 participants