**Abstract**

In control theory, the inverted pendulum is a class of dynamic systems widely used as a benchmarking for evaluating several control strategies. Such a system is characterized by an underactuated behavior. It is also nonlinear and presents openloop unstable and integrating modes. These dynamic features make the control more difficult, mainly when the controller synthesis seeks to include constraints and the guarantee of stability of the closed-loop system. This chapter presents a stabilizing model predictive control (MPC) strategy for inverted pendulum-like behaved systems. It has an offset-free control law based on an only optimization problem (one-layer control formulation), and the Lyapunov stability of the closedloop system is achieved by adopting an infinite prediction horizon. The controller feasibility is also assured by imposing a suitable set of slacked terminal constraints associated with the unstable and integrating states of the system. The effectiveness of the implementable and stabilizing MPC controller is experimentally demonstrated in a commercial-didactic rotary inverted pendulum prototype, considering both cases of stabilization of the pendulum in the upright position and the output tracking of the rotary arm angle.

**Keywords:** rotary inverted pendulum, model predictive control, nonlinear system, Lyapunov stability, feasible-optimization problem

## **1. Motivation**

Dynamic inverted pendulum-featured apparatuses are widespread in systems and control theory. These represent a class of nonlinear and underactuated electromechanical systems, which, in turn, are composed of open-loop unstable and integrating modes. The scale-up of inverted pendulum-based conceptual sketches in practical mechanisms and real applications has been in progress, of which one can cite stabilization of rocket launch, robot balance, and segway-like means of transportation, among others [1, 2].

In control theory, inverted pendulum-type systems have enabled extensive studies concerning controller architectures ranging from proportional-integrativederivative (PID)-like classical strategies to more advanced technique ones, such as optimal and adaptive strategies. In the middle of the advanced control strategies, the so-called class of model predictive control (MPC) strategies has been preferred by systematically handling system constraints. In fact, any MPC algorithm makes explicit use of a system model to predict its outputs and to obtain an optimal control law that minimizes the prediction error and control efforts [3–5]. Since it requires an online solution to its associated optimization problem, it first became popular in applications of slow dynamic systems, such as those in petroleum refineries and petrochemical industries [6]. However, with advances in hardware development and optimization techniques, MPC applications have been extended to fast dynamic systems, including inverted pendulum-like mechatronic systems [7–9].

On the other hand, when one seeks to control open-loop unstable systems such as inverted pendulum-like behaved ones, the guarantee of stability associated with control laws plays a crucial role concerning practical implementation purposes. In particular, the synthesis of stabilizing MPC laws deals essentially with terminal state constraints. One of the most heavily studied stability approach is one based on a dual-mode framework, which is composed of two distinct control modes: in the first mode, a conventional MPC law forces the system states to converge to a certain invariant set at the end of the finite prediction horizon, while in the second control mode, a local state-feedback controller takes over and drives the state to the desired operating point within this set [10]. This approach, however, requires the computation of the invariant set parameters, which is obtained from an offline numerical procedure. Although this set can be obtained offline with standard algorithms, undesired convergence and numerical issues may appear as the system dimension increases. Furthermore, the control horizon should be large enough such that the system states at the end of this horizon lie in the invariant set; otherwise the resulting optimization problem becomes infeasible, thus compromising both feasibility and control performance.

Another way to guarantee the closed-loop system stability of MPC controllers is to adopt an infinite prediction horizon, the so-called infinite-horizon model predictive control (IHMPC). Since the infinite-horizon problems cannot be directly handled by an optimization algorithm, the realization of IHMPC controllers is obtained from the combination between a terminal cost term and terminal equality constraints [11]. The terminal cost, associated with open-loop stable modes of the system, is calculated through the solution of the Lyapunov equation, whereas the terminal constraints are necessary to limit the objective function when the system is composed of integrating and unstable modes. However, stability proof is only achieved if the constrained optimization problem is feasible. The feasibility is also a critical issue of this approach, particularly because the domain of attraction of the controller becomes quite reduced by virtue of the associated hard constraints. Although there is already a rich theory in this field, the applications are heavily limited to theoretical works [12]. Among the methods developed to circumvent this issue so far, the approach based on slacked terminal constraints seems to be more adequate for practical implementation purposes, with recent applications reported in the literature, one implementation in a crude oil distillation [13] and the other in an inverted pendulum mechatronic-like fast dynamic system, namely, customized engine control unit [14].

