Robots are getting smarter all the time. They still need basic programming and algorithms to take on complex tasks. Columbia Engineering Researchers are working to unshackle robots. They are aiming to create a robot that learns what it is from scratch. The robot get to work with no knowledge of physics and geometry. Once it creates a self-simulation, it can adapt to different situations to handle different tasks. It can also repair damage on its own body.
[Source]