<<
Home , Car

!i,, ZZY sets and systems ELSEVIER Fuzzy Sets and Systems 84 (1996) 209-234

Fuzzy and control for platoons of smart cars

Hyun Mun Kim, Julie Dickerson 1, Bart Kosko* Signal and Image Processing Institute, Department of -Systems, University of Southern California, Los Angeles, CA 90089-2564, USA Received May 1995; revised August 1995

Abstract

Additive fuzzy systems can control the velocity and the gap between cars in single-lane platoons. The overall system consists of throttle and brake controllers. We first designed and tested a throttle-only fuzzy system on a validated car model and then with a real car on 1-15 in California. We used this controller to drive the "smart" car on the highway in a two-car . Then we designed a throttle and brake controller. The combined system controls the platoon on downhill parts of the freeway and as it decelerates to slower speeds. We modeled the brake controller using the real test data from the brake system. A logic switch for throttle and brake decides which system to use. The gap controller uses data only from its own sensors and there is no communication among cars. The simulation results show that follower cars with a combined brake/throttle controller can maintain a constant gap when the platoon goes downhill and slows. An adaptive throttle controller uses neural systems to learn the fuzzy rules for different types.

Keywords." Adaptive fuzzy systems; Smart-car platoons; Model-free control; Ellipsoidal rules; Unsupervised clustering; Supervised gradient descent; Standard additive model; Function approximation

1. Introduction the velocity and car spacing and picks which ma- neuvers to perform. Platoons use four maneuvers: clogs highways around the world. Plat- merge, split, velocity change, and lane change oons of cars can increase the flow and mean speed [10, 11]. A merge combines two platoons into one. on freeways. A platoon is a group of cars with A split splits one platoon into two. A lane change a lead car and one or more follower cars that moves a single car into an adjacent lane. Combined in the same lane. Electronic links tie the cars to- maneuvers help cars move through traffic. gether. Computer control speeds their response Standard control systems use an input-output times to hazards so that the cars can travel math model of the car "plant" and its environment. more safely on their own or in platoon groups. The Fuzzy systems do not use an input-output math lead car plans the course for the platoon. It picks model or exact car parameters. A fuzzy system F:R" ---, R p is a set of fuzzy rules that maps inputs * Corresponding author. to outputs [14]. Fuzzy systems give a model-free 1Julie Dickerson is with the Electrical and Computer Engin- estimate of a nonlinear control function. They eering Department, Iowa State University, Ames, IA 50011. compute a conditional mean as Appendix A

0165-0114/96/$15.00 Copyright ~ 1996 Elsevier B.V. All rights reserved SSD1 0165-01 14(95)00326-6 210 Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209 234 shows: F(x)= E[YIX = x]. The fuzzy platoon system. A logic switch for throttle and brake picks controller uses rules that act like the skills of a hu- when to use each system. This logic switch avoids man driver. The rules have the form "If input con- frequent oscillations between the throttle and the ditions hold to some degree then output conditions brake controller. Simulation results showed that hold to some degree" or "If X is A then Y is B'" for the follower car using throttle only could not slow multivalued or "fuzzy" sets A and B. Each fuzzy down enough to avoid hitting the leader car on the rule defines a fuzzy patch or a Cartesian product downhill grade. The follower car with a combined A x B in the input output state space X x Y : A × brake/throttle controller did not collide with the B c X x Y. To approximate a function f the fuzzy lead car. system F covers the graph off with fuzzy patches We hand tuned the fuzzy sets and rules for the and averages patches that overlap [15]. gap controller. Neural learning can also find the The fuzzy platoon controller drives a car in or rules from system input-output data. We used out of the platoon and acts as a distributed control a neural-fuzzy system that tuned the fuzzy rules for system for future freeways. It includes an integrated the velocity controller with unsupervised and maneuver controller for course selection and an supervised learning. A hybrid system [4] used un- individual vehicle controller for throttle, brake, and supervised learning to quickly pick the first set of control as shown in Fig. 1. We imple- ellipsoidal fuzzy rules. Then supervised learning mented the individual vehicle controller only. tuned the rules using gradient descent. Each rule We designed a fuzzy controller for gap control defines a fuzzy subset or connected region of state using throttle only. The gap controller gets data space and thus relates throttle response, acceler- from its own sensors. We tested the fuzzy gap ation, and velocity. Section 3 describes the hybrid controller on Interstate-15 in Escondido, California. ellipsoidal learning system. The appendices for- The controlled car followed the lead car as it mally derive the general fuzzy system and its learn- changed speed and went over hills. The system ing laws. performed smoothly in all cases. But when it went downhill the controlled car got close to the leader. We next designed a throttle and brake controller. 2. Additive fuzzy systems The combined system lets us control platoons on downhill parts of the freeway and during deceler- A scalar-valued fuzzy system F:R"-* R stores ations to slower speeds. We simulated the brake m rules of the word from "If X = Aj then Y = Bj" controller using the real test data from the brake or the patch form Aj × By ~ X x Y = R" × R. The if-part fuzzy sets Aj ~ R" and then-part fuzzy sets Bj ~ R have arbitrary set functions a i:R" ~ [0, 1] Platoon Goals and bj:R ~ [0, 1]. The system can use the joint set function aj or some factored form such as aj(x) = aj1 (xl) ." a~(x,) or aj(x) = min(a)(xl) ..... Integrated Maneuver Integrated Vehicle a~(x,)) or any other conjunctive form for input Controller Course Controller vector x = (x ~..... x,) e R". Our fuzzy systems (like Instructions most) use min to form a i from the coordinate set * COURSE SELECTION I * CAR CONTROL functions a i. Product tends to work better for ex- - Merge Car State - Throttle ,1" - Split [ Data - ponential or Gaussian set functions. - Velocity Change [~ - Steering - Lane Change An additive fuzzy system [14, 15] sums the un- weighted "fired" then-part sets B}:

B= a,Ixt , Ilt sensor Data //~ j=l i-1 Data from Car Ahead Fig. 2 shows the parallel fire-and-sum structure of Fig. 1. Block diagram of the fuzzy platoon controller. the SAM system. A vector input x matches or Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209.-234 211

, ...... L~Z - - ~ ...... ' ? ) • 1

B o Centroid ...~.F(x0) x0 Defuz~fier : :

Fig. 2. Architecture of an additive fuzzy system F : R" --, R p with m rules. Each input xo e R" enters the system F as a numerical vector, At the set level x o acts as a delta pulse 6(X-Xo) that combs the if-part fuzzy sets A t and gives the m set values a/xo): aj(xo) = ~R° 6(x - xo)a~(x)dx. The set values "fire" the then-part fuzzy sets Bj to give Bj. A standard additive model (SAM) scales each Bj with aj(x). The system then sums the Bj sets to give B. The system output F(x~) is the centroid of B.

Fig. 3 shows how three rule patches can cover part of the graph of a scalar function f:R--, R. The patch cover shows that all fuzzy systems

