Modifications

Ligne 146 : Ligne 146 :     
==Evaluation de la performance==
 
==Evaluation de la performance==
 +
En finissant le projet, nous pensons que c’est important d’essayer le mesurer la précision du système, pour évaluer si sa performance est satisfaisante par rapport au cahier des charges. Donc, dans cette partie du projet nous vous présentons notre méthodologie pour mesurer la précision du système de repérage en position et en temps ainsi que son autonomie.
 
===Résolution spatiale===
 
===Résolution spatiale===
 
====Méthodologie====
 
====Méthodologie====
Ligne 152 : Ligne 153 :  
===Résolution temporelle===
 
===Résolution temporelle===
 
====Méthodologie====
 
====Méthodologie====
 +
En ce qui concerne la résolution temporelle nous avons deux grandeurs à évaluer : la fréquence de rafraîchissement et le délai de détection/transmission.
 +
Pour mesurer la fréquence de rafraîchissement nous avons utilisé le module video.FPS de la librairie imutils. En appelant la méthode fps.update() à chaque tour de la boucle principale, nous pouvons obtenir la valeur moyenne d’images par seconde (fps) pendant l’exécution du programme.
 +
Généralement, la fréquence est fortement influencée par le nombre d’opérations exécutées dans la boucle principale, alors c’est important de réduire sa charge en faisant d’autres opérations en parallèle. Comme nous avons fait pour la capture d’images avec la classe PiVideoCapture(). 
 +
Pour mesurer le délai entre la détection des tags, le traitement des données par le serveur (système de repérage) et la transmission vers un client (robot) nous avons utilisé le montage suivant :
 +
Premièrement nous dirigeons la caméra vers un écran (machine 1). Sur cette machine nous lançons un diaporama qui passe d’une diapo vide à une diapo avec un tag, ensuite d’un appui d’un buton. A côté, nous lançons sur une deuxième machine un programme client qui affiche dans un terminal les coordonnes envoyés par le serveur. Ensuite nous filmons les deux écrans avec un smartphone en mode slowmotion (240 fps).
 +
Le but est de mesurer le temps entre l’apparition du marquer sur l’écran de la première machine et l’apparition des coordonnées sur l’autre, en comptant le nombre d’images entre les deux évènements. De cette manière nous obtenons le délai total entre la détection/traitement et la transmission.
 +
Le serveur tournait sur la Raspberry, le client sur un laptop et les deux dispositifs étaient connectées à un point d’accès WiFi 5GHz dans la même pièce   
 +
Nous avons effectué la mesure plusieurs fois pour déduire sa valeur moyenne et son incertitude (par son écart type).
 
====Résultats====
 
====Résultats====
 
Δt = 465 ± 22 ms
 
Δt = 465 ± 22 ms
Ligne 160 : Ligne 169 :     
====Résultats====
 
====Résultats====
 +
 +
Globalement le système et plus performant par rapport à l’ancienne solution en termes de fréquence de rafraîchissement, comparable en erreur de position, mais il est probablement moins efficace en termes de délai (nous n’avons pas des données pour le système ultrasons). Il reste à voir si sa performance est suffisante en faisant des tests en conditions réelles.
    
==Améliorations possibles==
 
==Améliorations possibles==