Abstract

This work presents a novel offline model predictive control technique for tracking of constrained systems. The quadratic programming problem, commonly found in constrained control methods, is replaced by sequential offline set projections based on priority given to the decision variables. If a preference is established in terms of which decision variables are more desirable, the optimization problem can be solved by sequentially choosing the most important variables and performing a membership test with the projection of the constraint closed set over the related dimensions. Thus, real-time optimization is replaced by offline projection operations and online one-dimensional membership tests. This concept of decision variable prioritization is then applied to a form of model predictive control: feasible target tracking. Three quadratic programming problems are replaced by the proposed method. In the first problem, attainable steady-state demands are computed based on the performance of the plant. The reachable target command is then filtered in terms of dynamic admissibility, creating feasible inputs to the plant. Finally, the control is computed considering the current state and disturbance vectors along with the feasible and attainable command. Simulations of the method executing a path-following task are presented, demonstrating its benefits with negligible online computational burden.

1. Introduction

Model predictive control has been a matter of extensive research in recent decades because it provides a straightforward way to address the control of constrained multivariate systems [1]. The computed control to be applied in the plant is such that it satisfies the system constraints; therefore, an online constrained optimal control must be computed at every time instant. Though being initially conceived for applications in the process industry, other engineering fields are taking advantage of the developed techniques, such as in space systems [2] and aeronautical guidance and control [3, 4]. The facility of MPC to deal with constraints and its common appearance with traditional linear-quadratic controllers makes this technique suitable for the design of fault-tolerant flight control systems and also to allow operations near vehicle operational bounds.

Despite the fact that successful flight tests have already been executed to perform constrained control of fast dynamical modes of an aircraft [5], the related computational load is still high for the present generation of flight control computers. However, in the last decade, new approaches have been presented to decrease the computational burden of the online control calculations. Explicit MPC [6] has become the main strategy for moving offline most of the constrained control law computations. In the other direction, new methods were recently proposed [7, 8] to improve numerical performance during real-time execution.

Nevertheless, the online computation of the control actions depends mostly on linear or quadratic programming solvers, which do not offer guarantees of finite-time execution because of their iterative procedures. This makes MPC a noncertifiable technique for civil aviation control software, where deterministic algorithms are mandatory [9]. Explicit MPC could be an alternative for this problem, but it is still restricted for control of low-order systems and for regulation purposes [10]. An attempt to perform robust variable tracking, instead of nominal regulation, can increase the complexity of the state-space formulation in a way that makes it hard or even impossible to compute offline solutions.

Therefore, the main contribution of this work is the proposal of a novel method to move offline the nondeterministic computations of MPC, leaving only set membership verifications during real-time operation. This is achieved by proposing a new form to solve quadratic convex optimization problems and applying it on the feasible target tracking model predictive control (FTT-MPC) method [11], producing a new form of offline MPC. Based on the assumption of the existence of priority among controlled outputs and manipulated variables (inputs), the traditional quadratic programming problem is replaced by offline computation and projection of polyhedral sets. This new model predictive control method is then applied to perform airspeed, flight path angle, and turn rate tracking of a small UAV model during a path-following task with constraints on angle of attack, throttle, and aerodynamic surfaces deflections as well as with considerable plant-model mismatches, demonstrating adequate flight envelope estimation and protection.

The structure of this paper is organized as follows. Section 2 establishes the constrained control problem and initial assumptions. Section 3 presents a new method to compute the projection of a point over a polytope, based on prioritization of the decision vector components. Section 4 is the main part of this work, where the feasible target tracking MPC is converted to an offline implementation. Finally, Section 5 applies the technique to the longitudinal and lateral control of an unmanned aircraft, showing a practical and potential application of the proposed MPC method.

2. Problem Formulation

Let the discrete-time state-space model be defined by where is the state vector, is the control vector, is the vector of observed variables, is the constant vector of disturbances, and , , is the vector of controlled variables. The disturbance vector is included to model mismatches between the plant and the nominal model as well as constant external disturbances acting on the plant. Note that the number of disturbance variables is equal to the number of controlled outputs .

