In order to be autonomous, a robot should have its primary controller
on board. Pre-programming this controller, although it may ensure the
desired results, is laborious to develop and does not provide a means
for adaptations necessitated by miscalculation, change of terrain, or
degradation of the mechanical system. Learning control through some
form of evolutionary computation can save man-hours of development
plus provide the adaptability required for autonomy, but it can be too
computationally intense to be carried out on board the robot. A system
of learning to make adjustments to the on board controller must be
employed that can be carried out off-line yet allow the robot to adapt
to changes in real time.