6
Proceeding of the 3rd International Conference on Informatics and Technology, 2009 ©Informatics '09, UM 2009 RDT1 - 45 Process y(k+1) y(k+1) Process Inverse Software for Neural-Network Based Inverse Modeling and Control of Temperature Process Shazzat Hossain 1 , Prof. Dr. Mohd Azlan Hussain 1 , Assoc. Prof. Dr. Rosli Omar 1 1 Faculty of Engineering, University of Malaya, 50603 Kuala Lumpur, Malaysia. Email: {[email protected], [email protected], [email protected] } ABSTRACT The objective of this paper is to present a neural network software tool used to train the process model and control the process. Depending on the form of process model, different control strategies can be developed. If an accurate model of a process is available and if its inverse exists then process dynamics can be cancelled by the inverse. Inverse of a process is defined as finding the inverse mapping of the process, i.e. mapping output to input of the process. To achieve this objective we investigate the use of the neural-network-based inverse model control strategy to control temperature process system, a software tool developed for training the inverse of process and used the model as controller for the process. Levenberg-Marquardt algorithm is used for training the process and later the software, the control strategy, the real-time control result provided Keywords: Neural Network, Inverse Modeling, Control 1.0 Introduction Traditionally, accurate mathematical model-based strategies have been applied to deal with control problems [1]. However, the need to meet demanding control requirements in increasingly complex dynamical control systems under significant uncertainties makes neural networks very attractive, because of its ability to learn, to approximated functions. Neural networks do appear to be able to implement many functions essential to control systems with higher degree of autonomy. Artificial neural networks have showed a great potential for modeling and controlling poorly understood and highly non-linear systems. Due to the non-linear nature of the units, neural networks are able to capture very well the non-linear structure of the most real-world processes. The applications of neural networks to control systems have become increasingly important. The massive parallel processing, nonlinear mapping, and self- learning abilities of neural networks have been motivating factors for development of intelligent control systems [2-8]. According to Narendra and Mukopadhyay [11], the success of neural networks in control problems is based on the capabilities of the neural networks to cope with three main difficulties encountered in control: complexity, nonlinearity, and uncertainty. Scott [] has divided the approaches of using neural networks in control into four groups: direct network control, inverse control, model-based control, and supervisory control. Depending on the form of process model, different control strategies can be developed. We know if an accurate model of a process is available and if its inverse exist then process dynamics can be cancelled by the inverse. Inverse of a process is defined as finding the inverse mapping of the process, i.e. mapping output to input of the process. Then, in an ideal situation, the dynamics of the controller could simply be made equal to the process inverse dynamics mode as shown in the figures [1, 2, and 3]. Fig. 1: Forward Dynamics Fig. 2: Inverse Dynamics Fig. 3: Inverse model control u(k) u(k)

Proceeding of the 3rd International Conference on Informatics and Technology,

  • Upload
    fakap

  • View
    58

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Proceeding of the 3rd International Conference on Informatics and Technology,

Proceeding of the 3rd International Conference on Informatics and Technology, 2009

©Informatics '09, UM 2009 RDT1 - 45

Process y(k+1)

y(k+1) Process Inverse

Software for Neural-Network Based Inverse Modeling and Control of Temperature Process

Shazzat Hossain1, Prof. Dr. Mohd Azlan Hussain1, Assoc. Prof. Dr. Rosli Omar1

1 Faculty of Engineering, University of Malaya, 50603 Kuala Lumpur, Malaysia. Email: {[email protected], [email protected], [email protected]}

ABSTRACT

The objective of this paper is to present a neural network software tool used to train the process model and control the process. Depending on the form of process model, different control strategies can be developed. If an accurate model of a process is available and if its inverse exists then process dynamics can be cancelled by the inverse. Inverse of a process is defined as finding the inverse mapping of the process, i.e. mapping output to input of the process. To achieve this objective we investigate the use of the neural-network-based inverse model control strategy to control temperature process system, a software tool developed for training the inverse of process and used the model as controller for the process. Levenberg-Marquardt algorithm is used for training the process and later the software, the control strategy, the real-time control result provided Keywords: Neural Network, Inverse Modeling, Control

1.0 Introduction

Traditionally, accurate mathematical model-based strategies have been applied to deal with control problems [1]. However, the need to meet demanding control requirements in increasingly complex dynamical control systems under significant uncertainties makes neural networks very attractive, because of its ability to learn, to approximated functions. Neural networks do appear to be able to implement many functions essential to control systems with higher degree of autonomy. Artificial neural networks have showed a great potential for modeling and controlling poorly understood and highly non-linear systems. Due to the non-linear nature of the units, neural networks are able to capture very well the non-linear structure of the most real-world processes. The applications of neural networks to control systems have become increasingly important. The massive parallel processing, nonlinear mapping, and self-learning abilities of neural networks have been motivating factors for development of intelligent control systems [2-8]. According to Narendra and Mukopadhyay [11], the success of neural networks in control problems is based on the capabilities of the neural networks to cope with three main difficulties encountered in control: complexity, nonlinearity, and uncertainty. Scott [] has divided the approaches of using neural networks in control into four groups: direct network control, inverse control, model-based control, and supervisory control. Depending on the form of process model, different control strategies can be developed. We know if an accurate model of a process is available and if its inverse exist then process dynamics can be cancelled by the inverse. Inverse of a process is defined as finding the inverse mapping of the process, i.e. mapping output to input of the process. Then, in an ideal situation, the dynamics of the controller could simply be made equal to the process inverse dynamics mode as shown in the figures [1, 2, and 3].

