BLE (iBeacons) Trilatération
Je suis un étudiant à l'Université de Furtwangen en Allemagne.
Je suis dans mon dernier mandat et je suis en train d'écrire ma thèse de maintenant. Je suis très intéressé par iBeacons et la technologie derrière eux. Mon projet est de comparer le phare de la technologie avec d'autres technologies comme le GPS, sans Fil-emplacement, GSM, et le NFC. Pour ma thèse, je vais créer les différents cas d'utilisation et de comparer les résultats.
Au cours de la dernière quelques jours, j'ai essayé de déterminer ma position dans une chambre. J'utilise la distance relative (de précision) à partir de trois balises et a donné à chaque balise de position fixe dans ma chambre.
J'ai trois cercles et de calculer les intersections 6.
Quand un radian (de précision) est trop faible je l'augmentation de cette valeur artificiellement. Ensuite, je regarde ce qui de la de 6 points (intersections) sont le plus proche. (Les trois plus proches points)
Avec ces points, je reçois un triangle, et avec cela, je calculer le point milieu.
Mon problème est que le résultat n'est pas vraiment le meilleur.
J'ai trouvé une meilleure solution ici:
https://gis.stackexchange.com/questions/40660/trilateration-algorithm-for-n-amount-of-points
mais je vais avoir de la difficulté à la mise en œuvre de cet Objectif C.
Mais je comprends la solution. Comment puis-je importer ou d'obtenir cette en Objective C.
J'ai trouvé quelques libs (C, C++), mais je ne suis pas vraiment sûr de savoir laquelle de ces libs est le meilleur.
La meilleure solution pour moi sera un Objectice C bibliothèque mathématique qui permet de calculer ces points (x1,x2,x3, -- ,y1,y2,y3, --- ,r1,r2,r3).
Graphique de mon calcul maintenant
- Avez-vous eu de la chance avec cette?
- Je serais intéressé pour la première solution, car j'ai envie d'expérimenter un peu avec la possibilité, pour une sorte de guide d'application. La précision n'est pas le plus important pour moi. Est-il de toute façon, vous pouvez partager la logique, ou même certains de le code de calcul?
- Auriez-vous l'esprit de partage comment il a réalisé l'application pour iPad dans le graphique que vous avez posté? J'ai réussi à venir avec un algorithme basé sur la wikipédia Trilatération article (en.m.wikipedia.org/wiki/Trilateration) mais je suis en train d'essayer de trouver la meilleure façon de mapper mes coordonnées dans iOS.
Vous devez vous connecter pour publier un commentaire.
J'ai été aux prises avec le même problème, alors j'ai trouvé ce solution, écrit en python. J'ai essayé de porter le code en objective-c et en utilisant le même cas pour le test et le résultat est précis. J'ai modifié le code de sorte qu'il peut accepter 2-dimension du vecteur ainsi.
Le cas de test est :
J'ai couru ces données à travers le code :
Je l'ai testé en s'appuyant sur cartésien diagramme à l'aide du cas de test les données ci-dessus, et a obtenu le résultat que l'inconnu point est situé à (8,4), puis les essais à l'aide du code ci-dessus et obtenu le résultat (7.999978,4.000021710625001).
Puis j'ai fait un deuxième test à l'aide de données :
Le manuel résultat est (5,5), et le résultat en utilisant le code est (5,5).
Donc, je crois que le code est correct.