A Predictive Control Strategy for Aerial Payload Transportation with an Unmanned Aerial Vehicle

: This paper presents the results of a model-based predictive control (MPC) design for a quadrotor aerial vehicle with a suspended load. Unlike previous works, the controller takes into account the hanging payload dynamics, the dynamics in three-dimensional space, and the vehicle rotation, achieving a good balance between fast stabilization times and small swing angles. The mathematical model is based on the Euler–Lagrange formulation and considers the dynamics of the vehicle, the cable, and the load. Then, the mathematical model is represented as an input-afﬁne system to obtain the linear model for the control design. A constrained MPC strategy was designed and compared with an unconstrained MPC and an algorithm from the literature for the case of study. The constraints to be considered include the limits on the swing angles and the quadrotor position. The constrained control algorithm was constructed to stabilize the aerial vehicle. It aims to track a trajectory reference while attenuating the load swing, considering a maximum swing range of ± 10 ◦ . Numerical simulations were carried out to validate the control strategy.


Introduction
In recent years, the development of aerial robotics has been rapid via both scientific and commercial research, since the use of these autonomous systems is now not restricted to the military field. The versatility of unmanned aerial vehicles (UAVs), together with recent technological advances, has allowed the development of new devices that have a higher degree of autonomy; hence, they considered for different types of applications, mainly in those where the user's safety may be compromised or where the areas of interest are difficult to access. The transport of a load suspended by a cable is one of the most common activities with unmanned aerial vehicles. The modeling and design of control strategies for these systems is a topic that has attracted the attention of researchers in recent decades; this is because there is a variety of tasks where fast and efficient handling of a load is required, which leads to aggressive movements that generate oscillations in the load that when not controlled can cause accidents. The works focused on the use of UAVs for payload transport are relatively recent [1].
There are several devices reported in the literature that are used to attach a load to such a vehicle. For example, in [2,3] a clamp-type mechanical device with only one degree of freedom that keeps the load attached to the structure of the UAV was used. In [4] the use of a manipulator with a robotic arm was mentioned. In these configurations, the load is closer to the vehicle's center of gravity, which causes increases in weight and rotational inertia that affect the maneuverability of the vehicle in flight. Another approach, which is widely used in transportation, consists of suspending the payload through a rope or cable connected directly to the vehicle's structure, allowing fast and agile movements. This approach adds degrees of freedom to the system, and a swinging motion of the payload that acts as a pendulum that can transmit oscillations through the cable and negatively affect the operations and stability of the vehicle in flight [5].
In the literature, different control strategies have been proposed to address the general problem of transporting a payload suspended by a cable from a UAV. For example, in [6] the effect of dynamic load disturbances introduced by instantaneously increased load mass and how those affect UAVs under PID flight control was studied. Ref. [7] introduced the use of dynamic programming to generate an optimal trajectory and adaptive control for maneuvering without swinging effects. Ref. [8] presented a nonlinear dynamic model and two IDA-PBC control algorithms for a quadrotor with a cable-suspended payload that explicitly incorporate total energy-shaping; however, the vehicle travels only in the x-z plane and then in the y-z plane to achieve control in three-dimensional space. Additionally, ref. [9] proposed a mathematical model of the interconnected multi-body system using Kane's equations and a tracking controller based on the backstepping technique. Ref. [10] considered a hierarchical scheme combining energy-based control (translational dynamics) and a nonlinear state feedback controller based on a linear matrix inequality (rotational dynamics) to solve the problem of transporting a cable-suspended payload by a UAV. Meanwhile, in [11] two novel nonlinear control algorithms for controlling a quadcopter's position and attenuating the swing angle of the payload were designed. The controllers take advantage of the natural coupling existing between the horizontal quadcopter movement and the payload oscillation; however, the vehicle only travels in one plane at a time.
Ref. [12] shows a nonlinear control approach with an elaborately constructed integral term for an aerial transportation systems. This method achieves satisfactory anti-swing and positioning performance and reduces steady errors during real flight. A model of a quadrotor with a suspended payload was derived in [13]. The hierarchical control structure of inner-loop attitude and outer-loop position using PID was adopted in the design of trajectory tracking of the quadrotor transporting a payload. Ref. [14] presents a quadrotor with the payload connected to the vehicle through a cable. The payload swing is rejected by using a nonlinear controller based on a system model derived using the Euler-Lagrange equations. However, the payload is considered a disturbance. Ref. [15] presents a model and a proportional-derivative control of a quadrotor with payload uncertainties; the payload is also considered a disturbance. A mathematical model of the payload and quadrotor was presented in [16] through the Euler-Lagrange formulation. In addition, a robust sliding mode control was designed for the transitional movements to cope with both disturbances such as wind, and payload swings. Ref. [17] proposes an adaptive control technique to control the velocity of a volumetric payload with unknown mass, which is transported by a quadrotor in the presence of rotor down-wash.
Optimal control techniques have also been applied. For example, ref. [18] developed an iterative linear quadratic regulator (iLQR) optimal strategy of a mathematical model for a quadrotor with a cable-suspended heavy rigid body. The algorithm considers an anti-swinging load in a transporting task; however, the stabilization times are very long compared to the results of works found in the literature and to those obtained in the present article. Reference [19] explores a trajectory planning method based on predictive control for a quadrotor with a suspended payload. The authors contemplated the anti-swing and obstacle avoidance in the flight path. However, this research did not consider the rotational dynamics of the vehicle and treated the quadrotor as a three-dimensional overhead crane. Moreover, ref. [20] presented a linear quadratic Gaussian control method for a quadrotor transporting an unknown suspended load: the load parameters were unknown, and the load state was not available. This paper also did not consider the rotational dynamics of the vehicle. Reference [21] presents a cascade control strategy with anti-disturbance functionality and a predictive optimal function to control the rotation of a quadrotor carrying unknown payloads. However, the translational control was not realized and the payload was considered a disturbance.
The primary mission of aerial transportation is to maintain the hanging load within the desired operating and safety limits. Therefore, the prime aim is to design control algorithms that ensure minimal swing angles without sacrificing response times. However, some works listed above presented swing angles between ±12 • and ±35 • , or in order to achieve small angles, they employed very conservative control laws, resulting in long settling times-e.g., [18,22]. Thus, motivated by the previous works-where the authors dealt with the hanging payload transportation problem by (i) considering the payload as a disturbance; (ii) including the payload dynamics, but considering only a longitudinal translation of the UAV; (iii) considering three-dimensional dynamics but neglecting the rotation of the vehicle; or (iv) reducing the payload swing by sacrificing performance-in this paper, we offer an alternative approach to stabilize a quadrotor transporting a payload by using a predictive control strategy. Here, the quadrotor-payload system model includes the hanging payload dynamics, and the predictive controller considers both the system's translation dynamics in three-dimensional space and the vehicle's rotation. Constraints on the load swing angles are to keep the vehicle transporting a load within the desired operating and safety limits. Considering constraints on the quadrotor positioning in x and y allows one to avoid overshoot in the transient responses of this positioning and thus to evade further oscillations of the load angles. Predictive control was chosen for its inherent ability to handle constraints on the system's output, which are applied to restrict the maximum swing angle of the load, guaranteeing the safe flight of the aircraft. An additional contribution of this work is the linear model representation of the quadrotorpayload system used in the design of the model-based predictive control (MPC) strategy; although a modest contribution on its own, it is valuable within the controller design methodology. Moreover, as evidenced in the results section, this strategy achieves a good balance between fast stabilization times and small swing angles.
The article is organized as follows: Section 2 describes the nonlinear model of the quadrotor with the suspended load; in the same section, the linearized model used for the controller design is presented. Section 3 introduces the theoretical basis of the predictive controller. Section 4 shows the numerical results obtained. Section 5 presents the conclusions and future work. Finally, due to the many of variables used, the nomenclature is summarized in Appendix A.

