You are on page 1of 16

J Intell Robot Syst (2017) 88:147–162

DOI 10.1007/s10846-017-0549-y

Gaussian Process Model Predictive Control


of an Unmanned Quadrotor
Gang Cao · Edmund M.-K. Lai · Fakhrul Alam

Received: 17 October 2016 / Accepted: 24 March 2017 / Published online: 7 April 2017
© Springer Science+Business Media Dordrecht 2017

Abstract The Model Predictive Control (MPC) tra- the two approaches exhibit similar trajectory tracking
jectory tracking problem of an unmanned quadrotor performance. However, our approach has the advan-
with input and output constraints is addressed. In tage of incorporating constraints on the control inputs.
this article, the dynamic models of the quadrotor are In the second comparison, simulation results demon-
obtained purely from operational data in the form of strate that our approach only requires 20% of the com-
probabilistic Gaussian Process (GP) models. This is putational time for the existing nonlinear GP based MPC.
different from conventional models obtained through
Newtonian analysis. A hierarchical control scheme is Keywords Quadrotor trajectory tracking · Model
used to handle the trajectory tracking problem with the predictive control · Gaussian process
translational subsystem in the outer loop and the rota-
tional subsystem in the inner loop. Constrained GP
based MPC are formulated separately for both sub- 1 Introduction
systems. The resulting MPC problems are typically
nonlinear and non-convex. We derived a GP based The quadrotor helicopter (or quadrotor for short) is an
local dynamical model that allows these optimization aerial vehicle with vertical take-off and landing capa-
problems to be relaxed to convex ones which can be bilities. It has received a lot of interests recently due
efficiently solved with a simple active-set algorithm. to its simplicity, maneuverability, and payload capa-
The performance of the proposed approach is com- bilities [1, 2]. It has been used in various military and
pared with an existing unconstrained Nonlinear Model civilian tasks [12, 31].
Predictive Control (NMPC) algorithm and an exist- Trajectory tracking is one of the basic functions
ing constrained nonlinear GP based MPC algorithm. performed by a quadrotor in autonomous flight.
In the first comparison, simulation results show that Designing a control system to perform this function
is challenging because the quadrotor’s dynamics are
highly nonlinear and are subjected to random exter-
G. Cao () · F. Alam
School of Engineering and Advanced Technology, Massey
nal disturbances. Several control approaches have
University, Auckland, New Zealand previously been investigated with varying degrees
e-mail: g.cao@massey.ac.nz of success. They include linear techniques such
as Proportional-Integral-Derivative (PID) and Linear-
E. M.-K. Lai
Quadratic Regulator (LQR) control [4], as well as
Department of Information Technology and Software
Engineering, Auckland University of Technology, nonlinear techniques such as sliding mode [29] and
Auckland, New Zealand backstepping control [21]. More recently, due to the
148 J Intell Robot Syst (2017) 88:147–162

conceptual simplicity, Model Predictive Control issues mentioned above regarding the objective func-
(MPC) techniques have been used in [2, 34] based on tion and computational efficiency. The performance of
the linearised model and in [1] based on the nonlinear GPMPC is evaluated by simulations on two non-trivial
model. Moreover, physical constraints on the system trajectories.
inputs and outputs, which is important for quadrotors,
could easily be included as appropriate penalty terms
in the cost function that is used to compute the optimal 2 Quadrotor System Modelling Using GP
control.
The quadrotor can be viewed as a 6 Degree-of-
The performance of MPC is highly dependent
Freedom (DOF) rigid body with generalized coor-
on how accurately the model describes the dynam-
dinates q = [x, y, z, φ, θ, ψ]T ∈ R6 , where
ics of the system being controlled. Conventionally, x, y, z denotes the quadrotor’s positions w.r.t. earth-
dynamical models are derived from first principles fixed frame (E-frame) and φ, θ, ψ represents quadro-
through Newton-Euler [45] or Euler-Lagrange based tor’s attitudes w.r.t. body-fixed frame (B-Frame).
formalisms [4]. Alternatively, empirical input-output Motion is controlled by a main thrust U1 and three
data could be collected from a real, working quadro- torques U2 , U3 and U4 . Thus it is an underactu-
tor. These data could then be used to construct a Fuzzy ated system. Furthermore, the dynamical model of
Model (FM) [18] or an Artificial Neural Network the quadrotor is defined by the state-space function
(ANN) model [11, 41]. This data-driven approach has q̈ = fq (q, q̇, U1 , U2 , U3 , U4 ) which is usually non-
the advantage that unknown dynamics that are not linear [34]. In order to simplify the control of the
considered by Newtonian analysis could be captured quadrotor, the system is typically decomposed into
by the empirical observations. However, it is difficult two subsystems – a translational subsystem and a
to evaluate the quality of these FM and ANN mod- rotational subsystem. Let the system state of the trans-
els. Gaussian Process (GP) modelling is an alternative lational subsystem be xξ = [x, ẋ, y, ẏ, z, ż]T ∈ R6
data-driven technique based on Bayesian theory. Com- and its control be uξ = [U1 , ux , uy ]T ∈ R3 . The
pared to ANN and FM, a major advantage is that the dynamics of this subsystem can be described by [34]
quality of obtained GP model can be directly evaluated  
ẋξ = fξ xξ , uξ +  ξ (1)
by GP variances which are naturally computed dur-
ing the modelling and prediction processes. GP based where fξ : R6 × R3 → R6 is nonlinear and is usually
technique has recently been used to learn the flight corrupted by white noises  ξ ∈ R6 . ux and uy are
model of Unmanned Aerial Vehicle (UAV) [19, 20] two intermediate controls to actuate the translational
and quadrotors [3, 8]. subsystem and are given by
The cost functions used in early GP based MPC ux = cos φ sin θ cos ψ + sin φ sin ψ
problems are deterministic even though the GP mod- (2)
uy = cos φ sin θ sin ψ − sin φ cos ψ
els are probabilistic [15, 24–26]. This issue has been
addressed recently in [6, 8, 22] where the expecta- Similarly, let xη = [φ, φ̇, θ, θ̇, ψ, ψ̇]T ∈ R6 and
tion of the cost function is used instead, as proposed uη = [U2 , U3 , U4 ]T ∈ R3 be the state and control for
in [30]. However, these works did not take into consi- the rotational subsystem. Its system equation is given
deration any constraint on system inputs and outputs. In by [34]
 
addition, a computationally efficient method is required ẋη = fη xη , uη +  η (3)
to solve the resulting GP based MPC optimization
where fη : R6 × R3 → R6 is another nonlinear
problem which is usually nonlinear and non-convex.
function and  η ∈ R6 represents the white noise.
In this article, a hierarchical control scheme is
applied to the trajectory tracking problem of a quadro-
2.1 GP Modelling
tor, where a translational subsystem forms the outer
loop and a rotational subsystem is in the inner loop
The system Eqs. 1 and 3 of both subsystems can
[2, 34]. Each subsystem is independently modelled
be expressed in the following general form in the
by a GP model. We propose a GP based MPC
discrete-time domain by
control scheme, referred to as GPMPC, solve the
resulting two MPC tracking problems. It tackles the xk+1 = f (xk , uk ) + wk (4)
J Intell Robot Syst (2017) 88:147–162 149

