Nonlinear Predictive Control of Water-Tanks

The control of liquid level in tank is a basic problem in process industry. Chemical processes present many challenging control problems due to nonlinear dynamic behavior, uncertain and time varying parameters, constraints on manipulated variable, interaction between manipulated and controlled variables, unmeasured and frequent disturbances, dead time on input and measurements. Because of the inherent nonlinearity, most of the chemical process industries are in need of conventional control techniques.

The aim of my semestral project III was to apply an advanced control strategy - nonlinear model predictive control (NL MPC) in order to control the height of level in tanks of atypical (conical, spherical, cylindrical) shapes. In the picture below you can see one of them, scilicet conical tank.

Conical Tank
MPC is realized via MPC controllers. The goal of MPC is to find an optimal control action subject to nonlinear dynamic mathematical model, linear and nonlinear constraints in form of equalities and inequalities. In order to obtain an optimal control actions we need to construct an optimization problem in form of quadratic objective function with contraints on nonlinear mathematical model, states, inputs and outputs. The possibility, how to solve this optimization problem is to use a suitable optimization solver. In my project I chose fmincon solver. Fmincon finds a constrained minimum of a function of several variables and implements four different algorithms: interior point, SQP, active set, and trust region reflective. More information about this solver you find in following URL.

In the picture below you can see the liquid level control of conical tank using NL MPC
Liquid level control

Control action

# of iterations
In the first picture we can see the liquid level control using NL MPC. One of the advantages is that we are able to control the height of the level on maximal and minimal value of state constraint. The control on minimal constraint is a bit oscilatory, but those are only numerical problems.

The second picture discribes the evolution of control action at time. In implementation of this algorithm we assumed that control action can change in each simulation step only about +/- 10% as a safety measure.

In the last picture are depicted iterations of algorithm when finding the optimal control actions. We can see how many iterations were necessary in each simulation step in order to converge to the optima.

All these scenarios were done also with spherical and conical tanks. In addition to, I have compared NL MPC control with LTI MPC + Kalman filter control which was designed in previous semester for each tank.