SlideShare a Scribd company logo
Fuzzy Model Reference Learning Control∗ 
Jeffery R. Layne† and Kevin M. Passino‡ 
Department of Electrical Engineering 
The Ohio State University 
2015 Neil Avenue 
Columbus, OH 43210 
Abstract 
A “learning system” possesses the capability to improve its performance over time by interaction with its environment. 
A learning control system is designed so that its “learning controller” has the ability to improve the performance of the 
closed-loop system by generating command inputs to the plant and utilizing feedback information from the plant. In this 
brief paper, we introduce a learning controller that is developed by synthesizing several basic ideas from fuzzy set and control 
theory, self-organizing control, and conventional adaptive control. We utilize a learning mechanism which observes the plant 
outputs and adjusts the membership functions of the rules in a direct fuzzy controller so that the overall system behaves 
like a “reference model”. The effectiveness of this “fuzzy model reference learning controller” (FMRLC) is illustrated by 
showing that it can achieve high performance learning control for a nonlinear time-varying rocket velocity control problem 
and a multi-input multi-output (MIMO) two degree-of-freedom robot manipulator. 
I Introduction 
Over recent years, fuzzy control has emerged as a practical alternative to classical control schemes when 
one is interested in controlling certain time-varying, non-linear, and ill-defined processes. There have in 
fact been several successful commercial and industrial applications of fuzzy control [1] -[ 5]. Despite this 
success, there exist several significant drawbacks of this approach: 
1. The design of fuzzy controllers is usually performed in an ad hoc manner; hence, it is often not clear 
exactly how to justify the choices for many parameters in the fuzzy controller (e.g., the membership 
functions, defuzzification strategy, and fuzzy inference strategy). 
2. The fuzzy controller constructed for the nominal plant may later perform inadequately if significant 
and unpredictable plant parameter variations, structural changes, or environmental disturbances 
occur. 
In this paper a “learning” control algorithm is presented which helps to resolve some of these fuzzy con-troller 
design issues. This algorithm employs a reference model (a model of how you would like the plant 
to behave) to provide closed-loop performance feedback for synthesizing and tuning a fuzzy controller’s 
∗ 
Bibliographic information for this paper: Layne J.R., Passino K.M., “Fuzzy Model Reference Learning 
Control,” Journal of Intelligent andF uzzy Systems, Vol. 4, No. 1, pp. 33–47, 1996. 
† 
J. Layne gratefully acknowledges the support of the U.S. Air Force Palace Knight Program. J. Layne has recently joined 
Wright Laboratories, WL/AAAS-3, Wright Patterson AFB, Ohio 45433-6543 
‡ 
K. Passino was supported in part by an Engineering Foundation Research Initiation Grant and in part by National Science 
Foundation Grant IRI-9210332. Please address all correspondence to K. Passino (614-292-5716, email: passino@ee.eng.ohio-state. 
edu). 
1
knowledge-base. Consequently, this algorithm is referred to as a “fuzzy model reference learning con-troller” 
(FMRLC). The FMRLC grew from research on how to improve Procyk and Mamdani’s linguistic 
self-organizing controller (SOC) [6] by utilizing certain general ideas in conventional adaptive control [7, 8]. 
The first advantage that the FMRLC has over the SOC is that it does not rely on the specification of an ex-plicit 
inverse model of the process (which can be difficult/impossible to determine for many applications). 
In addition, the performance criteria for the linguistic SOC can only characterize what is essentially a 
compromise between rise-time and overshoot (and not the relative importance of each) and hence it pro-vides 
little flexibility in specifying what performance is to be achieved/maintained (this is the case even 
if the “optimized” fuzzy performance evaluator introduced in [9, 10, 11] is used). Via the use of a ref-erence 
model, in the FMRLC framework we incorporate a capability for accurately quantifying virtually 
any form of desired performance. Next, note that the knowledge-base modification algorithm of Procyk 
and Mamdani [6] relies on modification of a fuzzy relation table which describes the relationship between 
the fuzzy controller inputs and outputs. Often, this automatically implies that all input and output uni-verses 
of discourse must be quantized into discrete levels to implement the fuzzy relation in a computer. 
Unfortunately, this will generally result in large memory requirements and computational demands since a 
fuzzy relation table often contains many entries for real world applications (some progress has been made 
at addressing the computational complexity of knowledge-base modification for the SOC in [9]). In this 
article, we use a knowledge-base modification algorithm (similar to the one in [11]) which reduces com-putation 
time and memory requirements by utilizing a rule base array table rather than a fuzzy relation 
table. The knowledge-base modification approach is flexible enough to be used in both the conventional 
SOC approach and the FMRLC (this is shown in [12]). Finally, we note that the linguistic SOC has been 
used in robotics applications [9, 10], motor and temperature control [13], blood pressure control [14], and 
in satellite control [15, 16, 17]. While in this paper we describe the application of the FMRLC to robotics 
and a rocket velocity control problem (where there is a significant underlying process variation resulting 
from fuel consumption as the rocket launches), the FMRLC has also recently been used for (i) control of 
a cart-pendulum system where certain improvements over SOC were illustrated [12], (ii) anti-skid brake 
system control to enhance performance when there are significant variations in the road conditions [18, 19], 
(iii) cargo ship steering where in [20, 21] it is shown to have certain advantages over conventional model 
reference adaptive control, (iv) vibration damping in a two-link flexible robot where in [22] the authors 
develop a fuzzy controller and show how its performance can be enhanced if it is tuned with the FMRLC 
(experimental results are also provided for both the direct fuzzy controller and the FMRLC to illustrate its 
ability to compensate for the effects of a payload variation), and (v) for aircraft control law reconfiguration 
in case of failures [23]. 
Using conventional adaptive control terminology, the FMRLC and SOC are “direct” adaptive control 
schemes since they directly update the parameters of the controller without explicit identification of the 
plant parameters. Other relevant literature that focuses on direct adaptive fuzzy control includes the work 
in [24] where an adaptive fuzzy system is developed for a continuous casting plant, and the approach in 
[25] where a fuzzy system adapts itself to driver characteristics for an automotive speed control device. 
2
The use of fuzzy systems for estimation/identification [26, 27, 28, 29, 30, 31, 32] is relevant, especially if 
“indirect adaptive” [7, 8] fuzzy control techniques (i.e., ones where plant parameters are identified and 
used to tune the parameters of the controller) such as those in [33, 34, 35] are used. Also, it is interesting 
to note that in [30, 31, 34] there are inherent uses of inverse dynamics of the plant; however, our use of 
the fuzzy inverse model is significantly different. Finally, the authors note that since the initial results 
in FMRLC have been introduced in [21] some other relevant new adaptive/learning techniques have been 
developed [36, 37, 38, 39] where neural approaches are used to tune fuzzy systems and one fuzzy adaptive 
control scheme is shown to be stable. 
In Section II, the detailed description of the FMRLC algorithm is presented. Then in Section III we 
study the performance of the FMRLC for single stage rocket velocity control where there is a significant 
variation in the process dynamics due to the change in mass of the rocket as fuel is expended. Moreover, 
the FMRLC will be used as a learning controller for a two degree-of-freedom robot manipulator to illustrate 
the application of FMRLC for a multi-input, multi-output (MIMO) process. Finally, in the concluding 
remarks in Section IV we will discuss the advantages and disadvantages of FMRLC and highlight some 
important future research directions. 
II Fuzzy Model Reference Learning Control 
In this Section, we present a novel learning control technique that was developed by extending some of 
the linguistic self-organizing control concepts presented by Procyk and Mamdani in [6] and by utilizing ideas 
from conventional “model reference adaptive control” (MRAC) [8, 7]. The learning control technique, which 
is shown in Figure 1, utilizes a learning mechanism that: (i) observes data from a fuzzy control system, 
(ii) characterizes its current performance, and (iii) automatically synthesizes and/or adjusts the fuzzy 
controller so that some pre-specified performance objectives are met. These performance objectives are 
characterized via the reference model shown in Figure 1. In an analogous manner to conventional MRAC 
[8, 7] where conventional (often linear) controllers are adjusted, the learning mechanism seeks to adjust the 
fuzzy controller (a nonlinear controller) so that the closed-loop system (the map from yr(kT) to y(kT)) acts 
like a pre-specified reference model (the map from yr(kT) to ym(kT)). We have named the new learning 
control technique “fuzzy model reference learning control” (FMRLC) due to its similarities to MRAC, 
its unique approach to remembering the adjustments it makes, and according to the prevailing definition 
of “learning” and “adaptive” [40] (we avoid the term “self-organizing” due to the differences between 
our approach and the work in [6]). For a much more detailed discussion of the key issues encountered 
when studying the comparison between adaptive and learning systems see [40, 21]. Next we describe each 
component of the FMRLC in more detail. 
A. The Fuzzy Controller 
The process in Figure 1 is assumed to have r inputs denoted by the r -di mensional vector u(kT) = 
[u1(kT) ... ur(kT)]t (T is the sample period) and s outputs denoted by the s -di mensional vector y(kT) = 
3
Plant 
y(kT) 
y (kT) 
Knowledge-base 
modifier 
1-z -1 
T 
1-z-1 
T 
Knowledge-base 
Fuzzy sets Rule-base 
Knowledge-base 
g 
e 
g 
c 
Inference 
mechanism 
Σ 
Σ 
gu 
Fuzzy controller 
e(kT) 
g 
ye 
u(kT) 
r (kT) 
ye(kT) 
+ 
yc(kT) 
+ 
g 
yc 
g 
p 
Inference 
mechanism 
Reference 
model 
p(kT) 
Storage 
Fuzzy inverse model 
m 
Learning mechanism 
Figure 1: Functional Architecture for the FMRLC. 
[y1(kT) ... ys(kT)]t. Most often the inputs to the fuzzy controller are generated via some linear function 
of the plant output y(kT) and reference input yr(kT). Figure 1 shows a special case of such a linear 
map that was found to be useful in many applications. The inputs to the fuzzy controller are the error 
e(kT) = [e1(kT) ... es(kT)]t and change in error c(kT) = [c1(kT) ... cs(kT)]t defined as 
e(kT) = yr(kT) − y(kT), (1) 
c(kT) = e(kT) − e(kT − T) 
T 
, (2) 
respectively, where yr(kT) = [yr1(kT) ... yrs (kT)]t denotes the desired process output. 
Often, for greater flexibility in fuzzy controller implementation, the universes of discourse for each 
process input are “normalized” to the interval [−1,+1] by means of constant scaling factors. For our fuzzy 
controller design, the gains ge, gc, and gu were employed to normalize the universe of discourse for the 
error e(kT), change in error c(kT), and controller output u(kT), respectively (e.g., g 
e 
= [ge1, ..., ges]t so 
that geiei(kT) is a scaled input to the fuzzy controller). 
For convenience we utilize r multi-input single output (MISO) fuzzy controllers (one for each process 
input un) as it is equivalent to using one s input r output MIMO fuzzy controller. The knowledge-base 
for the fuzzy controller associated with the nth process input is generated from IF-THEN control rules of 
the form: 
If ˜e1 is ˜E 
j 
1 and ... and ˜es is ˜ Ek 
s and ˜c1 is ˜ Cl1 
and ... and ˜cs is ˜ Cm 
s Then ˜un is ˜U 
j,...,k,l,...,m 
n , 
ba 
ba 
where ea ˜and ca ˜denote the linguistic variables associated with controller inputs ea and ca, respectively, 
un ˜denotes the linguistic variable associated with the controller output un, E˜ and C˜ denote the bth 
linguistic values associated with ˜ea and ˜ca, respectively, and ˜U 
j,...,k,l,...,m 
n denotes the consequent linguistic 
4
value associated with ˜un for the rule listed above. The above control rule may be quantified by utilizing 
fuzzy set theory to obtain a fuzzy implication of the form: 
If Ej 
1 and ... and Ek 
s and Cl1 
and ... and Cm 
s Then Uj,...,k,l,...,m 
n , 
where Eba 
, Cba 
n denote the fuzzy sets that quantify the linguistic statements “˜ea is ˜ Eba 
, and Uj,...,k,l,...,m 
”, “˜cs 
is ˜ Cm 
s ”, and “˜un is ˜U 
j,...,k,l,...,m 
n ”, respectively. This fuzzy implication can be represented by a fuzzy relation 
Rj,...,k,l,...,m 
n = (Ej 
1 
× ... × Ek 
s ) × (Cl1 
× ... × Cm 
s ) × Uj,...,k,l,...,m 
n . (3) 
The fuzzy controller decision mechanism for this control rule may be expressed by 
ˆU 
j,...,k,l,...,m 
n (kT) = ((ˆE 
1(kT) × ˆE 
2(kT) × ... × ˆ Es(kT)) × 
( ˆ C1(kT) × ˆ C2(kT) × ... × ˆ Cs(kT))) ◦ Rj,...,k,l,...,m 
n (4) 
where ˆE 
j(kT) and ˆ Cj (kT) denote the fuzzified error and change in error, respectively, associated with 
the jth element of e(kT) or c(kT), ˆU 
j,...,k,l,...,m 
n (kT) denotes the implied fuzzy set, and “◦” denotes Zadeh’s 
Composition. See [41] for a more detailed mathematical explanation of Equation 4. Typically in fuzzy 
system design, a fuzzy implication exists for every possible combination of fuzzy sets describing the inputs 
to the fuzzy system. Therefore, the fuzzy controller is made up of many fuzzy implications whose overall 
control action may be computed by the “center of gravity” (COG) method expressed as 
un(kT) = 
 
j,...,k,l,...,m 
Aˆj,...,k,l,...,m 
n (kT) ˆcj,...,k,l,...,m 
n (kT) 
 