Fig. 1: Forward Dynamics Fig. 2: Inverse Dynamics

Fig. 3: Inverse model control

u(k)

u(k)

Page 2: Proceeding of the 3rd International Conference on Informatics and Technology,

Proceeding of the 3rd International Conference on Informatics and Technology, 2009

©Informatics '09, UM 2009 RDT1 - 46

So, it is useful to know the inverse dynamics of a process in order to control it. In other words, model based control design has the potential to provide perfect control. But obtaining a perfect model is not possible always while the model also contain some degree of errors. Moreover all models may not be invertible, so perfect control is very difficult to realize. However, the universal approximation capabilities of the multilayer neural network have made it popular choice for complex process dynamics and for implementing general-purpose nonlinear controllers [9]. Neural networks have been employed to identify inverse dynamics models of unknown process through learning [2-8]. In the inverse control, a neural network is trained to learn the inverse dynamics of the process, in order to predict the process inputs which produce the desired outputs. When neural networks originally were proposed for controlling unknown non-linear systems, one of the first methods being reported was on training a net-work to act as the inverse of the system and use this as a controller. Explained in brief, the basic principle is as follows: Assuming that the system to be controlled can be described by y(t+1) = g[ y(t),……, y(t-n+1), u(t),….. u(t-m)] the desired network is then the one that isolates the most recent control input, u(t), u1(t) = g-1[y(t+1), y(t),…., y(t-n+1), u(t),….u(t-m)] Assuming such a network has somehow been obtained, it can be used for controlling the system by substituting the output at time t+1 by the desired output, the reference, r(t+1). If the network represents the exact inverse, the control input produced by it will thus drive the system output at time t+1 to r(t+1) Temperature control system, for example, is very complex system, because of the nonlinearities and uncertainties of a system. Conventional control approaches are not convenient to solve the complexities [10]. Due to this we developed a software tool for training purpose and used the trained inversed model of the process as controller to real-time controlling the process.

2.0 Inverse Model training using the software tool Using the software tool it’s easy to train the neural network. For getting the expected inverse of the process we need to obtain real-time open-loop excitation data. After data acquisition we trained the open-loop data for getting the accurate inverse of the process. The software tool is flexible and user friendly enough to train any structure of neural network, i.e reconfigurable. To get better training we used several sets of training data and validation data sets. The generalized inverse neural network structure can be shown as follows:

Fig. 4: Inverse Model Structure According to the figure inverse neural network can have any number of inputs, input can be previous outputs of delay 1 to m, previous control action to the process of delay from 1 to n and of course the set point or expected output. The neural network is trained to learn the inverse dynamics of the process system by using general training method. Open loop system was used to obtain the system response curve for the plant response to a random input

Inverse Neural Network

Set point Process

Out put u

d-n

d-1

d-1

d-m

Page 3: Proceeding of the 3rd International Conference on Informatics and Technology,

Proceeding of the 3rd International Conference on Informatics and Technology, 2009

©Informatics '09, UM 2009 RDT1 - 47

signal to the process system given, ranging from the minimum to the maximum of the operating interest. Among the data sets, we choose few sets of data for training and few for validation. We used to train with different structure, i.e. different numbers of delay inputs to the neural network. A three layer neural network (input layer, hidden layer, output layer) with various numbers of hidden nodes is used to train the network. Here in the Table 1, shows the training result with different input delays.

Table 1: Training result comparison

Previous outputs

Previous inputs

Hidden Neurons

MSE AE Epochs

1 1 6 0.014699275548045398 0.026198605737170772 7013 2 1 8 0.014359215173637854 0.029034384383462883 7033 3 1 10 0.014729097053905113 0.025580109913623316 7068 3 2 10 0.016359215173637854 0.039034384383462883 7130 4 1 12 0.015480267502261978 0.032047678106483333 7207 3 2 12 0.00255584126986296 0.00969590406966572 5000

Here number of previous inputs means, number of delay considered. The number of hidden neurons taken is double of total number of inputs in each case. From the above training results in Table 1, it shows that, three previous outputs of the process and two previous inputs to the process taken for training gives best result. It’s heuristic to choose number of inputs and number of delays, hidden neurons, transfer functions etc. in the following figures training data and training, testing result presented.

