Thursday, July 30, 2015

Washers and Dryers

It looks like I have a couple of options here, of varying degrees of hackiness and expense.

First, the internet is full of videos of people taking apart washers' control panels, so this is very doable, and once I have access to the wires...it's all just a question of figuring out which one does what. Nothing to it, right?

On the other hand, I could still design something that just pushed buttons and turned knobs. This feels dumb, but probably has the least chance of me making a $1,000 mistake by accidentally frying my washing machine.

There's also a third option (well, there may be by the time I'm building things). Samsung is working on a washer and dryer controlled by app. Now, just because this software exists does not mean it will be easy or even possible to integrate it into my grand scheme, and this will almost certainly be the most expensive solution, but it may merit looking into when the time comes.

Also, I'm definitely going to keep the microcontroller outside the laundry shoot. I'll just have a few wires that go into the shoot.

Monday, July 20, 2015

More Sorting

I've had some additional thoughts about sorting:

First, while I will need a color sensor to do the sorting, I'm thinking a weight sensor will be more appropriate for the initial detection. There are two reasons for this: First, it will eliminate the need for a light to always be on, thus (hopefully) saving power and (definitely) making everything less creepy. Second, if I can measure the weight of the article of clothing in the shoot, I can keep track of how much is in each washer/dryer and know when to run that way, thus eliminating a weight or volume sensor in the washer/dryers themselves, which was going to be really complicated, because electronics and hot soapy water don't mix particularly well.

Second, the controller board will need to be able to communicate with the washer/dryers to tell them when to run. I'm thinking wired connections are probably the way to go here, and I will either hack into the control circuitry of the washer/dryers, or do something really dumb that will just automatically push the right buttons. (I haven't thought about soap yet. I figure how I do that will depend on the exact washer/dryers I have. I will need to do some research on this beforehand, because washers are expensive so I want to get the right thing to begin with.)

