Robótica evolucionária

A robótica evolucionária (ER) é uma metodologia que utiliza computação evolutiva para desenvolver controladores e / ou hardware para robôs autônomos. Algoritmos no ER freqüentemente operam em populações de controladores candidatos, inicialmente selecionados de alguma distribuição. Esta população é então repetidamente modificada de acordo com uma função de aptidão. No caso de algoritmos genéticos (ou “GAs”), um método comum em computação evolucionária, a população de controladores candidatos é repetidamente cultivada de acordo com crossover, mutação e outros operadores de GA e depois abatidos de acordo com a função de aptidão. Os candidatos a controladores usados ​​em aplicações ER podem ser obtidos de algum subconjunto do conjunto de redes neurais artificiais, embora algumas aplicações (incluindo SAMUEL, desenvolvido no Centro Naval de Pesquisa Aplicada em Inteligência Artificial) use coleções de regras “IF THEN THEN ELSE” como partes constituintes de um controlador individual. É teoricamente possível usar qualquer conjunto de formulações simbólicas de uma lei de controle (às vezes chamada de política na comunidade de aprendizado de máquina) como o espaço de possíveis candidatos a controladores. Redes neurais artificiais também podem ser usadas para aprendizagem de robôs fora do contexto da robótica evolutiva. Em particular, outras formas de aprendizagem de reforço podem ser usadas para aprender controladores de robô. É teoricamente possível usar qualquer conjunto de formulações simbólicas de uma lei de controle (às vezes chamada de política na comunidade de aprendizado de máquina) como o espaço de possíveis candidatos a controladores. Redes neurais artificiais também podem ser usadas para aprendizagem de robôs fora do contexto da robótica evolutiva. Em particular, outras formas de aprendizagem de reforço podem ser usadas para aprender controladores de robô. É teoricamente possível usar qualquer conjunto de formulações simbólicas de uma lei de controle (às vezes chamada de política na comunidade de aprendizado de máquina) como o espaço de possíveis candidatos a controladores. Redes neurais artificiais também podem ser usadas para aprendizagem de robôs fora do contexto da robótica evolutiva. Em particular, outras formas de aprendizagem de reforço podem ser usadas para aprender controladores de robô.

A robótica do desenvolvimento está relacionada, mas difere, da robótica evolutiva. O ER usa populações de robôs que evoluem com o tempo, enquanto o DevRob está interessado em como a organização do sistema de controle de um único robô se desenvolve através da experiência, ao longo do tempo.

História
A fundação da ER foi lançada com trabalho no conselho nacional de pesquisa em Roma nos anos 90, mas a ideia inicial de codificar um sistema de controle do robô em um genoma e melhorar sua evolução artificial remonta ao final dos anos 80.

Em 1992 e 1993, três grupos de pesquisa, um cercando Floreano e Mondada na EPFL em Lausanne e um segundo envolvendo Cliff, Harvey e Husbands do COGS na University of Sussex e um terceiro da University of Southern California envolveram M. Anthony Lewis e Andrew H Fagg relatou resultados promissores de experimentos sobre a evolução artificial de robôs autônomos. O sucesso desta pesquisa inicial desencadeou uma onda de atividade em laboratórios em todo o mundo tentando aproveitar o potencial da abordagem.

Ultimamente, a dificuldade em “aumentar a escala” da complexidade das tarefas do robô mudou um pouco a atenção para o fim teórico do campo, em vez do fim da engenharia.