IF X=A( THEN Y=B I F:R" ~ R p suffer from rule explosion in high di- mensions. A fuzzy system F needs on the order of B3 kn+p- 1 rules to cover the graph and thus to approx- imate a vector function f:R"--, R p where k is the

B2 number of sets in each dimension. Optimal rules can help deal with the exponential rule explosion. Bl Lone or local mean-squared optimal rule patches

Alx B I cover the extrema [16] of the approximated f- they "patch the bumps". Better learning schemes move rule patches to or near extrema and then fill in between extrema with extra rule patches as the rule budget allows. AI A 2 A 3 X The scaling choice B~ = ai(x)B j gives a standard

Fig. 3. Each fuzzy rule defines a Cartesian-product patch or additive model or SAM. Appendix A shows that fuzzy subset of the input-output state space. The fuzzy system taking the centroid of B in (1) gives [14--17] the approximates a function as it covers its graph with rule patches. SAM ratio Lone optimal rule patches cover extrema. ret F(x) = 2i=m 1 aj(x) V'jci (2) "fires" the if-part sets A t of each rule. The system Ei= at(x) sums the scaled then-part sets Bj and takes the Vi is the nonzero volume or area of the then-part centroid of the summed sets to give the output F(x). set Bi. c i is the centroid of B~ or its center of mass. These systems can uniformly approximate any con- The ratio (2) reduces to the "center of gravity" tinuous (or bounded measurable) function f on model of Sugeno [21] and others if V1 ..... a compact domain [15]. V,, > 0. 212 Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234

The SAM theorem (2) implies that the fuzzy structure of the then-part sets Bj does not matter. Y "t ...... The ratio depends on just the volume Vj and loca- tion cj of the then-part sets Bj. We need to pick the scalar conters cj and the volumes Vj. Appendix B uses gradient descent to derive the supervised learning laws that tune the SAM parameters a j, Vj, 9y cy and c~. The next section shows how to apply these general learning schemes for egg-shaped or ellip- soidal fuzzy rules. Iu

3. Learning fuzzy rules Cx

Fuzzy rules can come from brains or brain-like Px systems. We can ask an expert for the if-then rules or we can act as the experts ourselves and try to Fig. 5. A positive definite matrix defines an ellipsoid about the state the rules and tune them [9]. Or we can use center m of the ellipsoid. The eigenvalues of the matrix define the length of the axes. The projections of the ellipsoid onto the axes a neural (statistical) system to learn the rules from define the input and output fuzzy sets A and B. Px and py are the training data. This section describes a neural-fuzzy lengths of the ellipsoid's projections onto the x and y axes. system that learns fuzzy rules with both unsuper- vised and supervised learning shown in Fig. 4. where c~ is a positive real number and m is the center 3.1. Unsupervised rule estimation with competitive of the ellipsoid in R q. P has eigenvalues )~1 .... ,2q. learning The eigenvalues define the ellipsoid axes. The Euclidean half-lengths of the axes equal :~/~1 ..... A fuzzy rule patch can take the form of an ellip- :~/x~q. To simplify the math we used a hyperrec- soid [4]. This trades the generality of fuzzy rule tangle to circumscribe the ellipsoid. The projections patches for the mathematical simplicity of quad- onto the input axes form the fuzzy sets. We used ratic forms. A positive definite matrix P defines an symmetric triangular sets centered at m to approx- ellipsoid in the q-dimensional input-output state imate these ellipsoidal "shadows". The unit eigen- space where q = n + p (Fig. 5). The ellipsoid is the vectors define direction cosines for each axis of the locus of all z that satisfy [2] ellipse. The direction cosine cos Yk~j is the angle between the jth eigenvector and the ith axis for the cd = (z - m)T p(z -- m), (3) kth ellipsoid. The projection of the kth hyperrec- tangle onto the ith axis has length Pki:

Ok/= 2c~ ~ Icos 7,~jr InitializeRules Initialor Rough Expertor Tuned (4) Rules Rules )"=I ~kj to DataPoints~ Unsupervised ~-~ Adaptive vector quantization (AVQ) systems Learning "] LemlingI adaptively cluster pattern data in a state space. An autoassociative AVQ system combines the input Fig. 4. A neural-fuzzy system can learn and tune the fuzzy rules x and the output y of the data to form zT= with a hybrid of unsupervised and supervised learning. Unsupervised competitive learning initializes the supervised ]-xTlyT]. Competitive learning estimates the first- gradient descent search for rules that locally minimize the mean- and second-order statistics of the data with the squared error of the function approximation. stochastic difference equations for the winning Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234 213 neuron [14] aj is the triangular input fuzzy set for the ith ellip- soid projected on the jth axis: qj(t + 1) = qj(t) + #t[z(t) -- qj(t)], (5) 1 Ix -Cx,~12 for Ix - c~,, I ~ Pu/2, Kj(t + 1) a~(~)= Po 0 else. = Kj(t)+ vt[(z(t) -- qj(t))(z(t) -- qj(t)) T -- Kj(t)]. (10) (6)

The coefficients #t and v, must satisfy the conver- The supervised algorithm uses an iterative form gence conditions of stochastic approximation [14]. of gradient descent: In practice/~ ~ lit and v, ,~ 1/t. Appendix B gives 1) = (ll) the details of this learning method. Ei(k + Ei(k) + A~AE, SEk. E~(k) is a concatenated vector of the ith ellipsoid's 3.2. Supervised ellipsoidal learning parameters. A~, is a diagonal matrix of decreasing learning coefficients. E~(k) contains the eigenvalues, A supervised neural system learns the ellipsoidal the centroid vector, and the independent orienta- rules as it locally minimizes the mean-squared error tion angles of the ith ellipsoid. of the function approximation. The neural system The chain rule of differential calculus gives the learns the size and shape of the fuzzy rule patches supervised ellipsoidal algorithm that minimize the error. The gradient descent algo- rithm [14] takes the gradient of the instantaneous 0SEk 0SEk [(?Fk ?Jag OFk ~V~] mean-squared error SEk: 8),ij(k)- ~2~j - ?~Fk LOaf ~ av/ (~;4J' (12) SEk = ½(dk - F(Xk)) 2. (7) ~'SEk 0SEk 63Fk Oa k Here dk is the desired output of the system. F(Xk) is 8c~,(k) - (13) ~c~,(k) OFk Oa f OQ(k)' the output of the additive fuzzy system with input x~. Gradient descent estimates the eigenvalues, ro- tation angles, and centroids of the ellipsoidal OSEk Viaik k fic~,,(k) - ~cy,(k) - (dk -- Fk) ~j=lr vjaj"k k, (14) patches [4]. We assume that the fuzzy sets are the triangular projections of the bounding hyperrectangles ?'SEk 0SEkFOTQF[, 3ak OFk c~V~] around the ellipsoids on the axes of the state space. The volume of the ith triangular output set (15) is V~: The partial derivatives [4] in (12)-(15) have the I cos ','k~j I Vi ~- ½ Diq = O~ (8) SAM form j=l ~kj 0SE k -- = --(dk -- FD, (16) Piq is the base of the ith fuzzy rule patch projection ~Fk on the qth or output axis in (4) and 7kU are the direction cosines. The fit (fuzzy unit) value aj(x) is ~')Fk vik~j~j=lr Vjaj(Cy,-k k k (k:y,) (17) the degree to which input x belongs to the ith fuzzy Oak -- (2~=1 vjTrk a j)kx2 ' set: ~Fk aik~=l V;aj(c~,k k .k -- C~j)k aj(x) = min(@(x)). (9) OV~ (2~=~ vj• ,k aj~~,z , (18) 214 Hyun Mun Kim et al. / Fuzzy Sets' and Systems 84 (1996) 209-234

c~a~ 4.1. Velocity controller

