Automatically addressing uncertainty in autonomous robots with computational evolution