The characteristics of behaviour based design can be seen in this system in the form of the layered approach to its development. They can also be seen in the use of Al-type rales in the definitions of the control processes as given in tables 5.5 and 5.6. These rales which are each in
their own right relatively simple, acting only on a small part of the main problem, were used in combination within a particular subsumption layer and within multiple layers in order to achieve a global behaviour of the system. It is this relatively easy process of defining rules for a particular situation covering a small part of the system's behaviour that made the construction and subsequent testing of the test-bed control example relatively straightforward. From this work a number of points present themselves for discussion:
• System design and development • System structure
• System definition - agent-environment boundaries • Action selection
System Design and Development
The design and construction of a behaviour based control structure for the laser scanner test bed posed few (if any) major problems. The development framework offered by the subsumption architecture on the transputer network of processors supported an easy implementation of a multi-process software program. It was particularly the case that the intricate structure of the many communications links typical of such systems was achieved simply, which must be attributed largely to the asynchronous nature of the subsumption AFSM processes. This allowed processes to be coupled without the necessity for specific concern over rendezvous of process states or handshaking-type protocols. It turned out that the natural form of the behaviour based control structure meant that there was little need for concern regarding guarantees of data or information transfer. This is in keeping with the reports in [Brooks86] and [Brooks89]. Interestingly other implementations of subsumption architectures hardly mention this aspect of process timing, for example [Mahadevan & Connell 92], [Jones & Rynn 93] and [Gat et al 94], and it is not clear in these reports whether these timing issues were hidden from the design process or simply not addressed. Aspects of system timing are discussed in more detail in the next chapter.
An aspect of the control program's development that did require considerable work was that of setting up the AFSMs to interact in the right way, either with signals from external sensors or from other internal AFSMs. Each AFSM typically utilised a number of critical constant values in the form of state identification thresholds, maximum and minimum ranges of input values and specification of signal gradients as well as other sets of values used to determine an output. It was necessary to tune these parameters incrementally by mnning the systems and observing the resulting behaviour. Thus the effectiveness of the system was significantly dependent on the knowledge and ability of the designer to specify and develop both the internal structure and rules of an AFSM as well as the network interconnection and interaction of multiples of AFSMs. Some combinations proved to be more effective than others. For example, control configuration C in the
experiments detailed here generally proved to be the best performing. The control structures outlined in this chapter are generally the result of several iterations of program development, each differing as a result of testing the complete system in its intended domain. One advantage of the bottom-up development approach, characteristic of BBAI and which is also evident here, is that the lower layers may be tested first, providing the designer with an opportunity to learn more about the intended interactions and behaviours of the target system. Perhaps the best example of this is in the development of the two photomultiplier control channels. While these each utilised the same basic AFSM structure, the setting of internal constants that enabled a reliable and robust performance differed considerably between the channels. This was a result of variations in hardware components, in this case the photomultiplier tubes themselves. Here, building in the lowest levels of control or device drivers in the same framework as that of the higher more abstract layers (such as in this case the user interface layers) proved to be a useful way of integrating different parts of the system.
In the final respect of system structure there were three distinct aspects of design and construction that seemed particularly complementary' when used in combination: (i) the physical transputers and their suitability for relatively simple network interconnection and expansion; (ii) the software process configuration and the transputer process execution environment, and (iii) the use of subsumption AFSM processes as a system-wide design framework.
System Structure; Communal or Unitary System
The resulting subsumption control structure for the laser scanner turned out to be distributed or modular on more than one level of abstraction. For example there were the discrete component modules of the photomultiplier, optics and high-level processor subsystems as well as the lower- level network of AFSM processes. If at the level of hardware module control and interfacing there is one scale of distributed system, there is another at the level of controller modules and then perhaps further ones at yet higher levels of the scanner system in the form of the optical head, the host computer front-end and defect detection system and finally the even higher level of the complete industrial plant. Viewed in a behavioural perspective these component parts can be seen as low-level reflexes of sensor control, higher-level intermediary control, and supervisory system- level control which in this case was provided by operator intervention via the user interface layer. This top layer could equally well have been replaced with a layer providing an interface to other systems in the industrial environment. Each level shows the same distinct characteristics of a distributed system and to some extent aspects of autonomous behaviour can be identified in the component parts. The major differentiating factor of scale is the level of abstraction from the dynamics of the real-world.
Given that the control solution presented in this chapter can be viewed as distributed on several different levels of abstraction, the question must be asked as to whether it is sensible to regard these subsystems as autonomous agents in their own right. [Brooks91] and [Smithers92]
emphasise the need for an agent to be physically embodied and situated in the real-world. This can be said of all levels from the discrete component controllers, in the form of the photomultiplier and optics controllers, upwards through to the discrete "agents" that are the different machines on a production line. Thus it is postulated that the view of a behaviour based system moves from one of a single bottom-up layered system of processes to that of a colony of interacting agent processes with each agent interacting on an autonomous or at least semi- autonomous basis. The issues concerning levels of autonomy and system composition in terms of agent colony versus a single bottom-up layered structure are central to the first part of this thesis and are the main topic of the next chapter. This chapter has served to illustrate the issues in question from the standpoint of a real-world application.
System Boundaries: Where Does The Real-World Begin?
The physical configuration in conjunction with the relatively complex requirements of the laser scanner lead to the implementation of a distributed control system that utilised physically distributed centres of computation to supervise separate subsystem components such as the optics controller and the two photomultiplier controllers. In conjunction with the issues raised in the previous section a related issue also appears in the form of discussion regarding the boundary between the agent and the environment. In many Al-controlled systems such as mobile robots this boundary is clearly identified as being marked by the sensors and actuators of a system or by the limits of software activity in the form of accessing hardware input-output devices ([Langer et al
94], [Herman et al 90] and [Balch et al 95], for example). These kinds of interpretations are not so clearly applicable to the laser scanner test-bed for a number of reasons listed bellow and dealt with in more detail in chapter 6. We suggested that this implementational detail had a significant impact on the view of the system as a whole and in particular its boundaries with the real world. i) The system is genuinely distributed, so that there is no "central" control provided by
software-accessing input-output. Thus the input-output is also distributed and differs from subsystem to subsystem.
ii) The processes of the system deal with input-output not only to local sensors and actuation but also as communication with processes elsewhere in the system.
iii) There is a certain degree of active hardware in the system that performs operations that receive triggering from software. Thus the difference between software and the rest of the hardware is not clearly defined.
iv) The complete test-bed system is, at the top level, a sensor in its own right. It must nevertheless act in its environment in order to function in a useful way. Thus the environment provides a critical loop in the processes of controlling the sensor which are hidden to the higher levels of the industrial inspection system.
v) In the typical way of behaviour based systems, improvements in performance were possible by making adjustments not only to the "controller" itself but in fact to any appropriate part of the system. A cmde but relevant example of this can be seen in the adjustment of ambient hghting conditions so that the laser light was not completely saturated by other light sources.
From these points it is evident that an agent-environment boundary is not a hard and fast identifiable feature and in general would seem to be more often used as an arbitrary division of convenience. While it might be possible to create such an artificial division in more simple automaton-like robot experiments, in more complex systems such as this industrial system it is not. If anything, it might add a degree of perhaps confusing complexity to the control problem. The control problem in this light changes from one of attempting to control the agent or environment explicitly to that of setting up a complete agent-environment system to function in a desired way. At the low levels of photomultiplier control the environment provides the basis for action in the form of altering EHT voltage levels. If the EHT voltage were not constantly adapted, then the sensor would become unstable due to its loss of coherence with the environment. At the higher level of the inspection system it is possible to view the laser-scanning system as a sensor which generates a signal that is indicative of the amount of laser light reflected by a surface under inspection. Here again we are forced to return to the view of a system in terms of levels of abstraction and recognise that the agent-environment boundary, if this is indeed a helpful construct to use, is not a clear-cut border of activity but varies at different levels of system interaction. The ideas expressed here constitute a fundamental aspect of the first part of the thesis and as such are dealt with in greater detail in the next chapter.
Doing the Right Thing at the Right Time
From the experiments conducted with the laser scanner control structure developed in this chapter, it was evident that the use of a simple single layer structure in the form of the NearLin
AFSM, with its linear control response, was considerably more effective in the particular case of a continuous surface with small or no characteristic changes (as in surfaces A and B). However, the performance of this configuration deteriorated massively (by a factor of up to 90%) for the broken-surfaces C and D. With the addition of the BallPark AFSM (either as a level 1 activity or the more successful level 0) the system's general performance over the wider range of conditions improved, although in the specific case of the continuous surface there was a performance reduction. It is clear that effort spent in better defining the periods of actuation of these AFSMs would be well directed. In particular, if the NearLin AFSM is so effective on continuous surfaces, why not redesign the system to identify the ongoing situation better so that the BallPark
AFSM does not interject its actions when they are unwelcome? There are two issues here: (i) that the asynchronous nature of the subsumption control structure (especially between AFSMs on different transputers) can result in sporadic and indeterminate interaction between AFSMs and
(ii) that the differentiation between a surface that has disappeared momentarily and one that has changed radically in reflectivity is not a simple problem to solve.
The first of the two issues highhghted above concerning the asynchronous nature of the subsumption architecture is really more indicative of the nature of behaviour based system design and the implementation of larger and more complex agents. The benefits of an inherently asynchronous set of processes are many. For example, the asynchronous communications of the subsumption architecture are cheaply implemented, and there is no need for costly (in terms of time and computational resources) mechanisms of synchronisation such as clocking, handshaking or rendezvous, i.e. mechanisms that can lead to a system being overly brittle. Robustness and utilisation of redundancy is more complicated to achieve in a system in which component or subsystem failure results in deadlocked processes. A chain of events can then lead to the halting of the entire system. Even the benefits of implementing a synchronous set of processes tend to be lost when the non-software aspects of the agent-environment system are also considered. The subset of software processes that is part of the total set of agent-environment processes, must interact with an asynchronous real-world. Consequently different parts of the agent must function at different rates. If they are designed to be asynchronous in the first place, then requirements and procedures for dealing with a lack of data become embedded in the dynamics of the system. However, such systems are not completely without synchronisation; instead it is provided by the movement, transfer and interaction of data within the system as a whole, ultimately being triggered by the agent’s interaction with its environment. If there is data then the process acts, if not it doesn’t (and can’t anyway) and the fact that it doesn’t should not result in the rest if the system going into deadlock. Problems of synchronisation magnify as systems become larger and more complex. It would seem that methods and techniques that facilitate the construction of asynchronous systems would lead to a useful increase in built-in robustness. These issues are taken further in the second part of chapter 6.
The second problem suggested above, that the recognition of system state is a far from trivial problem to solve, is in fact one inherent in many AI systems and can be traced back to the frame problem [Hayes79], [MinskySl] and [Pfeifer95]. The identification of the different photomultiplier states in the control stmctures detailed here relied on the explicit declarations of a number of simple mles that were built into the AFSMs, but there are always exceptions to the rales that cause instability when they are encountered. This hand-crafting of details is a major bottleneck in the design of complex systems and is increasingly being recognised as an important area in need of research attention. For example, the scan-line pixels read in by the ScanAquire AFSM provide a massive amount of information but in a form that would be very costly to classify into rale sets by hand. This problem, as encountered in the behaviour based control of the present laser scanner system, is the focus of the second part of this thesis and is taken further in chapter 7.
Perhaps the solution to this problem of dealing with exceptions and out-of-the-ordinary situations should be application-specific at the level of development in individual subsystems. In other words perhaps a particular subsystem should be tuned to suit its particular operational domain. This, is the current state of affairs with this laser-scanning system and BBAI in general. One of the objectives of this research has been to examine techniques of increasing the flexibility and robustness of these systems so that they may function in more diverse environments. In the flavour of BBAI we should analyse the environmental situation of this laser-scanning agent and then decide whether it will encounter many breaks or large changes in surface. If not, then the system may be tuned explicitly for this restricted domain. Extra layers of control are not required and only serve to reduce performance and add complexity. The point that emerges from such considerations is that the complexity of the agent control strategy needs to be matched with the complexity of the environment ([Pfeifer93] and [Pfeifer96]). Obviously a mismatch in either direction is undesirable and will most probably result in an ineffective agent-environment system.