当前位置:首页 >> >>

Development of an Engineering Tool for the Design and Optimization of Knowledge-Based Contr

Development of an Engineering Tool for the Design and Optimization of Knowledge-Based Control Systems: A Perspective
H. Voos, R. Habtom, L. Litz University of Kaiserslautern, Institute of Process Automation P.O. Box 3049, 67653 Kaiserslautern, Germany Fax : +49-0631-205-4462 and e-mail : voos, habtom, litz @e-technik.uni-kl.de

The design of automatic control systems can be facilitated with the help of software engineering. This work focuses on a perspective of the development of a CAE tool for the design of fuzzy controllers as a special kind of knowledge based control systems. It is shown that control engineering can be considered as a part of the software product engineering process. The tool allows the design of fuzzy controllers, the modeling of complex dynamic systems with neural networks and the optimization of the fuzzy controller with the help of the neural model of the system.

1. Introduction
Modern automatic control systems consist of two main parts: a specialized hardware on the one hand and the control software on the other hand. These are necessary to achieve the various functions of automatic control systems like acquiring information about the process with the help of sensors, altering the process using actuators, process control and monitoring, system check and diagnosis, process scheduling, production planning and enterprise management. Since most of these functions are realized with the help of software, it is obvious that the development of an automatic control system requires software engineering. In addition, the control engineering, i.e. the design of the control loops and complex control algorithms, is nearly impossible without employing computer aided engineering CAE tools. The focus of this work is on the computer aided design of knowledge based control systems which have been increasingly used in solving control problems. Even though such methods are mainly useful in circumstances where the underlying technical process can 1

be described only qualitatively or where a quantitative mathematical model is hardly available, they provide an ideal means of synthesizing control algorithms for complex systems in general. One of the commonly used knowledge based controllers is based on fuzzy logic, whose purpose is to transform human expert knowledge available in linguistic terms into a control algorithm. Assuming that the necessary knowledge about the system is available, the design of a fuzzy controller has to be carried out with the help of a CAE tool. One main problem of fuzzy controller design is the optimization of the controller in order to maintain a required behavior of the closed control loop. This optimization is necessary if the available knowledge is not su cient or crude. In this regard, one approach is to observe the response of the system while the roughly designed fuzzy controller runs in a closed loop and to make the modi cations accordingly. This is, however, possible if the CAE tool supports the adjustment of the parameters of the fuzzy controller, i.e. the tool should permit an on line monitoring and adjustment. Another alternative is to use a model of the system and to carry out the adjustment of the parameters based on the response of the model. The availability of a model also o ers a means of optimizing the fuzzy controller automatically, e.g. with the help of genetic algorithms. This calls, however, for a method that permits the modeling of complex systems. In this regard, the use of neural networks could be of bene t not only because of their capability of modeling complex dynamic systems but also due to the fact that they require no a priori knowledge about the underlying system for identi cation. In view of the above, it has been an inspiration to the authors to acquire a CAE tool that not only enables the design of a fuzzy controller based on the available knowledge but also that allows the establishment of a neural model of a complex system and the optimiza-

tion of a roughly designed fuzzy controller with the help of this model. Thus this CAE tool covers the whole control engineering process with respect to the special requirements of industrial use. The paper is organized as follows. Section 2 describes the realtionship between software enginnering and the development of an automatic control system. It is shown that the process of the control engineering is a part of the software product engineering process. Section 3 highlights the concept of fuzzy control and the application of neural networks for modeling nonlinear dynamic systems. In section 4, the proposed CAE tool is discussed.

Problem Description Requirements Document System Design Component Requirements Component Design Verification


Used System Integration Executable System



2. Controller design as a software engineering process
The development of automatic control systems requires the principles of software engineering. One of the essential parts of an automatic control system is the controller. The controller is responsible for the control of the system via a control loop. Control engineering deals with the design of a controller. The question is how the software engineering process can be employed for control engineering purpose. According to Rom-95 , software engineering is concerned with the de nition, re nement and evaluation of principles, methods, techniques and tools to support the development of large software systems. In Fig. 1, the V model of the software product engineering process is shown Rom-95 . The development of an automatic control system can be described as a special case of a software product engineering process. In Fig. 1, the blocks problem description and requirements document correspond to the the main objectives of automatic control systems and the structure of the whole system. The system or component design deals with the description of the di erent functions like control algorithms, process monitoring, and so on. The block component requirements is responsible for the de nition of the controller type and the closed loop behavior. At the component code level, the control algorithms are transformed into a suitable code for the control hardware. The type of this code depends on the type of the hardware, which can be a microcontroller, a programmable logic controller PLC, a process control system or an industrial PC. Controllers or the control algorithms are one type of such a component. The executable system in the case of a controller component is the closed loop system, i.e. the controller and the controlled subsystem. The subsystem of the process can either be the real subsystem or a suitable model. The behavior of the executable system has to be validated against the requirements. Beside


