Indirect adaptive fuzzy controllers

39 downloads 120257 Views 918KB Size Report
used as well as two IFAC benchmark control problems (ship autopilot and passenger bus) to investigate the .... B Documentation for software design tools. 158.
i .

UNIVERSITY OF SOUTHAMPTON

Indirect adaptive fuzzy controllers by Christopher G. Moore

Submitted for the degree of Doctor of Philosophy

Faculty of Engineering & Applied Science Department of Aeronautics and Astronautics April 1992

ii UNIVERSITY OF SOUTHAMPTON ABSTRACT FACULTY OF ENGINEERING & APPLIED SCIENCE DEPARTMENT OF AERONAUTICS AND ASTRONAUTICS Doctor of Philosophy INDIRECT ADAPTIVE FUZZY CONTROLLERS by Christopher G. Moore Many classical control methods are based upon assumptions of linearity and stationarity of the process to be controlled. For the case of motion control of a land vehicle in an unstructured outdoor environment these assumptions do not hold, due to complex vehicle interactions with its surroundings and time{varying environmental conditions. The large number of possible future platforms leads to the desire to produce motion controllers which are generally applicable to a wide range of vehicles with little a priori knowledge of vehicle dynamics. Intelligent, self{learning, systems promise many of the desired features for such controllers. This thesis investigates the use of intelligent controllers for autonomous land vehicle motion control. A new class of fuzzy controller, the indirect adaptive fuzzy controller is proposed as a possible solution to this problem. This controller is then developed by combining on{line adaptive modelling with model causality inversion and on{line controller design. The resulting controller is an analogue of the indirect adaptive algebraic controller. A major advantages of this method is the separation of model convergence and control loops enabling the two aspects to be analysed separately. Demonstration of this work has been achieved by a series of simulation tests using a variety of vehicle models. A conventional front wheel steer road vehicle model has been used as well as two IFAC benchmark control problems (ship autopilot and passenger bus) to investigate the properties of the controller. To test the controller with realistic demand signals, a static rule-based piloting system has also been developed. These simulations have demonstrated i) the successful control of systems with little a priori vehicle knowledge ii) ability to adapt to continuous and sudden parametric changes in the process iii) good noise rejection properties iv) good disturbance rejection properties and v) ability to adapt to stationary loop non{linearities.

Contents 1 Why indirect adaptive fuzzy control?

2

1.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

2

1.2 Autonomous vehicle control | problem description : : : : : : : : : : : : : :

4

1.3 Direct vs. indirect adaptive fuzzy control : : : : : : : : : : : : : : : : : : :

7

1.4 Thesis overview : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

9

2 Introduction and background to fuzzy systems and fuzzy control

10

2.1 Fuzzy sets, theory and introduction : : : : : : : : : : : : : : : : : : : : : : : 10 2.2 Intersection, union and complement of fuzzy sets : : : : : : : : : : : : : : : 12 2.2.1 Intersection : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 2.2.2 Union : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 2.2.3 Complement : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 2.3 Fuzzy numbers and the extension principle : : : : : : : : : : : : : : : : : : 14 2.4 Fuzzy relations and algorithms : : : : : : : : : : : : : : : : : : : : : : : : : 15 2.5 Defuzzi cation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16 2.6 Applications of fuzzy set theory : : : : : : : : : : : : : : : : : : : : : : : : : 17 2.7 Fuzzy controller structural issues : : : : : : : : : : : : : : : : : : : : : : : : 19

iv 3.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24 3.2 Identi cation of fuzzy models from observed data : : : : : : : : : : : : : : : 25 3.3 Two dimensional model example : : : : : : : : : : : : : : : : : : : : : : : : 27 3.4 Fuzzy models for dynamical system components : : : : : : : : : : : : : : : : 34 3.5 Implementation and convergence of the adaptive fuzzy predictor : : : : : : 36 3.6 Second order system modelling example : : : : : : : : : : : : : : : : : : : : 37 3.7 Chapter Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39 3.7.1 Observation belief in the fuzzy predictor : : : : : : : : : : : : : : : : 41

4 Analysis tools for a class of fuzzy systems

43

4.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 43 4.2 Description of Fuzzy Systems : : : : : : : : : : : : : : : : : : : : : : : : : : 44 4.3 The Extended Phase Plane Method : : : : : : : : : : : : : : : : : : : : : : : 45 4.4 Extended phase plane application example : : : : : : : : : : : : : : : : : : : 51 4.5 Chapter Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 52

5 Indirect adaptive fuzzy controllers

56

5.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 56 5.2 Relation causality inversion : : : : : : : : : : : : : : : : : : : : : : : : : : : 57 5.2.1 Causality inversion via autoassociative memory : : : : : : : : : : : : 58 5.2.2 Causality inversion via prediction : : : : : : : : : : : : : : : : : : : : 61 5.3 Controller design theory : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 62 5.4 Static Rule{based Controller Design Example : : : : : : : : : : : : : : : : : 64 5.5 Adaptive fuzzy controller : : : : : : : : : : : : : : : : : : : : : : : : : : : : 71 5.6 Implementation of the adaptive controller : : : : : : : : : : : : : : : : : : : 72

v 5.6.1 Model implementation : : : : : : : : : : : : : : : : : : : : : : : : : : 72 5.6.2 Performance relation : : : : : : : : : : : : : : : : : : : : : : : : : : : 73 5.6.3 Model causality inversion : : : : : : : : : : : : : : : : : : : : : : : : 73 5.6.4 One step ahead control : : : : : : : : : : : : : : : : : : : : : : : : : 74 5.7 Adaptive controller application examples : : : : : : : : : : : : : : : : : : : : 75 5.7.1 Second order linear and non{linear processes : : : : : : : : : : : : : 75 5.7.2 Regulation of a ship's heading : : : : : : : : : : : : : : : : : : : : : : 82 5.7.3 Track control of a city bus : : : : : : : : : : : : : : : : : : : : : : : : 93 5.8 Chapter Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98

6 Nested and hybrid controllers

104

6.1 The need for hybrid and nested controllers : : : : : : : : : : : : : : : : : : : 104 6.2 Adaptive fuzzy controllers with PID ne control : : : : : : : : : : : : : : : 105 6.2.1 Identi cation of localised linear model from fuzzy relation : : : : : : 105 6.2.2 Local PID controller design : : : : : : : : : : : : : : : : : : : : : : : 106 6.2.3 Switching criteria : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 108 6.2.4 Simulation example : : : : : : : : : : : : : : : : : : : : : : : : : : : 108 6.3 Chapter Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 112

7 Adaptive fuzzy controllers for vehicle motion control

114

7.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 114 7.2 Vehicle model : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 115 7.3 Controller design : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 116 7.4 Simulation experiments : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 117 7.4.1 Fixed parameter tests : : : : : : : : : : : : : : : : : : : : : : : : : : 117

vi 7.4.2 Time varying model parameters : : : : : : : : : : : : : : : : : : : : : 119 7.4.3 Disturbance rejection : : : : : : : : : : : : : : : : : : : : : : : : : : 121 7.5 Utilising predictor knowledge : : : : : : : : : : : : : : : : : : : : : : : : : : 122 7.5.1 Cornering power estimation : : : : : : : : : : : : : : : : : : : : : : : 123 7.6 Chapter Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 124

8 Rule{based piloting for autonomous vehicles

126

8.1 Decomposition of the piloting task : : : : : : : : : : : : : : : : : : : : : : : 127 8.2 Lateral Pilot : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127 8.2.1 Linear corridor regulator : : : : : : : : : : : : : : : : : : : : : : : : : 127 8.2.2 Path curvature feedforward for road following : : : : : : : : : : : : : 130 8.2.3 Anticipatory piloting for connected sets of corridors : : : : : : : : : 132 8.3 Longitudinal pilot : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 135 8.4 Guidance and motion controller interactions : : : : : : : : : : : : : : : : : : 137 8.5 ROVA vehicle simulation : : : : : : : : : : : : : : : : : : : : : : : : : : : : 138 8.6 Chapter Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 141

9 Discussion

142

9.1 Major results : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 142 9.2 Future work : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 144

A Example of the extended division operator

155

B Documentation for software design tools

158

C Piloting rules used in Chapter 8 example

159

List of Figures 1.1 Hierarchical systems structure of an AGV : : : : : : : : : : : : : : : : : : :

5

1.2 Direct and indirect adaptive controllers : : : : : : : : : : : : : : : : : : : :

8

2.1 Fuzzy set de nition for the set 'heavy books' : : : : : : : : : : : : : : : : : 12 2.2 Typical static rule{based fuzzy controller : : : : : : : : : : : : : : : : : : : 20 2.3 Typical self{organising fuzzy controller : : : : : : : : : : : : : : : : : : : : : 21 2.4 Proposed indirect adaptive fuzzy controller : : : : : : : : : : : : : : : : : : 22 3.1 Predictor example, recall of the linear 'black box' function : : : : : : : : : : 28 3.2 Predictor example, surface representation of the fuzzy relation | linear case 29 3.3 Predictor example, non{linear 'black box' function, rst application of learning procedure : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 30 3.4 Predictor example, non{linear 'black box' function, second application of learning procedure : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 31 3.5 Predictor example, non{linear 'black box' function, third application of learning procedure : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32 3.6 Predictor example, in uence of forgetting factor on model convergence : : : 33 3.7 First order fuzzy model : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 34 3.8 Second order fuzzy predictor structure : : : : : : : : : : : : : : : : : : : : : 38 3.9 Predictor example, fuzzy predictor transient responses : : : : : : : : : : : : 40 3.10 Predictor example, integral of squared error over the learning period : : : : 41

viii 4.1 State trajectory in the phase plane : : : : : : : : : : : : : : : : : : : : : : : 46 4.2 Fuzzy phase plane, quali er de nitions for example 1 : : : : : : : : : : : : : 48 4.3 Rule A1 in the phase plane : : : : : : : : : : : : : : : : : : : : : : : : : : : 48 4.4 Typical phase plane plot of all rules in A" for xed u" : : : : : : : : : : : : 50 4.5 Phase plane examples, 3D stack of rules in A" : : : : : : : : : : : : : : : : : 50 4.6 Phase plane modeling example, the languages and corresponding fuzzy set de nitions used in the modeling example : : : : : : : : : : : : : : : : : : : : 53 4.7 Phase plane modeling example, comparison of real system response with the fuzzy phase plane : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 54 5.1 Simple inverse example, recall of non{linear function : : : : : : : : : : : : : 60 5.2 Simple inverse example, recall of the inverse function : : : : : : : : : : : : : 60 5.3 Typical plot of predicted y_ (t + T ) for a partial rule case : : : : : : : : : : : 61 5.4 Closed loop controller and desired performance : : : : : : : : : : : : : : : : 62 5.5 Controller internal structure : : : : : : : : : : : : : : : : : : : : : : : : : : : 63 5.6 Autonomous Land Vehicle path regulator design problem : : : : : : : : : : 65 5.7 Static regulator problem, vehicle u to y achieved transfer function : : : : : 67 5.8 Static regulator problem, corridor regulator desired response rules. : : : : : 68 5.9 Static regulator problem, corridor regulator closed-loop simulation : : : : : 69 5.10 Expanded view of the steady state region in the previous gure : : : : : : : 70 5.11 Indirect adaptive fuzzy controller structure : : : : : : : : : : : : : : : : : : 71 5.12 Second order process example, performance table language de nitions : : : 76 5.13 Second order process example, phase plane plot of the performance relation response : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 77 5.14 Second order process example, output response for simulation one, linear process : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 80 5.15 Second order process example, non{linear process for simulation two : : : : 81

ix 5.16 Second order process example, output response for simulation two, process with stationary non{ linearity : : : : : : : : : : : : : : : : : : : : : : : : : : 81 5.17 Linear ship, perfect conditions : : : : : : : : : : : : : : : : : : : : : : : : : : 85 5.18 Linear ship, with measurement noise : : : : : : : : : : : : : : : : : : : : : : 87 5.19 Linear ship, with measurement noise and external disturbance : : : : : : : : 88 5.20 Linear ship, lateral velocity disturbance : : : : : : : : : : : : : : : : : : : : 89 5.21 Linear ship, with measurement noise, external disturbance : : : : : : : : : : 90 5.22 Linear ship, with measurement noise, external disturbance : : : : : : : : : : 91 5.23 Non{linear ship with measurement noise : : : : : : : : : : : : : : : : : : : : 92 5.24 City bus, learning phase for fuzzy controller : : : : : : : : : : : : : : : : : : 96 5.25 City bus, track geometry ytrack : : : : : : : : : : : : : : : : : : : : : : : : : 97 5.26 City bus, xed parameter test simulation : : : : : : : : : : : : : : : : : : : 97 5.27 City bus, initial parameters, mass = 11000Kg,  = 1:0 : : : : : : : : : : : : 99 5.28 City bus, new parameters, mass = 12000Kg,  = 0:6 : : : : : : : : : : : : : 100 6.1 Rules used in model parameter estimation : : : : : : : : : : : : : : : : : : : 107 6.2 PID controller : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 108 6.3 Interaction between the fuzzy adaptive controller and the PID controller : : 109 6.4 Simulated output response for the fuzzy/PID hybrid : : : : : : : : : : : : : 110 6.5 Expanded view of the nal 20 seconds of the simulation : : : : : : : : : : : 112 7.1 Land vehicle application, lateral vehicle control loop : : : : : : : : : : : : : 115 7.2 Land vehicle application, xed vehicle speed of 5ms?1 : : : : : : : : : : : : 118 7.3 Land vehicle application, xed vehicle speed of 20ms?1 : : : : : : : : : : : : 119 7.4 Land vehicle application, continuous change in frictional coecient : : : : : 120

x 7.6 Land vehicle application, rst disturbance rejection case. : : : : : : : : : : : 121 7.7 Land vehicle application, lateral side force disturbance rejection. : : : : : : 122 7.8 Land vehicle application, typical plot of side force produced against : : : 123 7.9 Land vehicle application, typical plot of side force produced as  changes : 124 7.10 Land vehicle application, cornering power simulation : : : : : : : : : : : : : 125 8.1 Lateral pilot, variables used in the linear corridor regulator : : : : : : : : : 128 8.2 Lateral pilot, fuzzy set de nitions for linear regulator : : : : : : : : : : : : : 129 8.3 Lateral pilot, corridor regulator simulation : : : : : : : : : : : : : : : : : : : 131 8.4 Lateral pilot, path curvature feed forward : : : : : : : : : : : : : : : : : : : 131 8.5 Lateral pilot, corridor regulator simulation with curvature feedforward : : : 131 8.6 Lateral pilot, desired path at a corridor intersection : : : : : : : : : : : : : 133 8.7 Lateral pilot, fuzzy set de nitions for additional variables : : : : : : : : : : 133 8.8 Lateral pilot, corridor intersection simulation : : : : : : : : : : : : : : : : : 134 8.9 Lateral pilot, connected linear corridor simulation : : : : : : : : : : : : : : : 135 8.10 Lateral pilot, e ect of corridor width on lateral pilot : : : : : : : : : : : : : 136 8.11 Combined pilot and motion controller simulation 1 : : : : : : : : : : : : : : 139 8.12 Combined pilot and motion controller simulation 2 : : : : : : : : : : : : : : 140 8.13 Combined pilot and motion controller simulation 3 : : : : : : : : : : : : : : 140 A.1 Extension principle example, fuzzy set de nitions from chapter 4, example 1 157 A.2 Extension principle example, resulting set for tan( ) : : : : : : : : : : : : : 157

List of Tables 4.1 Phase plane modeling example, rules for y" as estimated for a xed input : 52 5.1 Static regulator problem, controller response rules, u. : : : : : : : : : : : : : 66 5.2 Performance rules for e(t) : : : : : : : : : : : : : : : : : : : : : : : : : : : : 76 7.1 Land vehicle application, controller variables, ranges and discretisation : : : 117 8.1 Lateral pilot, corridor regulator rule{base : : : : : : : : : : : : : : : : : : : 130

xii

Acknowledgements

I would like to thank the Science and Engineering Research Council (SERC) and the UK Ministry of Defence (MOD) for nancial support for the work described in this document. SERC funding was supplied under the CASE award scheme (Collaborative Awards in Science and Engineering) with the MOD component supplied as part of the Mobile Autonomous Research Defense Initiative (MARDI) research programe. At the start of the three year research period which led to this document, I did not fully understand the importance of the choice of academic supervisor. Along with many new graduates I selected the topic of research with care and all other considerations were secondary. With a greater understanding of the importance of a supervisor, I now consider myself to have been extremely lucky. The guidance and motivation provided by Chris Harris has been very signi cant in bringing this work to completion and for this I am grateful. Entertainment has been provided courtesy of Ian Blackwell, Richard Walker and Rob Fraser. Their seemingly endless supply of tasteless jokes and childish pranks managed to keep me (in)sane. Finally I would like to thank Jane for all of the help and support given over my many years as a student. Perhaps one day I'll get a 'proper' job.

Introduction and literature review .

Part One Introduction and literature review

1

Chapter 1

Why indirect adaptive fuzzy control? 1.1 Introduction The majority of classical control design methodologies (such as Nyquist, Bode, state{space, optimal control, root locus, H1, {analysis etc.) are based on assumptions of linearity and stationarity of the process, and that it can be represented by a nite dimensional, constant coecient model. Few of these methods represent uncertainty and incompleteness in process knowledge. Recent methods such as H1 and {analysis robust control design, deal with multivariable linear systems with additive disturbances and parametric uncertainty, but still require a low order model of the process, measures of parameter variations and disturbances and frequently lead to controller designs of very high order which are often conservative. These methods have led to an increase in the amount of process information required for controller design. Many real processes which we wish to control have non{stationary, and sometimes non{linear, dynamics which are signi cantly a ected by unmeasured (sometimes unmeasurable) parameters. Examples of such a process are i) a robot arm picking up an object of unknown mass, ii) a ship sailing in a time{varying cross wind and iii) a land vehicle which crosses a shallow puddle of water whilst being controlled along a road. All of these examples are cases where either a very robust controller or very fast controller adaptation is required, ie the controller is not simply adapting to a slow degradation in process performance but to frequent, time{varying, e ects as a consequence of the very nature of the process. These examples also have a further feature in common, they are

Why indirect adaptive fuzzy control

3

used to demonstrate controller design. The problems encountered with large, complex, processes are summarised well by what has become to be known as Zadeh's principle of incompatibility [121]: "as the complexity of a system increases, our ability to make precise and yet signi cant statements about it diminishes until a threshold is reached beyond which precision and signi cance (or relevance) become almost mutually exclusive characteristics" Thus precise models of process dynamics become ever more dicult to produce as process complexity increases. This is unfortunate since, as described above, precise models are required in order to produce classical controllers for such systems. It was the opinion of Zadeh [123] that: "excessive concern with precision has a stultifying in uence in control and systems theory, largely because it tends to focus research in this eld on those, and only those problems which are susceptible to exact solutions" Considering this it would seem reasonable to explore other avenues, as well as the exact solutions of classical control, when researching the problems of control for non{linear, non{stationary processes. The problem which will be addressed in this thesis is that of controlling the motion of an autonomous land vehicle. This problem, described below, is both a complex process to model and is greatly a ected by the, a priori unknown, environment in which the vehicle moves causing time{varying process parameters. As such it poses a dicult problem for classical control. An interesting point to note is that adequate control of such a system can be achieved by most human operators after only a small amount of initial learning. Control performance achieved by a human operator may not be as precise as that desired of an algebraic (math model) controller (regulation to the exact centre of a motorway lane for example is not a prime objective) since the goals to be achieved always have associated, and often rather vague, tolerances. The human operator though has many desirable features, such as the ability to reject signi cant disturbances (eg the e ects of cross winds and driving on a cambered road), the ability to control non{linear processes (eg a clutch pedal), the ability to sense and adapt to changes in system response caused by external environmental changes (eg driving in wet conditions) and the ability to

Why indirect adaptive fuzzy control

4

It would appear reasonable to assume that the human operator achieves this performance as a consequence of the trade{o between precision and signi cance described earlier. An internal model of the vehicle being controlled is certainly contained in the human operator since predictions can be made of the e ects of certain actions, but such predictions are often vague | if the accelerator is depressed slightly the vehicle will accelerate slightly. Although this type of rule may be simply the verbalisation of an internal model, and not the model itself, it is very signi cant that vague terms are often used. Indeed a more complete verbalisation of the vehicle model involves many vague terms and several such rules, all combining with a set of beliefs in any given situation to yield a prediction. The concept of Fuzzy Logic, based on the seminal work by Zadeh [122], was introduced to model such systems by giving de nitions to vague terms and allowing several rules in a rule base to interact with varying degrees of belief. It is important to note that it is irrelevant whether or not humans store knowledge in this form, what is important is that Fuzzy Logic allows us to create rule based systems with vague terms using interacting rules which have the property of generalisation.

1.2 Autonomous vehicle control | problem description The considerable interest in possible future uses of autonomous guided vehicles (AGV's) is re ected in the wide range of AGV research programs which have been initiated. These include the UK MOD MARDI1 program, the USA DARPA program and in the EEC the ESPRIT II project (no.2483) Panorama. The systems architecture of the majority of AGV's is hierarchical with at least three levels of abstraction in both guidance/control and sensor processing/perception, see gure 1.1. Considering the guidance/control hierarchy, at the highest and most abstract level is the planner which operates on global mission objectives to determine a connected set of tasks or sub goals. At the next level the navigator utilises a detailed plan or map to evaluate an obstacle free path to achieve the task or sub goal supplied by the planner. At the lowest level the vehicle controller must guide the vehicle along the path speci ed by the navigator. Speci cation of precise paths requires knowledge of vehicle dynamics, hence only approximate vehicle paths are used, making as much of the guidance/control hierarchy as possible independent of vehicle speci c e ects. The result is that the vehicle controller is one of the most vehicle dependent levels of an AGV system. A primary research interest in this area is to identify generic approaches to the design of such systems, since to nd particular solutions to the perception/planning/control tasks

Why indirect adaptive fuzzy control

5

Mission Control

Perception

Planner

Data Fusion

Navigator

Sensor Processing

Motion Controller

Sensors

Actuators

Figure 1.1: Hierarchical systems structure of an AGV for every future AGV will be prohibitively costly in both time and money. The classical solution to the task of vehicle control is to use an algebraic feedback controller whose design is based upon an algebraic model of the vehicle [21]. Unfortunately, in general, an AGV moves through an a priori unknown world with complex vehicle/environment interaction making precise vehicle modelling dicult. The aim of the work described in this document is to show how the use of intelligent control techniques can lead to a general solution to this problem without the need for precise vehicle speci c models. Current research in this area is directed at land vehicles; this re ects the relative ease with which they can be developed (hence lower costs and faster development) when compared with other vehicle platforms. In the longer term it is hoped that the techniques developed here will be applicable to a wide range of vehicle platforms including underwater vehicles and aircraft. Indeed the controllers described in this document are not restricted to vehicle control and are applicable to any situation where a priori process models are dicult to obtain and time{varying process parameters occur. The task of vehicle control has been split into two sub tasks of piloting and motion control to further isolate the vehicle speci c e ects. The pilot communicates with the local navigator to nd the next positional goal to achieve and produces a desired vehicle trajectory (for a land vehicle this could be desired path and a corresponding speed pro le). The motion controller then uses error feedback to manipulate the vehicle actuators and achieve the desired trajectory. An approximate solution to this problem is acceptable in that there are uncertainties introduced by:

Why indirect adaptive fuzzy control

6

1. incomplete and imprecise sensor data, 2. movement through an a priori unknown environment, 3. tolerances in the paths to be followed as well as some task objectives. A typical classical solution to the motion controller problem is based upon i) deriving a set of equations to model the system and ii) generating a set of feedback control laws, based on this model, which ensure that the system behaves as desired. A typical vehicle model is the two degree of freedom planar bicycle model [21], given by equations 1.1, which describes the lateral dynamics of a front wheel steered land vehicle.

mv _ = F1 (Uf ; fr ; v; ; IZ  = F2 (Uf ; fr ; v; ;

_ ; ; ) _ ; ; )

(1.1)

where F1 (:) and F2 (:) are complex non{linear functions. The terms in equations 1.1 are:

m vehicle mass v vehicle velocity IZ  cf Uf 

yaw angle moment of inertia about a vertical axis side slip angle of vehicle steering angle of front wheels normal side force coecient for front wheels circumferential wheel force coecient of friction between wheels and road

Movement through an unstructured environment will cause temporal variations in some parameters (eg. cf and ) and internal vehicle changes, such as a payload change, will cause sudden alterations in parameters (eg. m and IZ ). The resulting system, equations 1.1, is both non{linear and non{stationary and poses a considerable control problem. Such a system can however be linearised and for a constant velocity case on a small radius of curvature road, with a limited environmental changes, Kalman ltering and pole placement control have been used [20]. It is clear however that using this technique we cannot produce controllers applicable to a wide range of vehicles operating in unstructured environments. The use of knowledge based and intelligent controllers is one possible solution to the above problem. To highlight the di erence between a conventional and a knowledge

Why indirect adaptive fuzzy control

7

process, such as algebraic models for example. This knowledge is combined with more information, such as the desired closed loop response and process constraints, to produce a controller design. For a typical digital implementation, all of the information which was deemed relevant during the design process is implicit in the code executed at each sample period. Conversely, a knowledge based controller stores its knowledge of the system explicitly. Instead of containing embedded process knowledge the code produced by the designer enables the controller to identify, store and manipulate new knowledge. This has major advantages over other techniques: 1. All knowledge of possible future value can be included for use by the system when and if it becomes necessary. Thus fewer a priori assumptions are made. 2. Changing small sections of the knowledge base is often all that is required to customise the software for another application. 3. Allowing the system to identify new knowledge and alter its knowledge base enables it to learn. The last of these three points is most signi cant for the application considered here, since a self{learning controller can correct faults in initial models (reducing the need for precise process modelling) and adapt to time varying process parameters. The controllers used in this document store process knowledge as rules in which the variables are described by fuzzy sets | hence they are known as fuzzy controllers. Since the rule base is not xed this controller is a member of the class of adaptive fuzzy controllers. An introduction to fuzzy systems and fuzzy controllers is given in chapter 2.

1.3 Direct vs. indirect adaptive fuzzy control The system architectures used in adaptive fuzzy controllers are direct analogues of those used in algebraic adaptive control. Algebraic adaptive controllers [5] can be divided into two classes, direct and indirect, based upon adaptation method. An indirect adaptive controller is one which performs on line model or parameter identi cation and then uses this model to generate a controller based on some design process. A direct method has no intermediate model or parameter identi cation stage and therefore estimates controller

Why indirect adaptive fuzzy control

Performance Index

Set point +

Error -

Rule Modification

Fuzzy Controller

Output Process

Direct adaptive controller

Set point

Controller Design

Fuzzy Model Identification

Fuzzy Controller

Process

8

Output

Indirect adaptive controller

Figure 1.2: Direct and indirect adaptive controllers

In the next chapter, a review of existing fuzzy systems concludes that all previous adaptive fuzzy controllers use the Self{Organising Control (SOC) technique pioneered by Mamdani and his students [58] [59] [43], or variations of this method such as Sugiyama [90], Gill [19] and Linkens [52] . This is an analogue of the direct adaptive algebraic controller since no process model is produced and controller parameters are modi ed directly, by comparing closed loop performance with some desired performance measure. It is proposed here that the indirect adaptive fuzzy controller, if it can be developed, would have certain advantages over the direct technique for the vehicle control application being considered. The production of a vehicle model is useful since it allows sudden parameter changes to be detected and time{varying parameters to be tracked. This enables the health of the vehicle to be inferred as well as the current environmental conditions; the motion controller of an AGV is part of a complex command/control system which requires this information. Another advantage is the separation of model adaptation from controller design, this enables model or parameter convergence to be analysed separately from controller performance and stability. The resultant controller should be capable of being rigorously designed for a speci c desired performance and adaptation speed. A further advantage is the ability to change the desired performance without the need for any rule{base adaptation, since the rule{base models the process and not the controller. This is particularly useful in vehicle control where environmental changes can cause constraints such as maximum available accelerations to change, with a corresponding need to change the desired closed loop performance to keep the vehicle stable. Although many of the components required to produce an indirect adaptive fuzzy controller can be found in the literature | for example the fuzzy model identi cation

Why indirect adaptive fuzzy control

9

fuzzy process models and control of Togai [96] and Brae and Rutherford [9] | such a controller has not been investigated.

1.4 Thesis overview This thesis consists of three parts. In this, the rst part, an introduction to general problems of AGV motion control is given and an indirect adaptive fuzzy controller is proposed as a solution to this control problem. An introduction to fuzzy logic and fuzzy systems is then included as well as a review of current fuzzy controller work. The second part of this thesis contains the theory behind the indirect adaptive fuzzy controller. This is split into chapters on i) adaptive fuzzy models and predictors, ii) analysis tools for controller design, iii) the combination of adaptive predictors and controller design to yield the indirect adaptive fuzzy controller and iv) nested and hybrid controllers. At each new step, examples are used to demonstrate the features of the systems produced. The controller is demonstrated, via simulations, with two IFAC benchmark problems for control systems design as well as simple second order linear and non{linear processes. The nal part applies this work to the initial application, that of motion control for autonomous land vehicles. Both the piloting and motion control levels are simulated to give a realistic test of this control technique. The vehicle model used in the nal simulations is that of a real 3500Kg road vehicle test bed. The novel element of this thesis can be simply described as: 1. combining adaptive fuzzy predictors and on line controller design to yield an indirect adaptive fuzzy controller, 2. applying this controller to a set of problems, including standard IFAC benchmark problems, to investigate controller properties, 3. the use of intelligent controllers to overcome the problems of motion control for AGV's in unstructured outdoor environments

Chapter 2

Introduction and background to fuzzy systems and fuzzy control 2.1 Fuzzy sets, theory and introduction Sets are a key feature of any reasoning process, it is only by grouping items together into sets that we manage to reduce the complexity of our surroundings to a manageable level. Consider for example the set which represents the abstract term 'car'. Many makes and models of road vehicles exist but it is relatively simple to de ne a set 'car' to include all those vehicles with more than two wheels capable of carrying up to ve people on public roads. Given this de nition, any road vehicle will either belong to this set or not. We can then use the concept of a 'car' to reason about the world, for example a trac warden may use the rule: IF a car is parked on a double yellow line THEN write out a parking ticket. The trac warden would not be fooled by a new make of car which he/she had never previously encountered because the reasoning process used the abstract term 'car' and the set de nition con rmed that the new vehicle belonged to that set. Conventional logic can be described as binary-valued, since for any given universe of objects, Y , a binary-valued characteristic function A (y) can be used to represent whether the object y (y 2 Y ) belongs to the set A or not.

A : Y ! f0; 1g  y2A A (y) = 10::00 ifotherwise

(2.1) (2.2)

Introduction and background

11

also many terms which are more approximate and hence less amenable to this approach. This is summerised well by Borel [25]: "one seed does not constitute a pile of seeds nor two nor three ... from the other side everybody will agree that 100 million seeds constitute a pile. What therefore is the appropriate limit? Can we say that 325647 seeds don't constitute a pile but 325648 do?" The idea of a crisp (binary valued) set to represent the term 'a pile of seeds' is clearly unworkable. Many of the terms we use in every day life, such as close, far, heavy and light, are both approximate and context dependent. It is important to note here that the uncertainty inherent in these terms is completely independent of the measurement process | ie we cannot improve the situation merely by making more accurate measurements. Consider the term heavy in the context of the weight of a book. A crisp set of heavy books does not correspond to our understanding of such a term since a situation could exist where a 3.001 Kg book belongs to the set of heavy books and a 2.999 Kg book does not. Rather than trying to avoid them, fuzzy logic attempts to work with these approximate terms which are a characteristic of human reasoning. Zadeh's seminal work on fuzzy logic and fuzzy sets [119] [122] [121] supplies us with a method for representing such vague or approximate terms. A fuzzy set is one where a continuous measure exists between completely belonging to a set (1.0) and not belonging to a set (0.0). Instead of the characteristic function for conventional sets we have the membership function , over the universe Y , taking values in the range 0:0 to 1:0.

A : Y ! [0:0; 1:0]

(2.3)

A(y) = grade of membership of y within A

(2.4)

Returning to the example of the set of heavy books, we can now form a fuzzy set, on the universe of book weight, to represent this term, see gure 2.1. Given any particular book we can use the de nition in gure 2.1 to determine whether our book belongs to the set of heavy books. For example a book of 1 Kg does not belong to the set (membership grade 0.0) whereas a book of 6 Kg completely belongs to the set (membership grade 1.0) and a book of 4 Kg partially belongs to the set (membership

Introduction and background

1.2

12

Membership grade

1

0.8

heavy

0.6

(Weight)

0.4

0.2

0 0

2

4

6

8

10

Weight (Kg)

Figure 2.1: Fuzzy set de nition for the set 'heavy books' In rule based systems knowledge is stored in the form IF THEN , with binary valued sets used to describe the conditional part of the rule. In any particular situation such a rule will either be relevant or not (with no intermediate state) since the conditions will evaluate to true or false. For rules constructed using fuzzy sets however, the relevance of a rule to a particular situation evaluates to a 'degree of con dence' rather than simply true or false. This ability to measure a degree of con dence in individual rules becomes important when multiple rules are combined, where it can be used to evaluate the in uence each rule has on the nal outcome.

2.2 Intersection, union and complement of fuzzy sets The basic connective operations in conventional set theory are those of intersection and union. Before extending these operations to fuzzy sets it is useful to rst consider their de nitions in terms of the characteristic functions of binary valued sets and some of the properties of these operators.

2.2.1 Intersection The intersection operator, \, (or the logical AND connective) must conform to the following conditions:

A\Y A\; A\B A \ (B \ C )

= = = =

A

;

B\A (A \ B ) \ C

(2.5)

Introduction and background

13

where A,B and C are sets, Y is the set which represents the complete universe and ; is the empty set. In terms of the characteristic functions of binary valued sets: 

(A\B) (Y ) = min A(Y ); B (Y )



(2.6)

By simply replacing the characteristic function with the multi-valued membership function,  , we obtain the most widely used expression for the intersection of fuzzy sets, 

(A\B) (Y ) = min A(Y ); B (Y )



(2.7)

which satis es the boundary, commutivity and associativity conditions stated above. This is not the only function to satisfy such conditions, indeed a class of functions called triangular norms (t-norms) can be used as the intersection operator for fuzzy sets [13]. In general the min operator is an upper bound on the intersection. 

(A\B) (Y ) = A(Y ) t B (Y )  min A(Y ); B (Y )



(2.8)

2.2.2 Union The union operator, [, (the logical OR connective) must conform to the following conditions:

A[Y A[; A[B A [ (B [ C )

= = = =

Y A B[A (A [ B ) [ C

(2.9)

In terms of the characteristic functions of binary valued sets: 

(A[B) (Y ) = max A (Y ); B (Y )



(2.10)

Once again, by replacing the characteristic function with the multi-valued membership

Introduction and background



(A[B) (Y ) = max A (Y ); B (Y )



14

(2.11)

Again this is not the only function which could be used and the class of functions which satisfy the conditions for the union operator are called s-norms (or t-conorms). In general, the max operator is a lower bound on the union. 

(A[B) (Y ) = A(Y ) s B (Y )  max A (Y ); B (Y )



(2.12)

2.2.3 Complement In terms of the binary-valued characteristic function, the complement :A of a set A is given by:

:A(Y ) = 1 ? A(Y )

(2.13)

Replacing the characteristic function with the membership function we arrive at the widely used expression for the complement of a fuzzy set.

:A(Y ) = 1 ? A(Y )

(2.14)

2.3 Fuzzy numbers and the extension principle A fuzzy number is a particular class of fuzzy set, de ned on the universe of real numbers, which allows us to express terms such as almost zero or approximately ten. The set de nition for a fuzzy number A (which may be context dependent) must satisfy a set of conditions:

 There must exist at least one value x for which A(X ) = 1:0  A must be a convex fuzzy set.

Introduction and background

15

The support of a fuzzy set, A, is the set of all values x for which A (x) > 0. Using the extension principle [71], any mathematical operation can be carried out on fuzzy numbers. For example, the algebraic function u = f (x; y), can be applied to two fuzzy numbers X and Y to yield a resulting fuzzy number U :   max U (u) = u 2 R minfX (x); Y (y)g u=f (x;y)

(2.15)

2.4 Fuzzy relations and algorithms Often it is useful to be able to describe mappings from one universe of discourse to another and this can be achieved using fuzzy algorithms. An implication statement (or rule) can be used to described part of such a mapping and a collection of rules form an algorithm. A fuzzy relation may sound like an out of focus image of an aunt or uncle but is in fact a particular way of encoding a fuzzy algorithm. Consider the following rule,

IF A(x) THEN B (y)

which links a condition set A, ( de ned by A (x), x 2 X ) with an output set B ( de ned by B (y), y 2 Y ). This rule describes only part of a mapping, in general N rules form an algorithm which describes the complete mapping. OR

IF A1 (x) IF A2 (x)

OR

IF AN (x) THEN BN (y)

 

 

THEN B1 (y) THEN B2 (y)

 

The fuzzy relation, R, is a function of two variables such that its membership function R (x; y) corresponds to the strength of the connection between x and y in the mapping. For the single rule given above, R is given by the intersection of the condition and output sets.   R(x; y) = A(x) \ B (y) = min A (x); B (y) (2.16) using min and max for intersection and union.

Introduction and background

16

For the complete algorithm, R is given by the union of the relations formed for each individual rule.   max R(x; y) = i = 1toN minfA (x); B (y)g (2.17) i

i

Having formed a fuzzy relation to represent a mapping we need a way of using this to produce an output set for any given input set. This process is known as composition and using the max and min operators for union and intersection we can express the composition operator, , as follows. where

B =RA

(2.18)

  B (y) = xmax min f  ( x; y ) ;  ( x ) g R A 2X

(2.19)

Note that for fuzzy sets de ned on nite discrete universes, R becomes a matrix of values R (xj ; yk ) | referred to as a nite discrete fuzzy relation.

2.5 Defuzzi cation Having used the composition operator  to determine the fuzzy output set B (y) above, it is often useful to nd a single deterministic value yo to represent this set { for example if the above system was part of a controller and the set B (y) represents a controlled variable. Two methods of defuzzi cation are commonly used.

 Centre of Area method divides the rst moment of area under the membership

into half. For a set B de ned on a nite discrete universe Y taking values yk k = 1 to m Pm yk B (yk ) yo = Pk=1 (2.20) m  (y ) k=1 B k

 Mean of Maxima is the centre of area of only those values yk for which the

membership function B (yk ) is equivalent to the maximum membership function in the set B .

The mean of maxima method may be useful when con icting rules are present, in which case only the strongest rule is responsible for the output. In general, however, a well designed rule set has no con icts and the centre of area method gives a smoother output

Introduction and background

17

2.6 Applications of fuzzy set theory A review by Maiers and Sherif, 1985 [54], covered over 450 papers addressing fuzzy logic applications in the areas of automatic control, decision making, biology and medicine, economics and the environment. In this section applications of fuzzy logic to automatic control are considered with particular emphasis on the more recent applications and those of signi cance to this thesis. The use of fuzzy logic in automatic control was suggested by Zadeh[123] in 1972. The most signi cant early applications came out of the research group headed by E.H. Mamdani at Queen Mary College, London, during the 1970's. Papers by Mamdani 1974 [56] and by Mamdani and Assilan 1975 [55] reported the rst attempts to use fuzzy logic to control dynamic systems. This initial work used the features of fuzzy logic to model the uncertain and qualitative control strategies of human operators and demonstrated this using a laboratory scale steam engine. The rst large scale applications of this work were very encouraging; for example a fuzzy logic controller was developed by Kickert and van Nauta Lemke 1976 [42] which had rules producing a PI (proportional plus integral) type control action for a warm water plant. Rutherford 1976 [78] produced a controller for an iron ore sinter plant and Tong 1978 [99] developed a controller for a steel rolling mill. In both cases they were shown to be at least as good as human operators or PI controllers with processes which are complex, non{linear and dicult to model. Another popular application has been in the area of auto pilots for ships, where changes in weather conditions cause complex external disturbances and model parameterisation is dicult. Performance at least as good as a PID controller was demonstrated by van Amerongan [1] for a ship auto pilot in poor weather conditions. Cement kilns are also complex, non{linear and dicult to model processes which have traditionally been controlled by human operators. Umbers and King [109] analysed the qualitative reasoning used by a cement kiln operator to produce a fuzzy controller which produced a faster response than its human counterpart with reduced kiln fuel consumption. More recently, a survey by Self 1990 [83] cited rapid prototyping, simplicity of implementation and reduced design complexity as the major reasons behind the current popularity of fuzzy controllers in Japan. LIFE, the Laboratory for International Fuzzy Engineering research, is a Japanese initiative to move fuzzy systems into commercial use. Founded in 1989, LIFE has a $45-million budget for 5 years in which time it expects to devote 130 man-years of e ort to fuzzy systems research. Many recent applications have

Introduction and background

18

Examples of controller applications are:

 washing machine | adjusts load cycle based upon load size, fabric type and quantity of dirt.

 vacuum cleaner | adjusts power based on oor surface and dust quantity.  television | adjusts screen brightness, colour and contrast.  car automatic transmission | selects gear ratios to match engine load and driving style.

 automatic train operation | controls speed of trains on the Sendai City subway.  camera focusing | adjusts camera lens based on measurements of focus at six points in the image.

All of these applications are backed by major Japanese companies such as Sony, Hitatchi, Subaru, Canon etc. All of the controllers above take advantage of the ability of fuzzy logic to implement rule{based systems which have some element of qualitative reasoning. The rule{base is often produced by eliciting knowledge from an existing human operator; in which case the procedure is one of modelling rather than control, and the nal closed loop response achieved is determined by the operator being modelled. Another common feature of the above applications is that the rule{bases are xed and hence they fall under the category of static fuzzy rule{based systems. A further class of fuzzy controllers, the self{organising controller (SOC), was suggested by Procyk 1977[73] and Procyk and Mamdani 1979[72]. In this system the controller was given a rule acquisition and adaptation capability. Rule adaptation is carried out whenever closed loop performance is outside of some desired band as speci ed by a performance index table. The performance index table also supplies the magnitude and direction of any rule corrections based on observed performance. The remaining problem is one of credit assignment in determining which rules in the controller are responsible for observed performance and hence which rules need adjusting; this is usually solved by using a simple model of the process to determine the mapping between output observations and control signals. The SOC has major advantages over a static rule{based controller, particularly in the small amount of a priori process knowledge required and the ability to adapt to changes in process parameters. The SOC algorithm

Introduction and background

19

The SOC has been applied to a range of control problems, particularly those where process modelling is dicult or where large variations in process parameters are expected. The original work by Procyk and Mamdani [72] applied the controller to the laboratory scale steam engine used in previous static controller applications. More recently, an application as a ship's auto pilot by Sutton 1991[91], demonstrated operation over a wide speed range and in variable sea state conditions. Scharf and Mandic [81] implemented the SOC for controlling a multi degree{of{freedom robot arm and demonstrated similar performance to a PID controller but with less sensitivity to noise and changes in tip loads. One of the problems with using such controllers has been the lack of performance prediction and design tools. Several authors have attempted to address this issue. Brae and Rutherford [10] developed a linguistic technique which analysed the stability of the closed loop rules (using a rule{based description of the process) but was not completely rigorous since it failed to take into account the fuzzy set de nitions for the terms it was dealing with. In the same paper they analysed the closed loop stability of a static rule{based controller by making a multi{level relay model of the controller and using a describing function technique, but this was unable to deal directly with the controller rules and was of little use as a design tool. A similar describing function and multi{level relay approach was also used by Kickert and Mamdani [43]. Daley and Gill [19] selected controller parameters by performing a Lyapunov stability analysis; this gave good results but required a linear process model. Another controller design procedure, described by Togai [96], used inversion of a fuzzy model of the process to produce a controller. All of the above techniques required the presence of a process model, without which no closed loop performance analysis can be made. A further area of interest to this thesis is that of fuzzy modelling. Very signi cant work by Tong [102] [99] [98] has demonstrated how to produce and evaluate fuzzy models based on observed input/output traces. Another modelling procedure, developed by Takagi [93], used a least squares technique to identify parameters in piecewise linear regions which were then stitched together using fuzzy logic. A complete and rigorous modelling procedure was presented but was described as being computationally intensive. All of the modelling procedures assume that the process is stationary.

2.7 Fuzzy controller structural issues The fuzzy controller applications described above were split into two basic categories,

Introduction and background

20

Figure 2.2: Typical static rule{based fuzzy controller structure as shown in gure 2.2. A measured output signal is compared with a desired set point to determine the output error; this is then used to reconstruct rst and second derivatives of error. After passing through a set of gains, these signals are then represented by fuzzy sets on nite discrete universes by the fuzzi cation process. Composition with the controller rule{base yields the fuzzy set for the controlled variable which is defuzzi ed to give a deterministic value, this value being passed to the process via another gain. Controller design involves selecting both the set of gains and the fuzzy rule{base. The adaptive controllers described so far, are based on the SOC architecture given in gure 2.3. This extends the static case by adding a performance measure which determines the quality of the current performance. If poor performance is detected then a signal is passed to a rule modi cation block which directly alters the controller rules thought to be at fault. In determining which past rule is at fault, the delay between process inputs and corresponding outputs is used (along with a process incremental model for multivariable systems). Since controller parameters are identi ed without any intervening model identi cation, this can be classed as a direct adaptive fuzzy controller as it parallels the direct adaptive algebraic controller. An interesting point to note here is that in both the static and the direct adaptive (SOC) cases described above, the controller operates on error signals only. This assumes that the required controller response is independent of current output state and only dependent on the error. If a consistent closed loop response over the complete operating range of the controller is to be achieved, the process response to input signals must, in

Introduction and background

Performance Measure (PM)

Process Incremental Model (J)

Pi

Po

21

Selforganising level

Fuzzy Rule Modification

Fuzzy Sets 2

E

E

G 2E G

Fuzzy Rules

Decision Block

Basic level

E E

GE

-

Quantisation e

+

Process s

u o’

Gu

uo

Set point, R

Figure 2.3: Typical self{organising fuzzy controller systems but cannot be true of a general non{linear process. The controller proposed in this thesis is illustrated by the structure in gure 2.4. The controller rule{base contains the fuzzi cation, composition and defuzzi cation of a conventional fuzzy controller, but its rules are based upon actual process outputs rather that error signals. The controller rules are calculated by an on{line design procedure based on a fuzzy model of the process. This is an adaptive fuzzy model which is identi ed by observation of process input/output signals. This can be classed as an indirect adaptive fuzzy controller since an intermediate model is identi ed and a controller is designed based upon this model. Such a controller would have the advantages identi ed in section 1.3, such as separate analysis of long term stability (model adaptation) and short term stability (control loop stability), ability to change performance requirements on{line without the need to adapt and use of model data to infer process health/performance.

Introduction and background

Set point

Controller Design

Fuzzy Model Identification

Fuzzy Controller

Process Output

Figure 2.4: Proposed indirect adaptive fuzzy controller .

22

Indirect adaptive fuzzy controller theory .

Part Two Indirect adaptive fuzzy controller theory

23

Chapter 3

Self{organising fuzzy models and predictors 3.1 Introduction On{line system identi cation or modelling is a key feature of any indirect adaptive controller [5]. For analytic adaptive control, this process is often reduced to one of on{line parameter identi cation with model structure being speci ed a priori o {line. For the identi cation procedure of the controller proposed here, the task is to create a fuzzy model of the input/output mapping of the real system based only on knowledge of previous input/output data. Since the possibility of time{varying system parameters is also being considered, any rules identi ed may have to be rejected at a later time when contradicted by new input/output data. Modelling of systems using fuzzy logic is not a new idea. Many of the initial fuzzy controllers, where human operators were replaced by fuzzy systems, could be described as exercises in modelling rather than controller design. In these situations the human operator was modelled by utilising knowledge of the control action taken in any given situation. This knowledge, often gained by directly asking existing human operators, was used to produce a production rule set to achieve a similar response. This is not an exercise in controller design but in modelling of human actions. One study (Takagi & Sugeno [93]) which did use input/output data to identify a model had a rule structure of the form : IF x AND y THEN z = Ax + By

Self{organising fuzzy models and predictors

25

observed data sets fx; y; z g. This e ectively reduced the problem to one of identifying a series of linear models in a priori de ned regions of in uence, these linear models being 'stitched' together with fuzzy logic. Although this approach could be used as the identi cation process of the indirect adaptive fuzzy controller, the resulting model is rather restrictive in its linearity assumptions and immediately suggests a linear algebraic controller design. The resulting controller would e ectively be gain scheduled, with fuzzy logic used for gain switching. In this chapter a system identi cation procedure, using fuzzy models, is introduced and implemented as an output predictor. The procedure uses time{varying fuzzy relations to model a time{varying (in respect of its parameters) system response. One of the major advantages of this approach is the small amount of a priori process knowledge required. The term self{organising is used in relation to this adaptive model to stress that the underlying model structure is also being identi ed as well as the relevant parameters | these two are not in fact separated, but carried out in one identi cation process. This is illustrated by a simple two dimensional modelling example in section 3.2 of this chapter. Initially the predictor/modelling procedure is described for simple instantaneous systems. It is then extended to model dynamical systems and nally an example is given of an output predictor for a linear second order system. Although the simulation of this predictor enables the system output and the prediction to be compared, it is the analysis tools introduced in the next chapter which allow the best evaluation of the modelling process.

3.2 Identi cation of fuzzy models from observed data A fuzzy relation has already been described as encoding a fuzzy algorithm (Chapter 2) | a fuzzy algorithm being a collection of implication statements which describe a mapping between universes. To perform any kind of prediction requires a process model, in the case of the fuzzy predictor described here the process model is a fuzzy relation which describes the causality mapping between system inputs and resulting outputs. A self{organising fuzzy predictor must be able to produce this fuzzy relation simply from observations (possibly with associated uncertainty) of system inputs and the corresponding outputs subsequently achieved. The fuzzy predictor described here requires a priori knowledge of model order, but no other structural information. We can represent the input/output mapping of a simple system component with zero

Self{organising fuzzy models and predictors

26

order dynamics using a fuzzy relation: R Y U!

(3.1)

which maps input universe U onto output universe Y . The fuzzy relation R, is a collection of implication statements (rules) of the form:

Ri : IF ui THEN yi



i=1;2;:::N

where ui and yi are particular fuzzy sets de ned on the universes U and Y respectively. If ui and yi are described by fuzzy sets with membership functions u and y then the relation for this particular rule, Ri , is given by: i







R Y; U = min y (Y ); u (U ) i

i

i



(3.2)

i

assuming the use of the min operator for intersection. For practical applications, the fuzzy sets are described on nite discrete universes; in this case both Ri and the relational matrix R are nite discrete fuzzy relations. To construct R we collect together all N rules, Ri , to give: 

R Y; U







= max R Y; U



i





i=1;2;:::N



= max min y (t) (Y ); u (U ) i=1;2;:::N i

i

(3.3)

assuming the use of the max operator for union. The relation R has to be evaluated from system input/output data, its dimensionality, N, being a priori unknown. We therefore consider every data set (yi ; ui ) as a possible rule and use it to update the relational matrix R. However, we need to identify and track systems with time varying parameters | hence the relational matrix is dynamic, implying both learning and forgetting via the forgetting factor D. At each update, a new relation R0 is computed from the previous version R using: 



R0 Y; U = max

(



D  R Y; U 



!

;



max min y (Y ); u (U ) i

i

)



i=1;2;:::N

(3.4)

where D < 1 causes old rules to slowly decay as new ones are added. Selection of D determines the speed of adaptation, the slower the rate the less susceptible the modelling process is to measurement noise. The forgetting factor mechanism introduces another

Self{organising fuzzy models and predictors

27

factor will reduce all rules external to this region to zero. To avoid this, the updating procedure only applies for those regions of R for which our con dence in the current input ui being relevant to that region is greater than a prescribed threshold , ie:

u (U ) >  i

(3.5)

The relation R evolves over time, as in equation 3.4, with the observation of new input/output combinations fui ; yi g. This rule base can now be used with speci c measured values of u, say u0 , to predict the corresponding output value, y0 , based on previous observations. This is carried out via the composition operator.

y 0 = R  u0

(3.6)

The resulting output set can then be defuzzi ed by mean of area method to yield a deterministic output prediction for y0 .

3.3 Two dimensional model example The following simple example is presented to illustrate the self{organising nature of the adaptive fuzzy relations produced by the above process. A simple, single input, single output 'black box' is to be modelled using the procedure described in the previous section. Observations of input u and output y are used to form the nite discrete fuzzy relation R whose membership values are given by R (ui ; yj ); ui and yj are the discrete points used on the corresponding universes of input, U , and output, Y , respectively. A series of input values, evenly distributed across the input space, are fed to the 'black box' and the corresponding output value recorded. For each observation, two fuzzy numbers are produced on the input and output universes, by centring triangular fuzzy sets on the recorded values, and these are used to update the discrete relation via equation 3.4. Consider the case where, unknown to the modelling process, the 'black box' transfer function is given by the simple linear relationship:

y = 10u

(3.7)

Inputs in the range [0.0, 10.0] are used giving corresponding outputs in the range [0.0, 100.0]. After the modelling process has been carried out, predictions of 'black box'

Self{organising fuzzy models and predictors

28

Figure 3.1: Predictor example, recall of the linear 'black box' function interesting view of what has happened during the modelling process can be obtained by considering the relation membership values R (ui ; yj ) as heights over a discrete two dimensional space. This yields a surface which can be plotted; gure 3.2 gives two viewing angles of the relation produced by the linear 'black box' | note the single straight ridge. Reference to the updating procedure, equation 3.4, shows that subsequent applications of the modelling process will not modify the fuzzy relation. To investigate the adaptive nature of the fuzzy model, the 'black box' transfer function was changed to the simple, non{linear, relationship:

y = u2

(3.8)

The change in transfer function was unknown to the modelling process and the aim was to see how the relation would be modi ed over time. Once again the same model updating procedure was used, with a relation forgetting factor of 0.7, | model recall and the relation surface were plotted after each application of this procedure. The resultant plots for the rst three applications of this procedure, in gures 3.3, 3.4 and 3.5, show how the fuzzy relation converges on the new function. During these three learning runs the integral of squared error was evaluated (the error being between predicted output and the real function). The three values being 40:29, 13:01 and 2:87 for the rst, second and third application of the learning procedure respectively. The recall in gure 3.3, is the rst after the new transfer function has been encountered,

Self{organising fuzzy models and predictors

29

Figure 3.2: Predictor example, surface representation of the fuzzy relation | linear case

Self{organising fuzzy models and predictors

30

Figure 3.3: Predictor example, non{linear 'black box' function, rst application of learning procedure

Self{organising fuzzy models and predictors

31

Figure 3.4: Predictor example, non{linear 'black box' function, second application of learning procedure

Self{organising fuzzy models and predictors

32

Figure 3.5: Predictor example, non{linear 'black box' function, third application of learning procedure

Self{organising fuzzy models and predictors

33

Figure 3.6: Predictor example, in uence of forgetting factor on model convergence new curved ridge present. The subsequent surface plots, with the old linear ridge reducing in height, illustrate how old data decays as new rules are added. The function recall plots also show how the model predictions tend toward the new function. Further applications of the updating mechanism reduce the in uence of the old, unsupported data, until it nally disappears. The rate at which this old data decays is set by the forgetting factor D, see equation 3.4. It is important to stress here, the di erence between this approach and a parameter identi cation approach. The initial linear function could have been identi ed simply by estimating the slope of an underlying linear model. This linear model assumption would have been invalid when the 'black box' was changed to a non{linear response. To cope with this situation the designer of the parameter identi cation system could have used a di erent underlying model. The question which then arises is 'How can the designer of the parameter identi cation system choose an underlying model which will cope with all of the possible future functions we may choose?'. This problem is avoided by the self{organising fuzzy model since it identi es the underlying model structure. Within the input and output ranges speci ed, the function could be linear or non{linear, continuous or discontinuous. To demonstrate how the forgetting factor, D, in uences the rate of convergence of the model, the simple test described above was carried out for various forgetting factor values. Each test used the same linear function as above for initial training and then changed to the non{linear function for 10 learning runs. The values for integral of squared error are plotted against run{number for several values of forgetting factor in gure 3.6.

Self{organising fuzzy models and predictors

34

Figure 3.7: First order fuzzy model

3.4 Fuzzy models for dynamical system components The adaptive fuzzy models discussed so far have described systems with zero order dynamics | ie the current output depends only on the current input. Of much greater interest are systems which exhibit dependence on past inputs, since all physical systems are of this type. To model such systems requires the introduction of time into the above equations. This can be achieved easily by structuring the fuzzy model such that it predicts output derivatives. The complete output predictor is formed by the integration of the output derivative predictions | thus the rst order predictor is given by gure 3.7. Higher order predictors can be produced by predicting higher derivatives and performing multiple integrations. As above for the zero order case, we can represent nite dimensional dynamic fuzzy systems by: R Y_ Y U ! (3.9) which maps inputs universe U and output universe Y onto output derivative Y_ . The fuzzy relation R, is a collection of implication statements (rules) of the form:

Ri : IF yi(t) AND ui(t) THEN y_i(t)



i=1;2;:::N

where ui (t) and yi (t) are the current input and output fuzzy sets and y_ i (t) is the current output derivative. If yi (t), ui (t) and y_ i (t) are described by fuzzy sets with membership functions y (t) , u (t) and y_ (t) respectively then the relation for this particular rule, Ri , is given by:     _ _ (3.10) R Y; U; Y = min y (t) (Y ); u (t) (U ); y_ (t) (Y ) i

i

i

i

i

i

i

Self{organising fuzzy models and predictors

35

input values | in reality there is always some delay present between cause and e ect. If a delay T is present then a more appropriate rule structure is:

Ri: IF yi (t) AND ui (t) THEN y_ i (t + T )



i=1;2;:::N

which leads to the relation for this rule being described by :





R Y; U; Y_ = min y (t) (Y ); u (t) (U ); y_ (t+T ) (Y_ ) i

i

i



(3.11)

i

This delay parameter, T , is equivalent to the delay in reward parameter used to solve the credit assignment problem for the Mamdani self{organising controller [58]. It is important that T should be set at least as large as any dead{time between system input and resulting output; if T is less than this critical value then a meaningful model cannot be produced. As in the zero order dynamic case, in section one above, the relation R evolves over time such that given a new observation set fyi (t); ui (t); y_i (t + T )g, the new relation R0 can be evaluated from the current value R using: 

R0 Y; U; Y_



(



D  R Y; U; Y_

= max



!

;



max min y (t) (Y ); u (t) (U ); y_ (t+T ) (Y_ ) i

i

)

i

(3.12) where, once again, D < 1 causes old rules to slowly decay as new ones are added and the updating procedure is only carried out for those regions of R for which: 



min y (t) (Y ); u (t) (U ) >  i

i

(3.13)

The prediction of system output derivative can now be found by composition :

y_ 0 (t + T ) = R  u0 (t)  y0 (t)



(3.14)

the resulting output set can then be defuzzi ed by mean of area method to yield a deterministic output prediction for y_ 0 (t + T ) which must be integrated to determine the predicted output.

Self{organising fuzzy models and predictors

36

3.5 Implementation and convergence of the adaptive fuzzy predictor The above description of the adaptive fuzzy model/predictor does not deal with the choice of fuzzy set shape and discretisation on the input and output universes. The reason for this is that such decisions are always implementation dependent. The following factors must be considered at the time of implementation when making choices for set shape and discretisation:

Memory requirements for the fuzzy relation are easily calculated. Since each input

level is connected to each output by a membership value (or belief value) then the memory required to store these values increases dramatically with increasing numbers of universes. A fuzzy relation of order n (ie n ? 1 inputs and 1 output) with m discretisation levels on each universe requires mn membership values to be stored. Since accuracy for membership values is not critical (one part in one hundred being adequate) then storage as a single byte is acceptable and mn bytes are required for the above example.

Output accuracy is controlled mainly by set shape and set distribution. The set

shape controls the nature of the interpolation between individual rules in the relation while the set distribution controls the centre of in uence of the rule. When interpolation between rules matches the real system function exactly then relatively few rules are required and wide fuzzy sets can be used with correspondingly wide discretisation. Unfortunately this requires a priori knowledge of the system to be modelled which may not be available. In the general case, the interpolation between rules cannot be guaranteed to match the system function and a narrow set with a sharp peak gives the most precise results. Unfortunately this is not as straightforward as it rst appears since there is also a lower limit on the set width imposed by the universe discretisation. The set should be at least twice the discretisation step in order to avoid problems due to spatial sampling. When non{linear set distributions are used then corresponding non{linear discretisation can be used to reduce the memory requirements.

Adaptation speed and generalisation are related to each other by the set shape. A

wide set shape in relation to the discretisation ensures that many elements of the relation are updated by each observation and hence gives a fast adaptation speed. During the composition operation the use of wide sets, compared to the discretisation step, ensures

Self{organising fuzzy models and predictors

37

From these features the following trades{o can be identi ed :with little a priori system knowledge the use of a small discretisation steps for higher output accuracy increases the memory requirements and tends to reduce adaptation speed and generalisation Although the convergence of the adaptive fuzzy model may appear intuitive due to the use of a simple updating mechanism of the form   new estimate = old estimate  decay + observation proof of convergence is complicated by the use of non{linear operators min and max for intersection and union. Work by Brown [14] has provided a proof of convergence for such an algorithm when a product operator is used for intersection instead of min and the set shape is a basis{spline of order 3. The use of a product operator for intersection has also been suggested by other authors [95] to give more accurate outputs. The adaptive modelling process described above could use any of the t{norm or s{norm functions for implementation of intersection and union.

3.6 Second order system modelling example A second order dynamical system with a single input u(t) and a single output y(t) is to be modelled by the above process. A second order rule structure is to be used | ie the output of the fuzzy relation is a prediction of output second derivative y(t). The rule structure is as below :IF u(t) AND y(t) AND y_ (t) THEN y(t + T ) where T is the sample time of the modelling process. A model updating procedure uses observations of input and output values and reconstructs output rst and second derivatives. Triangular fuzzy sets are then formed on these four values, with centres on the measured value and a width of twice the discretisation width. These sets are then used to update the evolving fuzzy relation as in equation 3.12. In order to test the e ectiveness of this procedure a predictor is also run in parallel. The

Self{organising fuzzy models and predictors

38

Figure 3.8: Second order fuzzy predictor structure output second derivative. This is integrated twice to give output and output velocity estimates. These estimates are then used by the predictor for the next cycle | see gure 3.8 | thus the real system output and the predicted output are linked only by their initial conditions and the fuzzy model updating procedure. A simulation experiment to test the fuzzy modelling process used observations of a linear second order process subjected to a series of step input demands. When the initial learning takes place the process has a damping ratio of 0:4 and an undamped natural frequency of 6:0Hz. The process then experiences a step change in parameters to a damping ratio of 0:2 and an undamped natural frequency of 4:0Hz. The fuzzy model is then adapted over a series of runs and the integral of squared error between predicted output acceleration and actual acceleration calculated. The model input and output ranges used were [0:0; 10:0] with output velocity range [?20:0; 20:0] and output acceleration range [?150:0; 150:0]. Finite discrete fuzzy relations were used in the implementation with 11 discretisation levels on the input and output ranges and 15 levels on the output velocity and acceleration ranges | in this case all discretisation levels were linearly spaced. The fuzzy sets used on each variable were triangular with a width equal to twice the discretisation step. The model updating procedure operated at a frequency of 10Hz with a modelling delay of one sample period or 0:1 seconds. The forgetting factor for the fuzzy relation was 0:9. The aim of the simulation is to show how the fuzzy model adapts to changing process dynamics. This is achieved by showing transient responses for the output predictions and by plotting integral of squared error values against run number. Figure 3.9 shows the transient responses of the process and the predictor after the change in process

Self{organising fuzzy models and predictors

39

of the initial learning phase when the process response had a faster natural frequency and a higher damping ratio. The subsequent responses show how the output prediction converges on the new process response. Figure 3.10 gives a plot of integral of squared error against run number. The initial convergence is very fast, followed by a further period of slower convergence to the minimum error value which is achieved at the end of this plot. The rate of this convergence is once again controlled by the value of the forgetting factor D as demonstrated in the previous example. Although the overall accuracy and convergence of the predictor can be analysed in this way, the e ect of individual rules on the output is hard to determine. The analysis tools introduced in the next chapter allow the extent and accuracy of rule formation in this example to be more fully displayed.

3.7 Chapter Summary This chapter describes a class of predictors based on time{varying fuzzy relations formed from observed data. A model updating procedure uses new observations to reduce errors in the fuzzy model whilst at the same time the new observations also in uence the current prediction. The belief in each observation is incorporated into both prediction and model updating. During the design and implementation of such predictors several parameters must be chosen. Some a priori process knowledge is useful during this phase, though not essential, since it allows set shape and distribution (and hence discretisation) to be matched to the process. This allows high output accuracy to be achieved with small memory requirements. In a general case with little a priori knowledge, output accuracy is obtained at the expense of memory, generalisation and adaptation speed. A design trade{o has also been identi ed between adaptation speed and noise rejection. The forgetting factor, D, determines the speed of decay of the relation and hence the frequency of noise to which the model will react. A slow relation decay reduces the adaptation speed of the model while at the same time reducing the e ects of high frequency noise.

Self{organising fuzzy models and predictors

Figure 3.9: Predictor example, fuzzy predictor transient responses

40

Self{organising fuzzy models and predictors

41

Figure 3.10: Predictor example, integral of squared error over the learning period

3.7.1 Observation belief in the fuzzy predictor The predictor described above uses a process model and an observation to estimate the current system output. A model updating procedure manipulates the process model to reduce the error between model prediction and observation. The two major advantages of such a system are: 1. An initial system model is not required since the fuzzy model can be rapidly adapted to match initial observations | thus reducing the amount of a priori system knowledge required. 2. The model can track time{varying system parameters. Other predictor techniques, such as the Kalman Filter, use an observation model, in the form of noise variance measures, to determine the belief placed on new observations. In the fuzzy predictor the belief in both model prediction and observation are both inherent in the design. Indeed the time{varying fuzzy model is achieved by decaying the belief in the current model, by forgetting factor D, before adding the new observation. The belief in the new observation is expressed as the maximum membership grade of the observation fuzzy set. In the example given above, the maximum membership values for all of the observation fuzzy sets were 1:0 | implying maximum belief in observation. A more realistic situation is one where this belief is less than 1:0, so that the current model becomes signi cantly more reliable than the new observations. Using max as the union operator (see chapter 2) introduces problems when observation

Self{organising fuzzy models and predictors

42

existing fuzzy relation has an element with a membership value of 0:0 and a new observation implies a membership value of 0:3 for this element. Using the max operator as union: new element value = maxf0:0; 0:3g = 0:3 With a relation element value of 0:3 consider what happens when an identical observation occurs: new element value = maxf0:3; 0:3g = 0:3 Thus subsequent observations, with the same belief value, do not increase the belief in this element. This problem occurs because max is a lower bound on the s{norm operation, as described in chapter 2, and hence gives a lower bound on the membership grade. A more realistic situation is where subsequent observations with a low belief value tend to increase the belief in this element being true. One candidate operator for the union operator in this case is the so called probabilistic sum, ie:

A [ B = A + B ? (A  B )

(3.15)

Using this new operator for union we can calculate the results of the above example again. For the rst observation of 0:3 with a current model value of 0:0 the new element value is: new element value = 0:0 + 0:3 ? (0:0  0:3) = 0:3 A subsequent observation yields the result: new element value = 0:3 + 0:3 ? (0:3  0:3) = 0:51 and further subsequent observations give an increasing belief in this value being correct. This simple example shows that although a mechanism exists for observation belief to be expressed in fuzzy predictor, the results give a lower bound on model membership values. More realistic values for model membership are obtained by using the probabilistic sum as the union operator. This operator also exhibits the smooth qualities of the product operator which has been suggested as an alternative to min for intersection by M. Brown [14]. Throughout this document, all observation sets have had a maximum membership grade of 1:0 and therefore the ability to manipulate observation belief has not been investigated. It is recomended that future work should investigate this possibility using

Chapter 4

Analysis tools for a class of fuzzy systems 4.1 Introduction The previous chapter concentrated on process identi cation and modeling, one of the fundamental features of any indirect adaptive controller. The second important feature of such a controller is an on{line design based on the identi ed process model; in the fuzzy case this is hindered by the normally very subjective nature of fuzzy controller design. The lack of analysis tools for performance prediction and design has been one of the major criticisms associated with the implementation of fuzzy controllers and has to be addressed before an indirect, adaptive fuzzy controller becomes feasible. In particular, the lack of a satisfactory stability analysis has been a major drawback for fuzzy systems; Brae and Rutherford, 1979, [10] addressed this problem using two di erent approaches. Initially they developed an algebraic model of the rule-based controller for use with an algebraic model of the process to determine controller performance via analytical techniques. Although successful in predicting loop stability, the technique is unable to deal directly with the rules of the fuzzy controller and is therefore unsuitable as a design tool. The limitations of the algebraic approach led to a second method; the use of a rule-based description of the process with the existing rule-based description of the controller. This led to a linguistic systems analysis, demonstrated for rst order systems only. This linguistic approach did not take account of the fuzzy set de nitions but relied on

Analysis tools for a class of fuzzy systems

44

subjective. The aim of this chapter is to show how linguistic system analysis can be extended to include fuzzy set de nitions and applied to second order systems. This produces a graphical analysis tool, similar to the algebraic phase plane approach, for considering overall system performance. The strength of this technique lies in its ability to display the in uence of individual rules on the overall performance of the system; thus making it a useful design tool.

4.2 Description of Fuzzy Systems Consider a system with output y, input u and internal states x, with the dynamic representation

x_ = A(x; u) y = C (x)

(4.1)

where A(:) and C (:) are algebraic maps. A fuzzy system description is one in which the variables in the modeling equations are described in terms of a nite set of quali ers, each of which is de ned by a fuzzy set. This collection of quali ers de nes a language L(:), for example the language on u, L(u), could consist of just two quali ers, Large and Small, L(u) = fLarge, Smallg. The linguistic variable u" now takes one of the quali ers as its value and is mapped back to the algebraic variable u by the fuzzy set de nition for that quali er. The system equations 4.1 can now be described in terms of the linguistic variables, using the languages L(u), L(x), L(x_ ) and L(y),

x_ " = A"(x"; u") y" = C "(x")

(4.2)

where A"(:) and C "(:) are linguistic maps, ie rule sets. The rules which describe A"(:), for example, would be of the form IF (x" is Large) AND (u" is Small) THEN (x_ " is Small) where L(x) and L(x_ ) contain the linguistic quali ers Large and Small de ned on the respective universes by the fuzzy sets Large (x), Small (u) and Small (x_ ). In the following work it has been assumed that A"(:) and C "(:) are single{valued

Analysis tools for a class of fuzzy systems

x_ " = A"  (x"  u") y" = C "  x"

45

(4.3)

where A" and C " are fuzzy relations encoding collections of rules. Brae and Rutherford, 1979 [10], showed how to analyse the rules, A", for rst order systems of this type. They also showed how to combine linguistically described components to produce the overall system rules. It is important to realise that system performance is a ected by the languages as well as the rules. A set of system rules alone is not sucient proof of good system performance. By considering second order systems and taking into account the language de nitions, the overall system performance can be analysed. Limitation to second order (though not necessarily linear) fuzzy systems is an acceptable restriction in many real systems, since they have dynamics which are approximately second order, and more complex systems can be controlled by multi-layer, global/local nested, fuzzy controllers { such nested controllers often provide locally second order behaviour. In the case of a performance relation design for a self adaptive controller [36] the desired response may often be speci ed in terms of second order dynamics (this is comparable to pole placement design).

4.3 The Extended Phase Plane Method Consider the linguistically de ned SISO second order system given by {

x" = A"  (x_ "  x"  u") y" = C "  (x_ "  x")

(4.4)

Every rule in A" links a linguistically de ned system state, x" and its rst derivative x_ ", with a corresponding x". The extended phase-plane method allows analysis of the dynamic behaviour of states x" and x_ " by graphically showing the in uence of each rule in A" for a xed u". Consider the following rule {

A1 : IF (x" is NSx) AND (x_ " is PMx_ ) AND (u" is PSu) THEN (x" is PSx )

Analysis tools for a class of fuzzy systems

46

Figure 4.1: State trajectory in the phase plane representing negative small, positive medium and positive small respectively. Each quali er is de ned by a corresponding membership function, ie NS (x), PM (x_ ), PS (u) and PS (x). The centre of the rule in the phase plane can be considered to be the value of x and x_ for which {

NS (x) = 1 PM (x_ ) = 1

(4.5)

and the total region of in uence of the rule is given by {

NS (x) > 0 PM (x_ ) > 0

(4.6)

Considering the in uence of this rule alone, the state trajectory direction, in gure 4.1, can be calculated within this region. For a conventional algebraic system is given by equation 4.7. tan( ) = xx_ (4.7) For a fuzzy system, x_ and x are given by the linguistic counterparts x_ " and x" and, using the extension principle (cf. section 2.3), an extended division operator, , (see for example Dubois and Prade, 1980 [71]) can be used to calculate tan( ) through {

tan( ) = x" x_ "

(4.8)

Analysis tools for a class of fuzzy systems

47

Alternatively for simple, symmetrical, fuzzy set shapes, the equivalence in equation 4.9 holds true.

Defuzz x" Defuzz[x" x_ "]  Defuzz x_ "

(4.9)

Example 1 Consider the rule A , given previously, when the linguistic quali ers are 1

de ned by the fuzzy sets in gure 4.2. The state trajectory direction in the phase plane for this rule is given by { Defuzz[PS (x)] = 20:0 tan( ) = Defuzz [PM (x_ )] 13:0 = 0:994 rad

Analysis tools for a class of fuzzy systems

Figure 4.2: Fuzzy phase plane, quali er de nitions for example 1

Figure 4.3: Rule A1 in the phase plane

48

Analysis tools for a class of fuzzy systems

49

The rule centre, as given by equation 4.5, is the region in which this value is dominant and the region of in uence, given by equation 4.6, establishes the extent to which this value is signi cant. This is illustrated for rule A1 in gure 4.3. If the in uence of every rule in A", for which u" is PM, is plotted in a similar way then the complete state trajectory can be determined from any given initial position for this particular input. Figure 4.4 shows an example phase plane plot for such a system. This diagram illustrates some important features of the rule base {

 The interaction of the rules can be gauged from the way in which the regions of in uence overlap

 A consistent set of rules has large areas of interaction but with no con ict of rule centres.

 A complete set of rules is one where every system state of interest on the phase plane is covered by the region of in uence of at least one rule.

Using gure 4.4 the approximate phase plane portrait for this system when subjected to a xed input, u", could be determined simply by following the arrows from any given initial condition. The trajectory will either leave the diagram or terminate at a stable steady state point. As in Brae and Rutherford, 1979, these steady state points can be either explicit or implicit. If ZE is used to represent 'approximately zero', de ned by fuzzy sets ZE (x_ ) and ZE (x), then an explicit steady state point occurs if a x" = ZE rule exists at x_ " = ZE and an implicit point occurs when x" = ZE is implied at x_ " = ZE by a sign change between neighbouring rules. When an explicit steady state rule occurs nothing can be determined about the trajectory of the system within this rule's dominant region.

Analysis tools for a class of fuzzy systems

Figure 4.4: Typical phase plane plot of all rules in A" for xed u"

50

Analysis tools for a class of fuzzy systems

51

The phase plane diagrams for other linguistic values of u could be similarly calculated and combined by taking account of the fuzzy set de nitions on this universe. A 3D stack of phase planes could then be drawn, with the vertical axis representing system input and interpolation between rules taking place in three dimensions, gure 4.5.

4.4 Extended phase plane application example Given a fuzzy phase plane diagram such, as that in gure 4.4, the system state trajectory can be plotted from any initial condition; this enables the performance of any linguistically described system to be determined. This method could also be used as a design tool since the in uence of each rule is clearly displayed. For controller design purposes, if a desired system response is speci ed linguistically and the plant is also speci ed linguistically using the same languages, then a set of control rules can be generated. The extended phase plane provides a method for specifying desired system response as a fuzzy rule set. In the next chapter, the fuzzy phase plane technique is used to specify desired response rules for controller design. The example given here solves the problem presented in the last chapter | how to analyse the process model produced by the self{organising fuzzy predictor. An adaptive fuzzy modeling process is used to produce a linguistic model of a system in the form of equation 4.4. In this example the real system is a simple second order process as given by equation 4.10.

y + 2!y_ + !2 y = !2 u

(4.10)

where u is the system input and y is the system output. The response of the second order system to a xed input of u = 6:6 was simulated for initial conditions y = ?4 and y_ = ?30, and the adaptive modeling process was then used to form a rule set to model this system. The languages used are given in gure 4.6 and the rules which were formed are given in table 4.1.

Analysis tools for a class of fuzzy systems

52

Table 4.1: Phase plane modeling example, rules for y" as estimated for a xed input PL .. PL PL PL NS NM NL PM PL PL PL .. .. .. NL PS PL PL PL .. PM NS NM y_ " ZE PL PL .. PL PL ZE NM NS PL PL .. .. PL PS NM NM .. .. .. .. PL PM NS NL .. .. .. .. .. PL PM NL NM NS ZE PS PM PL y" where PL, PM and PS represent positive large, medium and small, ZE represents approximately zero and NL, NM and NS represent negative large, medium and small. .. represents a region of the rule table for which the modeling processdid not identify a rule.

How can we determine whether the rules formed by the modeling process accurately represent the real system? One possible method is to determine the response of the rule set using the extended phase plane technique and to compare this with the simulated response of the real system. In this example the fuzzy sets are triangular and so the rule centres reduce to points in the phase plane. The trajectory directions were plotted and response of the real system was overlaid for comparison, gure 4.7. It is clear from this that the rules formed by the modeling process do represent the response of the real system. Figure 4.7 also illustrates well the regions over which rule formation has taken place and the in uence of each rule.

4.5 Chapter Summary The lack of analysis tools has been addressed by investigating the use of phase plane analysis for a class of fuzzy systems. Due to the graphical nature of the phase plane analysis, this technique is limited to second order rule structures. A simple application example has been presented | interpretation of fuzzy rule sets produced by an adaptive modeling process.

Analysis tools for a class of fuzzy systems

53

Figure 4.6: Phase plane modeling example, the languages and corresponding fuzzy set de nitions used in the modeling example

Analysis tools for a class of fuzzy systems

54

Figure 4.7: Phase plane modeling example, comparison of real system response with the fuzzy phase plane

Analysis tools for a class of fuzzy systems

55

This is an important step to an indirect, adaptive, fuzzy controller. The previous chapter described a self{organising fuzzy predictor (an essential part of the proposed control technique) but lacked the analysis tools to fully investigate the nature of the process model produced. This chapter has demonstrated how a phase plane approach can be used to interpret fuzzy systems models to nd regions of model convergence and model response. Perhaps more signi cantly, the next chapter demonstrates how this technique can help to automate task of controller design, to provide the on{line design procedure required by an indirect, adaptive, controller.

Chapter 5

Indirect adaptive fuzzy controllers 5.1 Introduction In this section, a fuzzy controller design procedure is described. This procedure utilises a fuzzy model of a process to produce a controller which forces the closed loop system response to match a desired response | akin to the algebraic model following approach. To use this technique a fuzzy model of the process must exist | just as in modern control theory where an algebraic model of a process must exist. This model could be obtained in many ways, such as using a deep understanding of the physics of the process to form rules or simply by observing input/output data. If a xed, time invariant, model is used then the design procedure has to be carried out only once to produce a static rule{based controller. If an adaptive, time{varying, model is used then the controller would, ideally, be evaluated every time the model changes.

Indirect adaptive fuzzy controllers

57

Chapter 3 investigated the identi cation of fuzzy models for system components based on observed input/output data. If this adaptive model is now assumed to represent the process, in a manner similar to the certainty equivalence principle of algebraic adaptive control, then an on{line controller design can be carried out. The resulting control action at any given time is based on a model which, as discussed in chapter 3, adapts to time{varying parametric and structural changes. This follows the basic principles of indirect adaptive control which were described in the introductory chapter | ie identi cation followed by an on{line controller design process. The design procedure uses the concept of causality inversion of the fuzzy relation describing the system to be controlled. This is therefore discussed in the next section before the controller is described.

5.2 Relation causality inversion In chapter 3, a process model was described which used a fuzzy relation R to map input universe U and output universe Y to changes in system output derivative Y_ : R Y_ Y U !

(5.1)

The fuzzy relation R consisted of a collection of rules Ri of the form:

Ri : IF yi(t) AND ui (t) THEN y_i (t + T ) where yi (t) and ui (t) are observations of system output and input at time t and y_ i(t + T ) is an observation of the rate of change of system output at time t + T . Each rule maps a particular input and output combination to the resulting output derivative. The mapping can be referred to as a causality mapping since the input, ui (t), causes the output derivative, y_i (t + T ), to occur at a time T in the future in the presence of the condition yi (t). For the controllers which are described in the next section the inverse mapping is of interest | ie. given a required output derivative, y_ i (t + T ), at a time T in the future what input ui (t) has to be applied in the presence of a current output condition, yi(t). This 'inverse' causality mapping can be described by a fuzzy relation, say R?1 , such that:

Indirect adaptive fuzzy controllers

?1

Y  Y_ R! U

58

(5.2)

which consists of a collection of rules of the form:

Ri?1 : IF yi (t) AND y_ i(t + T ) THEN ui (t) The problem to be considered here is, given a particular relation R can we generate the corresponding R?1 .

5.2.1 Causality inversion via autoassociative memory To determine the relationship between R and R?1 consider a particular observation fyi(t); ui (t); y_i(t + T )g. Using the rule structure shown above for R, the membership values for this rule are given, as in equation 3.11, by:     _ _ (5.3) R Y; U; Y = min y (t) (Y ); u (t) (U ); y_ (t+T ) (Y ) i

i

i

i

If this observation is also considered to be an element of R?1 then the membership value of this inverse rule can also be evaluated. Using the structure for R?1 shown above then the membership values are given by:     _ _ (5.4) R?1 Y; U; Y = min y (t) (Y ); y_ (t+T ) (Y ); u (t) (U ) i

i

i

i

Comparing equations 5.3 and 5.4 it is clear that the elements of R and its causality inverse R?1 have identical values. The only di erence between the two relations is the order in which the individual universes appear. Thus it is possible to perform the inverse causality mapping using the composition operator, , on the original relation R simply by accessing the relation elements in the correct order. This method for causality inversion uses the fuzzy relation as an autoassociative memory | a system element which is often used in pattern recognition and neural networks [47] [46]. An autoassociative memory device stores a pattern; by supplying a partial copy of this pattern to the device the complete copy can be recalled. The fuzzy relation described above stores a pattern of connected input, output and condition states as a matrix of membership values. Reference to equation 5.3 shows that the membership values in the fuzzy relation do not take account of which elements of the pattern were conditional

Indirect adaptive fuzzy controllers

59

In the example above the patterns consisted of three fuzzy sets, input, output and output derivative. Using the autoassociative memory properties of the relation, any two of these values can be supplied to recall the third element of the pattern. In chapter 3 the output of this process was always assumed to be an output derivative prediction. For model causality inversion the required output derivative is supplied and the process input value to achieve this is the third element of the pattern to be recalled.

Example For a demonstration of fuzzy relation inversion using this technique, consider the simple 2{dimensional modelling example of section 3.3. In this example a fuzzy relation was produced from observations of input, u, and output, y, of a non{linear function:

y = u2

(5.5)

Using the same model identi cation procedure as in the earlier test, 50 input/output observations were presented during a learning phase | all inputs were in the range [0:0; 10:0]. At the end of this learning phase the error between the actual function and the fuzzy model prediction is small, see gure 5.1. Using the technique of inversion via composition we can also ask the fuzzy model which inputs would be required to cause a given output | in this zero order case this should yield the algebraic inverse of the function, ie u = py (5.6) A comparison of the fuzzy model inversion with the expected function is given in gure 5.2. The largest errors occur where the gradient of the original function is very low and hence the sensitivity of the inverse is very high.

Indirect adaptive fuzzy controllers

Figure 5.1: Simple inverse example, recall of non{linear function

Figure 5.2: Simple inverse example, recall of the inverse function

60

Indirect adaptive fuzzy controllers

61

Figure 5.3: Typical plot of predicted y_ (t + T ) for a partial rule case

5.2.2 Causality inversion via prediction A second method for calculating the relation causality inverse is also considered. Chapter 3 demonstrated how to use a relation matrix as a predictor by using the composition operator, , see equation 3.14. Using this composition, a prediction for y_ i(t + T ) can be made for several possible values of ui (t) | a prediction from every possible rule is obtained by centring these ui 's on the discretisation points. Figure 5.3 shows a typical plot of predicted y_ (t + T ) against u(t) for a partial rule case. The causality inverse is given by the value for u(t) for which the y_ (t + T ) prediction intersects the desired value for this variable. This can be calculated through a set of rules: 1. If one cross{over point occurs, use linear interpolation between the data points. 2. If more than one or no cross{over occurs then use a least squares best t line to estimate a cross{over. 3. If no rules for y_ (t + T ) exist then choose u(t) at random. As illustrated by gure 5.3, this technique works well for partial rule situations due to the extrapolation which takes place when no cross{over points occur. The signi cance of this to the controller is discussed later in this chapter when controller implementation is considered.

Indirect adaptive fuzzy controllers

62

Figure 5.4: Closed loop controller and desired performance

5.3 Controller design theory Consider a system with input u, output y and an input/output relationship given by the fuzzy relation G. The input and output at a given time t, y(t) and u(t), can be used to predict a new output at some time T in the future, y(t + T ) using the composition operator :   y(t + T ) = G  u(t)  y(t) (5.7) A command signal d(t) (usually considered to be a demanded value for output) is available and the desired response between d(t) and output y(t) is given by the desired performance fuzzy relation P : 

y(t + T ) = P  d(t)  y(t)



(5.8)

The task proposed here is to design a feedback controller such that the closed loop response is equivalent to the desired response. This is directly related to the algebraic model reference controller design approach.

Indirect adaptive fuzzy controllers

63

Figure 5.5: Controller internal structure The closed loop structure and the desired response model are represented in gure 5.4. Using this structure the controller is described by a fuzzy relation C which maps a given demand d(t) and output y(t) to a control action u(t) via the composition: 

u(t) = C  d(t)  y(t)



(5.9)

Combining the process description in equation 5.7 with the controller description in equation 5.9 leads to the closed loop response given by: (



y(t + T ) = G  y(t)  C  d(t)  y(t)

)

(5.10)

Comparing the achieved closed loop response, above, with the desired response, in equation 5.8, it is clear that the controller required is a solution to: 



(



P  d(t)  y(t) = G  y(t)  C  d(t)  y(t)

)

(5.11)

Assuming that an inverse relation G?1 exists which performs the inverse causality mapping as discussed in the previous section, then:

C





d(t)  y(t) = G?1 

(



y(t)  P  d(t)  y(t)

This suggests a controller structure as given in gure 5.5.

)

(5.12)

Indirect adaptive fuzzy controllers

64

5.4 Static Rule{based Controller Design Example An autonomous land vehicle is to be regulated to the centre of a corridor of free space whilst travelling at a constant forward velocity, gure 5.6. The measured distance to the corridor centreline, y, and its derivative, y_ are fed to a fuzzy controller whose objective is to regulate both y and y_ to zero. A single manipulated variable, u, is generated by the controller and passed to the vehicle which responds by achieving a new value of y. It is assumed the the vehicle block, as illustrated in gure 5.6, contains a low-level controller which compensates for changing lateral dynamics | this could be a self-organising fuzzy controller for example, see Harris and Moore [36]. Observation of the vehicle response enabled the linguistic model in gure 5.7 to be produced. The design problem is to rst specify the desired response for the controller/vehicle combination and then design a fuzzy controller to achieve this response. From gure 5.7 the vehicle response is given by:

y = G  (y  y_  u)

(5.13)

and the fuzzy controller response is given by:

u = C  (y  y_ )

(5.14)

where y, y_ and y are linguistic variables | ie represented by fuzzy sets (y), (y_ ) and (y). and G and C are the fuzzy relations describing rule sets for vehicle and controller respective responses. The response of the vehicle/controller combination as given by combining the equations above is: 

y = G  y  y_  C  (y  y_ )



(5.15)

Using the same language de nitions we can specify the desired response in terms of a linguistic map, P , whose rules are generated to give a stable response in the fuzzy phase plane. Each rule in P has ve possible values which correspond to ve state trajectory directions. An estimated set of static rules can be displayed on the phase plane, it is relatively straightforward to modify the initial estimate to give a set of rules which, as in gure 5.8, give trajectories terminating at the explicit steady state zero from any initial condition in the phase plane diagram. Comparing the desired trajectory with the

Indirect adaptive fuzzy controllers

Figure 5.6: Autonomous Land Vehicle path regulator design problem

65

Indirect adaptive fuzzy controllers PL PS y_ ZE NS NL

PL PL PL PS ZE NL

ZE ZE PS PS ZE NS

ZE ZE ZE ZE ZE ZE

y

ZE NS NS ZE ZE PS

66

ZE NS NL NL NL PL

Table 5.1: Static regulator problem, controller response rules, u.



P  (y  y_ ) = G  y  y_  C  (y  y_ )



(5.16)

Which gives a desired controller response:

C  (y  y_ ) = G?1 



y  y_  P  (y  y_ )



(5.17)

A solution for the controller C can be found by testing each of the 25 combinations of y and y_ to nd the value of u which satisfy equation 5.17. Since there are 5 possible values for u this gives a total of 125 combinations to be tested. When multiple values of u are found to satisfy the above equation then the rule which results in minimum control e ort is used. The controller rules produced in this way are given by table 5.1.

Indirect adaptive fuzzy controllers

Figure 5.7: Static regulator problem, vehicle u to y achieved transfer function

67

Indirect adaptive fuzzy controllers

Figure 5.8: Static regulator problem, corridor regulator desired response rules.

68

Indirect adaptive fuzzy controllers

Figure 5.9: Static regulator problem, corridor regulator closed-loop simulation

69

Indirect adaptive fuzzy controllers

Figure 5.10: Expanded view of the steady state region in the previous gure

70

Indirect adaptive fuzzy controllers

71

Figure 5.11: Indirect adaptive fuzzy controller structure The resulting closed loop behaviour was found by simulation. The controller rules in table 5.1 were implemented as a nite discrete fuzzy relation. All intersection and logical AND's were implemented as a min operator, with union and logical OR's implemented as a max operator. The phase diagram of the resulting transient response for initial conditions yo = 3:0m and y_ o = 1:0ms?1 is shown in gure 5.9. Superimposed on this is the phase plane diagram of the desired response rules P . From this diagram it is clear that the controller has forced the closed loop response to match the desired response. The expanded central area of this phase plane diagram, in g 5.10, shows how the trajectory oscillates between two neighbouring rules, with opposing state directions, close to the steady state point. This undesirable behaviour is entirely predictable from the phase plot of the desired response rules. The phase diagram for the desired response rules could be used to remove the con ict between these two rules, this would result in a smoother response in this region of the phase plane.

5.5 Adaptive fuzzy controller If the adaptive fuzzy modelling procedure, described in chapter 3, is used to provide the model for the controller design, which is carried out on{line, then the result is an indirect adaptive fuzzy controller. Combining the controller structure in gure 5.5 with the adaptive model structure yields gure 5.11

Indirect adaptive fuzzy controllers

72

This structure contains two feedback loops | the controller loop and the model updating loop. The controller loop uses output observations to determine the required input value u(t) to achieve the desired response as speci ed by the performance relation P . The model updating loop uses input/output observations to adapt the process model used by the controller loop. The time constant of this second loop must be slow enough to prevent the model adapting to observation noise | this is set by the relation decay factor, or forgetting factor, discussed in chapter 3. This conforms to the standard interpretation of adaptive control with a fast inner feedback loop surrounded by a slower adaptation loop. The stability of both feedback loops must be considered. The stability of the model updating procedure was discussed in chapter 3, where it was shown that under certain conditions model convergence is guaranteed. The control loop stability is in uenced by both the inverse process model accuracy and the stability of the desired performance rule{set. Just as in the certainty equivalence principle of adaptive control, the controller design is based upon the assumption that the process model is accurate. The convergence of the desired rule{set is therefore of prime importance and can be analysed using the tools described in chapter 2 | as in the previous example.

5.6 Implementation of the adaptive controller Before an application example of the adaptive controller is presented, some implementation details will be discussed.

5.6.1 Model implementation The implementation of the adaptive fuzzy model must take account of the implementation details discussed in chapter 3. When considering the trade{o between memory size and accuracy it is important to realise that the accuracy of the model directly a ects the accuracy of the controlled output variable. The problems encountered due to very large memory requirements when high output accuracy is required can be alleviated by the use of nested and hybrid controllers | considered in the next chapter.

Indirect adaptive fuzzy controllers

73

The time constant of the model adaptation loop has also to be considered in relation to the controller sampling rate. Model adaptation should occur fast enough to track major changes in system dynamics but be slow enough to reject high frequency noise and allow the controller to compensate for small disturbances. The model updating rate is controlled by both the forgetting factor and the sampling rate of the updating mechanism. The updating mechanism can have sampling rate as high as that of the controller as long as the forgetting factor is selected to ensure that the model adaptation occurs signi cantly slower than the controller action.

5.6.2 Performance relation The performance relation is a fuzzy model of the desired response and as such exhibits the same kind of accuracy/memory requirement trade{o discussed in chapter 3. The accuracy of the performance relation directly a ects the accuracy which can be achieved for the controlled variable. Fortunately the performance relation can often be a fairly low order model and this alleviates the memory requirement problem. Second order performance relations are particularly useful since transient response and stability can be analysed using the extended phase plane. As in any model following/model matching approach, it is important to demand a performance that is physically achievable for the process. This does not tend to be a signi cant problem for fuzzy performance relation if the process model is designed correctly and the same universes are used for the de nition of performance relation rules. In this situation any demands made for desired output derivatives are constrained to be in the ranges observed from the real process.

5.6.3 Model causality inversion Two model causality inversion techniques have been presented. The rst used composition with the model relational matrix to implement an autoassociative memory whilst the second technique used the fuzzy model as a predictor to test the outcome of several possible input values and performed interpolation/extrapolation to determine the required value.

Indirect adaptive fuzzy controllers

74

The autoassociative memory technique is computationally ecient since it requires only one composition to be performed, as opposed to several compositions for the second technique. However, implementation experience has shown that the autoassociative memory inversion performs poorly in the presence of partial or con icting model data. The reason for this is the inability of the composition operation to output a value which has not yet been experienced. Since the controller determines which regions of the process are 'exercised', and hence experienced by the modelling process, a coupling between control and identi cation can emerge with the controller never 'teaching' its way out of partial rule situations. Although computationally more intensive, the predictor method has the ability to extrapolate from new observations based upon recent data trends. This feature ensures that the process is 'exercised' suciently enough to produce an accurate process model. The autoassociative memory technique performs well in situations where a good initial rule base is available and only small process parameter changes occur. In general, where little or no initial rule data exists or when large process changes are expected, the predictor inversion method gives improved performance.

5.6.4 One step ahead control When high controller sampling rates are required, the time needed to calculate the current control action may become signi cant relative to the sampling period. In this case improved performance can be achieved by calculating the process input required at the start of the next sampling period. This can be achieved by using the fuzzy predictor to estimate the process state one step ahead and using this estimate in the controller calculations. This calculated control action can then be applied immediately at the start of the next sample period.

Indirect adaptive fuzzy controllers

75

5.7 Adaptive controller application examples To highlight speci c features and to illustrate the operation of the indirect adaptive fuzzy controller three application examples are given. In the rst example second order linear and non{linear processes are combined with second order fuzzy indirect adaptive controllers; an ideal situation since the fuzzy model order matches the process order exactly. The following two examples are real control problems taken from the IFAC document Benchmark problems for control system design, 1990. This document describes a set of control problems and serves as a basis for comparing various control techniques. Regulation of a ship's heading demonstrates the operation of a second order rules structure fuzzy controller with a third order linear process. Since this method has been proposed as a way of controlling processes which are dicult to model, rule miss{match of this type is likely to occur. Uncertain process parameters are also considered in this example. The third example | Track control of a city bus | also has a rule order missmatch and time varying parameters.

5.7.1 Second order linear and non{linear processes Consider again the process which was the subject of the fuzzy modelling example in chapter 3. This was a single input, single output, second order linear process with input u(t) and output y(t). The modelling procedure demonstrated in chapter 3 now becomes the modelling/identi cation section of the adaptive controller in gure 5.11. Model causality inversion is performed by a predictor method with a least squares best t line routine for interpolation and extrapolation. The performance relation rules are speci ed in terms of an output error signal, e(t), which is calculated from the demand, d(t), and the currently observed output value, y(t). The performance relation rules are of the form: Pi : IF ei (t) AND e_i (t) THEN ei (t)

Indirect adaptive fuzzy controllers

Figure 5.12: Second order process example, performance table language de nitions

PL PM PS e_ ZE NS NM NL

PL PL PL PL PL PL PL NL

ZE PM PM PM PL PL PL NM

NL NM PM PM PM PM PL NS

y

NL NM NM ZE PM PM PL ZE

NL NL NM NM NM PM PL PS

NL NL NL NM NM NM ZE PM

Table 5.2: Performance rules for e(t)

NL NL NL NL NL NL NL PL

76

Indirect adaptive fuzzy controllers

77

Figure 5.13: Second order process example, phase plane plot of the performance relation response

Indirect adaptive fuzzy controllers

78

where Pi is a particular rule and ei (t), e_ i (t) and ei (t) are fuzzy sets on the respective universes e(t), e_ (t) and e(t). The fuzzy sets were members of the languages de ned in gure 5.12 and the discretisation used to form the fuzzy relation was identical to that for the corresponding variable in the modelling routine, ie e(t) [?10:0; 10:0] with 11 discretisation levels, e_(t) [?20:0; 20:0] with 11 discretisation levels and e(t) [?150:0; 150:0] with 15 discretisation levels. The actual rules used for the performance relation are given in table 5.2 and were selected to give a fast regulation to zero error in the extended phase plane | see gure 5.13. The performance rules output a required second derivative of error which, if achieved, produces the error response shown in gure 5.13. The controller assumes that e(t) is equivalent to y(t) | ie d(t) is zero | and passes this value to the inverse causality model to calculate the required control action. The controller sampling rate is determined by considering the maximum output frequency expected to be observed. Since only approximate process knowledge is assumed then all of the controller sampling rates used in this document are relatively high to represent the margin of error which would in general have to be considered. A new control action, in this example, is calculated at a rate of 10Hz, this is identical to the model updating frequency. A forgetting factor of 0:9 ensures that the model adaptation occurs slower than the controller response and a model delay of 0:1 seconds ensures that each output observation is linked with the previous control input in the causality mapping. All observations were assumed to be made as scalar values; these were turned into fuzzy values by forming triangular fuzzy sets centred on the measurement | the width of the triangular sets being twice the discretisation step (a trade o between generalisation and precision, cf. section 3.5). The fuzzy set output of the controller was turned into a scalar value using mean of area defuzzi cation. To simulate the presence of actuator constraints the maximum rate at which the manipulated variable could change was limited to 10:0 units per second. MIN and MAX operators were used throughout for intersection and union (and logical AND and OR).

Simulation one | linear system In the initial controller simulation the second order linear process had a damping ratio of 0:2 and an undamped natural frequency of 4:4 rad s?1 .The fuzzy relation modelling the

Indirect adaptive fuzzy controllers

79

The controller was fed a series of step demands over a period of 120 seconds (simulated time). After 100 seconds (simulated time) the process damping ratio was changed suddenly from 0:2 to 0:0 to test the stability of the controller during model adaptation. The closed loop transient response achieved during this simulation is shown in gure 5.14 The results of this rst simulation demonstrate fast initial convergence of the controller rule base (due directly to the fast initial convergence of the fuzzy model described earlier) and the ability to adapt to large and unknown parametric variations in process dynamics. The limited amount of a priori process knowledge required is also a major consideration, when compared with algebraic control techniques, since many real processes are too complex for accurate algebraic models to be formed.

Simulation two | non{linear system A second simulation was carried out to demonstrate the ability to control processes with stationary non{linearities. The modelling/identi cation procedure and controller were identical to those used in the rst simulation. The only change is the addition of a backlash non{linearity on the controlled variable u(t), see gure 5.15. Once again, no initial knowledge of the process dynamics was assumed as the fuzzy relation which modelled the process was empty at the start of the simulation.

Indirect adaptive fuzzy controllers

80

Figure 5.14: Second order process example, output response for simulation one, linear process

Indirect adaptive fuzzy controllers

81

Figure 5.15: Second order process example, non{linear process for simulation two

Figure 5.16: Second order process example, output response for simulation two, process

Indirect adaptive fuzzy controllers

82

The simulation consisted of a series of step input demands which were fed to the controller over a period of 80 seconds (simulated time). The closed loop transient response for this second simulation is shown in gure 5.16. This second simulation (see gure 5.16) demonstrates the ability to adapt to stationary loop non{linearities. Once again this feature stems from the ability of the fuzzy modelling routine to identify model structure as well as process parameters as demonstrated in chapter 3. Note that controller is identical to that used in the linear case | thus such a controller, designed and tested in simulation with a linear process model is relatively insensitive to certain unmodelled non{linearities. This feature is to be expected since no linearity assumptions were made during controller design, although certain non{linearities will increase the e ective process order to the point where the fuzzy model can no longer make accurate predictions and the technique will fail.

5.7.2 Regulation of a ship's heading It is desired to regulate the heading of a ship1 to some pre{de ned course whilst observing constraints on actuator signals. The linearised model of a ship moving under constant velocity is described as follows:

x_ = Ax + bu y = cx where

u y x x1 x2 x3

= = = = = =

(5.18)

rudder angle (radians) heading angle of ship (radians) (x1 ; x2 ; x3 )T lateral velocity of ship (ms?1 ) turning yaw rate (radians s?1 ) heading angle of ship (radians)

The structure of A, b and c is given by: 2 a11 a12 0 3 b1 3 A = 4 a21 a22 0 5, b = 4 b2 5, c = [ 0 0 1 ] 2

0

1

0

0

and the parameters are given for two di erent ship con gurations by the following (note that the units have been normalised against ship length and time to travel its own length | hence ship length and speed are also given):

Indirect adaptive fuzzy controllers length speed

a11 a12 a21 a22 b1 b2

83

Cargo #1 Cargo #2 160 161 15.2 15.0 ?0:895 ?0:770 ?0:286 ?0:335 ?4:367 ?3:394 ?0:918 ?1:627 0:108 0:170 ?0:918 ?1:627

It is desired to nd a controller for the system to regulate the heading angle of the ship to zero (relative to some desired heading angle yref ), such that the following constraints are satis ed: 1. no overshoot occurs in the output response of y. 2. the rudder motion is constrained

jjujj  40

(5.19)

3. the rate of rudder motion is constrained

jju_ jj  10 s?

1

(5.20)

An indirect adaptive fuzzy controller was designed to solve the above problem and tested in simulation. Note that the ship model described above was used only during the simulation tests and not during controller design. A second order rule structure was used once again, as in the previous example, with the ranges on each variable being selected by considering the expected observable values taking into account the performance speci cation. Due to the relatively slow dynamics of the system a sampling rate of 1hz was selected | this would enable a large fuzzy relation to be used since 1 second would be available for control action computation. Each universe therefore had 21 discretisation levels with the ranges: input (rudder angle) u ?0:3rad to 0:3rad output (heading angle) y ?0:05rad to 0:05rad output derivative y_ ?0:003rads?1 to 0:003rads?1 output second derivative y ?0:0003rads?2 to 0:0003rads?2 A hard limit of 10 s?1 was placed on the control action. A forgetting factor of 0:9 and an update threshold  = 0:4 were used. The desired performance was a linear second order process with an undamped natural frequency of 0:1rads?1 and a damping ratio of 1:0. In this example a product operator was used for intersection and logical AND, the

Indirect adaptive fuzzy controllers

84

For comparison, a three term controller was also designed. The controller parameters were selected to place the closed loop poles to give a dominant complex conjugate pair which achieve the same speed of response as the fuzzy controller, with no overshoot, and a real pole at ?2:0 to have little e ect on the dynamics. The controller required to achieve this performance was found to have the following form:

u = Kp e + Kd e_ + Kdd e

(5.21)

where e is the di erence between measured and desired heading. The controller parameters used to achieve the desired pole placement for ship case Cargo #1 are kp = ?7:42, Kd = 53:1785 and Kdd = 104:33. The simulation tests consisted of a series of small step demands in ship heading about a straight path under various measurement noise and disturbance conditions. To compare fuzzy controller performance with the linear three{term controller the integral of squared error between desired and achieved heading was evaluated for each run. For the initial tests the parameters for ship case Cargo #1 were used for all simulations. The heading angle and yaw rate are assumed to be the only measured variables.

No noise, no disturbance The rst simulation test compared the performance of the controllers under ideal conditions of no measurement noise and no external disturbances. The results are shown in gure 5.17. As expected, under perfect conditions the PID controller achieved a smooth response with negligible overshoot as required by the performance speci cation. The fuzzy controller was run initially with no knowledge of the system dynamics and then for a second time with knowledge of the rst run. Note that the second run achieves a performance with a similar response to the linear controller but with a reduced output accuracy.

Measurement noise, no disturbance The second simulation test was similar to the rst but with additive measurement noise. The results in gure 5.18 show the magnitude of the noise on the same scale as the measurement to which it is added. All other conditions remain the same as the previous run.

Indirect adaptive fuzzy controllers

Three{term controller

Fuzzy controller, run 1

Fuzzy controller, run 2 Figure 5.17: Linear ship, perfect conditions

85

Indirect adaptive fuzzy controllers

86

The results show that both techniques perform similarly in the presence of measurement noise. As expected the set point accuracy of the linear controller is degraded slightly when compared to the perfect case | perhaps not so obvious is the improvement in set point accuracy of the fuzzy controller when measurement noise is present. This is caused by the additional signal helping to 'exercise' the system over a larger and more evenly distributed operating region and hence improving the fuzzy model formation. The integral of squared error (ISE) values for these runs are now very similar; linear controller { 0:0293, fuzzy run 1 { 0:0303, fuzzy run 2 { 0:0305.

Measurement noise and external disturbance The next simulation test is identical to the previous test with the addition of an external disturbance signal. A step input disturbance, as given in gure 5.20, was added to the lateral (sway) velocity of the ship. This represents changing lateral motion of the water through which the ship is sailing. The results are given in gure 5.19. Note that the disturbance has a much smaller e ect on heading output for the fuzzy controller. This is con rmed by the ISE values of 0:0343 for the linear controller compared with 0:0328 and 0:0336 for run 1 and 2 respectively of the fuzzy controller. The reason for the improved performance is the ability of the fuzzy controller to adapt its model of the ship to incorporate the e ect of the disturbance at the same time as using feedback action to reduce the output error caused.

Measurement noise, external disturbance and parameter uncertainty In this simulation there is a mismatch between the ship parameters used for controller design and those used during the simulations. The controllers are both designed for operating point Cargo #2 but simulated operating with ship parameters Cargo #1 and Cargo #2. The measurement noise and external disturbance are identical to the the last example.

Indirect adaptive fuzzy controllers

Three{term controller

Fuzzy controller, run 1

Fuzzy controller, run 2

87

Indirect adaptive fuzzy controllers

Three{term controller

Fuzzy controller, run 1

Fuzzy controller, run 2

88

Indirect adaptive fuzzy controllers

89

Figure 5.20: Linear ship, lateral velocity disturbance Figure 5.21 shows the results for the linear controller. When operating with the parameters for Cargo #2 the results are similar to the previous test, with an ISE value of 0:0346 | this is to be expected since the controller was designed for this operating point. When the same controller is run with the parameters for Cargo #1, an operating point perteurbed from the controller design point, the performance degrades drastically, with an ISE of 0:04307. Figure 5.22 shows the results for the fuzzy controller. Although designed to operate at Cargo #2, no precise system knowledge was used in the controller design and therefore the fuzzy controller used was identical in both cases. Operating at Cargo #1 the controller achieves an ISE of 0:0328 and at Cargo #2 an ISE of 0:0297. This demonstrates how a good performance can be achieved without precise system knowledge over a range of operating conditions via controller adaptation.

Indirect adaptive fuzzy controllers

Three{term controller, Cargo #1

Three{term controller, Cargo #2 Figure 5.21: Linear ship, with measurement noise, external disturbance

90

Indirect adaptive fuzzy controllers

Fuzzy controller, Cargo #1

Fuzzy controller, Cargo #2 Figure 5.22: Linear ship, with measurement noise, external disturbance

91

Indirect adaptive fuzzy controllers

92

Fuzzy controller Figure 5.23: Non{linear ship with measurement noise

Non{linear ship example. In the same source document for this problem a non{linear extension to the ship model is suggested. The rst di erential equation is modi ed to give:

x_ 1 = a11x1 + a12 x2 + cx1 jx1 j + b1u

(5.22)

where c = 0:7. Using this modi cation and the ship parameters for case Cargo #1 a further set of simulation runs were carried out | this time with additive measurement noise but without the external disturbance. Under these conditions the linear controller used previously (with exact parameters at the design phase but assuming a linear model) gave an unstable response. The fuzzy controller used in the previous tests gave the stable response shown in gure 5.23.

Indirect adaptive fuzzy controllers

93

5.7.3 Track control of a city bus It is desired to control the lateral motion of a city bus2 such that the bus follows an electromagnetic track imbedded in the street. The bus's mass and speed and the road surface conditions are time{varying parameters which are not measured but have a great in uence on the process dynamics. A linearised model for the motion of the bus is given by:

x_ = A(q1 ; q2)x + bu y = cx where

u y x x1 x2 x3 x4 x5 q1 q2

= = = = = = = = = =

(5.23)

input to steering actuator (rad) lateral displacement of front sensor (m) (x1 ; x2 ; x3 ; x4 ; x5 )T sideslip angle at centre of gravity (rad) yaw angle rate rate (rad s?1 ) deviation of centre of bus from track (m) yaw angle (rad) steering actuator (m) reciprocal of bus velocity (1=v) (s/m) ratio of friction coecient and mass of bus (=m)

The structure of A, b and c is given by: 0 a11 a12 0 0 a15 6 7 6 7 a22 0 0 a25 7 607 6 a21 A = 666 1=q1 0 0 1=q1 0 777, b = 666 0 777, c = [ 0 0 1 lS 0 ] 2

4

where a1 1 a1 2 a2 1 a2 2 a1 5 a2 5

= = = = = =

0 0

1 0

0 0

0 0

0 0

3

2

5

4

3

05 1

?2q q (F + R ) ?1 ? 2q q (F lF ? R lR ) ?2q (F lF ? R lR)=c ?2q q (F lF + R lR)=c 1 2

2 1 2

2

1 2

2

2

2q1 q2 F 2q2 F lF =c

and the constant parameters of the vehicle are given by: 2

The source of this problem is the IFAC document Benchmark problems for control system design, 1990

Indirect adaptive fuzzy controllers

lS lF lR F R c

= = = = = =

distance from front sensor to centre of mass distance of front axle from centre of mass distance of rear axle from centre of mass lateral force coecient front wheels ( = 1:0) lateral force coecient rear wheels ( = 1:0) ratio =m, where  is the moment of inertia about a vertical axis and m is bus mass

94

= 6:12 m = 3:67 m = 1:93 m = 99 kN/rad = 235 kN/rad = 10:86 m2

Uncertain operating conditions of the vehicle are given as follows: 0:5 (wet road)    1 (dry road) 9:95 tons  m  16 tons 1ms?1  v  20ms?1 The aim of the regulator is to reduce the error, e, given by: e = y ? ytrack (5.24) to zero, where y is the lateral displacement of the front sensor and ytrack is the lateral displacement of the track from some reference axis. Typical situations, quoted in the source document, are the cases of switching on the automatic steering with a lateral displacement of 0:15m present and transition from a straight to a curved track of constant radius 400m. For passenger comfort the natural frequency of the motion should not exceed 1.2 Hz. The steering angle is limited by: j j  40 (5.25) and its rate by: j _ j  23 =s (5.26) Once again an indirect adaptive fuzzy controller was designed to achieve the stated objectives. Initial attempts to control this system with a second order rule structure controller gave unacceptable performance since the dynamics exhibited signi cant higher order e ects which could not be modelled by the predictor. A third order rule structure was therefore used for the predictor | this is a simple progression from the second order case with one higher derivative term being included in the predictor rules. Once again the controller was designed without detailed knowledge of the system, the universe ranges on each fuzzy variable were selected by considering physical limits as well as desired performance. The variables used and their corresponding ranges are:

y, displacement of front sensor y_ y

[?0:5, 0:5] [?0:5, 0:5] [?4:0, 4:0]

m 15 levels ms?1 15 levels ms?2 15 levels

Indirect adaptive fuzzy controllers

95

Other controller parameters were: forgetting factor 0.8, update threshold 0.2, controller sampling rate 50Hz. The desired performance was speci ed in terms of a third order linear system with a real pole at ?20:0 and a complex conjugate pair with a natural frequency of 2:0rad s?1 and a damping ratio of 0:9. MIN and MAX operators were used once again in this example to implement intersection and union (AND and OR).

Initial learning With a higher order predictor structure and a large fuzzy relation an initial learning period was required to exercise the system and initialise the rule{base. The operating condition parameters were held constant at  = 1:0, mass = 11000Kg, v = 5ms?1 . A series of step demands for track o set (0.15 m either side of centre) were then fed to the controller over 30 seconds of simulated time. This was carried out three times with the improving transient response shown in gure 5.24.

Constant parameter test For the simulation tests, the case of a transition from a straight to a curved track (radius 400m) was used. The plot for ytrack is given in gure 5.25. To combine two typical situations quoted in the source document, the bus was started with an initial track o set of 0.15 m. With the operating parameters xed at  = 1:0, mass = 11000Kg, v = 5ms?1 and, the fuzzy relation initialised as described above, the bus trajectory is shown in gure 5.26.

Variable parameter test A more realistic test was then carried out which consisted of two constant acceleration/deceleration phases with a change of bus mass and frictional coecient. The track geometry and test conditions are identical to those above. The rst acceleration phase starts with a bus mass of 11000Kg, a frictional coecient of 1:0, and an initial velocity of 5ms?1 . The bus then accelerates steadily up to 15m s?1 as it follows the test track. In the second simulation the initial velocity of 15m s?1 steadily reduces to 5ms?1 as the bus follows the same track. The mass is then increased to 12000Kg (to represent an increased payload) and the frictional coecient is reduced to 0:6 (to represent wet road surface conditions). An identical acceleration/deceleration phase then takes place. The results of the rst and second phases are shown in gures 5.27 and 5.28 respectively.

Indirect adaptive fuzzy controllers

Run 1

Run 2

Run 3 Figure 5.24: City bus, learning phase for fuzzy controller

96

Indirect adaptive fuzzy controllers

Figure 5.25: City bus, track geometry ytrack

Figure 5.26: City bus, xed parameter test simulation

97

Indirect adaptive fuzzy controllers

98

Note that in all of the above simulations the fuzzy relation from the previous run was always used as the initial knowledge base for the next run.

5.8 Chapter Summary This chapter has discussed the use of fuzzy model causality inversion for controller design. Combining this with the extended phase plane analysis of chapter 4 yields a fuzzy controller design procedure. One of the advantages of this design procedure is that it is suciently rigorous to be automated. Combining this on{line controller design process with the model identi cation procedure described in chapter 3 an indirect adaptive fuzzy controller has been produced. As well as discussing the theory behind such a controller, this chapter has also considered application issues and has presented some demonstration examples. The simulations for each example highlight some of the important features of this technique:

 The simple second order system example

{ Ability to control systems with little a priori process knowledge { Fast adaptation to large, unknown parametric variations in process dynamics { Control of systems with stationary non{linearities  The ship heading regulation example (IFAC benchmark test)

{ Operation with mismatch between process order and rule structure. In this case a third order system and a second order rule{structure controller. { Noise rejection { Disturbance rejection { Control of systems with stationary non{linearities

 The track control of a city bus example (IFAC benchmark test)

{ Operation with mismatch between process order and rule structure. In this case a fth order system and a third order rule{structure controller. { Adaptation to, unmeasured, time{varying parameters

Indirect adaptive fuzzy controllers

Acceleration

Deceleration Figure 5.27: City bus, initial parameters, mass = 11000Kg,  = 1:0

99

Indirect adaptive fuzzy controllers

Acceleration

Deceleration Figure 5.28: City bus, new parameters, mass = 12000Kg,  = 0:6

100

Indirect adaptive fuzzy controllers

101

The experience gained whilst applying the controller to these problems has given a good insight into the e ectiveness of this technique. Several features of particular interest are considered below:

Reduced process modelling requirements This is a major advantage in situations where process complexity makes precise modelling dicult. In the introductory chapter, a trade{o between model precision and model signi cance (relevance to the system being modelled) was identi ed for very complex processes. Since most control techniques require precise algebraic models for design purposes, it is clear that design becomes dicult, or overly conservative, as process complexity increases. The indirect adaptive fuzzy technique helps to relieve this problem by removing the need for precise a priori process models. Note that a process model is still required, but the emphasis is on qualitative information rather than precise algebraic modelling. Typical ranges on each variable need to be known in order to construct the fuzzy relation. The rule structure must be chosen with some knowledge of the system 'order', and the measurement noise must be taken into account when selecting model (and hence controller) adaptation speed. None of these need to be known precisely, but there are limitations to the tolerances in these terms. A good example of this is the 'city bus' controller described above. The actual model used for the simulations was fth order algebraic, yet the controller design assumed a third order rule structure and still managed to achieve acceptable closed loop response. A controller design based upon a second order process assumption however achieved a poor closed loop response. The reason for this being that the model had three dominant poles in it's characteristic function and two poles of lessor signi cance | hence a third order assumption proved to be acceptable since it allowed all of the signi cant dynamic e ects to be modelled.

Adaptation to parametric changes. Both continuous and discontinuous process parameter changes can be tracked. This could be caused by a sudden process failure or a normal range of operating conditions. Once again the 'city bus' example demonstrated the use of this property, as the controller adapted to changing vehicle speed, mass and road surface conditions. Smooth changes in speed occurred as well as sudden changes in vehicle mass and road surface conditions.

Indirect adaptive fuzzy controllers

102

Note that this approach is not suggested as an alternative to gain scheduled controller parameters, however gain scheduling would have been unsuitable in this situation since the original problem description stated that vehicle speed was an unmeasured parameter. If these variable parameters were measured, gain scheduling may provide better solution. In many situations however, such parameters are dicult to measure with any certainty.

Improved design procedures. Closed loop response can be designed without the need for ad hoc procedures which are characteristic of many fuzzy controller designs. A good demonstration of this is provided by the 'ships heading' example, where both a fuzzy controller and a three term linear controller are designed to achieve similar transient response. The simulations show how both controllers achieved a similar response without the need for the iterative parameter selecting/testing which often occurs in fuzzy controller implementations. During the implementation of this controller, some restrictions and disadvantages have also been identi ed, these are described below:

Exponentially increasing memory requirements. In the description of the 'city bus' example, it was stated that it is relatively simple to extend the rule structure of the predictor/controller to higher orders; a third order rule structure was used for this example as opposed to the second order structure used in the previous examples. Although the extension of the algorithms is trivial in this situation, the e ect on computational requirements for implementation is signi cant. A second order fuzzy predictor can be described by a fuzzy relation in four dimensions, ie input, output and rst and second derivatives of output. If the universe on each variable has m discretisation levels then the number of elements in the fuzzy relational matrix is m4 . Increasing the order of the rule structure increases the number of relational elements exponentially, ie a third order rule structure requires m5 relation elements.

Indirect adaptive fuzzy controllers

103

This has an e ect, not only on memory requirements, but on computational processing power since the relational matrix must be inverted during each sample period. Thus the sample time and the processing power/memory available determine the maximum predictor order for any given implementation. This problem would become particularly acute if multivariable systems were considered. One possible area of future work could be to look at data compression for the fuzzy relation, or coarse representation of membership functions. A parallel implementation (already demonstrated for the direct adaptive fuzzy controller, see Linkens [52]) could also be considered as a means of increasing sampling rates for large order systems.

Problems with non{minimal phase processes. Application of this controller to non{minimal phase systems proved unsuccessful. This, however, is not peculiar to this controller as many control techniques also have problems with such systems. It must be noted as a failure of the technique since our original aim was to control processes with little a priori knowledge of dynamics; we now have to introduce the restriction that the process is known to not be of the non{minimal phase type. A further restriction is that time{varying process parameters can only be tracked as long as the transmission zeros (steady state behavior) remain stable. Control of non{minimal phase systems could be achieved by pre{compensation via, for example, a phase advance network. If migrating process zeros are suspected, the parameters of the phase advance network could be altered, based upon input/output signal observations, possibly via a set of static fuzzy rules. The indirect adaptive fuzzy controller could then be used with the combined process/phase advance system.

Loss of output accuracy. Another disadvantage of this technique is the loss of output accuracy, with output response converging to a region of the phase plane around the demanded point. For many applications, sucient output accuracy may be obtained simply by the correct choice of discretisation on the controller universes | especially in cases where the ability to adapt to sudden process parametric changes is more important than absolute output accuracy. In cases where greater accuracy is required nested and hybrid controllers, the subject of the next chapter, could be used.

Chapter 6

Nested and hybrid controllers 6.1 The need for hybrid and nested controllers The indirect adaptive fuzzy controller has been developed and demonstrated in the previous chapters. The technique has been shown to have certain advantages over conventional algebraic controllers | fast adaptation, little a priori process knowledge required and the ability to operate with stationary loop non{linearities. The major disadvantage of the technique is that approximations, introduced during discretisation and rule formation, cause the output to converge to a stable region of the phase around the desired point. Although the size of this region is controllable, via adjustment of the discretisation intervals, response within this region can often be oscillatory. Also, reduced discretisation intervals require larger memory for implementation and an increase in computational power requirements to achieve the same sample rates. For many applications the accuracy achieved by this technique alone may be sucient, but for applications which require a higher accuracy one solution is to use a nested controller. A nested controller switches to a second system ( ne controller) whenever the process output enters the convergent region of the phase plane. This ne controller could be a another adaptive fuzzy system or indeed any other technique. In Li and Lau 1988 [50], this technique was demonstrated by using two static rule{based fuzzy controllers, one for global control and a second, with rules nested inside the rst, for ne control. A similar system could easily be set up using the indirect adaptive fuzzy controllers discussed in the previous chapters.

Nested and hybrid controllers

105

When the ne controller is of a di erent type to the global controller the result is a hybrid nested system. In this chapter, an example of a nested controller is demonstrated | in this case a fuzzy/PID hybrid. The fact that the convergent region is small is used to justify linear approximations and an algebraic three{term (proportional, integral and derivative PID) controller is used. Since the global fuzzy controller is adaptive then the use of xed PID gains makes little sense, therefore the PID gains for the nested controller are determined on{line by linearising the adaptive fuzzy model.

6.2 Adaptive fuzzy controllers with PID ne control To implement the hybrid fuzzy/PID nested controller described above, three tasks have to be performed | identify a locally linear model for the convergent region, design a local controller and perform switching between the two methods.

6.2.1 Identi cation of localised linear model from fuzzy relation A second order linear model is assumed to be sucient to model the dynamics of the process within the convergent region and a second order fuzzy rule structure is also assumed. Consider a process with input u(t) and output y(t) for which we have constructed a fuzzy model with the second order rule structure: Ri : IF yi(t) AND y_i (t) AND ui (t) THEN yi (t) where yi (t), y_ i (t), yi(t) and ui (t) are the particular observed fuzzy values of y(t), y_ (t), y(t) and u(t) which form the rule Ri . The complete model, R, can be used to produce an extended phase plane diagram for any given value of u(t) | di erent values of u(t) leading to di erent convergent regions in the phase plane. For every convergent region for which a nested controller is required the extended phase plane diagram could be plotted. Our task here is to identify a linear model, of the form given by equation 6.1, which adequately represents the process within each of the convergent regions.

Nested and hybrid controllers

y0 + 2!ny_ 0 + !n2 y0 = !n2 u

106

(6.1)

For each of the phase plane plots u(t) is constant and therefore a simple change of variable, y(t) = y0 (t) ? yc, where yc is the centre of the convergent region, gives: When y_ = 0 then :and hence :Similarly, when y = 0 :and hence :-

y + 2!ny_ + !n2 y = 0

(6.2)

y + !n2 y = 0

(6.3)

s

!n = ?yy



y_ =0

(6.4)

y + 2!ny_ = 0

(6.5)

 = 2?! yy_ n y

(6.6)



=0

Using the fuzzy predictor, y can be estimated at several points for which y_ = 0 and a corresponding value for !n can be calculated using equation 6.4. Similarly, the fuzzy predictor can be used at several points for which y = 0 to estimate a value for y and hence to determine a value for  using equation 6.6. The points selected for these calculations should be spaced widely enough to access di erent areas of the rule{base | see gure 6.1. Any point for which no rules exist, in a partial rule situation, is then ignored. These estimates for the linear process parameters can then be averaged to give a single set of parameters. Hence the linear process parameters can be extracted from the model for the convergent region centred on y0 = yc. Using the fuzzy model these parameters could be calculated for other convergent regions.

6.2.2 Local PID controller design Once a second order, linearised, model of the process has been established, the PID gains for the nested controllers can be determined. The controller is introduced into the system as shown in gure 6.2. The open loop transfer function is given by:

Nested and hybrid controllers

107

Figure 6.1: Rules used in model parameter estimation

y(t) = !n2 (KI + KP s + KD s2 ) d(t) s(s2 + 2!n s + !n2 )

(6.7)

The characteristic equation for the closed loop is given by:

s3 + (2!n + !n2 KD )s2 + (!n2 + !n2 KP )s + !n2 KI = 0

(6.8)

Using the controller parameters KI , KP and KD we can place the poles of the closed loop system | a complex conjugate pair and a single real pole. If the desired complex poles are given by P and !P and the desired real pole is given RP then the required characteristic equation is:

s3 + (2P !P ? RP )s2 + (!P2 ? 2P !P RP )s ? RP !P2 = 0

(6.9)

Comparing terms in equations 6.8 and 6.9 leads to the following desired controller gains: 2 KI = ?R!P2!P n 2 ! ? 2P !P RP ? !n2 P KP = !n2 K = 2P !P ? RP ? 2!n

D

(6.10)

Nested and hybrid controllers

108

Figure 6.2: PID controller For each of the convergent regions we have an estimate of !n and  from the fuzzy model. Using equations 6.10 we can calculate the required PID controller gains to achieve the desired closed loop pole positions.

6.2.3 Switching criteria The operation of the fuzzy/PID hybrid controller is illustrated in gure 6.3. The two controllers exist in parallel with a decision block, similar to that used by Warick 89 [111], determining which controller is best suited to the current situation. In this case the task is a simple one with the PID controller being switched in whenever the membership grade of the plant output being within one of the convergent regions exceeds a given threshold, TPID . The PID parameters used are the ones determined for that particular region from the fuzzy model.

6.2.4 Simulation example The simulation method used to demonstrate this hybrid controller is identical to that used in the previous controller simulation tests in chapter 5. The additional PID controller is implemented using the digital PID z{plane approximation:

Nested and hybrid controllers

109

Figure 6.3: Interaction between the fuzzy adaptive controller and the PID controller

u(z) = K + KD (1 ? z ?1 ) + KI (1 + z ?1 ) P e(z) T 2(1 ? z ?1 )

(6.11)

where T is sample period. This provides the following di erence equation to enable the required change in process input, at discrete time k, to be calculated.

u(k) =

     K K T 2 K K T K D I D I D KP + T + 2 e(k) + 2 ? T ? KP e(k ? 1) + T e(k ? 2)



(6.12)

where e(k) is the error at interval k. The process to be controlled was a second order linear system with a damping ratio of 0:2 and an undamped natural frequency of 4:4rad s?1 . The closed loop required poles for the PID controller design were a given by P = 0:5, !P = 5rad s?1 and RP = ?4. The switching threshold for the decision block was TPID = 0:4. The PID controller parameters were updated at the same frequency as the model updating process, ie 10Hz. The controller parameters were estimated at six points, evenly distributed over the whole range, for both y_ = 0 and y = 0 and averaged.

Nested and hybrid controllers

Figure 6.4: Simulated output response for the fuzzy/PID hybrid

110

Nested and hybrid controllers

111

An 80 second simulation run subjected the closed loop controller/process combination to a series of step input demands. The initial fuzzy model contained no rules prior to this run and hence no estimated PID controller gains existed. The output transient response for this simulation run is shown in gure 6.4. The initial transient response of the output plot is due entirely to the fuzzy controller, which attempts to deliver the process output to the convergent region. The series of steps show how the transient response improves as controller learning takes place. The steady state errors which existed when the fuzzy controller operated alone have been removed by the addition of the PID ne controller. At 40 seconds into the run the estimated controller parameters were !n = 4:81rad s?1 and  = 0:188, which compare well with the actual process dynamics used for the simulation. As the fuzzy controller performance improves, the amount of time spent under this scheme reduces and the process output is delivered quickly (taking into account the simulated actuator limiting) into the convergent region where the PID controller takes over. The small step changes from 40 seconds onwards did not leave the convergent region and therefore were handled entirely by the PID controller. Only the larger step at 60 seconds caused the decision block to select the fuzzy controller. An enlarged region of the nal 20 seconds of this simulation is shown in gure 6.5. Apart from the initial 1:5 seconds of this plot the PID controller is selected. The response achieved had approximately 8% rst overshoot which compares well with the desired pole positions of !P = 5rad s?1 , P = 0:5 and RP = ?4.

Nested and hybrid controllers

112

Figure 6.5: Expanded view of the nal 20 seconds of the simulation

6.3 Chapter Summary The concept of nested controllers has been suggested as one method of increasing the output accuracy of the indirect adaptive fuzzy controller without incurring the problems caused by having very small discretisation steps. Although the nested controller could be a second fuzzy adaptive system, the fact that the convergent region is small is used to justify linearity assumptions within this region and an algebraic PID ne controller is used. Since this controller uses both algebraic and rule{based fuzzy components it has been referred to as a hybrid controller. Since the PID controller parameters are estimated from the adaptive fuzzy process model then the PID controller is also adaptive and inherits the convergence properties of the fuzzy predictor described in chapter 3. This example has been presented not just as a solution to the problem of increasing output accuracy but also as an example of how the fuzzy model can be used to infer facts about changing process dynamics. In the next chapter this feature is used to determine facts about changing vehicle dynamics when an indirect adaptive fuzzy controller is applied to the motion control problem for autonomous land vehicles.

Autonomous land vehicle case study .

Part Three Autonomous land vehicle case study

113

Chapter 7

Adaptive fuzzy controllers for vehicle motion control 7.1 Introduction In chapter one, the general problems of vehicle guidance and control were considered. Using the concept of task level decomposition the tasks of piloting and motion controller were identi ed. A control structure of this type is used to separate vehicle dependent and independent tasks by using the low level motion controller to remove many of the vehicle dependencies to give a consistent closed loop response over a wide range of operating conditions. The piloting level can then be designed independently of the lower levels to perform speci c tasks such as road following, ne positioning, convoy following etc.. In this chapter, the indirect adaptive fuzzy controller is applied to the motion control level of an autonomous vehicle. The properties of this controller make it an ideal choice for this application where a range of unmeasured parameters (vehicle payload, road surface conditions etc.) a ect vehicle dynamics. The controller is tested in simulation with a model representing an existing autonomous testbed vehicle.

Adaptive fuzzy controllers for vehicle motion control

115

Figure 7.1: Land vehicle application, lateral vehicle control loop

7.2 Vehicle model The lateral dynamics of conventionally steered road vehicle can be represented by the two degree of freedom planar bicycle model [21]: _ mv _ = (mv2 + cf lf ? cr lr ) v ? (Uf + Ur + cf + cr ) ? (Uf + cf ) _ IZ  = (cf lf ? cr lr ) ? (cf lf2 + cr lr2 ) v + (Uf lf + cf lf ) (7.1) where

m v IZ  cf , c r lf , lr Uf , U r

= = = = = = =

vehicle mass vehicle velocity moment of inertia of vehicle about vertical axis road/tyre friction coecient front and rear tyre side force coecients distance of front and rear wheels to centre of gravity front and rear circumferential force

The variables and represent the vehicle side slip angle and the vehicle heading in radians respectively. The control input to equation 7.1 is the steer angle of the front wheels, . The quantity v_ , the path curvature of the vehicle, was found to be a suitable quantity to control, the system being regarded as single input single output (SISO). The control loop in gure 7.1 was used for the simulation with measurement noise added to give a realistic test for the self{learning algorithms; this was a random value in the range [?0:002, +0:002]. The parameters used in the simulations are based on a real 3500kg testbed road vehicle, the MOD(UK) ROVA vehicle used by RARDE. The parameters, supplied by MOD

Adaptive fuzzy controllers for vehicle motion control

m lf lr cf cr  IZ

= = = = = = =

116

3500kg 2:23m 1:02m 50000 N/rad 120000 N/rad 0:7 12500 Kg m?1

The terms Uf and Ur represent the front and rear wheel circumferential forces which occur during acceleration and braking. Since the vehicle in question is rear wheel drive, the front circumferential force is assumed to be zero, Uf = 0, with all acceleration and deceleration being caused by manipulating Ur . In this chapter, although a variety of velocities are considered, all of the simulations are carried out at a constant velocity. This constraint of zero longitudinal acceleration allows us to set Ur = 0 for the duration of each simulation. The cross{coupling between lateral and longitudinal axes, which occurs via the term Ur , is used in the acceleration/deceleration tests in chapter 8. A steering actuator is modelled as a rst order lag with a time constant of 0:35 seconds. Actuator limits are also imposed such that jj  40 and j_ j  6 /s.

7.3 Controller design As described in chapter 5, the rst task is to consider the order of the rule structure for the fuzzy predictor. The examples in section 5.7 demonstrates how this decision is not critical by showing the e ects of process/predictor order mismatch. Since many real systems exhibit second order dominant e ects, then an initial design with a second order rule structure predictor is realistic. This xes the number of variables considered in the predictor, in this case steer input, path curvature output and the rst and second derivatives of path curvature. The ranges on each variable are determined from knowledge of the real system and the performance required | for example the steer input angle is limited by the steering geometry as given above and the path curvature output is limited by the turning circle of the vehicle. The rst and second derivatives of path curvature are then chosen by considering the speed of response required. For this particular case the ranges and discretisation in table 7.1 were used.

Adaptive fuzzy controllers for vehicle motion control

117

Variable Range No. of Discretisation levels Input  ?0:65, +0:65 rad 11 _ ? 1 Output v ?0:20, +0:20 rad m 11 @ ( _) ? 1 ?1 ?0:05, +0:05 rad m s 11 @t v @ 22 ( _ ) ?0:3, +0:3 rad m?1s?2 11 @t v Table 7.1: Land vehicle application, controller variables, ranges and discretisation A forgetting factor of 0:9 and a model update threshold of 0:4 were chosen. Fuzzy set formation on all variables used triangular sets of width 3 times the discretisation width ( a trade o between generalisation and precision of the controller, cf. section 3.5) and defuzzi cation was by centre of area. The desired performance was speci ed in terms of a linear second order system with a natural frequency of 5:0rad s?1 and a damping ratio of 0:7.

7.4 Simulation experiments To test the motion controller independently of the higher level guidance systems, a series of simulations were carried out with step signals for path curvature demands. In the next chapter the controller is tested with more realistic demand signals when the piloting level is added. The vehicle path curvature is assumed to be a measurable output of the system; in reality vehicle angular rate and speed would be sensed to calculate path curvature. A controller sampling rate of 10Hz was used, this was chosen to be high to represent a margin for error due to lack of a process dynamic model, and the vehicle simulation run at 100Hz.

7.4.1 Fixed parameter tests In the rst simulation, with a xed vehicle speed of 5ms?1 , the controller was subjected to a step demand signal. The maximum path curvature demand represented a radius of curvature of approximately 16m and a lateral acceleration of 0:16g. The transient response achieved, as well as the demand signal and the additive noise, is shown in gure 7.2. Note that the poor initial response is due to the fact that the fuzzy rule{base is empty at the start of this simulation. The fuzzy relation formed at the end of this simulation run was used as the initial fuzzy relation at the start of the next simulation.

Adaptive fuzzy controllers for vehicle motion control

118

Figure 7.2: Land vehicle application, xed vehicle speed of 5ms?1 A step change in driving conditions was then made with the vehicle speed increasing to 20ms?1 to simulate 'motorway' type driving. The demanded curvatures were changed to match these new conditions with a maximum path curvature demand corresponding to a radius of curvature of 125m and a lateral acceleration of 0:32g. The results of the second simulation are shown in gure 7.3, note that the additive noise is now very signi cant when compared to the measured signal. The closed loop system remains stable and achieves good transient response between varying demand levels, showing that the self{adaptive mechanism has responded to the change in conditions.

Adaptive fuzzy controllers for vehicle motion control

119

Figure 7.3: Land vehicle application, xed vehicle speed of 20ms?1

7.4.2 Time varying model parameters The next two simulation runs look at the e ects of time{varying model parameters. Both cases have fuzzy relations initialised by the rst simulation in gure 7.2 which was carried out at a vehicle speed of 5ms?1 . The vehicle speed and demand signal are changed to represent high speed driving as in gure 7.3. In addition to this the tyre/road surface friction coecient, , is changed during the simulations to represent changing road surface conditions. In the rst run, gure 7.4,  = 0:9 at t = 0 and linearly decays to  = 0:5 at t = 64 seconds. In the second, in gure 7.5,  = 0:9 at t = 0 and experiences a step change to  = 0:5 at t = 32 seconds. These two runs represent worse case conditions since: 1. No initial knowledge at this operating point. (Only previous knowledge was at v = 5ms?1 and  = 0:7 | parameters at the start of this run are v = 20ms?1 and  = 0:9) 2. Considerable measurement noise compared with the curvature signal. 3. Time{varying system parameters. Continuous variation in gure 7.4 and a step change in gure 7.5.

Adaptive fuzzy controllers for vehicle motion control

Figure 7.4: Land vehicle application, continuous change in frictional coecient

Figure 7.5: Land vehicle application, step change in frictional coecient

120

Adaptive fuzzy controllers for vehicle motion control

121

Figure 7.6: Land vehicle application, rst disturbance rejection case.

7.4.3 Disturbance rejection Another important property for the controller in this application is disturbance rejection. Many situations exist which give rise to disturbances for the lateral motion control loop such as cross winds and cambered roads. In these tests the task of the motion controller is to regulate the vehicle to a straight path, ie zero path curvature, in the presence of unmeasured external disturbances. Two cases are considered, in the rst the disturbance is simply an additive signal onto the achieved path curvature. This signal is initially zero, with a step increase to 0:002 rad m?1 at t = 32 seconds, returning to zero at t = 48 seconds. The achieved path curvature is shown in gure 7.6.

Adaptive fuzzy controllers for vehicle motion control

122

Figure 7.7: Land vehicle application, lateral side force disturbance rejection. A second, more realistic case is also considered, in which a lateral force perturbs the motion. Whilst the path curvature is regulated to zero a lateral force of 16000N was added at t = 32 seconds and then removed again at t = 48 seconds. The magnitude of this force is equivalent to the vehicle travelling across a 26 slope. The results are shown in gure 7.7.

7.5 Utilising predictor knowledge During run{time the self{learning predictor acquires considerable knowledge of the system's dynamics. As well as being used by the controller, this knowledge base could be used by other systems to make inferences about the process being controlled (such as its current health status). One such example of this is to use the acquired rule{base to parameterise a three term linear controller for nested ne control | this has been discussed in chapter 6. In this section another example is given to demonstrate how predictor knowledge can be used to infer current road surface conditions for the land vehicle motion control case.

Adaptive fuzzy controllers for vehicle motion control

123

Figure 7.8: Land vehicle application, typical plot of side force produced against

7.5.1 Cornering power estimation The cornering power of a vehicle (or a single wheel) [85], is a good measure of road surface/vehicle interaction and can be used to estimate the maximum lateral force available. A tyre produces a lateral force by running at a small angle relative to the road surface (the side slip angle ), the cornering power is de ned as the amount of side force produced per unit slip angle. Figure 7.8 shows a typical plot of side force against side slip angle. It can be seen that the cornering power (the slope of the graph in gure 7.8) is approximately constant up to = 5 and then begins to reduce as the maximum value of lateral side force is approached. The maximum side force available, which occurs in the non{linear region and is therefore seldom used, can be estimated from measurement of the cornering power at = 0. As the road surface conditions change the cornering power at = 0 and the maximum lateral force available also change, see gure 7.9. From the fuzzy predictor we can estimate the angular acceleration achieved, and hence the lateral force at the front wheels, for a given steering input whilst the vehicle is travelling on a straight path. From this we can estimate the cornering power of the vehicle. The actual scale of this parameter is not important, but any changes can be used to infer changes in road surface conditions which can then be supplied to higher levels of the guidance system such as the pilot.

Adaptive fuzzy controllers for vehicle motion control

124

Figure 7.9: Land vehicle application, typical plot of side force produced as  changes To demonstrate this, the cornering power was estimated during the simulation run shown in gure 7.5 in which a step change in frictional coecient, , occurs at t = 32 seconds. Figure 7.10 shows a plot of the frictional coecient actually used by the simulation as well as the cornering power estimated from the fuzzy predictor. It is clear from this plot that there is a strong correlation between these two parameters and that measurements of cornering power could be used to estimate current road surface conditions.

7.6 Chapter Summary The motion control task for an autonomous land vehicle was described, in chapter 1, as one of the major vehicle dependent on{board systems. It was therefore argued that there is a need for generic techniques which require only small amounts of customisation for particular vehicles with a minimal amount of vehicle modelling. Operation in unstructured environments will also cause variations (possibly unmeasured) in the parameters of the process being controlled and hence the need for adaptive or self{learning controllers.

Adaptive fuzzy controllers for vehicle motion control

125

Figure 7.10: Land vehicle application, cornering power simulation The indirect adaptive fuzzy controller has been developed in this thesis as one possible solution to this problem. In this chapter the controller has been applied to a particular autonomous vehicle (in simulation) and has satis ed the original requirements. By using a self{learning fuzzy predictor of the process the need for initial detailed modelling has been reduced and has allowed the controller to adapt to variations in vehicle parameters. The advantages of collecting knowledge relating to vehicle dynamics was also demonstrated by estimating the road surface conditions by on{line interrogation of the fuzzy relation describing the vehicle response. Such a controller ts in well with the now accepted hierarchical vehicle decomposition, since it can manipulate knowledge of the vehicle's dynamics, make inferences based on this data and report to other systems in the hierarchy. The curvature demand signals used to test the controller in this chapter were rather arti cial step demands. In reality these demands would be supplied by a local pilot in an attempt to achieve a particular vehicle motion such as road following, convoy following or ne positioning. To test the self{learning mechanism under realistic conditions a static rule{based fuzzy pilot is developed in the next chapter.

Chapter 8

Rule{based piloting for autonomous vehicles Rule{based systems have been proposed for speci c piloting tasks such as vehicle parking [53] [87]. Instead of planning an entire trajectory from an initial position to a nal goal this approach uses a set of rules which describe re ex actions to use in speci c circumstances. Thus the rules form an encoding of a pre{de ned trajectory for any given situation. One of the major advantages of this technique is that relatively complex tasks can be described by a few relatively simple rules, the parking example quoted above being a good example. Fuzzy logic provides a good method for implementation of such a rule{based pilot. The piloting system receives its commands from a local planner, whose task is to use knowledge of the local environment and mission knowledge to determine a desired vehicle path. The communication between local planner and pilot must be in terms of approximate paths since precise paths would require knowledge of the vehicles dynamics. One possible way of describing such a path is by using free space corridors. In this method the required waypoints are speci ed along with associated acceptable errors. This forms a set of linear free space corridors in which the pilot controls the vehicle with full autonomy. Free space corridors have been assumed as the demand to the piloting system in this chapter and appear to be very exible.

Rule{based piloting for autonomous vehicles

127

8.1 Decomposition of the piloting task The piloting system described in this thesis consists of two separate elements, the lateral and longitudinal pilots. The rationale behind this division can be understood by considering the tasks given to the two subsystems. The lateral pilot calculates the path curvature required at any given instant and hence determines the path along which the vehicle will travel. A good path along any set of connected linear corridors is one which has a low maximum path curvature demand whilst still keeping the vehicle within the corridors at all times. This produces a path with a low maximum lateral acceleration | the absolute value of lateral acceleration achieved depends on the current vehicle speed. Thus the task of the longitudinal pilot is to ensure that the vehicle does not exceed its lateral acceleration constraint by manipulating the speed demand.

8.2 Lateral Pilot A fuzzy logic implementation of the rule{based lateral pilot was chosen i) since the piloting actions, as seen by a human designer, can be described by the approximate terms used in fuzzy rule formation, ii) since fuzzy rule{based systems have proven noise rejection properties and iii) a fast implementation of a rule{based system can be achieved in this way. The lateral pilot consists of a fuzzy algorithm, a collection of fuzzy rules, whose output is the desired path curvature; variables such as distance to the centre of the corridor and heading angle relative to the corridor are used as inputs to this algorithm. The lateral pilot has been developed in three stages, each of which adds another feature by incorporating more input variables in the fuzzy algorithm. The rst stage of the lateral pilot is the linear corridor regulator.

8.2.1 Linear corridor regulator The linear corridor regulator forms the rst level of the lateral pilot; its task is to regulate the vehicle to the centre of a single linear corridor. A static rule{based fuzzy system is proposed to carry out this task since the low level controller will have removed the e ects of time{varying vehicle dynamics. The rule{structure for this system is based upon that used in a similar example in section 5.4 which demonstrated a static

Rule{based piloting for autonomous vehicles

128

Figure 8.1: Lateral pilot, variables used in the linear corridor regulator The rule structure used to achieve this task has two variables in the condition part, these being heading relative to the corridor and distance to the corridor centreline. The rule action, and hence the output of the lateral pilot, is the desired vehicle path curvature. A the ith rule is given by: IF (heading is Ai ) AND (o set distance is Bi ) THEN (desired curvature is Ci ) where heading is the vehicle heading relative to the corridor centreline, o set distance is the vehicle distance from the corridor centreline, and Ai , Bi and Ci are fuzzy sets on their respective universes

Rule{based piloting for autonomous vehicles

129

Figure 8.2: Lateral pilot, fuzzy set de nitions for linear regulator Since the width of the corridor is not known, the e ects of scale must be removed from the rules by non{dimensionalising the variables. The o set distance used in the rules is the actual distance to the centre of the corridor divided by the corridor width and the path curvature used in the rules is the actual vehicle path curvature multiplied by the corridor width. In both cases the corridor width used is the maximum available after the vehicle width has been subtracted. The condition variables are illustrated in gure 8.1 Once the rule structure has been determined the fuzzy sets used on each universe must be de ned. The number of sets used determines the complexity of the mapping which can be described. The fuzzy set de nitions, see gure 8.2, use non{linear set distribution to give a good range to the universe whilst keeping adequate sensitivity around zero. Although the mapping required by the corridor regulator is a simple one, seven fuzzy sets are used on the two condition variables and eleven on the desired path curvature output to enable more complex mappings to be described by the same languages in other parts of the lateral pilot. This gives a possible 49 rules each with 11 possible outcomes; the rule base used in this case, given in table 8.1, was found by the verbalisation technique [48], ie by describing the actions of a human driver in this rule format.

Rule{based piloting for autonomous vehicles PL PM PS Heading ZE NS NM NL

P5 P5 P5 P5 P4 ZE N3 NL

P5 P5 P3 P3 P5 P4 P2 P1 P4 P1 P1 ZE P1 ZE ZE ZE P1 ZE N1 N1 N1 N1 N2 N4 N3 N3 N3 N5 NM NS ZE PS O set distance

P3 P1 N1 N1 N4 N5 N5 PM

130

P3 ZE N4 N5 N5 N5 N5 PL

Table 8.1: Lateral pilot, corridor regulator rule{base To test this initial lateral piloting system a very simple simulation was used. The vehicle was modelled using point kinematics and curvature demands from the pilot were assumed to be achieved instantaneously. The simulations therefore show the track of the vehicle relative to a desired corridor for an ideal case. The e ects of vehicle dynamics on the piloting system are considered later in section 8.4. Figure 8.3 shows how the vehicle, whose initial starting point is outside of the desired region, is regulated to the centreline of a short linear corridor.

8.2.2 Path curvature feedforward for road following The rst piloting task, the linear corridor regulator, was capable of slaving the motion of the vehicle to the centre of a linear corridor only. A very simple extension of this, illustrated in gure 8.4, enables the vehicle to travel through corridors with small, constant (or very slowly varying), path curvatures. Corridors of this kind are characteristic of medium to high speed road following situations. The measured path curvature at a xed distance ahead of the vehicle (the look ahead distance) is added to the output of the corridor regulator described above. The look ahead distance for curvature measurement is discussed in section 8.4.

Rule{based piloting for autonomous vehicles

Figure 8.3: Lateral pilot, corridor regulator simulation

Figure 8.4: Lateral pilot, path curvature feed forward

131

Rule{based piloting for autonomous vehicles

132

Once again a simple simulation using point kinematics and ideal vehicle response is used to test the piloting system. The initial linear corridor of the previous simulation is now followed by a section of constant curvature. The results, showing the vehicle regulated to the centre of this corridor, are shown in gure 8.5.

8.2.3 Anticipatory piloting for connected sets of corridors The previous two sections dealt only with single corridors. When multiple, connected corridors are used the lateral pilot must anticipate the next corridor to produce a safe path with low maximum path curvature. A suitable path when approaching a corridor intersection is shown in gure 8.6. Such a path can be split into three distinct phases, dependent on the distance from the corner apex. The three phases and the corresponding pilot actions, for an intersection to the right, are: i) Distance to apex is 'far'

THEN Regulate vehicle to centreline ii) Distance to apex is 'medium' THEN Regulate vehicle to an o set left of the centreline iii) Distance to apex is 'close' THEN Constant curvature demand to the right The terms far, medium and close when applied to the measurement of distance from the corner apex are once again de ned by fuzzy sets. Since the action of the pilot as described above requires both knowledge of the angle of the next corner as well as the distance to the corner, two new condition variables must be introduced into the piloting rules. A typical ith rule is given by: (heading is Ai ) AND (o set distance is Bi ) AND (distance to apex is Ci ) AND (corner angle is Di ) THEN (desired curvature is Ei )

IF

Rule{based piloting for autonomous vehicles

Figure 8.6: Lateral pilot, desired path at a corridor intersection

Figure 8.7: Lateral pilot, fuzzy set de nitions for additional variables

133

Rule{based piloting for autonomous vehicles

134

Figure 8.8: Lateral pilot, corridor intersection simulation where Ai , Bi , Ci , Di and Ei are fuzzy sets on their respective universes The rule{base required to achieve the desired response can be found by extending the linear corridor regulator rules of table 8.1. When the distance to the corner apex is 'far' the rules used are identical to those of table 8.1. When the distance to the corner apex is 'medium' then the rules of table 8.1 are shifted such that the vehicle is regulated to an o set from the corridor centreline. In this case the magnitude of the o set is determined by the angle of the next corner and the direction (right or left of the centreline) is determined by the corner intersection angle. The nal condition, when the corner distance is 'close', requires a constant path curvature in the direction of the next intersection. As in the previous cases, the condition variables are non{dimensionalised against corridor width and vehicle speed; the distance to corner apex used in the rules is therefore the actual distance divided by the corridor width (taking vehicle width into account). The actual rule{base used for the simulation examples in this chapter is given in appendix C and the fuzzy set de nitions are given in gure 8.7.

Rule{based piloting for autonomous vehicles

135

Figure 8.9: Lateral pilot, connected linear corridor simulation Once again a computer simulation was used to test the lateral pilot independently by assuming ideal vehicle response. The corridor used in the previous examples is now closed with a 90 intersection. The path achieved by the simulation for this corridor is given in gure 8.8 and clearly illustrates the three phases of vehicle guidance approaching the intersection. A further simulation with a more complex set of linear free space corridors was used to illustrate the e ects of changing corridor width. Figures 8.9 and 8.10 show the simulated vehicle track for the vehicle using identical waypoints but di erent corridor widths. Note how the narrower corridor in gure 8.10 demands a tighter vehicle response with correspondingly higher maximum path curvature demands. It is the task of the longitudinal pilot to ensure that the current vehicle speed matches path curvature demands so that lateral acceleration limits are not exceeded.

8.3 Longitudinal pilot Since the lateral pilot has already determined the path to be followed by the vehicle, the longitudinal pilot must select the correct vehicle speed to suit this path. This task is one of satisfying vehicle constraints; lateral acceleration constraints determine the safe speed for each corridor intersection and longitudinal acceleration constraints determine the way in which the vehicle's speed is manipulated. The vehicle's longitudinal acceleration constraint acts as a trade{o to produce di erent types of driving since lower values tend to produce more fuel ecient trajectories at the expense of time.

Rule{based piloting for autonomous vehicles

136

Figure 8.10: Lateral pilot, e ect of corridor width on lateral pilot For a single linear corridor and ideal conditions the path curvature demand (after any initial transients) would be zero as the vehicle travels in a perfectly straight line. This implies that the vehicle cannot violate lateral acceleration constraints irrespective of vehicle speed. In reality there will always be a non{zero curvature demand due to path errors introduced by external disturbances and measurement inaccuracies. An implementation of this system would therefore assume that regulation is to within a certain limit of the corridor centreline | typically approximately 10% since absolute path accuracy would not be vital. The maximum path curvature likely to be encountered can be predicted from the lateral piloting algorithm by calculating what path curvature demand would be produced by say a 10% vehicle o set. This then determines the maximum vehicle speed on a particular corridor section. Note that due to the e ects of corridor width on the lateral piloting algorithm, a narrower corridor has a higher path curvature demand for the same vehicle o set and therefore has a lower maximum speed. For a corridor intersection a similar prediction of maximum path curvature likely to be encountered can be made. Even though a complete vehicle path has not been planned by the pilot, the re ex actions encoded by the fuzzy algorithm can be used to nd the path curvature which will be used at the next intersection. Once again this determines a maximum corner speed when combined with the vehicle's lateral acceleration constraint. Combining this with the vehicle's longitudinal acceleration constraint and using constant acceleration/deceleration motion gives a velocity pro le for the approach to the intersection.

Rule{based piloting for autonomous vehicles

137

In the following sections both the lateral and longitudinal pilots are used to supply demands to the fuzzy motion controller/vehicle model combination described in the previous chapter. This allows the e ects of controller self{learning on the vehicle trajectory to be determined.

8.4 Guidance and motion controller interactions The e ects of vehicle dynamics were ignored in the previous pilot simulations. This was useful in allowing the piloting module to be tested independently; in any real situation the e ects of non{ideal vehicle dynamics have to be taken into account. The motion controllers described in this thesis attempt to force the closed loop vehicle response to match a desired closed loop response. In general this desired response has minimal overshoot with a rise time determined by process dynamics, available control power and control actuator bandwidth. Since the vehicle dependent e ects have been removed by the low level adaptive controller the response as seen by the piloting level resembles that of a simple lag with demand values being achieved at some xed time interval in the future. These delays introduced by the controller/vehicle combination tend to destabilise the pilot level response and a predictive element is therefore added to the pilot to reduce this e ect. An estimate of the time lag of the motion controller loop is made a priori. This is then used to calculate the position of the vehicle, assuming all past piloting demands are achieved, when any current demands will have an e ect on the vehicle motion. This prediction is made using the same lateral piloting algorithm and forms the input for calculating the next set of controller demands.

Rule{based piloting for autonomous vehicles

138

This 'look ahead time' is also relevant to the road curvature feedforward of the road following case. The time lag described above can also be considered as a look ahead distance (given the current vehicle speed) at which the road curvature measurements should be made.

8.5 ROVA vehicle simulation The pilot described above was developed to supply realistic demand signals as a nal test for the indirect adaptive fuzzy controller in a particular vehicle control example. The controller used in the following simulations is identical to that described in chapter 7 as are all other conditions such as the assumed measurement noise. The vehicle model used is also identical to that in chapter 7 with the addition of a longitudinal element. It was assumed that a longitudinal controller exists and can achieve a consistent acceleration/deceleration response | constant acceleration is therefore assumed and this is simulated by manipulating the rear wheel circumferential force Ur . For acceleration Ur = 1:44KN and for deceleration Ur = ?3:6KN. The acceleration produced by this action is calculated and integrated to give vehicle velocity. Note that Ur and vehicle speed v have an e ect on lateral vehicle motion causing a cross coupling between vehicle axes. The piloting algorithm used is identical to that described above with the rules given in appendix C. The look ahead predictor was used with a look ahead time of 0:5 seconds. The curvature feedforward also used a look ahead distance equal to 0:5 seconds at the current speed.

Rule{based piloting for autonomous vehicles

139

Figure 8.11: Combined pilot and motion controller simulation 1 The simulations were carried out using the same free space corridor used in the ideal piloting simulations. The rst two examples of vehicle trajectories are for a constant velocity case at a speed of 5ms?1 . In gure 8.11 the controller has no knowledge of vehicle dynamics (this is supplied as a worst case since in reality an estimated model could always be supplied for the controller to build upon). In gure 8.12 the controller has knowledge of the previous run in gure 8.11. Note how the initial trajectory, even without a priori knowledge of vehicle dynamics, is stable and regulated to within the free space corridor. The second trajectory after the initial learning phase is signi cantly better than the rst. The nal simulation shows the vehicle trajectory, including vehicle speed, when the longitudinal pilot and the cross coupling e ects described above are taken into account. The illustration in gure 8.13 represents vehicle speed as a vertical bar. Note the constant acceleration and deceleration in the region of the 90 intersection and the smooth response achieved in the presence of cross coupling of vehicle axes.

Rule{based piloting for autonomous vehicles

Figure 8.12: Combined pilot and motion controller simulation 2

Figure 8.13: Combined pilot and motion controller simulation 3

140

Rule{based piloting for autonomous vehicles

141

8.6 Chapter Summary A rule based piloting system has been developed in this chapter which uses a fuzzy algorithm to describe a set of re ex actions for any vehicle situation. These re ex actions supply demands to the low level motion controllers and hence determine the real world path followed by the vehicle. The piloting system has been split into lateral and longitudinal tasks with the lateral task being further split into three subtasks to simplify development. Although the actual vehicle track around any set of corridors is never fully planned by the pilot, predictions can be made of future vehicle positions and future controller demands. This is used by the longitudinal pilot to predict the path curvature demand in front of the vehicle, to calculate the required speed, and by the lateral pilot to inject some phase advance into the loop to compensate for the phase lag caused by non{ideal vehicle dynamics. The lateral piloting system was rst tested independently by carrying out a set of simulations with an 'ideal' vehicle. The vehicle model used in the previous chapter was then modi ed to take account of the e ects of longitudinal acceleration on the lateral dynamics and used, in conjunction with the adaptive fuzzy controller of the previous chapter, to fully test the pilot. The resultant simulations demonstrate: 1. The ability of the indirect adaptive fuzzy controller to operate with realistic demand signals. 2. Real world trajectory stability with no initial knowledge of vehicle dynamics. 3. Improved trajectories as controller learning takes place. 4. The ability to cope with cross coupling of vehicle axes.

Chapter 9

Discussion 9.1 Major results Chapter 3 described a class of predictors based upon time{varying fuzzy relations formed from observed data. It was shown that detailed a priori process knowledge, though useful in increasing output accuracy of the predictor, is not essential during the design and implementation of such systems. A design trade{o was identi ed between adaptation speed and output accuracy via the property of generalisation. Increased generalisation improves adaptation speed but will decrease output accuracy, unless detailed knowledge of the system's dynamics is available. In the subsequent chapter, a phase plane analysis technique for second order fuzzy systems was described, this is an extension of the analysis work carried out by Brae and Rutherford[9]. A simple application of this method demonstrated how to analyse the models produced by the adaptive fuzzy predictor of the previous chapter. This was found to be an important aid to visualising the nature and extent of the models produced, which then form the basis for an indirect adaptive fuzzy controller. The link between modeling and control is well known and has been suggested for fuzzy systems [95]; this link is used to perform on{line controller design based on the adaptive fuzzy predictor. This design process requires a desired performance model which could be another fuzzy model or an algebraic model. In the case of a non{linear desired response, such as output velocity limiting, a fuzzy model combined with the extended phase plane analysis method proved to be useful for creating performance measures. In the case of linear desired performance a simple algebraic performance model could be used. A technique for increasing the output accuracy of the controller by using nested and hybrid

Discussion

143

At each step in the development, simulations have been used to demonstrate the capabilities of the methods used. The indirect adaptive fuzzy controller was demonstrated working with: 1. a second order linear process, section 5.7.1 2. a second order non{linear process, section 5.7.1 3. regulation of a ships heading, IFAC benchmark problem, section 5.7.2 4. track control of a city bus, IFAC benchmark problem, section 5.7.3 The controller developed here, unlike the majority of classical techniques, has no inherent linearity or stationarity assumptions and has advantages over other fuzzy controllers, particularly in the way in which model convergence and closed loop performance speci cations are separated. This allows model convergence rates to be easily tailored for a particular process and desired closed loop performance to be rigorously speci ed. The initial simulations highlighted many useful features:

 ability to control systems with little a priori process knowledge  fast adaptation to large, unmeasured, process parametric changes  control in the presence of stationary loop non{linearities  operation with missmatch between process order and rule structure  good noise rejection properties  good disturbance rejection properties In the rst chapter of this thesis, the abilities of human operators to control non{stationary, non{linear, processes with small learning periods was discussed. It was noted that in such circumstances, absolute output accuracy is not always a prime objective and the ability to use approximate process models and perform generalisation is an important factor. The indirect adaptive fuzzy controllers demonstrated here, have many of the same features, in particular a trade{o between accuracy and the amount of self{learning required to control a process. This is a direct consequence of the adaptive fuzzy predictor which demonstrated how generalisation, leading to fast self{learning, can be achieved at the expense of output accuracy in section 3.5.

Discussion

144

These features are of prime importance to the original application, that of controlling the motion of an autonomous land vehicle. Chapters 7 and 8 have applied the work of previous chapters to the control of a 3500Kg road vehicle test{bed via simulation studies. The results, particularly those of chapter 8, where the piloting level is also implemented, demonstrate accuracy of vehicle motion which is tailored to the particular task and the self{learning nature of the controller. The vehicle trajectories generated by the pilot/controller combination were shown to be stable even in the event of no initial process knowledge. This makes vehicle operation possible in unstructured outdoor environments and in the presence of unmeasured external disturbances. One nal advantage of this method is the use of the fuzzy process model to infer the health of the vehicle or the state of the environment. In chapter 7, an estimate of cornering power of the vehicle showed how changes in the coecient of friction between the road surface and the tyres could be detected. This information is of prime importance to other systems in the guidance/control hierarchy since it implies the maximum side force available and hence allows calculation of the maximum safe speed for any given vehicle path. The adaptive process model enables predictions of vehicle behavior to be supplied to other members of a command and control system, which are based upon observed vehicle performance instead of a priori expected performance. Thus the initial objectives of developing the indirect adaptive fuzzy controller and applying it to the motion control of a land vehicle have been achieved and the advantages of such a system have been demonstrated. A series of simulation experiments have also demonstrated how this technique can be used as a solution to a class of control problems, those where the process is dicult to model, may contain loop non{linearities and may experience time{varying (unstructured) parametric and external disturbances.

9.2 Future work All of the processes studied in this thesis have been single input, single output systems. The controller has been limited to these systems to simplify the initial development and can be justi ed since many land vehicles have axes which are suciently decoupled to allow each axis to be considered independently. This is not true however of all vehicle platforms, with articulated land vehicles, underwater vehicles and aircraft for example, displaying signi cant cross{coupling between axes. It is therefore a reasonable next step to extend this work to the multivariable case. If it could be developed, a multivariable version of this controller would be ideal for large scale multi{input, multi{output

Discussion

145

This extension of the work to multivariable systems introduces new problems, such as the explosion in memory and processing requirements when cross{coupling of axes are taken into account. The problems of large memory requirements could possibly be reduced by some form of data compression and processing requirements may be reduced by performing local inversion of the multi{input, multi{output predictor. Other problems to be considered are the need for cross{axis performance speci cations and the enforcement of multiple output parameter constraints. Another area for future work is the use of parallel processing for increased computational speeds, since the algorithms have an inherent parallelism which could be utilised. This is of prime importance to the multivariable case where large multi{input, multi{output models may cause increased processing requirements. For the single axis case this technique may also be required to achieve very high sampling rates. As the performance of serial processing units is pushed closer to known physical limitations, the use of parallel processing techniques may become more popular. In such circumstances, a controller with inherent parallelism and the attributes described above would be a viable solution to a wide range of complex processes. The uptake of many modern control techniques by the control industry has been very slow. Any new technique must demonstrate an increase in performance/implementation costs ratio when compared to existing techniques. Although many new design methodologies have demonstrated improved performance, it is usually at the expense of increased a priori process information requirements and consequent design complexity. The increased skill required at the design and implementation phase may outweigh any performance advantages. The technique described in this thesis however, achieves increased performance at the expense of precision (exact algebraic solutions) and does not place emphasis on skill required at the design stage. Combining these attributes with computer aided design techniques a set of software tools for design and code generation could be produced. This would enable sections of the control industry to experiment with these techniques, for minimal initial investment, and is necessary if general acceptance is to be achieved. A broad objective of future work is to encourage the development of software design and code generation packages for adaptive fuzzy controllers.

Bibliography [1] van Amerongen, J. et al, An autopilot for ships designed with fuzzy sets, Proc. IFAC Conf. on digital computer applications to process control, The Hague, 1977. [2] Albus, J.S. Systems description and design architechture for multiple autonomous undersea vehicles, National Institue of Standards and Technology, NIST Report 1251, 1988 [3] Albus, J.S. Data storage in the Cerebellar Model Articulation Controller (CMAC), Trans of the ASME, Journal of Dynamic Systems, Measurement and Control, 1975, pp 228-233 [4] Albus, J.S. A new approach to manipulator control: the Cerebellar Model Articulation Controller, Trans of the ASME, Journal of Dynamic Systems, Measurement and Control, 1975, pp 220-227 [5] Astrom, K. J. and Wittenmark, B. Adaptive Control, Addison{Wesley Series in Electrical Engineering : Control Engineering, 1989. [6] Barto, A.G., Sutton, R.S. and Anderson, C.W. Neuronlike adaptive elements that can solve dicult learning control problems, IEEE Trans on Systems, Man and Cybernetics, Vol. SMC-13, No.5 pp835-846 [7] Bartolini, G. et al Development of performance adaptive fuzzy controllers with application to continuous casting plants, Industrial applications of fuzzy control, Elsevier science publishers B.V. (North Holland) [8] Betz, R.E., et al An AI based controller for dynamic systems, Proc. of IFAC Conf. on AI in real-time control, Swansea, 1988. [9] Brae, M. and Rutherford, D.A. Theoretical and linguistic aspects of the fuzzy logic controller, Automatica, 1979, Vol.15, pp553-577 [10] Brae, M. and Rutherford, D.A. Selection of parameters for a fuzzy logic controller,

Bibliography

147

[11] Broeders, H.M.T. et al Real-time direct expert control using progressive reasoning, Eng. Applications of AI, Vol.2, No.2, 1989, pp109-119 [12] Brooks, R.A. A robust layered control system for a mobile robot, IEEE Journal of Robotics and Automation, Vol. RA-2, No.1, 1986, pp14-23 [13] Brown, M. and Harris, C.J. Fuzzy logic, neural networks and B-splines for intelligent control, Int. Journal Mathemetics Applic. Control, (to appear 1991) [14] Brown, M., Harris, C.J. et al, Intelligent SOFLICS for AGV's, comparative aspects of fuzzy logic and neural nets, 3rd Int. Conf. Control 91, March 1991. [15] Buckley, J.J. and Ying, H. Fuzzy controller: limit theorems for linear fuzzy control rules, Automatica, Vol.25, No.3, 1989, pp469-472 [16] Cumani, A. On a possibilistic approach to the analysis of fuzzy feedback systems, IEEE Trans on Systems, Man and Cybernetics, Vol. SMC-12, No.3, 1982 [17] Czogala, E. and Pedrycz, W. On the concept of fuzzy probabilistic controllers, Fuzzy Sets and Systems 10, North Holland Publishing Co., 1983, pp109-121 [18] Czogala, E. and Penrycz, W. Fuzzy rule generation for fuzzy control, IEEE Trans on Systems, Man and Cybernetics, Vol. SMC-13, 1982, pp275-293 [19] Daley, S. and Gill, K.F. The fuzzy logic controller: an alternative design scheme?, Computers in Industry, 1985, Vol.6, No.1, pp3-14. [20] Dickmanns, E.D. and Graefe, V. Applications of dynamic monocular machine vision, Machine vision and applications, Springer-Verlag New York Inc. 1988 [21] Dickmanns, E.D. and Zapp, A. Autonomous high speed road vehicle guidance by conputer vision, Proc. of 10th IFAC world congress, 1987, pp232-237 [22] Ellison, D. On the convergence of the albus perceptron, IMA Journal of Mathematical Control and Information, 1988, pp1-17 [23] Ersu, E. and Tolle, H. A new concept for learning control inspired by brain theory, Proc. of IFAC world congress, Budapest, 1984, pp1039-1044 [24] Farreny, H. and Prade, H. Uncertainty handling and fuzzy logic control in navigation problems, Int. Conf. on Intelligent Autonomous Vehicles, Amsterdam, pp217-225, 1986

Bibliography

148

[25] Godal, R.C. and Goodman, T.J. Fuzzy sets and Borel, IEEE Trans on Systems, Man and Cybernetics, Vol. SMC-10, p637. [26] Grossberg, S. and Kuperstein, M. Neural dynamics of adaptive sensory-motor control, Advances in Psychology, Vol.30, Elsevier Science Publishers, 1986 [27] Guez, A., Protopsecu, V. and Barhen, J. On the stability, storage capacity and design of non{linear continuous neural networks, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-18, No1, 1988 [28] Gupta, M.M. Feedback control applications of fuzzy set theory: A survey, Proc. of 8th IFAC world congress, Kyoto, Japan, 1981 [29] Gupta, M.M., Kiszka, J.B. and Trojan, G.M. Multivariable structure of fuzzy control systems, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-16, No.5, pp638-656, 1986 [30] Gupta, M.M., Trojan, G.M. and Kiszka, J.B. Controllability of fuzzy control systems, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-16, No.4, pp576-582, 1986 [31] Gusev, L.A. and Smirnova, I.M. Fuzzy sets | Theory and Applications (Survey), Simulation of Behaviour and Intelligence, No.5, pp66-85, 1973, Translated from 'Avtomatika i Telemekhanika'(Moscow) [32] Hammer, A., Lynn, J.W. and Graupe, D. Investigation of a learning control system with interpolation, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-2, No.3, 1972 [33] Handelman, D.A., Lane, S.H. and Gelford, J.J. Integration of knowledge-based systems and neural network techniques, IFAC Workshop on AI techniques in real-time control, Swansea, UK, 1988 [34] Harris, C.J. Application of AI to command and control systems, Peter Peregrinus, Steveage, UK, 1988 [35] Harris, C.J. and Jackson, J.V. Techniques for intelligent multi-sensor data-fusion for application to autonomously guided vehicles, Proc. IMA Conf. on Robotics, Loughborough, Published Oxford University Press, 1989 [36] Harris, C.J. and Moore, C.G. Real-time fuzzy based self-learning predictors and controllers, Proc. 11th IFAC World Congress, Tallinn, USSR, Vol.7, pp180-186, 1990 [37] Harris, C.J. and Moore, C.G. Intelligent identi cation and control for AGV's using

Bibliography

149

[38] Harris, C.J. and Read, A.B. Knowledge based fuzzy motion control of autonomous vehicles, 1st IFAC workshop on AI in real-time control, Swansea, pp149-154, 1988 [39] Hogle, R.A and Bonissone, P.P.A. A fuzzy algorithm for path selection in AGV navigation, Proc. 23rd IEEE Decision and Control Conf., pp898-900, 1984 [40] Isik, C. and Meystel, A. Pilot level of a hierarchical controller for an unmanned robot, IEEE Journal of robotics and automation, Vol.4, No.3, 1988 [41] Jain, R. Outline of an approach for the analysis of fuzzy systems, Int. Journal of Control, Vol.23, No.5, 1976 [42] Kickert, W. and van Nauta Lemke, H.R. Application of a fuzzy controller in a warm water plant, Automatica, Vol.12, pp301-318, 1976 [43] Kickert, W.J.M. and Mamdani, E.H. Analysis of a fuzzy logic controller, Fuzzy sets and systems 1, North Holland Publishing Co. pp29-44, 1978 [44] King, P.J. and Mamdani, E.H. The application of fuzzy control systems to industrial processes, Automatica, Vol.13, pp235-242, 1977 [45] Kiszka, J.B., Kochanska, M.E. and Sliwinska, D.S. The in uence of some parameters on the accuracy of a fuzzy model, Industrial applications of fuzzy control, Elsevier Science Publishers B.V. (North Holland) 1985 [46] Kohonen, T. Self{organanising and associative memory, Springer series on information sciences, Springer-Verlag, 1987 (ISBN 0-387-18314-0 [47] Kosko, B. Neural Networks and Fuzzy Systems, Prentice Hall, 1992. [48] Larkin, L.I. A fuzzy logic controller for aircraft ight control, Industrial applications of fuzzy controllers (M.Sugeno Ed.), Elsevier Science Publishers B.V. (North Holland), 1985 [49] Larsen, P.M. Industrial applications of fuzzy logic control, Int. Journal of Man{Machine Studies, Vol.12, pp3-10, 1980 [50] Li, Y.F and Lau, C.C. Application of fuzzy control for servo systems, Proc. of IEEE Conf. on robotics and automation, pp1511-1519, 1988 [51] Linden, T.A., Marsh, J.P. and Dove, D.L. Architecture and early experience with planning for the ALV, Proc. IEEE Int. Conf. on Robotics and Automation, San Francisco, 1986

Bibliography

150

[52] Linkens D.A. and Abbod M.F. Self{organising fuzzy logic control for real{time processes, Proc 3rd Int. Conf. Control 91, March 1991, pp971-976. [53] Lo, C. Navigation and control for an autonomous vehicle, Final year BSc project report, Dept. Aeronautics and Astronautics, Southampton University, 1989. [54] Maiers, J. and Sherif, Y.S. Applications of fuzzy set theory, IEEE Systems man and cybernetics, SMC{15, 1985, pp175{189 [55] Mamdani, E.H. An experiment in linguistic synthesis with a fuzzy logic controller, Int. J. Man{machine Studies, Vol.7, no.1, pp1{13. [56] Mamdani, E.H. Applications of fuzzy algorithms for control of a simple dynamic plant, Proc. of IEE, Control and Science, Vol.121, No.12, 1974 [57] Mamdani, E.H. and Baaklini, N. Prescriptive method for deriving control policy in a fuzzy logic controller, Electronics letters, Vol.11, pp625-626, 1975 [58] Mamdani, E.H. et al Use of fuzzy logic for implementing rule-based control of industrial processes, Advances in fuzzy sets, possibility thoery and applications, Plenum Press NY, ISBN 0-306-41390-6, pp307-323, 1983 [59] Mamdani, E.H., Procyk, T. and Baaklini, N. Application of fuzzy logic to controller design based on linguistic protocol, Proc. of Workshop on fuzzy logic, Queen Mary College, UK, 1976 [60] Marsik, J. and Strejc, V. Application of Identi cation{free algorithms for adaptive control, Automatica, Vol.25, No.2, pp273-277, 1989 [61] Moore, C.G. Rule-based piloting systems for autonomous land vehicles, Internal report, Dept. Aeronautics and Astronautics, Southampton University, Oct 1990. [62] Moore, C.G. Phase-plane analysis tools for fuzzy systems, Internal report, Dept. Aeronautics and Astronautics, Southampton University, Oct 1990. [63] Morita, A., et al Fuzzy knowledge model of a neural network type, IEEE IJCNN-90, Washington DC, Vol.2, pp55-58, Jan 1990 [64] Murakami, S. and Maeda, M. Automobile speed control system using a fuzzy logic controller, Industrial applications of fuzzy control (M. Sugeno Ed.), Elsevier Science Publishers B.V. (North Holland), 1985 [65] Ni, X.F., Shen, Y. and Hu, H.Z. Expert control for a papermaking process, Eng. applications of AI, Vol.1, No.2, pp119-125, 1988

Bibliography

151

[67] Nitao, J.J. and Parodi, A.M. A real-time re exive pilot for an autonomous land vehicle, IEEE Control Systems Magazine, pp14-23, 1986 [68] Pappis, C.P. and Sugeno, M. Fuzzy relational equations and the inverse problem, Proc. of Workshop on fuzzy logic, Queen Mary College, 1976 [69] Pedrycz, W. Design of fuzzy control algorithms with the aid of fuzzy models, Industrial applications of fuzzy control (M. Sugeno Ed.) Elsevier Science Publishers B.V.(North Holland) 1985 [70] Pedryez, W. Applications of fuzzy relational equations for methods of reasoning in presence of fuzzy data, Fuzzy sets and systems 16, pp163-175, 1985 [71] Dubois, D and Prade H. Fuzzy sets and systems: theory and applications, Mathematics in science and engineering series, Accademic Press, New York, 1980. [72] Procyk, T.J. and Mamdani, E.H A linguistic self{organising process controller, Automatica, Vol.15, pp15-30, 1979 [73] Procyk, T.J. A self{organising controller for dynamic processes, PhD Thesis, Queen Mary College, Univ. of London. [74] Rembold, V. and Levi, P. Sensors and control for autonomous vehicles, Int. Conf. on Intelligent Autonomous Vehicles, Amsterdam, pp79-89, 1986 [75] Rhee, F. van der, et al Applying fuzzy set theory to modelling processes, Proc. of IFAC world congress, Munich, pp338-343, 1987 [76] Rumelhart, D.E., Hinton, G.E and Williams, R.J. Learning internal representations by error propagation, Parallel Distributed Processing, pp318-362, 1986 [77] Rutherford, D.A. and Bloore, G.C. The implementation of fuzzy algorithms for control, Proc. of the IEEE, pp572-573, April 1976 [78] Rutherford, D.A. and Carter, G.A. A heuristic adaptive controller for a sinter plant, Proc. 2nd IFAC symposium on automation in mining, met. and met. processing, Johannesburg, 1976 [79] Sanchez, E. Resolution of composite fuzzy relation equations, Information and control, Vol.30, pp38-48, 1977 [80] Sanchez, E. Compositions of fuzzy relations, Advances in fuzzy set theory and applications, North Holland Publishing Co., 1979 [81] Scharf, E.M. and Mandic, N.J. The application of a fuzzy controller to the control

Bibliography

152

[82] Schmucker, K.J. Fuzzy sets, natural language computations and risk analysis, Computer Science Press, 1984 [83] Self, K. Designing with fuzzy logic, IEEE Spectrum, November 1990. [84] Shimura, M. An approach to pattern recognition and associative memories using fuzzy logic, Fuzzy sets and their applications to cognitive and decision processes, Academic Press NY, 1975 [85] Steering, suspension and tyres, Automotive technology series, Vol.1, Ili e Books, London [86] Sugeno, M. An introductory survey of fuzzy control, Information Sciences 36, pp59-83, 1985 [87] Sugeno, M. and Murakami, K. Fuzzy parking control of a model car, Proc. of 23rd Conf. on Decision and Control, Las Vegas, 1984 [88] Sugeno, M. and Nishda, A. Fuzzy control of a model car, Fuzzy sets and systems 16, pp100-113, 1985 [89] Sugeno, M. and Takagi, T. A new approach to design of fuzzy controller, Advances in fuzzy sets, possibility theory and applications, Plenum Press NY, ISBN 0-306-41390-6, pp325-334, 1983 [90] Sugiyama, K. Rule{based self{organising controller, Fuzzy computing (Eds Gupta and Yamakawa), 1988, Elsevier Science Publishers BV, North Holland. [91] Sutton, R. and Jess, I.M. A design study of a self{organising fuzzy autopilot for ship control, Proc. Inst. Mech. Engrs., Vol.205, 1991, pp35{47 [92] Sutton, R. and Towill, D.R. An introduction to the use of fuzzy sets in implementation of control algorithms, Journal of the Institute of electronic and radio engineers, Vol.55, no.10, pp357-367, 1985 [93] Takagi, T. and Sugeno, M. Fuzzy identi cation of systems and its applications to modelling and control, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-15, No.1, pp116-131, 1985 [94] Thomason, M.G. Convergence of powers of a fuzzy matrix, Journal of mathematical analysis and applications, Vol.57, pp476-480, 1977 [95] Togai, M. Application of fuzzy inverse relations to synthesis of a fuzzy controller for dynamic systems, Proc. of 23rd Conf. on Decision and Control, Las Vegas,

Bibliography

153

[96] Togai, M. and Wang, P.P. Analysis of a fuzzy dynamic system and synthesis of it's controller, Int. Journal of Man{Machine Studies, Vol.22, pp355-363, 1985 [97] Tong, R.M. An assessment of a fuzzy control algorithm for a non-linear multi-variable system, Proc. of Workshop on fuzzy logic, Queen Mary College, UK, 1976 [98] Tong, R.M. The construction and evaluation of fuzzy models, Advances in fuzzy set theory and applications, pp559-576, 1979 [99] Tong, R.M. Synthesis of fuzzy models for industrial processes | some recent results, Int. Journal of Generak Systems, Vol.4, pp143-162, 1978 [100] Tong, R.M. Analysis of fuzzy control algorithms using the relational matrix, Int. Journal of Man{Machine Studies, Vol.8, pp679-686, 1976 [101] Tong, R.M. Some properties of fuzzy feedback systems, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-10, No.6, pp327-330, 1980 [102] Tong, R.M. The evaluation of fuzzy models derived from experimental data, Fuzzy sets and systems 4, North Holland Publishing Co. pp1-12, 1980 [103] Tong, R.M. An anotated bibliography of fuzzy control, Industrial applications of fuzzy control, Elsevier Science Publishers B.V.(North Holland), 1985 [104] Tong, R.M. Analysis and control of fuzzy systems using nite discrete relations, Int. Journal of Control, Vol.27, No.3, pp431-440, 1978 [105] Tong, R.M. Rule-based decomposition of fuzzy relational models, Proc. of IEEE Joint Automatic Control Conference, San Francisco, Vol.2, 1980 [106] Tong, R.M. and Efstathiou, J. Rule based decomposition of fuzzy relational models, Proc. JACC, San Francisco, Vol.2, 1988 [107] Tong, R.M., Beck, M.B. and Latten, A. Fuzzy control of the activated sludge wastewater treatment process, Automatica, Vol.16, pp695-701, 1980 [108] Tsumara, T. Recent developments of AGV's in Japan, Robotersysteme, Vol.2, Springer-Verlag, Berlin, pp91-97, 1986 [109] Umbers, I.G. and King, P.J. Analysis of human decision making in cement kiln control and implications for automation, Int. J. Man. Machine Studies, Vol.12, pp11{23, 1980. [110] Warnecke, H.J. and Linder, H. Trends in robotics in the European Community,

Bibliography

154

[111] Warwick, K. Parallelism in control, Kybernetics, Vol.18, No.4, 1989. [112] Watson, S.R., Weiss, J.J. and Donnel, M.L. Fuzzy decision analysis, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-9, No.1, 1979 [113] Willeays, D., Mangin, P and Malvache, N. Use of fuzzy sets for systems modelling and control: application to regulation of a perturbed motor, Digital Computer Applications to Process Control, North Holland Publishing Co., 1977 [114] Xu, C. and Lu, Y. Fuzzy model identi cation and self-learning for dynamic systems, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-17, No.4, pp683-689, 1987 [115] Yamaguchi, T., Endo, T. and Haruki, K. Fuzzy predict and control method and its application, IEE Int Conf. Control88, pp287-292, 1988 [116] Yamaguchi, T., Imasaki, N. and Haruki, K. Fuzzy rule realisation on associative memory system, IEEE IJCNN-90, Washington DC, Vol.2, pp720-723, Jan 1990 [117] Yamazaki, T. and Mamdani, E.H. On the performance of a rule-based self{organising controller, Proc. of IEEE Conf. on Applications of Adaptive and Multivariable control, Hull, pp50-55, 1982 [118] Yonekura, M. The application of fuzzy set theory to temperature control of box anealing furnaces using simulation, Proc. of 8th IFAC world Congress, Koyoto, Japan, 1981 [119] Zadeh, L.A. Fuzzy sets, Journal of Information and Control, Vol.8, pp338-353, 1965 [120] Zadeh, L.A. Fuzzy Logic, Proc. of the IEEE, April 1988. [121] Zadeh, L.A. Outline of a new approach to the analysis of complex systems and decision processes, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-3, No.1, pp28-44, 1973 [122] Zadeh, L.A. Fuzzy algorithms, Journal of Information and Control, Vol.12, pp94-102, 1968 [123] Zadeh, L.A., and Chang, S.L. On fuzzy mapping and control, IEEE Trans on Systems, Man and Cybernetics, Vol.SMC-2, No.1, 1972

Appendix A

Example of the extended division operator In chapter 4, the extended division operator was used to calculate the state trajectory directions implied by each rule in a fuzzy algorithm. In this case we wish to calculate from: tan( ) = x x_ (A.1) where x and x_ are given by corresponding fuzzy sets x and x_ . Consider the example where x is given by the set of positive small (PSx ) and x_ is given by the set of positive medium (PMx_ ), cf. example 1 in chapter 4. The fuzzy set of tan( ) is then given by: tan( ) = PSx PMx_ (A.2) The membership function for this set, over all possible angles Z , being given by the extension principle: max





tan( ) (z) =z 2 R minfPS (x); PM (x_ )g jz=xx_

(A.3)

For piecewise linear set shapes, only the signi cant features of the set need to be considered when performing this operation. For example, the set of tan( ) will have a membership grade of 1:0 for all combinations of x and x_ which have a membership grade of 1:0. The lower limit of this region in z will correspond to the lower limit in x and the upper limit in x_ since the universes are connected via the relationship z = x  x_ . Using the example in chapter 4, the set shapes for PSx and PMx_ are given again in gure A.1. Using the above reasoning, the following feature points can be found for the output set:

Extended division operator The lower limit of tan( ) (z ) = 1:0 occurs when z = 10:0  14:0 = 0:71 The upper limit of tan( ) (z ) = 1:0 occurs when z = 30:0  12:0 = 2:5 The lower limit of tan( ) (z ) > 0:0 occurs when z = 5:0  15:0 = 0:14 The upper limit of tan( ) (z ) > 0:0 occurs when z = 35:0  11 = 3:18 The resulting set, given in gure A.2 is still trapeziodal but no longer symetric. A deterministic value for tan( ) could be determined using a defuzzi cation technique.

156

Extended division operator

157

Figure A.1: Extension principle example, fuzzy set de nitions from chapter 4, example 1

Figure A.2: Extension principle example, resulting set for tan( )

Appendix B

Documentation for software design tools This appendix contains documentation for the software routines used to develop the fuzzy controllers discussed in this thesis. These routines were designed to allow controllers to be quickly assembled and tested as an aid to the research, hence emphasis is placed on exibility rather than code eciency for a particular task. Tools are also provided for displaying simulation results and also for displaying fuzzy rule sets via the extended phase plane. The document contained in this appendix was written as a stand alone guide to the software and has been included here, as it was originally printed, purely to illustrate the type of software tools used. A tutorial guide to the software uses some examples which are common to the main body of the thesis, and therefore contains some repetition. The additional information of how to implement these examples using the software tools is the major reason for including this appendix.

Appendix C

Piloting rules used in Chapter 8 example The complete rule set used for the piloting system described in chapter 8 is given in this appendix. The table entries give the desired vehicle path curvature for a given set of conditions. Note that all of the terms used are de ned by the fuzzy sets in gurures 8.2 and 8.7.

Piloting rules . Piloting rules for corridor intersection is 'sharp left'

N4 N4 N4 N4 N4 N4 N4 NL

N4 N4 N4 N4 N4 N4 N4 NM

N4 N4 N5 N5 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 NS ZE PS PM Corridor O set

N5 N5 N4 N4 N4 N4 N4 PL

NL NM NS ZE PS PM PL

N1 ZE P3 P4 P4 P4 P4 NL

N1 ZE P3 P4 P4 P4 P4 NM

N1 N1 N3 N4 ZE ZE ZE N2 P3 P3 P3 ZE P4 P4 P4 ZE P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 NS ZE PS PM Corridor O set

N5 N4 N2 N2 P2 P3 P3 PL

NL NM NS ZE PS PM PL

N3 ZE P4 P5 P5 P5 P5 NL

N3 N1 P1 P1 P4 P5 P5 NM

N3 N3 N5 N5 N1 N2 N4 N5 ZE N1 N1 N4 ZE ZE ZE N1 P1 P1 ZE N1 P4 P2 P1 P1 P5 P3 P3 P3 NS ZE PS PM Corridor O set

N5 N5 N5 N5 N4 ZE P3 PL

NL NM NS ZE PS PM PL

Heading Distance to apex is close

Heading Distance to apex is medium

Heading Distance to apex is far

160

Piloting rules . Piloting rules for corridor intersection is 'left'

N2 N2 N2 N2 N2 N2 N2 NL

N2 N2 N2 N2 N2 N2 N2 NM

N2 N4 N5 N5 N2 N2 N2 N4 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 N2 NS ZE PS PM Corridor O set

N5 N5 N4 N2 N2 N2 N2 PL

NL NM NS ZE PS PM PL

N1 ZE P3 P3 P3 P4 P4 NL

N1 ZE P3 P3 P3 P3 P4 NM

N1 N1 N3 N4 ZE ZE ZE N2 P3 P3 P1 ZE P3 P3 P3 ZE P3 P3 P3 P1 P3 P3 P3 P3 P4 P4 P4 P3 NS ZE PS PM Corridor O set

N5 N4 N2 N2 P1 P3 P3 PL

NL NM NS ZE PS PM PL

N3 ZE P4 P5 P5 P5 P5 NL

N3 N1 P1 P1 P4 P5 P5 NM

N3 N3 N5 N5 N1 N2 N4 N5 ZE N1 N1 N4 ZE ZE ZE N1 P1 P1 ZE N1 P4 P2 P1 P1 P5 P3 P3 P3 NS ZE PS PM Corridor O set

N5 N5 N5 N5 N4 ZE P3 PL

NL NM NS ZE PS PM PL

Heading Distance to apex is close

Heading Distance to apex is medium

Heading Distance to apex is far

161

Piloting rules . Piloting rules for corridor intersection is 'straight'

N3 ZE P4 P5 P5 P5 P5 NL

N3 N1 P1 P1 P4 P5 P5 NM

N3 N3 N5 N5 N1 N2 N4 N5 ZE N1 N1 N4 ZE ZE ZE N1 P1 P1 ZE N1 P4 P2 P1 P1 P5 P3 P3 P3 NS ZE PS PM Corridor O set

N5 N5 N5 N5 N4 ZE P3 PL

NL NM NS ZE PS PM PL

N3 ZE P4 P5 P5 P5 P5 NL

N3 N1 P1 P1 P4 P5 P5 NM

N3 N3 N5 N5 N1 N2 N4 N5 ZE N1 N1 N4 ZE ZE ZE N1 P1 P1 ZE N1 P4 P2 P1 P1 P5 P3 P3 P3 NS ZE PS PM Corridor O set

N5 N5 N5 N5 N4 ZE P3 PL

NL NM NS ZE PS PM PL

N3 ZE P4 P5 P5 P5 P5 NL

N3 N1 P1 P1 P4 P5 P5 NM

N3 N3 N5 N5 N1 N2 N4 N5 ZE N1 N1 N4 ZE ZE ZE N1 P1 P1 ZE N1 P4 P2 P1 P1 P5 P3 P3 P3 NS ZE PS PM Corridor O set

N5 N5 N5 N5 N4 ZE P3 PL

NL NM NS ZE PS PM PL

Heading Distance to apex is close

Heading Distance to apex is medium

Heading Distance to apex is far

162

Piloting rules . Piloting rules for corridor intersection is 'right'

P2 P2 P2 P2 P4 P5 P5 NL

P2 P2 P2 P2 P2 P4 P5 NM

P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P5 P4 P2 P2 NS ZE PS PM Corridor O set

P2 P2 P2 P2 P2 P2 P2 PL

NL NM NS ZE PS PM PL

N3 N3 N1 P2 P2 P4 P5 NL

N3 N3 N1 ZE ZE P2 P4 NM

N4 N4 N4 N4 N3 N3 N3 N3 N3 N3 N3 N3 N3 N3 N3 N3 N1 N3 N3 N3 ZE ZE ZE ZE P3 P1 P1 P1 NS ZE PS PM Corridor O set

N4 N4 N3 N3 N3 ZE P1 PL

NL NM NS ZE PS PM PL

N3 ZE P4 P5 P5 P5 P5 NL

N3 N1 P1 P1 P4 P5 P5 NM

N3 N3 N5 N5 N1 N2 N4 N5 ZE N1 N1 N4 ZE ZE ZE N1 P1 P1 ZE N1 P4 P2 P1 P1 P5 P3 P3 P3 NS ZE PS PM Corridor O set

N5 N5 N5 N5 N4 ZE P3 PL

NL NM NS ZE PS PM PL

Heading Distance to apex is close

Heading Distance to apex is medium

Heading Distance to apex is far

163

Piloting rules . Piloting rules for corridor intersection is 'sharp right'

P4 P4 P4 P4 P4 P5 P5 NL

P4 P4 P4 P4 P4 P4 P5 NM

P4 P4 P5 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P4 P5 P4 P4 P4 NS ZE PS PM Corridor O set

P4 P4 P4 P4 P4 P4 P4 PL

NL NM NS ZE PS PM PL

N3 N3 N2 P2 P2 P4 P5 NL

N4 N4 N4 ZE ZE P2 P4 NM

N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N4 N3 N3 N3 N3 ZE ZE ZE ZE P3 P1 P1 P1 NS ZE PS PM Corridor O set

N4 N4 N4 N4 N3 ZE P1 PL

NL NM NS ZE PS PM PL

N3 ZE P4 P5 P5 P5 P5 NL

N3 N1 P1 P1 P4 P5 P5 NM

N3 N3 N5 N5 N1 N2 N4 N5 ZE N1 N1 N4 ZE ZE ZE N1 P1 P1 ZE N1 P4 P2 P1 P1 P5 P3 P3 P3 NS ZE PS PM Corridor O set

N5 N5 N5 N5 N4 ZE P3 PL

NL NM NS ZE PS PM PL

Heading Distance to apex is close

Heading Distance to apex is medium

Heading Distance to apex is far

164