Evolutionary robotics 1050195 214944733 2008-05-26T00:46:27Z Jiuguang Wang 2430726 Removed category "Autonomous robotics" (using [[WP:HOTCAT|HotCat]]) '''Evolutionary Robotics''' ('''ER''') is a methodology that uses [[evolutionary computation]] to develop [[controller (control theory)|controllers]] for [[autonomous robot]]s. [[Algorithms]] in ER frequently operate on populations of candidate [[controller (control theory)|controllers]], initially selected from some [[probability distribution|distribution]]. This population is then repeatedly modified according to a [[fitness function]]. In the case of [[genetic algorithm]]s (or "GAs"), a common method in [[evolutionary computation]], the population of candidate controllers is repeatedly grown according to crossover, mutation and other [[genetic algorithm|GA]] operators and then culled according to the [[fitness function]]. The candidate controllers used in ER applications may be drawn from some subset of the set of [[artificial neural network]]s, although some applications (including SAMUEL, developed at the [[Naval Center for Applied Research in Artificial Intelligence]]) use collections of "IF THEN ELSE" rules as the constituent parts of an individual [[controller (control theory)|controller]]. It is theoretically possible to use any set of symbolic formulations of a [[control law]]s (sometimes called a [[policy|policies]] in the [[machine learning]] community) as the space of possible candidate controllers. It is worth noting that [[artificial neural network]]s can also be used for [[robot learning]] outside of the context of evolutionary robotics. In particular, other forms of [[reinforcement learning]] can be used for learning robot [[controller (control theory)|controllers]]. [[Developmental robotics]] is related to, but differs from, evolutionary robotics. ER uses populations of robots that evolve over time, whereas DevRob is interested in the organization of a single robot's control system develops through experience, over time ==History== The foundation of ER was laid with work at the national research council in Rome in the 90s, but the initial idea of encoding a robot control system into a genome and have [[artificial evolution]] improve on it dates back to the late 80s. The term ''evolutionary robotics'' was introduced in 1993 by [[Dave Cliff|Cliff]], [[Inman Harvey|Harvey]] and [[Phil Husbands|Husbands]] at the [[University of Sussex]] {{Fact|date=November 2007}}. In 1992 and 1993 two teams, a team surrounding [[Dario Floreano|Floreano]] and [[Francesco Mondada|Mondada]] at the [[EPFL]] in [[Lausanne]] and a research group at the COGS at the [[University of Sussex]] reported the first experiments on artificial evolution of autonomous robots. The success of this early research triggered a wave of activity in labs around the world trying to harness the potential of the approach. Lately, the difficulty in "scaling up" the complexity of the robot tasks has shifted attention somewhat towards the theoretical end of the field rather than the engineering end. ==Evolutionary Robotics== Evolutionary robotics is done with many different objectives, often at the same time. These include creating useful controllers for real-world robot tasks, exploring the intricacies of evolutionary theory (such as the [[Baldwin effect]]), reproducing psychological phenomena, and finding out about biological neural networks by studying artificial ones. Creating controllers via artificial evolution requires a large number of evaluations of a large population. This is very time consuming, which is one of the reasons why controller evolution is usually done in software. Also, initial random controllers may exhibit potentially harmful behaviour, such as repeatedly crashing into a wall, which may damage the robot. Transferring controllers evolved in simulation to physical robots is very difficult and a major challenge in using the ER approach. The reason is that evolution is free to explore all possibilities to obtain a high fitness, including any inaccuracies of the simulation {{Fact|date=January 2008}}. This need for a large number of evaluations, requiring fast yet accurate computer simulations, is one of the limiting factors of the ER approach {{Fact|date=January 2008}}. In rare cases, evolutionary computation may be used to design the physical structure of the robot, in addition to the controller. One of the most notable examples of this was [[Karl Sims]]' demo for [[Thinking Machines]] corporation. ==Motivation for Evolutionary Robotics== Many of the commonly used [[machine learning]] algorithms require a set of [[training set|training examples]] consisting of both a hypothetical input and a desired answer. In many [[robot learning]] applications the desired answer is an action for the robot to take. These actions are usually not known explicitly a priori, instead the [[robot]] can, at best, receive a value indicating the success or failure of a given action taken. Evolutionary algorithms are natural solutions to this sort of problem framework, as the fitness function need only encode the success or failure of a given controller, rather than the precise actions the controller should have taken. An alternative to the use of evolutionary computation in [[robot learning]] is the use of other forms of [[reinforcement learning]], such as [[q-learning]], to learn the fitness of any particular action, and then use predicted fitness values indirectly to create a controller. == Conferences and Institutes == ===Main Conferences=== * Evolutionary Robotics * [[GECCO]] * [[IEEE Congress on Evolutionary Computation]] * [[European Conference on Artificial Life]] * [[ALife]] === Academic institutes and researchers === * [[Chalmers University of Technology]]: [[Peter Nordin]], [http://humanoid.fy.chalmers.se/ The Humanoid Project] * [[University of Sussex]]: [[Inman Harvey]], [[Phil Husbands]], [[Ezequiel Di Paolo]], [[Eric Vaughan]], [[Thomas Buehrmann]] * [[Consiglio Nazionale delle Ricerche|CNR]]: [[Stefano Nolfi]], [[Raffaele Calabretta]] * [[EPFL]]: [[Dario Floreano]] * [[University of Zürich]]: [[Rolf Pfeifer]] * [[Cornell University]]: [[Hod Lipson]], [[Josh Bongard]] * [[Case Western Reserve University]]: [[Randall Beer]] * [http://crim.ece.ncsu.edu/index.php Center for Robotics and Intelligent Machines], [[North Carolina State University]]: [[Eddie Grant]], [http://www.nelsonrobotics.org/ Andrew Nelson] * [[University College London]]: [[Peter Bentley]], [[Siavash Haroun Mahdavi]] * [[University of Essex]]: [[Simon Lucas]] * [[Brandeis University]]: [[Jordan Pollack]] * [[IDSIA]] and [[Technical University of Munich]]: [[Juergen Schmidhuber]]'s [http://www.idsia.ch/~juergen/cogbotlab.html Robot Lab] * [[University College of Skövde]]: [[Tom Ziemke]] * [[U.S. Naval Research Laboratory]]'s, [http://www.nrl.navy.mil/aic/iss/aas/ Navy Center for Applied Research In Artificial Intelligence]: [[Alan C. Schultz]], [[Mitchell A. Potter]], [[Kenneth De Jong]] * [http://www.ais.fraunhofer.de/INDY Fraunhofer AiS, Intelligent Dynamics Dep.]: [http://www.ais.fraunhofer.de/INDY/fpas/index_empty.html Frank Pasemann] * [http://www.genarts.com/karl/evolved-virtual-creatures.html Evolved Virtual Creatures] by [[Karl Sims]] ([[GenArts]]) * [http://www.kenrinaldo.com Ken Rinaldo artificial life robotics]. * [http://lsi.vc.ehu.es/pablogn/ University of the Basque Country (UPV-EHU): Robótica Evolutiva, Pablo González-Nalda (in Spanish)] [http://lsi.vc.ehu.es/pablogn/topos/investig/ficheros/NeurocompTopos.pdf PDF (in English)]. == See also == {{portalpar|Robotics|Animation2.gif}} * [[Artificial intelligence]] * [[Cybernetics]] * [[Cognitive robotics]] * [[Evolutionary computation]] * [[Roboticist]] * [[Robotics]] * [[Robot kit]] == References == * ''Evolutionary Robotics'' by [[Stefano Nolfi]] and [[Dario Floreano]]. ISBN 0-262-14070-5 * ''Advances in the Evolutionary Synthesis of Intelligent Agents'' by Mukesh Patel, [[Vasant Honavar]] and Karthik Balakrishnan (Ed). Cambridge, MA: MIT Press. 2001. ISBN 0-262-16201-6 ==External links== * [http://mensnewsdaily.com/2007/05/16/robobusiness-robots-with-imagination/ RoboBusiness: Robots that Dream of Being Better] * [http://www.irobis.com/ Institute of Robotics in Scandinavia AB (iRobis)] * [http://humanoid.fy.chalmers.se/text/cuba.pdf An Evolutionary Architecture for a Humanoid Robot] * [http://www.evolutionaryrobotics.org/ An introduction to Evolutionary Robotics with annotated bibliography] * [http://laral.istc.cnr.it/evorobot/ The Evolutionary Robotics Homepage] * [http://lis.epfl.ch/resources/documentation/EvolutionaryRobotics/index.php A gentle introduction to ER] [[Category:Artificial intelligence]] [[es:Robótica evolutiva]] [[ja:進化ロボット工学]] [[pt:Robótica evolucionária]] [[Rahul Goyal]]