**2. Description of the main features of the training package**

The computational package has as main objective to park a vehicle in a garage, starting from any starting point within a pre-defined area. To this goal, the user should design a set of fuzzy control rules and also the functions of relevance that will control the trajectory of the vehicle. To set these rules, the program offers various menus with Windows and numerical routines. The processes of fuzzification and defuzzification variables are made by the program without user interference (Park et al., 1994).

Figure 1 shows the main screen to represent the problem of parking of a vehicle. This window shows the position of the garage, the existing limits (the walls) and the values of coordinated limits. Also this window presents the input variables *(x, y)* measured from the center point of the rear of the vehicle and finally, the car angle ().

Fig. 1. Main screen of the program

For parking the vehicle, some conditions are established, and belong to two types: computational package related and linked to logical. The conditions attaching to the package represent the physical limitations, they are:


With respect to logical limitations, they may vary according to the types of strategies employed. Some examples of these strategies can be, among others:


398 Fuzzy Inference System – Theory and Applications

theory of fuzzy control. The program contains all necessary instructions for users to understand the principles of diffuse control. In this package the main goal is to park a vehicle in a garage, starting from any starting position. The user must first develop a set of fuzzy control rules and functions of relevance that will shape the trajectory of the vehicle. The processes of fuzzification and defuzzification variables are performed by the program

The computational package has as main objective to park a vehicle in a garage, starting from any starting point within a pre-defined area. To this goal, the user should design a set of fuzzy control rules and also the functions of relevance that will control the trajectory of the vehicle. To set these rules, the program offers various menus with Windows and numerical routines. The processes of fuzzification and defuzzification variables are made by the

Figure 1 shows the main screen to represent the problem of parking of a vehicle. This window shows the position of the garage, the existing limits (the walls) and the values of coordinated limits. Also this window presents the input variables *(x, y)* measured from the

For parking the vehicle, some conditions are established, and belong to two types: computational package related and linked to logical. The conditions attaching to the

30° (limitation of the real model).


).

**2. Description of the main features of the training package** 

program without user interference (Park et al., 1994).

Fig. 1. Main screen of the program

a. limits of input variables:

b. limit of the output variable: - vehicle wheel angle -30°


package represent the physical limitations, they are:

270°;


center point of the rear of the vehicle and finally, the car angle (

without user interference.

For the movement of the vehicle shall be laid down the following conditions: Acceleration equal to 1 (m/s2) and maximum speed 1 (m/s). These two values are used as reference for all movements. To reverse the direction of motion of the vehicle there are three possibilities, which are:


The user of this computational package can define a new system by creating the roles of relevance and control rules. Initially, the user sets the number of functions of relevance for each variable. When the functions are created, they are equally spaced on the surface of the control variable. The user can modify these functions of belongingness by Fuzzy Sets Edition window. Figure 2 presents an example of editing for the *x* input variable.

Fig. 2. Fuzzy Sets Edition window

To set the rules for the control, i.e., how the functions of relevance will be grouped, there is the Fuzzy Rules Edition window. In Figure 3, one can find two regions of interest. The first where there is the possibility of selecting the direction (forward or reverse) and coordinated corresponding to the angle of the car. The second region of interest contains the padding of the conclusion of the rule. This can be done by selecting one of the output values (or none for a rule does not set or reverse). For instance for *x* = LE (left), *y* = YT (small values), car angle = RB (right big angle) and direction = ahead (forward) values was selected as NB (negative big angle) to wheel angle, which corresponds to rule:

An Evolutionary Fuzzy Hybrid System for Educational Purposes 401

(a) (b)

**3. Description of the evolutionary methods used in the hybrid system** 

The whole task of search and the optimization has several components, including: the search space, where they are considered all possibilities of solution of a given problem and the evaluation function (or function), a way to evaluate members of the search space. There are

Search optimization techniques and traditional begin with a single candidate, iteratively, is manipulated using some heuristics (static) directly associated with the problem to be solved. Generally, these processes are not heuristic algorithmic and its simulation in computers can be very complex. Despite these methods were not sufficiently robust, this does not imply they are useless. In practice, they are widely used, successfully, in innumerable applications

On the other hand, the evolutionary computation techniques operate on a population of candidates in parallel. Thus, they can search in different areas of the solution space,

Meta-heuristic methods differ from traditional methods of search and optimization, mainly

1. Meta-heuristic methods work with an encoding of the set of parameters and not with

allocating an appropriate number of members to search in multiple regions.

2. Meta-heuristic methods work with a population and not with a single point.

The computational package has features that allow you to vary the size of the car between: small, medium or large. This variation creates the opportunity to verify the behavior of the control system for an outfit that has changed some of its grandeur. The computational package also has three methods of defuzzification, which are: the centroid (center of gravity), average of the areas and average of maximum values (Kandel & Langholz, 1993). In the first version of the computational package, the learning process used is by trial and error. The user creates the functions of relevance, provides a set of rules and then performs several tests to verify the quality of control. It is known that this learning process (by trial and error) may not bring the expected results because several errors of interpretation can

Fig. 5. Examples of computational simulation package

many methods of search and evaluation functions.

in four aspects (Esmin et al., 2005; Medsker, 2005):

their own parameters.

occur (da Silva et al., 2010).

(Ross, 2010).

 "IF *x* is **and** LE *y* **and** is YT **and** *car angle* is RB **and** direction of movement is *forward (ahead)*  THEN wheel angle is NB."

Fig. 3. Fuzzy Rules Edition window

Through the initial position of the Edition menu option the user can set a start position (x-*y* coordinates and car angle ) to the vehicle. The simulation is started through the Start menu simulation. Figure 4 shows three possible initial positions.

Fig. 4. Three possible start positions

In the examples of simulation in Figure 5, you can check the trail left by the vehicle during its trajectory. Each point means iteration (i.e. a full pass on the set of rules) and the count is recorded in the variables window. The first example, shown in Figure 5 (a), has produced 628 iterations; while, in the second, in Figure 5(b), for another set of rules was queried by 224 times, for the same start position. It is easy to see that the second set of rules has a batter performance than the first one for this start position.

"IF *x* is **and** LE *y* **and** is YT **and** *car angle* is RB **and** direction of movement is *forward (ahead)* 

Through the initial position of the Edition menu option the user can set a start position (x-*y*

In the examples of simulation in Figure 5, you can check the trail left by the vehicle during its trajectory. Each point means iteration (i.e. a full pass on the set of rules) and the count is recorded in the variables window. The first example, shown in Figure 5 (a), has produced 628 iterations; while, in the second, in Figure 5(b), for another set of rules was queried by 224 times, for the same start position. It is easy to see that the second set of rules has a batter

) to the vehicle. The simulation is started through the Start menu

THEN wheel angle is NB."

Fig. 3. Fuzzy Rules Edition window

Fig. 4. Three possible start positions

performance than the first one for this start position.

simulation. Figure 4 shows three possible initial positions.

coordinates and car angle

Fig. 5. Examples of computational simulation package

The computational package has features that allow you to vary the size of the car between: small, medium or large. This variation creates the opportunity to verify the behavior of the control system for an outfit that has changed some of its grandeur. The computational package also has three methods of defuzzification, which are: the centroid (center of gravity), average of the areas and average of maximum values (Kandel & Langholz, 1993).

In the first version of the computational package, the learning process used is by trial and error. The user creates the functions of relevance, provides a set of rules and then performs several tests to verify the quality of control. It is known that this learning process (by trial and error) may not bring the expected results because several errors of interpretation can occur (da Silva et al., 2010).
