There are two typical ways to train a robot today: you can have it watch repeated demonstrations of what you want it to do or you can program its movements directly using motion-planning techniques. But a team of researchers from MIT's CSAIL lab have developed a hybridized third option that will enable robots to transfer skills and knowledge between themselves. It's no Skynet, but it's a start.

The system, dubbed C-LEARN, is designed to enable anybody, regardless of their programming know-how, to program robots for a wide range of tasks. But rather than having the robot ape your movements or hand-coding its desired movements, C-LEARN only requires that the user input a birt of information on how the objects the robot will interact with are typically handled then run through a single demonstration. The robot can then share this kinematic data with others of its kind.

First, the user inputs the environmental constraints -- essentially how to reach out, grasp and hold the items it's interacting with. That way the robot isn't not crushing everything it touches or holding objects in a way that will cause them to break or fall. Then, using a CAD program, the user can create a single digital demonstration for the robot. It actually works a lot like traditional hand-drawn animations wherein the robot's motions hit specific movements and positions as "keyframes" and fills in the rest.

Of course, the robot doesn't have the final say in this, all motion plans have to be verified by the human operator first. Overall, the robots were able to choose the optimal motion plan 87.5 percent of the time without human intervention, though that number jumped to 100 percent when a human operator was able to tweak the plan as needed.

The first robot to benefit from this new system is the Optimus, a two-armed bomb disposal-bot. The CSAIL team taught it to open doors, carry items and even pull objects out of jars. The Optimus was then able to transfer these same skills to another robot in the CSAIL lab, the 6-foot, 400-pound Atlas.