In a platoon each car tries to travel at the desired 2~il X -- %11 cos w.jl platoon velocity and maintain the correct spacing. -- 2 ~ if Ix -- Cx,,] ~< pit~2, The leader car chooses the desired platoon velocity. = plt%//@ When the platoon at a constant velocity 0 if ] x - cx, ' ] > Pit~2, each car uses its own velocity controller to main- (19) tain the desired platoon velocity. These systems use the velocity and acceleration data that the car measures. The system output is the change in 2 throttle angle. -- if O n/2, is medium negative (MN)) THEN (C~hrott~e is medium negative (MN)). The velocity difference am~ and the acceleration each have 7 if-part fuzzy sets. The number of fuzzy rules for the velocity control- ler is 7 x 7 = 49. Figs. 6 and 7 show the fuzzy sets 4cqlx - % I sin Yitj and rules for this controller [6].

4.2. Gap controller if Ix - Cx, L <~ pu/2 and 17,jl ~ n/2, Fig. 8 shows the block diagram of the fuzzy gap 4ctilx - cx,, [sin 7,; controller. It consists of a throttle controller and (22) a brake controller. The gap controller maintains a constant distance between . The gap con- if I x - Cx, I <~ p,/2 and I ?uj[ ~< n/2, troller for platoon followers uses the differences in acceleration and velocity between cars and the dis- 0 if Ix - %1 > plj2, tance error to achieve a constant gap. The distance error Adi(k) is the difference between the desired gap between the cars and the actual gap. A range- 0V~ ~;Icosy~vl finding system on each car in the platoon measured (23) the distance between the cars. The inputs to the gap c~2~s = 2~ controller for the throttle in the ith car are

Adi(k) = ddesired -- di(k), (26)

4. Controller structure Avi(k) = vi- l (k) - vi(k), (27) Aai(k) = ai- l(k) - ai(k). (28) This section presents a velocity controller for the lead car and a gap controller that keeps the fol- So the fuzzy system defines the map F:R3~R. lower cars at a constant distance from the leader. One fuzzy rule is IF (Aai(k) is ZE) AND (Avi(k) is Hvun Mun Kim et al. / Fuzz)' Sets and Systems 84 (1996) 209 234 2t5

a(x) LN MN SN ZE SP MP LP 1

04 -1.5 0.75 0 0.75 1.5 ACCELERATION (m/sec/sec)

a(x) LN MN SN ZE SP MP LP 1

0~ -10 -5 0 5 10

VELOCITY DIFFERENCE (m/sec)

Fig. 6. Fuzzy sets for velocity' controller.

VELOCITY DIFFERENCE Tnr0ttle Desi~dGap ~.U~~ Change A0 LP MP SP ZE SN MN LN _ I f°rth~tlel t - " I Brakeforce and brake [ J~'-r:~e--'-] Change AF LN EP LP LP MP MP MP ZE VelodtyDiffereslce L~ v[ Con~ll~ t Gap Distatx'e MN LP MP MP MP ZE ZE MN

SN LP MP SP SN SN SN MN I Radar ZE LP MP SP ZE SN MN LN Data

SP MP SP SP SN SN MN LN

MP MP SP SN MN MN LN EN

LP ZE SN MN MN LN LN EN Fig. 8. Block diagram of the fuzzy gap controller that uses the brake and throttle.

Fig. 7. Fuzzy rules for velocity controller. input by using the estimated acceleration difference as described below. Figs. 12 and 13 show the con- MN) AND (Adi(k) is ZE) THEN (0throttle is MP). trol surfaces for different values of the distance Figs. 9 11 show the fuzzy set values for the gap error Adi. controller fuzzy variables Adi, Avi, and Aai. The throttle actuator had a mechanical delay of The distance error and the velocity difference 0.25 s. Closed-loop systems with time delays in the each have 7 if-part fuzzy sets. The number of rules loops tend to have more stability problems than for the throttle controller is 7 × 7 × 3 = 147. These systems without delays [18]. Our controller used rules let a platoon maintain the desired gap. the acceleration data to predict the car's motion to The gap controller had only 3 fuzzy sets of accel- compensate for this delay. The vehicle sensors did eration difference as shown in Fig. 11. More accel- not measure the acceleration difference directly. We eration sets would better predict the car response can estimate the acceleration by differentiating the and give smoother control. But more sets result in velocity. But this method is susceptible to noise a larger rulebase. We implemented the acceleration since even small changes in velocity make the 216 Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234

a(x) ZE 1

0.8

0.6

0.4

0.2 0.5 0 5 0 ac 0 velocity difference -30 -20 - 10 0 10 20 30 -1 -5 distance difference (m) Fig. 12. Gap control surface when the distance difference is Fig. 9, If-part fuzzy set functions for distance difference input for large negative (LN). Acceleration difference is m/s 2, velocity the gap controller. The narrower sets near ZERO give finer difference is m/s, and throttle change unit is 0.02 per sampling control near the desired or equilibrium position. time.

a(x) ZE LN MN SN SP MP LP 1

0.8

0.6

0.4 5

0.2 0 acceleration difference -0.5 velocity diffecence -1 -5 0 -6 -4 -2 0 2 4 6 Fig. 13. Gap control surface when the distance difference is velocity difference (m/sec) large positive (LP).

Fig. 10. If-part fuzzy set functions for velocity difference input for the gap controller. acceleration difference change greatly. It also cre- ates high frequency terms of throttle change. We instead approximate the acceleration input in (28) as the difference of the velocity measurements: a(x) LN ZE LP I Aai(k) = sign(Avi(k) - Avi(k - 1))c, (29) 0.8 where constant c depends on the sampling time. 0.6 Aai(k) can take only the 3 values - c, 0, or c. This approximation prevents the acceleration difference 0.4 from drifting in the presence of noise. We used 0.2 0.05 s for the sampling time and c = 20 × 0.03048 = 0.6096. 0 i -0.8 -0,6 -0.4 -0.2 0 0.2 0.4 0.6 0,8 The output of the throttle controller in the ith car acceleration difference (m/sec/sec) is the change in throttle angle A0i(k). The input to the car is 0i(k): Fig. 11. If-part fuzzy set functions for acceleration difference input for the gap controller. O~(k) = O~(k - 1) + A0~(k), (30) Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209 234 217

1

o.g

0.8

0.7

~:: o.e~

0,3

0.2--

0.1 o_~ frequency

Fig. 14. Frequency response of the low-pass filter HLp(Z).

where Oi(k - 1) is the prior input to the car. A low- Velocity Difference _ [ Fuzzy [ Change in brake pass filter HLe(z), Gap difference -~ Brake Controller [ actuator slgnar'-

HLp(Z) = 3 1 --2Z-1' (31) Fig. 15. Block diagram of brake controller.

smooths Oi(k). So (31) gives a(Ad) 0pP(k) = -~ O~e(k - 1) + ½0~(k), (32) Z~ SP MP LP EP where O~e(k) is the filtered output. Fig. 14 shows the 1 __ frequency response of our filter HLp(Z). Putting (30) into (32) gives O~P(k) = OLP(k -- l) + ~AO,(k) (33) 0 -b 6 12 18 24 since Oi(k- l) in (30) becomes O~P(k- 1). We Distance difference Ad in feet stored the fuzzy throttle controller as a look-up table based on the fuzzy sets and rules [8]. We Fig. 16. If-part fuzzyset functions for distance differenceinput to the brake controller. scaled the output of the look-up table by ½ to decrease round-off errors. Figs. 16 and 17 show the fuzzy set values for the brake controller fuzzy variables zXdi and Avi. One brake rule 4.3. Brake controller is IF Ad is Medium Positive (MP) and Av is Medium Negative (MN) THEN the change in brake actuator The gap controller can also use the brakes. The is Medium Small (MS). Fig. 18 shows the 6 then- fuzzy brake controller outputs change in brake part sets for the output fuzzy variable Abe. The sets actuator level. It was 513 levels from 0 to 512. Then do not have the same area and thus do not have the a brake model converts this level into a change in same Vj terms in the SAM equation (2) for F(x). brake force for the simulation. Fig. 15 shows the The brake controller has 5x5 =25 fuzzy block diagram of the brake controller. There are rules. Fig. 19 shows the fuzzy rules for the brake two inputs to the brake controller for the ith car: controller. Nine fuzzy sets quantize the fuzzy vari- ables Adl and Avi. Ad,(k) = ddesired -- d,(k), (34) EP: Extreme Positive Avi(k) = vi- 1 (k) - vi(k ). (35) LP: Large Positive 218 Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234

~20-1 a(~v)

EN LN MN SN ZE l

Oq -45 -33 -22 -11 0

Velocity difference Av in 0. I feet per second

Fig. 17. If-part fuzzy set functions for velocity difference input to the brake controller.

30 ~ 15 " 10

a(Ab) -50 0

1 E SM MS ME MG LG Fig. 20. Control snrface for fuzzy brake controller. The output unit is OAF change for the brake pedal. oJ 2 4 6 8 10 MN: Medium Negative LN: Large Negative Brake actuator level change Ab EN: Extreme Negative Fig. 18. Then-part fuzzy set functions for the brake actuator Fig. 20 shows the control surface of the brake change. The fuzzy system F uses just the centroids cj and the controller. The brakes are on only when the dis- areas or volumes Vj of the 6 then-part sets to compute the tance difference is positive (when the follower car is output F(x). Appendix A gives the details of this computation. too close) and the relative velocity is negative (when the follower car goes faster than the lead car). VELOCITY DIFFERENCE D We combined the throttle and brake outputs using a logic switch that transitions between the S ZE SN MN LN EN T brake and the throttle. Fig. 21 shows how the A N ZE ZE ZE ZE SM MS system used the brake and the throttle for different C distance errors and velocity differences. The brake E SP ZE ZE SM MS ME region shows when the brake is on and the throttle D is off. The brake comes on only when the car is I F MP ZE SM MS ME ML closer than the desired distance and the follower car F E goes faster than the car ahead. R LP SM MS ME ML LG A "neutral region" [12] can help avoid frequent E N transitions between the throttle and brake fuzzy C EP MS ME ML LG LG systems. The brake control signal does not change E and the throttle is off when the inputs are in the Fig. 19. Fuzzy rules for the brake controller. The if-part fuzzy neutral region. Fig. 21 shows the neutral region for sets are Av and Ad. The then-part sets give the change Ab in the the fuzzy brake-controller. The neutral region brake actuator signal. covers small values of the inputs Av and Ad. The neutral region is that part of the control surface in MP: Medium Positive Fig. 20 that equals zero. SP: Small Positive The hardware on the test car had limited mem- ZE: Zero ory and used only integer operations. It stored the SN: Small Negative fuzzy gap controller as a look-up table based on the Hyun Mun Kim et al. / Fuzzy Sets" and Systems 84 (1996) 209-234 219

dinal car model. The Motor Company designed this model and we used it to test our controllers.

5.1. Car models -24 The second-order car model [19] had two equa- tions of motion:

miai = mini -Kav{ - din,- miy sin/3i, (36)

~i- ~_i + 1~ i (37) "ci(vi) miri(vi)"

Fig. 21. Domain of the look-up table for the fuzzy gap con- The force law (36) comes from Newton's second law troller. of motion F = ma. The term mini is the tractive force that the apply to the road. The variables a~ and v; stand for acceleration and ve- fuzzy sets and rules for throttle and brake control. locity. Key 2 and dm~ give the aerodynamic and Fig. 21 shows the domain for the look-up table. The mechanical drag forces, m~ is the total mass of the rectangle shows the control region for the gap con- car and and ri is the engine time lag. The term troller look-up table. The white region shows the mi9 sin/3~ gives the acceleration due to gravity. [~ is throttle system. The shaded region shows the brake the inclination of the hill from the horizontal and system. And the black region shows the neutral 9 is the acceleration due to gravity of 9.8 m/s z. The region. The horizontal axis gives the distance differ- throttle angle u~ is the input to the system and ence in feet (ft). The vertical axis gives the velocity changes the "jerk" or rate of acceleration. We used difference in ~ ft/s. We thresholded all inputs out- the coefficients [6] z~ = 0.2 seconds, Kd, = 0.44 kg/m, side these limits to the maximum or minimum and d,,, = 352 kgm/s 2. values of the domain. The fourth quadrant shows Fig. 22 shows the basic subsystems of the the brake look-up table. One fuzzy rule for this case validated longitudinal car model that we used to has the form IF (Avi(k) is MN) AND (Adi(k) is MP) design and test our controllers. Each block of the THEN (t~brak e is MS). The look-up table for the throttle system had 3 x 49 x 97 = 14 259 entries. The distance difference Throttle Angle varied from - 24 ft to 24 ft in 1 ft units and had 49 entries. The velocity difference had 97 entries as it ,q, varied from - 4.8 ft/s to 4.8 ft/s in 1/10 ft/s units. DrivetrainLoad [ Engine [ The look-up table for the brake system had Engine 25 x 49 = 1225 entries since it applied only in the Torque ~1¢ ~ ~ fourth quadrant. [ [ [ ~.[Transmission ~l?orque, Gear st tt e 5. Car models and sensor system Brake Torque Car Mass We used two car models to test our fuzzy velocity Road and gap controllers. The first model was a second- Conditions Car + ~ Car order car model that we used to check our con- Acceleration Speed troller design and to test the fuzzy rules. The second model was a nonlinear "validated" longitu- Fig. 22. Validated car model from the . 220 Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234

model is a car subsystem. The engine torque is the brake force table output of the engine subsystem. The engine torque is a nonlinear function of the air/fuel ratio, the recirculation, the total mass charge, the spark advance, the engine speed, the 20OO

drivetrain load, and the throttle angle [12]. The o output of the transmission subsystem is the trans- i mission torque and gear state. The drivetrain sys- 1000 tem computes the car's velocity and acceleration based on the road conditions and the car loading. Ford Motor Company [12] "validated" or tested and tuned this proprietary math model. The inputs ,oo ~ ,;o ,;o s~o 6OO b~t value to this model are the throttle angle and the brake force. The outputs are the car's speed and Fig. 23. Brake force as a function of the actuator bit value. acceleration. Each car has a radar system above its front . The radar measures the distance and bit value using F = ma and (38) with brake data the velocity difference between the computer- from the Lincoln Town Car. controlled car and the car ahead.

5.2. Brake models 6. Simulation and test results

We modeled the brake to test the fuzzy brake 6. I. Learning fuzzy rules controller. The Ford-tuned car model in Fig. 22 needs an input brake torque. The brake controller We used the hybrid learning system described in gives as output a bit value to the brake actuator. Section 3 to learn the fuzzy sets and rules for the We modeled the brake using brake data from velocity controller. Unsupervised learning gave the VORAD Incorporated. The test car was a Lincoln first set of rules. Then we tuned these rules to Town Car. The data gave the deceleration based on improve the controller's response. The training the brake actuator bit input value and the car data came from the car model in (36) and (37) [19]. velocity. Newton's second law F = ma gave the The leader velocity controller in [6] gave 7500 total force that equals the input bit value for the training samples in 200 trajectories for a sports mass m of 4031 lb. utility car. The training vectors (a, Av, 0thro,,e) de- The nonlinear validated longitudinal car model fined points in the 3-D input-output space. Un- gave a total drag force Y in lb: supervised ellipsoid covariance learning clustered the data and computed its local statistics. The Y = 50 + 0.819 x V + 0.0192 x V z. (38) adaptive vector quantization system had 450 synaptic vectors or local pattern classes as dis- V is the car velocity in miles per hour (mph). Sub- cussed in Appendix B. The sum of the ellipsoid tracting the drag force from the total force gives the projections onto each axis of the state space gave brake force that corresponds to the brake actuator a histogram of the density of the pattern classes. We input bit value: chose 7 if-part subsets of each of the input axes. The center of each fuzzy set matched a peak in the f b = F - Y -- O. (39) histogram. Fb is the brake force and D is the force from an We partitioned the state space into a grid of rule external disturbance such as a hill. We interpolated patches. To find the rules we counted the number of between data points to get the curve in Fig. 23. It synaptic vectors in each cell. Clusters of synaptic shows the brake force with respect to the actuator vectors in fuzzy rule cells defined the rules [14]. Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234 221

Appendix B gives the details of this unsupervised product space clustering. Then supervised learning tuned the rules to min- imize the mean-squared error for the training data. There were 49 rules. The supervised system used 30 000 cycles to tune the 49 rules. Fig. 24 compares the platoon velocity for the lone unsupervised and hybrid controllers. The desired velocity was 25 m/s. /// The hybrid controller accelerated faster than did ing ,9 doffed:UnsupePAsed Learning Fig. 24. Comparison of the velocity controller performance after lone unsupervised learning and after hybrid learning with 14 unsupervised clustering and supervised gradient descent. The 0 110 l'S 2=0 215 30 Time(s) hybrid controller gave a faster response and had no overshoot.

14 13

12

11

m 9 8 7

6

5 0 20 40 60 80 1O0 120 140 160 180 200 t(sec) 80

70

60 ZZIIIII]IIIIIZIZII;Ilii!::::;i-I ...... i ......

50 Q. 40 0 > 30

20

10

0 0 20 40 60 80 1 O0 120 140 160 180 200 t(sec)

Fig. 25. Simulation results for the second follower car in a three-car platoon. The car changes speed in the presence of hills. It tends to maintain the desired gap of 9 m between it and the platoon leader. The throttle actuator had a mechanical delay of 0.25 s. 222 Hyun Mun Kim et al. / Fuzzy Sets' and Systems 84 (1996) 209 234 the unsupervised learning system. The hybrid con- tance was 9 m. The follower cars maintained the troller had no overshoot at the desired speed. desired gap distance except for the transients at the start of the simulation. 6.2. Gap controller with throttle only We also simulated cases where additive measure- ment noise corrupted the sensor input Avi(k). The The hardware on the test car had limited mem- single-to-noise ratio (SNR) ory and used only integer operations. We stored the

0 -2 fuzzy controller as a look-up table based on the x SNR = 101oglo~ (40) fuzzy sets and rules in Section 4.2. We simulated small platoons over a range of velocity changes. The throttle actuator had a mechanical delay of measured the uncertainty in the sensor data. Here 0.25 s. We used the validated car model Fig. 22 for a2 and or.2 stand for the variance of the velocity these simulations. Figs. 25 and 26 show the results difference signal Avl and the variance of the for a three-car platoon that changes velocity due to measurement noise. Figs. 27 and 28 show that terrain changes such as hills. The desired gap dis- the fuzzy throttle system gave robust control in the

14

13 ...... i ...... i ...... ! ...... i ...... ~...... 12 ...... i ...... i ...... ! ...... i ...... i ...... i...... ~...... 11 A _~...... i ...... i ...... i ...... i ...... i ...... i ...... i...... i ...... i ...... E 10 ...... ! ...... ~ ...... i ...... ~ ...... ",'...... i ...... r ...... Q. 9 O) 8 ~--- : ,, ,, ,, : : : ...... ! ...... !

7

6 ...... ~...... i ...... ~...... i ...... ! ...... i ...... ~ ...... i ...... 5 i i I i t i I i i i I i i i I i i i L i ~ i I i i i I i i i i i t r i L 0 20 40 60 80 100 120 140 160 180 200 t(sec) 80

70

60

50

E 40 .J 4) > 30

20

10

0 i i t I i i i I i i i t i i t i i i i I i t t i i t t i i i i i 0 20 40 60 80 100 120 140 160 180 200 t(sec)

Fig. 26. Simulation results for the third follower car in a three-car platoon. The third car tends to maintain the desired gap of 9 m between it and the second car but it does so with more variability. Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209 234 223

14 13

12 ...... i ...... ~ ...... i ...... ~ ...... ~ ...... ,...... • ...... ~ ......

11 ...... ~ ...... i ...... ~ ...... i ...... i ......

A i ! i i i i i i i E 10 ~~~ ...... ~: ~ ...... : ...... ! ...... ~ ...... ~ ...... :...... !~'-~ i ......

9 ~---i------~"~---+~~ ...... 01 %e ~ | i 8 ...... ! ...... ! ...... ~ ...... ~ ...... ~ ...... ~ ...... ~ ...... ~ ......

7 ...... i ...... i ...... i ...... ~ ...... ~ ...... ~ ...... ~ ...... : ...... ~ ......

6 ...... ! ...... ~ ...... i ...... ! ...... i...... ~ ...... : ...... ~ ...... ~ ......

5 li11Lillllhllil~Itrllll l I It Ill Ill 20 40 60 80 100 120 140 160 180 200 t(sec) 80

70 ...... ~, ...... ~ • L _.

60 ...... i ...... ' ' ' ...... : ...... ',...... :_ ......

A r, 50 Q. g 40

4) > 30

20

10

0 t I i r 1 i i 1 i i i i l r i i i r l i i l J i 1 i 1 I 1 0 20 40 60 80 100 120 140 160 180 200 t(sec)

Fig. 27. Simulation results for the follower car in a two-car platoon when the signal-to-noise ratio is 27 db. The gap error due to noise never exceeds 1 m. presence of noise. The noise had little effect on had a measurement delay of 0.05 s. Fig. 29(a) shows the velocity of the follower car in the two-car pla- the follower car gap as the platoon accelerated. toon. The noise did make the gap jiggle but never Fig. 29(b) shows the closing rate between the cars. by more than 1 m. Fig. 29(c) shows the throttle value as the car accelerated. The desired gap was 125 ft. The fol- 6.3. Roadway tests )Cor throttle controller lower car dropped back because the initial gap was too short. We tested the gap controller on highwar 1-15 in The platoon went up and down hills in the sec- Escondido, California. We put our controller in ond test. The desired gap was again 125 ft. The a Lincoln Town Car from VORAD Incorporated. follower car dropped back as the platoon started The follower car got data from the radar system on up the hill. Fig. 30(a) shows the gap distance as the the front of the car. platoon went up a hill. The follower dropped back The radar measured the distance and the velocity and then moved to the right gap. Fig. 30(b) shows difference between the computer-controlled car and the closing rate between the cars. The spike at 15 s the car ahead. The radar tracked the car ahead and occurred when the radar sensor briefly lost the lead 224 Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234

14

13

12

11 A g 10 Q. 9 " ...... ~ ..... ::...... ::...... i ...... ] ...... :: [ i O)

8 ...... i ...... i ...... !...... !...... ~...... ~...... T ...... : ...... r ......

7 ...... i ...... i ...... i ...... i ...... i ...... i ...... - ...... i ...... , ...... [ 6 ...... i ...... i ...... i ...... ~ ...... i ...... i ...... - ...... i ...... : ......

5 ' ' ' , . , ; . . . , ; , , , 0 20 40 60 80 1 O0 120 140 160 180 200 t(sec) 80

70

60

50

40

30

20

10

0 0 20 40 60 80 100 120 140 160 180 200 t(sec)

Fig. 28. Simulation results for the follower car in a two-car platoon when the signal-to-noise ratio is 11 db. The additive noise has less effect on the car's velocity than on the gap it tries to maintain with the lead car.

car in the platoon. The follower car maintained the external disturbances. These disturbances cor- a constant throttle until the sensor detected a new respond to a 5% grade both uphill and downhill. target. Fig. 30(c) shows the throttle value as the car Fig. 32 shows the simulation results with the went up the hill. throttle-only gap controller. The car cannot avoid a collision without braking due to the steep down- 6.4. Gap controller with throttle and brake hill grades. Fig. 33 shows the simulation results for a gap The gap controller must use the brakes to slow controller that uses both the brake and throttle. the car if the engine torque is not sufficient. We The follower car applies the brakes so that it will simulated cases where braking can avoid a collision not hit the leader. The gap decreases to 5 m before as when the platoon moves up and down hills or the car slows to the desired speed of 60 mph. when the platoon slows down. The follower cars also need brake control when We simulated hills as external disturbances. the platoon slows down. Fig. 34 shows the simula- Fig. 31 shows the leader car's velocity profile and tion results without using a brake when the platoon Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234 225

~- 150 1 100

i~ 5o "

0 0 10 20 30 40 Time (s) (a)

10

5

eL~ 0

-5 f_) Closing Rate (ft/s) -10 0 10 20 30 40 Time (s) (b)

80 Throttle (°) 60

40

20

O o 10 20 30 40 Time (s) (c)

Fig. 29. Follower car data as a two-car platoon accelerates on the highway. (a) shows the gap. (b) shows the closing rate between the cars. (c) shows the throttle values for the follower cars. The follower car drops back because the initial gap was less than the desired gap of 125 ft. The radar had a measurement delay of 0.05 s.

decelerates. The leader car decelerates from 70 to 7. Conclusion 50 mph starting at t = 160 s. The leader car main- tains 50mph at t = 170s. The deceleration at Additive fuzzy systems can control the velocity t = 160 s forced the follower car to brake to avoid and the gap of cars in single-lane platoons. We used a collision. Engine torque cannot slow the car this controller to drive the smart car on the high- down enough. Fig. 35 shows the simulation results way in a two-car platoon. We first designed and of the combined throttle and brake system. The tested the controller using throttle only with a combined system avoids the collision and does not validated car model and then with a real car on oscillate between the throttle and brake. highway 1-15 in California. Then we added the 226 Hvun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209 234

150

125

Desired (ft) Measured (ft) 100 0 6 1 2 18 24 30 Time (s) (a)

3

0

-3 r...A Closing Rate (0.1 ft/s) -6 0 6 12 18 24 30 Time (s) (b)

80 Throttle (°) 60 o 40

20

0 0 10 20 30 Time (s) (0)

Fig. 30. Follower car data as a two-car platoon climbs a hill. (a) shows the gap. (b) shows the closing rate between the cars. The spike at 15 s shows where the radar sensor briefly lost the lead car in the platoon. (c) shows the throttle values for the follower cars as the platoon went uphill.

brake controller and simulated it. The next phase of of the fuzzy controller could apply to as- the fuzzy platoon controller will add the steering sembly lines or to robotic limb control. controllers so the platoon can maneuver on the Unsupervised ellipsoidal learning tuned the highway. fuzzy rules and sets for cars of different sizes and The controller worked well for coupled systems engine types. This gives a new way to find a fuzzy where a series of objects must track and predict the system using only data from a driver or object in front of it. Networks of these controllers other controller. Supervised learning further tuned could control the rate of message or car traffic flow the rules. Ellipsoidal learning can tune any control through electronic and physical intersections. The system if it has access to input-output data as in the coupled system can differ. The distributed structure control of many biological or economic processes. Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234 227

8O

70

60 ~ ~o ~ 40 ~ ~o 2O 10 0 0 20 40 60 80 100 120 140 160 180 200 t(sec) 6OO

,DO ...... i ...... i ...... i ...... i ...... i ...... m 200 @ 0 0 £

-200

-4OO

-600 0 20 40 60 80 100 120 140 160 180 200 t(sec)

Fig. 31. Profile of the leader car in a two-car platoon. External forces model hills. The triangles model both a 5% grade uphill and downhill.

On-line adaptive fuzzy control systems with ellip- Appendix A: SAM theorem soidal learning can adapt the system over time as engine parameters and road conditions change. Theorem. Suppose the fuzzy system F:Rn~ R p Future learning schemes may tune the ellipsoidal is a standard additive model (SAM): F(x)= rules with techniques other than gradient descent Centroid(B) = Centroid()~ 1 aj(x)Bj). Then F(x) or may use rules of other shapes that give a better is a convex sum of the m then-part set centroids: function approximation. " aj(x)Vjcj F(x) = XJml = pj(x)Cj. (A.1) Ej = 1 aj(x) V~ j= 1 Acknowledgements The convex coefficients or discrete probability weights pl(x) ..... p,,(x) depend on the input The Caltrans PATH Program supported this x through research (Agreement #20695 MB). VORAD In- corporated provided the Lincoln Town Car and aj(x) Vj pj(x) = Ykm = 1 a,(x) Vs" (A.2) radar sensor for the gap controller test. 228 Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234