Executable Component Integration

Component Code

Figure 1: V model of the product engineering process the description of models of product engineering processes, software engineering also comprises of process engineering processes. One possible method is the iterative improvement of the software products by cycles of planning, observing and feedback. Now, we can de ne control engineering as the iterative design and improvement of a special software component, the controller, as shown in Fig. 2. In control engineering, validation
Controller Requirements: closed-loop behavior Controller Design Model of the technical system if necessary

Validation Control engineering Component Code

Executable Component: closed-loop



Figure 2: Control engineering as component design refers to the comparism of the actual closed loop behavior with the desired behavior. The common way is to examine the closed loop behavior using models either mathematical or simulation models of the technical process. If these examinations are satisfactory,

the controller is implemented and tested with the real process, else the controller has to be modi ed. This paper focuses on the computer aided engineering of fuzzy controllers. It is shown that in this case the way of deriving the control algorithms di ers signi cantly from that used in conventional control theory. Thus, special CAE tools for the computer aided control engineering of fuzzy controllers are necessary.

3. Fuzzy control and dynamic neural models: an overview
Fuzzy control is a relatively new method for knowledge based development of control algorithms. The motivation for this method is the possibility to transform human expert knowledge into control or supervisory algorithms. In practice, the required knowledge to design a control implementation with a high performance is distributed among di erent human experts like the plant operators or the designer of the plant. The knowledge of all these people can be collected and represented in a fuzzy controller in a comfortable way. The whole mathematical background of fuzzy logic is omitted here and can be found in the literature see Lev-96 , Ped-93 for example. The fundamental elements of a fuzzy system are the fuzzy sets and the rule base. The methodology of the fuzzy sets represents the human interpretation of measured variables. In a fuzzy system, the input variables are interpreted as linguistic variables which are described in linguistic terms. The rule base of a fuzzy system contains a number of IF THEN rules. A fuzzy controller is a fuzzy system where the rules describe a certain control action. The knowledge of how to control a process is distributed in a fuzzy controller. Some knowledge is used to de ne the linguistic variables and the fuzzy sets. The rule base contains the biggest part of the knowledge and, in principle, it is possible to implement the control algorithms without a mathematical model of the process. However, the performance of a fuzzy controller depends on the completeness and consistency of the implemented knowledge. A better expert knowledge that describes the control algorithm leads to a better control performance. If we deal with complex dynamic systems, the knowledge of the human experts can be incomplete or crude at the beginning of the control engineering. With respect to the control engineering process as shown in gure 2, the design of a fuzzy controller covers the following iterative steps. First, the knowledge is collected and a rst version of the fuzzy controller is designed, most often with the help of CAE tool for graphical design. After that, the fuzzy controllers' code

must be generated which should be done automatically by the CAE tool. The executable system is the coded fuzzy controller in the closed loop. The validation of the software component, i.e. the controller, is the examination of the closed loop behavior. Therefore, a mathematical process model or the real plant can be used. After the validation, a tuning or optimization of the controller is always necessary due to inconsistent or incomplete knowledge. This optimization is rather di cult because of the complex structure and the nonlinearity of the fuzzy algorithm. To reach a better performance, the right parameters have to be altered. In practice, this optimization is done manually, which requires experience and time. Thus, new research focuses on methods like genetic algorithms for an automatic optimization. The major drawback of these methods is the fact that a process model is necessary. Unfortunately, fuzzy controllers are often used if the controlled process is complex. In such cases however, the development of a mathematical process model is often impossible. For this reason, some researchers propose the application of neural networks as process models. Neural networks have the ability to learn sophisticated nonlinear relationships. They have also been proven to provide an ideal means of modeling complicated nonlinear dynamic systems. Analogous to any parametric identi cation process, a neural network-based dynamic system modeling involves four major steps. The rst task involves data collection and pre-processing. The second step is responsible for selecting the model structure. To achieve the modeling of a dynamic system, the model structure should be capable of representing a dynamic relationship. In other words, the model should consist of some memory element. This can be realized by using either external or internal feedback connections or a combination of the two. The memories of internally recurrent networks IRNs are commonly realized by feeding the outputs of neurons back to their respective inputs or to the inputs of other units located in the same layer or in preceding layers. In the case of externally recurrent networks, external delay elements are used. The delay elements provide the network with past measured inputs, past observed outputs, past network outputs, errors, etc. These delayed values constitute a regression vector and the corresponding elements are referred to as regressors. Thus, in the neural network-based identi cation, the selection of a model structure involves the determination of the regression vector and the network architecture. The latter can be realized using a feedforward or recurrent network. While the use of a feedforward network like a radial basis function RBF

