Evolution of Hybrid Robotic Controllers for Complex Tasks


[ Overview ] [ Videos of the Experiments ] [ Simulator ] [ Contact ]


  Overview


We propose an approach to the synthesis of hierarchical control systems comprising both evolved and manually programmed control for autonomous robots. We recursively divide the goal task into sub-tasks until a solution can be evolved or until a solution can easily be programmed by hand. Hierarchical composition of behavior allows us to overcome the fundamental challenges that typically prevent evolutionary robotics from being applied to complex tasks: bootstrapping the evolutionary process, avoiding deception, and successfully transferring control evolved in simulation to real robotic hardware. We demonstrate the proposed approach by synthesizing control systems for two tasks whose complexity is beyond state of the art in evolutionary robotics. The first task is a rescue task in which all behaviors are evolved. The second task is a cleaning task in which evolved behaviors are combined with a manually programmed behavior that enables the robot to open doors in the environment. We demonstrate incremental transfer of evolved control from simulation to real robotic hardware, and we show how our approach allows for the reuse of behaviors in different tasks.





  Video of the Experiments


The videos presented in this page are taken from our real robot experiments.





  Simulator


JBotEvolver is an open source, multirobot simulation platform, and neuroevolution framework. The simulator is written in Java and implements 2D differential drive kinematics.The lastest version of JBotEvolver can be downloaded from http://code.google.com/p/jbotevolver

Source code for the e-puck robot, including the preprogrammed behaviors, can be found on the following URLs: https://github.com/miguelduarte42/ER_e-puck (Section VI) and https://github.com/miguelduarte42/ER_e-puck_camera (Section VII)

The experimental dataset and a version of the simulator can be downloaded here in two versions: full dataset (2.5 GB); lite dataset (contains only the last generation of each evolved controller).





  Comparison Results


In Section V, we compare our approach with NEAT and a simple generational algorithm by attempting to evolve monolithic controllers for the complete rescue task. We tested variations of the fitness function with different constants for each of the terms, varying from 1 to 5.

The fitness trajectories of both setups can be seen below:

 




  Contact


Webpages:

Miguel's homepage: http://miguelduarte.pt
Sancho's homepage: http://iscte.pt/~somoa
Anders' homepage: http://home.iscte-iul.pt/~alcen

Address:

ISCTE - Instituto Universitário de Lisboa
Av. das Forças Armadas
1649-026 Lisboa
Portugal