Engineering Applications of Artificial Intelligence 16 (2003) 213–225
Open loop dynamic trajectory generator for a fuzzy gain scheduler Rainer Palma,*, Christiane Stutzb a b
Siemens AG Corporate Technology Otto-Hahn-Ring 6, 81739 Munich, Germany Software Design & Management, Thomas-Dehler-St. 27, 81737 Munich, Germany
Abstract This paper presents a dynamic trajectory generator for a nonlinear system to be controlled by a fuzzy gain scheduler composed of a set of local linear Takagi–Sugeno (TS) fuzzy controllers. The local control laws are designed for the error system including the desired state and the corresponding desired control input. The task of the open loop dynamic trajectory generator is the generation of a sequence of control inputs along a predefined dynamic trajectory of the nominal nonlinear system. While the desired state is normally given, the corresponding desired control input may not always be computable in an explicit or unique way. With the proposed method the desired control input is approximated by an inverse fuzzy model of the nominal system. The model is built on the basis of a combination of c-elliptotype and Gustafson–Kessel clustering and a subsequent identification of local linear and affine TS models. In a next one-step ahead optimization loop the approximated control input is corrected by an analytical forward model of the nominal system. r 2003 Elsevier Ltd. All rights reserved. Keywords: Trajectory generation; Takagi–Sugeno fuzzy systems; Fuzzy gain scheduling; Clustering; Optimization
1. Introduction Gain scheduling is used for the control of nonlinear systems like airplanes or ships at certain operating regimes or along predefined reference trajectories. Gain scheduling along reference trajectories requires the choice of a finite number of operating points belonging to the reference state trajectory. For each of the operating points a local linear approximation of the original nonlinear system is constructed. Furthermore, a local linear controller is designed for each local linearized subsystem. For intermediate operating points the local linear controllers are scheduled (interpolated) which results in a global gain scheduling control law (Stilwell, 1999; Costa and Oliveira, 2002). Because of stability reasons the reference trajectory is considered to be slowly time varying with respect to the system dynamics (time-frozen case) (Rugh, 1991; Shamma, 1988). One efficient way of gain scheduling is to use a Takagi–Sugeno (TS) fuzzy approximation of the nonlinear system (Takagi and Sugeno, 1985; Tanaka and *Corresponding author. Tel.: +49-8963643764; fax: +498963645456. E-mail addresses:
[email protected] (R. Palm),
[email protected] (C. Stutz). 0952-1976/03/$ - see front matter r 2003 Elsevier Ltd. All rights reserved. doi:10.1016/S0952-1976(03)00061-7
Sugeno, 1992). TS fuzzy gain schedulers provide a general and computationally efficient method for the interpolation of control local laws calculated in advance (Palm et al., 1996). The fuzzy approximation is done on the basis of the system linearized around the desired state trajectory and the related control inputs. The local control laws are therefore designed for the error system which includes both the desired and actual state and the corresponding desired control input. Since control tasks are mostly goal oriented, the desired reference state is normally given by the user, but the corresponding reference control input is not and has still to be calculated or estimated. A mismatch between the real and the estimated desired control input represents a disturbance in the input channel of the closed loop system which has to be minimized. The task is therefore: Given a sequence of desired states. Find the appropriate sequence of desired control inputs to be applied to the nominal dynamical system such that the sequence of desired states is obtained at a given accuracy. Trajectory generation is a challenging task especially for robots and mobile vehicles (Tounsi and Le Corre, 1996; Tzafestas et al., 1992). Only few authors, however, pay attention to the generation of reference input trajectories. The calculation of the nominal reference
214
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
input trajectory cannot be performed in an explicit way if the control input is implicitely represented in the nonlinear state equation. Several authors deal with the desired reference output (or state) trajectory together with corresponding reference inputs without showing the way how to generate the reference control inputs (Johansen and MurraySmith, 1997; Johansen et al., 1998; Babu$ska, 1997; Shamma, 1988; Rugh, 1991). In Zachery and Wang (1996) the singular value decomposition technique (SVD) was applied to characterize the input and output function spaces on the basis of the controllability property of the system. This technique was used for a discrete linear time-invariant system for which the number of inputs and outputs are the same. The tracking of a periodic output reference signal for SISO systems using an adaptive learning mechanism is discussed in Del Vecchio et al. (2001). The method is based on local modeling using Fourier series expansions to learn the reference control input. In Rhodes et al. (1997) an open-loop trajectory planning algorithm based on local modeling is presented where a control input sequence according to a given reference trajectory is calculated. In Chyung (1994) a nonlinear system was linearized around a nominal trajectory and a feedforward tracking controller was designed. In order to ensure a zero steady state error the feed-forward gains are readjusted and stored into a lookup table. The method was tested by a ramp-like reference input. In Iwata and Kitamura (1994) a multi-layer neural network was used to model the input–output mapping of an unknown discrete-time nonlinear system. The model was applied for generation of the reference input sequences. In Butler et al. (1991) a reference trajectory generator for a linear second order mechanical system under feedback/feed-forward control is described. All the proposed methods lack the necessary accuracy of the relationship between a given reference output trajectory, or state trajectory, and its regarding reference input trajectory. The reason for this is a lack of a mechanism that corrects the computed reference inputs which leads to an undesired bias in the control input channels. The method proposed in this paper assumes both the model of the system and the desired state trajectory to be known in analytical form. From the data of the control inputs, the states and the estimates of their time derivatives an inverse TS fuzzy model is built with the help of which an approximation of the control input can be generated. The so obtained approximation of the desired control input is fed to the analytical model together with the corresponding desired state. From the error between the output of the analytical model and the predefined time derivative of the state the approximation of the control variable is corrected. This nonlinear feedback optimization loop uses a TS forward differential model of the system one-step ahead and corrects
the original approximation of the desired control input until the error is minimized (see also Fig. 2). Although the data are time discrete both the analytical model, the inverse TS fuzzy model and the direct differential forward model are of continuous form. This can be justified because of the assumption that the sampling time while recording the data is more than 10 times less than the interesting time constants of the system to be controlled (Ljung and Glad, 1994). The paper is organized as follows. In Section 2 the fuzzy gain scheduling problem is briefly described. Section 3 deals with the calculation of an inverse TS fuzzy model of the nonlinear system. In Section 4 the correction of the so obtained control inputs by a forward analytical nonlinear model of the system is presented. Section 5 presents simulation results of a single input/single output (SISO) system and a multiple input/multiple output (MIMO) system. Section 6 concludes the paper.
2. The fuzzy gain scheduling problem Given a nonlinear autonomous system x’ ¼ f ðx; uÞ;
ð1Þ
where xARn is the state vector, uARm is the vector of control inputs, and mpn: Let xd ðtÞ be a known slowly time-varying state reference trajectory and ud ðtÞ the sequence of corresponding reference control inputs where xd ðtÞ; x’ d ðtÞ; and ud ðtÞ are assumed to be smooth that satisfy the differential equation x’ d ¼ f ðxd ; ud Þ:
ð2Þ
Let, furthermore, the system be small-time locally controllable. That is, system (1) is small-time locally controllable at any point of xd ðtÞ if we can reach nearby points in arbitrarily small amounts of time remaining in a neighborhood of xd ðtÞ (Altafini, 1999). The requirement for small-time local controllability is important in order to track the nonlinear system (1) along a desired trajectory xd ðtÞ with a given accuracy. The check of local controllability using the Lie algebra formalism is not a trivial task and is not the issue of this paper. The reader is therefore referred to Slotine and Li (1991); Vidyasagar (1993); Sontag (1990). The tracking control problem for (1) can be transformed into a stabilization control problem for the nonlinear non-autonomous error system e’x ¼ f ðex þ xd ; eu þ ud Þ f ðxd ; ud Þ;
ð3Þ
where ex ¼ xðtÞ xd ðtÞ; eu ¼ uðtÞ ud ðtÞ; and e’x ¼ xðtÞ ’ x’ d ðtÞ: Observe here that (3) became now nonautonomous because of the time dependence of reference trajectory involved.
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
The control problem of local stabilization can be solved by Lyapunov-linearization of (3) around ð0; 0Þ
215
ð4Þ
expression corresponding to the above rules (9) reads c X wj ðxd ; ud ÞKj ðx xd Þ þ ud ð10Þ u¼
are Jacobians, and h.o.t. are higher order terms. Eq. (4) is equivalent to
that is intended to stabilize (8) at any arbitrary operating point ðxd ; ud Þ: From (8) and (10) one obtains the linear but nonautonomous closed loop fuzzy model c c X X x’ ¼ x’ d þ wi ðxd ; ud Þwj ðxd ; ud Þ
e’x ¼ Aðxd ; ud Þex þ Bðxd ; ud Þeu þ h:o:t:; where
@f ðx; uÞ Aðxd ; ud Þ ¼ ; @x xd ;ud
@f ðx; uÞ Bðxd ; ud Þ ¼ @u xd ;ud
x’ ¼ x’ d þ Aðxd ; ud Þðx xd Þ þ Bðxd ; ud Þðu ud Þ þ h:o:t:;
i
ð6Þ
The of gain scheduling is to generate the gain Kðxd ; ud Þ in a efficient way. Existing crisp gain scheduling design methods are described in Rugh (1991), Shamma (1988) and Nichols et al. (1993). Another option is to design a fuzzy gain scheduler that is based on TS fuzzy models (Palm et al., 1996). The closed loop fuzzy model of (1) is given as a set of c fuzzy rules of the form IF
xd ¼ LX i
AND
ud ¼ LU i
THEN x’ ¼ x’ d þ Ai ðx xd Þ þ Bi ðu ud Þ;
ð7Þ
where Ai ¼ Aðxi ; ui Þ; Bi ¼ Bðxi ; ui Þ; ðxd ; ud Þ is an operating point , LX i is the term set (e.g. SMALL, MEDIUM, etc.) of the ith fuzzy region of the state space, LU i is the term set of the ith fuzzy region of the space of control inputs. The THEN-part of the above fuzzy rule contains a linear autonomous open loop model describing the open loop dynamics at the center of the ith fuzzy region defined by the fuzzy variable LX i ; LU i ði ¼ 1; y; cÞ: The weighted combination of all rules (7) is calculated by the sum over all consequents of (7) weighted by the degree of actication wi of rule i x’ ¼ x’ d þ
c X
wi ðxd ; ud ÞðAi ðx xd Þ þ Bi ðu ud ÞÞ;
ð8Þ
i i
Pc
j
ðAi þ Bi Kj Þðx xd Þ:
ð5Þ
where the equilibrium point of the latter system is now the trajectory xd ðtÞ together with the related control input ud ðtÞ: An appropriate control law is u ¼ ud þ Kðxd ; ud Þex :
j
ð11Þ
while the Kj ’s have to be designed so that the closed loop system is stable. In the following, however, we are not interested in designing the individual controller gains of (10) but in finding the appropriate ud ðtÞ sequence. This corresponds to the so-called Open Loop Dynamic Trajectory Generator in Johansen et al. (1998) where the time-varying model parameters are functions of specific scheduling variables. In our case the scheduling variables are identical with the reference trajectory ðxd ðtÞ; ud ðtÞÞ: Another approach using the actual trajectory ðx; uÞ for the calculation of the model parameters incorporates a feedback loop and leads to the so-called Scheduled Dynamic Trajectory Generator. In this case unmodeled dynamics and disturbances play a role for the generation of the reference trajectory. This issue, however, will not be discussed in the following. Both dynamic trajectory generators essentially invert the system. This, however, may cause instability in the case of unstable local zerodynamics. This case will also be excluded in this paper.
3. Calculation of the direct and the inverse TS fuzzy model of the plant In the following we assume the sampling time much smaller than the interesting time constants t of the model. As a rule of the thumb one may get a good approximation (Ljung and Glad, 1994) xE ’
xðtkþ1 Þ xðtk Þ ; tkþ1 tk
t T ¼ tkþ1 tk o : 10
ð12Þ
i
where w ðxd ; ud ÞX0; i w ðxd ; ud Þ ¼ 1; and c is the number of fuzzy regions (submodels or clusters). The computation of the weights wi is described in the next section. Eq. (8) approximates the ‘‘missing’’ linear open loop system (5). The fuzzy gain scheduler is given as a set of c fuzzy rules IF xd ¼ LX j AND ud ¼ LU j THEN u ¼ Kj ðx xd Þ þ ud ;
ð9Þ
where Kj ¼ Kðxj ; uj Þ is the gain matrix for the jth fuzzy region to be designed ðj ¼ 1; y; cÞ: The analytical
If the fuzzy model is generated on the basis of input/ output data, the nonlinear system (1) is locally approximated at a point ðx; uÞ by the affine fuzzy model x’ ¼ Aðx; uÞx þ Bðx; uÞu þ conðx; uÞ; ð13Þ Pc i Pc i where Aðx; P uÞ ¼ i w ðx; uÞAi ; Bðx; uÞ ¼ i w ðx; uÞBi ; conðx; uÞ ¼ ci wi ðx; uÞconi ; and Ai ARnn ; Bi ARnm ; and coni ARn : Approximation errors are neglected in (13). Observe here that the weights wi are functions of the actual states x and their corresponding control values u:
216
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
The approximation of (1) at some reference trajectory ðxd ðtÞ; ud ðtÞÞ reads x’ d ¼ Aðxd ; ud Þxd þ Bðxd ; ud Þud þ conðxd ; ud Þ; ð14Þ Pc i Pc i where Aðxd ; ud Þ ¼ i wPðxd ; ud ÞAi ; Bðxd ; ud Þ ¼ i w ðxd ; ud ÞBi ; conðxd ; ud Þ ¼ ci wi ðxd ; ud Þconi : Let xd be given but the corresponding reference control input u# d only be estimated. Then we obtain from (14) x#’ d ¼ Aðxd ; u# d Þxd þ Bðxd ; u# d Þu# d þ conðxd ; u# d Þ; ð15Þ Pc i x’ d ; Aðxd ; u# d Þ ¼ i w where x#’ d is an estimate Pc of i # # ðx ; u ÞA ; Bðx ; u Þ ¼ w ðx ; u# d ÞBi ; conðxd ; u# d Þ ¼ d d i d d d i Pc i # d Þconi : i w ðxd ; u In order to compute a control ud that matches a given xd in a predefined region we need an inverse model of (1) that calculates u for given x and x’ u ¼ gðx; xÞ: ’
may cause a poor identifiability. In Shorten et al. (1999) it is shown that, in some cases, local modeling is only feasible in small regions of the state space. Moreover, it is demonstrated that for off-equilibrium operating regimes the parameterization of the model dynamics is non-unique. If we know the centers of the fuzzy regions and the corresponding membership functions in advance, e.g. by design, we can follow the guidelines in Johansen et al. (2000) for a modeling experiment. *
ð16Þ
In addition, in many cases an explicit representation of the nonlinear inverse model (16) is not possible. Therefore u is approximated by a fuzzy model for a restricted region in the product space of ðx; x; ’ uÞ * * u# ¼ Aðx; xÞx cg on xÞ; ð17Þ ’ þ Bðx; xÞ ’ x’ þ conðx; ’ Pc i Pc i * xÞ * xÞ where Aðx; ’ A* i ; Bðx; ’ ¼ i w ðx; xÞ ’ B* i ; ’ ¼ i w ðx; xÞ P cg conðx; on xÞ coni and A* i ARmn ; B* i ARmn ; ’ ¼ ci wi ðx; xÞg ’ con and con cg oni ARm have to be determined by means of selected training data sets. That is, (17) is one possible model generated from data that represent the operating regions of the particular process. In the following we assume x’ d to be given together with xd : Hence, from (17) and for given xd and x’ d the corresponding u# d is calculated * d ; x’ d Þxd þ Bðx * d ; x’ d Þx’ d þ conðx cg on d ; x’ d Þ; ð18Þ u# d ¼ Aðx Pc i Pc i * d ; x’ d Þ ¼ * d ; x’ d Þ ¼ ðxd ; x’ d ÞA* i ; Bðx where Aðx i wP i w c i * g ðxd ; x’ d ÞBi ; conðx con d ; x’ d Þ ¼ i w ðxd ; x’ d Þg coni : con In the following we describe the modeling steps, the clustering procedure in the product space, the projection of the clusters onto the input space, and the computing of the local affine models. 3.1. Principal modeling steps Fuzzy modeling on the basis of data puts always the question on the type and number of local models, and the quality of the training data. In Johansen et al. (2000) a review of regarding methods can be found and some critical issues are discussed. In fact, dynamical systems are not only working in equilibrium regions but also in transient operating regions (off-equilibrium points). The identification of local affine models in transient operating regions is difficult because of the excessive degrees of freedom contained in these regions. This means, depending on the experimental data, different combinations of affine local model parameters are possible which
*
Bring the system through a sequence of equilibria that includes the equilibria of the local models. At each equilibrium the system has to be excited by super-positioned small-amplitude PRBS (pseudorandom binary sequence) signals. The frequency content of the signals should cover an interval from the inverse rise time up to the bandwidth of the closed loop system. Generate several transient trajectories for each equilibrium local model. The corresponding input signals should contain both large-amplitude steps and perturbation dynamics of the off-equilibrium local models. The frequency content should be higher compared to those of the equilibrium data to prevent the system from settling at some equilibrium.
Here it has to be emphasized that, in spite of the discontinuous nature of the control input sequence for model identification, the reference control sequence remains to be continuous. If we have to find the centers of the fuzzy regions and the corresponding membership functions there are two ways. 1. Special data sets (clustering data sets) that cover all relevant operating regions are generated. From clustering of these data the centers of the fuzzy regions and the corresponding membership functions are generated. After that, on the basis of the above mentioned guidelines, another modeling data set is selected and the corresponding local models are generated. 2. Clustering data sets and modeling data sets are identical. In this case one has to find the equilibria directly from the nonlinear system and apply the above guidelines both for clustering and modeling. Applying the second way of clustering and modeling, the following principal modeling steps to obtain Eq. (17) are 1. Choose an appropriate number of local linear models (data clusters) c: 2. Find c local linear models by clustering in the product space of the date triples ðx; x; ’ uÞ using Fuzzyc-elliptotype clustering. 3. Find the corresponding fuzzy regions in the space of input data ðx; xÞ ’ by projection of the clusters in the
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
217
the optimization loop—to be sufficiently close to the ideal ud jju# d ud jjoe0 ;
ð19Þ
where e0 is a positive design constant. The regarding estimate x#’ d is computed from the given xd and a control value u* d ðtÞ ¼ u# d þ Du# d ðtÞ x#’ d ¼ f ðxd ; u* d ðtÞÞ: ð20Þ
Fig. 1. Clustering and model computation.
product space into Gustafson–Kessel clusters (GK) in the input space (Gustafson and Kessel, 1979). 4. Calculate the local linear (affine) models in the ðx; x; ’ uÞ product space using the GK clusters from step 2. It has to be stressed that x’ is not directly measurable but is approximated by (12). Fig. 1 shows a 3-dimensional example where the product space and the input space are defined by ðx; x; ’ uÞ ¼ ðx1; x2; x3Þ; and ðx; xÞ ’ ¼ ðx1; x2Þ; respectively. In this example two clusters are shown with their centers ðv1 ; v2 Þ in the product space and ðv1proj ; v2proj Þ in the input space. The detailed algorithms are described in Appendix A (see also Stutz, 1998, 1999; Gustafson and Kessel, 1979).
4. Correction of u# d by the forward analytical nonlinear model Recall that we need to calculate a control value ud for a given state xd and its derivative x’ d : From the inverse fuzzy model (18) only a coarse approximation of the desired control value u# d can be obtained. The size of the approximation error Dud ¼ u# d ud strongly depends on the quality of the inverse fuzzy system (18). A coarse approximation may therefore lead to a large error of the state x: This error could be eliminated by an integrator in the control loop of the plant but at the expense of an increasing order of the system to be controlled. The method presented here introduces a one-step ahead optimization loop to correct u# d with the help of the known analytical nonlinear forward model of the plant. Recall that xd and x’ d is a given smooth reference trajectory and its time derivative, respectively. Let u# d be calculated by the inverse model (18) and assume the initial value of u# d —the value of u# d at the start of
u* d ðtÞ is a composition of u# d which is originally obtained from the inverse model (18) and a correction term Du# d ðtÞ that is computed by an optimization loop described below. t characterizes the optimization step or a ‘‘virtual time scale’’, respectively. In an optimization loop the norm of the difference Dx’ d ¼ x*’ d x’ d is minimized and, with this, the norm of the difference u* d ud : If the norm of the difference Dx’ d ¼ x#’ d x’ d is smaller than a defined threshold e or if a maximum number of optimization steps is reached then the optimization is stopped. The optimization procedure converges for d u* d ¼ gBT ðxd ; u* d ÞDx’ d ; ð21Þ dt where g > 0 is the optimization rate, BT is the transpose of B: The fuzzy approximation of B is shown in (15). To show this we define the Lyapunov function 1 ð22Þ V ¼ Dx’ Td Dx’ d 2 and the change of V d d # V ¼ Dx’ Td x’ d : ð23Þ dt dt Furthermore, we obtain with (20) d # df ðxd ; u* d ðtÞÞ du* d x’ d ¼ : ð24Þ dt du* d dt With (4) and (15) we have df ðxd ; u* d Þ df ðx; uÞ ¼ ¼ Bðxd ; u* d Þ: du* d du x¼xd ;u¼u* d
ð25Þ
Then we obtain d # du* d x’ d ¼ Bðxd ; u* d Þ : ð26Þ dt dt In order to guarantee stability in the optimization process we choose d u* d ¼ gBT ðxd ; u* d ÞDx’ d ; ð27Þ dt where g > 0; and BT is the transpose of B: Substitution of (27) and (26) into (23) yields d V ¼ gDx’ Td Bðxd ; u* d ÞBT ðxd ; u* d ÞDx’ d : ð28Þ dt Therefore dV =dt is semidefinite because Bðxd ; u* d ÞBT ðxd ; u* d ÞX0: Here it has to be emphasized that in most cases BBT is not of full rank. This means that dV =dt may become
218
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
zero even if not all components of Dx’ d are zero, and the optimization algorithm stops converging to Dx’ d ¼ 0: Therefore, according to the LaSalle’s invariance theorem (Khalil, 1996) we assume the initial values of jjDx’ d jjt¼0 to be small enough to get into a region of attraction around Dx’ d ¼ 0: This means for the quality of the fuzzy model that (17) approximates the inverse system (16) only well enough in the regions of training data ðx; x; ’ uÞ: A good solution may therefore only be possible in regions covered by these data. Since we assume the analytical forward model to be known we incorporate the forward model x#’ d ¼ f ðxd ; u* d Þ in the optimization law (27). Then we obtain for (27) in terms of a fuzzy approximation c X d u* d ¼ g wj ðxd ; u* d ÞBTj ðf ðxd ; u* d Þ x’ d Þ: dt j
ð29Þ
The correction scheme for ud plus control loop is shown in Fig. 2. It has to be stressed that the depicted scheme only shows the Open Loop Dynamic Trajectory Generator including the ideal analytical function f ðx; uÞ of the plant to be controlled. That is why no unmodeled dynamics and disturbances are incorporated. These effects play a role only for the Scheduled Dynamic Trajectory Generator mentioned in Section 2. Trajectory generator and gain scheduler do not influence each other because of the absence of a feedback loop between them. In many practical cases the full state and its derivative are not available. Nevertheless, the proposed method can also be applied if the full state is not available. This approach will be sketched in the following. From input–output data a dynamical fuzzy model is identified: y’ ¼ f y ðy; uÞ ¼ Ay ðy; uÞy þ By ðy; uÞu þ cony ðy; uÞ;
ð30Þ
Pc i P y By ðy; uÞ ¼ ci wi where Ay ðy; uÞ ¼ P i w ðy; uÞAi ; ðy; uÞByi ; cony ðy; uÞ ¼ ci wi ðy; uÞconyi ; and Ayi ARrr ; Byi ARrr ; conyi ARrr ; and rXm: f y ðy; uÞ serves here as the nominal dynamical model. In contrast to the previous case data are usually corrupted with noise. The modeling method presented here is known to be robust against noise (Fantuzzi et al., 1998; Linkens and Shieh, 1992). In the case of data outliers, however, more sophisticated clustering methods have to be applied (Dave, 1991; Chintalapudi and Kam, 1998). By means of the same data set an inverse model is generated. u ¼ gy ðy; yÞ cg ony ðy; yÞ: ð31Þ ’ ¼ A* y ðy; yÞy ’ þ B* y ðy; yÞu ’ þ con ’ Let the desired output trajectory y’ d and its time derivative y’ d be given. Define, further, a Lyapunov function 1 ð32Þ V y ¼ Dy’ T Dy; ’ Dy’ ¼ y#’ d y’ d : 2 The next steps are related to those with the full state. Finally, according to (29) we obtain the following optimization law: c X d u* d ¼ g wj ðyd ; u* d ÞðByj ÞT ðf y ðyd ; u* d Þ y’ d Þ: ð33Þ dt j
5. Simulation results Two examples are presented using local inverse models with and without feedback correction. The non-corrected results correspond to methods reported in (Butler et al. (1991), Chyung, 1994, Del Vecchio et al. (2001), Iwata and Kitamura (1994) and Rhodes et al., 1997). In each of the examples a reference trajectory xd ðtÞ and its time derivative x’ d ðtÞ are given. Furthermore, a control sequence u# d ðtÞ is generated from the inverse fuzzy model (18). This control sequence u# d ðtÞ is fed to the original nonlinear system (1) from which a x#’ d ðtÞ sequence results. Then jDxj ’ ¼ jx’ d ðtÞ x#’ d ðtÞj is evaluated both with and without optimization feedback loop. 5.1. SISO case The first example deals with the SISO system x. ¼ 0:5x’ 2 0:1x þ 0:1eu þ sin u
ð34Þ
from which it is clear that the control value u cannot be calculated explicitly. In order to obtain a corresponding TS fuzzy model the system (34) is driven by u ¼ 0:5 sinð1:5t þ 2Þ 0:2 cosð2tÞ
Fig. 2. Correction scheme for ud :
ð35Þ
from which 1000 data quadruple ðx; x; ’ x; . uÞ are collected. Both the direct fuzzy model (13) and the inverse fuzzy model (17) are built on the basis of 30 clusters (submodels). The fuzzy parameter was chosen to
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
219
m * ¼ 2: The cluster centers Vproj and the differential gain matrices BT for each local model are presented in Appendix B. In this simulation the desired trajectory is chosen as xd ¼ 3 sinð0:3t 6Þ
ð36Þ
for which the corresponding ud has to be generated. Fig. 3 shows the evolution of ðxd ; x’ d ; x. d Þ and the acceleration errors Dx. d ¼ x. d x#. d where 100 steps correspond to 10 s: Fig 4 shows the corresponding u# d values. The error Dx. d is in the range of the x. d and therefore unacceptably high. Both examples show that for an open loop dynamic trajectory generator an inverse fuzzy model of the system without any correction does not give satisfactory results for the reference input trajectory ud ðtÞ: This, in turn, may cause high systematic state errors ex in the closed loop since the fuzzy gain scheduler may not be able to compensate for the deviation ud u# d between the ideal and the estimated reference input. On the other hand, the examples show that a feedback optimization loop in the trajectory generator improves the quality of the reference input trajectory significantly which gives rise to much smaller state errors in the closed loop. Fig. 5 shows the evolution of ðxd ; x’ d ; x. d Þ and the acceleration errors Dx. d ¼ x. d x#. d in the feedback case. Fig. 6 shows the corresponding control input u* d :
Fig. 5. Acceleration errors, with feedback, SISO case.
Fig. 6. Control values, with feedback, SISO case.
Observe here that the acceleration error jDx. d j is restricted to e ¼ 0:01: That is, the generated u* d is very close to the ideal value ud : The chattering effect is due to the fact that inside the e layer the error Dx. d may increase without any correction. As jDx. d j > e then the correction algorithm starts and, with the present optimization rate g ¼ 1; reduces jDx. d j very fast. Chattering can be damped by reducing the optimization rate. 5.2. MIMO case
Fig. 3. Acceleration errors, no feedback, SISO case.
The second example deals with a two-link robot arm described by the following nonlinear equations (Palm et al., 1996): MðqÞq. ¼ Nðq; qÞ ’ þ u:
ð37Þ
In this equation MðqÞ ¼ and Nðq; qÞ ’ ¼ Fig. 4. Control values, no feedback, SISO case.
ðm1 þ m2 Þl12
m2 l1 l2 cosðq1 q2 Þ
m2 l1 l2 cosðq1 q2 Þ
m2 l22
! n1 ; n2
!
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
220
where n1 ¼ q’ 22 m2 l1 l2 sinðq1 q2 Þ ðm1 þ m2 Þgl1 sin q1 þ Kq1 q’ 1 ; n2 ¼ q’ 21 m2 l1 l2 sin ðq1 q2 Þ m2 gl2 sin q2 þ Kq2 q’ 2 ; where Kq1 and Kq2 are damping coefficients, q ¼ ðq1 ; q2 ÞT is the vector of joint angles, u ¼ ðu1 ; u2 ÞT is the control input vector. The mechanical parameters of the system are m1 ¼ 3 kg;
m2 ¼ 3 kg;
l1 ¼ 0:2 m;
l2 ¼ 0:2 m
kg m2 kg m2 ; Kq2 ¼ 3 : s s To obtain a corresponding TS fuzzy model the system (37) is driven by Kq1 ¼ 2
u1 ¼ 20 sin10t;
u2 ¼ 30 sin 25t
ð38Þ
from which 1000 data points ðq1 ; q’ 1 ; q. 1 ; q2 ; q’ 2 ; q. 2 ; u1 ; u2 Þ are collected. The direct and the inverse fuzzy model, respectively, are built on the basis of 30 clusters. In simulation the desired trajectory qðtÞ is chosen as q1 ¼ sin t;
q2 ¼ sin t
Fig. 8. Acceleration errors, no feedback, MIMO case.
ð39Þ
for which the corresponding ud has to be generated. Observe here that the frequency of the desired trajectory is much slower as the frequency for which the model has been built. Fig. 7 shows the evolution of qd ðtÞ; q’ d ðtÞ; q. d ðtÞ where 100 steps correspond to 0:25 s: The fuzzy parameter was chosen to m * ¼ 2: The cluster centers Vproj and the differential gain matrices BT for each local model are presented in Appendix B. Fig. 8 shows very high acceleration errors for the nonfeedback case. The corresponding control values are depicted in Fig. 9. With the help of the optimization
Fig. 9. Control values, no feedback, MIMO case.
Fig. 7. Evolution of qd ; q’ d ; q. d ; MIMO case.
Fig. 10. Acceleration errors, with feedback, MIMO case.
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
221
function JðU; V ; ZÞ ¼
c c X X i¼1
* 2 mm ik dik ;
ðA:1Þ
k¼1
where Z is the data matrix of all data points zk ¼ ðxðkÞ; xðkÞ; uðkÞÞT ðk ¼ 1ynÞ; zk ARp (here p ¼ 3): ’ 1 mik ¼ Pc ðA:2Þ * 2=ðm1Þ ðd =d jk Þ j¼1 ik
Fig. 11. Control values, with feedback, MIMO case.
is the degree of membership of the data point zk ¼ ðxðkÞ; xðkÞ; uðkÞÞT in the ith cluster. U ¼ fmik gARcn is ’ the so-called partition matrix collecting the membership degrees of all data. n is the number of data points. m * >1 is a fuzzy parameter that determines the degree of fuzziness between two clusters. vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi u r X u dik ¼ tjjzk vi jj2 a ððzk vi ÞT sij Þ2 ðA:3Þ j¼1
feedback loop the acceleration errors are reduced significantly (see Fig. 10). Hence, an accurate generation of ud may increase the control performance of a fuzzy gain scheduler considerably (Fig. 11).
6. Conclusions The generation of control sequences for a fuzzy gain scheduler on the basis of a Takagi–Sugeno (TS) Fuzzy model was discussed. The modeling of the system was done by a combination of c-elliptotype clustering and Gustafson–Kessel clustering of input output data and a subsequent identification of local linear and affine TS models. The control input to be applied incorporates: (i) a feedback control input part that stabilizes the system around the desired state trajectory and (ii) a feedforward control input part that brings the system to the vicinity of the desired state trajectory. The method presented here used an inverse TS fuzzy model to generate the feed-forward control input on the basis of the state and its derivative. In a one-step ahead optimization loop the feed-forward control input is corrected by the analytical forward model of the nonlinear system. Experimental results with a SISO and a MIMO system show the high performance of the optimization method.
is a measure for the distance between a data point zk and a cluster center vi : vi ARp is the center of the ith cluster where Pn * mm ik zk ðA:4Þ vi ¼ Pk¼1 n * ; m k¼1 mik Pn mm* ðzk vi Þðzk vi ÞT ðA:5Þ Si ¼ k¼1 ikPn * m k¼1 mik is the fuzzy scatter matrix, sij is the eigenvector of the jth greatest eigenvalue of Si ; r ¼ p 1 is the number of independent eigenvectors, V is the matrix of all cluster centers vi ; aX0 is a parameter which forms the ellipsoid. The clustering procedure stops when the change of the cluster centers becomes smaller than a given threshold e* > 0: A measure for the change of a cluster center is jjDV jj ¼
max
i¼1yc;j¼1yn
fvij ðk þ 1Þ vij ðkÞg;
ðA:6Þ
where vij ðkÞ is the jth component of vi in the kth optimization step. The steps of the clustering algorithm are Input of all data Z Choose a fuzzy parameter m > 1 Choose e* near zero Initialize the cluster centers V randomly within the range of data 5. Choose a ¼ 0 1. 2. 3. 4.
loop Appendix A A.1. Clustering of the ðx; x; ’ uÞ data sets in the product space using c-elliptotype clusters (FCE) (Bezdek, 1981)
* *
* *
C-Elliptotype clustering is a method to find locally restricted ellipsoidal hyperplanes in the data. The ðx; x; ’ uÞ data are clustered according to the cost
*
Calculate the distances D ¼ fdik g according to (A.3) Calculate new membership degrees U according to (A.2) Calculate new centers V according to (A.4) Choose a ¼ const > 0 Calculate Si and sij
until jjDV jjo*e:
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
222
A.2. Projection of the clusters to Gustafson–Kessel clusters (GK) in the input space
A.3. Computing of the local linear (affine) models in the product space using the GK clusters from step 2
The projection of an elliptotype cluster onto a subspace (the input space) results in another elliptotype cluster of lower dimension on the basis of which the degrees of membership of the projected data to the projected elliptotype cluster could have been calculated. Experiments with test data have shown, however, that the modeling results can be improved if one changes the FCE clusters into GK-clusters. This can be explained as follows. GK clusters are elliptotype clusters with the following properties. For GK clustering the distance dik of a data point zk to the ith cluster center vi uses the cluster covariance matrix (scatter matrix) Si that is estimated from data:
T in : The composiLet zout ’ k ¼ uðkÞ and zk ¼ ðxðkÞ; xðkÞÞ tion of local affine models can be written as c X zout ¼ wi ðzin ÞðGi zin þ coni Þ: ðA:11Þ
T
dik ¼ ðzk vi Þ Si ðzk vi Þ:
ðA:7Þ
In addition, the shape of a cluster is determined by the eigenvalues of the scatter matrix Si : On the other hand, in elliptotype clustering the relationship between the eigenvalues of the scatter matrix and the shape of the clusters is already defined by the parameter a: That is, there are less degrees of freedom available with elliptotype than with GK clustering. GK clustering in the input space has been chosen because the shape of the clusters in the projected input space can hardly be predicted and a reasonable a could therefore not be determined. GK-clusters are represented by a cluster center and a norm-induced matrix that determines the cluster shape. For the projected clusters the centers viproj are determined by using the pin input components of the cluster centers viproj ¼ ðv1 ; y; vpin ÞTi : We use the membership degrees mik that have already been calculated in the product space by (A.2) to compute the scatter matrix Siproj in the input space Pn * m T m proj ðzin viproj Þðzin k viproj Þ Siproj ¼ k¼1 ik Pkn : ðA:8Þ * proj m m k¼1 ik The fuzzy parameter m * proj may be different from the original m: * From (A.8) the norm induced matrix Aiproj is computed
i¼1
The task is now to identify G i and coni based on input/ output training data. This is done by a regression procedure where the squared error for each cluster has to be minimized n X 2 i in i Ei ¼ jjwi ðzin Þðzout ðA:12Þ k ðG z þ con ÞÞjj ; k¼1
where wi ðzin Þ is calculated by (A.10). The final result of the three steps described above is the fuzzy model (17). More about GK clustering can be found in Babu$ska and Verbruggen (1997).
Appendix B B.1. SISO example Cluster centers Vproj for the clusters c1yc30 in the input space Vproj ¼ ðxd ; x’ d ; x. d Þ ¼ c1 : ð4:3285; 0:1899; 0:4665Þ;
c2 : ð1:4171; 0:4053; 0:0941Þ
c3 : ð2:2856 0:5684; 0:2412Þ;
c4 : ð2:4227; 0:5885; 0:0989Þ
c5 : ð4:4508; 0:1175; 0:1503Þ;
c6 : ð3:8805; 0:2609; 0:3465Þ
c7 : ð3:6662; 0:4167; 0:1701Þ;
c8 : ð1:3433; 0:3938; 0:2826Þ
c9 : ð4:3016; 0:2300; 0:4109Þ;
c10 : ð3:5844; 0:4229; 0:2969Þ
c11 : ð2:6148; 0:5708; 0:0446Þ;
c12 : ð3:3755; 0:4464; 0:1399Þ
c13 : ð4:3596; 0:0818; 0:2100Þ;
c14 : ð4:3646; 0:1606; 0:1544Þ
c15 : ð1:4588; 0:3568; 0:1155Þ; c17 : ð3:8513; 0:3879; 0:0043Þ;
c16 : ð0:8760; 0:1303; 0:2499Þ c18 : ð4:4113; 0:0329; 0:0141Þ
c19 : ð1:5077; 0:3607; 0:2113Þ; c20 : ð3:0107; 0:4702; 0:0238Þ c21 : ð1:3400; 0:3619; 0:1528Þ; c23 : ð3:7327; 0:4107; 0:1473Þ;
c24 : ð1:1146; 0:2740; 0:4945Þ
c25 : ð2:8844; 0:5051; 0:3694Þ;
Aiproj ¼ detðSiproj Þ1=p ðSiproj Þ1 :
ðA:9Þ
c22 : ð1:2975; 0:3465; 0:3140Þ
c26 : ð0:8498; 0:2038; 0:6569Þ
c27 : ð1:8428; 0:4308; 0:0150Þ;
c28 : ð3:0904; 0:4306; 0:3680Þ
The projected cluster centers viproj and the induced matrices Aiproj define the input clusters Ci ði ¼ 1ycÞ: From (A.9) the degree of membership wi ðzin k Þ of an input data point zin in an input cluster C is determined by i k
c29 : ð1:7922; 0:5618; 0:3858Þ;
c30 : ð0:0642; 0:0776; 0:1167Þ:
1
c1 : ð0:0729; 0:1795; 0:9025Þ;
wi ðzin kÞ¼
Pc
j¼1
ðzin viproj ÞT Aiproj ðzin viproj Þ k k in ðzk vjproj ÞT Ajproj ðzin vjproj Þ k
In our case the inputs are
zin k
1=ðm* proj 1Þ :
T
¼ ðxðkÞ; xðkÞÞ : ’
ðA:10Þ
Differential gain matrices BT : BT ¼ ðb1 ; b2 ; b3 Þ c3 : ð0:0804; 0:4007; 0:9462Þ;
c2 : ð0:0897; 0:2363; 0:8703Þ c4 : ð0:0873; 0:4158; 0:8316Þ
c5 : ð0:0523; 0:0798; 0:8949Þ;
c6 : ð0:0742; 0:2017; 0:9205Þ
c7 : ð0:0786; 0:2643; 0:8679Þ;
c8 : ð0:0844; 0:2535; 0:8539Þ
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
223
c9 : ð0:0632; 0:1270; 0:9518Þ;
c10 : ð0:0965; 0:3146; 0:8944Þ
c29 : ð3:1576; 10:3088; 16:7325; 4:5953; 1:1509; 56:5483Þ
c11 : ð0:0832; 0:3916; 0:8557Þ;
c12 : ð0:0772; 0:2519; 0:9135Þ
c30 : ð3:1490; 3:2072; 72:2448; 2:6646; 4:6535; 34:4686Þ:
c13 : ð0:0647; 0:0209; 0:9239Þ;
c14 : ð0:0557; 0:0622; 0:9016Þ
c15 : ð0:0753; 0:2137; 0:8817Þ;
c16 : ð0:1089; 0:0673; 0:9187Þ
c17 : ð0:0742; 0:2452; 0:8760Þ;
c18 : ð0:0460; 0:0100; 0:9055Þ
c19 : ð0:0960; 0:2488; 0:9279Þ;
c20 : ð0:0748; 0:2864; 0:9095Þ
c21 : ð0:0943; 0:2315; 0:9387Þ;
c22 : ð0:0966; 0:2452; 0:8667Þ
c23 : ð0:0715; 0:2435; 0:9264Þ;
c24 : ð0:1085; 0:2307; 0:9420Þ
c25 : ð0:0817; 0:3168; 1:0040Þ;
c26 : ð0:0877; 0:1505; 0:8548Þ
c27 : ð0:0976; 0:2519; 0:9290Þ;
c28 : ð0:0816; 0:3456; 0:8802Þ
c29 : ð0:1019; 0:4064; 0:8807Þ;
Differential gain matrices BT : BT ¼
c1 :
c2 :
c30 : ð0:1282; 0:0508; 0:9084Þ:
B.2. MIMO example Cluster centers Vproj for the clusters c1yc30 in the input space
c3 :
c4 :
b11 b21
b12 b22
b13 b14 b23 b24
b15 b25
b16 b26
!
5:7050
1:4136
0:0078
4:5580
0:4803
0:0016
4:5688
0:3330
0:0396
6:5576
4:0359
0:1299
9:9498
2:5412
0:0529
7:3912
1:0622
0:0602
3:3820
0:0448
0:1627
3:8604
2:8492
0:1390
!
14:9279
2:9427
0:0071
7:2464
0:9186
0:0028
11:9838
0:4484
0:2307
0:4439
3:0262
0:1629
10:2987
2:5575
0:0526
9:2784
1:0714
0:0505
9:1141
0:5472
0:2336
6:5693
2:8596
0:1665
Vproj ¼ ðqd1 ; q’ d1 ; q. d1 ; qd2 ; q’ d2 ; q. d2 Þ c1 : ð2:2404; 1:4722; 103:3220; 3:7872; 6:9067; 62:1151Þ
c5 :
c2 : ð2:2951; 3:6681; 23:8480; 2:6232; 3:0415; 184:5486Þ c3 : ð3:6723; 7:3572; 122:5240; 2:9949; 6:9230; 166:4089Þ c4 : ð3:4405; 6:7332; 83:6880; 3:9012; 4:8215; 122:9897Þ
c6 :
4:6474
3:3228
0:1367
4:9411
0:9423
0:0982
4:7196
0:5757
0:2262
8:3322
2:4378
0:1534
!
!
!
17:9573
1:4816
0:0453
1:6996
0:8227
0:0353
13:8157
0:7031
0:1862
8:4640
2:6509
0:1926
!
c5 : ð4:4641; 4:8980; 135:4940; 4:2353; 4:9838; 122:4480Þ c6 : ð2:6513; 5:8650; 33:2337; 2:7992; 1:8087; 203:9415Þ c7 : ð3:7211; 4:9303; 4:5725; 4:7249; 3:0384; 166:3919Þ
c7 :
32:4264
2:2294
0:0371
18:0335
0:9148
0:0424
1:6704
0:4656
0:0435
5:3013
3:0963
0:1072
4:8938
2:2880
0:0719
7:3879;
0:3124
0:0712
17:4152
0:9894
0:2847
2:6898
1:6830
0:1479
c8 : ð2:2974; 6:4169; 82:5038; 2:8968; 5:8855; 26:7608Þ c9 : ð4:0813; 6:2782; 11:6751; 4:6551; 7:0945; 93:9377Þ
c8 :
c10 : ð2:8135; 8:8167; 31:9978; 3:8567; 2:6646; 42:6006Þ c11 : ð3:2351; 2:0664; 21:9808; 2:8957; 1:0587; 177:7031Þ; c12 : ð2:5470; 4:7520; 61:7034; 3:3505; 8:4978; 120:8581Þ
c9 :
!
!
18:9575
1:7970
0:0254
9:1589;
0:6747
0:0729
1:6309
0:3190
0:1809
5:8442
2:5876
0:142
7:0622
1:9483
0:0284
4:2871
0:1683
0:0167
26:5161
1:8248
0:3243
5:2605
1:1168
0:1424
6:2931
2:4665
0:0781
5:9142
0:9402
0:0594
0:9122
0:5872
0:0756
6:0004
2:9338
0:0951
c13 : ð3:0759; 6:2029; 56:3482; 3:2570; 5:4319; 93:0014Þ; c14 : ð4:4259; 2:9339; 126:3030; 4:1686; 4:7041; 174:1260Þ
c10 :
c15 : ð2:2595; 2:6127; 58:8497; 4:9126; 3:6932; 56:4122Þ c16 : ð3:4037; 8:1676; 12:8004; 3:3342; 1:0170; 151:3115Þ c17 : ð3:3540; 1:2123; 82:8912; 2:2925; 6:3071; 99:1048Þ
c11 :
!
!
!
!
c18 : ð2:8416; 4:7406; 0:1731; 2:8445; 5:5930; 110:2000Þ c19 : ð2:2188; 6:0604; 118:8969; 2:8584; 6:5927; 161:6746Þ c20 : ð2:7720; 8:3271; 57:2056; 2:3379; 7:3336; 119:3278Þ
c12 :
11:9933
2:7044
0:0064
10:1516
0:6345
0:0261
2:6610
0:4869
0:0813
0:7342
3:1097
0:1025
9:2437
0:4241
0:1117
3:4892
0:9072
0:0528
11:9178
1:9141
0:0142
6:5589
3:6689
0:0897
c21 : ð3:2018; 9:4836; 54:3750; 3:4654; 6:7923; 156:9120Þ c22 : ð4:0582; 9:7075; 17:2148; 4:6781; 2:2574; 122:5296Þ
c13 :
c23 : ð2:0858; 0:2620; 110:8084; 3:0235; 2:0152; 116:6440Þ c24 : ð3:8864; 1:2399; 124:8651; 2:8789; 1:4698; 142:3715Þ c25 : ð3:0610; 0:0120; 64:1644; 4:3617; 3:3520; 106:5419Þ
c14 :
8:2222
2:7598
0:1489
11:3571
0:8152
0:1060
11:5817
0:1615
0:1930
2:0804
2:9299
0:1309
!
!
!
c26 : ð3:8001; 5:4508; 100:8655; 3:1276; 5:3109; 8:0341Þ c27 : ð3:5079; 7:3803; 57:0716; 4:5498; 6:4400; 175:6272Þ c28 : ð3:2543; 4:2386; 57:6068; 4:5790; 8:1605; 24:1566Þ
c15 :
4:2501
1:7598
0:0437
1:8789
0:9000
0:0284
6:1168
0:8863
0:1069
7:7377
3:4699
0:1051
!
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225
224
c16 :
c17 :
c18 :
c19 :
16:5200
0:6718
0:1697
1:6783
0:7610
0:0831
15:6211
0:8218
0:0445
9:7389
3:0921
0:0768
10:6665
2:0905
0:0147
7:4767
0:1666
0:0220
3:0936
0:8017
0:0934
9:6367
3:9540
0:1332
c21 :
c22 :
c23 :
c24 :
c25 :
c26 :
c27 :
c28 :
c29 :
c30 :
!
2:7720
1:3449
0:1026
1:4331
0:4907
0:0594
9:4947
1:4099
0:0255
7:7454
3:3284
0:0689
18:0316 28:8676
c20 :
!
!
2:2578
0:0494
7:5765
0:4735
0:0420
0:3054
0:2325
5:2330
3:2628
0:1444
!
!
10:8600
0:8958
0:0165
2:6979
0:0220
0:0363
3:0829
0:7641
0:2380
2:0450
3:2473
0:1561
3:0116
2:6899
0:0316
3:6932
0:6690
0:0227
9:9442
0:4642
0:1588
6:4025
2:8970
0:1244
17:6252
1:7405
0:0187
9:3652
0:2433
0:0052
1:7461
2:1242
0:1144
3:0538
3:6890
0:1092
!
16:1455
2:8718
0:0080
10:8121
0:4660
0:0542
20:0073
0:3375
0:1918
1:8214
2:7862
0:1242
2:3188
0:0593
4:8325
0:4880
0:0271
14:7555
0:4124
0:1944
1:2149
2:3454
0:1261
4:4241
2:2529
0:0023
8:3917
0:6669
0:0326
2:0437
0:0249
0:0196
3:2111
2:9948
0:1180
2:1886
2:0940
0:0541
3:1932
0:6618
0:0369
25:3544
1:4750
0:3245
1:5626
0:8757
0:1511
9:3359
1:8206
0:0221
6:0664
0:0426
0:0125
6:6220
1:0975
0:1232
2:6796
3:1846
0:1084
1:6883
0:0584
9:7116
0:8222
0:0294
0:8336
0:1772
0:0421
5:0047
3:1454
0:1140
!
!
7:7772
6:6954
!
!
!
!
!
1:8428
1:5183
0:0955
0:7935
0:9222
0:0153
18:6277
2:3602
0:1521
17:8777
4:0711
0:1694
9:3008
2:4345
0:0241
7:4429
0:7974
0:0412
2:4401
0:0722
0:1155
4:9970
2:7330
0:1146:
!
!
References Altafini, C., 1999. Controllability and singularities in the N-trailer system with kingpin hitching. 14th IFAC World Congress, Beijing, China, 5–9 July, paper no E 2c-06-2, Vol. E, pp. 41–46.
Babu$ska, R., 1997. Fuzzy modeling and identification. Ph.D. Thesis, Technische Universiteit Delft. Babu$ska, R., Verbruggen, H.B., 1997. Fuzzy set methods for local modelling and identification. In: Murray-Smith, R., Johansen, T.A. (Eds.), Multiple Model Approaches to Modelling and Control. Taylor and Francis, London, pp. 75–100. Bezdek, J.C., 1981. Pattern Recognition with Fuzzy Objective Function Algorithms. Plenum Press, New York. Butler, J., Haack, B., Tomizuka, M., 1991. Reference input generation for high speed coordinated motion of a two axis system. Transactions of the ASME, Journal of Dynamic Systems, Measurement and Control 113 (1), 67–74. Chintalapudi, K.K., Kam, M., 1998. A noise-resistant fuzzy c means algorithm for clustering. In: IEEE International Conference on Fuzzy Systems Proceedings, Anchorage, AK, USA, 4–9 May 1998. IEEE World Congress on Computational Intelligence, Vol. 2. New York, NY, USA, pp. 1458–1463. Chyung, D.H., 1994. A tracking controller for a class of smooth nonlinear systems. In: Proceedings of the 33rd IEEE Conference on Decision and Control, Vol. 4, Lake Buena Vista, FL, USA, 14–16 December 1994. IEEE, New York, NY, USA, pp. 3628–3629. Costa, E.F., Oliveira, V.A., 2002. Gain scheduled controllers for dynamic systems using sector nonlinearities. Automatica 38 (7), 1247–1250. Dave, R.N., 1991. Characterization and detection of noise in clustering. Pattern Recognition Letters 12 (11), 657–664. Del Vecchio, D., Marino, R., Tomei, P., 2001. An adaptive learning control for feedback linearizable systems. In: Proceedings of the 2001 American Control Conference, Vol. 4, Arlington, VA, USA, 25–27 June 2001. IEEE, Piscataway, NJ, USA, pp. 2817–2821. Fantuzzi, C., Rovatti, R., Simani, S., Beghelli, S., 1998. Fuzzy modeling with noisy data. In: Sixth European Congress on Intelligent Techniques and Soft Computing, Vol. 3, Aachen, Germany, 7–10 September 1998. EUFIT, Verlag Mainz, Aachen, Germany, pp. 1615–1619. Gustafson, D.E., Kessel, W.C., 1979. Fuzzy clustering with a fuzzy covariance matrix. In: Fuk, K.S. (Ed.), IEEE-CDC, Vol. 2. IEEE Press, Piscataway, NJ, pp. 761–766. Iwata, M., Kitamura, S., 1994. An input tracking control system and an input estimation system using a forward model on neural network. Transactions of the Society of Instrument and Control Engineers 30 (3), 303–309. Johansen, T.A., Murray-Smith, R., 1997. The operating approach to nonlinear modelling and control. In: Murray-Smith, R., Johansen, T.A. (Eds.), Multiple Model Approaches to Modelling and Control. Taylor and Francis, London, pp. 3–72. Johansen, T.A., Hunt, K.J., Gawthrop, P.J., 1998. Transient performance, robustness and off-equilibrium linearisation in fuzzy gain scheduled control. In: Driankov, D., Palm, R. (Eds.), Advances in Fuzzy Control. Physika Verlag Heidelberg, New York, pp. 357–375. Johansen, T.A., Shorten, R., Murray-Smith, R., 2000. On the interpretation and identification of dynamic Takagi–Sugeno Fuzzy Models. IEEE Transactions on Fuzzy Systems 8 (3), 297–313. Khalil, H.K., 1996. Nonlinear Systems, 2nd Edition. Prentice Hall, London. Linkens, D.A., Shieh, J.S., 1992. Self-organising fuzzy modeling for nonlinear system control. In: Proceedings of the 1992 IEEE International Symposium on Intelligent Control Glasgow, UK, 11–13 August 1992. IEEE, New York, NY, USA, pp. 210–215. Ljung, L., Glad, T., 1994. Modeling of Dynamic Systems. PrenticeHall, London. Nichols, R.A., Reichert, R.T., Rugh, W.J., 1993. Gain scheduling for H-infinity controllers: a flight control example. IEEE Transactions on Control Systems Technology 1 (2), 69–79.
R. Palm, C. Stutz / Engineering Applications of Artificial Intelligence 16 (2003) 213–225 Palm, R., Driankov, D., Hellendoorn, H., 1996. Model Based Fuzzy Control. Springer, Berlin, New York, Heidelberg. Rhodes, C., Morari, M., Tsimring, L.S., Rulkov, N.F., 1997. Databased control trajectory planning for nonlinear systems. Physical Review E 56 (3), 2398–2406. Rugh, W.J., 1991. Analytical framework for gain scheduling. IEEE Control Systems Magazine 11 (1), 79–84. Shamma, J.S., 1988. Analysis and design of gain scheduled control systems. Ph.D. Thesis No. LIDS-TH-1770 Laboratory for Information and Decision Sciences, MIT, Cambridge, MA 02139, USA. Shorten, R., Murray-Smith, R., Bjorgan, R., Golle, H., 1999. On the interpretation of local models in blended multiple model structures. International Journal of Control 72 (7/8), 620–628. Slotine, J.-J.E., Li, W., 1991. Applied Nonlinear Control. PrenticeHall, London. Sontag, E., 1990. Mathematical Control Theory. Springer, New York, Berlin, Heidelberg. Stilwell, D.J.J.-Q., 1999. Interpolation for gain scheduled controllers. Proceedings of the 38th Conference on Decision and Control, Phoenix, Az, USA, December, pp. 749–754. Stutz, Ch., 1998. Fuzzy clustering for functional approximations. Internal report, Siemens AG, Munich.
225
Stutz, Ch., 1999. Anwendungsspezifische Fuzzy—Clustermethoden. Fuzzy clustering methods and their applications. Dissertation, Technical University of Munich. Takagi, T., Sugeno, M., 1985. Fuzzy identification of systems and its applications to modeling and control. IEEE Transactions on Systems, Man and Cybernetics SMC-15 (1), 116–132. Tanaka, K., Sugeno, M., 1992. Stability analysis and design of fuzzy control systems. Fuzzy Sets and Systems 45, 135–156. Tounsi, M., Le Corre, J.F., 1996. Trajectory generation for mobile robots. In: Mathematics and Computers in Simulation, Vol. 41 (3–4), Lille, France, April 1994. Elsevier, Amsterdam, pp. 367–376. Tzafestas, S., Kalobatsos, B., Stavrakakis, G., Zagorianos, A., 1992. Some results on the autonomous trajectory generation and adaptive control of industrial robots. Journal of the Franklin Institute 329 (1), 1–14. Vidyasagar, M., 1993. Nonlinear Systems Analysis. Prentice-Hall, London. Zachery, R., Wang, S.H., 1996. A reference input computation method for MIMO linear discrete-time systems. IFAC 13th Triennial World Congress, San Francisco, USA, pp. 319–323.