network and a multilayer perceptron MLP is possible with the employment of a su cient number of regressors, with the utilization of an IRN the number of regressors can be reduced and their proper choice becomes uncritical. However, due to the computational intensity required for training, IRNs are rarely utilized. One of the typical architectures of recurrent networks consists of fully interconnected units. A cascade of such fully connected layers arranged in a multilayer feedforward fashion form an architecture described as recurrent multilayer perceptron RMLP in FPT-90 . Other network architectures, which have essentially an architecture identical to feedforward networks but have some kind of memory element within the neuron are referred to as local-recurrent-global-feedforwad LRGF networks. A typical example of a LRGF network is the so-called diagonal recurrent neural network DRNN KuL-95 , which has a single hidden layer with all its recurrent neurons placed in this layer. Each recurrent neuron has a single delay unit that feeds the output of the neuron back to its input. Once the regression vector and the network architecture are selected, we go to the third step which deals with the training of the network. To e ect this, the appropriate learning algorithm and the corresponding parameters have to be selected. Apparently, the choice of a suitable training algorithm depends on the selected model structure. If there is any feedback, in any form, then the use of an algorithm that takes the recurrence into account i.e., a dynamic training algorithm is sought. The last step of the identi cation procedure is the validation, which is carried out to approve the adequacy of the model in representing the underlying system. While a number of validation methods can be used, a reasonable and largely accepted approach adopts a cross-validation i.e., a fresh data set that has not been utilized for training is employed to test the performance of the model. If the output of the validation is not acceptable, a change in one of the other three steps should be conducted to improve the performance of the model.

4. A tool for fuzzy control engineering: a perspective
This section highlights a perspective of a CAE tool for fuzzy controller design and optimization as described in the previous sections. The tool should support all steps of the iterative software engineering process depicted in Fig. 2. The basic elements of the new tool are two CAE tools that are already developed: the tool FuzzyDesigner and the tool NeuroIdenti er. The CAE tool FuzzyDesigner is a graphical MS

Windows based tool that allows the handling of complete fuzzy control projects. The linguistic variables and terms can be easily de ned. The membership functions of all linguistic terms can be drawn in special windows while a rule table allows the comfortable input of all rules. The fuzzy operators and methods for defuzzi cation are selected in a toolbar. The in and output behavior of the controller can be examined using 2D or 3D plot functions of the tool to display the characteristic curves. For coding, the tool allows the automatic generation of a special AWL code for PLCs or a standard C code. Since, in industry, many control applications run on PLCs, the code generation for PLCs provides some extended possibilities like on line monitoring of the controller's actual behavior during operation. In this mode, the actual degree of membership of the linguistic variables and the evaluation of the rule base can be displayed. The values of the input and output variables of the fuzzy controller are saved in a data base. The CAE tool NeuroIdenti er HVL-99 is also a graphical MS Windows based tool for modeling complex dynamic systems with the help of neural networks. Essentially, the tool supports the last three major identication steps described in section 3.2, i.e., it expects a preprocessed set of training and validation data in ASCII-format. With regard to model structure, the network architectures RBF, MLP, DRNN and RMLP are supported and can be selected using the user interface. Each architecture can be used as a parallel or series parallel identi cation model. Furthermore, MLP networks can be used as an ARMAX model. The training algorithm is automatically determined depending on the selected model structure. While for MLP in a series parallel static back propagation is used, dynamic back propagation is employed for DRNN, RMLP and MLP in a parallel or ARMAX model. Once the training parameters like learning rate, stopping criteria, etc. are set, the training phase can be started. The training phase can be interrupted manually or stopped if a speci ed stopping criterion is reached. The validation test can be carried out parallel to the training, if the test data are read prior to the beginning of training. After the completion of the training, all the necessary parameters like the model structure, the training parameters, the weights and biases of the network can be saved for a later use. Furthermore, the tool allows the user to display and to print the training and validation curves along with the curves generated by the network, the corresponding error as well as other relevant information. FuzzyNeuroDesigner is a CAE tool for the complete fuzzy controller engineering process. It combines