The objective of the control system is to asymptotically eliminate the tracking error given a piecewise constant reference command , which is in the presence of a disturbance and given constraints on the state and control vectors , where and are closed, bounded, and convex sets expressed by linear inequalities. In case is not achievable, a reachable target will be computed with some priority among the controlled variables. Additionally, the dynamical protection characteristic of the controller maintains the outputs inside their admissible ranges by computing feasible target values of .

Before proceeding with the assumptions, some useful definitions are given. A polyhedron is the intersection of a finite number of closed halfspaces: where and are, respectively, a matrix and a vector which represent linearly the set of halfspaces. A polytope is a bounded polyhedron. Given a polyhedron , where and are subspaces, that is, sets with lower dimensions that , the projection of over , is defined as and the slice of at a vector is defined as

Assumption 1. The pair is assumed to be detectable with full row rank. The following condition is equivalent:

Assumption 2. It is assumed that the state and disturbance vectors are estimated by a nominally asymptotically stable observer. Because , the observer proposed by Maeder et al. [12] is chosen for this work. Other choices of observers [13] would increase the dimension of the disturbance vector and add additional numerical complexity to the controller synthesis.

Assumption 3. The disturbance is bounded and lies in a compact convex polyhedron containing the origin in its interior.

3. Weighted Projection of a Point on a Polytope

In the next section, it will be presented a new form of MPC that basically shapes input references and computes the constrained control, by projecting points on convex polyhedral sets. The projected point is commonly computed by solving a quadratic programming (QP) problem [14] and several solvers are available to calculate the solution; however, they comprise iterative procedures with no guarantee of finite time execution. This section presents a novel and simple way to project a point over a polytope without need of online optimization.

The Euclidean orthogonal projection of on a polytope is given by the solution of the QP [14]: We also refer to oblique 2-norm projection of the minimizer of the following weighted cost function: where is a positive definite diagonal matrix. Clearly, both formulations are equivalent by doing the variable transformation , . Here the weights are chosen to influence the solution, giving relative different emphasis to some components in the minimization of the distance between the optimal solution and .

It is proposed to solve (8) with a special choice of each diagonal element of the matrix: the largest individual weight penalizes the most important component in terms of distance minimization, followed by the second component, and so on. Giving enough scale separation between the diagonal elements, it is possible to solve (8) through sequential projections and slices of polytopes.

The proposed prioritized computation of is given as follows. Let us consider the feasible set . Its projection on the most important component creates the one-dimensional set . Thus, the prioritized value is obtained by verifying whether or not. If it is, . If not, will be equal to the nearest extremum of . Next, the set is projected over the two most important components, generating . Because has been already selected, the choice of is done over the slice of at , in which it is also a one-dimensional set. This sequence of projections and slices continues until the last component .

Figure 1 exemplifies and compares, using a two-dimensional case, two solutions of (8), one considering , and the other with weighting prioritization, that is, . The established setpoint is not achievable because it lies outside the admissible set. In the unweighted projection computation, the pair is the closest point to and is perpendicular to the related active constraint. However, considering as the preferred variable to attain, the demand prioritization technique computes a solution where is the result of the prioritized choice . Its selection is simply performed by a membership test with the projection of the two-dimensional polytope on the first dimension, as shown in the lower part of Figure 1.

The extension of the proposed method to compute decision variables in higher-dimensional spaces and its application to the problem of constrained control must take into consideration the definition of the projection operation. As stated by (4), the projection of a high-dimensional decision space on the most important variables subspace guarantees the existence of the remaining decision elements. Doing sequential projections clearly decreases the sets of the variables with low priority, even with degeneration to a point, but they will not be empty.

The presented method of solving (8) is particularly helpful for online applications. It is worth observing that the successive projections of the set can be done completely offline. It only remains to calculate online the sequence of slices, which are computationally inexpensive.

4. Offline Feasible Model Predictive Control

While input constraints are relatively straightforward to manipulate, output constraints must be mapped onto the input space through some sort of dynamical prediction. Thus, the input applied to the system will consider the future evolution of the constrained outputs. Even basic formulations of MPC naturally compute optimal inputs that force the outputs to stay inside their limitations. However, not all reference values to be tracked are numerically feasible; that is, the imposed limitations and the system demand may not be compatible. In addition, even if feasibility is found, closed-loop stability may not be assured because the constraints are active not only at the time instant of the input computation, but also at all future instants.

