Encoder Front Page
SRS Home | Front Page | Monthly Issue | Index
Google
Search WWW Search seattlerobotics.org

Classic Encoder

The Classic Encoder articles are reprints taken from the original print version of the Encoder. Some of these are just flat out timeless, and worth another publication.


A KISS for you

Kevin Ross - April 1996

I have a problem, a condition, a disease. To make matters worse, it is both common and infectious, especially among those who are attracted to technical hobbies like robotics. Its a disease of love that spreads quickly through a room full of engineers. The symptoms are obvious, but often overlooked. The effects are addictive, and a hard habit to break. And in a room full of engineers the cure is unpleasant as any known to man, for the only known antidote is to KISS.

You have probably seen it often. A group of engineering types, sitting in a circle, hormones throbbing to the beat of the primal drum. Chanting techno-babble with passion beyond the steamiest Harlequin novel. Dreams, hopes, and ideas spreading around the room like Spanish fly. In the heat of this mental orgy, they all make the same mistake. They forget to KISS.

Sex? Nope. More like lust. A lust for the cool. A burning desire to engineer the most complicated, fastest, most intelligent system on the face of the earth complete with Ginsu handle. To run the ragged edge and to fly in the face of The Rule. The Golden Rule. KISS. The Golden Rule of engineering often overlooked by most practitioners. KISS. "KEEP IT SIMPLE, STUPID". K.I.S.S. Its the bane of our existence, but time after time this rule rings more truth than the finest gospel.

I have often wondered how far engineering would have proceeded if the KISS principle had been followed by every engineer. One can make arguments both ways. Without the desire to take risks, many great innovations would never been made. On the flip side, many well founded ideas have failed because they were too complex. Often too complex for invalid reasons. Extra features beyond the scope of the project. In the engineering world, we call it 'Feature Creep'. Feature Creep is part of that creative side that all engineers have. Its a symptom of the disease, and while there is no cure, you can control it.

My opinion is that we are often hindered by our desire to move forward too quickly. Feature creep causes us to add features and subsystems to our projects based on emotion, rather than actual need. We get stuck trying to work out complicated systems when we really didn't need. I asked for an egg beater, but was designed a high speed poultry embryo processor with yolk separation capabilities that has a 88% reliability factor that requires 18 months of production time. Meanwhile, I go hungry.

I personally have this disease just as bad as anyone on the planet. I have the starts of hundreds of unfinished projects laying about the house. Most of these projects started out as simple ideas, but grew into complicated little monsters that I found too involved to complete. My most successful projects are the ones that are simple one or two feature jobs that had clearly defined goals.

There is good news. I have seen the light. Like any other addict, I know what to do. I occasionally fall off the wagon. The cure takes patience, but it works. KISS. The laser range finder on your robot sounds really cool, but have you ever tried using bumper switches instead? KISS. Using a combination of infra-red detectors, ultrasonics, and inertial navigation sounds like quite a project, but I bet that bumper switch would be easier to implement. KISS. That line following robot sure would be cool if it could also scrub the toilet, cleanup after the dog, and take out the recycling, but how about making it follow a line first. Did I mention that bumper switch? KISS. Making a robot that walks on two legs, can recognize speech, and walk the dog is an outstanding thought. How about starting with a two wheeler that actually drives in a straight line. Heck, I bet you could even add a bumper switch to it! KISS.

The bottom line is I would like everyone to dream of great ideas, but I would also encourage small steps. Get something working. Learn from it. Expand on it. Start with a really small number of sensors. How about 1. Before you try and make it map its environment or find its food, how about accepting the challenge of it driving straight. Then making reliable turns. None of my robots can. How about yours?

Kevin Ross: kevinro@nwlink.com