Evolutionary Robotics (ER) ist eine Methodik, die evolutionäre Berechnungen verwendet, um Controller und / oder Hardware für autonome Roboter zu entwickeln. Algorithmen in ER arbeiten häufig mit Populationen von Kandidaten, die anfangs aus einer Verteilung ausgewählt wurden. Diese Grundgesamtheit wird dann entsprechend einer Fitnessfunktion wiederholt modifiziert. Im Fall von genetischen Algorithmen (oder „GAs“), einer gängigen Methode in der evolutionären Berechnung, wird die Population von Kandidaten-Controllern wiederholt nach Crossover-, Mutations- und anderen GA-Operatoren gezüchtet und anschließend nach der Fitnessfunktion ausgesondert. Die Kandidaten für Controller, die in ER-Anwendungen verwendet werden, können aus einer Teilmenge des Satzes künstlicher neuronaler Netze stammen, obwohl einige Anwendungen (einschließlich SAMUEL, entwickelt am Marinezentrum für angewandte Forschung in der künstlichen Intelligenz) verwenden Sammlungen von „IF THEN ELSE“ -Regeln als Bestandteile eines einzelnen Controllers. Es ist theoretisch möglich, einen beliebigen Satz symbolischer Formulierungen eines Kontrollgesetzes (in der Machine Learning Community manchmal als Richtlinie bezeichnet) als Raum für mögliche Kandidaten für Prüfer zu verwenden. Künstliche neuronale Netzwerke können auch für Roboterlernen außerhalb der evolutionären Robotik eingesetzt werden. Insbesondere können andere Formen des Verstärkungslernens zum Lernen von Robotersteuerungen verwendet werden. Es ist theoretisch möglich, einen beliebigen Satz symbolischer Formulierungen eines Kontrollgesetzes (in der Machine Learning Community manchmal als Richtlinie bezeichnet) als Raum für mögliche Kandidaten für Prüfer zu verwenden. Künstliche neuronale Netzwerke können auch für Roboterlernen außerhalb der evolutionären Robotik eingesetzt werden. Insbesondere können andere Formen des Verstärkungslernens zum Lernen von Robotersteuerungen verwendet werden. Es ist theoretisch möglich, einen beliebigen Satz symbolischer Formulierungen eines Kontrollgesetzes (in der Machine Learning Community manchmal als Richtlinie bezeichnet) als Raum für mögliche Kandidaten für Prüfer zu verwenden. Künstliche neuronale Netzwerke können auch für Roboterlernen außerhalb der evolutionären Robotik eingesetzt werden. Insbesondere können andere Formen des Verstärkungslernens zum Lernen von Robotersteuerungen verwendet werden.
Entwicklungsrobotik ist verwandt mit evolutionärer Robotik, unterscheidet sich jedoch von dieser. ER verwendet Populationen von Robotern, die sich im Laufe der Zeit weiterentwickeln, während DevRob daran interessiert ist, wie sich das Steuerungssystem eines einzelnen Roboters aus Erfahrung im Laufe der Zeit entwickelt.
Geschichte
Mit der Arbeit des Nationalen Forschungsrates in Rom in den 90er Jahren wurde der Grundstein für ER gelegt. Die ursprüngliche Idee, ein Robotersteuerungssystem in ein Genom zu kodieren und eine Verbesserung der künstlichen Evolution zu erreichen, stammt aus den späten 80er Jahren.
1992 und 1993 waren drei Forschungsgruppen, eine um Floreano und Mondada an der EPFL in Lausanne und eine zweite, an der Cliff, Harvey und Husbands von COGS an der University of Sussex beteiligt waren, und eine dritte an der University of Southern California beteiligt Andrew H Fagg berichtete über vielversprechende Ergebnisse aus Experimenten zur künstlichen Evolution autonomer Roboter. Der Erfolg dieser frühen Forschung löste eine Welle von Aktivitäten in Laboren auf der ganzen Welt aus, die das Potenzial des Ansatzes nutzen wollten.
In letzter Zeit hat die Schwierigkeit beim „Skalieren“ der Komplexität der Roboteraufgaben die Aufmerksamkeit etwas zum theoretischen Ende des Feldes und nicht zum Engineering-Ende hin verschoben.
Ziele
Evolutionäre Robotik hat viele verschiedene Ziele, oft gleichzeitig. Dazu gehören das Erstellen nützlicher Controller für reale Roboteraufgaben, die Erforschung der Komplikationen der Evolutionstheorie (z. B. der Baldwin-Effekt), die Reproduktion psychologischer Phänomene und das Erkennen biologischer neuronaler Netzwerke durch Untersuchung künstlicher Netzwerke. Das Erstellen von Controllern durch künstliche Evolution erfordert eine große Anzahl von Bewertungen einer großen Population. Dies ist sehr zeitaufwändig. Dies ist einer der Gründe, warum die Controller-Entwicklung normalerweise in Software ausgeführt wird. Anfängliche Zufallssteuerungen können auch potenziell schädliches Verhalten zeigen, z. B. wiederholt gegen eine Wand prallen, wodurch der Roboter beschädigt werden kann. Das Übertragen von in der Simulation entwickelten Controllern auf physische Roboter ist sehr schwierig und eine große Herausforderung bei der Verwendung des ER-Ansatzes. Der Grund ist, dass es der Evolution frei steht, alle Möglichkeiten zu erkunden, um eine hohe Fitness zu erreichen, einschließlich Ungenauigkeiten der Simulation. Diese Notwendigkeit für eine große Anzahl von Auswertungen, die schnelle, aber genaue Computersimulationen erfordern, ist einer der limitierenden Faktoren des ER-Ansatzes.
In seltenen Fällen kann die physikalische Struktur des Roboters zusätzlich zur Steuerung durch evolutionäre Berechnungen gestaltet werden. Eines der bemerkenswertesten Beispiele dafür war Karl Sims ‚Demo für Thinking Machines Corporation.
Motivation
Viele der üblicherweise verwendeten Algorithmen für maschinelles Lernen erfordern eine Reihe von Trainingsbeispielen, die sowohl aus einer hypothetischen Eingabe als auch einer gewünschten Antwort bestehen. In vielen Roboter-Lernanwendungen ist die gewünschte Antwort eine Aktion, die der Roboter ergreifen soll. Diese Aktionen sind normalerweise nicht explizit a priori bekannt, sondern der Roboter kann im besten Fall einen Wert erhalten, der den Erfolg oder Misserfolg einer bestimmten durchgeführten Aktion anzeigt. Evolutionäre Algorithmen sind eine natürliche Lösung für diese Art von Problemrahmen, da die Fitnessfunktion nur den Erfolg oder Misserfolg eines bestimmten Controllers codieren muss, anstatt die genauen Maßnahmen zu ergreifen, die der Controller hätte ergreifen müssen. Eine Alternative zum Einsatz evolutionärer Berechnungen beim Roboterlernen ist die Verwendung anderer Formen des Verstärkungslernens, z. B. q-learning, um die Eignung einer bestimmten Aktion zu erlernen.
Konferenzen und Institute
Hauptkonferenzen
Konferenz über genetische und evolutionäre Berechnungen
IEEE-Kongress für evolutionäre Berechnung
Europäische Konferenz über künstliches Leben
Ein Leben
Akademische Institute und Forscher
Chalmers University of Technology: Peter Nordin, das humanoide Projekt
Universität von Sussex: Inman Harvey, Phil Husbands, Ezequiel Di Paolo
Consiglio Nazionale delle Ricerche (CNR): Stefano Nolfi
EPFL: Dario Floreano
Universität Zürich: Rolf Pfeifer
Cornell University: Hod Lipson
Universität von Vermont: Josh Bongard
Indiana University: Randall Beer
Zentrum für Robotik und intelligente Maschinen, North Carolina State University: Eddie Grant, Andrew Nelson
University College London: Peter J. Bentley
Das IDSIA Robotics Lab: Jürgen Schmidhuber, Juxi Leitner
US Naval Research Laboratory
Universität Osnabrück, Neurocybernetics Group: Frank Pasemann
Entwickelte virtuelle Kreaturen von Karl Sims (GenArts)
Ken Rinaldo künstliche Lebensrobotik
Das Advanced Concepts Team der Europäischen Weltraumorganisation: Dario Izzo
Universität des Baskenlandes (UPV-EHU): Robótica Evolutiva, Pablo González-Nalda (auf Spanisch) PDF (auf Englisch)
Universität von Plymouth: Angelo Cangelosi, Davide Marokko, Fabio Ruini, Martin Peniak
Heriot-Watt-Universität: Patricia A. Vargas
Pierre und Marie-Curie-Universität, ISIR: Stephane Doncieux, Jean-Baptiste Mouret
Paris-Sud University und INRIA, IAO / TAO: Nicolas Bredeche
RIKEN Brain Science Institute
Karlsruher Institut für Technologie, Institut für Angewandte Informatik und Formale Beschreibungsmethoden: Lukas Koenig