Previous work presented the feasible target tracking MPC technique [11], a three-stage control method where each part comprises a quadratic programming problem. In the present work, the offline feasible model predictive control method (OFF-MPC) is proposed, replacing each optimization of the FTT-MPC by prioritized projections on polytopes that comprises the relevant system constraints.

The offline feasible MPC technique, schematically shown in Figure 2, guarantees both feasibility and closed-loop stability by first computing statically reachable commands, which respects the complete set of constraints when the system reaches the steady-state condition. The disturbance vector of (1) is required to correct the steady-state output limitations, that is, the admissible envelope, when differences between the model and the real system occur. After this first computation, dynamically feasible commands are calculated, to assure that the input and output constraints will be satisfied during the transient. In this step, both state and disturbance vectors are necessary because the dynamically feasible demand depends on the state at each time instant. Finally, the optimal constrained control is obtained in the MPC, considering a feasible and reachable demand.

4.1. Sets of Statically Admissible Commands

The separation between the determination of steady-state target values and constrained control computation creates distinct optimization problems, which are individually solvable through the demand prioritization technique. Thus, in a first step, the polyhedral set of input, state, and output constraints that act in the steady-state is created and projected offline over the highest priority variable to track, creating an interval of admissible and reachable values. In the sequence, another projection is performed over the second most important variable, and this operation repeats until the last variable, whose computation is simply performed by online slicing the complete constraint set with the choice of prioritized variables.

The equality constraints represented by the state-space and target equations can be converted into inequality constraints through introduction of arbitrarily small tolerance vectors and . Hence, (1) can be stated, at steady state, as which defines the polyhedron spanned by the augmented vector . The projection of over generates a polyhedron that encodes statically admissible commands to the real plant, provided that the disturbance is known or estimated. The scalar slightly shrinks the constraints at steady state to allow the set computations of the next subsection.

If there is no priority among references to be tracked, the statically admissible vector is the orthogonal projection of on the slice of at estimated values of . However, the prioritization and ordering of each element of give the possibility of avoiding online quadratic programming computation, being replaced by an offline sequence of polyhedra projections.

The first required offline operation is a projection of over to create the polyhedron . The procedure follows with the projection of over to compute . This is performed by all ordered elements of .

The online slice of with estimated values of gives the admissible range of . Thus, in the sequence, slices are performed with the disturbance and selected attainable reference values. This sequence of offline projections and online slices is followed until the last demand , as shown by Algorithm 1.

Off-line computation
(1) Sort the reference vector in order of importance
(2) Create the polyhedron
(3) Project over to create the polyhedron
(4) For = 1 to
  (a) Project over to create
On-line computation
(1) Slice at estimated values of
(2) Check if lies inside the admissible range of
(3) For = 2 to
  (a) Slice at selected and estimated
  (b) Check if lies inside the admissible range of

4.2. Sets of Dynamically Admissible Commands

Once the attainable target is computed, the next step of the OFF-MPC method is the computation of the dynamically admissible target , which guarantees the existence of a feasible control action to steer states and controls to the target values and . The starting point is the proposed control law predicted for steps [15]: The model predictive controller calculates the contribution over steps. A reparameterization that relates the target state vector with the target control vector and disturbance is also proposed: Therefore, assuming that is piece-wise constant, it will be convenient to extend the state-space vector as , leading to the following extended linear model: where and . In a similar way of that established in the previous section, the relation between the statically admissible demand , steady-state control , and the disturbance is found through the formulation of the following constraint: in addition to state limitations . Because the reference value is statically admissible, fully respects the control limitations and does not need to be accounted for again. For stability purposes, it is assumed that, after steps, the extended state vector at lies inside an invariant set . This extension of the state-space vector is similar to those proposed by Chisci and Zappa [16] and to recent techniques of economic MPC [17].

