Robots Can Quickly Learn New Skills From Humans and Teach Them to Other Robots
“I’m not concerned about the robot apocalypse.”
It seems like with each passing day, humans cede more ground to our robot overlords. They now dunk on us in basketball, kick our ass at table tennis, assist with brain surgeries and are even learning to fight our wars. Usually, these robots learn to do the these things either by watching a human do the task at hand and then replicating it, or having their motions explicitly planned by a human operator. Neither of these systems is perfect: a robot that learns its task by demonstration has a hard time replicating that skill in a different context while meticulously planning out a robot's every movement is time consuming.
But thanks to a new technique developed by at MIT's Computer Science and Artificial Intelligence Lab (CSAIL), robots are able to learn new tasks and adapt them to unfamiliar situations with unprecedented speed and accuracy, as well as transfer that skill to a robot with completely different kinematics.
This technique, called C-Learn, allows people without coding skills to teach a robot new skills. To make this happen, the robot is first provided with some background knowledge about how a given task is usually performed. This knowledge is basically a library of constraints, or mathematical representations of how the object could possibly be manipulated. Then, a human demonstrates the task for the robot using software that models the robot and surrounding environment in 3D. Once the task has been demonstrated to the robot in this 3D computer interface, it is then able to perform the task IRL.
"A problem with robotics is that everyone starts the project with the 'brain' of the robot completely empty," Claudia Perez-D'Arpino, a PhD candidate at CSAIL and the lead researcher on the project, told me on the phone. "The robot doesn't know anything about the world, but now we want those robots to learn new tasks? Why not try to develop a representation of knowledge related to how we manipulate objects in a way that that can be in the brain of the robot? That way knowledge can be accumulated and the robot can learn multi-step tasks with a single demonstration."
According to Perez-D'Arpino, this is similar to the way humans learn, insofar as we don't learn a new task from scratch, but rely on our previous experiences for guidance.
The team tested its new C-Learn technique on a two-armed bomb disposal robot called Optimus, which they taught to do things like open doors and extract objects from containers. However C-Learn hasn't been able to teach robots more complex tasks such as modifying the steps it used to complete a certain task on the fly.
Still, Perez-D'Arpino is optimistic that this will be possible in the future based on the initial success with simpler tasks. For example, Optimus was able to perform its tasks with 87.5 percent accuracy after a single demonstration. With some slight human guidance to correct for minor sensor inaccuracies, Optimus could accomplish its tasks with 100 percent accuracy.
But the most important—and perhaps frightening—aspect of this development however is that this technique allows robots to effectively teach new skills to other robots, even ones that have vastly different movement systems. To demonstrate this, the Perez-D'Arpino ran simulations where Optimus' newly acquired skills could be "seamlessly" transferred to Atlas, CSAIL's six-foot tall humanoid robot. By being able to quickly and easily teach an old robot new tricks, this could save a lot of time and money, and also come in handy in time-sensitive situations such as defusing a bomb...or wiping humanity from the face of the Earth?
"I'm not concerned about the robot apocalypse," Perez-D'Arpino said with a laugh. "At the end of the day, these robots have been taught by a human and were designed to be useful to people doing work with these robots. Transferring a task from one robot to another is technical progress."