j,...,k,l,...,m 
Aˆj,...,k,l,...,m 
n (kT) 
, (5) 
where Aˆj,...,k,l,...,m 
n (kT) and ˆcj,...,k,l,...,m 
n (kT) are the area and center of area, respectively, of the membership 
function associated with ˆU 
j,...,k,l,...,m 
n (kT). 
B. The Reference Model 
The reference model provides a capability for quantifying the desired performance of the process. In 
general, the reference model may be any type of dynamical system (linear or non-linear, time-invariant or 
time-varying, discrete or continuous time, etc.). The performance of the overall system is computed with 
respect to the reference model by generating an error signal ye(kT) = [ye1 ... yes ]t where 
ye(kT) = ym(kT) − y(kT). (6) 
Given that the reference model characterizes design criteria such as stability, rise time, overshoot, settling 
time, etc. and the input to the reference model is the reference input yr(kT), the desired performance of the 
controlled process is met if the learning mechanism forces y 
e 
(kT) to remain very small for all time. Hence, 
the error ye(kT) provides a characterization of the extent to which the desired performance is met at time 
t = kT. If the performance is met (ye(kT) ≈ 0) then the learning mechanism will not make significant 
modifications to the fuzzy controller. On the other hand if ye(kT) is big, the desired performance is not 
achieved and the learning mechanism must adjust the fuzzy controller. 
5
C. The LearningMe chanism 
As previously mentioned, the learning mechanism performs the function of modifying the knowledge-base of 
a direct fuzzy controller so that the closed-loop system behaves like the reference model. These knowledge-base 
modifications are made based on observing data from the controlled process, the reference model, and 
the fuzzy controller. The learning mechanism consists of two parts: a fuzzy inverse model and a knowledge-base 
modifier. The fuzzy inverse model performs the function of mapping necessary changes in the process 
output, as expressed by ye(kT), to the relative changes in to process inputs (denoted by p = [p1 ... pr]t) 
necessary to achieve these process output changes. The knowledge-base modifier performs the function of 
modifying the fuzzy controller’s knowledge-base to affect the needed changes in the process inputs. More 
details of this process are discussed next. 
The Fuzzy Inverse Model 
The fuzzy inverse model was developed by investigating methods to alleviate the problems with using 
the inverse process model in the linguistic SOC framework of Procyk and Mamdani [6]. Procyk and 
Mamdani’s use of the inverse process model depended on the use of an explicit mathematical model of 
the process and ultimately assumptions about the underlying physical process. This dependence on a 
mathematical model of the process often causes significant difficulties in applying their approach (e.g., 
they are often forced to assume that the plant will act like a constant gain (matrix) and hope that the 
adaptation mechanism can compensate for this inaccuracy). 
Using the fact that most often a control engineer will know how to roughly characterize the inverse 
model of the plant, we introduce the idea of using a fuzzy system to represent the inverse plant dynamics. 
We emphasize that it is not necessary to accurately characterize the inverse dynamics; only an approximate 
representation is needed. This “fuzzy inverse model” as it is shown in Figure 1, simply maps y 
e 
(kT), and 
possibly other parameters such as the functions of ye(kT) and the process operating conditions, to the 
necessary changes in the process inputs. Hence, the fuzzy inverse model is used to characterize how to 
change the plant inputs to force the plant output y(kT) to be as close as possible to y 
m 
(kT) (i.e., to 
make ye(kT) small). Again, we use r MISO fuzzy inverse models. While there exist numerous possible 
combinations of inputs to the fuzzy inverse model, in Figure 1 only error ye(kT) and the change in error 
yc(kT) are shown for the sake of brevity (e.g. delayed versions and functions of the variables could also be 
used). In this paper, we will assume ye(kT) and yc(kT) are always employed as inputs to the fuzzy inverse 
model. The reasons for using the change in the desired output change is to provide some “damping” in 
the learning mechanism. In other words, since we have information about the rate of change of the desired 
output changes, we may quantify that a small value of yei with a small change in yei is more desirable 
than a small value of yei with a large change in yei due to the fact that overshoot is likely to occur. (Using 
reasoning along similar lines the authors in [22] explain how to view the fuzzy inverse model as a controller 
in the adaptation loop and show how this perspective can be used in FMRLC design.) 
Note that similar to the fuzzy controller, the fuzzy inverse model shown in Figure 1 contains normalizing 
scaling factors, namely gye 
, gyc 
, and gp, for each universe of discourse. Selection of the normalizing gains 
6
can impact the overall performance of the system and a gain selection procedure is given below in Section D. 
The knowledge-base for the fuzzy inverse model associated with the nth process input is generated from 
e1 and ... and Y k 
fuzzy implications of the form: If Y j 
c1 and ... and Y m 
es and Y l 
n , where 
cs Then Pj,...,k,l,...,m 
Y b 
ea and Y b 
ca denote the bth fuzzy set associated with the error yea and change in error yca , respectively, 
and associated with the ath process output and Pj,...,k,l,...,m 
n denotes the consequent fuzzy set for this rule 
describing the necessary change in the nth process input. This fuzzy implication can be represented by a 
fuzzy relation Sj,...,k,l,...,m 
n = (Y j 
e1 
×...×Y k 
es )×(Y l 
c1 
×...×Y m 
cs )×Pj,...,k,l,...,m 
n . The fuzzy inverse model decision 
n (kT) = ((ˆ Ye1 (kT) × ˆYe2 (kT) × ... × 
mechanism for this fuzzy implication may be expressed by ˆ Pj,...,k,l,...,m 
ˆ Yes (kT))×( ˆ Yc1(kT)× ˆYc2 (kT)×...× ˆYcs(kT)))◦Sj,...,k,l,...,m 
n where ˆ Yep (kT) and ˆ Ycp (kT) denote the fuzzified 
error and change in error, respectively associated with the pth element of ye and yc, ˆ Pj,...,k,l,...,m 
n (kT) denotes 
the implied fuzzy set for this fuzzy implication describing input changes for the nth process input (actually 
the nth direct fuzzy controller). As was the case for the direct fuzzy controller, the overall input changes 
for the nth direct fuzzy controller pn(kT) are determined from the COG defuzzification method. 
A typical rule base array which may be employed in a fuzzy inverse model for a SISO process is 
e and 
shown in Table 1 below (this and other fuzzy inverse models are used in the applications) where Y j 
Y k 
c denote the fuzzy sets associated with ye(kT) and yc(kT), respectively, and the Pj,k 
i denote the fuzzy 
sets quantifying the desired process input change pi(kT). Note that the body of Table 1 lists the center 
values for convex, symmetric, and normal membership functions that are defined on universes of discourse 
normalized to [−1, 1]. 
Table 1: Typical rule base array table for the fuzzy inverse model. 
Y k 
c 
Pj,k 
i 
−5 −4 −3 −2 −1 +0 +1 +2 +3 +4 +5 
−5 −1.0 −1.0 −1.0 −1.0 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 
−4 −1.0 −1.0 −1.0 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 
−3 −1.0 −1.0 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 
−2 −1.0 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 
−1 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 
Y j 
e 0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 
+1 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 
+2 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +1.0 
+3 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +1.0 +1.0 
+4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +1.0 +1.0 +1.0 
+5 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 
The fuzzy inverse model rule base array shown in Table 1 was designed to take advantage of the “damp-ing” 
feature described above. For example, consider the case where ye(kT) = 0 which is best characterized 
by fuzzy set Y j 
e where j = 0 since it characterizes the case where ye(kT) is small. The best change in 
ye(kT), is yc(kT) = 0 which is characterized in a similar way by Y k 
c where k = 0. This zero point (i.e., the 
center of Table 1, j = k = 0) represents a point where the fuzzy inverse model indicates that no change in 
the input is required to force y(kT) = ym(kT) since this equality is already achieved. If for some time k, 
7
we have j = 0 but k = −2 (i.e., currently y(kT) is close to ym(kT) but y(kT) is increasing above ym(kT)) 
then Table 1 indicates that for Pj,k 
i , the center of the fuzzy set is at −0.4 which characterizes the fact 
that a negative increment should be added to the process input to ensure that y will not continue to in-crease 
(i.e., so that we maintain a small yei ). Similar statements hold for the remaining elements in Table 1. 
It is important to note that: (i) development of the fuzzy inverse model does not depend on the exis-tence 
and specification of the mathematical model of the plant or its inverse (i.e., the plant inverse need not 
exist), (ii) the fuzzy inverse model should not be confused with the mathematical model of the inverse of 
the plant that is sometimes used in fixed (i.e., non-adaptive) control where the controller has no ability to 
synthesize itself or auto-tune in response to plant parameter changes, and (iii) while the above discussion 
provides some general guidelines for the construction of the fuzzy inverse model, and the applications in 
Section III show how to construct it for a rocket velocity control problem with time-varying parameters 
and a multi-input multi-output robot control problem, if the plant is very complex then it can sometimes 
be difficult to specify the fuzzy inverse model. To gain further insight into how to specify the fuzzy inverse 
model see [22] where a fuzzy inverse model is developed for a FMRLC which is implemented on a complex 
flexible robotic mechanism (the perspective used there is that the fuzzy inverse model acts as a controller 
in the adaptation loop). Moreover, see [20, 18] for the details on how to specify the fuzzy inverse model for 
the FMRLC for a cargo ship steering application and a anti-skid braking problem. Overall, the FMRLC’s 
performance depends on the engineer’s ability to specify a fuzzy inverse model. For the applications listed 
above we have found that the fuzzy inverse model is relatively easy to specify and that it does not need 
to be extremely accurate since the learning mechanism tends to compensate for the inaccuracies. The 
general guidelines given above, coupled with the applications studied in this paper and in [22, 20, 18], 
provide significant insights into choosing the fuzzy inverse model so that the FMRLC will be useful for 
other applications. Finally, it is interesting to note that other inherent uses of inverse dynamics of the 
plant in adaptive fuzzy control schemes can be found in [30, 31, 34]. 
The Knowledge-Base Modifier 
The knowledge-base modifier presented next grew from work that focused on improving the knowledge-base 
modification approach for the linguistic SOC [6]. In the linguistic SOC framework, knowledge-base 
modification was performed on the overall fuzzy relation (Rn = 
 
j,...,k,l,...,m 
n ) used to implement 
Rj,...,k,l,...,m 
the fuzzy controller. However, this method of knowledge-base modification can be computationally complex 
due to the fact that Rn is generally a very large array. Here we use a knowledge-base modification algorithm 
(similar to the one in [11]) which increases computational efficiency by modifying the membership functions 
of consequent fuzzy sets Uj,...,k,l,...,m 
n rather than the fuzzy relation array Rn. 
The knowledge-base modifier performs the function of modifying the fuzzy controller so that better 
performance is achieved. Given the information about the necessary changes in the input as expressed by 
the vector p(kT) from the fuzzy inverse model, the knowledge-base modifier changes the knowledge-base 
of the fuzzy controller so that the previously applied control action will be modified by the amount p(kT). 
Therefore, consider the previously computed control action, which contributed to the present good/bad 
system performance. Note that e(kT −T) and c(kT −T) would have been the process error and change in 
error, respectively, at that time. Likewise, u(kT − T) would have been the controller output at that time. 
8
The controller output which would have been desired is expressed by 
¯u(kT − T) = u(kT − T) + p(kT). (7) 
Next we will show that by modifying the fuzzy controller’s knowledge-base we may force the fuzzy controller 
to produce this desired output given similar controller inputs. 
Assume that only symmetric membership functions are defined for the fuzzy controller’s output so that 
cj,...,k,l,...,m 
n denotes the center value of the membership function associated with the fuzzy set Uj,...,k,l,...,m 
n . 
Knowledge-base modification is performed by shifting centers of the membership functions of the fuzzy 
sets Uj,...,k,l,...,m 
n which are associated with the fuzzy implications that contributed to the previous control 
action u(kT − T). This modification involves shifting these membership functions by an amount specified 
by p(kT) = [p1(kT) ... pr(kT)]t so that 
cj,...,k,l,...,m 
n (kT) = cj,...,k,l,...,m 
n (kT − T) + pn(kT). (8) 
The degree of contribution for a particular fuzzy implication in the fuzzy controller whose fuzzy relation 
is denoted Rj,...,k,l,...,m 
n is determined by its “activation level”, defined 
δj,...,k,l,...,m 
n (t) =min{μEj 
1 
(e1(t)), ..., μEk 
s 
(es(t)), 
μCl1 
s (cs(t))}, (9) 
(c1(t)), ..., μCm 
where μA denotes the membership function of the fuzzy set A and t denotes the current time. Only 
those fuzzy implications Rj,...,k,l,...,m 
n (kT − T) whose activation level δj,...,k,l,...,m 
n (kT − T)  0 are modified. 
All others remain unchanged (this allows for local learning and hence memory for our learning controller 
[40, 21]). 
Consider the effect that the above knowledge-base modification has on the COG defuzzification (for 
the direct fuzzy controller) expressed in Equation 5. Notice that since the area of the implied fuzzy sets is 
proportional to the “activation level” of the fuzzy relation (i.e., Aj,...,k,l,...,m 
n (kT −T) ∝ δj,...,k,l,...,m 
n (kT −T)) 
only those fuzzy relations whose activation levels are greater than zero affect the center of gravity, or 
control action. Furthermore, notice that since symmetric membership functions are utilized, a shift in the 
membership function associated with fuzzy set Uj,...,k,l,...,m 
n (kT) will also shift, by the same amount, the 
centers of the membership functions associated with the previous implied fuzzy sets ˆU 
j,...,k,l,...,m 
n (kT − T). 
Therefore, given the previous controller inputs e(kT − T) and c(kT − T) and the new fuzzy relation 
Rj,...,k,l,...,m 
n (kT) obtained after shifting the consequent fuzzy set, the new center value of the membership 
function associated with the implied fuzzy set ˆU 
j,...,k,l,...,m 
n (kT − T) is expressed as 
¯ˆcj,...,k,l,...,m 
n (kT − T) = ˆcj,...,k,l,...,m 
n (kT − T) + pn(kT). (10) 
Substituting this new center value into Equation 5 we obtain 
¯un(kT − T) = 
 
n (kT − T) ¯ˆcj,...,k,l,...,m 
j,...,k,l,...,mAj,...,k,l,...,m 
n (kT − T) 
 