Fig. 5: One of the training data sets

A set of data was created and indicated the behavior of the plant response to a characteristic input signal. It was designed to fall within the operating range of the control valve and sensors. One of the data sets is shown in Fig. 5, used for training the inverse model. Here the Valve opening is the process input and Temperature is the process output. Once the training portion is completed, it needs to be verified with the training results. A selection of similar data was created for testing the trained network. One of the testing data set with result shown in the following Fig. 6.

Page 4: Proceeding of the 3rd International Conference on Informatics and Technology,

Proceeding of the 3rd International Conference on Informatics and Technology, 2009

©Informatics '09, UM 2009 RDT1 - 48

Fig. 6: Testing Neural Network with expected input From the testing result we can conclude that, it’s quite acceptable that the trained inverse neural network model for the process will be able to control the process nicely. Once the appropriate network obtained by the software tool, the model will work as direct controller. So we put it in our software system to be used during real-time process control. 3.0 Neural Network Control Results and discussion The neural network controller is created directly based on the real-time open loop data obtained from the process. The accuracy of the process model is critical in ensuring that the controller is accurate as well. As we see from the Fig. 6, the process inverse model is quite good to predict appropriate control input to the process. Now in the following figures we will present the real-time controlling result of the process.

Fig. 7: Real time temperature control result with set point tracking

Page 5: Proceeding of the 3rd International Conference on Informatics and Technology,

Proceeding of the 3rd International Conference on Informatics and Technology, 2009

©Informatics '09, UM 2009 RDT1 - 49

Fig. 8: Real time temperature control result with disturbance

From the above result it shows the neural networks power. As we see from the results both in Fig. 7 and Fig. 8, it shows that inverse model controller gives some overshoot at setpoint tracking, but after a while it goes to the set point. But in case of the traditional control strategy the process output have overshoot and oscillation around the set point, which is not good for process systems. Neural network controller also demonstrates its ability to compensate disturbance to the system. As we see in Fig. 8, we deliberately introduced some disturbance of both positive and negative to the system at time 1100, and at time 1350. In both cases the neural network copes with the disturbance nicely. 4.0 Conclusion This software tool is important in this sense that, it allows the process operator easy to train and direct controlling the system without having extensive theoretical knowledge of neural network. Numerous neural network training software is available, but those needs expert users to use, and also not easy to plug directly to the process system as controller. REFERENCES [1] Mohamed Azlan Hussain, Paisan Kittisupakorn, Wachira Daosud, “Implementation of Neural-Network-Based Inverse-Model Control Strategies on an Exothermic Reactor”, Science Asia 27 (2001): 41-50 [2] Psaltis D, Sideris A, Yamamura A. A multilayered neural network controller. IEEE Control Systems Magazine 1989; April: 17–21. [3] Saerens M, Soquet A. Neural controller based on back-propagation algorithm. Proc IEE: Part F 1991; 138(1):55–62. [4] Hoskins D, Hwang JN, Vagners J. Iterative inversion of neural networks and its application to adaptive control. IEEE Trans on Neural Net 1992; 3(2):292–301. [5] Brown M, Lightbody G, Irwin G. Nonlinear internal model control using local model networks. IEE Proc Control Theory and Appl 1997; 144(6):505–524. [6] Hunt KJ, Sbarbaro D, Zbikowski R, Gawthrop PJ. Neural networks for control systems—A survey. Automatica 1992; 28(6):1083–1112.

Page 6: Proceeding of the 3rd International Conference on Informatics and Technology,

Proceeding of the 3rd International Conference on Informatics and Technology, 2009

©Informatics '09, UM 2009 RDT1 - 50

[7] Diron J, Casassud M, Le Lann M, Casamatta G. Design of a neural controller by inverse modelling. Computers and Chem Engng 1995; 19:S797–802. [8] Deshpande N, Gupta M. Inverse kinematic neuro-control of robotic systems. Engng Appl AI 1998; 11(1):55–66. [9] Lee J-W, Oh H-H. Inversion control of nonlinear systems with neural network modelling. IEE Proc Control Theory and Appl 1997; 144(5):481–487. [10] T. Yabuta and T. Yamada, "Learning control using neural networks," in Proc. 1991 IEEE Int. Con5 Robotics and Automation, Sacramento, CA, Apr. 1991. [11] Narendra, K.S. and Mukopadhyay, K., “Identification and Control of Dynamical Systems Using Neural Networks”, Neural Networks, IEEE Transactions on,Vol.1, No.1,Mar,1990. BIOGRAPHY Shazzat Hossain, currently perusing Master of Engineering Science under the Faculty of Engineering, University Malaya. Research interest includes, Artificial Intelligence, Control, Autonomous Systems, and Robotics. Prof. Dr. Mohd Azlan Hussain, Assoc. Prof. Dr. Rosli Omar both are faculty member of Engineering faculty, University Malaya. Their research interest includes, process control, Artificial intelligence.