15

10

5 ......

A E 0 O. ¢U O3 -5

-10

-15

-20 0 20 40 60 80 100 120 140 160 180 200 t(sec) 80

70

60

A 50 JC Q.

4o

30

2o

lO

.... l . . . , . . . , , ..... , . . . ; ~ .... , o 0 20 40 60 80 100 120 140 160 180 200 t(sec)

Fig. 32. Simulation results for the follower car using the throttle only for going uphill and downhill. The follower car cannot slow down enough to avoid hitting the lead car on the downhill grade (t ~ 170 s).

V j is the finite positive volume (or area zfp = 1) and c~ gives (A.3) and (A.4) as is the centroid of the then-part set Bj: V i = bj(y) dy, (A.5)

-- JC v,= bj(y,, ... ,'yp)dyl ... dyp > 0, (A.3) p OR ~f, Ybi(Y)dy (A.6) cj - .[ 2 ~ hi(y) dy 5w' ybj(yl .... , yp)dy~ ... dyp (A.4) cj = 5R,'ba(Yl .... ,yp)dyl "'" dyp " Then the theorem follows by expanding the cen- troid of B and invoking the SAM assumption

Proofi There is no toss of generality to prove the F(x) = Centroid(B) = Centroid(y.~' l aj(x)B2) to theorem for the scalar-output case p = 1 when rearrange terms: F:R'~ R p. This simplifies the notation. We need F(x) = Centroid(B) (A.7) but replace the scalar integrals over R with the p-multiple or volume integrals over R p in the proof _ ~ yb(y)dy (A.8) to prove the general case. The scalar case p = 1 ~:: b(y)dy Hyun Mun Kim et al. / Fuzz)' Sets" and Systems 84 (1996) 209 234 229

20

15

10

E O. 5 t~

0

-5

-10 i I i i i i i i i r I I i I I i i r I i I h i i I i ~ i I 0 20 40 60 80 100 120 140 160 180 200 t(sec) 80

70 60 ...... i., ...... :~ ___ :i ,.:: ~ : ,,i ,,i ,,i ~ ...... i.

so

4o } 3o