j,...,k,l,...,mAj,...,k,l,...,m 
n (kT − T) 
(11) 
where ¯un(kT − T) is the new control action that is obtained. Simplifying, it is easy to see that 
¯un(kT − T) = un(kT − T) + pn(kT), (12) 
9
which is the desired effect. Notice that this approach also achieves “generalization” as it is called in learning 
theory [40] since it will at the same time learn how to deal with values that are near to those considered 
(i.e., near to e(kT), c(kT), and y(kT)). Along these lines it is interesting to note that our knowledge-base 
modification procedure implements a form of local adaptation and hence utilizes memory. Different 
parts of the rule-base are “filled in” based on different operating conditions of the system, and when one 
area of the rule-base is updated, the other rules are not affected. Hence, the controller adapts to new sit-uations 
and also remembers how it has adapted to past situations (this is why the term “learning” is used). 
As an example of the knowledge-base modification procedure, Table 2 shows a knowledge-base array 
table where its entries represent the center values of symmetric membership functions associated with the 
implied fuzzy sets Uj,k defined on a normalized universe of discourse (normalized to [−1, 1]). Given that 
the fuzzy controller employs a knowledge-base array table similar to Table 2, the process of knowledge-base 
modification reduces to a simple two step algorithm which is expressed below. 
1. Determine which fuzzy implications in the knowledge-base array table contributed to the previously 
applied input. In other words, determine the fuzzy implications whose premise element has an 
activation level above zero (i.e., the rule is “on” -its implied fuzzy set is not null). 
2. Modify the entries in the knowledge-base array for those fuzzy implications. 
Table 2: Typical knowledge-base array table. 
Ck 
Uj,k −5 −4 −3 −2 −1 +0 +1 +2 +3 +4 +5 
−5 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 
−4 +1.0 +1.0 +1.0 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 
−3 +1.0 +1.0 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 
−2 +1.0 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 
−1 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 
Ej 0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 
+1 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 
+2 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −1.0 
+3 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −1.0 −1.0 
+4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −1.0 −1.0 −1.0 
+5 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −1.0 −1.0 −1.0 −1.0 
For example, assume that the previous process error e(kT−T) took on a value such that the membership 
functions associated with sets E+3 and E+4 shown in Table 2 evaluated to be greater than zero. Similarly, 
assume that the previous change in the process error c(kT − T) was best characterized by the fuzzy sets 
C−4 and C−5. The fuzzy implications which contributed (i.e., had δ  0) to the previously applied process 
input are illustrated by the boxed entries in Table 2 (i.e., they are all the implications which contain as 
left-hand-side elements the boxed entries – 4 rules in this case). Suppose that pi(kT) = guip 
i(kT) so that 
p 
i(kT) is the normalized desired change in the process input. For our example, assume that p 
i(kT) = 0.1, 
then after knowledge-base modification for the boxed values 0.4, 0.2, 0.0, and 0.2 in Table 2 we get 0.5, 
0.3, 0.1 and 0.3, respectively (all other entries in the Table remain unchanged at this time). 
10
D. FMRLC Design Procedure and Implementation Issues 
The design procedure for the FMRLC involves: (i) the specification of a direct fuzzy controller with 
consequent membership functions that can be tuned (this fuzzy controller can be chosen via conventional 
(heuristic) fuzzy control design techniques for the nominal plant), (ii) specifying the reference model which 
characterizes the desired system performance, (iii) specifying the fuzzy inverse model which characterizes 
how the inputs to the plant should be changed so that the desired performance is achieved, and (iv) 
selection of the normalizing gains for the fuzzy controller and the fuzzy inverse model. As selection of 
the normalizing gains for both the fuzzy controller and the fuzzy inverse model can impact the overall 
performance, next we will provide a procedure to choose these parameters. It is important to note that 
although it is often not highlighted, most learning/adaptive control approaches require some type of initial 
choice of controller structure and parameters (e.g., the choice of an adaptation gain or initial controller 
parameters in a conventional adaptive controller). The gain selection procedure to be presented next 
provides a systematic methodology to select such initial parameters for the FMRLC. 
Due to physical constraints for a given system, the range of values for the process inputs and outputs 
is generally known from a qualitative analysis of the process. As a result, we can determine the range of 
values or the universe of discourse for e(kT), u(kT), ye(kT), and p(kT). Consequently, ge, gu, gye 
, and 
gp are chosen so that the appropriate universes of discourse are mapped to [−1,+1]. To determine gc we 
disconnect the adaptive mechanism and pick it using standard fuzzy control system design techniques or 
by iteratively applying inputs to yr, observing c(kT), and finding a scaling factors to map the universes of 
discourse to [−1, 1]. 
The vector gyc 
is left as a vector of tuning parameters for the FMRLC. Recall that the scaling factors 
g 
yc 
associated with the change in the desired output changes has the effect of providing “damping” to the 
controller modifications. Moreover, the “damping” effect is increased as the elements of the scaling factor 
gare increased. A suitable selection of gyc 
yc 
may be obtained by monitoring the response of the overall 
process with respect to the reference model response. If undesirable oscillations exist between a given 
process and the associated reference model output response, it is likely that the element of g 
yc 
associated 
with this ouput is too small and should be increased. Likewise, if a given element of gyc 
is too large, the 
process will be unable to keep up with the reference model due to the resulting damping. 
Below a simple procedure is presented for selecting the gains: 
1. Select the controller gains g 
e 
, g 
u 
, and g 
ye 
so that each universe of discourse is mapped to the interval 
[−1, 1]. 
2. Choose the controller gains gpi to be the same as for the fuzzy controller output gain gui . This will 
allow the pi(kT) to take on values as large as the largest possible inputs ui(kT). 
3. Using standard fuzzy control design techniques (i.e., ones that use human expertise) or simple ex-periments 
choose gc to map the universes of discourse of c(kT) to [−1, 1]. 
4. Assign the numerical value 0 to the scaling factors associated with the changes in the desired output 
changes (i.e., all elements of gyc 
are set equal to 0). 
5. Apply a step input to the process which is of a magnitude that may be typical for the process during 
normal operation. Observe the process response and the reference model response. 
11
6. Three cases: 
(a) If there exist unacceptable oscillations in a given process output response about the reference 
model response, then increase the associated element of gyc 
. Go to step 5. 
(b) If a given process output response is unable to “keep up” with the reference model response, 
then decrease the associated element of gyc 
. Go to step 5. 
(c) If the process response is acceptable with respect to the reference model response, then the 
controller design is completed. 
For the applications presented in this paper, the above gain selection procedure has proven very successful. 
However, given that the procedure is a result of practical experience with the FMRLC rather than strict 
mathematical analysis, it is likely that it will not work for all processes. For some applications (none of 
the ones we’ve studied in [21, 12, 19, 20, 18, 22]), the procedure may result in an unstable process. In such 
situations, it may be necessary to modify other controller parameters such as the controller sampling period 
T or the number of fuzzy controller rules. Clearly, the stability analysis of the FMRLC is an important 
research direction. 
Note that when implementing (and simulating) the FMRLC one must be concerned with the “curse of 
dimensionality”. Particularly, assume that: (i) the fuzzy controller has s inputs (where s = αs with α = 2 
for the case shown in Figure 1), r outputs, and N membership functions on each of its input universes 
of discourse; (ii) the fuzzy inverse model has s inputs (where s = βs with β = 2 for the case shown in 
Figure 1), r outputs, and M membership functions on each of its input universes of discourse; and (iii) 
that both the fuzzy controller and the fuzzy inverse model use the maximum number of rules possible (for 
completeness). In this case there are r(Ns + Ms ) rules in the FMRLC. As is the case with standard 
fuzzy control, increasing the number of inputs causes an exponential increase in the number of rules. It 
is important to note that if one assumes that the membership functions are uniformly distributed across 
the input universes of discourse so that at most two overlap for any point (this is in fact what we do in 
all the applications in this paper), then at most r(2s + 2s ) rules will be on at one time and hence the 
code implementing the FMRLC is much less complex than one might think at first glance. It is in fact 
this characteristic that we exploit when we implemented the FMRLC for the flexible robotic system in [22] 
where the FMRLC had 1150 rules and operated with a sampling interval of 15 milliseconds on a 386-based 
computer. 
III Applications 
A. Rocket Velocity Control 
In this section we illustrate the performance of a FMRLC which is employed to control the velocity of 
a single stage rocket. A mathematical model for this process is presented by Barr´ere et al. in [42] and 
Mandell et al. in [43] and is expressed by the following differential equation: 
d v(t) 
dt 
= c(t) 
 
m 
M −m t 
 
− go 
 
R 
R + y(t) 
 
− 0.5 v2(t) 
 
ρa A Cd 
M −m t 
 
, (13) 
where v(t) is the rocket velocity at time t, y(t) is the altitude of the rocket (above sea level), c(t) is the 
velocity of the exhaust gases, and for our simulation: (i) M = 15000.0 kg -in itial mass of the rocket and 
12
fuel, (ii) m = 100.0 kg 
s -e xhaust gases mass flow rate (approximately constant for some solid propellant 
rockets), (iii) A = 1.0 meter2 -maxim um cross sectional area of the rocket, (iv) go = 9.8 meters 
s2 -th e 
acceleration due to gravity at sea level, (v) R = 6.37×106 meters -r adius of the earth, (vi) ρa = 1.21 kg 
m3 
-d ensity of air, and (vii) Cd = 0.3 -dr ag coefficient for the rocket. 
The mathematical model in Equation 13 was developed based on the simple dynamics of a point mass. 
However, in general, rockets dynamics are studied in the realm of exterior ballistics. This type of analysis 
often tends to be very complex and falls outside the scope of this paper. However, even in this restricted 
context the modeled dynamics have characteristics which make for difficult control. For example, due to 
the loss of fuel resulting from combustion and exhaust the rocket has a time-varying mass. Furthermore, 
it can be determined by inspection of Equation 13 that the system is a non-linear process. Indeed, the 
primary purpose for considering this control application is to investigate the capability of the FMRLC 
algorithm for controlling non-linear time-varying processes. 
As stated before, the control objective is to control the velocity of the rocket. To accomplish this task 
the rocket is assumed to have one input, namely the velocity of the exhaust gases c(t). In general, the 
exhaust gas velocity is proportional to the cross-sectional area of the nozzle. Consequently, the exhaust 
gases may be controlled by changing this cross sectional area. However, for this controller implementation, 
we assume that the dynamics of the actuators which change the nozzle area and the dynamics of the 
exhaust gases are fast relative the rocket velocity dynamics and therefore may be eliminated from the 
model. 
1. FMRLC Design 
The inputs to the fuzzy controller are the velocity error and change in error and the controller output is 
the velocity of the exhaust gases. In this fuzzy controller design, 11 fuzzy sets are defined for each controller 
input (using the structure of Figure 1) such that the membership functions are triangular shaped and evenly 
distributed on the appropriate universe of discourse (of course the outer-most membership functions are 
trapezoidal). The normalizing controller gains for the error, change error, and the controller output are 
chosen to be ge = 1 
4000, gc = 1 
2000, and gu = 10000, respectively. The fuzzy sets for the fuzzy controller 
output are also assumed to be triangular shaped with a width of 0.4 on the normalized universe of discourse. 
The knowledge-base array was initially chosen with all zero entries. The fuzzy controller sampling period 
was chosen to be T = 100 milliseconds. 
The reference model for this process was chosen to represent somewhat realistic performance specifica-tions 
and is expressed by the following differential equation 
d ym(t) 
dt 
= −0.2 ym(t) + 0.2 yr(t), (14) 
where ym(t) specifies the desired system performance for the rocket velocity v(t) and the input to the 
reference model yr(t) is equal to the desired rocket velocity. 
The inputs to the fuzzy inverse model include the error and change in error between the reference model 
and the rocket velocity expressed as ye(kT) = ym(kT)−v(kT), and yc(kT) = ye(kT )−ye(kT−T ) 
T , respectively. 
For these inputs, 11 fuzzy sets are defined with triangular shaped membership functions which are evenly 
distributed on the appropriate universes of discourse. The normalizing controller gains associated with 
ye(kT), yc(kT), and p(kT) are chosen to be gye = 1 
4000, gyc = 1 
2000, and gp = 10000, respectively. For 
13
the rocket process, for an increase in the exhaust gas velocity we would generally expect an increase in 
the process output. Consequently, the knowledge-base array shown in Table 1 was employed for the fuzzy 
inverse model. 
2. Simulation Results 
The simulation results for the FMRLC of the rocket are shown below in Figure 2. Note that the system 
1500 
1000 
500 
0 
Ref. input 
Ref. Model Response 
Actual Response 
0 20 40 60 80 100 120 
Time (sec) 
Rocket Velocity (m/s) 
Rocket Response - FMRLC 
10000 
8000 
6000 
4000 
2000 
0 
0 20 40 60 80 100 120 
Time (sec) 
Exhaust Gas Velocity (m/s) 
Velocity of the Exhaust Gas 
40 
30 
20 
10 
0 
-10 
0 20 40 60 80 100 120 
Time (sec) 
Ref Model Error (m/s) 
Error Between the Reference Model Output and the Rocket Velocity 
8 x104 
6 
4 
2 
0 
0 20 40 60 80 100 120 
Time (sec) 
Rocket Altitude (m) 
Altitude of the Rocket 
Figure 2: Simulation results for FMRLC control of the rocket system. 
exhibits “good” tracking with the reference model even after the mass of the rocket has been reduced 
significantly from the initial mass due to fuel loss (note that lower amounts of exhaust gas velocity, the 
control input, are needed as more fuel is used). This application clearly illustrates the effectiveness of the 
FMRLC algorithm for controlling a nonlinear time varying process. 
14
B. Two-Degree of Freedom Robot Manipulator 
Figure 3 illustrates the physical model of a two degree of freedom manipulator. It consists of two links 
where link #1 is mounted on a rigid base by means frictionless hinge and link #2 is mounted at the end 
of link #1 by means of a frictionless ball bearing. This control problem is provided to illustrate the 
θ1 
θ2 
l 
l 
l 
l 
c 
c 
2 
1 
2 
1 
I 2 
I 1 
Link #1 
Link #2 
Joint #1 
Joint #2 
Figure 3: Graphical representation of a 2-link robot. 
application of the FMRLC to a nonlinear MIMO system. The inputs to the process are the torques τ1 
and τ2 which are applied to the links at joints #1 and #2. The outputs are the joint positions θ1 and θ2. 
The model for the robotic system was developed using the well-known Lagrangian equations in classical 
dynamics and is expressed by the following matrix differential equation [44, 8]: 
 
H11 H12 
H21 H22 
 
¨θ1 
¨θ2 
 
+ 
 
−hθ˙2 −hθ˙1 − hθ˙2 
hθ˙1 0 
 
θ˙1 
θ˙2 
 
+ 
 
g1 
g2 
 
= 
 
τ1 
τ2 
 
(15) 
where 
H11 = m1l2 
c1 + I1 + m2[l2 
1 + l2 
c2 + 2l1lc2 cos(θ2)] + I2 (16) 
H22 = m2l2 
c2 + I2 (17) 
H12 = H21 = m2l1lc2 cos(θ2) +m2l2 
c2 + I2 (18) 
h = m2l1lc2 sin(θ2) (19) 
g1 = m1lc1g cos(θ1) + m2g[lc2 cos(θ1 + θ2) + l1 cos(θ1)] (20) 
g2 = m2lc2g cos(θ1 + θ2), (21) 
15
and where θ = [θ1 θ2]T are the two joint angles, τ = [τ1 τ2]T are the input joint torques. For purpose of 
our simulation the robot parameters are given by: (i) m1 = 1.0 kg -m ass of link #1, (ii) m2 = 1.0 kg 
-m ass of link #2, (iii) l1 = 1.0 meters -le ngth of link #1, (iv) l2 = 1.0 meters -le ngth of link #2, 
(v) lc1 = 0.5 meters -d istance from joint #1 to the center of gravity of link #1, (vi) lc2 = 0.5 meters - 
distance from joint #2 to the center of gravity of link #2, (vi) I1 = 0.2 kg − m2 -le ngthwise centroidal 
inertia of link #1, and (vii) I2 = 0.2 kg −m2 -le ngthwise centroidal inertia of link #2. 
1. FMRLC Design 
For this application, the process contains two inputs, namely τ1 and τ2. Consequently, two MISO fuzzy 
controllers are needed for this process (one for each process input). The inputs to the fuzzy controller are 
the robot joint position error e = [e1 e2]T and change in error c = [c1 c2]T . The fuzzy controllers have 
outputs τ1 for the first controller and τ2 for the second controller. For both fuzzy controller designs, 11 
fuzzy sets are defined for each controller input such that the membership functions are triangular shaped 
(with base widths of 0.4) and evenly distributed on appropriate universes of discourse (the outer-most 
membership functions are trapezoidal). Also, the normalizing controller gains for the error, change error, 
and the controller output are chosen to be g= [ 1 
1 
]T , g= [ 1 
1 
]T, and g= [100 25]T , respectively. 
e 2π 
2π c 20 
20 u The knowledge-base array for both fuzzy controllers was initially chosen with all zero entries. The fuzzy 
controller sampling period was chosen to be T = 5 milliseconds. 
The reference model for this FMRLC design is given by the following differential equation 
 
y˙m1 (t) 
y˙m2 (t) 
 
= 
 
−0.75 0.0 
0.0 −1.5 
 
ym1 (t) 
ym2 (t) 
 
+ 
 
+0.75 0.0 
0.0 +1.5 
 
yr1 (t) 
yr2 (t) 
 
