A Worm's Mind in a Lego Robot Body
The nematode worm Caenorhabditis elegans (C. elegans) is tiny and only has 302 neurons. These have been completely mapped and the OpenWorm project is working to build a complete simulation of the worm in software. One of the founders of the OpenWorm project, Timothy Busbice, has taken the connectome and implemented an object oriented neuron program.
The model is accurate in its connections and makes use of UDP packets to fire neurons. If two neurons have three synaptic connections then when the first neuron fires a UDP packet is sent to the second neuron with the payload "3". The neurons are addressed by IP and port number. The system uses an integrate and fire algorithm. Each neuron sums the weights and fires if it exceeds a threshold. The accumulator is zeroed if no message arrives in a 200ms window or if the neuron fires. This is similar to what happens in the real neural network, but not exact.
The software works with sensors and effectors provided by a simple LEGO robot. The sensors are sampled every 100ms. For example, the sonar sensor on the robot is wired as the worm's nose. If anything comes within 20cm of the "nose" then UDP packets are sent to the sensory neurons in the network.
The same idea is applied to the 95 motor neurons but these are mapped from the two rows of muscles on the left and right to the left and right motors on the robot. The motor signals are accumulated and applied to control the speed of each motor. The motor neurons can be excitatory or inhibitory and positive and negative weights are used.
And the result?
It is claimed that the robot behaved in ways that are similar to observed C. elegans. Stimulation of the nose stopped forward motion. Touching the anterior and posterior touch sensors made the robot move forward and back accordingly. Stimulating the food sensor made the robot move forward.
Notes:
Folksonomies: programming singularity robotics modeling trancendence
Taxonomies:
/health and fitness/disease (0.493957)
/technology and computing/software (0.392738)
/business and industrial (0.335006)
Keywords:
neurons (0.964238 (positive:0.361381)), object oriented neuron (0.910385 (neutral:0.000000)), worm Caenorhabditis elegans (0.905004 (negative:-0.362807)), Lego Robot Body (0.895465 (negative:-0.362807)), motor neurons (0.874454 (negative:-0.314324)), UDP packets (0.803412 (positive:0.630843)), simple LEGO robot (0.797206 (positive:0.519747)), C. elegans (0.776955 (positive:0.349883)), OpenWorm project (0.768247 (negative:-0.532918)), sensory neurons (0.694759 (neutral:0.000000)), observed C. elegans (0.685829 (positive:0.349883)), real neural network (0.677859 (negative:-0.350082)), neuron fires (0.666960 (negative:-0.253860)), UDP packet (0.542714 (neutral:0.000000)), complete simulation (0.494389 (negative:-0.532918)), Timothy Busbice (0.490068 (neutral:0.000000)), synaptic connections (0.486580 (neutral:0.000000)), sonar sensor (0.471711 (negative:-0.561047)), port number (0.467912 (neutral:0.000000)), 200ms window (0.461474 (negative:-0.253860)), posterior touch (0.458342 (positive:0.702028)), food sensor (0.457412 (positive:0.327651)), motor signals (0.439318 (negative:-0.240132)), right motors (0.435257 (neutral:0.000000)), sensors (0.352878 (positive:0.610887)), nose (0.324020 (negative:-0.403272)), weights (0.318576 (negative:-0.325599)), software (0.296673 (negative:-0.013172)), effectors (0.271932 (positive:0.519747)), accumulator (0.266454 (negative:-0.253860))
Entities:
nematode worm:FieldTerminology (0.873319 (negative:-0.362807)), Caenorhabditis elegans:FieldTerminology (0.800810 (negative:-0.362807)), neural network:FieldTerminology (0.796471 (negative:-0.350082)), UDP:Technology (0.772030 (neutral:0.000000)), Timothy Busbice:Person (0.648239 (neutral:0.000000)), object oriented:FieldTerminology (0.594619 (neutral:0.000000)), 20cm:Quantity (0.594619 (neutral:0.000000)), 3:Quantity (0.594619 (neutral:0.000000))
Concepts:
Caenorhabditis elegans (0.945791): dbpedia | freebase
Nervous system (0.791038): dbpedia | freebase | opencyc
Neuron (0.704660): dbpedia | freebase | opencyc
Nematode (0.623408): dbpedia | freebase | opencyc
Model organism (0.615019): dbpedia | freebase
Action potential (0.520832): dbpedia | freebase
Sydney Brenner (0.498364): dbpedia | freebase | yago
Caenorhabditis (0.497277): dbpedia | freebase | yago