Objetivos
A robótica evolucionária é feita com muitos objetivos diferentes, muitas vezes ao mesmo tempo. Isso inclui a criação de controladores úteis para tarefas de robôs do mundo real, a exploração das complexidades da teoria evolutiva (como o efeito Baldwin), a reprodução de fenômenos psicológicos e a descoberta de redes neurais biológicas por meio do estudo de redes artificiais. Criar controladores via evolução artificial requer um grande número de avaliações de uma grande população. Isso é muito demorado, o que é uma das razões pelas quais a evolução do controlador geralmente é feita em software. Além disso, os controladores aleatórios iniciais podem exibir um comportamento potencialmente prejudicial, como o colidir repetidamente contra uma parede, o que pode danificar o robô. A transferência de controladores desenvolvidos em simulação para robôs físicos é muito difícil e um grande desafio no uso da abordagem ER. A razão é que a evolução é livre para explorar todas as possibilidades de obter uma alta aptidão, incluindo quaisquer imprecisões da simulação. Essa necessidade de um grande número de avaliações, exigindo simulações computacionais rápidas, porém precisas, é um dos fatores limitantes da abordagem ER.

Em casos raros, o cálculo evolucionário pode ser usado para projetar a estrutura física do robô, além do controlador. Um dos exemplos mais notáveis ​​disso foi a demonstração de Karl Sims para a Thinking Machines Corporation.

Motivação
Muitos dos algoritmos de aprendizado de máquina comumente usados ​​exigem um conjunto de exemplos de treinamento que consiste em uma entrada hipotética e uma resposta desejada. Em muitas aplicações de aprendizagem de robôs, a resposta desejada é uma ação para o robô. Essas ações geralmente não são conhecidas explicitamente a priori, em vez disso, o robô pode, na melhor das hipóteses, receber um valor indicando o sucesso ou a falha de uma determinada ação realizada. Algoritmos evolutivos são soluções naturais para esse tipo de estrutura de problemas, já que a função de adequação precisa apenas codificar o sucesso ou a falha de um determinado controlador, em vez das ações precisas que o controlador deveria ter tomado. Uma alternativa ao uso da computação evolucionária na aprendizagem de robôs é o uso de outras formas de aprendizado por reforço, como q-learning, para aprender a adequação de qualquer ação em particular,

Conferências e Institutos

Principais conferências
Conferência de Computação Genética e Evolutiva
Congresso IEEE de Computação Evolutiva
Conferência Europeia sobre Vida Artificial
Uma vida

Institutos Acadêmicos e Pesquisadores
Universidade Chalmers de Tecnologia: Peter Nordin, The Humanoid Project
Universidade de Sussex: Inman Harvey, Phil Maridos, Ezequiel Di Paolo
Consiglio Nazionale delle Ricerche (CNR): Stefano Nolfi
EPFL: Dario Floreano
Universidade de Zurique: Rolf Pfeifer
Universidade de Cornell: Hod Lipson
Universidade de Vermont: Josh Bongard
Universidade de Indiana: Randall Beer
Centro de Robótica e Máquinas Inteligentes, Universidade Estadual da Carolina do Norte: Eddie Grant, Andrew Nelson
University College London: Peter J. Bentley
O Laboratório de Robótica da IDSIA: Juergen Schmidhuber, Juxi Leitner
Laboratório de Pesquisa Naval dos EUA
Universidade de Osnabrueck, Neurocirebina Grupo: Frank Pasemann
Evolved Virtual Creatures por Karl Sims (GenArts)
Robótica da vida artificial de Ken Rinaldo
Equipa de Conceitos Avançados da Agência Espacial Europeia: Dario Izzo
Universidade do País Basco (UPV-EHU): Robótica Evolutiva, Pablo González-Nalda (em espanhol) PDF (em inglês)
Universidade de Plymouth: Angelo Cangelosi, Davide Marocco, Fábio Ruini, * Martin Peniak
Universidade Heriot-Watt: Patricia A. Vargas
Universidade Pierre e Marie Curie, ISIR: Stephane Doncieux, Jean-Baptiste Mouret
Universidade Paris-Sud e INRIA, IAO / TAO: Nicolas Bredeche
RIKEN Instituto de Ciências do Cérebro
Instituto de Tecnologia de Karlsruhe, Instituto de Informática Aplicada e Métodos de Descrição Formal: Lukas Koenig