This class of controllers formulates optimization problems that are always feasible through the suitable inclusion of slack variables in the control laws, without compromising their convergence and stabilizing properties. Also, these IHMPC controllers make use of the customized state-space models, obtained from an analytical expression of the step response of the system. Because of this, their formulations have been gradually developed over time. Odloak [15] focused on systems

#### *An Implementable and Stabilizing Model Predictive Control Strategy for Inverted… DOI: http://dx.doi.org/10.5772/intechopen.91629*

with open-loop stable poles, his work being extended to contemplate simple integrating poles as well in [6], commonly found in systems of the process industry. Then, Santoro and Odloak [16] encompassed time delays to the formulation proposed in [6]. For open-loop stable and unstable time-delay processes, Martins and Odloak [12] synthesized their IHMPC controller. More recently, the master's dissertation [17] included integrating poles in the last work formulation [12], such that its associated IHMPC controller can be directly applied to rotary inverted pendulum-behaved systems, the case understudy of this chapter. The implementation in a real system of the feasible-optimization problem-based stabilizing MPC controller proposed in [17] has not yet been documented in the literature. This gap will be filled in the present work.

#### **2. System description**

The objective of the MPC controller to be explored in this work is to stabilize the pendulum rod in the upright position while it leads the rotary arm angle to the desired positions. To this end, the rotary inverted pendulum used here will be a commercial-didactic prototype manufactured by Quanser. This prototype is installed in the Control Laboratory of the Center for Technological Training in Industrial Automation (CTAI) at the Federal University of Bahia (UFBA). **Figure 1** illustrates the features of such a system [18].

The rotary inverted pendulum prototype consists of a servomotor system, whose voltage *Vm* applied to it is responsible for generating torque in the rotary arm of angle (*θ*). The long pendulum rod is connected to the end of the rotary arm, and its angle, *α*, is zero when it is upright in the vertical position (cf. **Figure 1**).

The governing mathematical model of this system can be obtained by the Euler-Lagrange formalism, resulting in the following well-known equations [18]:

$$\begin{aligned} \ddot{\theta} &= \frac{-bc\sin(a)(\dot{a})^2 + bd\sin(a)\cos\left(a\right) - ce\left(\dot{\theta}\right) + cfV\_m}{ac - b^2\cos^2(a)},\\ \ddot{a} &= \frac{ad\sin(a) - b^2\sin\left(a\right)\cos\left(a\right)\left(\dot{a}^2\right) - bec\cos\left(a\right)\left(\dot{\theta}\right) + bf\cos\left(a\right)V\_m}{ac - b^2\cos^2(a)},\end{aligned} \tag{1}$$

**Figure 1.** *Rotary inverted pendulum prototype manufactured by Quanser (left) and the schematic diagram (right).*

#### *Automation and Control*

where €*θ*, \_ *θ*, *α*€, and *α*\_ represent angular accelerations and velocities associated with rotary arm angle and inverted pendulum angle, respectively. In addition, the parameters ð Þ *a*, *b*,*c*, *d*,*e*, *f* are constants related to the physical dimensions of the various components that make up the inverted pendulum prototype. Information about the modeling and physical parameters of the system can be referred to [18].

Since one of the control objectives aims to the stabilization of the pendulum in the upright position, it is quite adequate to assume that *α* will suffer small variations, which implies that sin ð Þ *<sup>α</sup>* <sup>≈</sup>*α*, cosð Þ *<sup>α</sup>* <sup>≈</sup>0, and *<sup>α</sup>*\_ <sup>2</sup> ≈0. Then, after some algebraic manipulations in Eq. (1), applying the Laplace transform as well, one turns out to be the following transfer function matrix (*G s*ð Þ):

$$\begin{bmatrix} \theta(\varsigma) \\ a(\varsigma) \end{bmatrix} = \underbrace{\begin{bmatrix} f\varsigma^2 - fd \\ s\left( (ac - b^2)\varsigma^3 + ec\varsigma^2 - ad\varsigma - ed\right) \\\\ \hline b\mathfrak{f}\mathfrak{s} \\ \hline \overline{(ac - b^2)\varsigma^3 + ec\varsigma^2 - ad\varsigma - ed}}^{G\text{-}(c)} \end{bmatrix}}\_{G(\varsigma)} V\_m(\varsigma). \tag{2}$$

This model representation of the system in terms of transfer functions is useful to obtain the state-space formulation to be used in the stabilizing MPC control law, as will be shown in the next section.

### **3. Stabilizing MPC formulation**

The stabilizing MPC control law used in this work seeks to solve an infinitehorizon optimization problem, such that its objective function is composed of the following terms:

