The Laundry Problem

:date: 2021-08-31 14:27 :tags:

As regular readers may recall, if there's a subtle technology concept that doesn't quite have a name, I'm not shy about providing one. In the past I've talked about the Toaster Problem, the Tesla Paradox, and the Sign Painter Problem. I may think of new ones, but there is only one more in my longstanding list and today I will discuss the Laundry Problem.

Many years ago I was stumbling around YouTube looking at videos of plucky academic robotics projects. I don't know exactly what video I saw but I came across a robot arm, maybe two, and the system was trying to fold laundry. I won't depress you by enumerating the most sad and pathetic things I've ever seen in my life, but this laundry folding demonstration easily made the list.

To show you what I mean, have a look at this video of Andreas Doumanoglou's admirable 2016 Imperial College Ph.D. project.

Note this is shown at three times actual speed! (Did you know that pressing ">" a few times in YouTube speeds up videos, in this case even more  —  worth doing for these ones!)

Here is a a video of an equally challenging, earlier project, Jeremy Maitin-Shepard's 2010 laundry folding Ph.D. project.

This one is shown at 50x actual speed. Both of these projects are really extremely impressive if you understand how challenging this problem really is. Despite using hardware that cost as much as my house and taking way longer to fold laundry than any blindfolded human would take, these roboticists deserve a lot of credit. But if they actually wanted a lot of credit, they did a terrible job of choosing which problem to work on!

Here is another video demonstration from a 2018 Dartmouth school project. This one is more clever but also cheats a bit  —  which is definitely a smart thing to do!

That's what academic robotic laundry folding is like. What does this look like in the commercial world where the task of folding things may involve a considerable amount of money?

Here is a video of some near fully automatic commercial laundry equipment in Japan. That one of the dudes is wearing a mask in 2015 is noteworthy, but also the fact that the only part that required dudes at all is the folding. This industrial laundry folding machine looks the same and may be from the same company.

Here is a video of a 2019 demonstration of a Japanese robot called Ugo. This one does not even have a brain of any kind! Here is its Oz behind the curtain.

If you search for "laundry folding machine", the main hits today are for a company called Foldimate.

From the Foldimate FAQ.

Isn’t it faster just to fold the clothes myself? That depends on how quickly you fold. With FoldiMate, your clothes will be neatly folded every time, in under five minutes a load. And all you have to do is clip each item onto a set of clips (using our patented Easy Clipping technology). Clipping only takes a couple of seconds per item. For comparison, it takes an average person more than a couple of seconds to fold something well.

Did you notice "clipping"? Yup. Just like the commercial machines  —  this requires human assistance after all.

Here it is in action.

Here is a marketing demo of a product called Laundroid from 2015. I believe they are out of business now and I'm not a bit surprised.

Related laundry functions are also interesting. Here's a demonstration from a university in Spain that's simply trying to iron something already set up on the ironing board. The take away message here is nicely highlighted in the video's text: "Ironing is a very complicated task to automate."

Ok, that's the setup. Laundry folding robots  —  they look rather incompetent. Doesn't seem like they'll be happening soon. Ok, fine. What's so special about this? The Laundry Problem is more subtle and complex than some boring chore being done badly. In a 2019 article about Laundroid's demise, the opening sentence is this.

The next time you find yourself worried about the robot apocalypse, remember that after years of development this little robot couldn't even fold laundry.

The part I want you focus your attention on is "couldn't even fold laundry."

Imagine this from the robot's point of view. "We tried to hire a human to move engine blocks but he couldn't even displace one before encountering a failure mode." "Oh, we tried to get one to move parts out of a fusion furnace and they couldn't even get near them." "Ever seen one throw a baseball? Hilarious! Their most expensive models can't even break 130mph."

