Stirrer Vessel - Example of a Non-Linear Affine-Input System
by A. Kugi, K. Schlacher and R. Novak, Department of Automatic Control, Johannes Kepler University, Linz, Austria,
kugi@mechatronik.uni-linz.ac.at
NOTE: This worksheet demonstrates the use of the AIsys package to solve a system of a Stirrer Vessel.
Introduction
The AIsys package contains several algorithms for the analysis and synthesis of nonlinear Affine-Input control systems, or AI-systems for short. This class of systems describes a large number of physical systems in many engineering applications. However, only the increasing availability of low cost digital signal processors in combination with the increasing power of computer algebra programs like Maple enable the practical use of these nonlinear control strategies.
The AIsys package contains four examples which prove that the proposed algorithms are also feasible for practical problems. This mechanical example is the ball and wheel experiment. Other examples in the Maple Application Center include benchmark tests for nonlinear control systems, namely the chemical stirrer vessel, the squirrel cage induction motor and a hydraulic system
.
Loading the AIsys package
The AIsys package has been archived into a Maple Library. To install it download the file AIsys2.zip and extract the contents into a directory.
Note: Do not extract these files into your Maple "lib" directory since you could overwrite your main Maple library.
> restart;
> libname := "C:/mylib/aisys", libname:
> with(AIsys);
To find out more read this worksheet or the help file:
> ?AIsys
Example 2: Stirrer Vessel
The stirrer vessel is a benchmark example for nonlinear control and its details are presented in: [Klatt'95] K.U. Klatt, S. Engell, A. Kremling and F. Allgoewer: Testbeispiel: Ruehrkesselreaktor mit Parallel- und Folgereaktion, In: Entwurf nichtlinearer Regelungen, Engell S. (ed.), Oldenbourg Verlag, Muenchen, pp. 425-432, 1995. The mathematical model has the following form: The plant input of the stirrer vessel is the input flow of the chemical product A with the concentration c_A0 and the temperature T_0 and the plant input is the power of the heat exchanger. The state variables are the concentrations c_A and c_B of the two chemical products A and B, respectively, the temperature in the stirrer vessel T and the temperature of the coolant T_K. Here, the functions k_1(T) and k_3(T) are nonlinear functions of the temperature T and they describe the reaction rates, Delta_H_R_AB, Delta_H_R_BC and Delta_H_R_AD denote the reaction enthalpy and rho, m_K, C_PK, C_P, V_R, A_R, k_W are system parameters. For further details see the literature reference above.
> diff(x(t),t)=f(x)+g[1](x)*u[1]+g[2](x)*u[2];
> f:=[-k_1(T)*c_A-k_3(T)*c_A^2,k_1(T)*(c_A-c_B), -(k_1(T)*(c_A*Delta_H_R_AB+c_B*Delta_H_R_BC)+k_3(T)*c_A^2*Delta_H_R_AD)/(rho*C_P)+k_W*A_R*(T_K-T)/(rho*C_P*V_R),k_W*A_R*(T-T_K)/(m_K*C_PK)]; f:=subs({k_1(T) = A11*exp(A12/(A13+T)),k_3(T) = A31*exp(A32/(A33+T))},f); g:=[[c_A0-c_A,-c_B,T_0-T,0],[0,0,0,1/(m_K*C_PK)]]; xx:=[c_A,c_B,T,T_K];
Setup mathematical model for AIsys package
> f:=M_AIsys(f); g:=M_AIsys(g);
Check, if system is reachable
> RDistr(f,g,xx):
`Dimension of reachability distribution:`, 4
Dimension of reachability distribution = 4, hence the system is reachable
Check, if system is observable if the concentration c_A and the temperature T is measurable
> H:=[c_A,T];
> ODistr(f,g,H,xx):
`Dimension of observability codistribution:`, 4
Dimension of observability codistribution = 4, hence the system is observable
Check, if the system is exact input-state linearizable
> MLinPart(f,g,xx):
`Exact Linearization via feedback possible.`
Exact input-state linearization is possible
Relative degree of the output H = [c_A, T]
> MRelDeg(f,g,H,xx):
`Decoupling matrix is SINGULAR!`
Problem, because with these outputs the decoupling matrix is singular
Following [Schlacher'95] K. Schlacher, A. Kugi and K.U. Klatt: Reglerentwurf mittels exakter Linearisierung fuer ein verfahrenstechnisches Beispiel, In: Entwurf nichtlinearer Regelungen, Engell S. (ed.), Oldenbourg Verlag, Muenchen, pp. 78-89, 1995, we use the fictitious plant outputs which lead to a relative degree r = [2,2]. Hence, with these outputs the system is exact input-state linearizable.
> H1:=[c_B/(c_A0-c_A),c_B/(T_0-T)];
> MRelDeg(f,g,H1,xx):
`Decoupling matrix seems to be regular.`
Computing input-state-transformation to obtain a decoupled linear system (Warning: expressions are rather long!!)
> result:=MUTrans(f,g,H1,xx,vv):
`Checking the rank of the decoupling matrix`
`Computing inverse matrix`
`Computing Transformation`
>
Disclaimer: While every effort has been made to validate the solutions in this worksheet, Waterloo Maple Inc. and the contributors are not responsible for any errors contained and are not liable for any damages resulting from the use of this material.