This paper presents a solution to stability and trajectory tracking of a quadrotor system using a model predictive controller designed using a type of orthonormal functions called Laguerre functions. A linear model of the quadrotor is derived and used. To check the performance of the controller we compare it with a linear quadratic regulator and a more traditional linear state space MPC. Simulations for trajectory tracking and stability are performed in MATLAB and results provided in this paper.
1. Introduction
A quadrotor is a helicopter which has four equally spaced rotors, usually arranged at the corners of a square body. When these rotors spin, they push air downwards and in the process create a thrust force that keeps the quadrotor aloft. Unlike the conventional helicopter (with two rotors) which requires a swashplate mechanism in order to have more degrees of freedom, such mechanism is not needed in quadrotor systems since the two additional rotors provide the same level of control as that with conventional helicopters fixed with swashplate mechanism.
The task to control a quadrotor is a fundamentally difficult and interesting problem. With six degrees of freedom (three translational and three rotational) and only four independent inputs (rotor speeds), quadrotors are severely underactuated. In order to achieve six degrees of freedom, rotational and translational motion are coupled. The resulting dynamics are highly nonlinear, especially after accounting for the complicated aerodynamic effects. Finally, unlike ground vehicles, quadrotors have very little friction to prevent their motion, so they must provide their own damping in order to stop moving and remain stable. Put together, these factors create a very challenging control problem.
2. Literature Review
Amongst the many control techniques used in quadrotor control PID, LQR and recently MPC have been widely used.
While PID is the most popular choice for controlling several types of processes, it turns out that tuning becomes a big challenge especially for MIMO systems like the quadrotor. Several techniques have been used to divide the quadrotor control problem to several SISO systems. While this has worked in some cases it has to be pointed out that this takes away the most natural way of controlling the system and designing many SISO controllers may make maintenance more difficult.
LQR is a relatively modern control method that is very powerful yet limited to applications where linear system models are available. To use this method to control nonlinear systems a linear model has to be obtained from the corresponding nonlinear model. To evaluate the performance of the LQR controller we need to compare it with results obtained from other control techniques. This means designing the same system using another control technique which could be cumbersome. Because of this, LQR is only very popular to use in inherently linear systems or where results of control obtained using other control techniques are available for comparison.
On the other hand, MPC can handle both linear and nonlinear systems [1]. Comparisons between the nonlinear system and its corresponding linear model can easily be made with very little modification. Compared to PID, tuning MPC is easier even for complex MIMO systems.
However, in trying to track the reference trajectory in an optimal way and at the same time obey the constraints imposed MPC makes much more calculations than either PID or LQR. This computation burden makes MPC less suitable for “fast” processes. It requires very powerful processors to be used in hardware implementation. Not surprisingly a lot of effort is being put in to reduce the computations so that MPC can be faster and easily be implemented even on low cost processors.
In [2] Wang proposed a method of designing MPC using orthonormal functions. This method makes less computations than the traditional MPC. With reduced number of computations this technique can be used where rapid system dynamics are required. We will use this method in our task to control a quadrotor using MPC.
Other MPC applications to quadrotor can be found in [3, 4]. In [4] the control structure consists of a controller based on MPC to track the reference trajectory and a second one based on a nonlinear H∞ control technique to stabilize the rotational movements. Similarly in [3] an MPC controller is designed to control position, and a second feedforward controller is used to perform stabilization of the quadrotor system.
In both [3, 4] the control loop uses two controllers: the controller based on MPC which is used for tracking the position reference trajectory and a second controller (which is designed using other techniques) that is used for stabilization of the rotational movements. In this paper, MPC is used to control both the position and rotational movements. This is good for uniformity and ease of maintenance.
3. Kinematics and Dynamics of a Quadrotor
A quadrotor is completely described by twelve states. The first six states describe translational motion of the quadrotor. These states are x,y, and z which represent position in inertial frame and u,v, and w which denote velocity vectors along the body frame. Similarly, the remaining six variables describe rotational motions. These are ϕ, θ, and ψ commonly known as Euler angles and p, q, and r which denote angular velocities.
A free body diagram of a quadrotor is shown in Figure 1. The force F* and moment M* (where *=f,b,r, and l) produced by the rotors can be described by their angular speed (ω) as F*=k1ω2 and M*=k2ω2, respectively. Similarly, torques τϕ,τθ, and τψ and the thrust force (F) are related to angular speed of rotors as
(1)Fτϕτθτψ=Mωf2ωr2ωb2ωl2,
where M=[k1k1k1k10-lk10lk1lk10-lk10-k2k2-k2k2] and l is the length of arm of the quadrotor.
Inertial frame (a) and forces and torques acting on the quadrotor (b).
Equations describing the kinematics of the quadrotor are given by
(2)x˙y˙z˙=Rϕ,θ,ψuvw,ϕ˙θ˙ψ˙=1sϕtθcϕtθ0cϕ-sϕ0sϕcθcϕcθpqr,
where Rϕ,θ,ψ=[cθcψsϕsθcψ-cϕsψcϕsθcψ+sϕsψcθsψsϕsθsψ+cϕcψcϕsθsψ-sϕcψ-sθsϕcθcϕcθ], c stands for cos, s stand for sin, and t stands for tan. Similarly, dynamic equations can be derived using Newtons laws of motion which are listed in
(3)u˙v˙w˙=rv-qwpw-rqqu-pv+-gsinθgcosθsinϕgcosθcosϕ+1m00-F,p˙q˙r˙=Jy-JzJxqrJz-JxJyprJx-JyJzpq+1Jxτϕ1Jyτθ1Jzτψ,
where Jx, Jy, and Jz are the respective moment of inertia about X, Y, and Z axes of the quadrotor. For the simulation of the controller of quadrotor we have considered F, τϕ, τθ, and τψ as the inputs to the system.
3.1. Linearization
In order to design a linear controller it is vital that (2) to (3) be simplified to linear ones. To do that roll, pitch, and heading angles are assumed to operate within very small angles [5] which leads to the following:
(4)ϕ¨θ¨ψ¨=1Jxτϕ1Jyτθ1Jzτψ,z¨=g-Fm,u˙=-gθ,v˙=gϕ.
4. Controller Design
In order to control attitude (ϕ, θ, and ψ), altitude (z), and position (x, y), we propose a control architecture given in Figure 2 where we have utilized MPC to design the three controllers. The attitude controller generates τϕ, τθ, and τψ actuator signals whereas the altitude controller generates required thrust for the system. The position controller controls position in the x and y directions and generates control signals θ and ϕ which, when combined with the ψ signal, act as reference signals to the attitude controller.
Block diagram showing the structure of the controllers.
In the next section we look at the design of each of the three controllers.
4.1. Discretization
In this section, discrete-time state-space equations necessary for altitude, position, and attitude control are derived.
4.1.1. Altitude Controller
The linear equations responsible for altitude control are
(5)z˙=w,w˙=g-Fm.
These two equations can be combined to give the following second order ODE:
(6)z¨=g-Fm.
This second order ODE can be simplified to
(7)z¨=G,
where G=g-F/m or F=m(g-G). Equation (7) can be written in state-space form as in the following equation:
(8)z˙z¨=0100zz˙+01G.
Using the forward Euler method and choosing a sampling interval ΔT, we can express (8) in discrete form as in
(9)zk+1vzk+1=1ΔT01z(k)vz(k)+0ΔTGk.
The states z(k) and vz(k) represent the position and velocity, respectively, and we could choose a proper output matrix C depending on which state we are going to measure. In this paper we are interested in the position and, therefore, we will use the output matrix C=10.
4.1.2. Position Controller
The equations responsible for position and velocity control in x direction are
(10)x˙=u,u˙=-gθ.
These two equations can be combined to give the second order ODE:
(11)x¨=-gθ.
Similarly the equations responsible for position and velocity control in y direction are
(12)y˙=v,v˙=gϕ,
which give rise to the second order ODE:
(13)y¨=gϕ.
Equations (11) and (13) can be combined and form a state-space equation such as
(14)x˙x¨y˙y¨=0100000000010000xx˙yy˙+00-g0000gθϕ.
As stated before, we can use the forward Euler method to express (14) in discrete form. Consider
(15)xk+1vxk+1yk+1vyk+1=1ΔT000100001ΔT0001xkvxkykvyk+00-gΔT0000gΔTθkϕk.
The states x(k) and y(k) represent the position while vx(k) and vy(k) represent velocity. Since we are interested in the position, we will use the output matrix C=10000010 but we could have used a different 2×4 output matrix if we were interested in the velocity. But it is important to note that we can not use a 3×4 or 4×4 as there is no guarantee that we will be able to control each of the measured outputs independently with zero steady state errors. This is generally the case for a system with m inputs, q outputs, and q>m [6].
4.1.3. Attitude Controller
In attitude control we are interested in controlling the roll ϕ, pitch θ, and yaw (heading) ψ such that we generate appropriate torque signals responsible for steering the quadrotor in the desired direction with the required attitude. The equations responsible for roll control are
(16)ϕ˙=p,p˙=1Jxτϕ.
These two equations can be combined to give the second order ODE:
(17)ϕ¨=1Jxτϕ.
Similarly the equations responsible for pitch are given by
(18)θ˙=q,q˙=1Jyτθ,
which give rise to the second order ODE:
(19)θ¨=1Jyτθ.
Also the equations responsible for heading are expressed as
(20)ψ˙=r,r˙=1Jzτψ,
which, like in roll and pitch, give rise to the second order ODE:
(21)ψ¨=1Jzτθ.
Equations (17), (19), and (21) can be combined and written in state-space form as in
(22)ϕ˙ϕ¨θ˙θ¨ψ˙ψ¨=010000000000000100000000000001000000ϕϕ˙θθ˙ψψ˙+000Jx-1000000Jy-1000000Jz-1τϕτθτψ,
where τϕ, τθ, and τψ are the torques required to give the required roll, pitch, and yaw, respectively.
Again, using the forward Euler method we express (22) in discrete form as
(23)ϕk+1vϕk+1θk+1vθk+1ψk+1vψk+1=1ΔT0000010000001ΔT0000010000001ΔT000001ϕkvϕkθkvθkψkvψk+000ΔTJx-1000000ΔTJy-1000000ΔTJz-1τϕkτθkτψk.
Since we are interested in measuring ϕ(k), θ(k), and ψ(k), we will use the output matrix C=[100000001000000010].
So far we have formulated the necessary equations used to build the three controllers. Figure 2 shows, in block diagram form, what we have done so far. But that is not the whole story. In the next section we will look at exactly how model predictive control is applied to the quadrotor system using the discrete state-space equations formulated in this section.
5. Model Predictive Control
One of the many tenets deployed in control of complex systems like the quadrotor using MPC is to use models that reduce the computation burden which is a necessity when it comes to online implementation. It is also agreed upon that linear models perform better in this respect than the nonlinear models they represent. In this and subsequent sections the performance of a qudrotor controller designed using Laguerre-based MPC (LMPC) is compared with that designed using the more common linear state-space approach presented in [7]. We will call the linear state-space method SS-MPC.
5.1. Linear State-Space MPC (SS-MPC)
Linear state-space MPC is modeled using a linear state-space relation and plant constraints are modeled using linear equalities and inequalities. When combined with convex quadratic cost function this implies that the desired control action can be obtained, at each sample interval, via the solution of a corresponding quadratic program. This is attractive because the quadratic programs can be solved efficiently online [7]. The general block diagram representing SSMPC is shown in Figure 3.
Block diagram of SS-MPC.
5.1.1. Plant
The plant is modeled by using the following state-space system:
(24)xk+1=Axk+Buk+wk,yk=Cxk+Duk+vk,
where wk is the state noise and vk is the measurement noise. Both wk and vk are assumed to be Gaussian distributed with zero mean, respective covariances of W and V, and cross covariance Z. This is represented mathematically as
(25)wkvk~N00,WZZTV.
5.1.2. Observer
Using Gaussian assumptions stated above it is possible to make optimal predictions of state and output using the Kalman filter as
(26)x^k+1∣k=Ax^k∣k-1+Bu+Kyk-y^k∣k-1,y^k∣k-1=Cx^k∣k-1+Duk.
The closed loop gain K is found by solving the discrete-time algebraic Riccati equation (DARE):
(27)K=APCT+ZCPCT+V-1,P=W+APAT-APCT+ZCPCT+V-1ZT+CPAT.
5.1.3. Optimal Estimation of State and Output
The general equation representing the optimal estimate of state at instant j and written in terms of the initial state x^k+1∣k and future control inputs uk+i∣k is given by
(28)x^k+j∣k=Aj-1x^k+1∣k+∑n=1j-1Aj-n-1Buk+n∣k.
Similarly the output equation is given by
(29)y^k+j∣k=CAj-1x^k+1∣k+C∑n=1j-1Aj-n-1Buk+n∣k+Duk+j∣k.
The vector containing all output vectors can be written as
(30)Yk=yk+1∣k⋮yk+N∣k,
while that containing all control actions can be written as
(31)Uk=uk+1∣k⋮uk+N∣k.
Therefore, we can write Yk as
(32)Yk=Fx^k+1∣k+ΦUk,
where
(33)F=CCACA2⋮CAN-1,Φ=DCBDCABCBD⋮CAN-2B⋯⋯CBD.
5.1.4. Cost Function
The prime goal in MPC is to reject disturbances whilst tracking a reference signal. But at each instant it has to ensure that the control signal is within reasonable range that is practical for actuation. An objective function that combines these two tasks is
(34)Jx^k+1∣k,Uk=12∑n=1Ny^k+n∣k-rk+nQ2+uk+n∣k-uk+n-1∣kS2,
where both Q and S are assumed to be symmetric and positive definite.
5.2. Laguerre-Based MPC (LMPC)
Model predictive control designed using Laguerre functions is developed and summarized in [2]. The author presented this design technique for both single-variable and multivariable systems. Fortunately, the derivations for the single-variable case and the multivariable case are very similar and knowing one would give enough insight into the derivation of the other. For brevity only the single-variable case is presented and it is hoped that this is enough to set forth the LMPC design technique.
Consider a plant with p inputs, q outputs, and n states as described by (35) where the subscript m stands for model
(35)xmk+1=Amxmk+Bmuk+Bdωk,yk=Cmxk,
where u(k) is the input variable, y(k) is the process output, and xm(k) is the state vector. ω(k) is the input disturbance and is assumed to be a sequence of integrated white noise.
The plant described by (35) can be expressed in augmented state-space form [2, 6] as
(36)xk+1=Axk+BΔuk+Bϵϵk,yk=Cxk,
where A=Am0n×qCmAmIq×q, B=BmCmBm, Bϵ=BdCmBdC=0q×nIq×q, and the state x(k)=Δxm(k)y(k)T. ϵ(k) is a zero mean white noise sequence related to the disturbance by the difference equation ϵ(k)=ω(k)-ω(k-1) [6].
5.2.1. Design Framework
In designing MPC using Laguerre functions the control trajectory ΔU is expressed using a set of orthonormal functions called Laguerre functions. Since the state and output vectors can also be described in terms of ΔU, it follows that they too can be expressed using Laguerre functions.
At sampling instant ki, the state variable x(ki) is available through measurement. The future control trajectory is given by
(37)ΔU=Δuki,Δuki+1,…,Δuki+Nc-1,
where Nc is the control horizon.
Laguerre functions can approximate the incremental terms contained in ΔU. The z-transfroms of the discrete-time Laguerre functions are written as
(38)Γ1z=1-a21-az-1,Γ2z=1-a21-az-1z-1-a1-az-1,⋮ΓNz=1-a21-az-1z-1-a1-az-1N-1.
In the discrete-time Laguerre network of (38), a is the pole of the discrete-time Laguerre network and 0≤a<1 for stability of the network. The parameter a is called the scaling factor and N=1,2,3,… is the number of Laguerre terms used in the network. Note that
(39)Γkz=Γk-1zz-1-a1-az-1,
with the first term as Γ1(z)=1-a2/1-az-1.
Let lj(k) be the inverse z-transform of the jth term in the discrete Laguerre network and L(k) the vector containing all inverse z-transform terms. Then taking advantage of (39), successive inverse z-transform vectors are obtained through the difference equation:
(40)Lk+1=AlLk.
The matrix Al has size N×N and is a function of parameters a and β=1-a2. The initial condition is given by
(41)L0⊤=β1-aa2⋯-1N-1aN-1.
In the case where N=5, matrix Al and the initial condition L(0) are
(42)a0000βa000-aββa00a2β-aββa0-a3βa2β-aββa,(43)L0=β1-aa2-a3a4,
respectively.
At sampling instant ki, the control trajectory is described using Laguerre functions as in
(44)Δuki+k=∑j=1Ncjkiljki,
where k=0,1,2,…,Np with Np as the prediction horizon, N terms used in the expansion and lj(ki) is the inverse z-transform of the jth term in the discrete Laguerre network.
Equation (44) can be rewritten as
(45)Δuki+k=Lk⊤η,
where L(k)=l1(k)l2(k)⋯lN(k)T, η=c1c2⋯cNT, and the coefficients c1,c2,…,cN are obtained from system data.
At an arbitrary future instant m, the state is described using Laguerre functions as
(46)xki+m∣ki=Amxki+∑i=0m-1Am-i-1BLiTη.
Similarly, the output is described as
(47)yki+m∣ki=CAmxki+∑i=0m-1CAm-i-1BLiTη.
5.2.2. Cost Function
The cost function is used to choose the optimal control trajectory ΔU to bring the predicted output as close as possible to the set-point. The cost function
(48)J=∑m=1Npxki+m∣kiTQxki+m∣ki+ηTRLη
minimizes the error between the set-point signal and the output in the shortest possible time by carefully tuning the weighting matrices Q≥0 and RL>0.
5.2.3. Cost Function Minimization
The state variable in (46) can be rewritten as
(49)xki+m∣ki=Amxki+ϕmTη,
where ϕ(m)T=∑i=0m-1Am-i-1BL(i)T.
By substituting (49) into (48) and performing the partial derivative ∂J/∂η=0, the Laguerre coefficients vector is found to be
(50)η=-Ω-1Ψxki,
with Ω=∑m=1Npϕ(m)Qϕ(m)T+RL and Ψ=ϕ(m)QAm.
5.2.4. Receding Horizon Control
In receding horizon control (RHC) only the first term in ΔU, that is, Δu(ki), is implemented at instant ki. The rest of the sequence is ignored. Only the most recent measurement is taken to form the state vector for calculation of the control signal. This procedure is repeated in real-time to give the receding horizon control law [6, 8].
5.2.5. Stability
In stability analysis we make use of the technique of exponential data weighting originated by Anderson and Moore [9] and applied to MPC in [6]. More specifically we will concentrate on the discrete exponential factor eλΔt where Δt is the sampling interval and the discrete weights form a geometric sequence {αj,j=0,1,2,…}.
The proposed cost function is similar to the one used in linear quadratic regulator (LQR) systems but with the inclusion of discrete weights
(51)Jw=∑j=1Npα-2jxki+j∣kiTQxki+j∣ki+∑j=0Npα-2jΔuki+jTRΔuki+j.
For α>1, the exponential weights α-2j, j=1,2,3,…,Np, put more emphasis on the current state xki+j∣ki and less emphasis on subsequent future states.
The exponentially weighted cost function can be expressed more compactly as
(52)Jw=∑j=1Npx^ki+j∣kiTQx^ki+j∣ki+∑j=0NpΔu^ki+jTRΔu^ki+j,
with state equation
(53)x^k+1=Aαx^k+BαΔu^k,
and Aα=A/α and Bα=B/α.
With Q≥0, R>0, and Np→∞, minimizing the cost function Jw is equivalent to the DLQR problem which is solved using algebraic Riccati equation (54). The pair (Aα,Bα) is assumed to be controllable and (Aα,C) observable with Q=CTC. Then there is a stabilizing state feedback control gain matrix Kw,
(54)Kw=R+α-2BTPwB-1α-2BTPwA,ATαPw-PwBαR+BTαPwBα-1BTαPwAα+Q-Pw=0
that gives a stable closed loop system with all its eigenvalues inside the unit circle and the the closed loop system being described by
(55)x^ki+j+1∣ki=α-1A-BKwx^ki+j∣ki.
From (55), the transformed system has all its eigenvalues inside the unit circle by taking Np→∞. So
(56)α-1λmaxA-BKw<1,
which gives
(57)λmaxA-BKw<α.
Thus by choosing α>1 there is a great chance that the system will be stable. Several simulations on the quadrotor system indicate that a choice of α slightly greater than unity makes the system stable almost all the time.
6. Simulation Parameters and Results
In order to illustrate the controller’s stability we will check if the eigenvalues of each of the three individual controllers appear inside a unit circle. And we will use a trajectory in a 3D plane to check the overall controller’s ability to track a desired trajectory.
Table 1 shows the parameters of the quadrotor used in simulation.
Parameter
Value
Mass, m
0.7 kg
Length, l
0.275 m
Jx
0.1063 kg⋅m^{2}
Jy
0.1063 kg⋅m^{2}
Jz
0.2122 kg⋅m^{2}
6.1. Stability Analysis
In this section we look at the location of eigenvalues of LMPC and check if they fall within the unit circle for stability of the system. We also compare them to those obtained from the optimal DLQR system. To ensure stability as explained in Section 5.2.5 we use α=1.2.
By looking at Figure 4 we note that all the eigenvalues appear inside the unit circle as required. Also the eigenvalues obtained from LMPC closely match with those of the optimal DLQR. This not only shows the system is stable but also shows the controllers perform optimally.
Eigenvalues for DLQR and LMPC in altitude control.
6.2. Trajectory Tracking
In this section we look at the performance of LMPC when used to track a 3D trajectory. Also LMPC is compared to SS-MPC and individual state trajectories are observed. The starting point of the trajectory is (x,y,z)=(0,0,0) and final point is (x,y,z)=(5,5,10). Parameter a=0.8187 while N=5. See Figure 5.
Tracking a 3D trajectory.
Clearly both LMPC and SS-MPC track the desired trajectory very well. See Figures 5, 6 and 7. However, LMPC performs better than SS-MPC in that it requires only five parameters (N=5) to capture the control trajectory compared to SS-MPC’s minimum of 25 (Nc=25) parameters (see Table 2 for relationship of N and Nc with a=0.8187).
Control horizon Nc
N
Required a
10
5
0.6065
15
5
0.7165
20
5
0.7788
25
5
0.8187
50
5
0.9048
Tracking x (a) and y in (b).
Altitude (z) (a) and heading angle (ψ) (b).
6.3. Control Horizon in Relation to <inline-formula>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M257">
<mml:mrow>
<mml:mi>a</mml:mi></mml:mrow>
</mml:math></inline-formula> and <inline-formula>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M258">
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
</mml:math></inline-formula>
The control horizon (Nc) is related to the parameters a and N [2] by
(58)a≈e-N/Nc.
Assuming we want to achieve a control horizon of 30, we choose one parameter usually N because it is an integer and directly defines the order of the discrete Laguerre network. Therefater, we simply use (58) to find the corresponding scaling factor a as shown in Table 3.
Target control horizon Nc
Chosen N
Required a
30
1
0.9672
30
3
0.9048
30
5
0.8465
30
7
0.7919
30
9
0.7408
Figures 8, 9, 10, 11, 12, and 13 compare two LMPC designs both of which yield a control horizon of 30. One design uses N=1 and the other N=9. Thus we can choose a Laguerre network with lower number of terms N (that gives lower computation burden) but with a larger scaling factor a to achieve the same control horizon. The computational cost is lower if a smaller number of parameters are used. For N=1, only one Laguerre term is used to capture the control trajectory while N=9 requires nine Laguerre terms to capture the same control trajectory.
x trajectory N=1.
x trajectory N=9.
y trajectory N=1.
y trajectory N=9.
z trajectory N=1.
z trajectory N=9.
7. Conclusion
This paper has presented a solution to stability and trajectory tracking of quadrotor systems using a model predictive controller designed by using a special type of orthonormal functions called Laguerre functions. A quadratic cost function similar to that used in linear quadratic regulator (LQR) has been used. In stability analysis LMPC has been compared to the optimal DLQR system whereas in trajectory tracking LMPC has been compared to a popular linear state-space MPC desgin technique in which plant constraints are modeled using linear equalities and inequalities. The results from the simulations indicate that the controller performs very well and is considered feasible. With this perceived feasibility LMPC offers the added advantage that it can handle systems where rapid sampling and more complicated process dynamics are required [5, 10]. By selecting appropriate values of a and N LMPC reduces the number of parameters required for accurate prediction when using the traditional (MPC) approach. This is a big advantage in that, with the reduced number of parameters, online implementation might be possible where the traditional MPC would have failed.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgment
This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korean government (MEST) (no. 2013R1A2A2A01068127 and no. 2013R1A1A2A10009458).
MaciejowskiJ. M.WangL.Discrete time model predictive control design using Laguerre functionsProceedings of the American Control ConferenceJune 2001Arlington, Va, USA243024352-s2.0-0034848774AlexisK.NikolakopoulosG.TzesA.Experimental model predictive attitude tracking control of a quadrotor helicopter subject to wind-gustsProceedings of the 18th Mediterranean Conference on Control & Automation (MED '10)June 2010Marrakech, MoroccoIEEE146114662-s2.0-7795700003410.1109/MED.2010.5547844RaffoG. V.OrtegaM. G.RubioF. R.MPC with nonlinear H∞ control for path tracking of a quad-rotor helicopterProceedings of the 17th World Congress, International Federation of Automatic Control (IFAC '08)July 200810.3182/20080706-5-KR-1001.25782-s2.0-79961018544SinghA. M.LeeD. J.HongD. P.ChongK. T.Successive loop closure based controller design for an autonomous quadrotor vehicleWangL.WillsA. G.Technical report EE04025-Notes on linear model predictive controlDecember 2004GaoY.LeeC. G.ChongK. T.Receding horizon tracking control for wheeled mobile robots with time-delayAndersonB. D. O.MooreJ. B.RossiterJ. A.WangL.Exploiting Laguerre functions to improve the feasibility/performance compromise in MPCProceedings of the 47th IEEE Conference on Decision and Control (CDC '08)December 2008473747422-s2.0-6294912757510.1109/CDC.2008.4738969