My robot finds a ball, walks to it, grabs it, and throws it, on his own, in my office. No cloud, no remote control. Getting there took me through just about every hard lesson a project like this can teach.
It actually started before the robot. My AlienAntFarm project, a round the clock simulation where creatures with their own minds and memories build little societies on a live stream, convinced me of one idea: give something a mind and a memory and let experience do the rest. This robot is that idea in a body. And a body changes everything, because in a simulation a bad memory makes a weird creature, while in my office it walks a robot into a wall.

He learned the ball by being shown it
I never typed in a description of the ball. He learned it the way you would teach a kid, by seeing it a few times, and after that he knew it.
The time his memory got confused
For a while I let him learn freely during every run. Then, during a run of failures, he started remembering the wrong things, and I noticed his behavior getting strange before I understood why. The fix was simple and a little brutal: I wiped what he had picked up since his last good run and made him a lot pickier about what he is allowed to remember. He has been fine since. What a learning system is allowed to remember matters more than almost anything else.
He refuses bad shots
Grabbing is the one thing he cannot undo, so I made him picky about it. Before his hands move, everything has to line up. If something looks off, he does not lower his standards. He backs off, resets his feet, and runs the approach again. Watching him turn down a bad grab and try again properly is still my favorite thing I have ever built.

Everything runs on the robot and one computer across the room. Nothing goes to the cloud.
Is it perfect? No. He knows exactly one object, his sense of distance gets sloppy up close, and this is all one robot, one office, one guy. But he is eight for eight on complete find, walk, grab, and throw runs, and every part of him earned its place by proving it worked.
More from the series at coburnicusmind.com.