For autonomous movement, a robotic system must be able to interact with the environment and recognize, reconstruct, take and execute an appropriate action using a low level control system to accomplish its goal [33,35,36]. However, for a robot to be truly independent and able to cope with real environments, it has to solve many sub-tasks [43].