Third, to communicate with this setup from the bedroom, there are two options: First, I could have wires going up the laundry shoot to the bedroom, say to a few control buttons and an LCD. Getting these wires in initially might be somewhat complicated because I'd want to be sure nothing would fall on them. Also, I don't know how long wire can be before its resistance becomes a problem. (I suppose this is something I could calculate once I figure out what gauge wire I'm using.)

On the other hand, I could do it via wireless, either bluetooth or the internet. In this case, I have to deal with sending wireless signals from inside a laundry shoot. I will either have really awesome reception, or none at all. I'm guessing none at all, because that's the way things always go. A sub-option here would be to move the control board out of the laundry shoot and just have wires going to the weight sensor and motor inside the laundry shoot. This would also have the advantage of letting me see laundry room status from anywhere in the house on my universal remote. (Have I mentioned that? It will probably be an app on a tablet...maybe phone...that will let me control the universe of the MSM.)

Fourth, it's possible Arduino would be a good alternative to Raspberry Pi for this project. I'm going for cheap and simple, and my preliminary research says Arduino is a little better in both those areas, unless I want wireless, in which case the Raspberry Pi probably wins. I will have to continue reading up on this.

Saturday, July 11, 2015

Sorting

I have been thinking in more detail about how to accomplish sorting into lights and darks prior to washing. My conclusions is to do something like the following:


The main shoot goes up to the master bedroom, as shown in the floorplan. It will then split into two smaller shoots, each one going to a washer/dryer. The problem here is that I need to be able to access the circuitry that does the sorting, so the split will have to happen as low as possible and still have the washer/dryers gravity fed. There will be a door in the shoot right above where the split happens, and when I open this door I will be able to access all the circuitry. I figure this means I will have pretty easy access to it--maybe need a stepladder, but that's not a big deal.

What is a big deal is what that circuitry will be. First, the mechanical side: I'm thinking there will be two sheets, probably plastic because it's not conductive and it's easy to machine. All the circuitry will be fastened to the lower sheet. The upper sheet will be clear and will be where the clothing falls.

Both sheets will be attached to one or two (probably two) motors that will turn one direction or the other to allow clothing to fall into one of the smaller branch shoots. (The drawing above is not to scale.) This way, when the sheets are level, the clothing will not move. When they are slanted to the right, it will fall into one of the subshoots, and when they are slanted to the left, it will fall into the other.

The difficulty here is that I will need two motors sufficiently strong to hold two sheets, a bunch of circuitry, a battery (more on that later) and a pair of jeans in place, even when the jeans may be making the weight unbalanced. I imagine such motors exist, but I haven't looked in to specifics, and I'm afraid they'll probably be power hogs. I think the sheets will have to be a bit smaller than the shoot so the motor stators can be attached to the shoot and the sheets attached to the rotors. The motor on the side with the door will have to be able to come unscrewed from the door so I don't tear everything apart when I open the door.

Power is a bit of a problem. I would like this unit to be self contained, and therefore not running on outlet power. (I would also like to not have a power outlet in my laundry shoot, because that just seems a little absurd, even for a mad scientist mansion. On the other hand, I could live with it.) This means a battery. The stronger the motors have to be, the more power they'll use and the larger the battery will have to be. However, the larger the battery is, the more powerful the motors will have to be to support it. I will have to figure out some optimality function later.

Now, for the electrical side of things. I was hoping to avoid this, but I think I'm going to need a little microprocessor. The thing is, the control loop is as follows:

1. Has a piece of clothing fallen down the shaft? (Probably I will determine this with a light sensor.)
2. If so, is the clothing light or dark? (A color sensor. Probably using the same sensor to answer both questions.)
3. Turn motors 45 degrees in the proper direction.
4. Turn motors 45 degrees back.
5. Has the clothing fallen off the platform?
6. If not, return to step 3.
7. If so, return to step 1.

Not horrible, but complicated enough to be hard-ish exclusively in hardware. It is also extremely likely I will want some status information in the bedroom, especially when I'm testing. (Did you register this as light or dark? Did you even see it at all? Why are you oscillating wildly? etc.) But even when it's all working, I might want a "ready/not ready." At this point, it relies on the user to only put one piece of clothing at a time down the shaft. I'm okay with that for now. And it certainly has no way to store clothes when the washer/dryers are running.

On top of that, it might be really useful to have an on/off switch in the bedroom. The problem is, if you want to determine color, you need to have light, but it's ridiculous for a machine that needs to run for five minutes a day to be shining a light all the time. It would use unnecessary power (remember that battery I'm trying to keep as small as possible?) and, let's be honest, it would be really creepy to have a light shining up your laundry shoot while you're trying to sleep. So it might be nice for me to be able to turn that light off, which means I need to be able to communicate with it from the bedroom.

Bottom line: this could probably be done in hardware, but it might be a lot  easier in software. I'm thinking about a raspberry pi board. I don't have any experience with  them, but I've heard good things, and they seem cheap and simple, which is the goal here. Don't know if it could drive as powerful motors as I would need, but it might be worth experimenting. Relays could solve the problem.

Also, I haven't really addressed to problem of how to figure out the colors. That is, as an old boss of mine used to say, a "tomorrow problem."

And this is the easy part...

Wednesday, March 18, 2015

Some Ideas

I've had a few ideas. The bad news is, this is going to be pretty difficult. The good news is, it may be possible.

The main operation of the machine would take place on a circular table, maybe three feet or so in diameter. Basically, it has to be able to hold any article of clothing at any orientation. Somehow (still working on how) a single item of clothing is put on the table. The article of clothing will, presumably, be in a rumpled ball. The first task is to flatten it out.

This can be done as follows: A roller moves along the table and detects when it changes height. The first change of height indicates it has hit the article of clothing. Any further change in height indicates the clothing is not flat.

Suspended above the first table will be a matching table. This table, however, can move side to side, up and down, and rotate. When a "not flat" area is detected, the second table will press down on all previously scanned areas of the piece of clothing, sandwiching it between the two tables. It will then move forward, pushing the clothing to the edge of the bottom table, until the rumpled part falls off. Then, it moves backward, pulling the clothing back onto the bottom table. The roller then resumes it's task. This process may have to be done iteratively.