Dynamic Model
This section aims to present the dynamic model that describes the complete system, including the coupling problem between the load suspended by means of a cable and the aerial vehicle as an integral problem and not as a disturbance. For this purpose, the following assumptions are made: (a) The multi-rotor fuselage is considered rigid and symmetrical.

(b)
The cable that connects to the load is attached to the center of mass of the air vehicle.

(c)
The cable is considered rigid, inelastic, and massless. Its length is constant and is known.
The payload is considered to be a point-mass.
(e) Aerodynamic effects on the load are neglected.
Consider a quadcopter type multirotor vehicle evolving in three dimensions, capable of carrying a suspended payload by means of a cable as shown in Figure 1. The inertial coordinate system fixed to ground is represented by {O} and the body-fixed frame is defined by {B}.
The generalized coordinates of the model can be written as: where ξ = x y z T ∈ R 3 represents linear positions and η = ψ θ φ T ∈ R 3 represents angular positions of the vehicle. µ = α β T ∈ R 2 represents the oscillation angles of the suspended load. l is the length of the cable, d is the distance between the motors and the center of mass, the gravitational acceleration constant is represented by g, the mass of the quadrotor is defined by M, and the payload is m. The vector of control inputs is represented by total propulsive force and τ = τ ψ τ θ τ φ T are the input torques.