$$\begin{split} J\_k &= \sum\_{j=1}^{\infty} \left\| \mathfrak{y}(k+j|k) - \mathfrak{y}\_{\text{sp}} - \mathfrak{d}\_{\text{y},k} - \Psi\_{\text{un}} \mathbf{F}\_{\text{un}}^{(\
j-m)} \delta\_{\text{un},k} - (j-m) \Delta t \delta\_{i,k} \right\|\_{Q\_{\text{p}}}^2 \\ &+ \sum\_{j=0}^{m-1} \left\| \left. \Delta \mathfrak{u}(k+j|k) \left\| \mathbf{I}\_{\text{R}}^2 + \left\| \left. \delta\_{j,k} \right\| \right\|\_{\mathbf{S}\_p}^2 + \left\| \left. \delta\_{\text{un},k} \right\| \right\|\_{\mathbf{S}\_{\text{uv}}}^2 + \left\| \left. \delta\_{i,k} \right\| \right\|\_{\mathbf{S}\_i}^2, \end{split} \tag{3}$$

where *<sup>m</sup>* is the control horizon, <sup>Δ</sup>*u*ð Þ *<sup>k</sup>* <sup>þ</sup> *<sup>j</sup>*j*<sup>k</sup>* <sup>∈</sup> *nu* is the vector of input moves at time step *<sup>k</sup>* <sup>þ</sup> *<sup>j</sup>*, **<sup>Q</sup>***<sup>y</sup>* <sup>∈</sup> *ny*�*ny* is a positive-definite weighting matrix of the controlled outputs, **R** ∈ *nu*�*nu* is a positive-definite weighting matrix of the input moves, *<sup>y</sup>sp* <sup>∈</sup> *ny* is the vector of references of the controlled variables, and *<sup>y</sup>*ð Þ *<sup>k</sup>* <sup>þ</sup> *<sup>j</sup>*j*<sup>k</sup>* <sup>∈</sup> *ny* is the vector of the predicted outputs at time step *k* þ *j* computed at time step *k*, considering a state-space model obtained from an analytical expression of the step response of the system described as in Eq. (2), namely:

$$
\begin{bmatrix} \mathbf{x}^{\varepsilon}(k+1) \\\\ \mathbf{x}^{\varepsilon}(k+1) \\\\ \mathbf{x}^{\mathrm{un}}(k+1) \\ \end{bmatrix} = \underbrace{\begin{bmatrix} \mathbf{I}\_{\mathrm{ny}} & \mathbf{O}\_{\mathrm{ny}\times\mathrm{nd}} & \mathbf{O}\_{\mathrm{ny}\times\mathrm{man}} & \Delta\mathbf{f}\_{\mathrm{ny}} \\ \mathbf{0}\_{\mathrm{nd}\times\mathrm{ny}} & \mathbf{F}\_{\mathrm{st}} & \mathbf{O}\_{\mathrm{nd}\times\mathrm{man}} & \mathbf{O}\_{\mathrm{nd}\times\mathrm{ny}} \\ \mathbf{0}\_{\mathrm{mu}\times\mathrm{ny}} & \mathbf{0}\_{\mathrm{mu}\times\mathrm{nd}} & \mathbf{F}\_{\mathrm{nn}} & \mathbf{O}\_{\mathrm{mu}\times\mathrm{ny}} \\ \mathbf{0}\_{\mathrm{ny}} & \mathbf{0}\_{\mathrm{ny}\times\mathrm{nd}} & \mathbf{0}\_{\mathrm{my}\times\mathrm{man}} & \mathbf{I}\_{\mathrm{ny}} \end{bmatrix} \begin{bmatrix} \mathbf{x}^{\prime}(k) \\\\ \mathbf{x}^{\mathrm{st}}(k) \\\\ \mathbf{x}^{\mathrm{un}}(k) \\\\ \mathbf{x}^{\prime}(k) \end{bmatrix} + \underbrace{\begin{bmatrix} \mathbf{B}\_{\mathrm{t}} \\\\ \mathbf{B}\_{\mathrm{tt}} \\\\ \mathbf{B}\_{\mathrm{uu}} \\\\ \mathbf{B}\_{\mathrm{t}} \end{bmatrix}}\_{\mathbf{B}} \Delta\mathbf{u}(k), \tag{4}
$$

*An Implementable and Stabilizing Model Predictive Control Strategy for Inverted… DOI: http://dx.doi.org/10.5772/intechopen.91629*

$$\mathbf{y}(k) = \underbrace{\begin{bmatrix} \mathbf{I}\_{\text{wy}} & \Psi\_{\text{st}} & \Psi\_{\text{un}} & \mathbf{0}\_{\text{wy}\times\text{nu}} \end{bmatrix}}\_{\mathbf{C}} \begin{bmatrix} \mathbf{x}^{\text{s}}(k) \\\\ \mathbf{x}^{\text{st}}(k) \\\\ \mathbf{x}^{\text{nn}}(k) \\\\ \mathbf{x}^{\text{i}}(k) \end{bmatrix}. \tag{5}$$

In the state-space model defined in the pair of Eqs. (4) and (5), *x<sup>s</sup>* ð Þ*<sup>k</sup>* <sup>∈</sup> *ny* are the artificial integrating states introduced by the incremental form of inputs, *<sup>x</sup>st*ð Þ*<sup>k</sup>* <sup>∈</sup> *nst* are the stable states of the system, *<sup>x</sup>un*ð Þ*<sup>k</sup>* <sup>∈</sup> *nun* are the unstable states of the system, and *x<sup>i</sup>* ð Þ*<sup>k</sup>* <sup>∈</sup> *ny* are the true integrating states of the system. **<sup>I</sup>***<sup>n</sup>* and **<sup>0</sup>***<sup>n</sup>* are identity and null matrices of *n* � *n* dimension, respectively. The remaining matrices (**F***st*, **F***un*,**B***s*, **B***st*, **B***un*, **B***i*, Ψ**st e** Ψ**un**) are obtained from step-response coefficients of the transfer function matrix of the system, and the details can be referred to [19, 20].

In the objective function, there are also *δ<sup>y</sup>*,*<sup>k</sup>*, *δun*,*<sup>k</sup>*, and *δ<sup>i</sup>*,*<sup>k</sup>* that are slack variables introduced into the control law so as to provide additional degrees of freedom to the resulting optimization problem, thus assuring the feasibility of the controller. These slack variables are weighted by positive defined matrices **Sy** ∈ *ny*�*ny*, **S***un* ∈ *nun*�*nun*, and **S***<sup>i</sup>* ∈ *ni*�*ni*, respectively. In fact, the set of slack variables adopted in the problem formulation is responsible for softening, when necessary, terminal constraints that are imposed to limit the infinite-horizon objective function, owing to the existence of open-loop unstable and integrating modes.

It should be kept in mind that the objective function defined in Eq. (3) can be rewritten as follows:

$$J\_k = \sum\_{j=1}^{m} \left\| \left\| \mathbf{y}(k+j|k) - \mathbf{y}\_{sp} - \boldsymbol{\mathfrak{G}}\_{\mathcal{I},k} - \boldsymbol{\mathfrak{V}}\_{\mathcal{U}} \mathbf{F}\_{\mathcal{U}}^{-(j-m)} \boldsymbol{\mathfrak{G}}\_{\mathcal{U},k} - (j-m) \boldsymbol{\Delta t} \boldsymbol{\mathfrak{G}}\_{i,k} \right\|\_{\mathbf{Q}\_{\mathcal{I}}}^2$$

$$+ \sum\_{j=1}^{\infty} \left\| \left\| \mathbf{y}(k+m+j|k) - \mathbf{y}\_{sp} - \boldsymbol{\mathfrak{G}}\_{\mathcal{I},k} - \boldsymbol{\mathfrak{V}}\_{\mathcal{U}} (\mathbf{F}\_{\mathcal{U}})^{\dagger} \boldsymbol{\mathfrak{G}}\_{\mathcal{U},k} - j \boldsymbol{\Delta t} \boldsymbol{\mathfrak{G}}\_{i,k} \right\|\_{\mathbf{Q}\_{\mathcal{I}}}^2 \right\|\_{\mathbf{Q}\_{\mathcal{I}}}^2$$

$$+ \sum\_{j=0}^{m-1} \left\| |\Delta \boldsymbol{\mathfrak{u}}(k+j|k)| \right\|\_{\mathbf{R}}^2 + \left\| |\boldsymbol{\mathfrak{G}}\_{\mathcal{I},k}| \right\|\_{\mathbf{S}\_{\mathcal{I}}}^2 + \left\| |\boldsymbol{\mathfrak{G}}\_{\mathcal{U},k}| \right\|\_{\mathbf{S}\_{\mathcal{U}}}^2 + \left\| |\boldsymbol{\mathfrak{G}}\_{i,k}| \right\|\_{\mathbf{S}\_{\mathcal{I}}}^2.$$

Then, with the aid of the state-space model used to carry out the prediction of the system, it is possible to demonstrate that the objective function becomes:

$$\begin{split} J\_{k} &= \sum\_{j=1}^{m} \left\| \left. \mathbf{y}(k+j|k) - \mathbf{y}\_{cp} - \boldsymbol{\delta}\_{\mathbf{y},k} - \boldsymbol{\Psi}\_{\mathbf{un}} \mathbf{F}\_{\mathbf{un}} \right| \boldsymbol{\delta}\_{\mathbf{un},k} - (j-m)\Delta t \boldsymbol{\delta}\_{i,k} \right\|\_{\mathbf{Q}\_{\mathbf{y}}}^{2} \\ &+ \sum\_{j=1}^{\infty} \left\| \left. \begin{array}{l} \mathbf{x}^{\boldsymbol{\prime}}(k+m|k) + j\Delta t \mathbf{x}^{\boldsymbol{\prime}}(k+m|k) + \boldsymbol{\Psi}\_{\boldsymbol{x}t} (\mathbf{F}\_{\mathbf{u}})^{\boldsymbol{\prime}} \mathbf{x}^{\boldsymbol{\prime}}(k+m|k) + \\\\ \boldsymbol{\Psi}\_{\mathbf{un}} (\mathbf{F}\_{\mathbf{un}})^{j} \mathbf{x}^{\boldsymbol{m}}(k+m|k) - \mathbf{y}\_{cp} - \boldsymbol{\delta}\_{\mathbf{y},k} - \boldsymbol{\Psi}\_{\mathbf{un}} (\mathbf{F}\_{\mathbf{un}})^{j} \boldsymbol{\delta}\_{\mathbf{un},k} - j\Delta t \boldsymbol{\delta}\_{i,k} \end{array} \right\|\_{\mathbf{Q}\_{\mathbf{y}}} \\ &+ \sum\_{j=0}^{m-1} \left\| \left. \Delta \mathbf{u}(k+j|k) \right\|\_{\mathbf{R}}^{2} + \left\| \left. \boldsymbol{\delta}\_{\mathbf{y},k} \right\|\_{\mathbf{S}\_{y}}^{2} + \left\| \left. \boldsymbol{\delta}\_{\mathbf{un},k} \right\|\_{\mathbf{S}\_{w}}^{2} + \left\| \left. \boldsymbol{\delta}\_{i,k} \right\|\_{\mathbf{S}\_{z}}^{2} \right. \right. \end{split}$$

It is worth emphasizing that if constraints are not imposed at the end of the control horizon, the objective function value will increase unbounded. To this end, the following terminal constraints are imposed on the optimization control problem:

$$
\mathfrak{x}^s(k+m|k) - \mathfrak{y}\_{sp} - \mathfrak{d}\_{\mathfrak{y},k} = \mathbf{0},\tag{8}
$$

$$\mathbf{x}^{un}(k+m|k) - \delta\_{un,k} = \mathbf{0},\tag{9}$$

$$\mathbf{x}^i(k+m|k) - \delta\_{i,k} = \mathbf{0}.\tag{10}$$

Furthermore, the term associated with stable modes of the system comprises a convergent series, giving rise to the so-called terminal cost, namely:

$$\sum\_{j=1}^{\infty} \left\| \left| \Psi\_{\mathfrak{sl}} (\mathbf{F}\_{\mathfrak{sl}})^{\dot{j}} \mathfrak{z}^{\mathfrak{sl}} (k+m|k) \right| \right\|\_{\mathbf{Q}\_{\mathfrak{J}}}^2 = \left\| |\mathfrak{z}^{\mathfrak{sl}} (k+m|k) \right\|\_{\mathbf{Q}}^2,\tag{11}$$

where **Q** is the terminal weighting matrix obtained from the solution to the Lyapunov equation of the system. In symbols:

$$\overline{\mathbf{Q}} = \left(\mathbf{F}\_{\mathfrak{sl}}\right)^{\mathsf{T}} \left(\boldsymbol{\Psi}\_{\mathfrak{sl}}\right)^{\mathsf{T}} \mathbf{Q}\_{\mathfrak{g}} \boldsymbol{\Psi}\_{\mathfrak{sl}} \mathbf{F}\_{\mathfrak{sl}} + \left(\mathbf{F}^{\mathfrak{sl}}\right)^{\mathsf{T}} \overline{\mathbf{Q}} \left(\mathbf{F}\_{\mathfrak{sl}}\right). \tag{12}$$

Therefore, the feasible-optimization problem-based stabilizing MPC control law is summarized as follows:

**Problem 1.**

$$\begin{split} \min\_{\boldsymbol{\Delta}\mathbf{u}\_{k},\boldsymbol{\delta}\_{j,k},\boldsymbol{\delta}\_{m,k},\boldsymbol{\delta}\_{i,k}} & J\_{k} = \sum\_{j=1}^{m} \left\| \left\| \boldsymbol{\mathcal{y}}(k+j|k) - \boldsymbol{\mathcal{y}}\_{\mathbf{y}} - \boldsymbol{\delta}\_{\mathbf{y},k} - \boldsymbol{\Psi}\_{\mathbf{un}} \mathbf{F}\_{\mathbf{un}} \boldsymbol{\delta}^{\ (j-m)} \boldsymbol{\delta}\_{\mathbf{un},k} - (j-m) \boldsymbol{\Delta} \boldsymbol{\delta}\_{i,k} \right\|\_{\mathbf{Q}\_{\mathbf{y}}}^{2} \right\|\_{\mathbf{Q}\_{\mathbf{y}}} \\ &+ \left\| \left\| \mathbf{x}^{\mathbf{t}}(k+m|k) \right\|\_{\mathbf{Q}}^{2} + \sum\_{j=0}^{m-1} \left\| \left\| \boldsymbol{\Delta} \mathbf{u}(k+j|k) \right\|\_{\mathbf{R}}^{2} + \left\| \left\| \boldsymbol{\delta}\_{j,k} \right\|\_{\mathbf{S}\_{\mathbf{y}}}^{2} + \left\| \left\| \boldsymbol{\delta}\_{m,k} \right\|\_{\mathbf{S}\_{\mathbf{u}}}^{2} + \left\| \left\| \boldsymbol{\delta}\_{i,k} \right\|\_{\mathbf{S}\_{\mathbf{y}}}^{2} \right\|\_{\mathbf{S}\_{\mathbf{u}}}^{2} \right\|\_{\mathbf{S}\_{\mathbf{u}}}^{2} \right\|\_{\mathbf{S}\_{\mathbf{u}}}^{2} . \end{split}$$

subject to Eqs. (8), (9), and (10), and

$$\Delta\mathfrak{u}(k+j|k)\in\mathbb{U},\quad j=0,\ldots,m-1,\tag{13}$$

$$\mathbf{U}=\left\{\begin{array}{c}-\Delta\mathfrak{u}\_{\max}\leq\Delta\mathfrak{u}(k+j|k)\leq\Delta\mathfrak{u}\_{\max}\\\\ \Delta\mathfrak{u}(k+j|k)=\mathbf{0},j\geq m\\\\ \mathfrak{u}\_{\min}\leq\mathfrak{u}(k-\mathbf{1})+\sum\_{i=0}^{j}\Delta\mathfrak{u}(k+i|k)\leq\mathfrak{u}\_{\max}\end{array}\right\},\tag{14}$$

where <sup>Δ</sup>*u<sup>k</sup>* <sup>¼</sup> <sup>Δ</sup>*u*ð Þ *<sup>k</sup>*j*<sup>k</sup>* <sup>⊤</sup> <sup>⋯</sup> <sup>Δ</sup>*u*ð Þ *<sup>k</sup>* <sup>þ</sup> *<sup>m</sup>* � <sup>1</sup>j*<sup>k</sup>* <sup>T</sup> � �<sup>⊤</sup> is the sequence of control moves along the control horizon.

**Remark 1.** The slack variables play a remarkable role with respect to the feasibility of the control formulation, i.e., the control law of **Problem 1** will always provide a feasible solution, either the nominal case (linear model) or plant-model mismatch, an object under study of this work.

**Remark 2.** The weighting matrices **S***y*, **S***un*, and **S***<sup>i</sup>* (additional tuning parameters when compared to conventional MPC strategies) should be carefully selected. For instance, the values of **S***<sup>y</sup>* should be chosen sufficiently large, e.g., orders of magnitude larger than **Q***<sup>y</sup>* (≥ 103 **Q***y*), to guarantee that the solution of the slacked optimization problem will only use the slack vector when the terminal constraints need to be softened. While *δun*,*<sup>k</sup>* and *δ<sup>i</sup>*,*<sup>k</sup>* do not need to be minimized a priori, by issues of achieving the closed-loop stability as fast as possible, one seeks their minimization weighted by large enough values of positive-definite **S***un* and **S***in* (≥10<sup>2</sup> **Q***y*) in order to enforce them to zero in a finite number of steps.

*An Implementable and Stabilizing Model Predictive Control Strategy for Inverted… DOI: http://dx.doi.org/10.5772/intechopen.91629*

**Remark 3.** From the stability point of view, the master's dissertation [17] demonstrates the conditions necessary to prove that the objective function behaves as a Lyapunov function, thus assuring that the control actions obtained from the solution of **Problem 1** drive the system asymptotically to the reference value (desired steady state), if it is reachable; otherwise, the system will converge to an equilibrium point (reachable steady state) lying at a minimum distance from the desired steady state.

#### **4. Results and discussion**

This section is devoted to present the implementation results of the feasibleoptimization problem-based stabilizing MPC controller (**Problem 1**) in the rotary inverted pendulum prototype described in Section 2. The ultimate goal of the controller is to maintain the pendulum rod in the upright position after it has been swung up to this position by the energy-based swing-up control scheme embedded in the system. In addition, the IHMPC controller is simultaneously designed to track the desired positions to be configured for rotary arm angles. In Quanser apparatus, an unconstrained linear-quadratic regulator (LQR) controller makes up the control system, besides the swing-up control strategy. The existing LQR strategy will be replaced by the IHMPC controller, and this scheme is depicted in **Figure 2**.

The architecture used for this real-time implementation of the IHMPC controller is summarized in **Figure 3**. From this figure, it is possible to note the information exchange among software-hardware-equipment mechanisms of the prototype. The control law is solved at each sampling time on the computer i7-8550H with 1.80GHz processor and 16GB of RAM, using Matlab script and *Quarc real-time control* toolbox. The software-hardware interface is done via USB communication through the Q8-USB acquisition board. This acquisition system acts, in turn, as an interface between the digital part of the system (controller) and the analogic one that is composed of the amplifier (VoltPAQ-X1).

For the experimental results presented as follows, we consider a scenario of square wave-type tracking on the rotary arm, while the controller must maintain the pendulum rod around the upright vertical position, even in the existing unmeasured disturbance scenarios. The constraints associated with the control signal and control actions (decision variables) are those established in **Table 1**.

**Figure 2.** *Schematic representation of the application of the IHMPC controller in the rotary inverted pendulum prototype.*

#### **Figure 3.**

*The architecture used in communication among software-hardware-equipment mechanisms.*


#### **Table 1.**

*Constraints on system inputs.*

Note that there is a strict condition of �1 V on the control actions. Also, the IHMPC tuning parameters considered were sampling period Δ*t* = 2 milliseconds, **Q***<sup>y</sup>* ¼ *diag* 1, 6 � <sup>10</sup><sup>2</sup> , **<sup>R</sup>** <sup>¼</sup> <sup>9</sup>*:*<sup>8</sup> � <sup>10</sup>�<sup>2</sup> , **<sup>S</sup>***<sup>y</sup>* <sup>¼</sup> *diag* 105 , 10<sup>4</sup> , **<sup>S</sup>***un* <sup>¼</sup> *diag* <sup>10</sup><sup>2</sup> , 6 � 104 , and **<sup>S</sup>***<sup>i</sup>* <sup>¼</sup> <sup>10</sup><sup>2</sup> . The state estimator used here was the Kalman filter, whose tuning parameters associated with process noise and measurement noise were the following covariance matrices **<sup>Q</sup>***Kalman* <sup>¼</sup> **<sup>I</sup>**<sup>9</sup>�<sup>9</sup> and **<sup>R</sup>***Kalman* <sup>¼</sup> <sup>2</sup>*:*<sup>4</sup> � <sup>10</sup>�<sup>6</sup>**I**<sup>2</sup>�2, respectively. Finally, a control horizon of *m* ¼ 9 has been adopted as an appropriate value to attain the desired control performance, which was chosen from a sensitivity analysis, as will also be shown here.

The closed-loop system results are depicted in **Figures 4** and **5**. From **Figure 4**, one can see that after about 5.5 seconds, the time necessary that the swing-up control acted to lead the pendulum rod to its upright position, the IHMPC controller takes over and performs quite well both tasks associated with the rotary arm angle tracking and the stabilization of the pendulum rod within an acceptable range lying at about �2<sup>∘</sup> . It is also noteworthy that after the execution of the square-wave trajectory on the rotary arm angle, the controller had a great performance concerning impulse-like external disturbances inserted in the pendulum rod since the controlled variables are momentarily moved away from their set points, but soon they are brought back to their original positions.

Even though the stability of the IHMPC controller is only related to the nominal case (linear model), it proved to be very sufficient in a realistic plant-model mismatch scenario, including nonlinearities existing in the rotary inverted pendulum apparatus, such as dead zone, friction, backlash, hysteresis, and so on. This model uncertainty scenario was responsible for non-prohibitive oscillations, within a practical implementation purpose, on the constrained control signal (cf. **Figure 5**), which were reflected in the controlled outputs.

*An Implementable and Stabilizing Model Predictive Control Strategy for Inverted… DOI: http://dx.doi.org/10.5772/intechopen.91629*

**Figure 4.** *Controlled variables: rotary arm angle (θ) and pendulum rod angle (α).*

**Figure 5.** *Behavior of the control signal (tension applied to the servomotor).*

Furthermore, it is worth mentioning that fulfilling a tighter constraint (1V) by a conventional stabilizing MPC controller, e.g., [11, 21], could result in an unfeasibility scenario; however, since IHMPC controller used here is based on a feasible-optimization formulation, its control law always will provide a feasible solution while the system is controllable, thus becoming it implementable in practice. The IHMPC controller uses its additional degrees of freedom (slack variables), when necessary, in order to comply with the terminal constraints. **Figure 6** illustrates the use of the slack variables in the control problem. It is observed that the controller makes use of these variables immediately after a perturbation in the system occurred namely, set-point changes and unmeasured disturbance entrance, situations in which it can be hard to comply with non-slacked terminal constraints.

**Figure 6.** *Behavior of the slack variables associated with the feasible-optimization formulation of the IHMPC controller.*

However, as the system goes to an acceptable cyclic steady state around its set point, due to the noise degree intrinsic to the system, the slack variables converge to the origin very fast and systematically.

On the other hand, in order to obtain a satisfactory performance as in the results presented earlier, an effort with respect to the controller tuning was necessary. This tuning task is easier in the stabilizing MPC controllers than the conventional finite-horizon MPC ones [13], as demonstrated in what follows. In this case, it was sufficient to handle only the control horizon. In inverted pendulum-like fast dynamic systems, when one applies a more aggressive control policy, i.e., small control horizon, it can cause undesired overshoots, while adopting large control horizons, it cannot have time sufficient to act with control action properly, thus bringing unnecessary oscillations or even causing the instability of the closed-loop system.

To work around this trade-off, we proceeded with sensitivity analysis on the control horizon, keeping the same remaining tuning parameters shown in the

*An Implementable and Stabilizing Model Predictive Control Strategy for Inverted… DOI: http://dx.doi.org/10.5772/intechopen.91629*

**Figure 7.** *Sensitivity analysis on the control horizon of the closed-loop system.*

preceding experimental results. **Figure 7** summarizes the aforementioned analysis. Note that as the control horizon increases, the oscillations decrease until the control horizon *m* ¼ 9. However, a value greater than *m* ¼ 9 makes the closed-loop system go back to having undesired and larger oscillations, thus jeopardizing the use of energy associated with the control signal. Therefore, the use of the IHMPC controller enabled a simple analysis concerning only one tuning parameter, which yielded an appropriate value to meet the desired control performance in the real case.

### **5. Conclusions**

In this chapter, we have investigated the application of an implementable and stabilizing model predictive control model strategy in a commercial-didactic rotary inverted pendulum apparatus, hitherto unexplored in the literature. Although the

guarantee of stability of the controller is devoted to the nominal case (linear model), its formulation based on a feasible-optimization problem allows it to be used in any plant-model mismatch scenario in practice, such as one series of nonlinearities existing in the real system, namely, dead zone, friction, and backlash, among other unmodelled dynamics. The experimental results showed the effectiveness and robustness of the controller in the aforementioned plant-model mismatch setting by performing quite well its task in the rotary arm angle tracking and stabilization of the pendulum rod around the upright position as well as in the optimum use of energy associated with control efforts.

A simple tuning procedure was adopted by virtue of using a stabilizing MPC controller, which allowed us to handle only one tuning parameter through sensitivity analysis on the control horizon. The value found was quite adequate to attain the control objectives in terms of the trade-off existing between the performance on the controlled variables and the use of energy related to the control signal.

The future direction for this research is to further extend this controller to guarantee the stability of the nonlinear case, including the energy-based swing-up control schemes.