where xk ∈ Rn denotes an n-dimensional state vec- where


tor and uk ∈ Rm represents an m-dimensional input
vector at the sampling time k. f : Rn × Rm → Rn μk+1 = xk + m(x̃∗k ) (8a)
is a discrete nonlinear function, and wk ∈ Rn is
Gaussian white noise. To learn such an unknown func-  k+1 = σ 2
(x̃∗k ) (8b)
tion f (·) using GP modelling techniques, a natural
choice for the model inputs and outputs are the state- Typically, the hyperparameters of the GP model
control tuple x̃k = (xk , uk ) ∈ Rn+m and the next state are learned by maximizing the log-likelihood function
xk+1 respectively. However, in practice, the difference given by
xk = xk+1 − xk ∈ Rn is usually smaller less than the
values of xk . Thus it is more advantageous to use xk  
1 1  −1 
as the model output instead [9]. log p(y|X̃, θ ) = − yT K−1
σ y − log Kσ 
2 2 (9)
A GP model is completely specified by its mean D
and covariance function [35]. Assuming that the mean − log(2π )
2
of the model input x̃k is zero, the squared exponential
covariance is given by K(x̃i , x̃j ) = σs2 exp(− 12 (x̃i − This results in a nonlinear non-convex optimization
x̃j )T Λ(x̃i − x̃j )) + σn2 , where i and j denote two problem that is traditionally solved by using Con-
sampling time steps. The parameters σs2 , σn2 and the jugate Gradient (CG) or Broyden-Fletcher-Goldfarb-
entries of matrix Λ ∈ R(n+m)×(n+m) (usually is a Shanno (BFGS) algorithms.
diagonal matrix) are referred to as the hyperparame-
ters θ of a GP model. Given D training inputs X̃ = 2.2 Uncertainty Propagation
[x̃1 , · · · , x̃D ] ∈ R(n+m)×D and their corresponding
training targets y = [x1 , · · · , xD ]T ∈ RnD , the With the GP model obtained, one-step-ahead predic-
joint distribution between y and a test target x∗k cor- tions can be made by using Eqs. 6 and 8. When
responding to the test input x̃∗k at sampling time k is multiple-step predictions are required, the conven-
assumed to follow a Gaussian distribution. That is tional way is to iteratively perform multiple one-step-
    ahead predictions using the estimated mean values.
y K(X̃, X̃) + σn I K(X̃, x̃∗k )
p ∼ N 0, (5) However, this process does not take into account the
x∗k K(x̃∗k , X̃) K(x̃∗k , x̃∗k ) uncertainties introduced by each successive predic-
tion. This issue has been shown to be important in
where N (·) denotes a multivariate Gaussian distri- time-series predictions [14].
bution and 0 ∈ RnD is a zero vector. In addition, The uncertainty propagation problem can be dealt
the posterior distribution over the observations can be with by assuming that the joint distribution of the
obtained by restricting the joint distribution to only training inputs is uncertain and follows a Gaussian
contain those targets that agree with the observations. distribution. That is,
This is achieved by conditioning the joint distribution
on the observations, and results in the predictive mean  
˜ k)
p(x̃k ) = p xk , uk ∼ N (μ̃k ,  (10)
and variance function as follows [35]

m(x̃∗k ) = Ef [x∗k ] = K(x̃∗k , X̃)K−1


σ y (6a) with mean and variance given by
σ 2
(x̃∗k ) = Varf [x∗k ] = K(x̃∗k , x̃∗k ) (6b)
 T
− K(x̃∗k , X̃)K−1 ∗
σ K(X̃, x̃k ) μ̃k = μk , E [uk ] (11a)

˜k = k Cov [xk , uk ]
where Kσ = K(X̃, X̃)+σn I. The state at the next sam-  (11b)
Cov [uk , xk ] Var [uk ]
pling time k + 1 also follows a Gaussian distribution.
That is
where Cov [xk , uk ] = E [xk uk ] − μk E [uk ]. Here,
E [uk ] and Var [uk ] are the mean and variance of the
p(xk+1 ) ∼ N (μk+1 ,  k+1 ) (7) system controls.
150 J Intell Robot Syst (2017) 88:147–162

The exact predictive distribution of the training tar- obtained. Finally, the optimal control inputs U1 , U2 ,
get could then be obtained by integrating over the U3 and U4 are applied to the quadrotor.
training input distribution: For a horizon of H ≥ 1, the discrete MPC trajec-
tory tracking problem in the outer loop is given by
p(x∗k ) = p(f (x̃∗k )|x̃∗k )p(x̃∗k )d x̃∗k (12)
H 
   2 
However, this integral is analytically intractable.  ξ ξ 2  ξ 
min xk+i − rk+i  ξ + uk+i−1  ξ (15a)
Numerical solutions can be obtained using Monte- uξ (·) Q R
i=1
Carlo simulation techniques. In [5], a moment- ξ ξ ξ
s.t. xk+i+1 = f1 (xk+i , uk+i−1 ) (15b)
matching based approach is proposed to obtain an
ξ ξ
analytical Gaussian approximation. The mean and xmin ≤ xk+i ≤ xξmax (15c)
variance at an uncertain input can be obtained through ξ ξ
umin ≤ uk+i−1 ≤ uξmax (15d)
the laws of iterated expectations and conditional vari-
ances respectively [9]. They are given by where the f1 (·) represents
  the GP model
 of the trans-
  lational subsystem.  · Qξ and  · Rξ denote the
m(x̃∗k ) = Ex̃∗k Ef x∗k (13a) two 2-norms weighted by positive definite matri-
ξ ξ
    ces Qξ and Rξ respectively. xk+i and uk+i−1 are
σ 2 (x̃∗k ) = Ex̃∗k Varf x∗k + Varx̃∗k Ef x∗k (13b) ξ
the system states and control inputs, and rk+i =
Equation 8 then becomes [xd,k+i , yd,k+i , zd,k+i ]T denotes the desired positions
ξ ξ ξ
at time k + i. In addition, xmax ≥ xmin and umax ≥
μk+1 = μk + m(x̃∗k ) (14a) ξ
umax are the upper and lower bounds of the system
 k+1 =  k + σ 2 (x̃∗k ) (14b) states and control inputs respectively.
   
+Cov xk , xk + Cov xk , xk In the same way, for the inner loop, the dis-
crete MPC optimization problem is given by
The computational complexity of GP inference
using Eq. 13 is O(D 2 n2 (n + m)) which is quite H 
 
 η η   η 2
min  2  
xk+i − rk+i Qη + uk+i−1 Rη (16a)
high. Hence, GP is normally only suitable for prob- η
u (·)
lems with limited dimensions (under 12 as suggested i=1
η η η
by most publications) and limited size of training s.t. xk+i+1 = f2 (xk+i , uk+i−1 ) (16b)
η η
data. For problems with higher dimensions, sparse GP xmin ≤ xk+i ≤ xηmax (16c)
approaches [33] are often used. η η
umin ≤ uk+i−1 ≤ uηmax (16d)
where f2 (·) represents the GP model of the rotational
3 Control Problem Formulation subsystem.
Problems (15) and (16) can be rewritten in the
3.1 MPC Problem for Subsystems following general form:
V∗k = min J (xk , uk−1 , rk ) (17a)
With the quadrotor system decomposed into two sub- u(·)
systems, a hierarchical structure as shown in Fig. 1 s.t. xk+i|k = f (xk+i−1|k , uk+i−1 ) (17b)
can be used for the controller [2, 34]. In the outer
xmin ≤ xk+i|k ≤ xmax (17c)
loop, the translational subsystem is controlled to fol-
low a sequence of desired positions [xd , yd , zd ]T . The umin ≤ uk+i−1 ≤ umax (17d)
optimal control U1 and two intermediate controls ux i = 1, · · · , H
and uy are obtained by minimizing the tracking errors.
with the quadratic cost function
With ψd = 0, the desired attitudes θd and φd can be
obtained using Eq. 2. Then, the rotational subsystem’s J (xk , uk−1 , rk )
attitudes [φ, θ, ψ]T are tuned to achieve the given tar- H 
      (18)
get values in the inner loop. By minimizing attitude = xk+i − rk+i 2 + uk+i−1 2
Q R
errors, the optimal controls U2 , U3 and U4 can be i=1
J Intell Robot Syst (2017) 88:147–162 151

Fig. 1 The Overall Control Scheme for Quadrotor

It should be noted that the control horizon is assumed In practice,


 the controls are deterministic. Hence,
to be equal to the prediction horizon H in this E u2k = u2k and Eq. 21 becomes
paper. In the rest of this article, the cost function
J (xk , uk−1 , rk ) shall be rewritten as J (xk , uk−1 ) for  
E J (xk , uk−1 )
brevity. H 
  2  2 
= E xk+i − rk+i Q + uk+i−1 R
3.2 MPC with GP Models i=1
H 
      
When the dynamical system is described by a GP = μk+i − rk+i 2 + uk+i−1 2 + trace Q k+i
Q R
model, the original problem (17) becomes a stochastic i=1
 
one [16]. The minimization should be performed over = h μk , uk−1
the expected value of J (·) instead and the constraints (22)
are modified as follows.
  The elaboration of Eq. 22 can be found in Appendix.
V∗k = min E J (xk , uk−1 ) (19a)
u(·) With this cost function and the state constraints (20),
s.t. p(xk+1 |xk ) ∼ N (μk+1 ,  k+1 ) (19b) we are able to relax the original stochastic optimiza-
umin ≤ uk+i−1 ≤ umax (19c) tion problem (19) to a deterministic nonlinear one.
  Furthermore, the resulting deterministic cost function
p xk+i|k ≥ xmin ≥ η (19d)
  involves the model variance . This allows model
p xk+i|k ≤ xmax ≥ η (19e)
uncertainties to be explicitly included in the computa-
where η denotes a confidence level. For η = 0.95, the tion of optimized controls.
chance constraints (19d) and (19e) are equivalent to
μk+i − 2 k+i ≥ xmin (20a)
μk+i + 2 k+i ≤ xmax (20b) 4 Proposed Solution

Given (18), Solving the constrained MPC optimization problem


  (22) with state constraints (20) is not simple because
E J (xk , uk−1 )
H 
it is typically nonlinear and non-convex. Solving non-
    
=E xk+i − rk+i 2 + uk+i−1 2 } convex problems due to they are computationally
Q R
i=1
complicated and have multiple local optima. This sig-
nificantly limits the application of MPC in real world

