There are two main theories regarding the techniques and approaches that are required to control robots. These are "deliberative" and "reactive".The Deliberative (classical AI/traditional) approach involves the robot knowing its environment, developing an internal world model, a map and making decisions based on this information. This robot will move about and perform tasks in a deliberate manner.
The Reactive (behaviour based/new AI) approach involves the robot reacting to its environment with tight sensing - acting connections. These robots do not have a plan nor do they have a map. These robots explore their world and react to the environments as they encounter it - they are reactive.
Deliberative
The first that dominated artificial intelligence was the deliberative approach, sometimes known as "classical AI". This involves the robot having a complete symbolic model of the world. The robots use sensors to build a model of their world. They build a complete representation of the environment they are required to perform within. Then from this information they make decisions. They use planning software and hierarchical architectures to achieve this. Their architectures are complex and quite often it is a long slow process for the robot to achieve tasks. However these robots are efficient when confined to a familiar usually static environment. They are best utilised where the robot is given a complete map of its environment, where things and objects are fixed. This type of robot also performs well when there is a clear task to be performed. Unfortunately these robots are not so successful in a noisy and very dynamic environment, where the environment is unpredictable but they are proving successful within areas such as manufacturing. Why have they not been successful in real world noisy environments? To reason or make decisions you must have the information on which to reason or make assumptions. If this information has changed in the split second that you make your assumption your decision could be wrong. In environments like busy corridors or football pitches it might be hazardous to trust past information. This type of environment is more suited to robots that react quickly. One possible drawback to deliberative robotics is that you are unable to test parts of your theory as you proceed. The architecture cannot be built up in small stages and each stage tested. You require a "close" to complete system before you can test the robot.
Behaviour Based
Reactive robots became popular at a later date. This approach involves programming the robot to react quickly to its environment. The robot must react to the obstacles and objects it encounters. The robots do not build a model of their world they simply act in response to the things they encounter whilst existing there. Achieving this paradigm requires developing behaviours for the robot to execute or exhibit. These behaviours enable the robot to explore its environment. The behaviours are built up until the robot can function in its world e.g. "avoid objects", "move forward", "move backwards". This form of robotics has proved to be successful in environments that are unknown to the robot, environments that are busy or noisy such as a place with moving objects or people (the busy corridor or football pitch).
An important part of the behaviour based theory is "embodiment" This means that a robot must be embodied, have a presence (it is an entity in itself). In order to react the robot must be surrounded by the real world. If the robot is not embodied any simulation of the robot would simply be an hallucination having no bearing on what would happen in the real world. The robot must not work on abstracted symbolic representations of the world like in classical AI/deliberate systems. Alan Turing the inventor of the Turing Test might have been the first to recognize this, in a paper he wrote in the mid 1940's entitled "Intelligent Machines" he suggest that for a machine to achieve some levels of intelligence (his example was" language") it must be embodied.
Testing a behaviour based systems is quite different from deliberative systems. You can test individual parts of the system, you are able to build up the behaviours the robot will have and then test each for correctness. It possible to develop and check a "move forward" behaviour before developing a "move backward" behaviour. This type of modular approach gives another added benefit. If one behaviour breaks down it does not mean that the whole system collapses. This added benefit gives the system extra robustness something required to operate in an uncertain would.
A typical set of behaviours in a reactive (behaviour based) robot might beThese behaviours help the robot to navigate within a real world environment. Once they are combined you can achieve a robot that can follow a set path (Follow Line) but sill avoid unpredicted objects (Avoid Obstacles) that it encounters on the way.
- Move Forward/Backward
- Wander
- Avoid Obstacles
- Follow Wall
- Seek Light
- Follow Line