Artificial Life and Real Robots - Brooks
Artificial Life and Real Robots - Brooks
Rodney A. Brooks
MIT Artificial Intelligence Laboratory
545 Technology Square
Cambridge, MA 02139, USA
[email protected]
"Toward a Practice of Autonomous Systems: Proceedings of the First European Conference on Artificial Life," Francisco J. Varela and Paul
Bourgine, eds., MIT Press, Cambridge, MA, 1992, pp. 3—10.
For a physically embodied robot in the real world Just as sensors do not deliver simple descriptions
there are a number of key points to understand. of the world, high level action commands need many
layers of refinement before they become appropriately
• Sensors deliver very uncertain values even in a sta- orchestrated motor currents. In any case, the desired
ble world. action and the achieved action may differ widely
depending on the intricate details of the situation at additional sensors and actuators can be made available
hand. On flat smooth floors, odometry errors soon so that higher level behaviors can be evolved. The
accumulate to the point that a a robot needs to particular fitness function used to control the
recalibrate its position to some external reference. evolutionary search can be varied over time to
Besides a large unsystematic component, odometry emphasize the use of new capabilities and the need to
may also have systematic aspects, e.g., depending on develop higher level behaviors. There might also be
the relative nap of the carpet, on which the robot is some advantage to biasing the genetic operators
operating—this has lead some researchers to try to towards operating more on the newer behaviors than
sense the nap! The situation is much more difficult to on the early. (Although it certainly makes sense for
model, of course, when the robot is in contact with the crossover operator to take pieces of old behavior
an obstacle. eg., an orienting behavior, based on a sensor activated
early in the evolutionary search would be a good
Sensing, and action are intimately tied together in a prototype for an orienting behavior using a new
physical robot. They both rely on, and at the same sensor.)
time generate, the dynamics of the interaction of the
robot with the world. Simple state space models of In our hand written programs we capture symmetry
the world do not suffice in the internal control and repeated structure by the use of macros. For
program of a physically embodied mobile robot. example, on the six-legged robot Genghis ([Brooks
89]) there is a macro version of the leg control
4 Morphological Development behaviors which gets instantiated six times, once for
each leg. This suggests two ideas to again reduce the
genetic search space.
We now turn to the nature of the search space in
which the genetic programming techniques must
• The language that is subject to genetic
work.
programming should include a macro capability. As
the search learns how to use these effectively it will
In nature, evolution experiments with both the
greatly accelerate the production of good programs.
morphology of the individual and its neural circuitry
cotemporaneously and through the same genetic
• There must be some way to reference the
mechanism. There are two important consequences of
symmetries and regularities of the morphological
this, both of which reduce the space which evolution
structure of the robot, in order to invoke the macros
must search.
correctly. This morphological descriptor will be a
constant for each particular class of robot. The
• The control program is evolved incrementally.
constant could be evolved, but it would be much
Evolution is restricted initially to a small search
quicker to have that as an available constant
space. The size of the space grows over many
somewhere in the original pool of ancestral
generations, but by then there is a good partial
programs.
solution already found which forms the basis for
searching the newer parts of the space.
5 Evolving Behavior-Based Pro-
• Symmetric or repeated structures naturally have grams
symmetric or repeated neural circuits installedthey
do not need to be individually evolved (e.g., a [Koza 91] reports on a genetic programming
single encoding specifies the wiring of both a right implementation in simulation of the navigation
and a left leg, and likewise each added segment behaviors of [Mataric 90]'s robot Toto. The
containing a leg pair in a mutant Drosophila comes programming language he uses is a carefully chosen
with neural circuitry). subset of Lisp. While adequate for the task Koza
reports, based on our experience with physical robots,
Our approach to behavior-based programming of it is perhaps not sufficient for the more general case.
robots has always been to build layers incrementally
[Brooks 86]. For genetic programming we suggest [Langton 91] has suggested the idea of genetically
that the robot (both simulated and physical) should programming a physical robot using the Behavior
initially be operated with only some of its sensors, Language (BL) defined in [Brooks 90a].
and perhaps only some of its actuators. Programs can Unfortunately, there are many drawbacks to using BL
be evolved for this simplified robot, much as our directly.
hand written programs ([Brooks 90b]) start out with
layers which only use some of the capabilities of the
[Lenat and Brown 84] analyze the the apparent
robot. Once fundamental behaviors are present,
success of the discovery system AM [Lenat 77]. They
point out the crucial way in which the syntax of the embedding predicates in conditional special forms
Lisp programs being mutated mirrored the semantics (implemented as macros) is a good one.
of the world of simple mathematics concepts being
explored. We can likewise expect performance of a Koza hides critical constants in these special forms
crossover based genetic programming system to also. [Ray 90] points out the difficulty in having too
critically depend on the syntax of the language used many constants around in the genetic pool, and
and the way in which crossover mutates a program's instead evolves simple constructive program
semantics. segments to build them. Primitives to make this easy
would be a good idea in GEN also.
In this section we try to identify the choices made
by Koza which led to his success, and compare them 5.2 Variables and Lexicality
to what is available in BL. We propose a higher level
language, called GEN, which can be compiled into Real BL programs use many named state variables.
BL as the target language for genetically Sometimes these are simply used as semaphores,
programming physical robots. sometimes they are used as counters, sometimes they
are used for calibration offsets, and sometimes they
5.1 Primitives for Genetic are used to store sensor readings, or processed sensor
Programming of Robots readings, for later comparison.
6.1 Calibration
Typically on real robots a ring of 8, say, bump 6.2 Adapting the Simulation
sensors, or infrared proximity sensors, will be
accessible as a single byte of 8 one bit values. The
When the programs which have been evolved on
mapping between arrangement of those bits and the
the simulated robots are tried on embodied robots
morphology of the sensors is usually quite arbitrary,
there will be two types of information available.
and indeed there may be no natural semantically valid
arrangement of the bits.
1. How well the programs work on embodied robots.
2. How different the performance of the programs is robot. This will be a critical data point in evaluating
on the simulated robots and the embodied robots. the utility of the approach.
The first type of information can be used to inform The Behavior Language compiler has been modified
the genetic programming system, as would any so that other programs can call it, rather than having
simulated test of the generated programs. to go through the previous interface optimized for
people using it to program physical robots. It already
The second type of information should be used to had a backend which produced a byte-code program for
tune up the simulation to better match reality. One which a Common Lisp program provides an
would expect that this would be done by hand. interpreter. Thus, BL programs can be automatically
However there is a more tantalizing possibility. -compiled and run on a simulation machine. In
Perhaps this information could be used to co-evolve addition, a higher language known as GEN has been
the simulater using genetic programming partially built which compiles into BL programs.
techniques-especially if the simulator were written in GEN is based on the ideas explored in the previous
the same sort of BL as the robots were programmed sections.
(our current simulator is partially written in BL). The
idea would be to run the evolved robot programs on 8 Conclusion
the embodied robots, then with those programs fixed,
evolve the simulator until it better matched what
The key ideas presented in this paper are:
happened in reality. There are deep issues in finding
measures to compare the performance of the
• Use genetic programming techniques to build
simulator to reality, since the robots won't be going
behavior-based programs which can run real robots
through exactly the same sequence of operations
(this idea is due to [Langton 91]).
Eventually, perhaps, this may be a viable approach.
• Evolution and runtime adaptation are two separate
7 Progress issues.
At the time of writing no complete experiments • All robots will need runtime adaptation elements.
have been carried out using the ideas in this paper.
• Evolution of control structure needs to run in
We have built a simulator for multiple R-2 robots1 parallel with evolution of morphology—in robots
It is not grid-based, but instead the coordinates of a this can be simulated by progressively enabling
robot can be arbitrary floating point numbers within more sensors and actuators as layers of behaviors
the workspace. R-2 robots have a two wheeled evolve for those already operational.
differential drive with passive castors for stability.
The simulator handles arbitrary independent velocities • Regularity (e.g., symmetry or repeated structures)
on the two wheels. There is a simple physics in morphological structure should be mirrored in
associated with motion of a robot when it has regularity in the control structure, and thus needs to
collided with an obstacle (which are all modeled as be representable in the control language.
immovable cylinders). The sensors currently modeled
are a ring of eight bump sensors, a ring of eight • Special care must be taken in design of the control
infrared proximity sensors, and three forward looking language to minimize the depth and breadth of
beacon sensors. We expect to add more sensor useful program trees.
models. No explicit uncertainty is built into the
sensor or actuator models. However, the BL program • To make crossover useful in a control language with
which runs the robots refers to the real time clock of variables, a new method for representing variable
the computer on which the simulation is run. Noise references was introduced.
is therefore introduced into the system by the load on
the computer, and by the interjection of the Lisp • There are real methodological dangers in using
garbage collector. simulations as a testing medium in which to
evolve programs which are intended eventually to
The complete simulation is about 500 lines of run on physical robots-great care must be taken to
combined Common Lisp and BL code. We have no develop a sufficient validation regime.
hypothesis at this point about how well programs
developed on the simulator will transfer to the real There are many possible approaches to using
Artificial Life techniques for programming physical
robots We have chosen one particular approach here,
1
Manufactured by IS Robotics.
but many of the points of concern will be common [Kaelbling 90] “Learning in Embedded Systems”, Leslie
with other approaches. Pack Kaelbling, Ph.D. Thesis, Stanford.
Support for this research was provided in part by [Koza 91] “Evolving Emergent Wall Following Robotic
the University Research Initiative under Office of Behavior Using the Genetic Programming Paradigm”,
Naval Research contract N00014-86-K-0685, in part John R. Koza, ECAL, Paris, Dec.
by the Advanced Research Projects Agency under
Office of Naval Research contract [Langton 87] “Proceedings of Artificial Life”,
Christopher G. Langton (ed), Addison-Wesley, appeared
N00014-85-K-0124, in part by the Hughes Artificial
1989.
Intelligence Center, and in part by Mazda
Corporation. [Langton 91] Personal communication, Christopher G.
Langton, September.
References
[Langton et al 90] “Proceedings of Artificial Life, II”,
[Brooks 86] “A Robust Layered Control System for a Christopher G. Langton, Charles Taylor, J. Doyne
Mobile Robot”, Rodney A. Brooks, IEEE Journal of Farmer, and Steen Rasmussen (eds), Addison-Wesley,
Robotics and Automation RA-2, April, 14-23. appeared 1991.
[Brooks 89] “Robot that Walks: Emergent Behavior [Lenat 77] “The Ubiquity of Discovery”, Douglas B.
from a Carefully Evolved Network”, Rodney A. Brooks, Lenat, IJCAI-77, Cambridge, MA, Aug., 1093-1105.
Neural Computation, 1:2, Summer, 253-262.
[Lenat and Brown 84] “Why AM and EURISKO Appear t o
[Brooks 90a] “The Behavior Language; User's Guide”, Work”, Douglas B. Lenat and John Seely Brown,
Rodney A. Brooks, MIT A.I. Lab Memo 1227, April. Artificial Intelligence 23,269-294.
[Brooks 90b] “Elephants Don't Play Chess”, Rodney A. [Maes 90] “Designing Autonomous Agents: Theory and
Brooks, in [Maes 90], 1990, 3-15. Practice from Biology to Engineering and Back”, Pattie
Maes (ed), MIT Press, Cambridge, MA, 1990.
[Brooks 91a] “Intelligence without Representation”,
Rodney A. Brooks, Artificial Intelligence 47, Jan., [Maes and Brooks 90] “Learning to Coordinate
Behaviors”, Pattie Maes and Rodney A. Brooks,
139-159.
AAAI-90, Boston, MA, 1990, 796-802.
[Brooks 91b] “Intelligence without Reason”, Rodney A.
Brooks, IJCAI-91, Sydney, Australia, Aug., 569-595, [Mahadevan and Connell 90] “Automatic Programming
of Behavior-based Robots using Reinforcement
Learning”, Sridhar Mahadevan and Jonathan Connell,
[Brooks 91c] “New Approaches to Robotics”, Rodney A.
IBM T.J. Watson Research Report, Dec.
Brooks, Science 253, Sep., 1227-1232.
[Mataric 90] “A Distributed Model for Mobile Robot
[Collins and Jefferson 90] “AntFarm: Towards Simulated
Environment-Learning and Navigation”, Maja J .
Evolution”, Robert J. Collins and David R. Jefferson, i n
Mataric, MIT A.I. Lab Technical Report 1228, May.
[Langton et al 90], 579-601.
[Pollack and Ringuette 90] “Introducing the Tileworld:
[Friedberg 58] “A Learning Machine, Part I”, R. M.
Experimentally Evaluating Agent Architectures”, Martha
Friedberg, IBM Journal of Research and Development 2,
E. Pollack and Marc Ringuette, AAAI-90, Boston, MA,
2-13.
August, 183-189.
[Friedberg et al 59] “A Learning Machine, Part II”, R. M.
[Ray 90] “An Approach to the Synthesis of Life”,
Friedberg, B. Dunham, and J. H. North, IBM Journal o f
Thomas S. Ray, in [Langton et al 90], 371-408.
Research and Development 3, 282-287.
[Viola 90] “Adaptive Gaze Control”, Paul A. Viola, MIT
[Holland 75] “Adaptation in Natural and Artificial
SM Thesis, 1990.
Systems”, John H. Holland, University of Michigan
Press, Ann Arbor, MI.
[Wang and Beni 90] “Distributed Computing Problems
in Cellular Robotic Systems”, Jing Wang and Gerardo
Beni, IEEE/RSJ International Workshop on Intelligent
Robots and Systems, Ikabara, Japan, 819-826.