One possible way of interpreting the role of the MPC control is that the inputs are responsible for steering the extended state in that moves into the invariant set . The set of all states that can be steered to after steps is the domain of attraction of the complete closed-loop constrained system. This set is computed by first performing recursive substitutions of the extended dynamic system into the constraints, creating the set and subsequently projecting it over to eliminate the MPC contributions in the domain of attraction formulation.

Here the priority among the demands again eliminates the need for online optimization. Performing a projection of on the subspace spanned by removes the dependency on , creating the polyhedron . The slice of with estimated values of and gives the dynamically admissible range of . It is worth noting the similarity with the procedure adopted to obtain the static set in the previous subsection, but instead of considering only the estimated disturbance vector, the current state vector is also considered here to guarantee transient constraint satisfaction.

Once the most important demand is filtered in a dynamic sense and compared to the admissible range, a new command is created. The sequence of dynamic filtering, which is summarized in Algorithm 2, follows the same steps of the static admissibility.

Off-line computation
(1) Create invariant set of the extended
    closed-loop state-space
(2) Create the set by recursion
(3) For = 1 to
  (a) Project over to create
On-line computation
(1) Slice at estimated values of and
    to create the one-dimensional set
(2) Check if is inside to obtain
(3) For = 2 to
  (a) Slice at selected and
     known values of and to create
     the one-dimensional set
  (b) Check if is inside to obtain

Remark 4. The reparameterization presented before is suitable for both square and nonsquare systems, where and admits an inverse. If one or both conditions do not hold, the steady-state reparameterization suggested by Shead and Rossiter [18] is applicable, and the extension of the state space is performed considering the null space of , instead of .

4.3. Control Calculation

The computation of introduces one additional degree of freedom in the constrained controller. Because the dynamically filtered demand is calculated from , the state and control vectors at steady state respect the related constraints. The feedforward control input is calculated as

Assumption 5. There are no elements of the state vector integrating elements of the controlled vector. The following condition is equivalent:

Assumption 6. (1) Let be a diagonal positive definite matrix.
(2) Let be a feedback gain such that is Hurwitz.
The constrained control problem is to determine the optimal control sequence that minimizes, at each time instant , the following cost function: subject to , .

Theorem 7. Assume that Assumptions 1 through 6 hold. Assume that the piecewise constant command is statically admissible. Thus, for any initial estimated state, disturbance and command , the dynamically admissible command and control law steer the system to the statically admissible setpoint , while respecting the constraints.

Proof. First, the control law is a feasible solution for the constrained control problem because . Let us define the optimal cost function at the sample instant as with feasible control sequence . At the following sample time , define the control sequence and also . Thus, . Considering that at the optimal cost is , it follows that and therefore .
Hence, the optimal cost sequence can never increase. Moreover, if , then , which means that the extended state-space already lies already in the invariant set , from where the unconstrained linear feedback law steers the controlled vector to when .

Remark 8. The fact that is piecewise constant means that the above stability result holds, only if changes on occur after the system reaches its equilibrium around steady state. In this case, stability can be assured, but not when the reference is modified while the system dynamics is still prevailing.

The calculation of the MPC contributions can also follow the concept of decision variable prioritization, ordering the elements . From the polyhedron , one can project it offline over variables to create the set . The known values of , and are then used to online slice this set and provide an admissible range for . The procedure is repeated to generate the sets and is summarized in Algorithm 3. Note that the MPC contribution will be zero unless it is required to steer the states to the invariant set . Additionally, note that it is necessary to compute only the first elements of because the remaining inputs are not applied in the plant at time instant . Thus, the online computational burden does not depend on the control horizon size, which affects only the offline projections of on Algorithms 2 and 3.

Off-line computation
(1) Sort the control contribution vector
(2) For = 1 to
  (a) Project over to create
On-line computation
(1) Calculate and from the dynamically
    admissible vector
(2) Slice at estimated values of , and
(3) Check if lies inside the admissible values
(4) For = 2 to
  (a) Slice at computed and at
     values of , and
  (b) Check if lies inside the admissible values
(5) Compute

4.4. Optimality of the Prioritized Constrained Solution

