Robótica evolutiva

La robótica evolutiva (ER) es una metodología que utiliza la computación evolutiva para desarrollar controladores y / o hardware para robots autónomos. Los algoritmos en ER con frecuencia operan en poblaciones de controladores candidatos, inicialmente seleccionados de alguna distribución. Esta población se modifica repetidamente de acuerdo con una función de aptitud. En el caso de los algoritmos genéticos (o «GA»), un método común en el cálculo evolutivo, la población de controladores candidatos crece repetidamente de acuerdo con el cruce, la mutación y otros operadores de GA y luego se selecciona de acuerdo con la función de adecuación. Los controladores candidatos utilizados en las aplicaciones de ER se pueden extraer de algún subconjunto del conjunto de redes neuronales artificiales, aunque algunas aplicaciones (incluyendo SAMUEL, desarrollado en el Centro Naval de Investigación Aplicada en Inteligencia Artificial) utiliza colecciones de las reglas «IF THEN ELSE» como las partes constitutivas de un controlador individual. En teoría, es posible utilizar cualquier conjunto de formulaciones simbólicas de una ley de control (a veces llamada política en la comunidad de aprendizaje automático) como el espacio de posibles controladores candidatos. Las redes neuronales artificiales también pueden usarse para el aprendizaje de robots fuera del contexto de la robótica evolutiva. En particular, se pueden utilizar otras formas de aprendizaje por refuerzo para aprender a controlar los robots. En teoría, es posible utilizar cualquier conjunto de formulaciones simbólicas de una ley de control (a veces llamada política en la comunidad de aprendizaje automático) como el espacio de posibles controladores candidatos. Las redes neuronales artificiales también pueden usarse para el aprendizaje de robots fuera del contexto de la robótica evolutiva. En particular, se pueden utilizar otras formas de aprendizaje por refuerzo para aprender a controlar los robots. En teoría, es posible utilizar cualquier conjunto de formulaciones simbólicas de una ley de control (a veces llamada política en la comunidad de aprendizaje automático) como el espacio de posibles controladores candidatos. Las redes neuronales artificiales también pueden usarse para el aprendizaje de robots fuera del contexto de la robótica evolutiva. En particular, se pueden utilizar otras formas de aprendizaje por refuerzo para aprender a controlar los robots.

La robótica evolutiva está relacionada, pero difiere de, la robótica evolutiva. ER utiliza poblaciones de robots que evolucionan con el tiempo, mientras que DevRob está interesado en cómo se desarrolla la organización de un sistema de control de un solo robot a través de la experiencia, a lo largo del tiempo.

Historia
La base de ER se estableció con el trabajo en el consejo nacional de investigación en Roma en los años 90, pero la idea inicial de codificar un sistema de control de robot en un genoma y mejorar su evolución artificial se remonta a finales de los años 80.

En 1992 y 1993, tres grupos de investigación, uno que rodeaba a Floreano y Mondada en la EPFL en Lausana y un segundo con Cliff, Harvey y Husbands de COGS en la Universidad de Sussex y un tercero de la Universidad del Sur de California involucraron a M. Anthony Lewis y Andrew H Fagg informó resultados prometedores de experimentos sobre evolución artificial de robots autónomos. El éxito de esta investigación inicial provocó una ola de actividad en laboratorios de todo el mundo que intentaron aprovechar el potencial del enfoque.

Últimamente, la dificultad de «ampliar» la complejidad de las tareas del robot ha cambiado la atención hacia el final teórico del campo en lugar del extremo de la ingeniería.

