Research, Technology & engineering

Researchers develop a robot that folds towels

A team from Berkeley's Electrical Engineering and Computer Sciences department has figured out how to get a robot to fold previously unseen towels of different sizes. Their approach solves a key problem in robotics — how to deal with flexible, or "deformable," objects.

Who wouldn’t want a robot that could make your bed or do the laundry? Well, a team of Berkeley researchers has brought us one important step closer by, for the first time, enabling an autonomous robot to reliably fold piles of previously unseen towels.

Robots that can do things like assembling cars have been around for decades. The towel-folding robot, though, is doing something very new, according to the leaders of the Berkeley team, doctoral student Jeremy Maitin-Shepard and Assistant Professor Pieter Abbeel of Berkeley’s Department of Electrical Engineering and Computer Sciences.

Robots like the car-assembly ones are designed to work in highly structured settings, which allows them to perform a wide variety of tasks with mind-boggling precision and repeatability — but only in carefully controlled environments, Maitin-Shepard and Abbeel explain. Outside of such settings, their capabilities are much more limited.

Automation of household tasks like laundry folding is somewhat compelling in itself. But more significantly, according to Maitin-Shepard, the task involves one that’s proved a challenge for robots: perceiving and manipulating “deformable objects” – things that are flexible, not rigid, so their shape isn’t predictable. A towel is deformable; a mug or a computer isn’t.

A video — posted on this page — tells the story best. It shows a robot built by the Menlo Park robotics company Willow Garage and running an algorithm developed by the Berkeley team, faced with a heap of towels it’s never “seen” before. The towels are of different sizes, colors and materials.

The robot picks one up and turns it slowly, first with one arm and then with the other. It uses a pair of high-resolution cameras to scan the towel to estimate its shape. Once it finds two adjacent corners, it can start folding. On a flat surface, it completes the folds — smoothing the towel after each fold, and making a neat stack.

Pieter Abbeel and Jeremy Maitin-Shepard

Pieter Abbeel and Jeremy Maitin-Shepard at EECS

“Existing work on robotic laundry and towel folding has shown that starting from a known configuration, the actual folding can be performed using standard techniques in robotic manufacturing,” says Maitin-Shepard.

But there’s been a bottleneck: getting a towel picked up from a pile where its configuration is unknown and arbitrary, and turning it into a known, predictable shape. That’s because existing computer-vision techniques, which were primarily developed for rigid objects, aren’t robust enough to handle possible variations in three-dimensional shape, appearance and texture that can occur with deformable objects, the researchers say.

Solving that problem helps a robot fold towels. But more significantly, it addresses a key issue in the development of robotics.

“Many important problems in robotics and computer vision involve deformable objects,” says Abbeel, “and the challenges posed by robotic towel-folding reflect important challenges inherent in robotic perception and manipulation for deformable objects.”

The team’s technical innovation is a new computer vision-based approach for detecting the key points on the cloth for the robot to grasp, an approach that is highly effective because it depends only on geometric cues that can be identified reliably even in the presence of changes in appearance and texture.

The approach has proven highly reliable. The robot succeeded in all 50 trials that were attempted on previously unseen towels with wide variations in appearance, material and size, according to the team’s report on its research, which is being presented in May at the International Conference on Robotics and Automation 2010 in Anchorage. Their paper is posted online (PDF).

The system was implemented on a prototype version of the PR2, a mobile robotic platform that was developed by Willow Garage, using the open-source Robot Operating System (ROS) software framework.

Two undergraduates, Marco Cusumano-Towner, a junior in EECS, and Jinna Lei, a senior math major, assisted on the project.

Maitin-Shepard’s research focuses on artificial intelligence, computer vision and machine learning. He studied computer science at Carnegie Mellon University, earning a bachelor’s degree in 2008 before coming to Berkeley.

Abbeel received bachelor’s and master’s degrees in electrical engineering from KU Leuven (Belgium). He earned his doctorate in computer science at Stanford University in 2008 and joined the Berkeley’s EECS faculty that fall. During his doctoral work, Abbeel and collaborators developed machine-learning algorithms that enable helicopters to learn to fly by watching an expert pilot fly — resulting in the most advanced autonomous helicopter aerobatics to date. Abbeel’s research focuses on robotics, machine learning and control.