During normal operation, inside the system limitations, the control consists of a regulation around state and control steady-state values. This regulation is governed by the feedback linear gain . Thus, optimality is easily achieved if is obtained through optimal control methods (e.g., LQR).

Given a statically admissible reference to track, the controller offers the computation of both and to respect system constraints. First, if some constraint becomes active, the dynamical filter is the first subsystem to act (Algorithm 2), computing in such a way that the MPC is capable of steering the states inside the extended invariant set after moves. The ordered choice of the elements of does not affect the size of the domain of attraction of the controller because there are MPC nonlinear contributions to maintain the system stable while tracking. This is assured by the projection operation on .

The ordering of controlled variables seems suitable for multivariable systems where there are interdependence among demands. This type of relationship can occur when operating at the limits of the system performance, what it is exactly MPC does, or following a desired optimal trajectory computed by some kind of higher level optimization layer. For example, the optimal climb schedule for an aircraft generally relates flight path angle (the angle that the airspeed vector makes with the ground) with the airspeed. Thus, rate or angle of climb is first selected, followed by the selection of airspeed. Depending on the aircraft performance, the airspeed is unique for a given altitude change demand. The example of Section 5 will explore this aspect, presenting the prioritization of demands as a mean to achieve better aircraft climb performance.

After the first filter, the contribution is calculated (Algorithm 3) considering the previous filtered values of and . The existence of nonempty sets , to , is guaranteed by the computation of . Again, the prioritization is only a method to select the contributions inside each set . Therefore, the way that each constrained decision variable is computed (orthogonal or prioritized projection) does not enlarge or reduce either the sets , to , or .

Any choice of the MPC correction inside is such that keeps the system inside the limitations. The minimization of the cost function given by (16) provides an optimal choice among all possible solutions. If the cost function prioritizes some variables among others, through selection of individual diagonal elements of , the presented technique solves the problem of oblique projection of a point on a set, finding an optimal solution for the problem stated in (16). Based on what is depicted in Figure 1, it is possible that the prioritized projection leads, in the control inputs with less priority, to larger components than those computed through orthogonal unweighted projection. Thus, the ordering of control inputs makes more use of the last elements to maintain the closed-loop system inside its limitations, since the first components of have preference to be set closer or equal to zero.

5. Simulation Example

The test aircraft used for the simulations is a six-degree-of-freedom model of the unmanned aerial vehicle Acauã, which also takes into account actuator and engine dynamics [19]. Acauã is a propeller-driven fixed-wing unmanned testbed used at the Brazilian Aeronautics and Space Institute (IAE). Linear models for control synthesis have been obtained with airspeed of 27 m/s and a pressure altitude of 620 m, at zero sideslip.

The simulation scenario consists of following a path defined by geodetic waypoints and related courses, as shown by Table 1. In this work, two-dimensional Dubins paths [20, 21] were used to connect each waypoint. Briefly, a 2D Dubins path is a path that flies over a certain waypoint on its desired course makes a right or left turn followed by a straight line and finishes with a right or left turn, flying over the next waypoint on a certain course. The selected turn radius for the circular transitions was 190 m, which corresponds to a nominal rate of turn of 8.14 deg/s at an airspeed of 27 m/s. The on-off turn rate commands created by 2D Dubins paths can practically be considered as piecewise constant references to be followed by the MPC-based autopilot, which is favorable in terms of closed-loop stability (Theorem 7).

Thus, the lateral guidance system [22] will be responsible for creating autopilot demands to steer the vehicle straight or through right or left turns with a constant radius. In the vertical channel, piecewise constant flight path angle demands were generated to explore the full flight envelope of the aircraft model. Figure 3 shows schematically the complete closed-loop system for the simulation.

5.1. Longitudinal Constrained Autopilot