Los objetivos
La robótica evolutiva se realiza con muchos objetivos diferentes, a menudo al mismo tiempo. Estos incluyen crear controladores útiles para tareas de robots del mundo real, explorar las complejidades de la teoría de la evolución (como el efecto Baldwin), reproducir fenómenos psicológicos y descubrir redes neuronales biológicas mediante el estudio de redes artificiales. La creación de controladores a través de la evolución artificial requiere un gran número de evaluaciones de una gran población. Esto consume mucho tiempo, lo cual es una de las razones por las que la evolución del controlador generalmente se realiza en software. Además, los controladores aleatorios iniciales pueden mostrar un comportamiento potencialmente dañino, como estrellarse repetidamente contra una pared, lo que puede dañar el robot. La transferencia de controladores evolucionados en simulación a robots físicos es muy difícil y constituye un gran desafío en el uso del enfoque ER. La razón es que la evolución es libre para explorar todas las posibilidades para obtener una buena condición física, incluidas las inexactitudes de la simulación. Esta necesidad de un gran número de evaluaciones, que requieren simulaciones informáticas rápidas pero precisas, es uno de los factores limitantes del enfoque de ER.

En casos raros, el cálculo evolutivo se puede usar para diseñar la estructura física del robot, además del controlador. Uno de los ejemplos más notables de esto fue la demostración de Karl Sims para Thinking Machines Corporation.

Motivación
Muchos de los algoritmos de aprendizaje automático de uso común requieren un conjunto de ejemplos de capacitación que consisten en una entrada hipotética y una respuesta deseada. En muchas aplicaciones de aprendizaje de robots, la respuesta deseada es una acción que debe realizar el robot. Estas acciones generalmente no se conocen explícitamente a priori, en cambio, el robot puede, en el mejor de los casos, recibir un valor que indique el éxito o el fracaso de una acción determinada. Los algoritmos evolutivos son soluciones naturales para este tipo de marco de problemas, ya que la función de adecuación solo necesita codificar el éxito o el fracaso de un controlador determinado, en lugar de las acciones precisas que debería haber tomado el controlador. Una alternativa al uso de la computación evolutiva en el aprendizaje con robots es el uso de otras formas de aprendizaje por refuerzo, como el aprendizaje q, para aprender la aptitud de cualquier acción en particular,

Conferencias e institutos.

Conferencias principales
Conferencia de Computación Genética y Evolutiva.
Congreso IEEE sobre Computación Evolutiva
Conferencia Europea sobre la Vida Artificial
Una vida

Institutos académicos e investigadores.
Universidad de Tecnología de Chalmers: Peter Nordin, El Proyecto Humanoide
Universidad de Sussex: Inman Harvey, Phil Husbands, Ezequiel Di Paolo
Consiglio Nazionale delle Ricerche (CNR): Stefano Nolfi
EPFL: Darío Floreano
Universidad de Zurich: Rolf Pfeifer
Universidad de Cornell: Hod Lipson
Universidad de Vermont: Josh Bongard
Universidad de Indiana: Randall Beer
Centro de robótica y máquinas inteligentes, Universidad Estatal de Carolina del Norte: Eddie Grant, Andrew Nelson
University College de Londres: Peter J. Bentley
El laboratorio de robótica de IDSIA: Juergen Schmidhuber, Juxi Leitner
Laboratorio de Investigación Naval de los Estados Unidos
Universidad de Osnabrueck, Grupo de Neurocibernética: Frank Pasemann
Criaturas virtuales evolucionadas por Karl Sims (GenArts)
Ken Rinaldo robótica vida artificial.
Equipo de conceptos avanzados de la Agencia Espacial Europea: Darío Izzo
Universidad del País Vasco (UPV-EHU): Robótica Evolutiva, Pablo González-Nalda (en español) PDF (en inglés)
Universidad de Plymouth: Angelo Cangelosi, Davide Marruecos, Fabio Ruini, * Martin Peniak
Universidad Heriot-Watt: Patricia A. Vargas
Universidad Pierre y Marie Curie, ISIR: Stephane Doncieux, Jean-Baptiste Mouret
Universidad de Paris-Sud e INRIA, IAO / TAO: Nicolas Bredeche
Instituto de Ciencias del Cerebro RIKEN
Instituto de Tecnología de Karlsruhe, Instituto de Informática Aplicada y Métodos de Descripción Formales: Lukas Koenig