H
 2  2
= E xk+i − rk+i Q + uk+i−1 R problems. An effective and efficient solution method
i=1 is therefore very important [36–40, 43]. A conven-
H 
  tional approach is to use derivative-based methods
 2  2
=    
E xk+i − rk+i Q + E uk+i−1 R such as Sequential Quadratic Programming (SQP) and
i=1 interior-point algorithms [10]. When the derivatives of
(21) the cost function are unavailable or are too difficult
152 J Intell Robot Syst (2017) 88:147–162

to compute, they could be iteratively approximated by with the entries given by


using sampling methods [27, 28]. An alternative solu-
tion is to use evolutionary algorithms such as Particle ∂μk+1 ∂μk+1 ∂ k
√ = √ (26a)
Swarm Optimization (PSO) [44]. A more complete ∂ k ∂ k ∂  k
√ √
review of solution methods can be found in [10]. ∂  k+1 ∂  k+1 ∂ k+1
In this section, we present our proposed solution = (26b)
∂μk ∂ k+1 ∂μk
which is by local linearization. This allows the original √ √
∂  k+1 ∂  k+1 ∂ k+1 ∂ k
problem to be relaxed into a convex one which can √ = √ (26c)
∂ k ∂ k+1 ∂ k ∂  k
then be solved efficiently by active-set methods. √ √
∂  k+1 ∂  k+1 ∂ k+1
= (26d)
4.1 GP Based Local Dynamical Model ∂uk ∂ k+1 ∂uk
√ √
∂  k+1
There are many different ways by which a GP model Since ∂ k
∂ k = √1
2 k
and ∂ k+1 = √1 , they
2  k+1
could be linearised. In [3], a GP based local dynam-
can be expressed as
ical model allows standard robust control methods
to be used on the partially unknown system directly. ∂μk+1 ∂μk+1 ∂ μ̃k ∂μk+1 ∂ ˜k
Another GP based local dynamical model is proposed = + (27a)
∂ k ∂ μ̃k ∂ k ∂˜ k ∂ k
in [32] to integrate GP model with dynamic program-
ming. In these two cases, the nonlinear optimization ∂ k+1 ∂ k+1 ∂ μ̃k ˜k
∂ k+1 ∂ 
= + (27b)
problems considered are unconstrained. ∂μk ∂ μ̃k ∂μk ˜
∂  k ∂μk
In this paper, we propose a different GP based local ∂ k+1 ∂ k+1 ∂ μ̃k ˜k
∂ k+1 ∂ 
model. In this local model, xk in Eq. 4 is replaced by = + (27c)
√ 2 ∂ k ∂ μ̃k ∂ k ∂˜ k ∂ k
sk = [μk , vec(  k )]T ∈ Rn+n . Here, vec(·) denotes
∂ k+1 ∂ k+1 ∂ μ̃k ˜k
∂ k+1 ∂ 
the vectorization of a matrix1 Hence (4) becomes = + (27d)
∂uk ∂ μ̃k ∂uk ∂˜ k ∂uk
sk+1 = F (sk , uk ) (23) ∂ μ̃k ˜k
∂
∂ k and ∂ k can be easily obtained based on Eq. 11.
∂ k+1 ∂ k+1
Linearizing
 at∗ the operating point (s∗k , u∗k ) where s∗k = Elaborations of ∂ μ̃k and ˜k