Consider the unmanned aerial vehicle continuous-time linearized longitudinal model described in [19]: The state vector is composed of the true airspeed (m/s), angle of attack (rad), pitch rate (rad/s), and the pitch angle (rad), respectively. The control vector is composed of the engine throttle and the elevator angular deflection. Full state observation () is assumed, and it is intended to control both airspeed and flight path angle without offset with priority given to the second variable. Thus, The feedback gain was obtained by first defining an LQR continuous-time cost function and subsequently performing the discretization [23]. The elements of the matrix in the LQR cost function were chosen to penalize deviations of airspeed and flight path angle; thus, . The matrix was set to . The dynamical system and the weight matrices were discretized with 0.05 s, from which the matrices and are obtained, along with the feedback gain . The disturbance model was chosen to have two variables, and the related distribution matrix was set to . The observer gains were computed using the linear Kalman method.

The inputs are constrained as follows: and deg. The disturbances are assumed to respect the bounds , . It is required to protect the aircraft against aerodynamic stall while maneuvering, imposing deg, which corresponds to a total admissible interval of deg. The constraints at steady state were scaled through .

The sets , (Algorithm 1); , (Algorithm 2); and and (Algorithm 3) were computed offline through the appropriate numerical routine [24] in the MATLAB environment, setting and the control horizon .

5.2. Lateral Constrained Autopilot

The same values of the control horizon , tolerances , and the sampling time from the longitudinal controller were used in the synthesis of the constrained lateral autopilot. The state-space continuous-time linear lateral model is given by where the state vector is composed of the sideslip (rad), roll rate (rad/s), yaw rate (rad/s), and the bank angle (rad). Aileron and rudder angular deflections (rad) define the control vector. The track priority is given first to maintain zero sideslip and subsequently to follow the turn rate. Hence, After discretization of the state-space formulation, the discrete lateral gain is given by Full state feedback () is considered. Constraints on control angular displacements were defined as  deg and  deg. In addition, the related sets of Algorithms 2 and 3 were computed offline, with disturbance vector elements constrained to and .

It is important to mention that Assumptions 1 through 6 are fully respected in the two-controller synthesis. Assumptions 1 and 2 are accomplished by the choice of the estimator (Kalman) and full state observation. Bounds for the disturbance vector are established (Assumption 3). Finally, the choice of the controlled vector in both autopilots, that is, no states as pure integrators of controlled variables and the LQR feedback gains, guarantees Assumptions 5 and 6.

5.3. Simulation Analysis

Two cases were considered for the simulation. First, nominal engine power and longitudinal stability were considered in the computation of the controllers. The second case, however, simulates an underpowered Acauã (60% of maximum nominal power) with 50% of the original static stability, with the nominal controllers. Figure 4 shows the horizontal path followed by the aircraft in both cases. During the flyover of waypoints 2 and 3, an abrupt modification in the turn direction was required, but the vehicle strictly followed the computed Dubins path due to the high-gain lateral controller. The maximum lateral deviation during the two cases was 8.1 meters but with immediate guidance and control regulation to zero. The feasible commands and aircraft responses in the first case are shown in Figure 5. On two occasions, aggressive roll reversals were demanded by the Dubins path and guidance from the lateral autopilot, but fast and stable tracking of the turn rate was achieved with small variations of the sideslip angle.

In addition to the lateral tracking task, an aggressive variation of the flight path angle was simulated by an arbitrarily large command. Regardless of the airspeed command, the highest attainable climb angle (higher priority) was selected. The angle of attack has changed between maximum and minimum values but never exceeded the limitations. The full exploration of the flight envelope for climbing and descent is shown in Figure 6. Engine throttle is demanded at its maximum and minimum values, and the elevator deflection reached its minimum deflection twice. An adequate lateral path-following performance was achieved through a high-gain lateral feedback control, which manipulated aileron and rudder deflection to their limits as shown also in Figure 6. Thus, unconstrained control strategies would most likely fail to track the considered turn rates.

The ability to cope with plant-model mismatches is demonstrated in the case of an underpowered vehicle with reduced static stability. Figure 7 shows related feasible demands and aircraft responses given the same path to be followed and flight path angle command. With only 60% of the nominal maximum power, the aircraft is not able to achieve the previous nominal climb angles, but due to the slice of and at the estimated disturbance values, real attainable commands are online computed. It is worth noting the demanded reduction of airspeed, which is crucial in the task of tracking the maximum climb angle. The longitudinal controller maintained performance and stability despite the fact that the real aircraft was less stable. Figure 8 shows that the elevator deflection required to maneuver was noticeably less than in the first case. Additionally, the reduced available power is shown in the evolution of the engine throttle. Again, the key aspect of offset-free tracking is the disturbance vector of the longitudinal autopilot, as shown in Figure 9. While the disturbance was practically zero, that is, a small plant-model mismatch, in the first simulation, the mismatch is present but properly taken into account in this case.

