Project by Monika Řežuchová: Identification and control of Flexy

In this semestral project, we identified and controlled a device named Flexy, which represents a simple dynamical single-input single-output (SISO) system. The control input is a fan speed and the controlled output is a flex bend sensor. (An increase in a fan speed correlates with a greater degree of flex bend of the sensor). We chose model predictive control (MPC) for this project due to its numerous advantages.

Flexy (controlled device)

MPC is particularly beneficial because it solves an optimization problem while predicting future states of the system. In MPC design, one can specify how many steps ahead to predict. Another advantage is the receding horizon control, which continuously updates the prediction as new data becomes available. Additionally, MPC allows setting maximum and minimum values for both input and state variables.

To control Flexy, we first needed to identify its model. This was achieved by plotting the system's output in response to various inputs. We converted these measurements into step responses, which were then identified in the form of transfer functions. From these transfer functions, we derived a nominal transfer function for the system.

Once the nominal transfer function was established, we could proceed with the control design. For implementing MPC with reference tracking, we converted the transfer function into a discrete-time state-space model and selected an appropriate sampling period.

Next, we formulated the optimization problem, designed the control scheme, and performed the crucial step of tuning the controller. Tuning involves selecting appropriate values for the penalty matrices defined in the optimization problem. The matrix Q penalizes control error while matrix R penalizes changes in the input.

The tuning process was essential to ensure the control performance was as desired. By carefully adjusting these parameters, we achieved effective control of the Flexy system.

Control results

In summary, the steps for identifying and controlling the Flexy system using MPC included system identification, obtaining the transfer function, conversion to a discrete-time state-space model, optimization problem formulation, control scheme design, and tuning of the penalty matrices.