Professional Documents
Culture Documents
Abstract— This brief presents a model predictive control lifted this monotonicity assumption by using a switched
(MPC)-based spatiotemporal optimization strategy that is applied extremum seeking technique to hunt for the optimal altitude in
to the problem of optimizing the altitude of a type of airborne real time. However, this technique is prone to get stuck in local
wind energy (AWE) system, specifically a buoyant airborne
turbine. Altitude optimization for AWE systems represents a optima, particularly in the presence of complex, nonmonotonic
challenging problem under which the wind speed varies with wind shear profiles.
both time and altitude, is only instantaneously observable at the The altitude optimization problem is in fact one of many
altitude where the AWE system is operating, and dictates the optimization applications that involve a spatiotemporally vary-
net power produced by the system. The proposed MPC strategy ing random variable (wind speed), such as [10] and [11].
avoids the need for a computationally expensive Markov process
model for characterizing the wind speed and is structured in a In optimal control applications that only involve a tempo-
way that the need for instantaneous power maximization (termed rally varying random variable (such as power scheduling for
exploitation) is balanced with the need to maintain an accurate conventional wind energy systems in [12]–[16] and power
map of wind speed versus altitude (termed exploration). The split management for hybrid electric vehicles in [17]–[19]),
MPC strategy is calibrated through a Gaussian process regression it is common to characterize the evolution of the random
framework. Real wind speed versus altitude data have been used
to validate the strategy. variable with a Markov model. However, when a scalar random
variable is varying both spatially and temporally, an exponen-
Index Terms— Airborne wind energy (AWE) system, explo- tial dependence of computational complexity on the number
ration versus exploitation, Gaussian process (GP), model predic-
tive control (MPC), partially observable system, spatiotemporal of states renders Markov-based approaches computationally
optimization, uncertainty modeling. infeasible. Furthermore, the random variable (wind, in our
case) is partially observable, as we only measure wind speed
at the operating altitude. In the case of partial observability,
I. I NTRODUCTION balancing exploration with exploitation is very important.
the BAT. Section III provides a review of GP modeling and (which happened to be midnight). To illustrate the spatial
discusses kernel selection (for capturing the characteristics of variability of wind shear profiles taken at significantly different
the conditional mean and variance of the wind shear profile) times (all at least 24 h apart from each other), Fig. 1 plots the
and hyperparameter identification (for fitting parameters to difference between the wind speed at a particular altitude, z,
these models of conditional mean and variance). Section IV and the wind speed at a reference altitude, z 0 (which is taken
details the cost function and constraints for the MPC strat- as 546 m in Fig. 1), denoted by v wind,spatial(z, t0 , z 0 )
egy used in this brief. Section V illustrates the resulting v wind,spatial(z, t0 , z 0 ) = v wind (t0 , z 0 + z) − v wind (t0 , z 0 ).
altitude profiles and energy output that emanate from the
(1)
MPC strategy, demonstrating that this strategy outperforms the
LSES control algorithm presented in [8] and offline-optimized v wind,spatial(z, t0 , z 0 ) increases with increasing z. From
constant altitude operation. This section also presents a an altitude optimization perspective, this implies, unsurpris-
detailed assessment of the effect of different exploration ingly, that one’s ability to predict wind speed at a particular
weights and rate limits. altitude depends on the proximity of that altitude to ones where
data have already been gathered.
II. W IND P ROFILE AND E NERGY G ENERATION M ODEL Fig. 2 shows the temporal nature of wind speed over the
A. Wind Profile 31 days in January 2014, at a constant altitude z 0 = 146 m.
As with Figs. 1 and 2, the difference in wind speed between
The wind data used in this brief was obtained from
time t and a reference time t0 is denoted by v wind,temporal
a 915-MHz Doppler RADAR-based wind profiler in Cape
(t, t0 , z 0 )
Henlopen State Park [26] (located in Lewes, Delaware). This
data set includes average wind speeds at 30 min time intervals v wind,temporal(t, t0 , z 0 ) = v wind (t0 + t, z 0 )−v wind (t0 , z 0 ).
with a consensus averaging time of 24 min, at 48 altitudes (2)
from 146 up to 3000 m. The quantized data was interpolated
in space and time for the purposes of control system validation. The qualitative conclusions in Fig. 2 are again unsurprising;
Considering practical flight altitude limitations of the BAT, the given a measurement of wind speed at time t0 , the proximity
portion of data involving tabulated altitudes up to 947 m was of wind speed to v wind (t0 , z 0 ) diminishes with increasing time.
considered for this research. From an altitude optimization perspective, Figs. 1 and 2 show
To maximize energy generation, the BAT should operate at that in order to maintain accurate knowledge of the wind shear
altitudes where the wind speed is as close as possible to the profile, it is necessary to continually explore different altitudes;
turbine’s rated wind speed, v rated . Clearly, operation in winds otherwise, the uncertainty in wind speed grows to be very
below v rated will result in reduced power output, but operation large. A large-scale analysis of the data from Cape Henlopen
in winds above v rated will also reduce the net power output, was used to quantify the statistical variability of wind speed
due to the increased power required to control the system in with time and altitude, thereby providing the appropriate
high winds. Because the wind speed varies significantly with mathematical mechanism for incentivizing exploration, which
time and altitude, determining which altitude will yield a wind is detailed in Section III.
speed closest to v rated is a challenging task.
Fig. 1 shows the spatial variation in wind speed at B. Energy Generation Model
31 separate instances during January 2014. All measure- A portion of the total energy produced by the turbine
ments were taken at a specific time, t0 , during each day in an AWE system is consumed to adjust or maintain the
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
operating altitude. This energy is required to reject the distur- wind speed, conditioned upon past and present measurements.
bances resulting from changes in wind velocity and direction. These can be characterized through a conditional mean and
In light of this, the instantaneous net power generation can be conditional variance, denoted by
approximated as follows:
μc E v wind (z, t)|D (5)
Ptotal = Ptur (v wind (z i , ti ), v rated )
− Pmaint (v wind (z i , ti )) and
+ Pz (v wind (z i , ti ), z i , z i−1 ) (3) (σ 2 )c E[(v wind (z, t) − E[v wind (z, t)])2 |D] (6)
where Ptur is the power generated by the turbine, Pmaint is the
respectively. Here, D represents a matrix of m previously
power required to maintain altitude, Pz is the instantaneous
measured wind speeds and the corresponding measurement
power required for or regenerated by adjusting altitude, z i is
points. To precisely characterize the aforementioned condi-
the operating altitude at time ti , v wind (z i , ti ) is the wind speed
tional statistics, D should include all previously acquired data
at the operating altitude at time ti , and v rated is the turbine’s
points; however, for practical purposes, considering a finite set
rated wind speed. Because any upward altitude adjustment
of m recent points is sufficient to accurately approximate the
of the system must later be compensated with a downward
quantities, as spatiotemporally distant measurements provide
altitude adjustment (the system must land eventually), and
a little predictive values. D is specified by
because it is not the explicit objective of a system with
⎡ ⎤
airborne energy generation to strategically leverage additional z0 ... z m−1
energy through regeneration on the ground, it is possible to D=⎣ t0 ... tm−1 ⎦. (7)
simplify the objective function for the system, which should v wind (z 0 , t0 ) . . . v wind (z m−1 , tm−1 )
be maximized, as follows:
In this brief, we use tools from the machine learning commu-
P = C1 min(v wind (z i , ti ), v rated )3 nity to automatically characterize the aforementioned statisti-
− C2 [v wind (z i , ti )]2 cal properties.
|z i − z i−1 |
− C̄3 [v wind (z i , ti )]2 (4)
t
A. Preliminaries for Gaussian Process Modeling
where C1 and C2 are the constant parameters that depend
upon the turbine’s power curve and flight control system Let Z denotes the domain of allowable altitude choices and
(comprising both the controller and the aerodynamics of the T denotes the temporal space. Our goal is to model wind
lifting body), respectively. C̄3 is a lumped parameter that is speed at altitude z ∈ Z and time t ∈ T . In order to do that,
dependent on overall winch efficiency and aerodynamics of we construct a function f : Z × T → R, whose output is
the lifting body. (See [8], for a detailed discussion about a random variable y. In this application, since wind speed
the parameters C1 , C1 , C̄3 and their derivation from actual can be reasonably modeled by a log-normal distribution [27],
aerodynamic data from the BAT.) t is the elapsed time y is taken as the natural log of the ratio of the wind velocity
between time step ti−1 and ti . v wind (z, t) to a reference wind velocity, v wind (z 0 , t0 )
v wind (z, t)
III. S TATISTICAL W IND S HEAR P ROFILE y = log . (8)
v wind (z 0 , t0 )
C HARACTERIZATION
For spatiotemporal optimizations where the random This transformation results in a random variable that can
variable is partially observable in space, an appropriate bal- be reasonably modeled by a GP [21]. The GP is completely
ance between exploitation and exploration must be achieved. specified by its mean function and covariance function, and is
Exploitation involves making the best decision given the written as
current information. Exploration, on the other hand, involves
f (z, t) ∼ GP(μ(z, t), k((z, t), (z , t ))) (9)
information gathering. In the case of AWE systems, exploita-
tion involves using past and present wind data to determine where μ(z, t) is the mean function and k((z, t), (z , t )) is the
and go to the optimal altitude for maximum energy generation. covariance function of the GP prior. Let Y be the recently
However, if the AWE system sits at a fixed altitude for a long collected observations at X, where
time, the knowledge of the wind velocity at altitudes it visited
earlier on the same day becomes less effective as earlier wind X = [(z 0 , t0 ), . . . , (z m−1 , tm−1 )] (10)
velocity measurements could be very different from the wind Y = [y0 , . . . , ym−1 ] . T
(11)
velocities later in the day (see Fig. 2). To quantify the need
for exploration, the statistical characteristics of the wind shear Given the aforementioned mean and covariance functions,
profile are very important. the conditional mean and variance (which we are ultimately
In striking the appropriate balance between exploration and interested in for this application) can be written as
exploitation, we are interested in understanding the value of
new data in terms of predicting wind speed. As such, we μ̂c = μ(z, t|Y, X) (12)
are interested in the conditional probability characteristics of = μ(z, t) + k̂ X (z, t)T ( K̂ X + σ 2 I )−1 (δY )
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
−1
k+T
J (zsp (k)) = [ Jexploit (z sp (i |k)) + w Jexplore (z sp (i |k))]
i=k
(24)
subject to constraints, as follows:
z∗ (k) = arg min J (z(k))
z(k)
all measurements taken up to step i . D is included in the
subject to z(k + 1) = z sp (k)
calculation of the exploitation term expressly for the purpose
|z(i |k) − z(i − 1|k)| ≤ rlim t, of considering the contribution of future measurements on
z(i |k) ∈ , i = k . . . k + T − 1 the conditional variance of the wind speed prediction, taken
Equation(12) throughout the MPC prediction horizon. Thus, the one-norm
that is penalized in (29) is kept small by continually exploring
Equation(13) (25)
the range of available altitudes throughout the MPC horizon.
where T is the MPC prediction horizon, is the set of For the altitude optimization problem, design parameters
allowable altitudes, rlim is a rate limitation (corresponding to were selected as shown in Table I. The maximum and min-
the fact that tethers can only be spooled out/in so fast), and imum allowable altitudes are dictated by available data. The
t is the time step. The vector z(k) corresponds to the altitude interpolation of wind data can be justified given the gradual
trajectory vector over the receding horizon, given as nature of wind speed change, as the hyperparameter values
suggest.
zsp (k) = [ z sp (k|k) . . . z sp (k + T − 1|k) ]T . (26)
V. R ESULTS
The notation z(i |k) denotes the value of z(i ) for the optimiza-
tion taking place at step k. w is a scalar weighting parameter A. MPC With Exploration
that sets the balance between exploration and exploitation in To demonstrate the merits of the proposed MPC-based
the cost function. As is typical with MPC, the first term in the altitude optimization, the system performance was compared
optimized control input trajectory represents the commanded under five different control “scenarios.” An exploration rate
control input at step k. In this case, the commanded control limit of 2 m/s has been considered for all scenarios.
input is the altitude setpoint, given as Scenario 1 (MPC With Exploration): This scenario uses the
MPC control scheme of (25) with an exploration weight of
z sp (k) = z ∗ (k|k). (27)
w = 300 (i.e., the exploration term is active). The reason for
It is assumed in this brief that an underlying lower level flight using this particular weight is discussed in Section V-B.
control system regulates the system’s operating altitude (z) Scenario 2 (Off-Line Optimized Trajectory): This scenario
to the setpoint (z sp ). Such an altitude control system has been involves flying the BAT at its optimal altitude, based on an off-
validated numerically and experimentally in both [3] and [32]. line optimization of net energy generation. The optimization
The exploitation term in the cost function is given as is as follows:
τ −1
Jexploit (z(i |k)) = Prated − E(P(z(i |k))|D). (28) minimize Joffline = −P(v wind (z(t), t))
z(t )
Here, E(P(z(i |k))|D) is the expected power output for the t =0
Fig. 3. Comparison of different control strategies for a duration of one week. Data acquired from January 12, 2014 to January 18, 2014. (a) Comparison of
altitude setpoints. (b) Comparison of wind speed during different altitude setpoints. (c) Comparison of net energy generation.
Scenario 4 (Off-Line Optimized Constant Altitude Using Scenario 5 (LSES): In this scenario, we consider the
Historical Data): This scenario uses the historical data extremum seeking-based altitude optimization algorithm, a
from [26] to determine the optimal constant altitude over nonmodel-based control scheme, proposed in [7] and [8].
a lengthy period of time. This historical data comes from Here, extremum seeking applies a sinusoidal perturbation to
a different time window than the time window over which the altitude setpoint that allows the BAT to explore the wind
performance is being evaluated. Therefore, the control strat- profile locally, and then move in the direction of increasing
egy is implementable in real time. The offline-optimized net power output. A Lyapunov-based switch curtails the size
constant altitude is determined by performing the following of this perturbation (and, therefore, reduces control energy
optimization: expenditure) when convergence upon an optimal altitude is
tn detected. For a detailed discussion of LSES theory, readers
minimize Jhist. = −P(v wind (z, t))ti . . . tn ∈ D. (33) are referred to [33]; for details on the application to the AWE
z=constant
t =ti system at hand, readers are referred to [8].
Here, ti is the initial time in the data set, and tn represents the The objective of the altitude optimization in this brief is
last time instance that is used in training this constant altitude to maximize the net energy output of the BAT. The control
control strategy. strategies have been simulated on a desktop computer with
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
Fig. 4. Energy produced over a week in January 12–18, 2014 using different
exploration weights. Maximum energy is produced using w = 300.
outperform constant altitude operation and MPC strategies that [13] P. Panagiotis, S. Trimboli, and A. Bemporad, “Stochastic MPC for
do not include exploration. MPC with exploration has been real-time market-based optimal power dispatch,” in Proc. Joint 50th
IEEE Conf. Decision Control Eur. Control Conf., Orlando, FL, USA,
investigated further for different exploration weights. Dec. 2011, pp. 7111–7116.
[14] W. Qi, J. Liu, X. Chen, and P. D. Christofides, “Supervisory predictive
control of standalone wind/solar energy generation systems,” IEEE
B. Future Work Trans. Control Syst. Technol., vol. 19, no. 1, pp. 199–207, Jan. 2011.
Future work will include the following. [15] C. Sun, F. Sun, and S. J. Moura, “Data enabled predictive energy
management of a PV-battery smart home nanogrid,” in Proc. Amer.
1) Implementation of a real-time controller that dynami- Control Conf., Chicago, IL, USA, Jul. 2015, pp. 1023–1028.
cally adjusts the exploration weight as a function of [16] F. Oldewurtel et al., “Use of model predictive control and weather
recent statistical properties of the wind. forecasts for energy efficient building climate control,” Energy Buildings,
vol. 45, pp. 15–27, Feb. 2012.
2) Experimental validation of altitude optimization algo- [17] G. Rippaccioli, D. Bernardini, S. Di Cairano, A. Bemporad, and
rithms on the Altaeros BAT, where the optimization will I. Kolmanovsky, “A stochastic model predictive control approach for
be performed on a high-performance ground-based PC. series hybrid electric vehicle power management,” in Proc. Amer.
Control Conf., Baltimore, MD, USA, Jun. 2010, pp. 5844–5849.
[18] S. J. Moura, H. K. Fathy, D. S. Callaway, and J. L. Stein, “A stochastic
ACKNOWLEDGMENT optimal control approach for power management in plug-in hybrid
electric vehicles,” IEEE Trans. Control Syst. Technol., vol. 19, no. 3,
The authors would like to thank C. Archer of the University pp. 545–555, May 2011.
of Delaware for providing the wind shear data used in this [19] E. D. Tate, Jr., J. W. Grizzle, and H. Peng, “Shortest path stochastic
control for hybrid electric vehicles,” Int. J. Robust Nonlinear Control,
brief [26]. vol. 18, no. 14, pp. 1409–1429, 2008.
[20] S. Bin-Karim, A. Bafandeh, and C. Vermillion, “Spatio-temporal opti-
mization through model predictive control: A case study in airborne
R EFERENCES wind energy,” in Proc. 55th IEEE Conf. Decision Control, Las Vegas,
[1] A. Cherubini, A. Papini, R. Vertechy, and M. Fontana, “Airborne wind NV, USA, Dec. 2016, pp. 4239–4244.
energy systems: A review of the technologies,” Renew. Sustain. Energy [21] C. Rasmussen and C. Williams, Gaussian Processes for Machine Learn-
Rev., vol. 51, pp. 1461–1476, Nov. 2015. ing. Cambridge, MA, USA: MIT Press, 2006.
[2] M. Canale, L. Fagiano, and M. Milanese, “High altitude wind energy [22] J. Kocijan, R. Murray-Smith, C. E. Rasmussen, and A. Girard, “Gaussian
generation using controlled power kites,” IEEE Trans. Control Syst. process model based predictive control,” in Proc. Amer. Control Conf.,
Technol., vol. 18, no. 2, pp. 279–293, Mar. 2010. vol. 3. Boston, MA, USA, Jun. 2004, pp. 2214–2219.
[3] C. Vermillion, T. Grunnagle, and I. Kolmanovsky, “Modeling and control [23] A. Grancharova, J. Kocijan, and T. A. Johansen, “Explicit stochastic
design for a prototype lighter-than-air wind energy system,” in Proc. predictive control of combustion plants based on Gaussian process
Amer. Control Conf., Montreal, QC, Canada, Jun. 2012, pp. 5813–5818. models,” Automatica, vol. 44, no. 6, pp. 1621–1631, 2008.
[4] C. Vermillion and L. Fagiano, “Tethered wind energy systems,” Mech. [24] G. Cao, E. M.-K. Lai, and F. Alam, “Gaussian process based model
Eng., vol. 135, no. 9, pp. S13–S21, 2013. predictive control for linear time varying systems,” in Proc. IEEE 14th
[5] A. U. Zgraggen, L. Fagiano, and M. Morari, “On real-time optimization Int. Workshop Adv. Motion Control (AMC), Apr. 2016, pp. 251–256.
of airborne wind energy generators,” in Proc. 52nd IEEE Conf. Decision [25] S. S. Diwale, I. Lymperopoulos, and C. Jones, “Optimization of an
Control, Florence, Italy, Dec. 2013, pp. 385–390. airborne wind energy system using constrained Gaussian processes with
[6] C. Vermillion, “Altitude and crosswind motion control for optimal transient measurements,” in Proc. 1st Indian Control Conf., Chennai,
power-point tracking in tethered wind energy systems with airborne India, 2015.
power generation,” in Proc. ASME Dyn. Syst. Control Conf., Stanford, [26] C. Archer. (2014). “Wind profiler at cape henlopen.” Dept. Phys. Ocean
CA, USA, 2013, p. V003T49A001. Sci. Eng., Univ. Delaware, Lewes, DE, USA, Tech. Rep. [Online].
[7] A. Bafandeh and C. Vermillion, “Real-time altitude optimization of Available: http://www.ceoe.udel.edu/our-people/profiles/carcher/fsmw
airborne wind energy systems using Lyapunov-based switched extremum [27] A. Garcia, J. L. Torres, E. Prieto, and A. De Francisco, “Fitting
seeking control,” in Proc. Amer. Control Conf., Boston, MA, USA, wind speed distributions: A case study,” Solar Energy, vol. 62, no. 2,
Jul. 2016, pp. 4990–4995. pp. 139–144, 1998.
[8] A. Bafandeh and C. Vermillion, “Altitude optimization of airborne wind [28] A. Wilson and R. Adams. (2013). “Gaussian process kernels for
energy systems via switched extremum seeking—Design, analysis, and pattern discovery and extrapolation.” [Online]. Available: https://
economic assessment,” IEEE Trans. Control Syst. Technol., vol. 25, arxiv.org/abs/1302.4245
no. 6, pp. 2022–2033, Nov. 2017. [29] D. Duvenaud, J. Lloyd, R. Grosse, J. Tenenbaum, and Z. Ghahramani,
[9] A. Baheri, S. Bin-Karim, A. Bafandeh, and C. Vermillion, “Real-time “Structure discovery in nonparametric regression through compositional
control using Bayesian optimization: A case study in airborne wind kernel search,” in Proc. ICML, vol. 3. 2013, pp. 1166–1174.
energy systems,” Control Eng. Pract., vol. 69, pp. 131–140, Dec. 2017. [30] D. J. MacKay, Information Theory, Inference and Learning Algorithms.
[10] E. Frazzoli and F. Bullo, “Decentralized algorithms for vehi- Cambridge, U.K.: Cambridge Univ. Press, 2003.
cle routing in a stochastic time-varying environment,” in Proc. [31] C. Rasmussen, “Gaussian processes in machine learning,” in Advanced
43rd IEEE Conf. Decision Control, Nassau, Bahamas, Dec. 2004, Lectures on Machine Learning. Berlin, Germany: Springer-Verlag, 2004,
pp. 3357–3363. pp. 63–71.
[11] A. Lecchini Visintini, W. Glover, J. Lygeros, and J. Maciejowski, [32] C. Vermillion, T. Grunnagle, R. Lim, and I. Kolmanovsky, “Model-
“Monte Carlo optimization for conflict resolution in air traffic con- based plant design and hierarchical control of a prototype lighter-than-air
trol,” IEEE Trans. Intell. Transp. Syst., vol. 7, no. 4, pp. 470–482, wind energy system, with experimental flight test results,” IEEE Trans.
Dec. 2006. Control Syst. Technol., vol. 22, no. 2, pp. 531–542, Mar. 2014.
[12] C. Li, H. Peng, and J. Sun, “Predictive control and sizing of energy [33] S. J. Moura and Y. A. Chang, “Lyapunov-based switched extremum
storage to mitigate wind power intermittency,” Wind Energy, vol. 19, seeking for photovoltaic power maximization,” Control Eng. Pract.,
no. 3, pp. 437–451, 2016. vol. 21, no. 7, p. 971–980, 2013.