5.4. Aspects of Computational Burden and Optimality

The elimination of online iterative numerical routines provided by OFF-MPC reflects the drastic runtime reduction. Using the MATLAB command  tic toc, the complete constrained control computation (online sections of Algorithms 1, 2, and 3) required, on average, 347 μs in both vertical and lateral autopilots. The simulations were performed on a PC with a 3.20 GHz Intel Core i5 CPU and 4 GB of RAM. A previous work [11] presented larger runtimes, in the range of milliseconds. Recently, Hartley et al. [2] presented numerical simulations of MPC with execution times in the range of microseconds, but using iterative solvers that demand specific initialization tuning. Although the offline set projections are based on iterative numerical routines, the online segment is only a direct sequence of algebraic operations, completely eliminating the dependency on iteration stop criteria. It is worth mentioning that this numerical performance was achieved using only MATLAB-coded routines, without previous compilation that would speed up the constrained computation.

Another comparison is done with the purpose to demonstrate the optimality achieved when the problem stated by (8) is solved with offline projections and online slices. Figure 10 shows engine throttle (left) and elevator deflection (right) MPC corrections during a capture of 10 deg of flight path angle, using the proposed offline method and an active-set quadratic programming solver [25] to obtain the optimal solution of (16). Note the large nonlinear correction required to maintain the elevator deflection inside the limits.

Although the weighting matrix was set equal to identity, both numerical methods computed identical solutions. This means that the proposed technique of computing the projection of a point on a polytope is capable of providing the same results as those calculated via quadratic programming solvers. Also, by design, elevator is the aerodynamic control surface to provide fast vertical change in flight path. This type of analytical priority is captured by both methods, with advantage to the OFF-MPC, which offers the optimal solution using less computational time. In this simulation of 6 seconds, the active-set QP required, on average, 3.5 ms, against 283 μs demanded by OFF-MPC.

6. Conclusion

The protection of the closed-loop system against excursions outside relevant limitations is an important task that must be performed by modern control systems. Moreover, performance limitations must also be taken into account to avoid commands with unattainable outputs. In this paper, a technique was presented to perform tracking on constrained systems. A new offline model predictive control technique was proposed based on the prioritization of quadratic programming decision variables. In this way, a sequence of constraint set projections over incremental subspaces of the decision variables creates polyhedral sets that, after substitution of the previously computed decision variables, degenerates to a one-dimensional set, where the choice of the optimal decision variable turns into a simple membership verification.

The concept of decision variable prioritization was applied to convert the feasible target tracking model predictive control technique into an offline constrained control method. First, whether the reference vector to be tracked is statically admissible is determined. If the demand is beyond the performance limitations of the plant, an attainable solution is calculated starting with the highest priority reference, and the remaining are determined through substitutions in the incremental projections of the static constraint set.

In the sequence, the statically admissible demand is filtered, taking into consideration the feasibility of the MPC problem. Extending the state space with the reference to be followed and the disturbance model, offline sequential projections of the domain of attraction of the controller and online substitutions generate one-dimensional feasible sets from which dynamically feasible target outputs are easily computed. Finally, the nonlinear MPC contributions are calculated following the same method.

The complete offline MPC method was demonstrated to perform tracking of trajectory variables of an unmanned aerial vehicle model, with constraints on throttle, aerodynamic surfaces, and angle of attack. The flight envelope was estimated and protected even when plant-model mismatches were considered, yielding offset-free tracking and a complete satisfaction of constraints.

Conflict of Interests

The author declares that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

The author gratefully acknowledges the support of CNPq, Conselho Nacional de Desenvolvimento Científico e Tecnológico, through Grant no. 457120/2012-6, and also DCTA, Departamento de Ciência e Tecnologia Aeroespacial.