20

10

0 , i i i 0 20 40 60 80 100 120 140 160 180 200 t(sec)

Fig. 33. Simulation results for the follower car with a gap controller that combines throttle and brakes. The cars follow the velocity and terrain profile in Fig. 24. The follower car approaches the leader but does not collide with it.

m We can further weight each rule with a scalar m (A.9) ~ ~ }~./=1m b}(y)dy weight w i to give

= ~ f2 ~ y 5~'=~ aj(x) bj(y) dy (A. 10) ??1 F(x) = Centroid (i~ wjai(x)Bi) (A.14) ~,~ 2j=1 ai(x)bj(y)dy

m 2~ m __ ~j=l aJ(X)~-oc Ybj(y)dy - Xj=l aj(x)~-,~, bi(y)dy (A.11) _ 2j= 1 wfij(x)Vicj m - 3~"j21 wiai(x)Vi (A.15)

2" aj(x) g 2(~_~ vbj(y}dy)/Vj = J=~ ,, " (A.12) The weight wj has the same form as the area or 2j=, ai(x)v1 volume weight Vi. We use wl ..... Wm > 0 in the paper. So the weighted sum (A.15) reduces to (A.1). 2jml aj(x) VFj The centroidal structure (A.7) and (A.8) of the fuzzy m [] (A.13) E j=, a/x) vj system shows that all centroidal fuzzy systems 230 Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234