Euler-Lagrange Methodology
The Euler-Lagrange equations of motion represent an adequate and convenient analytical method to obtain the dynamic model of the system. Their mathematical structure allows one to analyze and study in detail all the physical phenomena of the plant quadrotorpayload, since the dynamic nature of the system is highly nonlinear, underactuated, and multivariable, and the subsystems are strongly coupled.
The Euler-Lagrange formulation is based on the energy of the system; therefore, the kinetic energy has to be calculated as the potential energy to obtain the Lagrangian of the system. The total kinetic energy T QSP (q) of the plant is represented by the following expression: where J is the inertia matrix and I p contains the mass moments of inertia of the payload. The positions relative to the center of the load in Cartesian coordinates are described by: where ξ p = x p y p z p T and r = s α c β s α s β −c α T , to simplify the presentation, we have used the short notation s α = sin(α) and c α = cos(α). The potential energy is due to the position or the configuration of the body with respect to a reference frame, so the total potential energy is described by: The Lagrangian L, which is what we are interested in calculating, is obtained by subtracting the kinetic energy T QSP from the potential energy V(q), as shown in the following expression: By applying the Euler-Lagrange formulation, we obtain the non-linear model of the quadrotor system with a suspended load by means of a cable represented by the following equations: In the previous expressions, I x , I y , and I z represented the inertias of the quadrotor, and I p represented the inertia of the suspended load.

Linear Model
In this subsection, the equations of motion of the quadrotor with a suspended load are linearized around the equilibrium points considering the state vector χ = xẋ yẏ zż ψψ θθ φφ αα ββ T and the output vector In order to determine them, the system is considered to be fixed in an equilibrium coordinate; i.e., the UAV is in a hover position. There is also an assumption of smooth movements, so the rotation and swing angles are relatively small. The translational and rotational system of the quadrotor with suspended load is linearized around the equilibrium point: and for control inputs: Then, equations can be represented in state space as follows: By means of the Taylor series expansion and evaluating the equilibrium point, the linear model (17) is obtained with:

Model-Based Predictive Control
Predictive control makes explicit use of a model of the plant to predict the output of the process in future instants, and based on the minimization of a cost function, a strategy is proposed to obtain the optimal control signal. The minimization of the cost function can be obtained explicitly if the model is linear and there are no constraints; otherwise, an iterative optimization method must be used.

State Space Model and Input Increments
The behavior of the plant considering the system in discrete-time without disturbances and without measurement errors with n states, l outputs, and m inputs can be described by the following model in state space: where x k+1 ≡ x(k + 1), x k ∈ R n represents the sate vector, y k ∈ R l the output vector, u k ∈ R m the input vector, and k the time-step. For convenience, the increment in the control signal is considered an input variable as follows: resulting in an augmented plant model: where

Predictions
The future evolution of the states can be calculated by iterating over the model (23): where the arrow notation denotes prediction and is defined as . n y is the prediction horizon and n u the control horizon-it is generally chosen by n u ≤ n y . The state predictions can be obtained by extracting them from the augmented states: By substituting the state prediction into the output equation, the output predictions can be obtained: where P yζ = diag(C)P ζζ and P y∆u = diag(C)P ζ∆u .
Finally, the input predictions are Our paper adopts an independent model approach to prediction [23,24]. Then, by definingŷ k as the output vector of the independent model (given by simulating model (21) in parallel with the plant), the model's residual estimate isd k = y k −ŷ k and it is assumed to be constant over the prediction horizon. This value is subtracted from the reference to compensate for disturbances or model mismatches.