∂
can be found in [9].

[μk , vec(  k )] , we have
T
4.2 Problem Reformulation
∂F ∂F
sk+1 = sk + uk (24) Based on the local model derived above, define the
∂sk ∂uk
state variable as
Here, sk = sk −s∗k and uk = uk −u∗k . The Jacobian  T 2
Zk+1 = sk+1|k , · · · , sk+H |k ∈ RH (n+n )
matrices are  
= [μk+1 ,  k+1 , · · · , μk+H ,  k+H ]T (28)
⎡ ∂μ ∂μk+1

k+1 √
∂F
= ⎣ ∂ √kk+1 ∂ √ k+1
∂μ ∂  k ⎦ 2 2
∈ R(n+n )×(n+n ) (25a) Also, let
∂sk √
∂μk ∂ k  T
⎡ ⎤ Uk = uk , · · · , uk+H −1 ∈ RH m (29)
∂μk+1
∂F √  T
= ∂ kk+1 ⎦ ∈ R(n+n )×m
⎣ r∗k+1 = rk+1 , 0, · · · , rk+H , 0 ∈ RH (n+n )
∂u 2 2
(25b) (30)
∂uk
∂uk
Problem (19) then becomes
 2 
min Zk+1 − r∗  + Uk+1 2
(31a)
k+1 Q̃ R̃
U
1
k is a real symmetric matrix therefore can be diagonalized. s.t. IH n xmin ≤ Mz Zk+1 ≤ IH n xmax (31b)
The square root of a diagonal matrix can simply be obtained by
computing the square roots of diagonal entries. IH m umin ≤ Uk+1 ≤ IH m umax (31c)
J Intell Robot Syst (2017) 88:147–162 153

where Based on Eqs. 34 and 37, problem (31) can be


expressed in a more compact form as
Q̃ = diag{[Q, diag{vec(Q)}, · · · , Q, 1
min Uk 2
 + ψ T Uk + C (38a)
H (n+n2 )×H (n+n2 ) U 2
diag{vec(Q)}]} ∈ R
Tu
(32) s.t. Umin ≤ Uk ≤ Umax (38b)
Tz B̃
where
R̃ = diag{[R, · · · , R]} ∈ RH m×H m , Ia ∈ Ra is the
identity vector, and  = B̃T TTz Q̃Tz B̃ + TTu R̃Tu ∈ RH m×H m (39a)
ψ = 2(sk Q̃Tz B̃ + sk ÃT Q̃B̃ (39b)
⎡ ⎤
ITn 2ITn20 0 ··· 0 −r∗k+1 Q̃Tz B̃ + uk−1 R̃Tu ) ∈ RH m (39c)
⎢ 0 ITn 2ITn2 ··· 0 ⎥
⎢ 0 ⎥ H ×H (n+n2 ) C= (s2k + r∗k+1 )Q̃ + 2sk sk Q̃Tz à (39d)
Mz = ⎢ .. .. .. .. .. .. ⎥ ∈ R
⎣ . . . . . . ⎦ +u2k−1 R̃ + s2k ÃT Q̃Ã (39e)
0 0 0 ··· InT 2I T
n2 −2r∗k+1 (sk Q̃ − sk Q̃Tz Ã) (39f)
(33)
IH m (umin − uk−1 )
Umin = (39g)
IH (n+n2 ) (xmin − sk − Tz Ãsk )
Let Tu ∈ RH m×H m
be a lower triangular matrices
IH m (umax − uk−1 )
with unit entries. Then, Umax = (39h)
IH (n+n2 ) (xmax − sk − Tz Ãsk )

Uk = IH m uk−1 + Tu Uk . (34) Since Q̃, R̃, Tz and Tu are positive definite,  is
also positive definite. Hence (38) is a constrained QP
problem and is strictly convex. The solution will there-
The change in Zk+1 can be expressed as
fore be unique and satisfies the Karush-Kahn-Tucker
(KKT) conditions.
Zk+1 = Ãsk + B̃Uk (35)
4.3 Optimization Using Active-Set
based on the local model, with the state and control
matrices given by The optimization problem (38) can be solved by an
active-set method [13]. It iteratively seeks an active
(or working) set of constraints and solve an equal-
T 2 ity constrained QP problem until the optimal solution
à = A, A2 , · · · , AH ∈ RH (n+n ) (36a)
⎡ ⎤
is found. The advantage of this method is that accu-
B 0 ··· 0 rate solutions can still be obtained even when they
⎢ AB B ··· 0 ⎥
B̃ = ⎢ .. .. .. .. ⎥
2
∈ RH (n+n )×H m (36b) are ill-conditioned or degenerated. In addition, it is
⎣ . . . . ⎦ conceptually simple and easy to implement. A warm-
AH −1 B AH −2 B ··· B start technique could also be used to accelerate the
optimization process substantially.
where A and B are the two Jacobian matrices (25) Let G = [Tu , Tz B̃]T , the constraint (38b) can be
and (26) respectively. The corresponding state variable written as
Zk+1 is therefore given by G Umax
U ≤ (40)
−G −Umin
 
Zk+1 = sk + Tz Ãsk + B̃Uk (37) Ignoring the constant term C, problem (38) becomes
1
min Uk 2 + ψ T Uk (41a)
where Tz ∈ R H (n+n2 )×H (n+n2 )
denotes a lower trian- U 2
gular matrix with unit entries. s.t. G̃Uk ≤ ˜U (41b)
154 J Intell Robot Syst (2017) 88:147–162

where λ∗k ∈ R2H (m+n+n ) denotes the vector of


