Evolving cyclic control programs for multilegged robots

A learning system for solving cyclic control problems for autonomous legged robots with off-line learning is introduced. Cyclic genetic algorithms (CGAs) and punctuated anytime learning, the components of this system, were tested on three levels of locomotion control problems: leg cycle learning, gait generation, and area coverage. CGAs, a subset of evolutionary algorithms, are designed for learning cyclic control programs that provide cyclic behaviors in robots. They are capable of developing cycles of activations while using minimal a priori knowledge, which helps the control system maintain adaptability. Positive test results on learning three levels of cyclic behavior show how CGAs are generally applicable to locomotion in legged robots. Demonstrated in these tests are methods of using stepwise evolution to create a hierarchy of cycles within cycles and methods for combining separate cycles into one. Punctuated anytime learning is a method of learning that allows an off-line system equipped with some form of evolutionary computation to evolve control programs for controllers on board autonomous robots. This system requires only minimal computational power on the robots while providing them with the learning needed to keep them adaptive to changes in the robot's capability and the environment. In addition, only general observations of the robot's performance are required, alleviating the necessity for onboard capability sensors and communications from the robot to the learning system. This research covers two methods of anytime learning that integrate the actual robot and its simulation during evolutionary computation. One method uses tests on the actual robot to bias the learning system's solution fitnesses, which were computed on a simulation, making them equivalent to the fitnesses computed on the actual robot. The other method uses tests on the robot to co-evolve the parameters of the model, making it more accurately represent the actual robot. In both cases, only simple models are required, less tests are required on the robot than systems that do all their fitness tests on the robot, and the solutions are better than ones gained by systems doing all their training in simulation.