Johnny 2.0

johnny2

Description :

Le sujet de TIPE (travail individuel pratique encadré) de ma deuxième année de prépa (2007) avait pour thème le Temps. J'ai alors profité de ce TIPE pour tester un mécanisme d'apprentissage neuronal imaginé peu de temps auparavant et inspiré d'une description des cellules astrocytaires. Ce mécanisme étudie l'influence de petites modifications apportées par une fonction périodique dans les synapses pour faire converger le système vers l'état souhaité.
astrocyte
cellule astrocytaire (en vert)
Le robot Johnny 2.0 est une évolution du robot Johnny 1, dont il reprend des éléments du chassis et les servomoteurs. Cette version est programmable et est contrôlé par un microcontrôleur PIC16F84. Son système sensoriel comprend deux capteurs visuels (des photorésistantes) et un capteur de contact (une paire d'antennes). Le "système nerveux" du robot est constitué de deux neurones, ainsi que deux "astrocytes" qui contrôlent les poids des synapses du réseau.

johnny2 johnny2
Le robot Johnny 2.0
Le principe du mécanisme d'apprentissage est le suivant : chaque astrocyte ajoute aux synapses auxquelles il est connecté une fonction périodique de valeur moyenne nulle T(t). Les astrocytes observent les variations de l'état de satisfaction local du système, ajoutant i x T(t) à la synapse si cet état augmente ou le soustrait si il diminue, avec i valeur de sortie du neurone en amont de la synapse.
johnny2
Le réseau neuronal du robot
La fonction de satisfaction de chaque astrocyte est défini comme proportionnel à la vitesse du moteur associé. Si le robot heurte un obstacle, la valeur devient négative et diminue à chaque période tant que l'obstacle n'est pas évité. Le robot aura ainsi tendance à aller le plus vite possible tout en évitant de se cogner.

Expériences :

Plusieurs expériences ont été effectuées pour tester les capacités d'apprentissage du réseau. La fonction d'apprentissage utilisée est une fonction carrée. Comme décrit précédamment, l'état de satisfaction est définie avec la vitesse des moteurs et le capteur de contact. Le robot est placé dans un enclos carré où deux conditions d'éclairage sont possible : centre éclairé ou bords éclairés.
eclairage
Deux conditions d'éclairage.
Pour la première expérience, on éclaire le centre de l'enclot, le robot est placé sous la source lumineuse. On observe le comportement suivant :
light
Le robot est placé sous la source lumineuse (lampe à leds). Utilisation du flash pour la photo.
-le robot commence par osciller, mû par les variations de ses synapses.
-Il commence à accélérer et sort de la zone éclairée.
-Il s'arrête et recommence à osciller, avant d'avancer dans l'obscurité.
-Il finit par heurter un mur. La vitesse des moteurs se met à osciller de plus en plus fort jusqu'à ce que la vitesse devienne négative : le robot recule.

light
Le robot heurte un mur. Utilisation du flash pour la photo.
A ce stade, le robot devient photovore et se met à tourner autours de la source lumineuse. Au bout d'un certain temps, à force d'évoluer à la limite de la zone éclairée, le comportement photovore s'estompe et le robot se met à avancer tout droit... et repart pour un nouveau cycle.

light
Le robot, devenu photovore, tourne autours de la source de lumière.
Pour la seconde expérience, on inverse les conditions d'éclairage lorsque le robot est devenu photovore. On observe le comportement suivant :
-le robot, photovore, se dirige vers le mur éclairé et le heurte.
-Sa vitesse oscille jusqu'à ce qu'il recule.
-Il se met à reculer, quel que soit l'éclairage qu'il perçoit.
-En passant sous la zone d'ombre, sa vitesse va peu à peu augmenter jusqu'à devenir positive : le robot devient photophobe.

Ces expériences montrent que le robot est capable de s'adapter aux conditions de son environnement.

Documents :

support de présentation : TIPE.pdf
Note : le document numérique original a été perdu dans un crash de disque dur, le document ci-dessus est le scan de la version papier.

programme en basicF84 : prog.wps