For the past couple years, researchers in a San Francisco-based AI Lab operated by Autodesk, maker of AutoCAD and other 3D design software, have been teaching a robot to play with toys.
Teaching might not be the right word. More accurately, the researchers have equipped their robot, which they've dubbed Brickbot, with the tools to teach itself how to assemble Lego blocks using the same learning techniques as a child.
It sounds straightforward, but the task of enabling a robot to learn like a human -- even a pint-sized one -- is immense.
"It's a complex challenge," an Autodesk spokesperson told me. "The project ... relies on sensor data and machine learning to enable a robot to infer what's going on in its environment, then adapt on the fly to accomplish an assigned task."
Robots are well-suited to following strict protocols, but that limits their usefulness. Currently, programming robots on an industrial line is very labor-intensive. A new generation of collaborative robots has made the task easier for many light industrial applications, but working with robots on a line is still the domain of specialists.
Equipping robots to learn on their own could unlock new levels of productivity while aiding the spread of automation by lowering the cost of entry.
Of course, any project like this also raises all kinds of questions about how far machine learning for robotic applications will progress before we humans start to get a little uncomfortable.
The project began with two industrial robotic arms, to which the researchers added cameras and sensors of various types.
Neural networks, which are computer systems loosely modeled on the human brain, enabled the robots to intelligently process and form productive response behaviors from its environment when assigned a task.
"By starting with plastic bricks, we've been able to keep the project manageable while still having the freedom to experiment from the design stage all the way to a finished product," said Yotto Koga, a software architect with a PhD in robotics. "Now we're close to taking the next step. We're planning to work closely with a manufacturing customer and a construction customer to see how the Brickbot technology can be applied in the real world."
It's that step into the real world that will test how well the team did at creating a robotic system that can learn to perform productively. Could such a system take over assembling components on an electronics line after a day of self-guided trial and error, for instance?
The adaptability and situational awareness required in such a scenario is far greater than anything Brickbot has come against so far. But the day is fast approaching when a robot will be able to teach itself to do complex tasks faster and with less error than if a human had programmed it.
Which means robot programmer may be another job that's on the chopping block in the dawning age of automation.