We want to implement some kind of indoor position determination using iBeacons. This article seems really interesting, in which the author implemented the Non-linear Least Squares Triangulation, using the Eigen C++ library and the Levenberg Marquardt algorithm. Since Eigen is written in C++, I tried to use JNI and Android NDK in order to use it but it throws a lot of errors that I have no idea how to solve and I couldnĀ“t find anything online. I also tried to use Jeigen, but it does not have all the functions that we need.
So, my questions are:
Has someone ever implemented some kind of Trilateration using beacons in Android?
Do you think that using Eigen+JNI+NDK is a good solution? If yes, have you ever implemented Levenberg Marquardt using that combination?
Are there better options than the Levenberg Marquardt algorithm for calculating the trilateration in a Android application?
Take a look at this library: https://github.com/lemmingapex/Trilateration
uses Levenberg-Marquardt algorithm from Apache Commons Math.
For example.. into the TrilaterationTest.java
you can see:
but if you see the objectivec example https://github.com/RGADigital/indoor_navigation_iBeacons/blob/show-work/ios/Group5iBeacons/Debug/Managers/Location/NonLinear/NonLinear.mm you can note that the accuracy is used as an assessment parameter and not the distance.