|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.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 04 October 2017 )|