20

10 ~-~ ...... {:.:.:-- ...... {...... ,,~-: ...... ~ ...... ~ ...... ~ ...... ~ ...... ~, ......

-20

-30

-40

-50 ...... 0 20 40 60 80 100 120 140 160 180 200 t(sec) 80

70

6O

... 40

ao

20

10

0 0 20 40 60 80 100 120 140 160 180 200 t(sec) Fig. 34. Simulation results using throttle only for a lead car deceleration of 0.099. The follower car collides with the leader at t ~ 165 s. compute a conditional expectation: The SAM ratio (A.1) reduces to Sugeno's 1-21] "center of gravity" model F(x) S~ yb(x, y)dy (a.16) rtl = S-~ oo b (x, y) dy F(x) = }~j=l~ aj(x)Pj (A.20) Ej =1 aj(x) = yp(y[x)dy (A.17) if the peaks Pj of the then-part sets Bj equal the oo, then-part set centroids c~ and if all then-part sets = El-Y IX = x] (A.18) Bj have the same nonzero area or volume Vj: Pj = cj and V1 ..... Vm > O. since

b(x, y) (A.19) p(ylx) = ~_~ b(x, y)dy Appendix B. Learning in SAMs: unsupervised clustering and supervised gradient descent defines a conditional probability density even though b(x, y)> 1 may hold for the integrable A fuzzy system learns if and only if its rule function b >/O. patches move or change shape in the input-output Hyun Mun Kim et al. / Fuzzy Sets and Systems 84 (1996) 209-234 231

20

15

10

E O. 5 Ill iiiiilii151111! iiiiiiiiilii15111i iiiiiiiii!iiii151iliiiiiii iiiiiii

0

-5

-10 i i i i i i i i i i i i i i i i i i i i i i i i i m i i i i 0 20 40 60 80 100 120 140 160 180 200 t(sec) 80 :

~, 50 e~ 40

0 20 40 60 80 100 120 140 160 180 200 t(sec)

Fig. 35. Simulation results combining the throttle and brake controllers for a platoon deceleration of 0.09¢]. The follower car approaches the leader but does not collide with it.

product space X x Y. Learning might change the Learning changes system parameters with data. centers or widths of triangle or trapezoidal sets. Unsupervised learning amounts to blind clustering These changing sets then change the shape or posi- in the system product space X x Y to learn and tion of the Cartesian rule patches built out of them. tune the m fuzzy rules or the sets that compose The mean-value theorem and the calculus of vari- them. Then k quantization vectors qj E X x Y move ations show [16] that optimal lone rules cover the in the product space to filter or approximate the extrema or bumps of the approximand. Good stream of incoming data pairs (x(t),y(t)) or the learning schemes [4, 5] tend to quickly move rule concatenated data points z(t)= [x(t)ly(t)] T. The patches to these bumps and then move extra rule simplest form of such product space clustering [14] patches between them as the rule budget allows. centers a rule patch at each data point and thus puts Hybrid schemes use unsupervised clustering to k = m. In general both the data and the quantizing learn the positions and number of the first set of vectors greatly outnumber the rules and so k >> m. fuzzy rule patches and to initialize the gradient A natural way to grow and tune rules is to descents of supervised learning (see Fig. 4). identify a rule patch with the uncertainty ellipsoid 232 Hyun Mun Kim et al. / Fuzzy Sets" and Systems 84 (1996) 209~34

[3, 4] that forms around each quantizing vector ber of data points. The supervised learning schemes qj from the inverse of its positive definite covariance below also use a like sequence {/2,} of decreasing matrix Kj. Then sparse or noisy data grow a patch learning coefficients. larger and thus a less certain rule than does denser Supervised learning changes SAM parameters or less noisy data. Unsupervised competitive learn- with error data. The error at each time t is the ing [14] can learn these ellipsoidal rules in three desired system output minus the actual SAM out- steps: put: e,~ = d~ - F(x~). Unsupervised learning uses the blind data point z(t) instead of the desired or II z(t) - qj(t) II labeled value dr. The teacher or supervisor super- vises the learning process by giving the desired = min(llz(t) - q~(t)II ..... [I z(t) - qk(t)H), (B.1) value d, at each training time t. Most supervised f qj(t) + Itt[z(t) - qj(t)] if i =j, learning schemes perform stochastic gradient de- qi(t + 1) (13.2) scent on the squared error and do so through [q~(t) if i #j, iterated use of the chain rule of differential calculus. K~(t + 1) Supervised gradient descent can learn or tune SAM systems [7, 17] by changing the rule weights K2(t) + v,[(z(t) - qj(t))T(z(t) -- q~(t) -- K~(t)] wj in (BAh the then-part volumes Vj, the then-part = if i=j, (B.3) centroids c j, or parameters of the if-part set func- K~(t) if i #j tions a i. The rule weight wj enters the ratio form of the general SAM system 2 for the Euclidean norm ]1 z [I 2 =-Z 21 + ... + z,+v. The first step (B.1) is the competitive step. It picks F(x) = y j''- l wjaj(x) Vjcj (B.4) the nearest quantizing vector qj to the incoming E5"-i w iaj(x) Vj data vector z(t) and ignores the rest. Some schemes may count nearby vectors as lying in the winning in the same way as does the then-part volume Vj in subset. We used just one winner per datum. This the SAM theorem. Both cancel from (A.13) if they correlation matching approximates a great deal of have the same value if wl ..... wm>Oorif the competitive dynamics of nonlinear neural net- V~ ..... V,, > 0. So both have the same learn- works. The second step updates the winning quant- ing law if we replace the nonzero weight wj with the ization or "synaptic" vector and drives it toward nonzero volume Vj or V;: the centroid of the sampled data pattern class [13]. The third step updates the covariance matrix of the ¢qE t winning quantization vector. We initialize the wj(t + 1) = wj(t) - IXt Owj (B.5) quantization vector with sample data (qi(O) = z(i)) to avoid skewed groupings and to initialize the OEt OF covariance matrix with small positive numbers on = w2(t) - txt OF Owj (B.6) its diagonal to keep it positive definite. Projection schemes [3-7] can then convert the ellipsoids into coordinate fuzzy sets. Other schemes can use the = wjtO + Ittet' 7j~t)pj(xt) [c~ - Fix,)] (B.7) unfactored joint set function directly. Supervised learning can also tune the eigenvalue parameters of the rule ellipsoids. for instantaneous squared error E, = ½(d, - F(xt)) 2 The sequences of learning coefficients {p,} and with desired-minus-actual error e, = dt - F(xt). We {vt} should decrease slowly [14] in the sense of include the rule weights here for completeness. Our ~=xPt = ~ but not too slowly in the sense of fuzzy systems were unweighted and thus used }~t= 1/~ < oo. In practice #t ~ 1/t. The covariance wl ..... Wm> 0. The volumes then change in coefficients obey a like constraint as in our choice the same way if they are independent of the weights of vt = 0.211 - t/1.2 N] where N is the total num- (which they may not be in some ellipsoidal learning Hyun Mun Kim et al. / Fuzz), Sets and Systems 84 (1996) 209 234 233

schemes): form a~ = e £"< ..... '<) and obey caJcmj3,~ k : a it?Ji(m ) ..... m})/&n k. Then the parameter update ~?Et vat + 1) = v~(t) - ~, ~vi (B.8) (B.16) simplifies to ~.~g m~(t + 1) = m~(t) + p, gtpa(x,)[ca -- F(xt)] ~m~jk:. : Vitt) + ~'~'~/t)p~(x,) [c~ - F(xD]. (B.9) (8.17) The learning law (B.7) follows since ~Ejc~w~ = -e and since This can arise for independent exponential or Gaus- sian sets aj(x) = [Ii=1" exp{.~.i(xi)} = exp.{ 32i=l)',(x,)~" 7 . ~F = exp{fj(x)}. The exponential set function aj(x) c~wj = exp{ ~i=1n ua(t~i ~i - xi)} has partial derivatives ?fj/?u~ = v k - Xk(t) and ~[j/~v~ = uj.k The Gaussian set function (B.10) 27'___,y,a,(~) V,_____2"~] aj(x)=exp -2i:,\~. / J %y"]_, w~aL~) V, w~a~(x) v, 77- , w a,(x) V~ J (Rll) has mean partial derivative c?)}/~m~ = (:q- m~)/ (a~) 2 and variance partial derivative ~/{?a~ = (X k k 2 k 3 _ p~(x) [c~ - F(x)] (B.12) -m j) ~(a j) . Such Gaussian set functions re- wj duce the SAM model to Specht's [20] radial basis function network. We can use the smooth from the SAM theorem. update law (B.17) to update nondifferentiable tri- The centroid c~ in the SAM theorem has the angles or trapezoids or other sets by viewing their simplest learning law: centers and widths as the Gaussian means and OEt ?F variances. cj(t + 1) = cj(t) - tt, OF ~c~ (B.13)

= cj(t) + l~,g,pj(xt). (B.14) References So the terms wj, V~, and cj do not change when [1] J.A. Dickerson, H.M. Kim and B. Kosko, Hybrid ellip- pj ~ 0 and thus when the if-part set barely fires: jth soidal learning and fuzzy control for platoons of smart a&,) .~ O. cars, Proc. 3rd Internat. Confi on Industrial Fuzzy Control Tuning the if-part sets involves more computa- and Intelligent Systems (1FIS'93) (1993). tion since the update law contains an extra-partial [2] J.A. Dickerson, H.M. Kim and B. Kosko, Fuzzy control derivative. Suppose the if-part set function a~ is for platoons of smart cars, Proc. 3rd IEEE Internat. Conj. on Fuzzy Systems (IEEE FUZZ-94) (1994) 1632 1637. a function of / parameters: aj = aj(m) ..... mS). [3] J.A. Dickerson and B. Kosko, Fuzzy function learning Then we can update each parameter with with covariance ellipsoids, IEEE Internat. Conf. on Neural Networks (IEEE ICNN-93) (1993) 1162- 1167. c~E, ~F c~aj [41 J.A. Dickerson and B. Kosko, Fuzzy function approxima- m~(t + 1) = m~(t) -- p, c.~F (~a.l Om~ (B.15) tion with supervised ellipsoidal learning, World Congr. on Neural Networks (WCNN'93) II (1993) 9--13. pj(x,) 0aj [5] J.A. Dickerson and B. Kosko, Virtual worlds as fuzzy = m~(t) + la,et~ kcj - F(x,)] -- [~mk" cognitive maps, Presence 3 (1994) 173 189. [6] J.A. Dickerson and B. Kosko, Ellipsoidal learning and t8.16) fuzzy throttle control for platoons of smart cars, in: R.R. Yager and L. Zadeh, Eds., Fuzzy Sets, Neural Networks, The exponential if-part set functions can re- and Solt Computim! ( Nostrand Reinhold, New York, duce the learning complexity. They have the 1994). 234 Hyun Mun Kim et al. / Fuzzv Sets" and Systems 84 (1996) 209-234

[7] J.A. Dickerson and B. Kosko, Fuzzy function approxima- [14] B. Kosko, Neural Networks and Fuzzy Systems (Prentice- tion with ellipsoidal rules, IEEE Trans. Systems Man , Englewood Cliffs, NJ, 1991). Cybernet., August 1996. [15] B. Kosko, Fuzzy systems as universal approximators, [8] S.K. Halgamuge and M. Glenser, A hierarchical hybrid IEEE Trans. Comput. 43(11) (1994) 1329 1333; an early fuzzy controller for realtime reverse support of version appears in Proc. 1st IEEE lnternat. Conf on Fuzzy vehicles with long trailers, Proc. 3rd IEEE lnternat. Conj. Systems (IEEE FUZZ-92) (1992) 1153 1162. on Fuzzy Systems (IEEE FUZZ-94) (1994) 1207 1210. [16] B. Kosko, Optimal fuzzy rules cover extrema, lnternat. J. [9] S.K. Halgamuge and M. Glenser, Application of fuzzy, Intelligent Systems 10(2) (1995) 249 255. neural and hybrid methods to an autonomously driven [17] B. Kosko, Combining fuzzy systems, Proc. IEEE lnternat. vehicle, World Congr. on Neural Networks (WCNN "95) Con]'. on Fuzzy Systems (IEEE FUZZ-95) IV (1995) III (1995) 1-6. 1855 1863. [10] J.K. Hedrick, M. Tomizuka and P. Varaiya, Control issues [18] B.C. Kuo, Automatic Control Systems (Prentice-Hall, in automated highway systems, IEEE Control Systems Englewood Cliffs, NJ, 4th ed., 1982). Ma 9. 14(6) (1994) 21 32. [19] S. Sheikholeslam and C.A. Desoer, Longitudinal control of [11] A. Hsu, F. Eskafi, S. Sachs and P. Varaiya, The design of a platoon of vehicles with no communication of lead platoon maneuver protocols for IVHS, PATH Research vehicle information: a system level study, PATH Report, UCB-ITS-PRR-91-6 (1991). Memorandum, 91-2 (1991). [12] P. Ioannou and T. Xu, Throttle and brake control for [20] D.F. Specht, A general regression neural network, IEEE vehicle following, 32nd Control Desiyn Conj'. (32nd CDC) II Trans. Neural Networks 2 (1991) 568 576. (1993) 1885-1890. [21] M. Sugeno, An introductory survey of fuzzy control, [13] B. Kosko, Stochastic competitive learning, IEEE Trans. Inform. Sci. 36 (1985) 59-83. Neural Networks 2 (1991) 522 529.