, (22) 
where ym1 and ym2 specify the system performance for θ1 and θ2, respectively. For FMRLC implementation, 
the inputs to the reference model yr1 and yr2 are equal to the desired position of joints #1 and #2, 
respectively. 
For this FMRLC design, two fuzzy inverse models are needed, one for each fuzzy controller. In general, 
both process inputs will affect both process outputs. However, for this fuzzy inverse model design we will 
assume that the cross-coupling between the inputs is negligible (i.e., τ1 affects only θ1 and τ2 affects only 
θ2). As a result, the input to a given fuzzy inverse model includes the error and change in error between 
the associated reference model output and robot position. Therefore, for the ith fuzzy inverse model, these 
inputs may expressed as yei (kT) = ymi (kT) − θi(kT) and yci (kT) = yei (kT )−yei (kT−T ) 
T respectively. For 
these inputs, 11 fuzzy sets are defined with triangular shaped membership functions which are evenly 
distributed on the appropriate universe of discourse. The normalizing fuzzy system gains associated with 
y(kT), y(kT), and p(kT) are chosen to be g= [ 1 
1 
]T , g= [1 1 
]T, and g= [100 25]T , respectively. 
ecye 
2π 
2π yc 
2 p For the robot process for an increase in the torque τ1 we would generally expect an increase in the process 
output θ1. Likewise, for an increase in the torque τ2 we would generally expect an increase in the process 
output θ2. Consequently, the knowledge-base array shown in Table 1 was employed for both fuzzy inverse 
models. 
16
2. Simulation Results 
The simulation results for the FMRLC of the two degree-of-freedom robot manipulator are shown 
below in Figure 4 for joint #1 and Figure 5 for joint #2. Once again the FMRLC provided good 
250 
200 
150 
100 
50 
0 
Ref. Input 
Ref. Model Response 
Actual Response 
0 10 20 30 40 50 60 70 80 90 100 
Time (sec) 
Joint #1 Position (deg) 
Robot Response - FMRLC 
Figure 4: Simulation results for joint #1 of FMRLC controlled robot system. 
150 
100 
50 
0 
-50 
-100 
-150 
Ref. Input 
Ref. Model Response 
Actual Response 
0 10 20 30 40 50 60 70 80 90 100 
Time (sec) 
Joint #2 Position (deg) 
Robot Response - FMRLC 
Figure 5: Simulation results for joint #2 of FMRLC controlled robot system. 
system tracking with respect to the reference model. As a result, the system exhibits good steady state 
and transient response. In fact, the response for joint #1 in Figure 4 was so close to the response of the 
reference model that the two almost perfectly overlap. 
IV Concluding Remarks 
The principal objectives of this paper were to: (i) introduce the FMRLC, (ii) provide a design method-ology 
for the FMRLC, (iii) design a FMRLC for a nonlinear time-varying rocket velocity control problem, 
17
and (iv) develop a MIMO FMRLC for a nonlinear two degree-of-freedom robot manipulator. The key 
advantages that the FMRLC seems to offer as a learning controller may be summarized as follows: 
• A detailed analytical model of the process is not needed to develop the FMRLC. 
• The FMRLC provides an automatic method to synthesize a portion of the knowledge-base (specif-ically, 
the right-hand-sides of the rules) for the direct fuzzy controller while at the same time it 
ensures that the system will behave in a desirable fashion (in particular, there is no need to “learn 
from drastic failures” as is often the case for other learning control techniques -e. g., as is often done 
for the inverted pendulum). 
• The learning/adaptation mechanism in the FMRLC dynamically and continually updates the rule-base 
in the direct fuzzy controller in response to process parameter variations and/or disturbances 
(e.g., see the rocket velocity control application). In this way if unpredictable changes occur within 
the plant, the FMRLC can make on-line adjustments to a direct fuzzy controller to maintain adequate 
performance levels. 
Basically, by combining learning/adaptive control concepts with fuzzy system theory, we have developed 
a control scheme which often has a fast rate of convergence and often provides an appropriate nonlinear 
mapping between controller inputs and outputs (i.e., it automatically performs “function approximation” 
[40] to achieve learning control). 
Despite these apparant advantages of the FMRLC algorithm, several drawbacks do exist: (1) the design 
procedure (e.g., selection of the normalizing gains) tends to be somewhat ad hoc, (2) there have been no 
investigations for the FMRLC (or any other fuzzy adaptive technique) to theoretically show that the fuzzy 
controller can in fact be tuned so that the performance specified in the reference model can be achieved 
(this problem is very well studied in conventional adaptive control where linear controllers are tuned so 
that performance specified in linear reference models is achieved), (3) conditions for stability and conver-gence 
of the FMRLC algorithm are yet to be found, (4) persistent excitation [7, 8] issues for the FMRLC 
need to be mathematically investigated (since the reference input affects the ability of the fuzzy controller 
parameters to converge to values that result in the reference model behavior being achieved), and (5) 
although it provides certain improvements over SOC (as shown in [12]), the FMRLC algorithm is still 
computationally intensive. These disadvantages provide several future research directions. For example, 
future research involving the FMRLC algorithm should include a mathematical analysis of the controller to 
better quantify the effect of controller design parameters. Perhaps the most important research direction is 
to perform stability and convergence analysis in the spirit of the extensive and significant contributions in 
stability analysis of conventional adaptive control [7, 8] and the important recent (actually yet to appear) 
results in [38]. Such stability analysis can be quite involved as the learning mechanism for the FMRLC ad-justs 
a nonlinear (fuzzy) controller as opposed to the conventional adaptive control case where often linear 
controllers are adjusted (there is, however, a growing body of literature on adapting nonlinear controllers). 
Finally, research must be directed towards developing faster algorithms for FMRLC computations to en-sure 
that the FMRLC can be employed in real world applications (along the same lines as was done in [22]). 
Acknowledgement: The authors would like to thank the reviewers for their helpful comments. 
18
References 
[1] W. Kickert and H. V. N. Lemke, “Application of a fuzzy controller in a warm water plant,” Automatica, vol. 12, 
no. 4, pp. 301–308, 1976. 
[2] E. Mamdani and S. Assilian, “An experiment in linguistic synthesis with a fuzzy logic controller,” Intl. Journal 
of Man-Machine Studies, vol. 7, no. 1, pp. 1–13, 1975. 
[3] J. Bernard, “Use of a rule-based system for process control,” IEEE Control Systems Magazine, vol. 8, pp. 3–13, 
October 1988. 
[4] Y. Li and C. Lau, “Development of fuzzy algorithms for servo systems,” IEEE Control Systems Magazine, vol. 9, 
pp. 65–72, April 1989. 
[5] K. Self, “Designing with fuzzy logic,” IEEE Spectrum, pp. 42–105 and 105, November 1990. 
[6] T. Procyk and E. Mamdani, “A linguistic self-organizing process controller,” Automatica, vol. 15, no. 1, pp. 15– 
30, 1979. 
[7] K. ˚Astr¨om and B. Wittenmark, Adaptive Control. Reading, Massachusetts: Addison-Wesley Publishing Com-pany, 
1989. 
[8] K. Narendra and A. Annaswamy, Stable Adaptive Systems. Englewood Cliffs, New Jersey: Prentice Hall, 1989. 
[9] E. Scharf and N. Mandic, “The application of a fuzzy controller to the control of a multi-degree-of-freedom 
robot arm,” in Industrial Applications of Fuzzy Control, pp. 41–62, Amsterdam, the Netherlands: M. Sugeno 
(ed.), 1985. 
[10] R. Tanscheit and E. Scharf, “Experiments with the use of a rule-based self-organising controller for robotics 
applications,” Fuzzy Sets and Systems, vol. 26, pp. 195–214, 1988. 
[11] T. Yamazaki, An improved algorithm for a self-organizing controller and its experimental analysis. PhD thesis, 
London University, 1982. 
[12] J. Layne and K. Passino, “Fuzzy model reference learning control,” Proceedings of the 1st IEEE Conference on 
Control Applications, pp. 686–691, Dayton, Ohio, September 1992. 
[13] S. Shao, “Fuzzy self-organizing controller and its application for dynamic processes,” Fuzzy Sets and Systems, 
vol. 26, pp. 151–164, 1988. 
[14] S. Isaka, A. Sebald, A. Karimi, N. Smith, and M. Quinn, “On the design and performance evaluation of adaptive 
fuzzy controllers,” Proceedings, 1988 IEEE Conference on Decision and Control, pp. 1068–1069, Austin, Texas, 
December 1988. 
[15] S.Daley and K. F. Gill, “Comparison of a fuzzy logic controller with a P+D control law,” Journal of Dynamical 
System, Measurement, and Control, vol. 111, pp. 128–137, June 1989. 
[16] S.Daley and K. F. Gill, “Altitude control of a spacecraft using an extended self-organizing fuzzy logic controller,” 
Proc. I. Mech. E., vol. 201, no. 2, pp. 97–106, 1987. 
[17] S.Daley and K. F. Gill, “A design study of a self-organizing fuzzy logic controller,” Proc. I. Mech. E., vol. 200, 
pp. 59–69, 1986. 
[18] J. Layne, K. Passino, and S. Yurkovich, “Fuzzy learning control for anti-skid braking systems,” IEEE Trans. 
on Control System Technology, vol. 1, pp. 122–129, June 1993. 
[19] J. Layne, K. Passino, and S. Yurkovich, “Fuzzy learning control for anti-skid braking systems,” Proc. IEEE 
Conf. on Decision and Control, pp. 2523–2528, Tucson, AZ, December 1992. 
[20] J. Layne and K. Passino, “Fuzzy model reference learning control for cargo ship steering,” IEEE Control Systems, 
vol. 13, no. 6, pp. 23–34, 1993. 
[21] J. Layne, “Fuzzy model reference learning control,” Master’s thesis, Department of Electrical Engineering, The 
Ohio State University, March 3 1992. 
[22] V. Moudgal, W. Kwong, K. Passino, and S. Yurkovich, “Learning control for a two-link flexible mechanism,” 
Proc. of the American Control Conference, pp. Baltimore, MD, June 1994. 
[23] W. Kwong and K. Passino, “Fuzzy learning systems for aircraft control law reconfiguration,” Proceedings of the 
IEEE Int. Symp. on Intelligent Control, pp. Columbus, Ohio, Aug. 16-18 1994. 
[24] G. Bartolini, G. Casalino, F. Davoli, R. M. M.Mastretta, and E. Morten, “Development of performance adaptive 
fuzzy controllers with applications to continuous casting plants,” Industrial Application of Fuzzy Control, pp. 73– 
86, 1985. 
19
[25] H. Takahashi, “Automatic speed control device using self-tuning fuzzy logic,” 1988 IEEE Workshop on Auto-motive 
Applications of Electronics, pp. 65–71, Dearborn, Michigan, October 1988. 
[26] T. Takagi and M. Sugeno, “Fuzzy identification of systems and its applications to modeling and control,” IEEE 
Transactions on systems, Man, and Cybernetics, vol. 15, no. 1, pp. 116–132, 1985. 
[27] L. Wang and J. Mendel, “Generating fuzzy rules by learning from examples,” Proceedings, 1991 IEEE Interna-tional 
Symposium on Intelligent Control, pp. 263–268, Arlington, Virginia, August 1991. 
[28] R. M. Tong, “Some properties of fuzzy feedback systems,” IEEE Transactions on Systems, Man, and Cybernet-ics, 
vol. 10, pp. 327–330, June 1980. 
[29] A. Cumani, “On a possibilistic approach to the analysis of fuzzy feedback systems,” IEEE Transactions on 
Systems, Man, and Cybernetics, vol. 12, pp. 417–422, May/June 1982. 
[30] E. CzogaZla and W. Pedrycz, “On identification in fuzzy systems and its applications in control problems,” Fuzzy 
Sets and Systems, vol. 6, pp. 73–83, 1981. 
[31] E. CzogaZla and W. Pedrycz, “Control problems in fuzzy systems,” Fuzzy Sets and Systems, vol. 7, pp. 257–273, 
1982. 
[32] C. Batur, A. Srinivasan, and C. Chan, “Automatic rule based model generation for uncertain complex dynamical 
systems,” Proceedings, 1991 IEEE International Symposium on Intelligent Control, pp. 275–279, 1991. 
[33] F. V. D. Rhee, H. V. N. Lemke, and J. Dijkman, “Knowledge based fuzzy control of systems,” IEEE Transactions 
on Automatic Control, vol. 35, pp. 148–155, February 1990. 
[34] P. Graham and R. Newell, “Fuzzy adaptive control of a first-order process,” Fuzzy Sets and Systems, vol. 31, 
pp. 47–65, 1989. 
[35] P. Graham and R. Newell, “Fuzzy identification and control of a liquid level rig,” Fuzzy Sets and Systems, vol. 8, 
pp. 255–273, 1988. 
[36] “IEEE Int. Conf. on Fuzzy Systems, San Diego,” 1992. 
[37] R. Langari and H. Berenji, “Fuzzy logic in control engineering,” in Handbook of Intelligent Control, pp. 93–140, 
Van Nostrand Reinhold, New York: D. White and D. Sofge (eds.), 1992. 
[38] L. Wang, “Stable adaptive fuzzy control of nonlinear systems,” Proceedings of the IEEE Conf. on Decision and 
Control, December 1992. 
[39] H. Berenji, “Fuzzy and neural control,” in An Introduction to Intelligent and Autonomous Control Systems 
(P. Antsaklis and K. Passino, eds.), Kluwer Academic Publishers; Norwell MA, 1993. 
[40] J. Farrell and W. Baker, “Learning control systems,” in An Introduction to Intelligent and Autonomous Control 
Systems (P. Antsaklis and K. Passino, eds.), Kluwer Academic Publishers; Norwell MA, 1993. 
[41] C. Lee, “Fuzzy logic in control systems: Fuzzy logic controller-part I,” IEEE Trans. on Systems, Man. and 
Cybernetics, vol. 20, pp. 404–418, March/April 1990. 
[42] M. Barr´ere, A. Jaumotte, B. Veubeke, and J. Vandenkerckhove, eds., Rocket Propulsion. New York, New York: 
Elsevier Publishing Company, 1960. 
[43] G. Mandell, G. Caporaso, and W. Bengen, eds., Topics in Advanced Model Rocketry. Cambridge, Massachusetts: 
The MIT Press, 1973. 
[44] J. Slotine and W. Li, Applied Nonlinear Control. Englewood Cliffs, New Jersey: Prentice Hall, 1991. 
20

More Related Content

PDF
Presenting an Algorithm for Tasks Scheduling in Grid Environment along with I...
PDF
Output feedback trajectory stabilization of the uncertainty DC servomechanism...
PDF
ATK_PAPER.pdf
PDF
Db36619623
PDF
Robust pole placement using firefly algorithm
PDF
A hybrid bacterial foraging and modified particle swarm optimization for mode...
PDF
Design of multiloop controller for multivariable system using coefficient 2
PDF
Adaptive dynamic programing based optimal control for a robot manipulator
Presenting an Algorithm for Tasks Scheduling in Grid Environment along with I...
Output feedback trajectory stabilization of the uncertainty DC servomechanism...
ATK_PAPER.pdf
Db36619623
Robust pole placement using firefly algorithm
A hybrid bacterial foraging and modified particle swarm optimization for mode...
Design of multiloop controller for multivariable system using coefficient 2
Adaptive dynamic programing based optimal control for a robot manipulator

What's hot (20)

