Fusion of Neural Networks, Fuzzy Systems and Genetic Algorithms: Industrial Applications Fusion of Neural Networks, Fuzzy Systems and Genetic Algorithms: Industrial Applications
by Lakhmi C. Jain; N.M. Martin
CRC Press, CRC Press LLC
ISBN: 0849398045   Pub Date: 11/01/98
  

Previous Table of Contents Next


6. Representative Applications

Neural Fuzzy techniques can be applied to many different applications. Home appliances (vacuum cleaners, washing machines, coffee makers, cameras etc.), industrial uses (air conditioners, conveyor belts, elevators, chemical processes, etc.), automotive (antiskid braking, fuel mixture, cruise control, etc.), fast charging of batteries, and speech recognition are a few examples.

NFS (e.g., NeuFuz) learns by using the system input-output data and application parameters as shown in the first box of Figure 2. After the learning is completed, fuzzy rules and membership functions are generated, verified, optimized, and converted to assembly code.


Figure 7  Flow chart for NeuFuz based application development.

The complete flow of developing an application using NeuFuz is shown in Figure 7. This corresponds to how all the components of Neufuz are used in developing an application. Determining the correct set of input-output data for learning is critical, as system performance is dependent on the learning. Input-output data can be obtained from one or more of the following sources: measurements, experience, mathematical models, and simulations.

Measurements provide better data, but this step may be cumbersome and care must be taken in the measurement itself as well as relating measured data. In some cases, direct measurement of data may be very difficult. Figure 8a shows an automated scheme (which avoids direct measurement) to learn the plant (by the model neural net) as well as how to control it with neural fuzzy technology. To learn a plant’s model, arbitrary inputs (within the range of interest) can be applied to both plant and model neural nets. The outputs are compared and weights of the model neural net are adjusted using the error el. The plant’s learning is complete once error e1 is minimized. Neural Fuzzy learning then begins using error e2, which is back propagated through the model neural net. Neural Fuzzy learning is complete when error e2 is minimized. Neural Fuzzy then generates fuzzy rules and membership functions (step 2 of Figure 2). These rules then can be verified, optimized, and integrated with other system code. Figure 8b shows how the neural fuzzy solution controls the plant.

Below, we discuss a few specific applications by using the general method of developing a neural fuzzy application as described above.


Figure 8a  Learning how to model the plant as well as how to control it.


Figure 8b  Controlling the application using NFS generated fuzzy logic design which runs on a processor.

6.1 Motor Control

Motor control for accurate positioning and speed is a very important function for many applications. The algorithm for motor control is the key to the success of the product. Conventional control schemes (e.g., PID — proportional, integral, and derivative — controllers) use a linearized model of a nonlinear system. This results in degraded performance which may be unsatisfactory for highly nonlinear systems. The mathematical manipulations used in this approach are often time consuming and error prone. In this section, the design of a NeuFuz based motor controller is described. The high level of design automation provided by NeuFuz significantly reduces design time and offers increased reliability and accuracy. The performance of the NeuFuz controller is compared with a corresponding conventional PID controller.

The control structure for the motor is shown in Figure 9. A DC motor is used which can operate at a maximum speed of 2500 rpm and generate up to 1/8 HP. The input voltage to the motor ranges from 0V DC to 130V DC. The objective of the motor controller is to regulate the input voltage of the motor to minimize rise time, reduce overshoot, and maintain a desired speed even when the load is varied. The NeuFuz based application development flow shown in Figure 7 is used to develop the controller, C, for the motor, M. The motor is connected to the generator, G, which is connected to an electrical load. The controller, C, is implemented by National Semiconductor’s 8-bit COP8 microcontroller.


Figure 9  Control structure for the motor control application.

6.1.1 Choosing the Inputs and Outputs

The objective here is to identify the optimal set of input/output variables that will contain adequate information for the controller to perform at a satisfactory level. An improper set of input and output variables may result in undesirable performance and/or higher cost. In this case, the inputs chosen were error and the change in error, and the output chosen was the change in the controller output. Following are the definitions of the inputs and output:

Input 1: error = desired speed - current speed
Input 2: delta error = error - previous error
Output: delta out = required change in the motor input voltage
DS = Desired speed, CS = Current speed

The two input variables mentioned above contain all the information needed to adequately control the motor. At any given instant, the error and the change in error informs the controller of the status of the motor. For example, a positive error implies that the motor is running at a lower speed than desired, thus indicating that the motor input voltage needs to be increased. The change in error input tells the controller at what rate and in what direction the motor speed is being corrected. This information is critical in determining the amount of additional effort (delta out) required to bring the motor to the desired speed optimally (without overshoots).


Previous Table of Contents Next

Copyright © CRC Press LLC