Une implémentation en environnement réel d'un système de navigation bio-inspiré




Ce système est une implémentation en environnement réel du modèle de navigation bio-inspiré développé durant mon postdoc au laboratoire LITIS. Nous utilisons une caméra binoculaire pour générer le contexte environnemental (Figure 1).

Le fonctionnement de ce système est décrit en détail dans notre article
'A bio-inspired model for robust navigation assistive devices'

Stereo camera

Figure 1 : La caméra utilisée est une caméra Sony PS4 model 1 modifiée.

Le système visuel utilise la disparité entre les deux images et localise des lignes verticales dans la scène. Ces lignes sont ensuite projetées sur le plan de navigation poour générer le contexte environnemental (Figure 2). Le système différencie les lignes avec un gradient positif et négatif, ce qui aide dans la reconnaissance du contexte.

Stereo vision

Figure 2 : Le système visuel détecte les lignes verticales dans la scène (en haut à gauche) et utilise la disparité entre les deux images (en haut à droite) pour détecter et localiser ces lignes verticales dans l'espace. Les lignes sont projetées sur le plan de navigation (en bas à droite) pour définir le contexte environnemental.



Avec la caméra fixée sur un chariot, il devient possible de cartographier un environnement inconnu. Le système a été testé dans deux environnements.


Construction d'un chemin dans l'environnement 'couloir'. Les cellules de grille et de direction de la tête indiquent la position et l'orientation autours de la cellule de lieu actuelle. Les cellules de lieux sont placées sur la grille globale (outil de visualisation) permettant d'observer le graphe de navigation (points bleus) et la trajectoire (ligne couleur cyan).



Construction d'un chemin dans l'environement 'boucle'



Il est alors possible de reproduire le chemin enregistré en suivant les instructions du système de navigation : chaque cellule de lieu indique la position de la prochaine cellule de lieu. En alignant la direction du chariot sur la direction de la prochaine cellule, on peut suivre le chemin enregistré.


suivi du chemin dans l'environnement 'couloir'.



suivi du chemin dans l'environnement 'boucle'.



L'utilisation d'un graphe décentralisé de modèles locaux rend le système robuste aux changements d'environnement : le système ne prend en compte que les points d'intérêt qui sont proches de leur position attendue dans un modèle local. Ainsi, si un nombre suffisant de points d'intérêt est reconnu, le système est capable d'estimer la position. Dans la vidéo suivante, plusieurs éléments ont été ajoutés ou déplacés par rapport au chemin précédemment enregistré.


Robustesse du modèle de navigation dans un environnement modifié. Des tables, chaises, porte-manteaux ont étés ajoutés ou dépacés, et certaines portes ont été ouvertes.


Le système de localisation locale, utilisant les cellules de grille et de direction de la tête, peut suivre les mouvements de la caméra dans toutes les directions, tant que celle-ci reste à porté du module de cellules de grille (ici, le module couvre un carré de 220x220cm). Cette caractéristique permet de suivre une personne dans l'espace.


Suivi des mouvements dans l'espace : mouvement latéral de 60cm à gauche par rapport à la position de la cellule de lieu (3 cellules de grille) puis de 40 cm à froite (2 cellules de grille).



Nous avons également testé le système avec la caméra portée au niveau du torse. Malgré une faible tolérance du système à l'inclinaison et au roulis de la caméra, il reste capable de suivre la position de la personne le long du couloir.

Chest camera

Figure 3 : caméra attachée sur la sangle frontale d'un sac à dos.



Suivi d'une personne avec la caméra portée au niveau du torse.



Le système de navigation a aussi été testé sur une plateforme robotique, équipée d'un nano-ordinateur Banana Pi M5. Ce test démontre la possibilité de concevoir un dispositif compact et portatif, mais également les possibilités de guidage offertes par ce modèle de navigation. En effet, le robot se déplace vers la prochaine cellule de lieu du graphe, permettant de suivre le chemin enregistré de façon autonome.

robotic platform

Figure 4 : La plateforme robotique est basée sur la base Osoyoo Mecanumm Wheel. L'étage supérieur supporte la caméra binoculaire, une powerbank, un Banana Pi M5 et un dongle Wifi. L'étage inférieur supporte un Arduino Mega et deux carte de contrôle moteur pilotant les quatre moteurs cc.



Le robot suit le chemin précédemment enregistré dans l'environnement 'couloir' avec le chariot. Malgré la différence de hauteur, le robot est toujours capable de se déplacer le long du chemin. Il perd cependant le suivi en arrivant vers le milieu du couloir, où le point de vue depuis le sol est trop différent pour pouvoir reconnaitre l'environnement.