Cost Function
The most common cost function for obtaining the control law consists of penalizing the squared errors multiplied by a weight, that is, penalizing the difference between the reference minus the squared output plus the control effort multiplied by a weight, along a prediction and control horizon. The general expression of this function is: Q and R are tuning parameters that impact future behavior andr is the setpoint. By substituting the model of the predictions within the objective function by differentiating and setting it to zero, the optimal control sequence is obtained: where * denotes optimality. Additionally, the control input u k is formed by adding to the previous input u k−1 , the first element of ∆u − → * k−1 -that is, ∆u * k−1 .

The Constrained MPC Algorithm
Constraints help to keep the process within desired operating limits or conditions. Constraints have to be fulfilled for all the prediction horizon: where A x , A y , A u , A ∆u = [I, − I] T and b x , b y , b u , b ∆u are vectors that contain the maximum and minimum values allowed in the form [max min] T . The cost function (28) and constraints (30) can be expressed in terms of the desicion variable ∆u − → k−1 , and the following quadratic programming optimization problem is obtained: and the control law is: where ∆u * k is the first element of ∆u − → * k−1 .

MPC for a Quadrotor with a Suspended Load
This subsection presents the design and configuration with to implement the predictive control algorithm for a quadrotor carrying a suspended load. We start from a continuous state space model representation (17) to obtain a discretized and augmented version of the system (23) represented by the matrices A ζ ∈ R 20x20 , B ζ ∈ R 20x4 and C ζ ∈ R 8x20 that are used to calculate the prediction matrices P ζζ , P ζ∆u , P yζ , P y∆u , P x,ζ , P u,∆u , P u,ζ to form the unconstrained control law (29) and the optimization problem (31) and (32) for the constrained case. To solve the optimization problem, Matlab's quadprog function was used. It is worth mentioning that for this particular process, only constraints on the positions of the quadrotor x, y, and z, and on the oscillation angles of the suspended load α and β were considered.
The physical parameters of the suspended-load quadrotor system are presented in Table 1 and were taken from [8]. Predictive control tuning parameters are the prediction n y and control n u horizons, and the weights Q and R. To select the horizons, the tuning guidelines provided by [25] were used. In general, for stable open-loop models, the literature suggests that n y should be larger than the settling time plus n u . For unstable open-loop models, as this is the case, large values of n y are preferred, and then the value is detuned until the system achieves the desired robustness. Here, intermediate values of n y result in an adequate performance. The control horizon n u was chosen to be as small as possible to get the required behavior while minimizing computational load (although a higher value of n u should improve performance if the processing capabilities allow it). Finally, Q and R were heuristically adjusted-a compromise between response time and input rate (aggressiveness). Alternatively, a global search could be done to achieve better performance, as suggested by [26]. The tuning parameters of the predictive controller are presented in Table 2.

Numerical Simulations and Results
This section presents the numerical results of the simulations performed to validate the achievement of the designed MPC controller. The main goal was to bring the quadcopter to the desired reference position while the suspended load oscillation was restricted to a maximum swing of ±10 • = ±0.175 rad. For the model's linearization, the values of M, m, and g were constant and are defined in Table 1. The values of x eq , y eq , z eq were zero, which is an arbitrary point in three-dimensional space located well above the ground.