2 2
where G̃ = [G, −G]T ∈ R2H (m+n+n )×H m and
˜ U = [Umax , −Umin ]T ∈ R2H (m+n+n2 ) . Lagrangian multipliers, G̃A ⊆ G̃ and  ˜ U,A ⊂ ˜U
Let U be the set of feasible points, and I = are the weighting matrix and the upper bounds of the
{1, · · · , 2H (m + n + n2 )} be the constraint index set. j
constraints w.r.t. Wk . Let the inverse of Lagrangian
For a feasible point U∗k ∈ U , the index set for the matrix be denoted by
active set of constraints is defined as
−1
˜ U,i }  G̃TA L1 LT2
A(U∗k ) = {i ⊆ I |G̃i U∗k = (42) = (47)
G̃A 0 L2 L3
where G̃i is the i th row of G̃ and  ˜ U,i is the i th row
˜ If this inverse exists, then the solution is given by
of the U . The inactive set is therefore given by
j
B (U∗k ) = I \ A(U∗k ) δ j = − L1 (ψ + Uk )
(43) ˜ U,A − G̃A U )
+ LT2 (
j
˜ U,i }
= {i ⊆ I |G̃i U∗k <  k (48a)
λ∗k = − L2 (ψ
j
+ Uk )
j
Given any iteration j , the working set Wk
contains all ˜ U,A − G̃A U )
+ L3 (
j
(48b)
k
the equality constraints plus the inequality constraints
in the active set. The following QP problem subject to where
j
the equality constraints w.r.t. Wk is considered given
j
the feasible points Uk ∈ U : L1 = −1 − −1 G̃TA (G̃A −1 G̃TA )−1 G̃A −1 (49a)

1 2 L2 = −1 G̃TA (G̃A −1 (49b)


 j  j
min Uk + δ j  + ψ T (Uk + δ j ) (44a) L3 = −(G̃A  −1
G̃TA )−1 (49c)
δj 2 
1 
 2 j
= min δ j  + (ψ + Uk )T δ j (44b) If δ j = 0, then the set of feasible points Uk fails
j
δj 2 
1

j 2 j
to minimize problem (41). In this case, the next set
+ Uk  + ψ T Uk of feasible point is computed for the next iteration by
2
 
! " j +1 j
constant
Uk = Uk + κ j δ j with step size

s.t.
j
G̃i (Uk + δ j ) ˜ U,i , i ∈ W j
= (44c) % &
k ˜ U,i − G̃i Uj

κ j = min 1, min k
(50)
This problem can be simplified by ignoring the i∈B(Uk )
j G̃i δ j
constant term to:
If κ j
1  < 1, the inequality constraint with index
 2 j ˜ U,i −G̃i Uj
min δ j  + (ψ + Uk )T δ j (45a) q = argmini∈B(Uj )
 k
should be “acti-
δj 2 
k G̃i δ j
j +1 j
1 T j vated”, giving the working set Wk = Wk ∪ q.
= min δ j δ j + (ψ + Uk )T δ j (45b) j +1 j
δj 2 Otherwise, we have Wk = Wk .
˜ U,i − G̃i U , i ∈ W
s.t. G̃i δ j = 
j j
(45c) Alternatively, if the solution gives δ = 0, then the
j
k k j
current feasible points Uk could be the optimal solu-
By applying the KKT conditions to problem (45), tion. This can be verified by checking the Lagrangian
we can obtain the following linear equations: multiplier λ∗k = mini∈W j ∩I λ∗k,i . If λ∗k ≥ 0, the
k
# $ optimal solution of the (41) at sampling time k is
j
 G̃TA δj −ψ − Uk found. Otherwise, this inequality constraint indexed
= (46)
G̃A 0 λ∗k ˜ j
U,A − G̃A Uk by p = argmini∈W j ∩I λ∗k,i should be removed from
 ! " k
j +1 j
Lagrangian Matrix the current working set, giving us Wk = Wk \ p.
J Intell Robot Syst (2017) 88:147–162 155

Algorithm 1 summarizes the active-set algorithm used


in the GPMPC.

4.4 Implementation Issues matrix with m1 = rank(G̃A ). Q ∈ RH m×H m is an


orthogonal matrix that can be further decomposed to
The key to solving equation (46) is the inverse of Q = [Q1 Q2 ] where Q1 ∈ RH m×m1 and Q2 ∈
the Lagrangian matrix. However, G̃A is not always RH m×(H m−m1 ) . Thus, GTA = Q = Q1 R and
full ranked. Thus the Lagrangian matrix is not always L1 = Q2 (QT2 Q2 )−1 QT2 (51a)
invertible. This problem can be solved by decompos-
−1 T −1 T
ing G̃A using QR factorization, giving us GTA = L2 = Q 1 R − L1 Q1 R (51b)
−1
Q [R 0]T where R ∈ Rm1 ×m1 is an upper triangular L3 = R QT1 L2 (51c)
156 J Intell Robot Syst (2017) 88:147–162

The second issue relates to using the appropri- Table 1 Prediction training and test MSE values of the GP
ate warm-start technique to improve the convergence models in the “Elliptical” tracking problems
rate of the active-set method. For GPMPC, since the Size Training Test Average Var
changes in the state between two successive sam-
pling instants are usually quite small, we can sim- “Trans” 10 2.2485e-4 1.4806 1.0231
ply use the previous value U∗k at sampling time k 50 4.1787e-6 1.2531 0.1074
as the starting point U0k+1 for the next sampling 100 3.0511e-7 1.6733e-6 0.0057
time k + 1. This warm-start technique is usually 189 1.0132e-7 1.0132e-7 2.4843e-4
employed in MPC optimizations because of its proven “Rotate” 10 2.7443e-6 2.3232e-4 2.1150e-4
effectiveness [42]. 50 3.0020e-8 1.0502e-6 1.0853e-4
100 2.8578e-9 7.5105e-8 1.0620e-4
189 1.0457e-9 1.0457e-9 1.0590e-4
5 Simulation Results
(“Trans” denotes the translational subsystem and “Rotate” rep-
The performance of GPMPC for quadrotor trajec- resents the rotational subsystem)
tory tracking is evaluated by computer simulations.
The parameters of translational and rotational sub-
systems in the numerical quadrotor system are the For each trajectory, 189 observations which consist
same as those used in [2]. All simulations are inde- of inputs, states and outputs are collected for use in
pendently repeated 50 times on a computer with a GP model training. The initial state and initial control
3.40GHz Intel CoreTM 2 Duo CPU with 16 GB input are zero. The weighting matrices Q and R are
RAM, using Matlab version 8.1. The simulation identity matrices. Sampling frequency fs is 1 Hz.
results presented below are the average values from 50
independent trials. 5.1 Modelling Results
Two non-trivial trajectories are used. They are
referred to as “Elliptical” and “Lorenz” trajectories The first set of results show how well the GP models
and are shown as red dotted lines in Fig. 4a and b) are trained with different sizes of training data. The
respectively. The quadrotor subsystems are subject to full set of 189 data are used for testing. As given
external Gaussian white noise with zero mean and unit in Tables 1 and 2, the obtained GP models capture
variance. The constraints on the control inputs of the
translational subsystem are 0 ≤ U1 (k) ≤ 100, −0.2 ≤
ux (k) ≤ 0.2, −0.2 ≤ uy (k) ≤ 0.2 for the “Ellipti- Table 2 Prediction training and test MSE values of the GP
cal” trajectory, and they are −45 ≤ u1 (k) ≤ 0, −2 ≤ models in the “Lorenz” tracking problems
ux (k) ≤ 2, −2 ≤ uy (k) ≤ 2 for the “Lorenz” tra-
Size Training Test verage Var
jectory. For the rotational subsystem, all observations
are scaled to the range [0.1, 0.9]. The inputs are scaled “Trans” 10 4.0309e-4 2.6872 4.7156
accordingly. This is necessary because the numerical 50 1.1986e-4 1.1820 1.1696
range of the original data is very large. For example, 100 6.5945e-6 0.0122 0.0105
the unscaled angle φ lies in the range [−1.57, 1.57] 189 3.0415e-6 3.0415e-6 1.0870e-4
while input U4 lies in the range [−3.2, 6.2] × 10−8 . “Rotate” 10 1.0511e-5 0.0044 3.1641e-4
Using the scaled data leads to much improved training 50 9.4195e-7 4.2896e-5 1.0686e-4
results. 100 3.9616e-8 2.7571e-6 1.0607e-4
To generate observations for GP modelling, the tra- 189 9.2117e-9 9.2117e-9 1.0566e-4
jectory tracking tasks are first performed by using the
Nonlinear Model Predictive Control (NMPC) strat- (“Trans” denotes the translational subsystem and “Rotat” repre-
egy proposed in [17] but without input constraints. sents the rotational subsystem)
J Intell Robot Syst (2017) 88:147–162 157

the training data well as the training MSE values 5.2 Control Results
are small. The prediction accuracies reflected by the
test MSE values show a sudden drop when sufficiently The GP models used in the control tasks are trained
large training sizes are used. The computational time with all 189 observations because this ensures that
required for training averages from approximately the best quality models are obtained. The performance
1.12 seconds for a size of 10 to 4.01 seconds for a size of using proposed GPMPC scheme is compared with
of 189. using an exiting GP based MPC algorithm (referred

Translational Subsystem Tracking Control Inputs in Translational Subsystem


20 100
X[m]

U1
0 50 NMPC
Nonlinear GPMPC
GPMPC
−20 0
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
20 0.5
Y[m]

x
0 0

u
−20 −0.5
0 20 40 60 80 100 120 140 160
Reference 180 0 20 40 60 80 100 120 140 160 180
50 NMPC 0.5
Nonlinear GPMPC
0 GPMPC
Z[m]

0
u

−50

−100 −0.5
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
sample time k sample time k

(a) Translational Subsystem (b) Translational Subsystem


Controlled Outputs Control Inputs

Rotational Subsystem Tracking Control Inputs in Rotational Subsystem


0.5 0.02
φ[rad]

0 0
U

−0.5 −0.02
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180

0.5 0.02
θ[rad]

0 0
U

−0.5 Reference −0.02


0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
−6 NMPC −8 NMPC
x 10 Nonlinear GPMPC x 10
1 5 Nonlinear GPMPC
GPMPC GPMPC
ψ[rad]

0 0
U

−1 −5
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
sample time k sample time k

(c) Rotational Subsystem (d) Rotational Subsystem


Controlled Outputs Control Inputs
Fig. 2 Controlled outputs and control inputs by using the proposed GPMPC for the both two subsystems in the “Elliptical” trajectory
158 J Intell Robot Syst (2017) 88:147–162

to as “nonlinear GPMPC”) proposed in [23]. Even previous work in [7] has demonstrated that the pro-
though our optimization problem (19) with cost func- posed GPMPC can efficiently be used with a longer
tion (22) is more complicated than the one considered horizon.
in [23], they are essentially similar. In addition, we The control results for the two trajectories are
choose H = 1 as the prediction horizon. Theoret- shown in Figs. 2 and 3. They show that NMPC has
ically, larger values of H is necessary to guarantee the best tracking control performance. However, it
the stability of MPC controllers. However, since solv- should be noted that NMPC does not place any con-
ing the nonlinear GPMPC problem with larger values straints on the control inputs. In general, the proposed
of H effectively is an open problem, we restrict H GPMPC is able to closely follow the desired position
to be 1 in order to make proper comparisons. Our and attitude values with constrained control inputs.

Translational Subsystem Tracking Reference Control Inputs in Translational Subsystem


20 NMPC 0
Nonlinear GPMPC
GPMPC −20
X[m]

U1
0
−40

−20 −60
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
20 2

0
Y[m]

ux
0 NMPC
−2 Nonlinear GPMPC
GPMPC
−20 −4
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
60 5

40
Z[m]

uy

0
20

0 −5
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
sample time k sample time k

(a) Translational Subsystem (b) Translational Subsystem


Controlled Outputs Control Inputs

Rotational Subsystem Tracking Control Inputs in Rotational Subsystem


2 0.05
φ[rad]

0 0
U

−2 Reference −0.05
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
NMPC
Nonlinear GPMPC
2 0.05
GPMPC
θ[rad]

0 0
U

−2 −0.05
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
−6 −7 NMPC
x 10 x 10
2 1 Nonlinear GPMPC
GPMPC
ψ[rad]

0 0
U

−2 −1
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
sample time k sample time k

(c) Rotational Subsystem (d) Rotational Subsystem


Controlled Outputs Control Inputs
Fig. 3 Controlled outputs and control inputs by using the proposed GPMPC for the both two subsystems in the “Lorenz” trajectory
J Intell Robot Syst (2017) 88:147–162 159

Trajectory Tracking Trajectory Tracking


Reference
Nonlinear GPMPC Reference
GPMPC Nonlinear GPMPC
GPMPC
0 50

−10 40
−20
30
z[m]

z[m]
−30
20
−40

−50 10

−60 0
20 20
10 20 10 20
0 0
0 0
−10 −10
y[m] −20 −20 y[m] −20 −20
x[m] x[m]

(a) “Elliptical” (b) “Lorenz”


Fig. 4 The results of tracking “Elliptical” and “Lorenz” trajectories using the proposed control scheme

The overall trajectory tracking results through using by using a linearisation of GP models. The numeri-
the GPMPC based hierarchical control scheme are cal simulation results show that the proposed control
depicted graphically in Fig. 4a and b. scheme is able to closely track non-trivial trajectories.
Even with H = 1, the nonlinear GPMPC requires Its tracking performance is similar to using an NMPC
220 seconds and 272 seconds to compute all 189 method even though GPMPC has input constraints
control inputs for the “Elliptical” and “Lorenz” tra- while no input constraints are placed on NMPC. In
jectory respectively. This is in contrast to the pro- addition, compared to using an existing nonlinear
posed GPMPC algorithm which only takes 60 seconds GPMPC, the proposed GPMPC based control scheme
and 56 seconds. This demonstrates that the proposed has the advantage of solving the MPC problem much
GPMPC is computationally much more efficient than efficiently.
nonlinear GPMPC.

Appendix
6 Conclusions
First rewrite (22) as follows:
A new MPC algorithm is proposed for the quadro-
 
tor trajectory tracking problem where the quadrotor E J (xk , uk−1 )
models are trained from empirical data using GP H 
     
techniques. hierarchical control scheme based on a =E xk+i − rk+i 2 + uk+i−1 2
Q R
computationally efficient GP based for the quadro- i=1
tor trajectory tracking problem. Models of the trans- H 

lational and rotational subsystems are learnt from = E (xk+i − rk+i )T Q(xk+i − rk+i ) (52)
collected data using GP modelling techniques rather i=1  ! "
than by traditional Newtonian analysis. The proposed probabilistic term

GPMPC is able to computationally solve the result-
ing MPC tracking problems which are originally + uTk+i−1 Ruk+i−1
 ! "
non-convex but can be reformulated as convex ones determinisitc term
160 J Intell Robot Syst (2017) 88:147–162

Let Qab be the entries of Q thus Qab = [Q]ab References


and εab as the entries of  k thus εab = [ k ]ab , the
“probabilistic term” can be further derived to 1. Abdolhosseini, M., Zhang, Y., Rabbath, C.A.: An efficient
model predictive control scheme for an unmanned quadro-
tor helicopter. J. Intell. Robot. Syst. 70(1-4), 27–38 (2013)
2. Alexis, K., Nikolakopoulos, G., Tzes, A.: Switching model
E (xk+i − rk+i )T Q(xk+i − rk+i ) predictive attitude control for a quadrotor helicopter subject
to atmospheric disturbances. Control. Eng. Pract. 19(10),

N 
N
1195–1207 (2011)
=E Qab (xk+i,a − rk+i,a )(xk+i,b − rk+i,b )
3. Berkenkamp, F., Schoellig, A.P.: Learning-based robust
a=1 b=1
control: Guaranteeing stability while improving perfor-

N 
N mance. In: IEEE/RSJ Proceedings of International Confer-
= Qab E (xk+i,a − rk+i,a )(xk+i,b − rk+i,b ) ence on Intelligent Robots and Systems (IROS) (2014)
a=1 b=1 4. Bouabdallah, S., Noth, A., Siegwart, R.: PID vs LQ con-

N 
N  trol techniques applied to an indoor micro quadrotor.
   
= Qab E xk+i,a − rk+i,a E xk+i,b − rk+i,b In: IEEE/RSJ Proceedings of International Conference on
a=1 b=1 Intelligent Robots and Systems (IROS), vol. 3, pp. 2451–
  2456. IEEE (2004)
+ Cov (xk+i,a − rk+i,a ), (xk+i,b − rk+i,b ) 5. Candela, J.Q., Girard, A., Larsen, J., Rasmussen, C.E.:
 ! " Propagation of uncertainty in bayesian kernel models-
εab application to multiple-step ahead forecasting. In: IEEE
Proceedings of International Conference on Acoustics,

N 
N  
Speech, and Signal Processing (ICASSP), vol. 2, pp. II–
= Qab (μk+i,a − rk+i,a )(μk+i,a − rk+i,a ) + εab
701. IEEE (2003)
a=1 b=1
6. Cao, G., Lai, E.M.K., Alam, F.: Gaussian process based
(53) model predictive control for linear time varying systems.
In: International Workshop on Advanced Motion Control
where (AMC Workshop). IEEE (2016)
7. Cao, G., Lai, E.M.K., Alam, F.: Gaussian process model
predictive control of unknown nonlinear systems. IET Con-

N 
N
trol Theory & Applications. arXiv:1612.01211. Accepted
Qab (μk+i,a − rk+i,a )(μk+i,a − rk+i,a ) for publication (2016)
a=1 b=1
(54) 8. Cao, G., Lai, E.M.K., Alam, F.: Gaussian process model
predictive control of unmanned quadrotors. In: Interna-
= (μk+i − rk+i )T Q(μk+i − rk+i )
tional Conference on Control, Automation and Robotics
(ICCAR). IEEE (2016)
and 9. Deisenroth, M.P.: Efficient reinforcement learning using
Gaussian processes. Ph.D. thesis, Karlsruhe Institute of
Technology (2010)

N 
N
10. Diehl, M., Ferreau, H.J., Haverbeke, N.: Efficient numer-
Qab εab = trace(Q k+i ) (55)
ical methods for nonlinear MPC and moving horizon
a=1 b=1 estimation. International Workshop on Assessment and
Future Directions on Nonlinear Model Predictive Control,
Therefore, Eq. 52 can be obtained by pp. 391–417. Springer, Pavia (2008)
11. Dierks, T., Jagannathan, S.: Output feedback control of a
quadrotor UAV using neural networks. IEEE Trans. Neural
  Netw. 21(1), 50–66 (2010)
E J (xk , uk−1 ) 12. Doherty, P., Rudol, P.: A UAV search and rescue sce-
H 
 nario with human body detection and geolocalization. In:
= (μk+i − rk+i )T Q(μk+i − rk+i ) + uTk+i−1 Ruk+i−1 Advances in Artificial Intelligence, pp. 1–13. Springer
i=1 (2007)
 13. Fletcher, R.: Practical Methods of Optimization, 2nd edn.
+ trace(Q k+i ) Wiley-Interscience Publication (1987)
14. Girard, A., Rasmussen, C.E., Candela, J.Q., Murray-
H 
       Smith, R.: Gaussian process priors with uncertain input –
= μk+i − rk+i 2 + uk+i−1 2 + trace Q k+i Application to multiple-step ahead time series forecasting.
Q R
i=1 In: Advances in Neural Information Processing Systems
(56) (NIPS), pp. 545–552. MIT (2003)
J Intell Robot Syst (2017) 88:147–162 161

15. Grancharova, A., Johansen, T.A., Tøndel, P.: Computa- 31. Metni, N., Hamel, T.: A UAV for bridge inspection: Visual
tional aspects of approximate explicit nonlinear model pre- servoing control law with orientation limits. Autom. Con-
dictive control. In: Proceedings of the International Work- struct. 17(1), 3–10 (2007)
shop on Assessment and Future Directions of Nonlinear 32. Pan, Y., Theodorou, E.: Probabilistic differential dynamic
Model Predictive Control, pp. 181–192. Springer (2007) programming. In: Advances in Neural Information Process-
16. Grancharova, A., Kocijan, J., Johansen, T.A.: Explicit ing Systems (NIPS), pp. 1907–1915 (2014)
stochastic predictive control of combustion plants based on Gau- 33. Quiñonero-Candela, J., Rasmussen, C.E.: A unifying view
ssian process models. Automatica 44(6), 1621–1631 (2008) of sparse approximate Gaussian process regression. J.
17. Grüne, L., Pannek, J.: Nonlinear Model Predictive Control– Mach. Learn. Res. 6, 1939–1959 (2005)
Theory and Algorithms. Springer-Verlag, London (2011) 34. Raffo, G.V., Ortega, M.G., Rubio, F.R.: An integral pre-
18. Han, F., Feng, G., Wang, Y., Zhou, F.: Fuzzy modeling dictive/nonlinear H∞ control structure for a quadrotor
and control for a nonlinear quadrotor under network envi- helicopter. Automatica 46(1), 29–39 (2010)
ronment. In: IEEE 4th Annual International Conference on 35. Rasmussen, C., Williams, C.: Gaussian Processes for
Cyber Technology in Automation Control, and Intelligent Machine Learning. MIT Press, Cambridge (2006)
Systems (CYBER), pp. 395–400. IEEE (2014) 36. Valipour, M.: Application of new mass transfer formulae
19. Hemakumara, P., Sukkarieh, S.: Non-parametric UAV sys- for computation of evapotranspiration. J. Appl. Water Eng.
tem identification with dependent Gaussian processes. In: Res. 2(1), 33–46 (2014)
IEEE Proceedings of International Conference on Robotics 37. Valipour, M.: How much meteorological information is
and Automation (ICRA), pp. 4435–4441. IEEE (2011) necessary to achieve reliable accuracy for rainfall estima-
20. Hemakumara, P., Sukkarieh, S.: UAV parameter estima- tions? Agriculture 6(4), 53 (2016)
tion with multi-output local and global Gaussian pro- 38. Valipour, M.: Optimization of neural networks for precipi-
cess approximations. In: IEEE Proceedings of Interna- tation analysis in a humid region to detect drought and wet
tional Conference on Robotics and Automation (ICRA), pp. year alarms. Meteorol. Appl. 23(1), 91–100 (2016)
5402–5408. IEEE (2013) 39. Valipour, M.: Variations of land use and irrigation for next
21. Huang, M., Xian, B., Diao, C., Yang, K., Feng, Y.: Adap- decades under different scenarios. IRRIGA: Braz. J. Irrig.
tive tracking control of underactuated quadrotor unmanned Drain. 1(01), 262–288 (2016)
aerial vehicles via backstepping. In: American Control 40. Valipour, M., Sefidkouhi, M.A.G., Raeini, M., et al.: Select-
Conference, pp. 2076–2081. IEEE (2010) ing the best model to estimate potential evapotranspiration
22. Klenske, E.D., Zeilinger, M.N., Scholkopf, B., Hennig, P.: with respect to climate change and magnitudes of extreme
Gaussian process-based predictive control for periodic error events. Agric. Water Manag. 180, 50–60 (2017)
correction. IEEE Trans. Control Syst. Technol. (2015) 41. Voos, H.: Nonlinear and neural network-based control of a
23. Kocijan, J., Murray-Smith, R.: Murray-Smith nonlinear small four-rotor aerial robot. In: 2007 IEEE/ASME Interna-
predictive control with a Gaussian process model. In: In, tional Conference on Advanced Intelligent Mechatronics,
R., Shorten, R. (eds.) Switching and Learning in Feed- pp. 1–6. IEEE (2007)
back Systems, pp. 185–200. Springer, Heidelberger, Berlin, 42. Wang, Y., Boyd, S.: Fast model predictive control using
Germany (2005) online optimization. IEEE Trans. Control Syst. Technol.
24. Kocijan, J., Murray-Smith, R., Rasmussen, C.E., Girard, A.: 18(2), 267–278 (2010)
Gaussian process model based predictive control. In: American 43. Yannopoulos, S.I., Lyberatos, G., Theodossiou, N., Li, W.,
Control Conference, vol. 3, pp. 2214–2219. IEEE (2004) Valipour, M., Tamburrino, A., Angelakis, A.N.: Evolu-
25. Kocijan, J., Murray-Smith, R., Rasmussen, C.E., Likar, B.: tion of water lifting devices (pumps) over the centuries
Predictive control with Gaussian process models. Proceed- worldwide. Water 7(9), 5031–5060 (2015)
ings of IEEE Region 8 EUROCON 2003: Computer as a 44. Yiqing, L., Xigang, Y., Yongjian, L.: An improved PSO
Tool, vol. A, pp. 352–356. IEEE, Ljubljana (2003) algorithm for solving non-convex NLP/MINLP problems
26. Likar, B., Kocijan, J.: Predictive control of a gas–liquid sep-
with equality constraints. Comput. Chem. Eng. 31(3), 153–
aration plant based on a Gaussian process model. Comput.
162 (2007)
Chem. Eng. 31(3), 142–152 (2007)
45. Zuo, Z.: Trajectory tracking control design with command-
27. Liuzzi, G., Lucidi, S., Sciandrone, M.: Sequential penalty
filtered compensation for a quadrotor. IET Control Theory
derivative-free methods for nonlinear constrained optimiza-
Appl. 4(11), 2343–2355 (2010)
tion. SIAM J. Optim. 20(5), 2614–2635 (2010)
28. Lucidi, S., Sciandrone, M., Tseng, P.: Objective-derivative-
free methods for constrained optimization. Math. Program.
92(1), 37–59 (2002) Gang Cao is a PhD candidate at the School of Engineering
29. Madani, T., Benallegue, A.: Sliding mode observer and and Advanced Technology, Massey University (Albany cam-
backstepping control for a quadrotor unmanned aerial vehi- pus), Auckland, New Zealand. He received his BE degree in
cles. In: American Control Conference, pp. 5887–5892. Electricity & Automation from Xi’an University of Architecture
IEEE (2007) & Technology and ME degree in Control Theory & Engineer-
30. Mesbah, A.: Stochastic model predictive control: An ing from Xi’an University of Technology. His research interest
overview and perspectives for future research. IEEE Con- includes advanced control technology, machine learning and
trol Systems Magazine. Accepted (2016) computational optimization.
162 J Intell Robot Syst (2017) 88:147–162

Edmund M.-K. Lai is the Head of Information Technology & Fakhrul Alam is a senior lecturer at the School of Engineering
Software Engineering Department in Auckland University of and Advanced Technology, Massey University (Albany cam-
Technology. He obtained his BE(Hons) and PhD in Electrical pus), Auckland, New Zealand. He received BS in Electrical
Engineering from The University of Western Australia in 1982 & Electronic Engineering from BUET, Bangladesh and MS
and 1991 respectively. Prior to joining AUT, he was with the and Ph.D. in Electrical Engineering from Virginia Tech, USA.
School of Engineering and Advanced Technology at Massey He teaches and coordinates papers in the area of electronics,
University from 2006. He had also held various academic posi- telecommunications and signal processing. He has published
tions in the School of Computer Engineering at Nanyang Tech- over 40 peer reviewed research articles. His research interest
nological University in Singapore, School of Engineering with includes visible light Communication, radio over fiber for 5G,
Edith Cowan University in Western Australia, and Department adaptive signal processing, wireless sensor networks, indoor
of Information Engineering at the Chinese University of Hong position location and intelligent transportation system. He reg-
Kong. He had also worked as a independent consultant, devel- ularly serves as the reviewer for several Journals within his area
oping industrial training courses and optimization software for of interest and has organized many international conferences as
the mining industry in Australia. His general research inter- the member of steering/organizing/programme committees.
ests include multimedia signal processing, machine learning
techniques, wireless networks and information theory.

You might also like