Despite substantial recent advances in both software and hardware, robots still have difficulty planning and carrying out multi-step dexterous manipulation tasks. Yet real-world applications of such dexterity include critical situations, like explosive ordnance disposal and disaster response, considered too dangerous for humans.
Typically, robots are programmed using one of two methods. In the first, termed “learning from demonstration”, the robot watches a task being carried out and then replicates the motion. Relative novices without deep coding knowledge can essentially “teach” the robots, but robots programmed this way have difficulty adapting their learned skills to new situations. The alternative method is to use motion-planning techniques like optimization or sampling in which a programmer explicitly encodes advanced task rules. This enables robots to manage novel situations, but only if properly trained by a domain expert.
Recently, researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (C-SAIL) have demonstrated a hybrid technique that promises to offer the best of both worlds. In this new strategy, called C-LEARN where the C is for “Constraints”, non-expert coders simply convey to the robot some information regarding the typical manipulation of objects as well as a specific demonstration of the task at hand. This research was recently accepted to the IEEE International Conference on Robotics and Automation (ICRA), which takes place May 29-June 3 in Singapore.
“This approach is actually very similar to how humans learn in terms of seeing how something’s done and connecting it to what we already know about the world,” says study co-author Claudia Pérez-D’Arpino. “We can’t magically learn from a single demonstration, so we take new information and match it to previous knowledge about our environment.”
Crucially, this method also enables robots to transfer the task information amongst themselves, even when they do not function with the same kinematics. Employing robots to teach other robots is a valuable time and cost saving measure, particularly for businesses employing robotics for repetitive tasks.
In conducting their research, the MIT team taught the robot Optimus four manipulation tasks designed to mimic the real-world needs of this technology: to pick up and transport a cylinder, to secure a box and extract a cylinder, to open a door and push a button in a confined space, and to transport a tray. As “training”, the robot was provided a basic set of constraints inspired by computer-aided design programs and a single demonstration. Using the novel hybrid programming method, Optimus found success 87.5% of the time. When coupled with a human partner to correct minor sensory inaccuracies, this statistic increased to 100%. The video below shows Optimus in action.
While the new programming method is not yet suitable for highly advanced tasks, such as collision avoidance or those involving articulated constraints, this first demonstration represents a significant step forward. The team is optimistic that successive iterations of C-LEARN will offer increasing functionality by further incorporating the principles of human and machine learning.
Researcher and co-author Julie Shah explains, “traditional programming of robots in real-world scenarios is difficult, tedious and requires a lot of domain knowledge. It would be much more effective if we could train them more like how we train people: by giving them some basic knowledge and a single demonstration.”
Until these last major training hurdles in robotics are cleared, humans still very much apply.