The Laundry Problem isn't about laundry simply because that is some random problem I stumbled across. There are all kinds of tricky problems for robots (stairs, ladders, opening car doors, etc, etc). What's special about laundry is that it highlights exactly what is wrong with the problem space. Laundry is what we humans wear on our bodies. We aren't just somewhat familiar with laundry  —  we are intimately familiar with it. My comprehension of a shirt I'm folding is probably more complete than my comprehension of my own arms. Both are completely mysteries to a robot.

The Laundry Problem arises when a technology project attempts to solve a problem that is trivial for humans but surprisingly difficult for artificial mechanisms.

And the stress here is on the ease with which humans can understand and complete the task which is taken for granted. There are many hard robotics problems but it can be quite confusing for people not involved in robotics to understand how something that is effortless for humans can be a challenge for a machine. Other examples of things humans have spent billions of years evolving to be good at include recognizing faces, any kind of improvised motion control of our bodies, Arimaa, adapting to unstructured ever changing tasks, localizing oneself in space from surroundings, sensing danger from unusual sources, being better/smarter than NPCs in most video games, etc.

Here's another interesting perspective on this. The MNIST database is a low-complexity data collection of handwritten digits used to train and test handwriting recognition algorithms. It turns out that this task of recognizing digits was hard for computers at first, but eventually not hard enough. Researchers were able to start quibbling about accuracies of 99.9%, about what humans would quibble over. So they came up with a similar but different classification task: Fashion MNIST. All the data is the exact same format, but instead of digits, the agent must recognize what kind of article of clothing is being shown. This is actually easier for humans than reading digits (which requires some literacy). But for computers it is strangely very challenging. The scores are much lower for top algorithms on this data set (maybe 92%). That is a clear demonstration of the Laundry Problem, literally using laundry.

fmnist.jpg

The Laundry Problem is very much similar and related to something called Moravec's Paradox. However it is focused more on the human perception of difficulty rather than on that difficulty per se, which Moravec's Paradox (usually) correctly predicts will be quite challenging.

moravec.png

Great. How does this help us? Well, if you're a science fiction author, you can dream up some great stuff like Asimov's robots, or C-3PO, or the Jetson's Rosie. By embracing Laundry Problems, you can make your technology seem quite magical  —  because it is!

rosie.jpg

However, here in the real world, if you are, for example, funding a startup or choosing a PhD project, it is very important to think very carefully about this issue. You should learn to recognize Laundry Problems and avoid them. Even if a company like Laundroid could conceivably pull off their goals, the effort would be huge and yet few would be able to appreciate what a miracle it was.

Here's a more subtle example  —  I thought this article about brick laying robots was interesting. One commenter notes that Concrete Masonary Units (CMUs) are designed to be about what a human can practically handle. The Laundry Problem would suggest making a machine to handle such concrete blocks will probably be challenging and suboptimal for the machine. Best to put your money and energy toward a radically different construction technique where the technology can vastly outperform humans in ways humans can't even hope to compete with.

I've thought about the Laundry Problem for a long time, even before I worked on creating autonomous boats. When I took that job I knew it entailed less laundry problem than autonomous cars, but still more than I would have liked. And sure enough, when people would see my boat driving itself, they would tell me to my face, "But this is easy, right?" They just couldn't believe that, nope, some parts are as hard as anything anyone has ever done ever. I'm not saying I solved all of those hard cases of course, but just because it's easy for me to grab the wheel and not crash into something obvious, it can be a very tense situation if a computer is trying to figure it out.

A good strategy to avoid the Laundry Problem is to make sure your project is infused with some robotic tricks that humans just can't do. For example, make sure it operates at ridiculous speed, or with accuracy a human would find impossible. Lifting heavy loads is not especially challenging for machines but will never fail to impress most humans. At the very least make sure you highlight how your robotic agent has infinite patience and will soberly drive the boat pretty competently until the fuel runs out and boat driving becomes moot.

Computers may be completely incapable of appreciating what exactly computers are best suited for, but in my experience, most humans are no better.