Scholarship contest idea: evolving navigation behaviors
Although they are very simple organisms, bacteria like E. coli have served as model organisms for studying the molecular biology of behavior, and have been studied extensively. Such simple organisms provide a good starting point for evolving simple behaviors that may eventually serve as a platform for the emergence of more complex behavior. Chemotaxis is a simple orientation behavior, performed by many different organisms, involving moving either toward (positive chemotaxis) or away from (negative chemotaxis) the source of some particular chemical signal, by sensing and responding to the chemical gradient in the local environment.
The project I am proposing for the contest would port the software evolved in Avida onto the Create robot, and demonstrate the virtually evolved capability in the real-world environment. Since performing chemotaxis in air would involve dealing with turbulent dispersal of the chemical signal, I propose to use phototaxis or thermotaxis -- orientation to a light or heat source, respectively -- as an analog to chemotaxis. This will greatly simplify the experiments, since the problem will then be one of diffusion rather than turbulence. The robot will follow the light or heat gradient, tracking toward the source.
Several things will be necessary to accomplish this. In software, the virtual CPU instructions of Avida will have to be translated to the robot. Because of the runtimes for Avida experiments, the evolution would be done offline; the robot would run the program that is the result of evolution. Hardware implementation would include the addition of photosensors or infared sensors, to allow the robot to sense the light or heat gradient. Care will need to be taken, both in the digital evolution and in the robot experiments, to ensure that the real environment is similar enough to the digital environment during evolution, so that the evolved program can function in the real world environment.
Although tactic behavior has been implemented in robots in the past, to my knowledge it has never been done using digital evolution. An evolutionary approach has several advantages: 1) the finished program is discovered through evolution, instead of hand-coded step-by-step; 2) evolution may find novel ways of solving the problem that a programmer might not think of; 3) because of (1) and (2), the evolved solution may be more robust and adaptive than a top-down, engineered solution.