Un système de navigation bio-inspiré


Ce système de navigation repose sur l’utilisation de structures inspirées des cellules de lieux et de cellules de grille et des cellules d’orientation de la tête, neurones impliqués dans la navigation chez les mammifères.

À l’origine, ce modèle a été pensé pour la conception d’un système d’assistance à la navigation pour les personnes déficientes visuelles. Il devait ainsi répondre à certaines contraintes : navigation en intérieur et en extérieur, mesure des déplacements dans toutes les directions, champs de vision réduit (pas de caméras panoramiques), pas d’odométrie absolue, tout en restant peu gourmand en ressources et donc en énergie. Après des essais de modèles de SLAM visuel, nous nous sommes tourné vers des approches d’inspiration biologiques. Actuellement, d’autres applications sont envisagées, comme la robotique, voire le guidage d’une flottille de robot, rendue possible par l’aspect décentralisé du modèle de l’environnement.

Description du modèle :

Ce modèle de navigation repose sur l’utilisation conjointe de structures inspirés par certains types de neurones impliqués dans la navigation chez les mammifères. Sa robustesse provient d’une part de son aspect prédictif, en estimant les observations possibles autours d’une position donnée, et d’autre part par l’aspect séquentiel du modèle de l’environnement, qui permet de compenser un faible nombre de repères visuels. Ce modèle est décrit dans notre article MDPI.

Le modèle nécessite un système sensoriel capable de reconnaître et localiser des éléments distinctif dans l’espace égo-centré (Système de stéréovision, lidar, flot optique…). Les éléments distinctifs peuvent être variés (simple couleur, reconnaissance d’objet ou de motifs, détections de lignes verticales…). Idéalement, le champs de vision doit approcher les 180°, bien que 90° soit théoriquement suffisant.

contexte visuel

Exemple de système de perception. Ici, les points caractéristiques sont définis par leur couleur et localisés en coordonnées polaires.

- Les cellules de lieu sont des structures capable de caractériser une position de l’environnement, en enregistrant le contexte observé à cette position. Les cellules voisines sont reliées entre elles, permettant de former un graphe de navigation facilement exploitable. Les cellules de lieu utilisent ce contexte enregistré pour reconnaître les lieux déjà visités.

- Les cellules de grilles sont des neurones principalement impliqués dans l’intégration de chemin. Leur fonctionnement est très particulier : leur champs récepteur (les régions de l’espace où ils s’activent) forment les sommets d’une grille hexagonale régulière. Ils sont rassemblés en groupe, appelés modules. Les cellules de grille d’un même module forment des ‘grilles’ de taille et orientation identiques, mais avec un décalage, permettant de couvrir l’ensemble de l’espace avec une petite surface torique qui se répète.

grid cells

(a) Les cellules de grille ont un champs récepteur formant une grille hexagonale. (b) Un module permet de caractériser l'ensemble de l'espace.

Dans notre modèle, un module contient un ensemble de cellules de grille. L’espacement entre les cellules définit un déplacement dans l’espace. Comme le module a une forme torique, on peut associer une cellule de lieu avec une cellule de grille choisie arbitrairement. Cette cellule de grille devient alors le ‘centre’ du module. En récupérant le contexte de la cellule de lieu, et la position par rapport au centre, chaque cellule de grille va pouvoir générer le contexte attendu à la position qu’elle caractérise par rapport à la cellule de lieu.

position tracking

principe de la localisation : les cellules de grilles utilisent le contexte de la cellule de lieu (a) pour définir des prédictions autour de cette cellule (b). L'activité du module permet de définir la position autour de la cellule de lieu.

- Les cellules d’orientation de la tête sont des neurones qui s’active quand la tête est orientée dans une position spécifique. Dans notre modèle, les cellules d’orientation sont associées à un angle d’orientation prédéfini, couvrant uniformément un tour complet (360°). Chaque cellule d’orientation défini, à partir du contexte observé, un contexte ‘pivoté’ de son angle. Ainsi, en comparant ces contextes pivotés et les contextes prédits des cellules de grille, on peut déterminer le couple cellule d’orientation-cellule de grille avec la plus forte similarité, donnant la position et l’orientation précises autour de la cellule de lieu active.

cellules d'orientation de la tete

Les cellules d'orientation de la tête génèrent des versions du contexte observé dans différentes orientations.

La démo interactive ci-dessous présente une implémentation simplifiée de ce principe de localisation autour d’une cellule de lieu : placez des points distinctifs dans l’environnement (tous du même type), activez une cellule de lieu, puis déplacez l’agent pour observer l’activité des cellules de grille et d’orientation. Vous pouvez aussi observer le contexte de chaque cellule et les comparer.

demo grid cells
démo GC-HDC

Bien entendu, ce principe limite la localisation à la surface couverte par le module. Pour continuer le suivi, le système repose sur le principe suivant : lorsque l’on définit le centre du module, on définit également les cellules en bordure de ce module. Lorsque l’on atteint une de ces cellules en bordure, une nouvelle cellule de lieu est créée et associée à cette cellule de grille. Les cellules de grille calculent de nouvelles prédictions à partir du contexte de cette nouvelle cellule de lieu et du nouveau centre du module, permettant de continuer le suivi.

graph construction

Principe du changement de cellule de lieu et de construction du graphe.

La démo interactive ci-dessous illustre ce principe de construction du graphe de navigation. Cliquez dans l’environnement, puis déplacez-vous doucement pour observer la position sur le module (ici, on utilise simplement la position du curseur) et les changements de cellule de lieu.

demo place cells
démo cellules de lieu



vidéos des expérimentations :


Construction du graphe de navigation (guidage manuel). En haut à droite, les cellules de grille et les cellules d'orientation. En bas à droite, les cellules de lieu.



Suivi d'une séquence de cellules de lieu (navigation autonome). L'agent se guide uniquement à l'aide de son système visuel (pas de mesure des déplacements).


comparaison

Comparaison du trajet effectué avec le guidage manuel pour construire une séquence de cellules de lieu (trait noir), et du trajet effectué automatiquement en suivant cette séquence (trait rouge).



Retour au point de départ, en suivant la séquence inversée de cellules de lieu (trait bleu). Comme l'agent ne voit pas derrière lui, il ne peut compter, pour le retour, que sur la distance estimée entre les cellules de lieu et la mesure visuelle de ses déplacement à l'aide de nouvelles cellules. Le système de guidage permet une intégration de chemin relativement fiable.



Tolérance aux changements : même en modifiant l'environnement, le système de guidage parvient à trouver des repères pour suivre la séquence de cellule de lieu définie dans l'environnement initial.



Détection de raccourcis (trait vert) : l'agent peut estimer la position des cellules de lieu autour de lui et se dirige vers la cellule atteignable en ligne droite (sans obstacle entre lui et la position estimée) la plus proche de la dernière cellule de la séquence.