Détail du sujet

30/11/2018 Sujet 34 :  Caractérisation in situ d’une solution de géolocalisation indoor
Auteur : Romain Rouvoy  Ecrire 
(Responsable Informatique : Romain Rouvoy  Ecrire )

Contexte

Les solutions de géolocalisation indoor se multiplient et proposent de situer un utilisateur ou un objet (asset) avec plus ou moins de précision (du mètre au millimètre). À ce jour, les technologies sous-jacentes exploitées pour fournir un service de géolocalisation indoor peuvent être diverses (radio / ULB, BLE, Wi-Fi, lumière, caméra, etc.) et plus ou moins intrusives—i.e., embarquées sur la cible ou intégrées à l’infrastructure.

La précision de chaque solution de géolocalisation indoor est généralement évaluée en environnement idéal (e.g., pièce sans obstacle). Cette indication est critique car elle permet non seulement aux clients de choisir la solution la plus appropriée pour un besoin identifié, mais également de prendre en compte cette incertitude lors du traitement des données géolocalisées.


Problématique

Cependant, la précision estimée en environnement idéal peut s’avérer erronée et approximative pour un déploiement en conditions réelles. En particulier, les clients manquent actuellement d’un outillage logiciel indépendant permettant de calculer l’erreur in situ d’une solution de géolocalisation indoor déployée dans un environnement donné (e.g., magasin, salon). Un tel outil permettrait non seulement de confronter les erreurs indiquées par la solution avec celles observées, mais surtout de fournir des indications quant aux améliorations du déploiement à considérer (e.g., ajout d’une borne Wi-Fi ou repositionnement d’une caméra dans une zone donnée) afin d’en optimiser le fonctionnement.


Travail à effectuer

L’objet de ce projet consiste donc à mettre en œuvre une solution logicielle agnostique vis-à-vis des solutions de géolocalisation indoor existantes afin d’en mesurer la précision in situ. Plus spécifiquement, cette solution logicielle vise à supporter une expérimentation contrôlée permettant de comparer des localisations inférées par des solutions de l’état de l’art avec des positions de référence utilisées comme réalité du terrain (ground truth).

L’approche proposée dans le cadre de ce projet consiste à procéder en deux phases distinctes : une phase d’acquisition des trajectoires brutes et de référence, suivie d’une phase de calcul de l’erreur de localisation. Afin de ne pas nous imposer de problématique de synchronisation des horloges des solutions de géolocalisation indoor existantes—dont le contrôle peut être difficile—nous faisons le choix de raisonner a minima sur les trajectoires inférées à partir des positions brutes, capturées sur le terrain. La solution proposée peut néanmoins intégrer la notion de temps si celle-ci est considérée comme fiable par l’utilisateur.

Par ailleurs, afin de considérer différentes solutions de géolocalisation indoor—aussi bien endogènes qu’exogènes—nous considérons une analyse post mortem des trajectoires acquises. La phase d’acquisition consiste donc à collecter les trajectoires dans une infrastructure de stockage backend appropriée tandis que la phase de traitement consiste à calculer l’aire délimitée par deux trajectoires dans un espace déterminé.

À partir des trajectoires collectées sous forme de documents GeoJSON, la solution développées (NodeJS, TypeScript, Turf.js) permettra d'évaluer différents indicateurs de distance/erreur entre la trajectoire obtenue et celle de référence.


Bibliographie

[1] Matthew Cooper, Jacob T. Biehl, Gerry Filby, Sven G. Kratz: LoCo: boosting for indoor location classification combining Wi-Fi and BLE. Personal and Ubiquitous Computing 20(1): 83-96 (2016)
[2] Anahid Basiri, Elena Simona Lohan, Terry Moore, Adam C. Winstanley, Pekka Peltola, Chris Hill, Pouria Amirian, Pedro Figueiredo e Silva: Indoor location based services challenges, requirements and usability of current solutions. Computer Science Review 24: 1-12 (2017)


Autres informations

Les développements menés dans le cadre de ce projet appliqueront les bonnes pratiques de Génie Logiciel Agile, depuis la mise en œuvre d’un développement objet, l’application de design patterns, du clean code, l’utilisation d’analyseurs statiques, la mise en œuvre d’une chaine de compilation, la documentation du code développé et la livraison sous forme de conteneur logiciel (Docker).

Liens associés :
Sujet non-attribué