Título
Hierarchical evolution of robotic controllers for complex tasks
Autor
Duarte, Miguel António Frade
Resumo
pt
A robótica evolucionária é uma metodologia que permite que robôs aprendam
a efetuar uma tarefa através da afinação automática dos seus “cérebros” (controladores).
Apesar do processo evolutivo ser das formas de aprendizagem mais radicais
e abertas, a sua aplicação a tarefas de maior complexidade comportamental não
é fácil. Visto que os controladores são habitualmente evoluídos através de simulação
computacional, é incontornável que existam diferenças entre os sensores e
atuadores reais e as suas versões simuladas. Estas diferenças impedem que os controladores
evoluídos alcancem um desempenho em robôs reais equivalente ao da
simulação.
Nesta dissertação propomos uma abordagem para ultrapassar tanto o problema
da complexidade comportamental como o problema da transferência para
a realidade. Mostramos como um controlador pode ser evoluído para uma tarefa
complexa através da evolução hierárquica de comportamentos. Experimentamos
também combinar técnicas evolucionárias com comportamentos pré-programados.
Demonstramos a nossa abordagem numa tarefa em que um robô tem que encontrar
e salvar um colega. O robô começa numa sala com obstáculos e o colega
está localizado num labirinto ligado à sala. Dividimos a tarefa de salvamento
em diferentes sub-tarefas, evoluímos controladores para cada sub-tarefa, e combinamos
os controladores resultantes através de evoluções adicionais. Testamos os
controladores em simulação e comparamos o desempenho num robô real. O controlador
alcançou uma taxa de sucesso superior a 90% tanto na simulação como
na realidade.
As contribuições principais do nosso estudo são a introdução de uma metodologia
inovadora para a evolução de controladores para tarefas complexas, bem
como a sua demonstração num robô real.
en
Evolutionary robotics is a methodology that allows for robots to learn how
perform a task by automatically fine-tuning their “brain” (controller). Evolution
is one of the most radical and open-ended forms of learning, but it has proven
difficult for tasks where complex behavior is necessary (know as the bootstrapping
problem). Controllers are usually evolved through computer simulation, and differences
between real sensors and actuators and their simulated implementations
are unavoidable. These differences prevent evolved controllers from crossing the
reality gap, that is, achieving similar performance in real robotic hardware as they
do in simulation.
In this dissertation, we propose an approach to overcome both the bootstrapping
problem and the reality gap. We demonstrate how a controller can be evolved
for a complex task through hierarchical evolution of behaviors. We further experiment
with combining evolutionary techniques and preprogrammed behaviors.
We demonstrate our approach in a task in which a robot has to find and
rescue a teammate. The robot starts in a room with obstacles and the teammate
is located in a double T-maze connected to the room. We divide the rescue task
into different sub-tasks, evolve controllers for each sub-task, and then combine
the resulting controllers in a bottom-up fashion through additional evolutionary
runs. The controller achieved a task completion rate of more than 90% both in
simulation and on real robotic hardware.
The main contributions of our study are the introduction of a novel methodology
for evolving controllers for complex tasks, and its demonstration on real
robotic hardware.