A Worm's Mind In An Arduino Body
Written by Mike James   
Wednesday, 04 October 2017

It is a few years since we first encountered the mind of C. elegans built into a Lego body but now we have a version everyone can play with. It is presented as a biologically plausible model of the neural network of a small worm running on an Arduino Uno robotic platform. 



The nematode worm Caenorhabditis elegans (C. elegans) is tiny and only has 302 neurons. These have been completely mapped as partf of the OpenWorm project. Back in 2014, one of the founders of the project, Timothy Busbice, used the connectome to implement an object-oriented neuron demo. This was fascinanting and something of a milestone, but the strucutre of the program - a distributed system using UDP packets to communicate, made it hard to get involved if you wanted to try it out for yourself. 




Nematoduino is a new project by Nathan Griffith, who is obviously going to be an astrophysicist, puts the same connectome into an Arduino Uno on wheels. The simulation, in Arduino's dialect of C, is of a spiking neural network and it isn't trained and it doesn't learn. Any behavior that you see in the robot is purely an expression of what C. elegans has learned though eons of evolution.  

The system diagram tells most of the story:



And you can see it in action in the following video - notice that the only sensor that the "worm" has is its nose touch sensor.



Reactions to the previous worm incarnation varied from amazement to the opinion that it was spooky. Once chemists thought that you needed something special, a life force, to create organic chemicals but then it was proved wrong when the organic chemical urea was synthesised without any life being involved. The same attitude seems to apply to organic neural networks. It seems we are still amazed when someone succeeds in synthesizing anything that looks like natural AI. The point seems to be that we really don't need any "ghost in the machine" - the machine is enough and it is no less remarkable for that.

We still don't really understand much about spiking neural networks. We don't know how they work and we don't know how to train them - except by making them mimic the action of trained non-spiking neural networks. We don't really understand even the simple 300 plus neuron network of C. elegans. If you don't believe me try and work out what difference removing one of the neurons makes? Not easy. 

So don't be fooled into thinking that there is nothing more to be done. We can still learn a lot from models like nematoduino.

The good news is that the project is open source and the compiled code only uses13542 bytes (42%) of the program memory of an UNO-compatible board, and 825 bytes (40%) of the SRAM. This leaves lots of room for adding code - and the robot cart could do with some more sensors. It would also be nice to find a more gentle way of mapping the motor neurons to actuators - rather than just two wheels. 


More Information


Related Articles

A Worm's Mind In A Lego Body

Neurokernel - A Fly's Brain      

OpenWorm Building Life Cell By Cell        

Survey Reveals American Public Suspicious Of Tech       

An Equation For Intelligence   

Nobel Prize For Computer Chemists       

AI Methods Save The Biosphere!       

A New Computational Universe - Fredkin's SALT CA    


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.




JetBrains Celebrates Software Developers

JetBrains has launched a campaign celebrating software developers worldwide. The campaign is run on behalf of JetBrains IDEs, the company's range of integrated development environment products.

Wasmer's py2wasm Compiles Python To WebAssembly

py2wasm is a compiler that turns your Python code into WebAssembly, "running it at 3x faster speeds".

More News


raspberry pi books



or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 04 October 2017 )