A Robot That Can Do Puzzles