the tools FuzzyDesigner, NeuroIdenti er and a tool FuzzyNeuroSim, which still has to be developed. The whole structure of this CAE tool is shown in Fig. 3. The rst step is the design of a fuzzy controller with the
FuzzyNeuroSim Controller Requirements: closed-loop behavior Cotroller Design Automatic Coding Component Code FuzzyDesigner FuzzyNeuroDesigner Executable Component: closed-loop Neural model of the process NeuroIdentifier Integration

tomatic optimization like genetic algorithms of the fuzzy controller in this simulation environment. After the optimization phase, the obtained controller is coded again and implemented in the closed loop. There can be several optimization cycles until the closed loop behavior becomes satisfactory. At the end of the enginnering process, the optimized controller is found and implemented.


5. Conclusions
Control engineering requires software engineering as well as suitable CAE tools. One special type of a control system is a fuzzy controller. In this work, we give a perspective of a CAE tool called FuzzyNeuroDesigner for the design and optimization of a fuzzy controller. The main idea is to carry out the optimization using a neural model of the plant that can also be achieved in the case of complex dynamic processes. The new tool combines two already existing tools called FuzzyDesigner and NeuroIdenti er together with a simulation environment that still has to be developed.

Figure 3: The CAE tool FuzzyNeuroDesigner
FuzzyDesigner, that also allows the automatic coding of this controller either into a C code or a special code for PLCs. The second step is the integration of this controller into the closed loop while the controlled process is the real plant. Since even a properly designed controller always require some modi cations, the closed loop behavior must be validated against the requirements. For that purpose, the FuzzyDesigner supports the on line monitoring of the controller's behavior and the measured data are saved in a data base. After this rst validation step, the fuzzy controller has to be optimized. As mentioned before, the optimization can be done automatically or manually and requires some modi cations of the controller's parameters. In practice, this modi cation can not be done during operation with the real plant due to safety, production cost, etc. In such a case it is more appealing to adopt a model of the underlying process. As a result, we propose the use of a neural model, which is generated using the mentioned data base and the NeuroIdenti er tool. Once a neural model of the process is established, then we need an environment, where we can carry out a simulation of our process model in conjunction with the fuzzy controller. This environment is designated as FuzzyNeuroSim, where the simulation of a neural network and a fuzzy control algorithm can be readily carried out. During this simualtion, the FuzzyDesigner is again used for on line monitoring. Thus, a modi cation of the controller by manual tuning of the parameters can be carried out. In addition, we plan to implement algorithms for au-

FPT-90 Fernandez, B.; Parlos, A. G.; Tsai, W. K.: Nonlinear dynamic system identi cation using arti cial neural networks. In Proceedings of International Joint Conference on Neural Networks, San Diego, CA, 1990, vol. II, pp. 131 141. HVL-99 Habtom, R.; Voos, H.; Litz, L.: NeuroIdenti er: A software tool for neural network based identi cation of dynamic systems. at automatisieringstechnik, 47 1999 4, R. Oldenbourg, pp. 181 182 in German. KuL-95 Ku, C. C.; Lee, Y.: Diagonal recurrent neural networks for dynamic systems control. In IEEE Transactions on Neural Networks, 6, No. 1, pp. 144 156, 1995. Lev-96 Levin, W. ed.: The Control Handbook. CRC Press, Boca Raton, 1996. Ped-93 Pedrycz, W.: Fuzzy Control and Fuzzy Systems. 2nd ed., Research Studies Press, New York, 1993. Rom-95 Rombach, H. D.; Verlage, M.: Directions in software process research. In Advances of Computers, vol. 41 Marvin M. Zelkowitz, ed., pp. 1 63, Academic Press, 1995.



All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。