Robots just got roped into doing some light housework. Researchers at UC Berkeley used Willow Garage’s PR2 robot to fold towels. The UCB programming used some innovative visual scanning allowing the PR2 to pick up a towel, find its corners, and fold it on a table perfectly. According to the paper presented at the 2010 ICRA, the robot successfully completed 50 out of 50 attempts to fold a single towel, and also folded 5 out of 5 towels when they were presented in a group. Is watching a robot do laundry really that exciting? Hell yes. We have a personal robot actually performing personal and useful tasks. It’s not dancing. It’s not welcoming you to an expo. It’s doing real work. That’s amazing. But you know what, forget all that, too! You know why this is really great? UC Berkeley used a Willow Garage robot to develop their own sophisticated robotics program. That validates the whole premise of the PR2 – faster development by letting researchers use a common platform. Score one for open source robotics!

I’ve been cheerleading for Willow Garage for a while now. Their approach to robotics exemplifies the new paradigms of innovation in the 21st century: distributed development, free exchange of information, and rapid leveraging of past successes into new prototypes. By building the PR2, Willow Garage essentially removed the burden of developing hardware from the UCB team. This let them skip the tedious creation of their own system and focus on the particular innovation they wanted to develop: a vision based detection system that can use geometry to overcome complex variations. Now, assuming that UCB will upload their code into the open source community, others can build on the work from there. This is how the field of robotics can be accelerated, and this is the deeper reason behind the celebration of this development.

Of course, watching robots fold towels is pretty frakkin’ awesome just on its own. The UC Berkeley team, under Professor Pieter Abbeel, has created a great algorithm for the PR2. It picks up a randomly folded towel it’s never seen before and twirls it until it finds a corner. Then it grasps that corner and finds the next until all corners are accounted for. Once the corners are identified the robot folds the towel and stacks them on a table. It’s elegant in its simplicity, complex in its visual recognition, and fun to watch when it’s sped up:

Just to show how robust the system is, here’s a challenging starting point with the towel partially folded and twisted in a complex way.

As cool as this project is, there’s obvious room for improvement. Speed is clearly an issue, but that may improve with processing power. Also, while the PR2 has a perfect score on successfully folding towels, this does not mean that it never committed an error in its trials. As mentioned in the ICRA paper, for 28 out of 50 towels the robot completed its task without a misstep, but in 22 trials there were some hiccups. These errors included missing a grab (16 trials), thinking it had grabbed a corner when it hadn’t (5), thinking it had not grabbed a corner when it had (3), incorrectly gripping a corner (4), unable to compensate for twists in the towel (3), and needing a complete start over (1). In each case though, the PR2 was able to continue on its algorithm (or start over) despite these errors and successfully complete its task. To me, that just means that Abbeel’s programming is more impressive because it’s robust.

Overall, I’m really excited about how the PR2 will advance personal robotics. It’s already helped UCB with a cool and novel application. Just think of what researchers may accomplish with this bot in the future. Don’t forget that Willow Garage is giving away 10 of these robots for free! This is a great time to watch how bots are going to evolve to take on a larger role in our lives. The next few years are going to be amazing and I can’t wait to see what UC Berkeley, Willow Garage, and the PR2 are going to do next.