PDF
Component Based Control System Design
PDF
PDF
Automata based programming
PDF
Design and Implementation of Model Reference Adaptive Controller using Coeffi...
PDF
saad faim paper3
PDF
CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...
PDF
Global Stability of A Regulator For Robot Manipulators
PDF
EFFECT OF TWO EXOSYSTEM STRUCTURES ON OUTPUT REGULATION OF THE RTAC SYSTEM
PDF
Performance analysis of a liquid column in a chemical plant by using mpc
PDF
Transformation of simulink models to iec 61499 function blocks for verificati...
PDF
Developing Scheduler Test Cases to Verify Scheduler Implementations In Time-T...
PDF
Simulation design of trajectory planning robot manipulator
PDF
Research and Development the Adaptive Control Model Using the Spectrometer De...
PDF
76201979
PDF
Termpaper ai
PDF
2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE
PDF
Compositional testing for fsm based models
PDF
E0463137
PDF
Modeling and Simulation of Induction Motor based on Finite Element Analysis
PDF
On finite-time output feedback sliding mode control of an elastic multi-motor...
Component Based Control System Design
Automata based programming
Design and Implementation of Model Reference Adaptive Controller using Coeffi...
saad faim paper3
CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...
Global Stability of A Regulator For Robot Manipulators
EFFECT OF TWO EXOSYSTEM STRUCTURES ON OUTPUT REGULATION OF THE RTAC SYSTEM
Performance analysis of a liquid column in a chemical plant by using mpc
Transformation of simulink models to iec 61499 function blocks for verificati...
Developing Scheduler Test Cases to Verify Scheduler Implementations In Time-T...
Simulation design of trajectory planning robot manipulator
Research and Development the Adaptive Control Model Using the Spectrometer De...
76201979
Termpaper ai
2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE
Compositional testing for fsm based models
E0463137
Modeling and Simulation of Induction Motor based on Finite Element Analysis
On finite-time output feedback sliding mode control of an elastic multi-motor...
Ad

Similar to Fuzzy model reference learning control (1) (20)

PPTX
A Fuzzy-based Modified Gain Adaptive Scheme for Model Reference Adaptive Control
PDF
A Learning Linguistic Teaching Control for a Multi-Area Electric Power System
PDF
Design Nonlinear Model Reference with Fuzzy Controller for Nonlinear SISO Sec...
PDF
Artificial Chattering Free on-line Fuzzy Sliding Mode Algorithm for Uncertain...
PDF
Application of fuzzy controllers in automatic ship motion control systems
PDF
J010528691
PDF
Design of Model Free Adaptive Fuzzy Computed Torque Controller for a Nonlinea...
PDF
International Journal of Engineering Inventions (IJEI)
PDF
Design Auto Adjust Sliding Surface Slope: Applied to Robot Manipulator
PDF
Optimization of Fuzzy Logic controller for Luo Converter using Genetic Algor...
PDF
10000John_H._Lilly_Fuzzy_Control_and_IdentificationBookZZ.org.pdf
PPTX
Fuzzy Control & Modern Control Theory_Maha rauf.pptx
PDF
Fuzzy Control_MModern Control theory.pdf
DOC
Fuzzy logic
PDF
Faulttolerant Control For Timevarying Delayed Ts Fuzzy Systems Shaoxin Sun
PDF
On line Tuning Premise and Consequence FIS: Design Fuzzy Adaptive Fuzzy Slidi...
PDF
Design Adaptive Fuzzy Inference Sliding Mode Algorithm: Applied to Robot Arm
PDF
Modeling and control of power converter for doubly fed induction generator wi...
PDF
Design Novel Lookup Table Changed Auto Tuning FSMC: Applied to Robot Manipulator
PDF
Iaetsd design of fuzzy self-tuned load frequency controller for power system
A Fuzzy-based Modified Gain Adaptive Scheme for Model Reference Adaptive Control
A Learning Linguistic Teaching Control for a Multi-Area Electric Power System
Design Nonlinear Model Reference with Fuzzy Controller for Nonlinear SISO Sec...
Artificial Chattering Free on-line Fuzzy Sliding Mode Algorithm for Uncertain...
Application of fuzzy controllers in automatic ship motion control systems
J010528691
Design of Model Free Adaptive Fuzzy Computed Torque Controller for a Nonlinea...
International Journal of Engineering Inventions (IJEI)
Design Auto Adjust Sliding Surface Slope: Applied to Robot Manipulator
Optimization of Fuzzy Logic controller for Luo Converter using Genetic Algor...
10000John_H._Lilly_Fuzzy_Control_and_IdentificationBookZZ.org.pdf
Fuzzy Control & Modern Control Theory_Maha rauf.pptx
Fuzzy Control_MModern Control theory.pdf
Fuzzy logic
Faulttolerant Control For Timevarying Delayed Ts Fuzzy Systems Shaoxin Sun
On line Tuning Premise and Consequence FIS: Design Fuzzy Adaptive Fuzzy Slidi...
Design Adaptive Fuzzy Inference Sliding Mode Algorithm: Applied to Robot Arm
Modeling and control of power converter for doubly fed induction generator wi...
Design Novel Lookup Table Changed Auto Tuning FSMC: Applied to Robot Manipulator
Iaetsd design of fuzzy self-tuned load frequency controller for power system
Ad

Recently uploaded (20)

PPTX
Geodesy 1.pptx...............................................
PDF
Digital Logic Computer Design lecture notes
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
composite construction of structures.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
DOCX
573137875-Attendance-Management-System-original
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Well-logging-methods_new................
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
additive manufacturing of ss316l using mig welding
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Geodesy 1.pptx...............................................
Digital Logic Computer Design lecture notes
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
composite construction of structures.pdf
UNIT 4 Total Quality Management .pptx
Lesson 3_Tessellation.pptx finite Mathematics
Embodied AI: Ushering in the Next Era of Intelligent Systems
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
CH1 Production IntroductoryConcepts.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
573137875-Attendance-Management-System-original
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Well-logging-methods_new................
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
additive manufacturing of ss316l using mig welding
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx

