Équipes Neurocybernétique et ASTRE
Le projet doctoral présenté dans ce document s’inscrit dans le cadre d’une collaboration entre deux équipes du laboratoire ETIS. L’équipe Neurocybernétique étudie la robotique bio-inspirée, c’est à dire la modélisation de fonctionnements du cerveau des mammifères pour le contrôle robotique. Leurs études de ce champ de recherche les amènent à valider leurs travaux théoriques par des expérimentations pratiques.
À cette fin, l’équipe utilise des robots, mobiles ou non, afin d’explorer, raffiner, et valider des modèles de systèmes neuronaux. Le simulateur de réseaux de neurones PROMETHE et l’éditeur de réseaux de neurones LETO sont des projets de longue haleine au cœur de l’équipe Neurocybernétique (Rev97). L’application présentée ici, conçue pour la robotique mobile, a pour but de fournir aux réseaux de neurones de PROMETHE des informations sur leur environnement visuel dans un format pertinent (Mai07).
L’équipe ASTRE, quant à elle, s’emploie à l’étude des systèmes reconfigurables, principalement de type RSoC/RSiP. Cette équipe regroupe trois thématiques : – Systèmes : études visant à abstraire le matériel, principalement par la modélisation de systèmes. – Architectures : déploiement d’IP pour le traitement du signal et des images, et définition de nouvelles architectures reconfigurables. – Technologie : étude des technologies émergentes et de leurs apports pour concevoir des réseaux sur puce (NoC) innovants et performants.
Le projet présenté ici s’inscrit dans la thématique Architectures de cette équipe : la conception du système de vision embarqué passera par le déploiement d’IP de traitement d’images sur systèmes reconfigurables. Une partie de l’exploration architecturale présentée dans ce document a été réalisée en collaboration avec la thématique Systèmes de l’équipe ASTRE (section 3.2.3).
Présentation du système de vision
Le contexte de cette application, du coté du traitement d’image, permet de mieux appréhender l’utilité des différentes parties de l’application. L’application de vision étudiée a pour but de permettre à son hôte de se repérer dans son environnement. La détection de points saillants dans l’image fournie par une caméra lui permet de ne se focaliser que sur les zones les plus caractéristiques de l’image. En étudiant les voisinages de chaque point clé de l’image, le réseau de neurones peut construire une représentation de l’environnement dans lequel il évolue, à travers les différents éléments visuels qu’il rencontre. La limitation des données visuelles aux voisinages des points-clé permet de réduire la quantité d’informations que le réseau de neurones doit analyser, tout en augmentant leur pertinence.
Place du système de vision au sein du robot
La figure 1.1 représente le système de vision dans le système robotique, ainsi que les interactions entre les différents éléments du robot. Actionneurs Interface réseau Réseau de neurones artificiel Autres Capteurs Paramètres Caractéristiques locales Ordinateur embarqué WiFi N Station de travail distante du robot Déplacement l’environnement Modification de le robot visuel perçu par Caméra Système de vision Figure 1.1 – Place du système de vision dans le robot – Le système de vision est directement connecté à la caméra embarquée. Il envoie ses résultats au PC embarqué, qui lui impose ses paramètres Le robot hébergeant le système de vision dispose, comme élément central, d’un PC embarqué.
Cet ordinateur est responsable de l’interface avec un réseau de neurones, cœur décisionnel du robot. Pour le moment, ce réseau de neurones demande trop de ressources de calcul pour être exécuté directement sur ce PC embarqué, c’est pourquoi il est déporté sur des stations de calcul externes, reliées au PC embarqué par une liaison WiFi N. Le système de vision doit pouvoir se connecter à ce PC pour lui communiquer ses résultats et recevoir ses paramètres. Cette connexion doit se faire à travers une liaison Gigabit Ethernet, standard de communication au sein du robot pour les actionneurs comme pour les capteurs.
Le fonctionnement du robot est le suivant : la caméra capture un flux d’images, qui sont étudiées par le système de vision. Ce dernier cherche les zones pertinentes de l’image, et pour chacune d’elles, génère des caractéristiques locales dans un format bioinspiré, adapté au réseau de neurones. Le réseau de neurones, cœur du robot, reçoit ces caractéristiques, en plus des informations des autres capteurs, et prend les décisions
d’activation des actionneurs. La navigation du robot se fait à l’aide des roues motrices, les déplacements étant ainsi initiés par le réseau de neurones en fonction de sa perception de son environnement. On remarque une boucle de rétroaction principale : l’environnement visuel capturé par la caméra influe sur les résultats fournis par le système de vision au réseau de neurones. Ce dernier fait se déplacer le robot en fonction de ces résultats, ce qui modifie le point de vue du robot, et donc l’environnement visuel capturé par la caméra, puis perçu par le réseau de neurones à travers le système de vision. Une boucle de rétroaction secondaire est due aux paramètres du système de vision, qui lui sont fournis par le réseau de neurones, et qui modifient les caractéristiques locales qu’il enverra à ce dernier.