Johnny 2.0

johnny2

Description :

The subject of the TIPE (individual supervided practical work) of my second year of preparatory classes (2007) was the Time. I took advantage of this TIPE to test a neuronal learning mechanism I conceived short time before, inspired by a description of astrocyt cells. This mechanism observes the influence of small changes in synaptic connections due to a periodic function, to make the system converging toward a desired state.
astrocyte
astrocyt cell (green)
Johnny 2.0 is an evolution of the robot Johnny 1, incorporating elements of its chassis and its sorvomotors. This version is programmable and controlled by a PIC16F84 microcontroller. The sensory system is composed of two photoresistors and a contact sensor (antennas). The "nervous system" of the robot is composed of two neurons, and two "astrocytes" that controls synaptic weights of the networks.
johnny2 johnny2
The robot Johnny 2.0
The principle of the learning mechanism is the following: each astrocyte adds to synapses on which it is connected a periodic function with a null average value T(t). The astrocytes observe changes in the local satisfaction value of the system, adding i x T(t), with i the output value of the previous neuron, to the synapses if this state is increasing, or substracting it if decreasing.
johnny1
Neuronal network of the robot
The satisfaction function of each astrocyte is define as proportionnal to the speed of corresponding motor. If the robot bumps into an obstacle, the value becomes negative, and is decreased at each periods until the robot avoid the obstacle. The robot behavior thus consists on moving forward, while avoiding obstacles.

Experiments :

Some experiments were performed to test the learning ability of the mechanism. The used learning function is a square function. As described previously, the satisfaction state is defined according to motor speed and contact sensor state. The robot is placed in a square enclosure where two light conditions are possible: center enlightened and walls enlightened.
eclairage
Two light conditions
For the first experiment, the center is enlightened, and the robot is placed in the enlightened area. The following behavior is observed:
light
The robot is placed under the light source (led flashlight). Flash was used for the photo.
-the robot oscillates, driven by variations in synaptic weights.
-it begins to accelerate and go out of the enlighted area.
-it stops and oscillates again, before moving forward in darkness.
-it bumps a wall. The motors speed oscillates more and more stronger until it becomes negative: the robot moves back.

light
The robot bumps into a wall. Flash was used for the photo.
At this step, the robot becomes photovore and turn around the light source. After a certain time evolving at the limit of the enlightened area, the photovore behavior fades and the robot moves forward... and starts a new cycle.

light
The robot, photovore, turns around the light source.
For the second experiment, the light conditions are reversed when the robot becomes photovore. The following behavior is observed:
-the robot moves toward an enlightened wall and bumps it.
-Its speed oscillates until it moves back.
-It moves back regardless of the perceived enlightenment.
-By moving under the dark area, its speed will slowly increase until it becomes positive: the robot becomes photophobe.

These experiments shown that the robot is able to adapt itself to light conditions of its environment.

Documents :

Presentation support (fr): TIPE.pdf
Note : due to a crash of a hard disk, the original digital document was lost. This document is a scan of the paper version.

programm in basicF84 : prog.wps