Wednesday, May 31, 2006

What is a robot?

A few weeks ago we had a visitor to the lab who asked a seemingly straightforward question: "what is a robot?". A perfectly reasonable question, in fact, given that we are a robot lab.

Of course he got a different answer from everyone who offered a definition. No surprises there then. But that got me thinking, what is a robot? Of course the word has a well known dictionary definition from the Czech word Robota (meaning 'compulsory service'), the 'mechanical men and women' in Capek's play Rossum's Universal Robots.

In fact the OED gives a second definition 'A machine devised to function in place of a living agent; one which acts automatically or with a minimum of external impulse'. For me, this definition is also somehow archaic, since it does not admit to the possibility that a robot could have a function other than as a subservient machine. We can now contemplate robots that are not designed as servile machines, but are perhaps designed or evolved to exist because, well for no reason, they just exist.

Wikipedia gives a fullsome definition for 'robot' which starts with the (for me) deeply flawed statement 'A robot is a mechanical device that can perform preprogrammed physical tasks'. The parts I have a problem with here are 'preprogrammed' and 'tasks'. There are many research robots that are not preprogrammed - their behaviours are either learned, evolved or emergent (or some combination of those). My objection to 'tasks' is that some robots may not have tasks in any meaningful sense.

I believe we need a new definition for 21st century robots, that shakes off 20th C notions of subservient machines performing menial tasks for lazy humans. A definition that instead encompasses the possibility of future robots as a form of artificial life, neither preprogrammed or task oriented.

Ok, so here's my attempt at a definition.

A robot is a self-contained artificial machine that is able to sense it's environment and purposefully act within or upon that environment.

An important characteristic of a robot is, therefore, that its sense-action loop is closed through the environment in which it operates (the act of moving changes a robot's perception of its environment, thus giving the robot a fresh set of sense inputs). Thus, even simple robots may behave in a complex or unpredictable way, when placed in real-world environments. This is why designing robots for unsupervised operation in real-world environments is difficult.

A second characteristic of a robot is the degree of autonomy.

In respect of 'control' autonomy there is a spectrum of autonomy from none (i.e. a tele-operated robot) to full autonomy (no human supervision). A robot that has a high level of control autonomy will require an embedded and embodied artificial intelligence in order that the robot can choose the right actions and, perhaps, also adapt or learn from changes in the environment or its own actions.

Finally, and often overlooked is 'energy' autonomy. A robot typically requires its own self-contained power source, but if sustained operation over extended periods is required then the robot will need to have the ability to autonomously replenish its power source.