Generation and Organization of Behaviors for Autonomous Robots
In this thesis, the generation and organization of behaviors for
autonomous robots is studied within the framework of
behavior-based robotics (BBR).
Several different behavioral architectures have been considered in
applications involving both bipedal and wheeled robots. In the
case of bipedal robots, generalized finite-state machines (GFSMs)
were used for generating a smooth gait for a (simulated) five-link bipedal
model, constrained to move in the sagittal plane. In addition,
robust balancing was achieved, even in the presence of perturbations.
Furthermore, in simulations of a three-dimensional bipedal robot,
gaits were generated using clusters of central pattern
generators (CPGs) connected via a feedback network. A third
architecture, namely a recurrent neural network (RNN), was used
for generating several behaviors in a simulated, one-legged hopping
robot. In all cases, evolutionary algorithms (EAs) were used for
optimizing the behaviors.
The important problem of behavioral organization has been studied using
the utility function (UF) method, in which behavior selection is
obtained through evolutionary optimization of utility functions that
provide a common currency for the comparison of behaviors. In general,
the UF method requires the use of simulations. Thus, an important
part of this thesis has been the development of a general-purpose
software library (UFLib) implementing the UF method.
In order to study the properties of the UF method, several behavioral
organization problems, mostly involving wheeled robots, have been
considered. Most importantly, it was found that the UF method
greatly simplifies the search for solutions to a wide variety
of behavioral organization problems and requires a minimum of hand-coding.
Furthermore, the results show that the use of multiple simulations
(for the evaluation of a robot) significantly improves the ability
of the robot to select appropriate behaviors. For the EA, it was found
that the standard crossover procedure, which
swaps entire utility functions between individuals, performed at least
as well as several modified operators, and that the mutation rate
should be set so as to generate around three parameter modifications
per individual. Finally, some early results are presented concerning
the use of the UF method in connection with a robot intended for
transportation and delivery.
utility function method