Once the clothing is flattened out, it needs to be identified. This can be done with some (I hope!) fairly simple computer vision. If a camera has a field of view composed only of the table, it should be reasonably simple to differentiated between "table" and "not table." Just subtract a previously recorded image of the table from the current image. The "not table" section can then be reduced to an outline and that outline can be centered. From there, it is (again, hopefully!) a straightforward thing to compare the given outline with the known possible outlines. Rotations are not a problem here--the given outline and all its rotations can be compared with the known outlines and just the best match kept. I don't know how long this will take to run, but the laundry folding machine really doesn't have anything else to do, so it doesn't matter if it's slow. (My intuition says it won't be, at least on a human scale.)

Once the piece of clothing is identified, it needs to be correctly oriented. The bottom table will have one half that can fold over onto the other half. Therefore, for any folding that needs to happen, the clothing will be oriented so the desired location of the fold is lined up with the middle of the table. The orientation can be done with the top table. Half of the bottom table then swings upward, completing the fold.

Once the folding is done, any required hanging can also be done. I'm still working on this, but at least I will have the clothing in a known position. Also, the folded and/or hung clothing then needs to be removed from the table. Again, still working on this, but I think that will be part of the hanging apparatus. Right now, I have a vague notion of some sort of clamp that can move through the hanger, grab the clothing, and pull, so that the clothing also goes through the hanger for pants. Not really sure about shirts. An opposite system might work--grab the hanger through the shirt.

Also, I'm not sure about that top table. It's an awfully cumbersome way of doing things. The roller might be able to move the clothes to the edge of the table itself, in which case the top table would only have to rotate the flattened clothing. This would be a significant simplification.

Anyway, I'm still working on it, but I hope this sort of made sense. I wish I had pictures to include, but the whole thing is too complicated and too vague (at this point) for my very limited artistic abilities. I will keep you posted.


Wednesday, January 21, 2015

Basic Idea

The idea for the laundry room is very similar to that for the kitchen: The kitchen should do the cooking; the laundry room should do the laundry.

As I discussed when I was talking about the general layout of the house, the master bedroom will be directly over the laundry room, so there can be a laundry shoot between the two. As clothing falls through the laundry shoot, it will need to be sorted into lights and darks. This probably means the user will only be able to input one article of clothing at a time, at least initially.

(Okay, well, that's really like step twenty. Very initially, the user will tell the laundry shoot whether a piece of clothing is light or dark and the shoot will hopefully do the right thing with it, but I'm talking somewhat longer-term here.)

In the laundry room will be two washer-dryers, one for lights, one for darks, and the shoot will deposit the clothing accordingly. The washer-dryers will have some way of sensing when they are full and then they will automatically add soap and do their thing.

So far, none of this is too terribly difficult. I mean, I don't know exactly how I'm going to do it, and implementation's always really hard, but conceptually it seems possible. I mean, there's some special cases to deal with--delicates and clothes that can't go in the dryer, detecting I'm out of detergent, dealing with clothing that's part light, part dark (although I, as a person, don't know what to do about that, so I'm sure whatever the laundry room comes up with will be fine), etc. But none of this seems impossible.

Then, there's folding.

Folding laundry is actually an incredibly complicated task. Think about it. There's really quite a bit of intelligence and a pretty wide range of motion required to untangle, classify, and properly put away dry laundry. Now, the laundry room must be able to do this task. I hate folding laundry with a passion that is entirely out of proportion to the actual, objective unpleasantness of the task. I am very seriously tempted to just have a clean clothes basket and a dirty clothes basket and call it good, but my mother raised me better than that, so I'm really stuck until I can figure out how to make a robot do this for me, but...I got nothing.

I considered putting small magnets in my clothes so the clothes folding robot could just align magnets on the clothes with magnets on the hangers, but then I actually thought for two seconds about what would happen if you put a big bundle of magnetized clothes in a metal washer, so there goes that idea.

A friend recently suggested having each article of clothing put into a lingerie bag as it was sorted. This idea may have some promise. It gets rid of the tangled mess problem and mitigates the identification problem as each item could probably be identified by weight. Unfortunately it does not address the actual folding of the clothes.

I've also thought about just having very generic hooks or clamps that can hang the laundry up without being particular about sorting pants from shirts or getting them oriented in a reasonable way. This might work, but seems very much a third-best kind of solution.

Suggestions welcome!

(And don't say "hire a maid"! a) It would not be as fun and b) I feel a little uncomfortable having people wait on me. No. It must be robots. I am much more comfortable around robots.)