Is a Washing Machine a Robot?

Sure, but it’s a little limited “going to it’s left”  🙂  How about a “spam filter”, or one of those remote controlled cars?

Most references talk about entities that are autonomous and those that are not.  When I talk about the “robotics-revolution”, I mean robots with the following 4 broad qualities:

1. Something physical that can be touched, felt, etc.
2. Autonomous — makes decisions and takes actions on it’s own — not remote controlled.
3. Senses it’s environment.  Gets data (and does something about it.)
4. Has tasks to perform (e.g., not run into a wall?)

Number 2 is the tricky part.  There has to be a “brain” of some sort — practically, a computer and it has to be programmed. And there is the rub.

This kind of programming can be much more complex than just moving things around on a screen.  I’m not disparaging that level of programming — those games that bring in jillions of dollars are extremely complex.  However, adding physical objects that make their own decisions in the real 3-D world is another order of difficulty entirely.

There are many remote-control devices, that certainly require sophisticated technology.  Much of what I’ll be talking about & teaching applies, but my emphasis will be to help prepare folks for working with autonomous robots.

Getting data from the environment and then doing something appropriate (e.g., robotic car sensing a red light at a corner, then stopping.).  The programming of its “brain” can be extremely complicated and the consequences of program errors can be catastrophic.

Again, and you’ll hear it often, very high quality building standards must be adhered to — just like those necessary for building a skyscraper.

Most “real world” projects involve lots of folks, including multiple developers.  They have to be able to read each others code.  (Remember, code is for the computer, but also for people — both current developers and for future fixes, enhancements, etc.)

Standards and “Zero Defects” techniques must be implemented — so why not teach beginners — at the, uh, beginning?