Fuzzy model reference learning control (1)

  • 1. Fuzzy Model Reference Learning Control∗ Jeffery R. Layne† and Kevin M. Passino‡ Department of Electrical Engineering The Ohio State University 2015 Neil Avenue Columbus, OH 43210 Abstract A “learning system” possesses the capability to improve its performance over time by interaction with its environment. A learning control system is designed so that its “learning controller” has the ability to improve the performance of the closed-loop system by generating command inputs to the plant and utilizing feedback information from the plant. In this brief paper, we introduce a learning controller that is developed by synthesizing several basic ideas from fuzzy set and control theory, self-organizing control, and conventional adaptive control. We utilize a learning mechanism which observes the plant outputs and adjusts the membership functions of the rules in a direct fuzzy controller so that the overall system behaves like a “reference model”. The effectiveness of this “fuzzy model reference learning controller” (FMRLC) is illustrated by showing that it can achieve high performance learning control for a nonlinear time-varying rocket velocity control problem and a multi-input multi-output (MIMO) two degree-of-freedom robot manipulator. I Introduction Over recent years, fuzzy control has emerged as a practical alternative to classical control schemes when one is interested in controlling certain time-varying, non-linear, and ill-defined processes. There have in fact been several successful commercial and industrial applications of fuzzy control [1] -[ 5]. Despite this success, there exist several significant drawbacks of this approach: 1. The design of fuzzy controllers is usually performed in an ad hoc manner; hence, it is often not clear exactly how to justify the choices for many parameters in the fuzzy controller (e.g., the membership functions, defuzzification strategy, and fuzzy inference strategy). 2. The fuzzy controller constructed for the nominal plant may later perform inadequately if significant and unpredictable plant parameter variations, structural changes, or environmental disturbances occur. In this paper a “learning” control algorithm is presented which helps to resolve some of these fuzzy con-troller design issues. This algorithm employs a reference model (a model of how you would like the plant to behave) to provide closed-loop performance feedback for synthesizing and tuning a fuzzy controller’s ∗ Bibliographic information for this paper: Layne J.R., Passino K.M., “Fuzzy Model Reference Learning Control,” Journal of Intelligent andF uzzy Systems, Vol. 4, No. 1, pp. 33–47, 1996. † J. Layne gratefully acknowledges the support of the U.S. Air Force Palace Knight Program. J. Layne has recently joined Wright Laboratories, WL/AAAS-3, Wright Patterson AFB, Ohio 45433-6543 ‡ K. Passino was supported in part by an Engineering Foundation Research Initiation Grant and in part by National Science Foundation Grant IRI-9210332. Please address all correspondence to K. Passino (614-292-5716, email: passino@ee.eng.ohio-state. edu). 1
  • 2. knowledge-base. Consequently, this algorithm is referred to as a “fuzzy model reference learning con-troller” (FMRLC). The FMRLC grew from research on how to improve Procyk and Mamdani’s linguistic self-organizing controller (SOC) [6] by utilizing certain general ideas in conventional adaptive control [7, 8]. The first advantage that the FMRLC has over the SOC is that it does not rely on the specification of an ex-plicit inverse model of the process (which can be difficult/impossible to determine for many applications). In addition, the performance criteria for the linguistic SOC can only characterize what is essentially a compromise between rise-time and overshoot (and not the relative importance of each) and hence it pro-vides little flexibility in specifying what performance is to be achieved/maintained (this is the case even if the “optimized” fuzzy performance evaluator introduced in [9, 10, 11] is used). Via the use of a ref-erence model, in the FMRLC framework we incorporate a capability for accurately quantifying virtually any form of desired performance. Next, note that the knowledge-base modification algorithm of Procyk and Mamdani [6] relies on modification of a fuzzy relation table which describes the relationship between the fuzzy controller inputs and outputs. Often, this automatically implies that all input and output uni-verses of discourse must be quantized into discrete levels to implement the fuzzy relation in a computer. Unfortunately, this will generally result in large memory requirements and computational demands since a fuzzy relation table often contains many entries for real world applications (some progress has been made at addressing the computational complexity of knowledge-base modification for the SOC in [9]). In this article, we use a knowledge-base modification algorithm (similar to the one in [11]) which reduces com-putation time and memory requirements by utilizing a rule base array table rather than a fuzzy relation table. The knowledge-base modification approach is flexible enough to be used in both the conventional SOC approach and the FMRLC (this is shown in [12]). Finally, we note that the linguistic SOC has been used in robotics applications [9, 10], motor and temperature control [13], blood pressure control [14], and in satellite control [15, 16, 17]. While in this paper we describe the application of the FMRLC to robotics and a rocket velocity control problem (where there is a significant underlying process variation resulting from fuel consumption as the rocket launches), the FMRLC has also recently been used for (i) control of a cart-pendulum system where certain improvements over SOC were illustrated [12], (ii) anti-skid brake system control to enhance performance when there are significant variations in the road conditions [18, 19], (iii) cargo ship steering where in [20, 21] it is shown to have certain advantages over conventional model reference adaptive control, (iv) vibration damping in a two-link flexible robot where in [22] the authors develop a fuzzy controller and show how its performance can be enhanced if it is tuned with the FMRLC (experimental results are also provided for both the direct fuzzy controller and the FMRLC to illustrate its ability to compensate for the effects of a payload variation), and (v) for aircraft control law reconfiguration in case of failures [23]. Using conventional adaptive control terminology, the FMRLC and SOC are “direct” adaptive control schemes since they directly update the parameters of the controller without explicit identification of the plant parameters. Other relevant literature that focuses on direct adaptive fuzzy control includes the work in [24] where an adaptive fuzzy system is developed for a continuous casting plant, and the approach in [25] where a fuzzy system adapts itself to driver characteristics for an automotive speed control device. 2
  • 3. The use of fuzzy systems for estimation/identification [26, 27, 28, 29, 30, 31, 32] is relevant, especially if “indirect adaptive” [7, 8] fuzzy control techniques (i.e., ones where plant parameters are identified and used to tune the parameters of the controller) such as those in [33, 34, 35] are used. Also, it is interesting to note that in [30, 31, 34] there are inherent uses of inverse dynamics of the plant; however, our use of the fuzzy inverse model is significantly different. Finally, the authors note that since the initial results in FMRLC have been introduced in [21] some other relevant new adaptive/learning techniques have been developed [36, 37, 38, 39] where neural approaches are used to tune fuzzy systems and one fuzzy adaptive control scheme is shown to be stable. In Section II, the detailed description of the FMRLC algorithm is presented. Then in Section III we study the performance of the FMRLC for single stage rocket velocity control where there is a significant variation in the process dynamics due to the change in mass of the rocket as fuel is expended. Moreover, the FMRLC will be used as a learning controller for a two degree-of-freedom robot manipulator to illustrate the application of FMRLC for a multi-input, multi-output (MIMO) process. Finally, in the concluding remarks in Section IV we will discuss the advantages and disadvantages of FMRLC and highlight some important future research directions. II Fuzzy Model Reference Learning Control In this Section, we present a novel learning control technique that was developed by extending some of the linguistic self-organizing control concepts presented by Procyk and Mamdani in [6] and by utilizing ideas from conventional “model reference adaptive control” (MRAC) [8, 7]. The learning control technique, which is shown in Figure 1, utilizes a learning mechanism that: (i) observes data from a fuzzy control system, (ii) characterizes its current performance, and (iii) automatically synthesizes and/or adjusts the fuzzy controller so that some pre-specified performance objectives are met. These performance objectives are characterized via the reference model shown in Figure 1. In an analogous manner to conventional MRAC [8, 7] where conventional (often linear) controllers are adjusted, the learning mechanism seeks to adjust the fuzzy controller (a nonlinear controller) so that the closed-loop system (the map from yr(kT) to y(kT)) acts like a pre-specified reference model (the map from yr(kT) to ym(kT)). We have named the new learning control technique “fuzzy model reference learning control” (FMRLC) due to its similarities to MRAC, its unique approach to remembering the adjustments it makes, and according to the prevailing definition of “learning” and “adaptive” [40] (we avoid the term “self-organizing” due to the differences between our approach and the work in [6]). For a much more detailed discussion of the key issues encountered when studying the comparison between adaptive and learning systems see [40, 21]. Next we describe each component of the FMRLC in more detail. A. The Fuzzy Controller The process in Figure 1 is assumed to have r inputs denoted by the r -di mensional vector u(kT) = [u1(kT) ... ur(kT)]t (T is the sample period) and s outputs denoted by the s -di mensional vector y(kT) = 3
  • 4. Plant y(kT) y (kT) Knowledge-base modifier 1-z -1 T 1-z-1 T Knowledge-base Fuzzy sets Rule-base Knowledge-base g e g c Inference mechanism Σ Σ gu Fuzzy controller e(kT) g ye u(kT) r (kT) ye(kT) + yc(kT) + g yc g p Inference mechanism Reference model p(kT) Storage Fuzzy inverse model m Learning mechanism Figure 1: Functional Architecture for the FMRLC. [y1(kT) ... ys(kT)]t. Most often the inputs to the fuzzy controller are generated via some linear function of the plant output y(kT) and reference input yr(kT). Figure 1 shows a special case of such a linear map that was found to be useful in many applications. The inputs to the fuzzy controller are the error e(kT) = [e1(kT) ... es(kT)]t and change in error c(kT) = [c1(kT) ... cs(kT)]t defined as e(kT) = yr(kT) − y(kT), (1) c(kT) = e(kT) − e(kT − T) T , (2) respectively, where yr(kT) = [yr1(kT) ... yrs (kT)]t denotes the desired process output. Often, for greater flexibility in fuzzy controller implementation, the universes of discourse for each process input are “normalized” to the interval [−1,+1] by means of constant scaling factors. For our fuzzy controller design, the gains ge, gc, and gu were employed to normalize the universe of discourse for the error e(kT), change in error c(kT), and controller output u(kT), respectively (e.g., g e = [ge1, ..., ges]t so that geiei(kT) is a scaled input to the fuzzy controller). For convenience we utilize r multi-input single output (MISO) fuzzy controllers (one for each process input un) as it is equivalent to using one s input r output MIMO fuzzy controller. The knowledge-base for the fuzzy controller associated with the nth process input is generated from IF-THEN control rules of the form: If ˜e1 is ˜E j 1 and ... and ˜es is ˜ Ek s and ˜c1 is ˜ Cl1 and ... and ˜cs is ˜ Cm s Then ˜un is ˜U j,...,k,l,...,m n , ba ba where ea ˜and ca ˜denote the linguistic variables associated with controller inputs ea and ca, respectively, un ˜denotes the linguistic variable associated with the controller output un, E˜ and C˜ denote the bth linguistic values associated with ˜ea and ˜ca, respectively, and ˜U j,...,k,l,...,m n denotes the consequent linguistic 4
  • 5. value associated with ˜un for the rule listed above. The above control rule may be quantified by utilizing fuzzy set theory to obtain a fuzzy implication of the form: If Ej 1 and ... and Ek s and Cl1 and ... and Cm s Then Uj,...,k,l,...,m n , where Eba , Cba n denote the fuzzy sets that quantify the linguistic statements “˜ea is ˜ Eba , and Uj,...,k,l,...,m ”, “˜cs is ˜ Cm s ”, and “˜un is ˜U j,...,k,l,...,m n ”, respectively. This fuzzy implication can be represented by a fuzzy relation Rj,...,k,l,...,m n = (Ej 1 × ... × Ek s ) × (Cl1 × ... × Cm s ) × Uj,...,k,l,...,m n . (3) The fuzzy controller decision mechanism for this control rule may be expressed by ˆU j,...,k,l,...,m n (kT) = ((ˆE 1(kT) × ˆE 2(kT) × ... × ˆ Es(kT)) × ( ˆ C1(kT) × ˆ C2(kT) × ... × ˆ Cs(kT))) ◦ Rj,...,k,l,...,m n (4) where ˆE j(kT) and ˆ Cj (kT) denote the fuzzified error and change in error, respectively, associated with the jth element of e(kT) or c(kT), ˆU j,...,k,l,...,m n (kT) denotes the implied fuzzy set, and “◦” denotes Zadeh’s Composition. See [41] for a more detailed mathematical explanation of Equation 4. Typically in fuzzy system design, a fuzzy implication exists for every possible combination of fuzzy sets describing the inputs to the fuzzy system. Therefore, the fuzzy controller is made up of many fuzzy implications whose overall control action may be computed by the “center of gravity” (COG) method expressed as un(kT) = j,...,k,l,...,m Aˆj,...,k,l,...,m n (kT) ˆcj,...,k,l,...,m n (kT) j,...,k,l,...,m Aˆj,...,k,l,...,m n (kT) , (5) where Aˆj,...,k,l,...,m n (kT) and ˆcj,...,k,l,...,m n (kT) are the area and center of area, respectively, of the membership function associated with ˆU j,...,k,l,...,m n (kT). B. The Reference Model The reference model provides a capability for quantifying the desired performance of the process. In general, the reference model may be any type of dynamical system (linear or non-linear, time-invariant or time-varying, discrete or continuous time, etc.). The performance of the overall system is computed with respect to the reference model by generating an error signal ye(kT) = [ye1 ... yes ]t where ye(kT) = ym(kT) − y(kT). (6) Given that the reference model characterizes design criteria such as stability, rise time, overshoot, settling time, etc. and the input to the reference model is the reference input yr(kT), the desired performance of the controlled process is met if the learning mechanism forces y e (kT) to remain very small for all time. Hence, the error ye(kT) provides a characterization of the extent to which the desired performance is met at time t = kT. If the performance is met (ye(kT) ≈ 0) then the learning mechanism will not make significant modifications to the fuzzy controller. On the other hand if ye(kT) is big, the desired performance is not achieved and the learning mechanism must adjust the fuzzy controller. 5
  • 6. C. The LearningMe chanism As previously mentioned, the learning mechanism performs the function of modifying the knowledge-base of a direct fuzzy controller so that the closed-loop system behaves like the reference model. These knowledge-base modifications are made based on observing data from the controlled process, the reference model, and the fuzzy controller. The learning mechanism consists of two parts: a fuzzy inverse model and a knowledge-base modifier. The fuzzy inverse model performs the function of mapping necessary changes in the process output, as expressed by ye(kT), to the relative changes in to process inputs (denoted by p = [p1 ... pr]t) necessary to achieve these process output changes. The knowledge-base modifier performs the function of modifying the fuzzy controller’s knowledge-base to affect the needed changes in the process inputs. More details of this process are discussed next. The Fuzzy Inverse Model The fuzzy inverse model was developed by investigating methods to alleviate the problems with using the inverse process model in the linguistic SOC framework of Procyk and Mamdani [6]. Procyk and Mamdani’s use of the inverse process model depended on the use of an explicit mathematical model of the process and ultimately assumptions about the underlying physical process. This dependence on a mathematical model of the process often causes significant difficulties in applying their approach (e.g., they are often forced to assume that the plant will act like a constant gain (matrix) and hope that the adaptation mechanism can compensate for this inaccuracy). Using the fact that most often a control engineer will know how to roughly characterize the inverse model of the plant, we introduce the idea of using a fuzzy system to represent the inverse plant dynamics. We emphasize that it is not necessary to accurately characterize the inverse dynamics; only an approximate representation is needed. This “fuzzy inverse model” as it is shown in Figure 1, simply maps y e (kT), and possibly other parameters such as the functions of ye(kT) and the process operating conditions, to the necessary changes in the process inputs. Hence, the fuzzy inverse model is used to characterize how to change the plant inputs to force the plant output y(kT) to be as close as possible to y m (kT) (i.e., to make ye(kT) small). Again, we use r MISO fuzzy inverse models. While there exist numerous possible combinations of inputs to the fuzzy inverse model, in Figure 1 only error ye(kT) and the change in error yc(kT) are shown for the sake of brevity (e.g. delayed versions and functions of the variables could also be used). In this paper, we will assume ye(kT) and yc(kT) are always employed as inputs to the fuzzy inverse model. The reasons for using the change in the desired output change is to provide some “damping” in the learning mechanism. In other words, since we have information about the rate of change of the desired output changes, we may quantify that a small value of yei with a small change in yei is more desirable than a small value of yei with a large change in yei due to the fact that overshoot is likely to occur. (Using reasoning along similar lines the authors in [22] explain how to view the fuzzy inverse model as a controller in the adaptation loop and show how this perspective can be used in FMRLC design.) Note that similar to the fuzzy controller, the fuzzy inverse model shown in Figure 1 contains normalizing scaling factors, namely gye , gyc , and gp, for each universe of discourse. Selection of the normalizing gains 6
  • 7. can impact the overall performance of the system and a gain selection procedure is given below in Section D. The knowledge-base for the fuzzy inverse model associated with the nth process input is generated from e1 and ... and Y k fuzzy implications of the form: If Y j c1 and ... and Y m es and Y l n , where cs Then Pj,...,k,l,...,m Y b ea and Y b ca denote the bth fuzzy set associated with the error yea and change in error yca , respectively, and associated with the ath process output and Pj,...,k,l,...,m n denotes the consequent fuzzy set for this rule describing the necessary change in the nth process input. This fuzzy implication can be represented by a fuzzy relation Sj,...,k,l,...,m n = (Y j e1 ×...×Y k es )×(Y l c1 ×...×Y m cs )×Pj,...,k,l,...,m n . The fuzzy inverse model decision n (kT) = ((ˆ Ye1 (kT) × ˆYe2 (kT) × ... × mechanism for this fuzzy implication may be expressed by ˆ Pj,...,k,l,...,m ˆ Yes (kT))×( ˆ Yc1(kT)× ˆYc2 (kT)×...× ˆYcs(kT)))◦Sj,...,k,l,...,m n where ˆ Yep (kT) and ˆ Ycp (kT) denote the fuzzified error and change in error, respectively associated with the pth element of ye and yc, ˆ Pj,...,k,l,...,m n (kT) denotes the implied fuzzy set for this fuzzy implication describing input changes for the nth process input (actually the nth direct fuzzy controller). As was the case for the direct fuzzy controller, the overall input changes for the nth direct fuzzy controller pn(kT) are determined from the COG defuzzification method. A typical rule base array which may be employed in a fuzzy inverse model for a SISO process is e and shown in Table 1 below (this and other fuzzy inverse models are used in the applications) where Y j Y k c denote the fuzzy sets associated with ye(kT) and yc(kT), respectively, and the Pj,k i denote the fuzzy sets quantifying the desired process input change pi(kT). Note that the body of Table 1 lists the center values for convex, symmetric, and normal membership functions that are defined on universes of discourse normalized to [−1, 1]. Table 1: Typical rule base array table for the fuzzy inverse model. Y k c Pj,k i −5 −4 −3 −2 −1 +0 +1 +2 +3 +4 +5 −5 −1.0 −1.0 −1.0 −1.0 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 −4 −1.0 −1.0 −1.0 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 −3 −1.0 −1.0 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 −2 −1.0 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 −1 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 Y j e 0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1 −0.8 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +2 −0.6 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +1.0 +3 −0.4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +1.0 +1.0 +4 −0.2 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +1.0 +1.0 +1.0 +5 0.0 +0.2 +0.4 +0.6 +0.8 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 The fuzzy inverse model rule base array shown in Table 1 was designed to take advantage of the “damp-ing” feature described above. For example, consider the case where ye(kT) = 0 which is best characterized by fuzzy set Y j e where j = 0 since it characterizes the case where ye(kT) is small. The best change in ye(kT), is yc(kT) = 0 which is characterized in a similar way by Y k c where k = 0. This zero point (i.e., the center of Table 1, j = k = 0) represents a point where the fuzzy inverse model indicates that no change in the input is required to force y(kT) = ym(kT) since this equality is already achieved. If for some time k, 7
  • 8. we have j = 0 but k = −2 (i.e., currently y(kT) is close to ym(kT) but y(kT) is increasing above ym(kT)) then Table 1 indicates that for Pj,k i , the center of the fuzzy set is at −0.4 which characterizes the fact that a negative increment should be added to the process input to ensure that y will not continue to in-crease (i.e., so that we maintain a small yei ). Similar statements hold for the remaining elements in Table 1. It is important to note that: (i) development of the fuzzy inverse model does not depend on the exis-tence and specification of the mathematical model of the plant or its inverse (i.e., the plant inverse need not exist), (ii) the fuzzy inverse model should not be confused with the mathematical model of the inverse of the plant that is sometimes used in fixed (i.e., non-adaptive) control where the controller has no ability to synthesize itself or auto-tune in response to plant parameter changes, and (iii) while the above discussion provides some general guidelines for the construction of the fuzzy inverse model, and the applications in Section III show how to construct it for a rocket velocity control problem with time-varying parameters and a multi-input multi-output robot control problem, if the plant is very complex then it can sometimes be difficult to specify the fuzzy inverse model. To gain further insight into how to specify the fuzzy inverse model see [22] where a fuzzy inverse model is developed for a FMRLC which is implemented on a complex flexible robotic mechanism (the perspective used there is that the fuzzy inverse model acts as a controller in the adaptation loop). Moreover, see [20, 18] for the details on how to specify the fuzzy inverse model for the FMRLC for a cargo ship steering application and a anti-skid braking problem. Overall, the FMRLC’s performance depends on the engineer’s ability to specify a fuzzy inverse model. For the applications listed above we have found that the fuzzy inverse model is relatively easy to specify and that it does not need to be extremely accurate since the learning mechanism tends to compensate for the inaccuracies. The general guidelines given above, coupled with the applications studied in this paper and in [22, 20, 18], provide significant insights into choosing the fuzzy inverse model so that the FMRLC will be useful for other applications. Finally, it is interesting to note that other inherent uses of inverse dynamics of the plant in adaptive fuzzy control schemes can be found in [30, 31, 34]. The Knowledge-Base Modifier The knowledge-base modifier presented next grew from work that focused on improving the knowledge-base modification approach for the linguistic SOC [6]. In the linguistic SOC framework, knowledge-base modification was performed on the overall fuzzy relation (Rn = j,...,k,l,...,m n ) used to implement Rj,...,k,l,...,m the fuzzy controller. However, this method of knowledge-base modification can be computationally complex due to the fact that Rn is generally a very large array. Here we use a knowledge-base modification algorithm (similar to the one in [11]) which increases computational efficiency by modifying the membership functions of consequent fuzzy sets Uj,...,k,l,...,m n rather than the fuzzy relation array Rn. The knowledge-base modifier performs the function of modifying the fuzzy controller so that better performance is achieved. Given the information about the necessary changes in the input as expressed by the vector p(kT) from the fuzzy inverse model, the knowledge-base modifier changes the knowledge-base of the fuzzy controller so that the previously applied control action will be modified by the amount p(kT). Therefore, consider the previously computed control action, which contributed to the present good/bad system performance. Note that e(kT −T) and c(kT −T) would have been the process error and change in error, respectively, at that time. Likewise, u(kT − T) would have been the controller output at that time. 8
  • 9. The controller output which would have been desired is expressed by ¯u(kT − T) = u(kT − T) + p(kT). (7) Next we will show that by modifying the fuzzy controller’s knowledge-base we may force the fuzzy controller to produce this desired output given similar controller inputs. Assume that only symmetric membership functions are defined for the fuzzy controller’s output so that cj,...,k,l,...,m n denotes the center value of the membership function associated with the fuzzy set Uj,...,k,l,...,m n . Knowledge-base modification is performed by shifting centers of the membership functions of the fuzzy sets Uj,...,k,l,...,m n which are associated with the fuzzy implications that contributed to the previous control action u(kT − T). This modification involves shifting these membership functions by an amount specified by p(kT) = [p1(kT) ... pr(kT)]t so that cj,...,k,l,...,m n (kT) = cj,...,k,l,...,m n (kT − T) + pn(kT). (8) The degree of contribution for a particular fuzzy implication in the fuzzy controller whose fuzzy relation is denoted Rj,...,k,l,...,m n is determined by its “activation level”, defined δj,...,k,l,...,m n (t) =min{μEj 1 (e1(t)), ..., μEk s (es(t)), μCl1 s (cs(t))}, (9) (c1(t)), ..., μCm where μA denotes the membership function of the fuzzy set A and t denotes the current time. Only those fuzzy implications Rj,...,k,l,...,m n (kT − T) whose activation level δj,...,k,l,...,m n (kT − T) 0 are modified. All others remain unchanged (this allows for local learning and hence memory for our learning controller [40, 21]). Consider the effect that the above knowledge-base modification has on the COG defuzzification (for the direct fuzzy controller) expressed in Equation 5. Notice that since the area of the implied fuzzy sets is proportional to the “activation level” of the fuzzy relation (i.e., Aj,...,k,l,...,m n (kT −T) ∝ δj,...,k,l,...,m n (kT −T)) only those fuzzy relations whose activation levels are greater than zero affect the center of gravity, or control action. Furthermore, notice that since symmetric membership functions are utilized, a shift in the membership function associated with fuzzy set Uj,...,k,l,...,m n (kT) will also shift, by the same amount, the centers of the membership functions associated with the previous implied fuzzy sets ˆU j,...,k,l,...,m n (kT − T). Therefore, given the previous controller inputs e(kT − T) and c(kT − T) and the new fuzzy relation Rj,...,k,l,...,m n (kT) obtained after shifting the consequent fuzzy set, the new center value of the membership function associated with the implied fuzzy set ˆU j,...,k,l,...,m n (kT − T) is expressed as ¯ˆcj,...,k,l,...,m n (kT − T) = ˆcj,...,k,l,...,m n (kT − T) + pn(kT). (10) Substituting this new center value into Equation 5 we obtain ¯un(kT − T) = n (kT − T) ¯ˆcj,...,k,l,...,m j,...,k,l,...,mAj,...,k,l,...,m n (kT − T) j,...,k,l,...,mAj,...,k,l,...,m n (kT − T) (11) where ¯un(kT − T) is the new control action that is obtained. Simplifying, it is easy to see that ¯un(kT − T) = un(kT − T) + pn(kT), (12) 9
  • 10. which is the desired effect. Notice that this approach also achieves “generalization” as it is called in learning theory [40] since it will at the same time learn how to deal with values that are near to those considered (i.e., near to e(kT), c(kT), and y(kT)). Along these lines it is interesting to note that our knowledge-base modification procedure implements a form of local adaptation and hence utilizes memory. Different parts of the rule-base are “filled in” based on different operating conditions of the system, and when one area of the rule-base is updated, the other rules are not affected. Hence, the controller adapts to new sit-uations and also remembers how it has adapted to past situations (this is why the term “learning” is used). As an example of the knowledge-base modification procedure, Table 2 shows a knowledge-base array table where its entries represent the center values of symmetric membership functions associated with the implied fuzzy sets Uj,k defined on a normalized universe of discourse (normalized to [−1, 1]). Given that the fuzzy controller employs a knowledge-base array table similar to Table 2, the process of knowledge-base modification reduces to a simple two step algorithm which is expressed below. 1. Determine which fuzzy implications in the knowledge-base array table contributed to the previously applied input. In other words, determine the fuzzy implications whose premise element has an activation level above zero (i.e., the rule is “on” -its implied fuzzy set is not null). 2. Modify the entries in the knowledge-base array for those fuzzy implications. Table 2: Typical knowledge-base array table. Ck Uj,k −5 −4 −3 −2 −1 +0 +1 +2 +3 +4 +5 −5 +1.0 +1.0 +1.0 +1.0 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −4 +1.0 +1.0 +1.0 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −3 +1.0 +1.0 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −2 +1.0 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −1 +1.0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 Ej 0 +1.0 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 +1 +0.8 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 +2 +0.6 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −1.0 +3 +0.4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −1.0 −1.0 +4 +0.2 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −1.0 −1.0 −1.0 +5 +0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −1.0 −1.0 −1.0 −1.0 For example, assume that the previous process error e(kT−T) took on a value such that the membership functions associated with sets E+3 and E+4 shown in Table 2 evaluated to be greater than zero. Similarly, assume that the previous change in the process error c(kT − T) was best characterized by the fuzzy sets C−4 and C−5. The fuzzy implications which contributed (i.e., had δ 0) to the previously applied process input are illustrated by the boxed entries in Table 2 (i.e., they are all the implications which contain as left-hand-side elements the boxed entries – 4 rules in this case). Suppose that pi(kT) = guip i(kT) so that p i(kT) is the normalized desired change in the process input. For our example, assume that p i(kT) = 0.1, then after knowledge-base modification for the boxed values 0.4, 0.2, 0.0, and 0.2 in Table 2 we get 0.5, 0.3, 0.1 and 0.3, respectively (all other entries in the Table remain unchanged at this time). 10
  • 11. D. FMRLC Design Procedure and Implementation Issues The design procedure for the FMRLC involves: (i) the specification of a direct fuzzy controller with consequent membership functions that can be tuned (this fuzzy controller can be chosen via conventional (heuristic) fuzzy control design techniques for the nominal plant), (ii) specifying the reference model which characterizes the desired system performance, (iii) specifying the fuzzy inverse model which characterizes how the inputs to the plant should be changed so that the desired performance is achieved, and (iv) selection of the normalizing gains for the fuzzy controller and the fuzzy inverse model. As selection of the normalizing gains for both the fuzzy controller and the fuzzy inverse model can impact the overall performance, next we will provide a procedure to choose these parameters. It is important to note that although it is often not highlighted, most learning/adaptive control approaches require some type of initial choice of controller structure and parameters (e.g., the choice of an adaptation gain or initial controller parameters in a conventional adaptive controller). The gain selection procedure to be presented next provides a systematic methodology to select such initial parameters for the FMRLC. Due to physical constraints for a given system, the range of values for the process inputs and outputs is generally known from a qualitative analysis of the process. As a result, we can determine the range of values or the universe of discourse for e(kT), u(kT), ye(kT), and p(kT). Consequently, ge, gu, gye , and gp are chosen so that the appropriate universes of discourse are mapped to [−1,+1]. To determine gc we disconnect the adaptive mechanism and pick it using standard fuzzy control system design techniques or by iteratively applying inputs to yr, observing c(kT), and finding a scaling factors to map the universes of discourse to [−1, 1]. The vector gyc is left as a vector of tuning parameters for the FMRLC. Recall that the scaling factors g yc associated with the change in the desired output changes has the effect of providing “damping” to the controller modifications. Moreover, the “damping” effect is increased as the elements of the scaling factor gare increased. A suitable selection of gyc yc may be obtained by monitoring the response of the overall process with respect to the reference model response. If undesirable oscillations exist between a given process and the associated reference model output response, it is likely that the element of g yc associated with this ouput is too small and should be increased. Likewise, if a given element of gyc is too large, the process will be unable to keep up with the reference model due to the resulting damping. Below a simple procedure is presented for selecting the gains: 1. Select the controller gains g e , g u , and g ye so that each universe of discourse is mapped to the interval [−1, 1]. 2. Choose the controller gains gpi to be the same as for the fuzzy controller output gain gui . This will allow the pi(kT) to take on values as large as the largest possible inputs ui(kT). 3. Using standard fuzzy control design techniques (i.e., ones that use human expertise) or simple ex-periments choose gc to map the universes of discourse of c(kT) to [−1, 1]. 4. Assign the numerical value 0 to the scaling factors associated with the changes in the desired output changes (i.e., all elements of gyc are set equal to 0). 5. Apply a step input to the process which is of a magnitude that may be typical for the process during normal operation. Observe the process response and the reference model response. 11
  • 12. 6. Three cases: (a) If there exist unacceptable oscillations in a given process output response about the reference model response, then increase the associated element of gyc . Go to step 5. (b) If a given process output response is unable to “keep up” with the reference model response, then decrease the associated element of gyc . Go to step 5. (c) If the process response is acceptable with respect to the reference model response, then the controller design is completed. For the applications presented in this paper, the above gain selection procedure has proven very successful. However, given that the procedure is a result of practical experience with the FMRLC rather than strict mathematical analysis, it is likely that it will not work for all processes. For some applications (none of the ones we’ve studied in [21, 12, 19, 20, 18, 22]), the procedure may result in an unstable process. In such situations, it may be necessary to modify other controller parameters such as the controller sampling period T or the number of fuzzy controller rules. Clearly, the stability analysis of the FMRLC is an important research direction. Note that when implementing (and simulating) the FMRLC one must be concerned with the “curse of dimensionality”. Particularly, assume that: (i) the fuzzy controller has s inputs (where s = αs with α = 2 for the case shown in Figure 1), r outputs, and N membership functions on each of its input universes of discourse; (ii) the fuzzy inverse model has s inputs (where s = βs with β = 2 for the case shown in Figure 1), r outputs, and M membership functions on each of its input universes of discourse; and (iii) that both the fuzzy controller and the fuzzy inverse model use the maximum number of rules possible (for completeness). In this case there are r(Ns + Ms ) rules in the FMRLC. As is the case with standard fuzzy control, increasing the number of inputs causes an exponential increase in the number of rules. It is important to note that if one assumes that the membership functions are uniformly distributed across the input universes of discourse so that at most two overlap for any point (this is in fact what we do in all the applications in this paper), then at most r(2s + 2s ) rules will be on at one time and hence the code implementing the FMRLC is much less complex than one might think at first glance. It is in fact this characteristic that we exploit when we implemented the FMRLC for the flexible robotic system in [22] where the FMRLC had 1150 rules and operated with a sampling interval of 15 milliseconds on a 386-based computer. III Applications A. Rocket Velocity Control In this section we illustrate the performance of a FMRLC which is employed to control the velocity of a single stage rocket. A mathematical model for this process is presented by Barr´ere et al. in [42] and Mandell et al. in [43] and is expressed by the following differential equation: d v(t) dt = c(t) m M −m t − go R R + y(t) − 0.5 v2(t) ρa A Cd M −m t , (13) where v(t) is the rocket velocity at time t, y(t) is the altitude of the rocket (above sea level), c(t) is the velocity of the exhaust gases, and for our simulation: (i) M = 15000.0 kg -in itial mass of the rocket and 12
  • 13. fuel, (ii) m = 100.0 kg s -e xhaust gases mass flow rate (approximately constant for some solid propellant rockets), (iii) A = 1.0 meter2 -maxim um cross sectional area of the rocket, (iv) go = 9.8 meters s2 -th e acceleration due to gravity at sea level, (v) R = 6.37×106 meters -r adius of the earth, (vi) ρa = 1.21 kg m3 -d ensity of air, and (vii) Cd = 0.3 -dr ag coefficient for the rocket. The mathematical model in Equation 13 was developed based on the simple dynamics of a point mass. However, in general, rockets dynamics are studied in the realm of exterior ballistics. This type of analysis often tends to be very complex and falls outside the scope of this paper. However, even in this restricted context the modeled dynamics have characteristics which make for difficult control. For example, due to the loss of fuel resulting from combustion and exhaust the rocket has a time-varying mass. Furthermore, it can be determined by inspection of Equation 13 that the system is a non-linear process. Indeed, the primary purpose for considering this control application is to investigate the capability of the FMRLC algorithm for controlling non-linear time-varying processes. As stated before, the control objective is to control the velocity of the rocket. To accomplish this task the rocket is assumed to have one input, namely the velocity of the exhaust gases c(t). In general, the exhaust gas velocity is proportional to the cross-sectional area of the nozzle. Consequently, the exhaust gases may be controlled by changing this cross sectional area. However, for this controller implementation, we assume that the dynamics of the actuators which change the nozzle area and the dynamics of the exhaust gases are fast relative the rocket velocity dynamics and therefore may be eliminated from the model. 1. FMRLC Design The inputs to the fuzzy controller are the velocity error and change in error and the controller output is the velocity of the exhaust gases. In this fuzzy controller design, 11 fuzzy sets are defined for each controller input (using the structure of Figure 1) such that the membership functions are triangular shaped and evenly distributed on the appropriate universe of discourse (of course the outer-most membership functions are trapezoidal). The normalizing controller gains for the error, change error, and the controller output are chosen to be ge = 1 4000, gc = 1 2000, and gu = 10000, respectively. The fuzzy sets for the fuzzy controller output are also assumed to be triangular shaped with a width of 0.4 on the normalized universe of discourse. The knowledge-base array was initially chosen with all zero entries. The fuzzy controller sampling period was chosen to be T = 100 milliseconds. The reference model for this process was chosen to represent somewhat realistic performance specifica-tions and is expressed by the following differential equation d ym(t) dt = −0.2 ym(t) + 0.2 yr(t), (14) where ym(t) specifies the desired system performance for the rocket velocity v(t) and the input to the reference model yr(t) is equal to the desired rocket velocity. The inputs to the fuzzy inverse model include the error and change in error between the reference model and the rocket velocity expressed as ye(kT) = ym(kT)−v(kT), and yc(kT) = ye(kT )−ye(kT−T ) T , respectively. For these inputs, 11 fuzzy sets are defined with triangular shaped membership functions which are evenly distributed on the appropriate universes of discourse. The normalizing controller gains associated with ye(kT), yc(kT), and p(kT) are chosen to be gye = 1 4000, gyc = 1 2000, and gp = 10000, respectively. For 13
  • 14. the rocket process, for an increase in the exhaust gas velocity we would generally expect an increase in the process output. Consequently, the knowledge-base array shown in Table 1 was employed for the fuzzy inverse model. 2. Simulation Results The simulation results for the FMRLC of the rocket are shown below in Figure 2. Note that the system 1500 1000 500 0 Ref. input Ref. Model Response Actual Response 0 20 40 60 80 100 120 Time (sec) Rocket Velocity (m/s) Rocket Response - FMRLC 10000 8000 6000 4000 2000 0 0 20 40 60 80 100 120 Time (sec) Exhaust Gas Velocity (m/s) Velocity of the Exhaust Gas 40 30 20 10 0 -10 0 20 40 60 80 100 120 Time (sec) Ref Model Error (m/s) Error Between the Reference Model Output and the Rocket Velocity 8 x104 6 4 2 0 0 20 40 60 80 100 120 Time (sec) Rocket Altitude (m) Altitude of the Rocket Figure 2: Simulation results for FMRLC control of the rocket system. exhibits “good” tracking with the reference model even after the mass of the rocket has been reduced significantly from the initial mass due to fuel loss (note that lower amounts of exhaust gas velocity, the control input, are needed as more fuel is used). This application clearly illustrates the effectiveness of the FMRLC algorithm for controlling a nonlinear time varying process. 14
  • 15. B. Two-Degree of Freedom Robot Manipulator Figure 3 illustrates the physical model of a two degree of freedom manipulator. It consists of two links where link #1 is mounted on a rigid base by means frictionless hinge and link #2 is mounted at the end of link #1 by means of a frictionless ball bearing. This control problem is provided to illustrate the θ1 θ2 l l l l c c 2 1 2 1 I 2 I 1 Link #1 Link #2 Joint #1 Joint #2 Figure 3: Graphical representation of a 2-link robot. application of the FMRLC to a nonlinear MIMO system. The inputs to the process are the torques τ1 and τ2 which are applied to the links at joints #1 and #2. The outputs are the joint positions θ1 and θ2. The model for the robotic system was developed using the well-known Lagrangian equations in classical dynamics and is expressed by the following matrix differential equation [44, 8]: H11 H12 H21 H22 ¨θ1 ¨θ2 + −hθ˙2 −hθ˙1 − hθ˙2 hθ˙1 0 θ˙1 θ˙2 + g1 g2 = τ1 τ2 (15) where H11 = m1l2 c1 + I1 + m2[l2 1 + l2 c2 + 2l1lc2 cos(θ2)] + I2 (16) H22 = m2l2 c2 + I2 (17) H12 = H21 = m2l1lc2 cos(θ2) +m2l2 c2 + I2 (18) h = m2l1lc2 sin(θ2) (19) g1 = m1lc1g cos(θ1) + m2g[lc2 cos(θ1 + θ2) + l1 cos(θ1)] (20) g2 = m2lc2g cos(θ1 + θ2), (21) 15
  • 16. and where θ = [θ1 θ2]T are the two joint angles, τ = [τ1 τ2]T are the input joint torques. For purpose of our simulation the robot parameters are given by: (i) m1 = 1.0 kg -m ass of link #1, (ii) m2 = 1.0 kg -m ass of link #2, (iii) l1 = 1.0 meters -le ngth of link #1, (iv) l2 = 1.0 meters -le ngth of link #2, (v) lc1 = 0.5 meters -d istance from joint #1 to the center of gravity of link #1, (vi) lc2 = 0.5 meters - distance from joint #2 to the center of gravity of link #2, (vi) I1 = 0.2 kg − m2 -le ngthwise centroidal inertia of link #1, and (vii) I2 = 0.2 kg −m2 -le ngthwise centroidal inertia of link #2. 1. FMRLC Design For this application, the process contains two inputs, namely τ1 and τ2. Consequently, two MISO fuzzy controllers are needed for this process (one for each process input). The inputs to the fuzzy controller are the robot joint position error e = [e1 e2]T and change in error c = [c1 c2]T . The fuzzy controllers have outputs τ1 for the first controller and τ2 for the second controller. For both fuzzy controller designs, 11 fuzzy sets are defined for each controller input such that the membership functions are triangular shaped (with base widths of 0.4) and evenly distributed on appropriate universes of discourse (the outer-most membership functions are trapezoidal). Also, the normalizing controller gains for the error, change error, and the controller output are chosen to be g= [ 1 1 ]T , g= [ 1 1 ]T, and g= [100 25]T , respectively. e 2π 2π c 20 20 u The knowledge-base array for both fuzzy controllers was initially chosen with all zero entries. The fuzzy controller sampling period was chosen to be T = 5 milliseconds. The reference model for this FMRLC design is given by the following differential equation y˙m1 (t) y˙m2 (t) = −0.75 0.0 0.0 −1.5 ym1 (t) ym2 (t) + +0.75 0.0 0.0 +1.5 yr1 (t) yr2 (t) , (22) where ym1 and ym2 specify the system performance for θ1 and θ2, respectively. For FMRLC implementation, the inputs to the reference model yr1 and yr2 are equal to the desired position of joints #1 and #2, respectively. For this FMRLC design, two fuzzy inverse models are needed, one for each fuzzy controller. In general, both process inputs will affect both process outputs. However, for this fuzzy inverse model design we will assume that the cross-coupling between the inputs is negligible (i.e., τ1 affects only θ1 and τ2 affects only θ2). As a result, the input to a given fuzzy inverse model includes the error and change in error between the associated reference model output and robot position. Therefore, for the ith fuzzy inverse model, these inputs may expressed as yei (kT) = ymi (kT) − θi(kT) and yci (kT) = yei (kT )−yei (kT−T ) T respectively. For these inputs, 11 fuzzy sets are defined with triangular shaped membership functions which are evenly distributed on the appropriate universe of discourse. The normalizing fuzzy system gains associated with y(kT), y(kT), and p(kT) are chosen to be g= [ 1 1 ]T , g= [1 1 ]T, and g= [100 25]T , respectively. ecye 2π 2π yc 2 p For the robot process for an increase in the torque τ1 we would generally expect an increase in the process output θ1. Likewise, for an increase in the torque τ2 we would generally expect an increase in the process output θ2. Consequently, the knowledge-base array shown in Table 1 was employed for both fuzzy inverse models. 16
  • 17. 2. Simulation Results The simulation results for the FMRLC of the two degree-of-freedom robot manipulator are shown below in Figure 4 for joint #1 and Figure 5 for joint #2. Once again the FMRLC provided good 250 200 150 100 50 0 Ref. Input Ref. Model Response Actual Response 0 10 20 30 40 50 60 70 80 90 100 Time (sec) Joint #1 Position (deg) Robot Response - FMRLC Figure 4: Simulation results for joint #1 of FMRLC controlled robot system. 150 100 50 0 -50 -100 -150 Ref. Input Ref. Model Response Actual Response 0 10 20 30 40 50 60 70 80 90 100 Time (sec) Joint #2 Position (deg) Robot Response - FMRLC Figure 5: Simulation results for joint #2 of FMRLC controlled robot system. system tracking with respect to the reference model. As a result, the system exhibits good steady state and transient response. In fact, the response for joint #1 in Figure 4 was so close to the response of the reference model that the two almost perfectly overlap. IV Concluding Remarks The principal objectives of this paper were to: (i) introduce the FMRLC, (ii) provide a design method-ology for the FMRLC, (iii) design a FMRLC for a nonlinear time-varying rocket velocity control problem, 17
  • 18. and (iv) develop a MIMO FMRLC for a nonlinear two degree-of-freedom robot manipulator. The key advantages that the FMRLC seems to offer as a learning controller may be summarized as follows: • A detailed analytical model of the process is not needed to develop the FMRLC. • The FMRLC provides an automatic method to synthesize a portion of the knowledge-base (specif-ically, the right-hand-sides of the rules) for the direct fuzzy controller while at the same time it ensures that the system will behave in a desirable fashion (in particular, there is no need to “learn from drastic failures” as is often the case for other learning control techniques -e. g., as is often done for the inverted pendulum). • The learning/adaptation mechanism in the FMRLC dynamically and continually updates the rule-base in the direct fuzzy controller in response to process parameter variations and/or disturbances (e.g., see the rocket velocity control application). In this way if unpredictable changes occur within the plant, the FMRLC can make on-line adjustments to a direct fuzzy controller to maintain adequate performance levels. Basically, by combining learning/adaptive control concepts with fuzzy system theory, we have developed a control scheme which often has a fast rate of convergence and often provides an appropriate nonlinear mapping between controller inputs and outputs (i.e., it automatically performs “function approximation” [40] to achieve learning control). Despite these apparant advantages of the FMRLC algorithm, several drawbacks do exist: (1) the design procedure (e.g., selection of the normalizing gains) tends to be somewhat ad hoc, (2) there have been no investigations for the FMRLC (or any other fuzzy adaptive technique) to theoretically show that the fuzzy controller can in fact be tuned so that the performance specified in the reference model can be achieved (this problem is very well studied in conventional adaptive control where linear controllers are tuned so that performance specified in linear reference models is achieved), (3) conditions for stability and conver-gence of the FMRLC algorithm are yet to be found, (4) persistent excitation [7, 8] issues for the FMRLC need to be mathematically investigated (since the reference input affects the ability of the fuzzy controller parameters to converge to values that result in the reference model behavior being achieved), and (5) although it provides certain improvements over SOC (as shown in [12]), the FMRLC algorithm is still computationally intensive. These disadvantages provide several future research directions. For example, future research involving the FMRLC algorithm should include a mathematical analysis of the controller to better quantify the effect of controller design parameters. Perhaps the most important research direction is to perform stability and convergence analysis in the spirit of the extensive and significant contributions in stability analysis of conventional adaptive control [7, 8] and the important recent (actually yet to appear) results in [38]. Such stability analysis can be quite involved as the learning mechanism for the FMRLC ad-justs a nonlinear (fuzzy) controller as opposed to the conventional adaptive control case where often linear controllers are adjusted (there is, however, a growing body of literature on adapting nonlinear controllers). Finally, research must be directed towards developing faster algorithms for FMRLC computations to en-sure that the FMRLC can be employed in real world applications (along the same lines as was done in [22]). Acknowledgement: The authors would like to thank the reviewers for their helpful comments. 18
  • 19. References [1] W. Kickert and H. V. N. Lemke, “Application of a fuzzy controller in a warm water plant,” Automatica, vol. 12, no. 4, pp. 301–308, 1976. [2] E. Mamdani and S. Assilian, “An experiment in linguistic synthesis with a fuzzy logic controller,” Intl. Journal of Man-Machine Studies, vol. 7, no. 1, pp. 1–13, 1975. [3] J. Bernard, “Use of a rule-based system for process control,” IEEE Control Systems Magazine, vol. 8, pp. 3–13, October 1988. [4] Y. Li and C. Lau, “Development of fuzzy algorithms for servo systems,” IEEE Control Systems Magazine, vol. 9, pp. 65–72, April 1989. [5] K. Self, “Designing with fuzzy logic,” IEEE Spectrum, pp. 42–105 and 105, November 1990. [6] T. Procyk and E. Mamdani, “A linguistic self-organizing process controller,” Automatica, vol. 15, no. 1, pp. 15– 30, 1979. [7] K. ˚Astr¨om and B. Wittenmark, Adaptive Control. Reading, Massachusetts: Addison-Wesley Publishing Com-pany, 1989. [8] K. Narendra and A. Annaswamy, Stable Adaptive Systems. Englewood Cliffs, New Jersey: Prentice Hall, 1989. [9] E. Scharf and N. Mandic, “The application of a fuzzy controller to the control of a multi-degree-of-freedom robot arm,” in Industrial Applications of Fuzzy Control, pp. 41–62, Amsterdam, the Netherlands: M. Sugeno (ed.), 1985. [10] R. Tanscheit and E. Scharf, “Experiments with the use of a rule-based self-organising controller for robotics applications,” Fuzzy Sets and Systems, vol. 26, pp. 195–214, 1988. [11] T. Yamazaki, An improved algorithm for a self-organizing controller and its experimental analysis. PhD thesis, London University, 1982. [12] J. Layne and K. Passino, “Fuzzy model reference learning control,” Proceedings of the 1st IEEE Conference on Control Applications, pp. 686–691, Dayton, Ohio, September 1992. [13] S. Shao, “Fuzzy self-organizing controller and its application for dynamic processes,” Fuzzy Sets and Systems, vol. 26, pp. 151–164, 1988. [14] S. Isaka, A. Sebald, A. Karimi, N. Smith, and M. Quinn, “On the design and performance evaluation of adaptive fuzzy controllers,” Proceedings, 1988 IEEE Conference on Decision and Control, pp. 1068–1069, Austin, Texas, December 1988. [15] S.Daley and K. F. Gill, “Comparison of a fuzzy logic controller with a P+D control law,” Journal of Dynamical System, Measurement, and Control, vol. 111, pp. 128–137, June 1989. [16] S.Daley and K. F. Gill, “Altitude control of a spacecraft using an extended self-organizing fuzzy logic controller,” Proc. I. Mech. E., vol. 201, no. 2, pp. 97–106, 1987. [17] S.Daley and K. F. Gill, “A design study of a self-organizing fuzzy logic controller,” Proc. I. Mech. E., vol. 200, pp. 59–69, 1986. [18] J. Layne, K. Passino, and S. Yurkovich, “Fuzzy learning control for anti-skid braking systems,” IEEE Trans. on Control System Technology, vol. 1, pp. 122–129, June 1993. [19] J. Layne, K. Passino, and S. Yurkovich, “Fuzzy learning control for anti-skid braking systems,” Proc. IEEE Conf. on Decision and Control, pp. 2523–2528, Tucson, AZ, December 1992. [20] J. Layne and K. Passino, “Fuzzy model reference learning control for cargo ship steering,” IEEE Control Systems, vol. 13, no. 6, pp. 23–34, 1993. [21] J. Layne, “Fuzzy model reference learning control,” Master’s thesis, Department of Electrical Engineering, The Ohio State University, March 3 1992. [22] V. Moudgal, W. Kwong, K. Passino, and S. Yurkovich, “Learning control for a two-link flexible mechanism,” Proc. of the American Control Conference, pp. Baltimore, MD, June 1994. [23] W. Kwong and K. Passino, “Fuzzy learning systems for aircraft control law reconfiguration,” Proceedings of the IEEE Int. Symp. on Intelligent Control, pp. Columbus, Ohio, Aug. 16-18 1994. [24] G. Bartolini, G. Casalino, F. Davoli, R. M. M.Mastretta, and E. Morten, “Development of performance adaptive fuzzy controllers with applications to continuous casting plants,” Industrial Application of Fuzzy Control, pp. 73– 86, 1985. 19
  • 20. [25] H. Takahashi, “Automatic speed control device using self-tuning fuzzy logic,” 1988 IEEE Workshop on Auto-motive Applications of Electronics, pp. 65–71, Dearborn, Michigan, October 1988. [26] T. Takagi and M. Sugeno, “Fuzzy identification of systems and its applications to modeling and control,” IEEE Transactions on systems, Man, and Cybernetics, vol. 15, no. 1, pp. 116–132, 1985. [27] L. Wang and J. Mendel, “Generating fuzzy rules by learning from examples,” Proceedings, 1991 IEEE Interna-tional Symposium on Intelligent Control, pp. 263–268, Arlington, Virginia, August 1991. [28] R. M. Tong, “Some properties of fuzzy feedback systems,” IEEE Transactions on Systems, Man, and Cybernet-ics, vol. 10, pp. 327–330, June 1980. [29] A. Cumani, “On a possibilistic approach to the analysis of fuzzy feedback systems,” IEEE Transactions on Systems, Man, and Cybernetics, vol. 12, pp. 417–422, May/June 1982. [30] E. CzogaZla and W. Pedrycz, “On identification in fuzzy systems and its applications in control problems,” Fuzzy Sets and Systems, vol. 6, pp. 73–83, 1981. [31] E. CzogaZla and W. Pedrycz, “Control problems in fuzzy systems,” Fuzzy Sets and Systems, vol. 7, pp. 257–273, 1982. [32] C. Batur, A. Srinivasan, and C. Chan, “Automatic rule based model generation for uncertain complex dynamical systems,” Proceedings, 1991 IEEE International Symposium on Intelligent Control, pp. 275–279, 1991. [33] F. V. D. Rhee, H. V. N. Lemke, and J. Dijkman, “Knowledge based fuzzy control of systems,” IEEE Transactions on Automatic Control, vol. 35, pp. 148–155, February 1990. [34] P. Graham and R. Newell, “Fuzzy adaptive control of a first-order process,” Fuzzy Sets and Systems, vol. 31, pp. 47–65, 1989. [35] P. Graham and R. Newell, “Fuzzy identification and control of a liquid level rig,” Fuzzy Sets and Systems, vol. 8, pp. 255–273, 1988. [36] “IEEE Int. Conf. on Fuzzy Systems, San Diego,” 1992. [37] R. Langari and H. Berenji, “Fuzzy logic in control engineering,” in Handbook of Intelligent Control, pp. 93–140, Van Nostrand Reinhold, New York: D. White and D. Sofge (eds.), 1992. [38] L. Wang, “Stable adaptive fuzzy control of nonlinear systems,” Proceedings of the IEEE Conf. on Decision and Control, December 1992. [39] H. Berenji, “Fuzzy and neural control,” in An Introduction to Intelligent and Autonomous Control Systems (P. Antsaklis and K. Passino, eds.), Kluwer Academic Publishers; Norwell MA, 1993. [40] J. Farrell and W. Baker, “Learning control systems,” in An Introduction to Intelligent and Autonomous Control Systems (P. Antsaklis and K. Passino, eds.), Kluwer Academic Publishers; Norwell MA, 1993. [41] C. Lee, “Fuzzy logic in control systems: Fuzzy logic controller-part I,” IEEE Trans. on Systems, Man. and Cybernetics, vol. 20, pp. 404–418, March/April 1990. [42] M. Barr´ere, A. Jaumotte, B. Veubeke, and J. Vandenkerckhove, eds., Rocket Propulsion. New York, New York: Elsevier Publishing Company, 1960. [43] G. Mandell, G. Caporaso, and W. Bengen, eds., Topics in Advanced Model Rocketry. Cambridge, Massachusetts: The MIT Press, 1973. [44] J. Slotine and W. Li, Applied Nonlinear Control. Englewood Cliffs, New Jersey: Prentice Hall, 1991. 20