This is sure to spark a lively discussion:
I am sick and tired of hearing the term "robot" used to describe any machine or toy with pre-programmed or remote-controlled actions. The other day I was watching Myth Busters and they were, once again, talking about building a "robot"-something (a dog this time, for their shark attack tests). In fact, the contraption they built, as impressive as it may be, is nothing more than a cute little machine with an on/off switch. Yet it was called a "robot". If anyone from that wonderful show is reading this, please start calling these things "machines", using the term "robot" is an insult to anyone doing real robotics work. Robo-dog is no different from a hand-drill with a lever or two attached to the chuck rather than a drill-bit.
OK, so, what is a robot?
I don't think the answer is that simple...
Does unattended computer control make it a robot?
Well, no, a CNC machine will run unattended after the G-code program is entered. A CNC machine is not a robot, it's just a programmed machine. It goes back to the days of programmed cloth making machines that used punched cards for control.
Does sensor feedback make it a robot?
Not really. A number of microwave ovens today have the ability to sense temperature in order to vary their heating profile to, say, defrost and then cook. I don't think anyone would call a microwave oven a robot. However, it should be noted that if the Myth Busters mechanical swimming dog can be called a robot then a microwave is ten times more a robot than robo-dog.
Does it have to move to be a robot?
Hard to say. My personal opinion would make me say, yes, of course. What will we call a true AI-based computer program or assistant in the future. Something that is truly useful and has "real" intelligence. Will that be a robot or just an AI program?
Does it have to be able to learn to be a robot?
Preferably yes, although we are a little far from true and useful learning. Most robotics research today is still trying to create a basic mechanical platform from which to start doing things. Case in point are the various bipedal walkers at universities around the world. Most of them (my opinion) are excercises in futility. Outside of places like the MIT Leg Lab it seems to be hard to find researchers that seem to "get it". Most walkers you see out there --like Asimo-- are what I call "statically balanced". They don't walk like we do, they balance from leg to leg and have wide feet. They also walk like they are constipated, with their legs permanently bent at the knees. They are not too far away from using two industrial robot arms upside- down and calling them "legs". Neat for demos and TV advertising, but useless for real applications like walking on a rocky road or going up or down a dirt hill. Should these be called walking machines rather than robots?
What follows this is: Is walking required to be a robot?
No, of course. Wheeled, flying and swimming robots are categories where true robotics has a place.
The micromouse competition is an interesting area. The machines built to run these mazes are probably closer to my idea of "robot" than anything else: They are programmed by their designer to learn; solve a problem; optimize the solution and execute it as efficiently as possible. They use sensors to "see" their environment and use this in the process of learning.
It is probably clear from my short discussion that I think that the term "robot" ought to be reserved for something special, not mere animatronic machines. Here's my basic list of requirements (incomplete):
A robot must... ... have the ability to learn ... not be remotely controlled by a human being for all of it's actions. Remote control is acceptable as a form of communication and, for example, to locate the robot where it must do useful work. If the machine can perform useful actions on its own after that, then it can be called a "robot" ... move and interact with the physical world, Ai in a computer is an intelligent program, not a robot
Top on my list is learning. If you build a cute little hexapod machine out of the many kits available out there, how does it walk? Is it walking because you programmed a sequence of motions that make it walk? Then it isn't a robot, it's a programmed machine just like a CNC milling machine or your microwave oven. However, if you program a learning algorithm and the hexapod learns to walk on its own, then what you have is a robot. Or at least the beginings of it. A much tougher task than pre-programmed mimmicry to be sure.
You could add to my list a requirement to intereact with human beings in natural language. However, this can't be an absolute requirement. For example, if a true intelligent autonomous mine detection robot existed, I wouldn't want to communicate with it via spoken lenguage because there are too many opportunities for error. A command-based interface is probably far safer.
I'll stop here, I'm sure there are many on this list with far more insight in to this than I may have.
-Martin