Evolutionary Robotics (ER) is known as the methodology that uses evolutionary computation to build up controllers intended for autonomous robots. Algorithms in ER typically operate on populations of candidate controllers, initially selected through numerous distribution. This population is then repeatedly changed according to a fitness function. In the case of genetic algorithms (or “GAs”), a common method in evolutionary computation, the population of candidate controllers is repeatedly grown up according to crossover, mutation along with other GA operators and then culled according to the fitness function. This prospect controllers applied in ER applications could possibly be drawn through numerous subset of the set associated with artificial neural networks, although some applications (including SAMUEL, developed at the Naval Center for Applied Research in Artificial Intelligence) work with collections of “IF THEN ELSE” principles as being the constituent parts of an individual controller. It is theoretically possible to use any set of symbolic formulations of a control laws (sometimes called a policies in the machine learning community) as the space of possible candidate controllers. Artificial neural systems could also be used for robot learning outside of the context of evolutionary robotics. In particular, other styles relating to reinforcement learning may be used for learning robot controllers.
Developmental robotics relates to, but is different from, evolutionary robotics. ER uses populations of robots that evolve over time, whereas DevRob is interested in the way the organization of the single robot’s control system develops through experience, as time passes.
The foundation of ER was laid with work at the nation’s research council in Rome in the 90s, but the initial idea of encoding a robot control system in to a genome and have artificial evolution improve on it goes for the late 80s.
In 1992 and 1993 two teams, a team surrounding Floreano and Mondada at the EPFL in Lausanne and a research group in the COGS in the University of Sussex reported experiments on artificial evolution of autonomous robots. The achievements this early research triggered a wave of activity in labs around the globe trying to harness the potential for the approach.
Lately, the problem in “scaling up” the complexness of the robot tasks has shifted attention somewhat on the theoretical end with the field rather than the engineering end.
Evolutionary robotics is completed with numerous objectives, often concurrently. Such as creating useful controllers for real-world robot tasks, going through the intricacies of evolutionary theory ( like the Baldwin effect), reproducing psychological phenomena, and learning about biological neural networks by studying artificial ones. Creating controllers via artificial evolution needs a large number of evaluations of a giant population. This is very time consuming, which is a primary reason why controller evolution is usually done in software. Also, initial random controllers may exhibit potentially harmful behaviour, for instance repeatedly crashing right into a wall, which might damage the robot. Transferring controllers evolved in simulation to physical robots is extremely difficult along with a major challenge in making use of the ER approach. The reason is that evolution costs nothing to understand more about all possibilities to have a high fitness, including any inaccuracies of the simulation. This dependence on numerous evaluations, requiring fast yet accurate computer simulations, is one of the limiting factors with the ER approach
In rare cases, evolutionary computation may be used to design the physical structure of the robot, besides the controller. One of the most notable types of it was Karl Sims’ demo for Thinking Machines Corporation.
Motivation for Evolutionary Robotics
Most of the widely used machine learning algorithms require a pair of training examples composed of both a hypothetical input and a desired answer. In lots of robot learning applications the specified response is an action for that robot to consider. These actions are often not known explicitly a priori, instead the robot can, at best, receive a value indicating the success or failure of the given action taken. Evolutionary algorithms are natural methods to this type of problem framework, since the fitness function only need encode the success or failure of a given controller, rather than the precise actions the controller needs to have taken. An alternative choice to the usage of evolutionary computation in robot learning will be the use of other kinds of reinforcement learning, for example q-learning, to understand the fitness of the particular action, and use predicted fitness values indirectly to create a controller.