Like this document? Why not share!

# Genetic optimization of a vehicle fuzzy decision system for intersections

## by David de la O on Sep 20, 2012

• 206 views

### Views

Total Views
206
Views on SlideShare
206
Embed Views
0

Likes
0
3
0

No embeds

## Genetic optimization of a vehicle fuzzy decision system for intersectionsDocument Transcript

• 13150 E. Onieva et al. / Expert Systems with Applications 39 (2012) 13148–13157structure. First, a FRBS is in charge of determining whether themanual vehicle is approaching to the right or left of the autono-mous vehicle. Second, if the ﬁrst system has detected a crossing sit-uation, a parametrized FRBS is in charge of calculating theappropriate speed for the autonomous vehicle to carry out themanœuvre without risk and efﬁciently. Third, the orders fromthe previous two systems are transmitted to the vehicle’s actuators(throttle and brake) to adjust the vehicle’s speed. The following Section 3 will describe in detail each of thesethree layers, and Section 4 presents the genetic algorithm designedto optimize the parameterized fuzzy controller in charge of calcu-lating the appropriate speed with which to approach the intersec-tion and cross without risk.3. Fuzzy control architecture The system receives the positions and speeds of both the man- Fig. 2. Situation detector input variables.ual and the automatic vehicles. Henceforth, (NM, EM) will denotethe positioning (north and east) in metres of  manual vehicle  the  and (NA, EA) that of the automatic one. N 1 ; E1 and N 1 ; E1 will M M A A F D ¼ dist Á cosðarel Á p=180Þ ð2Þdenote, respectively, the positions at the previous instant so that LD ¼ dist Á sinðarel Á p=180Þ ð3Þthe two speeds, SA and SM, can be calculated. The three-layer struc-ture of the system is hierarchical from higher to lower levels: In the ideal case, h = 90° means that the manual vehicle is circu- lating from the right with respect to the automatic one, and the1. The ﬁrst is in charge of determining whether or not there exists mirror situation for h = À90°. FD > 0 and FD < 0 mean that the man- a crossing situation between two vehicles. It is necessary to ual vehicle is, respectively, ahead of or behind the automatic one, ensure that the system can coexist with other possible autono- while FD = 0 means that they are parallel at that instant. LD < 0 mous systems installed in the vehicle. and LD > 0 mean that the manual vehicle is, respectively, to the left2. The second acts in the case that the previous one is triggered. Its or the right of the automatic one, while LD = 0 means that it is pre- function is to determine the appropriate speed for the autono- cisely in front or behind. mous vehicle to drive through the intersection (stopping if To codify the input variables, trapezoidal membership functions necessary). as shown in Fig. 3 are used. In the ﬁgure, LD = Right and LD = Left can3. The third receives the target speed from the previous layer, and be represented as LD > NONE and LD < NONE, respectively. Likewise, is to act in consequence on the vehicle’s pedals to adapt its h = NO is represented by three trapezoidal functions because it can speed. This layer may vary according to the kind of vehicle. be interpreted as h – Left AND h – Right. For practical purposes, we shall assume that the vehicle’s A simple intuitive rule base is used to codify the output Situa- response to pedal actions can be modeled by a second-order tion, codiﬁed by means of three singletons: Left situated at À1.0, system. NO at 0.0, and Right at 1.0. They mean, respectively, that the vehicle is approaching the crossing point from the left or the right or that The following subsections will describe each layer in detail. no crossing situation exists. The fuzzy rule base used to infer the value of the Situation out-3.1. Situation detector put is given in Table 1 in which empty cells mean ‘‘any case’’. First, the implemented system distinguishes between threepossible situations: (i) the manually driven vehicle is approachingthe intersection from the left, i.e., without priority; (ii) the manu-ally driven vehicle is approaching the intersection from the right,i.e., with priority; and (iii) no other vehicle is approaching theintersection. To accomplish this task the system needs the relative position-ing of the manually driven vehicle. Three fuzzy input variables aredeﬁned to determine the situation at any given time: h representsthe angle (in degrees) formed by the direction vectors of the twovehicles; FD is the frontal deviation of the manual vehicle with re-spect to the automatic one; and LD is the lateral deviation of themanual vehicle with respect to the automatic one. A graphical rep-resentation of (h, FD, LD) is shown in Fig. 2. Formally, the variablesare calculated as follows:  aAjM ¼ atan2 EAjM À E1 ; N AjM À N1 AjM AjM qﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃﬃdist ¼ ðEA À EM Þ2 þ ðNA À NM Þ2arel ¼ 180 Á ðatan2ðEA À EM ; NA À NM Þ þ aA Þh ¼ 180 Á ðaA À aM Þ=p ð1Þ Fig. 3. Membership functions used to codify LD (top), FD (middle), and h (bottom).
• E. Onieva et al. / Expert Systems with Applications 39 (2012) 13148–13157 13151Table 1Situation detection rule base. h LD FD Situation Left Left (BackjFrontFar) NO Left Left (SidejFront) Left Left NONE (BackjFrontFar) NO Left NONE (SidejFront) Left Left Right NO NONE NO Right Left NO Right NONE (BackjFrontFar) NO Right NONE (SidejFront) Right Right Right (BackjFrontFar) NO Right Right (SidejFront) Right3.2. Target speed determination To determine the target speed, the real distances to the crossingpoint (the point in the space at which the direction vectors of eachvehicle cross) have ﬁrst to be calculated using the system of Eqs. Fig. 4. The input variables.(4) and (5), this is represented graphically in Fig. 4.EM þ DM Á sinðaM Þ ¼ EA þ DA Á sinðaA Þ ð4ÞNM þ DM Á cosðaM Þ ¼ NA þ DA Á cosðaA Þ ð5Þ Solving this system, one obtains the distances to the crossingpoint of the autonomous and manual vehicles as given in Eqs. (6)and (7), respectively. sinðaA Þ Á ðNA À NM Þ þ cosðaA Þ Á ðEM À EA ÞDM ¼ ð6Þ ðcosðaM Þ Á sinðaA Þ À cosðaA Þ Á sinðaM ÞÞ ðEM À EA þ DM Á sinðaM ÞÞDA ¼ ð7Þ sinðaA Þ Once the two distances to the crossing point have been com- Fig. 5. Fuzziﬁcation with 7 (top) and 3 (bottom) triangles.puted (DM and DA), in addition to the two speeds (SM and SA) andthe value of Situation obtained from the fuzzy decision system 3.3. Longitudinal behaviourpresented above, they are sent for processing by a parametric FRBS.Its input variables, DM, DA, SM, and SA, are codiﬁed by means of tri- The longitudinal behaviour of the autonomous vehicle can beangular membership functions (represented by three real values) approximated –for slowly varying dynamics and on a ﬂat surface–and are equally distributed in the intervals: [Smin, Smax] for both by the second-order transfer function:speeds and [Dmin, Dmax] for both distances. Each input variablehas its own number of triangles used in the codifying K x2 n GðsÞ ¼(#DM, #DA, #SM, #SA). Fig. 5 shows two examples of codiﬁcation by s2 þ 2gxn þ x2 nmeans of triangular shapes. where K = 25.14, g = 160, and xn = 55.87 (see (Tejado et al., 2011) The rule base contains (#DM Á #DA Á #SM Á #SA) rules formed by for further details).the AND composition of all the antecedents, with the addition of A PI controller was implemented to attain the target speeds pro-(Situation = Right). Thus the structure of the antecedents of the rule vided by the target speed determiner. This well-known control tech-base is of the form:         nique (Aström and Hägglund, 2006) is not only easy to implement, If DM ¼ DiM and DA ¼ DjA and SM ¼ Sk M and SA ¼ SlA but also allows one to describe its behaviour in the Laplace domainand(Situation = Right), in which i = {1 . . . #DM}, j = {1 . . . #DA}, as CðsÞ ¼ K P EðsÞ þ K I EðsÞ, with E(s) the tracking error, and KP = 0.3, sk = {1 . . . #SM} and l = {1 . . . #SA}. KI = 0.1 the control gains. As a result, the closed-loop system The output (Out) can represent two values: dynamics are described by the continuous transfer function CðsÞGðsÞ1. The modiﬁcation required to the current speed to obtain an HðsÞ ¼ appropriate speed to circulate through the intersection without 1 þ CðsÞGðsÞ risk. Desiredspeed = SA + Out. 2:35 Á 104 s þ 2:35 Á 104 ¼ ð8Þ2. The absolute speed necessary to circulate through the intersec- s3 þ 1:79 Á 104 s2 þ 2:67 Á 104 s þ 2:35 Á 104 tion without risk. Desiredspeed = Out. The system can be discretized using the bilinear transform s ! 2 zþ1, with the resulting discrete approximation of the vehicle’s zÀ1It is codiﬁed by #out singletons distributed in the interval T longitudinal dynamics being[OminOmax]. Finally, the assignment of consequents to the antecedents of the a2 z2 þ a1 z1 þ a0rule base is represented as a vector to be managed by the genetic HðzÞ ¼ z ð9Þ z3þ b2 z2 þ b1 þ b0algorithm: Indi 2 {1, . . . #out}, "i 2 {1, . . . #DM Á #DA Á #SM Á #SA}.Here, Indi value means to assign the corresponding singleton as with a0 = À5.467 Á 10À5, a1 = À0.2041, a2 = 0.2495, and b0 = 0,consequent of rule number i. b1 = 0.7421, b2 = À1.697.
• 13152 E. Onieva et al. / Expert Systems with Applications 39 (2012) 13148–13157 Finally, the discrete transfer function of Eq. (9) can be rewritten inherited from the ﬁrst parent, and otherwise from the second. Theas a linear constant coefﬁcient difference equation: second offspring is created using the inverse string. The implementation of mutation is by the random resettingSA ðt k Þ ¼ a2 V r ðt kÀ1 Þ þ a1 V r ðt kÀ2 Þ þ a0 V r ðt kÀ3 Þ À b2 SA ðtkÀ1 Þ method: for each gene, a new value is chosen from the set of per- missible values ([1, . . . #out]) with probability pm = 2/(#DM Á #DA À b1 SA ðt kÀ2 Þ À b0 SA ðt kÀ3 Þ Á #SM Á #SA). The replacement method is implemented by each offspringwhere Vr(tk) and SA(tk) are the reference and actual velocities at in- replacing one of its parents in the case that the parents are outper-stant tk. formed by the offspring. 4.1. Fitness function4. Genetic optimization process In order to evaluate individuals of the population, each individ- The previous section described in detail the structure of the ual is executed in a certain number of randomized scenarios (Nsc),overall system. Section 3.2 presented the parametrization of a FRBS which increases over time according with:designed with the aim of calculating the desired speed required tocross the intersection in a no-risk situation. Nsc ¼ 1 þ 19 Á bg=Gc In the present section, a genetic optimization process is de- being g and G, respectively the number of the current generationscribed whose goal is to assign the consequents of the full set of and the total number of generations for the process to be executed.antecedents to obtain the rule base of a safe controller for vehicle Given the fact that the GA evolves during 1000 generations, thismanagement at intersections. makes a total number of 10510 different scenarios to be created From an overall point of view, the objective of the optimization during the execution.process is to obtain the best rule base given the structure of the In the scenarios, both vehicles approach perpendicularly toFRBS deﬁned by the values (#DM, #DA, Dmin, Dmax, #SM, #SA, Smin, cross point, starting both with initial positions and speeds ran-Smax, #out, Omin, and Omax). As noted above, a rule base is repre- domly generated as follows:sented as a vector with (#DM Á #DA Á #SM Á #SA) integer values in{1, . . . #out}. ½NM ; EM 0 ¼ ½0; Uð50; 80Þ To optimize the vector that deﬁnes the rule base, a steady state aM0 ¼ atan2ð0; À1ÞGA is deﬁned (Goldberg, 1989). This algorithm creates two off- ½NA ; EA 0 ¼ ½Uð50; 80Þ; 0spring from members of the population using genetic operators(crossover and mutation) and replaces old individuals in the popu- aA0 ¼ atan2ðÀ1; 0Þlation with them. ½SM ; SA 0 ¼ Uð10; 40Þ The process starts with a randomly generated population of 100 Each scenario is allowed to evolve twice:individuals and lasts for 1000 generations. The application of theoperators in each generation is represented graphically in Fig. 6. 1. First, without considering output values from the Target SpeedThe steps followed are: select a pair of individuals (P{1,2}); apply Determination module. It is called free execution, or Ef.the crossover method to them to generate two offspring (O{1,2}); 2. And second, considering them. Called controlled execution, of Ec.apply the mutation method to obtain the ﬁnal individuals(M{1,2}). The ﬁnal individuals will replace the two worst individuals The purpose of the free execution is to determine whether thein the population in the case that they are outperformed by the given scenario would lead to a collision or not, and of the controllednewly generated ones. one is to evaluate whether the collision is avoided by following the The selection process is based on the principle of survival of the indications of the Target Speed Determination. The scenario evolvesﬁttest, i.e., individuals are chosen based on their ﬁtness values. by having both vehicles advance through the crossing point, withThe selection process is uniform stochastic in the following sense: the autonomous vehicle being controlled or not depending onthe population is mapped onto a roulette wheel in which each indi- which of the two kinds of execution is being run.vidual Ii is represented by a space that corresponds proportionally Each execution can report three different results as a function ofto its ﬁtness value, and then an individual is selected by spinning the moment at which each vehicle enters a secure zone deﬁned asthe roulette wheel. 5 m on each side of the crossing point: The crossover between two individuals is implemented by uni-form crossover (Syswerda, 1988) which, for each position in the 1. Both vehicle do not coincide in the secure zone, so there is novector (gene) that deﬁnes the two parents, makes a random choice collision between the two vehicles (C0). In this case it isas to which parent it should be inherited from. This is implemented expected for the FRBS to do not change the original speed ofby generating a string of random variables from a uniform distribu- the autonomous vehicle.tion in [0, 1]. For each position, if the value is below 0.5, the gene is 2. Vehicles coincide in the secure zone with the autonomous one entering before, in this case it is considered to exist a side-on collision (CL). The FRBS must slightly speed up the vehicle to abandon the secure zone before the manual vehicle enters. 3. Vehicles coincide in the secure zone with the manual one enter- ing before, so it assumed to exist a frontal collision (CF). The FRBS is expected to reduce the speed as less as possible to enter in the secure zone once the manual vehicle has abandoned it. Cases involving collisions are represented graphically in Fig. 7. Since it is far more probable (about 75%) that the generated sce- nario leads to a collision free without further control of the vehicle Fig. 6. Schema of the steady state genetic algorithm. (Ef = C0), the generation of the initial situation is restricted to those
• E. Onieva et al. / Expert Systems with Applications 39 (2012) 13148–13157 13153 Fig. 8. Example execution of two controllers: FRBS1 reduces the speed by less than FRBS2, so that
• it has to receive a better partial ﬁtness. The marked areas represent
• R R
• the values of
• Sf À Sc
• . A A constants mean slightly more penalization (F = 2500), more than doubled penalization (F = 5000) and about ﬁve times penalizationFig. 7. The concept of secure zone (blue square): situations with lateral (left) and (F = 10,000); in relation with a stop always controller.frontal (right) collisions. The objective of the adjustment process is to minimize the sum of the partial ﬁtnesses. It is important to note that, since the ﬁtnessthat evolve to the three possible results (Ef 2 {C0, CL, CF}) with the function is not deterministic (it depends on the scenarios gener-same probability: ated), the offspring must be evaluated under the same conditions as those in which the parents were evaluated, and the evaluationPðEf ! C 0 Þ ¼ PðEf ! C L Þ ¼ PðEf ! C F Þ ¼ 1=3 process is applied to the entire population with different scenarios in each generation, an individual who is the best in one generation The evaluation of each scenario yields a partial ﬁtness of the may not be so in the following one.solution. All the partial ﬁtnesses are summed in order to obtainthe ﬁnal ﬁtness. So, the ﬁnal ﬁtness function is calculated as theaggregation of partial results obtained in each one of the Nsc sce- 5. Experimentation and resultsnarios created for the current generation: X   Different executions of the proposed genetic algorithm wereFitness ¼ F Eif ; Eic ð10Þ executed in order to test the structure of the system as well as i¼1;...N sc the performance of the controllers obtained. The number of mem- bership functions used to codify each input variable was modiﬁedwhere the partial results are calculated in terms of the nine possible h i  in order to study the importance of each one.situations considered Eif ; Eic 2 fC 0 ; C L ; C F g2 . In particular, All the executions shared the constant intervals used to cover   the universe of discourse of the input variables:F Eif ; Eic is calculated according to the results of the simulation as [Dmin, Dmax] = [À10, 100]m and [Smin, Smax] = [0, 50]km/h. The num-follows: ber of triangles used to codify each input variable was 2, 3, or 4,  
• R R
• so that formally one has:
•  If Eif ¼ Eic ¼ C 0 , then the partial ﬁtness is set to
• Sf À Sc
• , A A i.e., the absolute difference between the integrals of the speeds f#DM ; #DA ; #SM ; #SA g 2 f2; 3; 4g4 in the two simulations. The reasoning behind this is that, if the two simulations (free and controlled) do not produce a collision, Making so, a total number of 34 = 81 different granularity the controller which changes the original speed less is the bet- conﬁgurations. ter one. This is illustrated in Fig. 8.   The number of consequents and their ranges depended on the  If Eif ¼ C L and Eic ¼ C 0 , the controller has avoided a collision kind of controller to implement: but, since a collision occurred laterally (Fig. 7, left) in the uncon- trolled simulation, the speed must be increased in order to leave  For FRBS that represent relative changes of the current speed of the secure zone before the manual vehicle enters it. The penali- the vehicle #out = 3 and [Omin, Omax] = [À10, 10]km/h. So the sin-
• R R
• R f R 
• gletons mean: decelerate (À10), maintain (0) and accelerate (10). zation is set to
• Sf À Sc
• if A A SA < Sc (the speed integral of A  For FRBS that represent absolute required speeds #out = 4 and the controlled simulation is greater than that of the uncon- [Omin, Omax] = [0, 30]km/h. The meanings of the singletons are: trolled situation), and to 2500 otherwise.   stop (0), slow (10), middle (20), fast (30).  The mirror situation is when Eif ¼ C F and Eic ¼ C 0 . In this case, the speed must be reduced to enter the secure zone after the Each execution of the genetic algorithm was repeated ten times manual vehicle has left it, because the collision would have in order to avoid sensitivity to the randomness of the process. occurred frontally (Fig. 7, right). The penalization is set to
• R R c
• R f R  Henceforth, REL#DM ;#DA ;#SM ;#SA and ABS#DM ;#DA ;#SM ;#SA will represent
• f
• SA À SA
• if SA > Sc (the speed integral of the controlled A the averaged results of the executions of the genetic algorithm simulation is less than that of the uncontrolled situation), and with the different combinations of the numbers of membership to 2500 otherwise.   functions used to codify the input variables.  In the case Eif ¼ C fFjLg and Eic ¼ C fFjLg , a smaller penalization In total, the genetic optimization process is executed 162 times than that of the previous case is applied, the value chosen being using two kinds of controllers (with absolute and relative output) 5000.   with 81 different granularity conﬁgurations for the input variables.  In the case Eif ¼ C 0 and Eic ¼ C fFjLg , the maximum penalization The resulting controllers are all executed in cases with initial must be applied since the crash is caused by actions of the con- parameters: troller. The value is set to 10000. ½NA ; EM t¼0 2 f50; 55; 60; 65; 70; 75; 80g2 Constant penalizations (F = {2500,5000,10000}) are established ½SM ; SA t¼0 2 f10; 15; 20; 25g2in these values since, in an experimental average simulation inwhich the FRBS immediately starts
• to decelerate the vehicle until which make a total number of 7 Á 7 Á 4 Á 4 = 784 different scenarios
• R R
• stoping, it would be obtained F ¼
• Sf À Sc
• % 2000. Giving so, A A to test the obtained FRBS.
• 13154 E. Onieva et al. / Expert Systems with Applications 39 (2012) 13148–131575.1. Collision-free tests Table 2 Fraction of controllers that improve after increasing the granularity corresponding to a certain variable. The results for the success rates of the manœuvres (withoutcollision) are shown in Fig. 9 as functions of the complexity of Relative controllers Absolute controllersthe controller (the number of rules). They are compared in the Variable 2?3 3?4 2?4 Variable 2?3 3?4 2?4graphs with the results obtained by the controllers that never act #DM 0.56 0.33 0.52 #DM 0.48 0.52 0.41on the vehicle’s speed (the Ef execution of the previous section), #DA 0.44 0.37 0.26 #DA 0.63 0.63 0.70whose success rate was 0.8163. One sees at ﬁrst glance that the #SM 0.56 0.33 0.41 #SM 0.63 0.63 0.59absolute representation of the required speed gives better results #SA 0.59 0.59 0.59 #SA 0.70 0.59 0.67than the relative speed schema, since most results of the formerare contained in the [0.9, 1.0] interval, unlike those of the latter.There are even some controllers obtained by the relative schema represents the performance of a given controller with a relativewhich were worse than the controller that never acts. Four of the output and Y that same controller but with an absolute output.controllers got a 100% success rate in the crossing manœuvre. They One observes that, except for a few cases, the controllers withwere ABS4423, ABS3433, ABS3344, and ABS2442. the better structures are able to obtain good results with both This apparent dependence of the performance on the kind of the relative and the absolute output schemata.controller may be misleading, however. Fig. 10 shows a plot of There exist no signiﬁcant differences between the structuresthe performances of the controllers in an X–Y plane, where X that work better with one schema or the other (46% vs. 54%). The important thing is that one sees that some structures obtain good results independently of the output schema used. This sug- gests that the problem calls for more granularity in certain input variables than in others. To assess this aspect, we took a certain controller and for each input variable measured the percentage of times than the controller improved when the granularity of the input variable was increased (from 2 to 3, from 3 to 4, and from 2 to 4 membership functions). The results are summarized in Table 2. One observes from the table that, for relative controllers, increasing the granularity of SA enhances the performance in around 60% of the cases, as is also the case for the absolute control- lers. One also observes that, in most cases, the improvement from 2 to 3 membership functions seems to be more effective than that from 3 to 4. 5.2. Accuracy of the controllers These ﬁrst results were promising, above all those with the absolute speed references. We thus wished to reﬁne the results in order to ensure that there were no stop always controllers, i.e.,Fig. 9. Performance of the generated controllers over the 784 scenarios. Red dashesrepresent the averaged performance value for a certain complexity, and blue dashes controllers that achieve success by always stopping the vehicle.represent the standard deviation. The red dotted line represents the performance To this end, we examined the correlation of the ﬁtness obtainedvalue obtained by a controller that never acts on the current speed. by the controllers averaged over the different scenarios with the rate (fraction) of successful manœuvres (see Fig. 11. One observes in the ﬁgure, with especial precision in the case of the absolute controllers, that the ﬁtness value is almost linearly correlated with the success rate. Since the ﬁtness function was designed to avoid stop always controllers and to reinforce controllers which perform intelligent decisions, this implies that controllers which have a high proportion of manœuvres without collision situations are applying intelligent actions and not a stop-always schema. Finally, Tables 3 and 4 present the results (ﬁtness and success rate) for all the controllers generated in terms of their granularities for each input variable. 5.3. Qualitative evaluation This subsection presents a qualitative evaluation of some of the controllers in simulations with the purpose of discussing the actions taken to control the vehicle. Since we observed an almost lin- ear relationship between safety (i.e., success rate) in the manœuvres and ﬁtness, regardless of the kind of output used (see Fig. 10), we ﬁrst ranked the controllers according to the minimum value of safetyFig. 10. Correlation between the performances obtained by a given controller obtained with both kinds of output, and then selected the top two.structure with the two output schemata. The blue line represents the limit region of The result was that controllers {ABSj REL}3344 and {ABSjREL}4242 wereno difference, and red dotted lines the performance of the controller that never acts. those which performed the manœuvre without collisions. It is
• E. Onieva et al. / Expert Systems with Applications 39 (2012) 13148–13157 13155 Table 4 Complete results of the genetic optimization process for absolute controllers in terms of granularity (GRA), listing their success rate (fraction of manœuvres without collision, %S) and ﬁtness (Fit). GRA %S Fit GRA %S Fit GRA %S Fit 2222 0.94 1439.0 2223 0.90 1505.6 2224 0.95 1198.2 2232 0.96 1163.2 2233 0.91 1425.2 2234 0.95 1203.7 2242 0.92 1362.1 2243 0.98 1017.6 2244 0.98 1423.4 2322 0.88 2092.7 2323 0.95 1161.4 2324 0.96 1385.9 2332 0.97 1216.2 2333 0.90 2014.2 2334 0.97 1533.0 2342 0.97 1274.6 2343 0.71 3072.7 2344 0.92 1381.3 2422 0.88 2240.1 2423 0.94 1248.2 2424 0.96 1735.4 2432 0.96 1437.6 2433 0.94 1243.1 2434 0.97 1155.5 2442 0.82 2364.1 2443 0.92 1762.4 2444 0.82 2627.8 3222 0.93 1093.3 3223 0.94 1211.3 3224 0.97 885.6 3232 0.95 1302.9 3233 0.92 1430.9 3234 0.97 1236.1 3242 0.94 1265.7 3243 0.97 1228.7 3244 0.93 1269.5 3322 0.88 1861.5 3323 0.95 1318.2 3324 0.99 1187.4 3332 0.97 1137.0 3333 0.97 923.8 3334 0.97 1123.2 3342 0.90 2219.5 3343 0.95 1320.6 3344 0.99 883.3 3422 0.89 1847.1 3423 0.97 1176.6 3424 0.97 966.7 3432 0.76 2917.9 3433 0.91 1629.3 3434 0.92 1456.5Fig. 11. Correlation between the success rate obtained by the controllers and the 3442 0.86 2183.5 3443 0.90 1567.3 3444 0.84 1384.2ﬁtness function calculated as deﬁned in Section 4. 4222 0.94 1111.8 4223 0.94 1069.2 4224 0.96 898.7 4232 0.98 865.9 4233 0.99 856.7 4234 0.96 1443.5 4242 0.98 1016.1 4243 0.96 1138.0 4244 0.97 1052.8Table 3 4322 0.97 1187.8 4323 0.94 1182.6 4324 0.98 894.3Complete results of the genetic optimization process for relative controllers in terms 4332 0.91 1322.2 4333 0.96 1082.9 4334 0.81 1958.6of granularity (GRA), listing their success rate (fraction of manœuvres without 4342 0.95 1007.5 4343 0.87 1459.0 4344 0.83 1609.5collision, %S) and ﬁtness (Fit). 4422 0.84 2339.4 4423 0.96 1418.9 4424 0.94 1072.1 4432 0.97 1195.6 4433 0.85 1434.7 4434 0.82 1668.6 GRA %S Fit GRA %S Fit GRA %S Fit 4442 0.89 1639.9 4443 0.82 1620.9 4444 0.78 1790.3 2222 0.91 1883.5 2223 0.93 1668.0 2224 0.92 1768.8 2232 0.93 1702.3 2233 0.97 1374.6 2234 0.94 1628.0 2242 0.88 2124.8 2243 0.91 1913.8 2244 0.96 1485.8 2322 0.95 1574.9 2323 0.93 1687.7 2324 0.92 1779.2 2332 0.91 1836.9 2333 0.91 1874.1 2334 0.95 1570.7 2342 0.95 1582.9 2343 0.95 1562.1 2344 0.98 1310.6 2422 0.91 1852.1 2423 0.94 1639.0 2424 0.97 1423.1 2432 0.92 1781.9 2433 0.96 1485.0 2434 0.99 1276.7 2442 1.00 1157.5 2443 0.94 1701.4 2444 1.00 1198.4 3222 0.91 1873.1 3223 0.92 1747.8 3224 0.92 1718.4 3232 0.87 2207.8 3233 0.90 1926.9 3234 0.93 1685.5 3242 0.90 2000.4 3243 0.93 1702.8 3244 0.92 1727.9 3322 0.94 1599.0 3323 0.92 1779.3 3324 0.91 1855.2 3332 0.97 1436.0 3333 0.94 1613.0 3334 0.95 1493.8 3342 0.99 1245.3 3343 0.99 1189.3 3344 1.00 1159.5 3422 0.91 1850.2 3423 0.94 1610.7 3424 0.94 1589.8 3432 0.97 1335.1 3433 1.00 1234.3 3434 0.89 2044.7 3442 0.95 1547.7 3443 0.95 1494.6 3444 0.97 1454.5 4222 0.91 1882.2 4223 0.92 1788.7 4224 0.95 1604.6 4232 0.96 1482.9 4233 0.86 2224.1 4234 0.94 1628.8 4242 0.99 1219.5 4243 0.91 1860.6 4244 0.93 1701.3 4322 0.87 2130.3 4323 0.91 1849.3 4324 0.93 1670.8 4332 0.97 1338.6 4333 0.96 1475.8 4334 0.95 1517.4 4342 0.93 1726.7 4343 0.95 1553.5 4344 0.92 1805.5 4422 0.95 1501.3 4423 1.00 1237.6 4424 0.95 1526.8 4432 0.91 1840.2 4433 0.93 1633.3 4434 0.92 1868.4 4442 0.95 1528.5 4443 0.96 1545.5 4444 0.95 1618.6 Fig. 12. Simulation with both vehicles starting at the same speed.important to note that performing the same ranking procedure butto the maximum value of the ﬁtness, these same two controllers, are appreciated in the behaviour of the controllers between the{ABSjREL}3344 and {ABSjREL}4242, would have been selected. two cases. All four controllers reduce the speed of the autonomous These four controllers were then tested in a situation in which vehicle to avoid collision (without stopping), with REL3344 acceler-both vehicles start at a similar distance from the crossing point ating after the risk of collision has been avoided. In the third case,(DM = DA = 50 m). Five experiments were carried out. Their results shown in Fig.<br/>14 (the autonomous vehicle’s speed is slightlyare shown in Figs. 12–16. In these ﬁgures, the blue line is the the- greater than that of the manual vehicle), only REL3344 acceleratesoretical distance if the speed regulator were not activated, red lines the vehicle, entering the secure zone before the manual vehicle.are the values of the manually driven vehicle, the gray area is the Figs. 15 and 16 show experiments in which there was no initial risksafe distance around the crossing point (±5 m), and the pink area of collision, so that the controllers would be expected to not varyis the time interval during which the secure zone is occupied by the speed. This result was obtained when the autonomous vehiclethe manual vehicle. was being driven more slowly than the manual one (Fig. 15), but Figs. 12 and 13 show experiments that would produce a frontal was satisfactorily achieved only by REL3344 in the other case showncollision if the autonomous vehicle were not controlled, since the in Fig.<br/>16, so that it is this controller which seems to imple-manual vehicle enters the crossing area ﬁrst. No major differences ment the most intelligent behaviour overall.
• 13156 E. Onieva et al. / Expert Systems with Applications 39 (2012) 13148–13157Fig. 13. Simulation with the autonomous vehicle slightly slower than the manual Fig. 16. Simulation when there was no initial risk of collision, with the autonomousone. vehicle starting at a considerably faster speed than the manual one. 6. Conclusions and future work This paper has presented the design of a fuzzy hierarchical architecture and a genetic optimization process. The architecture is in charge of managing a vehicle in an intersection scenario in which the other approaching vehicle does not cooperate, so that optimal manœuvring is impossible. It is structured into three lay- ers, each responsible for a lower level decision: (i) to determine the existence of the need for an intersection crossing manœuvre and its nature (from the left, or from the right), (ii) to determine the appropriate speed with which to drive through the intersection without risk, and (iii) to act in consequence on the vehicle’s pedals. This three-layered structure allows the system both to co-exist with other decision systems implanted in the vehicle, since the ﬁrst layer is in charge of triggering the full process, and to be implemented in any kind of vehicle, since the third actuation layer is independent of the overall system and can be easily changed. The core of the decision system is thus in the second layer,Fig. 14. Simulation with the autonomous vehicle slightly faster than the manual which is in charge of the hard task of determining the appropriateone. speed. To a proper design of this layer, a total of 162 fuzzy control- lers with different structures (granularities of the input variables) and output meaning (relative or absolute speed) were tuned by means of a genetic optimization process. The genetic algorithm implemented takes into account various factors of the problem. It generates random intersection situations with the aim of covering most of the possible situations, thus ensuring the safety of the controller. The number of random situations generated varies according to which generation is being processed in order to reduce computation time by simplifying the early stages of the process (when the individuals are almost ran- dom). For this reason, the ﬁtness function of the process changes with time, since the ﬁtness calculated in scenarios of a certain gen- eration may not be repeated in the next. The ﬁtness is calculated by simulating the scenario both with and without controlling the vehicle, and takes into account whether the vehicle causes or avoids a collision to distinguish between nine different possible situations and reward each one appropriately. The optimization process generated 161 fuzzy controllers. They were compared in terms of: (i) safety by running them on a large number of possible scenarios, and logging the number of collisions they avoided, and (ii) a ﬁtness function to ensure that they do notFig. 15. Simulation when there was no initial risk of collision, with the autonomous generate a stop always policy which, while it would ensure safety,vehicle starting at a considerably slower speed than the manual one. would not exactly be very intelligent. Comparisons were made in