MPC Performance
In transport operations with multirotors, rapid handling of loads is required, which can be dangerous because the load can generate unwanted oscillations that can vary the flight conditions-the process must be kept within limits. In this particular process, the use of constraints for positions x and y of the vehicle and in the oscillation angles of the load were considered to avoid overshoots that can cause damage to the transported payload and guarantee safety in operations. The results that correspond to the constrained predictive controller are presented in Figure 2.   Figure 2a displays the positions x, y, and z of the quadrotor with their respective constraints 0 ≤ x ≤ 1, 0 ≤ y ≤ 2, and 0 ≤ z ≤ 3. The signals responded quickly to reach the reference in no longer than 3 s. The controller kept each constrained position x and y at its reference value without any overshoots in the transient responses to avoid further oscillations of the load angles.
In Figure 2b the attitude of the quadrotor is shown. No constraint was applied; however, lower values in θ and φ angles occurred in comparison to the unconstrained predictive control. Figure 2c presents the swing angles of the suspended load with their respective constraints, for −0.1047 ≤ α ≤ 0.1047 and −0.1745 ≤ β ≤ 0.1745. As can be seen, the predictive controller kept the oscillation within the established values, demonstrating good performance. Figure 2d shows the variations of the control inputs in the quadrotor, which ensured that the oscillations of the suspended load did not exceed the values established in the constraints and that the air vehicle could stabilize quickly. In the bottom plot of this figure, we can see the force u 1 in the z axis that stabilized at (m + M)g maintain hovering, and in the top plot the control torques τ ψ , τ θ , and τ φ .
In summary, numerical simulations have been presented that demonstrate good performance by the predictive controller when considering the constraints to attenuate the oscillations of the suspended load. It is possible to place the quadrotor at a desired position while the oscillations of the load do not exceed the proposed limits. Next, the results of not considering the constraints are shown, for comparative purposes.

Comparative Results
In Figure 3, a direct comparison of the performance of the proposed MPC algorithm with respect to a nonlinear controller based on the feedback linearization proposed in Equation (16) of [22] has been added. The control law in [22] was chosen because it manages to achieve small swing angles of the payload.
For a better understanding of the figures, know that the subscript "c" means the constrained MPC controller and the subscript "l" the algorithm in [22]. In order to contrast the results with a more aggressive strategy, we also added the unconstrained MPC control law, which is referred to with the subscript "u". The performance responses of all controllers are displayed in Figure 3. In Figure 3c we can observe the swing angles. It is clear that [22] achieved smaller maximum angles, but the oscillation times for α and β were longer than in the MPC strategy. Moreover, by analyzing Figure 3a, it is possible to appreciate better performance in the vehicle position response of the proposed constrained MPC controller with respect to [22], because the settling time of the vehicle position obtained from control law u l was larger than that obtained with the MPC law. In summary, ref. [22] achieveed small swing angles of the payload but at the cost of poor performance in the vehicle positioning and settling time of the payload swing. In contrast, this proposal produced shorter settling times for the payload and vehicle positioning while still meeting the constraints imposed on the payload swing angles.
In order to quantify the comparisons, Table 3 summarizes the results of the proposed controller and those of the algorithm in [22] with respect to performance measures and oscillation angles. We computed for α and β, the setting time (Ts) and the maximum swing (MS). The superior performance of the proposed scheme over the one in [22] is evidenced by the running-time cost J MPC .

Conclusions
This work presents the formulation of a model-based predictive controller meant to solve the problem of transporting a payload suspended by a cable from a multi-rotor-type unmanned aerial vehicle. This strategy considers the three-dimensional translation and rotation of the aerial vehicle, and the payload dynamics. The dynamic model was obtained by formulating a Euler-Lagrange in a global approach that mathematically describes the relationship of the vehicle, the load, and the cable. Next, an affine representation of the input of the model was derived to obtain a linear model for the MPC design. It is worth mentioning that the steps carried out to obtain the linear model of the quadrotor-payload are specific for this system, and the linear model was used as a prediction model for the control strategy. Finally, we evaluated the dynamic model of the UAV with a suspended load, and the proposed controller, using a numerical simulation software. The simulations showed excellent performance by the MPC in comparison to a nonlinear controller based on feedback linearization from the literature. Therefore, the proposed controller demonstrated its ability to precisely control the multi-rotor and achieve rapid attenuation of the oscillation of the suspended load while keeping it within the limits of the constraints. Future work will include considering a flexible cable in the mathematical model and an MPC with variable constraints.

Conflicts of Interest:
The authors declare no conflict of interest.

Appendix A. Nomenclature
Tables A1 and A2 show the lists of variables used in the mathematical model and controller derivations. Total propulsive force f Pi Propulsion force provided by the motor i τ: τ ψ , τ θ , τ φ Input torques L Lagrangian T QSP , V q Total kinetic and potential energy I x , I y , I z Moments of inertia in x, y and z I p Moment of inertia of the suspended payload χ State vector χ eq , u eq Equilibrium state and input vectors y c Output vector A c , B c , C c Continuous-time model matrices