Solving laundry at UC Berkeley

Nearly a million people have watched UC Berkeley's PR2 folding towels and sorting socks on YouTube, and it's easy to understand why: having a robot that can do your laundry is a fantasy that's been around since The Jetsons, and while we're not there yet, it's not nearly as far off a future as it was before the PR2 Beta Program. Since those demos, one of the research groups at Berkeley has been working on ways of making the laundry cycle faster, more efficient, and more complete, and for starters, they've taught their PR2 to reliably handle your pants.

The goal of Pieter Abbeel’s group is to teach a robot to solve the laundry problem. That is, to develop a system to enable a robot to go into a home it's never seen before, load and unload a washer and dryer, and then fold the clean clothes and put them away just like you would. The first aspect of this problem that the group tackled was folding, which is one of those things that seems trivial to us but is very difficult for a robot to figure out since clothes are floppy, unpredictable, and often decorated with tasteless and complicated colors and patterns.

Last year, the Berkeley PR2 (unofficially named Brett, for “Berkeley Robot for the Elimination of Tedious Tasks”) showed us that it could pick a towel out of a pile of clean laundry one by one and neatly fold and stack them, which was an impressive demo. Somewhat less impressive was the fact that the robot would take between 20 and 25 minutes to neatly fold one single towel, which, let's face it, isn't entirely practical. That time has now been cut down to under six minutes, with the potential for as little as two minutes per towel if they really crank the robot up.

The way that Berkeley has been able to improve the performance of the folding software so dramatically is by reducing the dependence on a complex vision system and instead relying on gravity and the properties of cloth. The PR2 now just picks up a towel wherever is convenient and then drags it across a folding table, knowing that as it does, the piece of the towel furthest away from the gripping point must necessarily be a corner. By grabbing that corner and repeating the procedure, the robot is able to quickly pick up two opposite corners of the towel. This puts the towel into one of two states, and from there, the PR2 has no trouble folding it. This general approach also works on shirts and pants and whatever else a robot might find in your laundry.

While the actual folding is what we care about most, the trickiest part for the robot is just getting a random piece of crumpled up laundry into a state where it can tell what kind of clothing it’s got, and that’s what grad student Arjun Singh has been working on. Specifically, he’s taught the PR2 to unfold and identify complex items of clothing like shirts, skirts, and pants. This is an essential capability for the PR2, since it enables the robot to grab a whole bunch of random laundry out of the dryer, uncrumple and identify each piece, reorient its grip, and then fold it properly.

At this stage, the laundry problem as a whole is “almost in principle solved,” as student Stephen Miller explains. “There are tiny little things that keep us from being able to put all the pieces together reliably, but the detection problem and the folding and unfolding, all of that is pretty much a non-issue regardless of what article of clothing you’re looking at.” Other students are working on getting the PR2 familiar with how to work a washing machine, how to unload a dryer, and even how to put clothes on hangers. Plus, all of Berkeley’s experience with deformable objects has led to some clever ROS packages that could also be adapted to (say) teach a robot to make your bed every morning.

Professor Pieter Abbeel is optimistic that by the time the PR2 Beta Program ends in 2012, they’ll be able to do an entire laundry cycle from start to finish. This of course means that at some point early next year, you’ll start seeing a lot of computer science students dragging bags of dirty laundry into the Berkeley robot lab, and going home with stacks of clean clothes, neatly folded and smelling of robot.