Chapter 4. The Robotic Worm

One of the age-old questions has been whether the way a brain is wired, negating other attributes such as intracellular systems biology, will give rise to how we think and how we behave. We are not at the point yet to answer that question regarding the human brain. However, by using the well-mapped connectome of the nematode Caenorhabditis elegans (C. elegans, shown in Figure 4-1), we were able to answer this question as a resounding yes, at least for simpler animals. Using a simple robot (a Lego Mindstorms EV3) and connecting sensors on the robot to stimulate specific simulated sensory neurons in an artificial connectome, and condensing worm muscle excitation to move a left and right motor on the robot, we observed worm-like behaviors in the robot based purely on environmental factors.

Alt Text
Figure 4-1. The C. elegans connectome, courtesy of NeuroConstruct

Our artificial connectome uses a program that can be started 302 times, where each program inherits the attributes of one of the worm’s 302 neurons. These attributes consist of the neuron itself (named, for example, AVAL, DB02, and VD03) and the neurons that it connects to. We use the number of connections that a neuron has to another neuron as a weighted value. For example, if neuron A has three synaptic connections to neuron B, when neuron A “fires,” we send a weighted value of 3 to neuron B. Using UDP4 message communications, we can message the weighted values between each simulated neuron by assigning a port number and IP address.

Each simulated neuron program has a weight accumulator that sums the weights as they are received; a threshold is established that must be met before that neuron will fire. If no message activity is received within 200 ms, the accumulator is automatically set to zero (e.g., depolarizes the cell). Once a neuron fires, the accumulator is also set to zero. This gives our artificial connectome a temporal paradigm that has similarities to living connectomes.

To connect the robot to the artificial connectome, we created a program that reads the robot sensors every 100 ms. Depending on the sensor, we send weighted values to a specific set of simulated sensory neurons. For example, we simulate the worm “nose touch” by using a sonar sensor on the robot. If the robot comes within 20 cm of an object, the well-defined sensory neurons that are associated with nose touch on the worm are activated with UDP messaged weighted values. Likewise, there are many motor neurons within the C. elegans connectome that stimulate each of the 95 body muscles. Four rows of muscles are aligned down the worm’s body: two rows ventral and dorsal left, and two rows ventral and dorsal right. We create a 4 x 24 matrix of these muscles, with each cell of the matrix representing one of the 95 muscles. We accumulate the weighted values on the left and right to drive the left and right motors on the robot. Motor neurons can be excitatory or inhibitory, and we send positive weighted values for excitatory synapses and negative numbers for inhibitory synapses. This, in turn, causes the two wheels on the robot to move independently, forward or backward.

Alt Text
Figure 4-2. The Lego Mindstorms EV3 robot sensors are read by an Input program that activates the appropriate sensory neurons of the simulated connectome. An Output program receives the motor neuron output and accumulates weighted values to drive the robot wheels.

In general, the EV3 robot using the artificial connectome behaved in very similar ways to the behaviors observed in the biological C. elegans. In the simplest of terms, stimulation of food sensory neurons caused the robot to move forward. Stimulation of the robot’s sonar, which in turn stimulated nose-touch neurons, caused the robot to stop forward motion, back up, and then proceed forward, usually in a slightly skewed path. Touching the anterior and posterior touch sensors caused the robot to either move forward (anterior touch) or move backward (posterior touch). There is no programming to direct the robot to behave in any specific manner. Only the simulated connectome directs when the robot will move a motor forward, stop, or move backward. This answers, at a very basic level, that the connectome alone gives rise to phenotypes that we observe in animals.

A YouTube video shows the robot using the connectome framework and simulated C. elegans nervous system. The first part of the video displays the sensor input program that captures sensory data and sends it to a set of sensory neurons. This part of the video also shows the output program that captures the motor neuron weights; the weighted data is accumulated by the left and right sides of the C. elegans body muscle structure, and the accumulated weights are sent to the left and right motors of the robot. The middle of the video shows the robot as it comes up to a wall, activates the nose-touch sensory neurons, stops and changes direction, again totally under the control of the simulated C. elegans nervous system. The last part of the video is a capture of the neurons as they are activated, showing green as weights are received and dark green when the accumulated received weighted value exceeds 10.

The C. elegans connectome is highly recursive. When the connectome reaches a sufficient level of stimulation, the connectome will continuously self-stimulate: a neuron (presynaptic) will stimulate another set of neurons (postsynaptic), and in turn, many of those postsynaptic neurons will stimulate the originating presynaptic neuron, creating loops of stimulation. The recursive nature of the connectome has shown to be a key factor in the connectomics research and resulting behaviors of C. elegans. This is now becoming a focal point of our analysis, to determine how these recursive loops play on the topology and resulting actions when the connectome is fully engaged.

Alt Text
Figure 4-3. This image is created from the direct data output of the simulated C. elegans connectome, and specifically the network that surrounds the activation of neuron DD05. The green arrows are excitatory (positive) stimulation, and the red arrows are inhibitory (negative) stimulation. Oval shapes represent neurons, and rectangles represent muscle cells. As you can see, the network is highly recursive, whereby often neuron A excites neuron B, which in turn excites neuron A.

Although we can show that simple neuronal connections can give rise to expected behaviors, there is much more to the neurons of C. elegans (and of other animals) than just neuronal connections—including, but not limited to, the difference between chemical and electrical connections, neuropeptides and the various peptides and innexins that create neuronal complexities at the cellular level. Just the differences in chemical (synapse) and electrical (gap junctions) warrants the possibility of two programs to shadow one another and represent a single simulated neuron. Whether this evolves into multiple programs that together comprise a single neuron, or a single application that encompasses all of the systems biology of a single neuron, we must continue to improve and add complexity to get a true representation in reverse-engineering biology. This also includes the spatial aspects of how neurons are placed and connect throughout the nervous system to create a spatio-temporal model (which we have seen is important regarding body-touch sensing).

The artificial connectome has been extended to a single application written in Python and run on a Raspberry Pi computer. To our surprise, this simple program and version of the C. elegans connectome worked very well. We are currently creating a self-contained, Raspberry Pi–controlled robot that will be completely autonomous and independent of Internet connectivity. Our objective is to develop robots that can use the artificial connectome as a means to not only adapt to and navigate unknown environments, but also carry out specific tasks such as identifying or reporting environmental changes that could be vital to specific interests.

There is still very much to experiment with and analyze in reverse engineering the nervous systems of animals. We believe that this first step in being able to study an entire connectome, from sensory input to motor output, and the observations of expected behaviors will allow us to move forward in the understanding of nervous system wiring and how it develops into our behaviors. Moving from a simple 302-neuron connectome to higher-order animals will only increase the complexity and give us greater insight into how our own minds work.

4 The User Datagram Protocol (UDP) is one of the core members of the Internet protocol suite (the set of network protocols used for the Internet). With UDP, computer applications can send messages, in this case referred to as datagrams.

Get BioCoder #5 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.