1. Introduction
The energy demand to satisfy human needs has been growing consistently along with the technological development. Nowadays, the majority of the available energy comes from fossil fuels, which are facing increasing societal concerns of environmental sustainability. To overcome the drawbacks of the use of such fuels, energy policies in several countries are being enacted to encourage electrification of energy demand, as well as to encourage the use of renewable energy sources. These steps are vital to reach the environmental goals of limiting the average global temperature to up to 1.5 °C above pre-industrial levels by the end of this century [
1]. Among the renewable energy resources, wind is an important large-scale alternative. Currently, wind energy is essentially extracted at low heights (up to a few hundred meters above ground) by wind turbines. However, the kinetic energy of wind is much larger at higher altitudes than in the proximity of the earth’s surface. Despite the significant and growing number of wind farms, most of the existing wind energy remains unexploited [
2,
3].
Airborne Wind Energy aims at exploiting higher-altitude winds while using a light infrastructure. This technology is being developed by a number of companies and academic groups worldwide. For an overview, see, e.g., the survey [
4], the report to the E.U. Commission [
5], or the report to the U.S. Congress [
6]. Among the several different concepts of Airborne Wind Energy Systems (AWES), some of the most promising and most researched ones are based on tethered aircrafts with rigid wings, flying in a crosswind motion, with the generator on the ground. Some examples are Kitemill [
7], Ampyx Power [
8], TwingTec [
9], the University of Porto UPWIND project [
10], among others. In these systems, during the production phase, the kite follows a fast crosswind motion performing typically elliptical or 8-shaped trajectories with a low elevation angle. This crosswind flight increases the apparent wind speed and withdraws as much mechanical power from the wind as possible, forcing the tether to reel out and the generator to produce electricity [
11]. An adequate kite motion is paramount to ensure a positive energy balance and have an efficient system, since it must maximize the tether tension force and power production during the reel-out phase and as the tether is reeled back in during the recovery phase. The kite should then follow a trajectory that maximizes power production. This goal can be attained by solving two subproblems: (i) first, we should find a path or trajectory that corresponds to a power maximizing motion and then (ii) design a trajectory-tracking or path-following controller to follow this path.
Regarding the first subproblem, there are several papers related to the optimization of the kite trajectory and optimal control has been one of the main techniques applied [
12,
13,
14,
15,
16,
17]. The work in [
12] solves an optimal control problem aiming at maximizing the average power of a complete cycle with periodic boundary conditions in order to guarantee that the final state is equal to the initial one and with free cycle duration. The works in [
13,
14] use an adaptive mesh-refinement strategy to enhance the optimization speed in order to solve energy maximizing optimal control problems in a cycle in both 2D and 3D kite models. In [
15], the authors propose a path parameterization method on top of an optimal control trajectory solution, thus solving an offline path optimization to serve as a reference for a path-following controller. There are also data-driven solutions for finding a reference path, such as those provided in [
16,
17]. In particular, the authors of [
16] offer an iterative learning approach to adapt the width and height of an 8-shaped path described as a Lemniscate of Gerono. Similarly, the authors of [
17] use a Bayesian optimization method to alter the Lemniscate width and height parameters and define the positions of the waypoints that outline the figure of eight.
Regarding subproblem (ii), we aim at designing a kite controller capable of following a predefined, power maximizing trajectory or path. Path Following, instead of Trajectory Tracking, offers several benefits in systems in which the velocity does not need to follow a given reference or, as is the case of AWES, in systems in which the velocity is dependent on an uncontrolled or external input, such as the wind. Therefore, stating this problem as a Path-Following problem instead of a Trajectory-Tracking problem offers potential performance improvements [
18]. We can find several non-optimization-based path-following controllers, with a focus on robustness and safety, that have been proposed in recent years. These follow mainly hierarchical control architectures in which an outer loop serving as a general guidance logic feeds reference values towards some steering controller. The works in [
19,
20] follow switching target points strategies in order to steer a kite to perform figure-of-eight trajectories, aiming towards a more simple path-following strategy. In [
21], the authors introduce a path-following strategy with an adaptive filter that predicts future states in order to compensate input delays and thus improve the performance of the path-following controller. More recently, in [
22], a control architecture focused on modularity was presented. Its modular nature allows it to be augmented in the future with performance improvement control modules, such as adaptive controllers. The work in [
23] focus on the control of the ground station module to be integrated with a path-following kite controller. In [
24], the authors propose a control scheme with two loops, with the outer loop using an offline-optimized trajectory to generate a reference for the inner loop, which controls the turning angle via feedback linearization. The work [
25] addresses the optimization problem of selecting the parameters of two decentralized control schemes (for the wing flight and for the ground winch) that maximize the cycle power.
Here, we study two controllers that aim at following a geometric path, independent of time, outlined on the surface of a spherical surface, with radius equal to the tether length, and centered at the ground station. One of the controllers, termed
L1, is based on a well-known nonlinear guidance logic [
26]; the other controller is a modification of the
L1 that we have termed
L0, for which the stabilizing properties have been investigated in [
27]. We have developed and implemented both
L0 and
L1 controllers for an AWES. We show that the two controllers can be easily implemented, having an explicit expression for the control law. Such expressions are functions of the cross-track error, of the heading angle relative to the path, and of a single parameter that we should tune: the parameter
L (parameter
L0 or
L1, depending on the controller). It will be apparent that the
L0 controller has an even easier implementation. This is because in its control law there is no need to switch controllers depending on the current position of the kite. We compare the performance of the two path-following guidance methods for different parameters, through simulation.
This paper is organized as follows.
Section 2 introduces the several models used—the dynamical kite model used in simulations, the turning dynamics model, the path-following model, as well as the reference path specification. In
Section 3, we describe and compare the two methods of control (
L0 and
L1 control) by tackling the main differences. In
Section 4, we discuss the simulation results of the two controllers, including a comparison of their performances. Finally, some conclusions are drawn in
Section 5. For the reader convenience, we provide at the end of the article a table gathering the nomenclature used.
2. Kite Dynamics and Path
In this section, we describe the kite dynamics for the 3D model used in simulations, as well as for the simpler models of the turning dynamics and the model of distance to the reference path. We also detail how the path is represented.
2.1. Simulation Model
The model used in simulations is based on a 3D mass-point model for the kite in the Local Coordinate System—
L, a non-inertial, spherical coordinate system
, with basis
, similar to the one used in [
27,
28,
29]. We consider also a Global Coordinate System—
G, an inertial Cartesian coordinate system
, with basis
, where the origin is the point of attachment of the tether to the ground station, the
x axis is horizontal and points towards the main wind direction,
z points vertically upwards, and
y completes the right-hand coordinate system. See
Figure 1. In these coordinate systems, the position of the kite is
The wind velocity
, the apparent wind velocity
, and the kite velocity
satisfy
In addition, it is convenient to define the Body Coordinate System—B, a non-inertial Cartesian coordinate system attached to the kite body and with the origin at its center of gravity, with basis . The axis is the kite longitudinal axis pointing forward, points towards its left wing, and is in the kite vertical axis pointing upwards.
Newton’s second law of motion equation for the kite system is
where
represents the tether force acting on the kite,
—the gravity force, and
—the resultant aerodynamic force. The gravity force is
, and the tether force is
with
T being the tether force measured at the ground station (when the tether is assumed to be inelastic and massless). The aerodynamic force
acting on the kite is dependent on the angle of attack
and on the roll angle
. It comprises the Lift (aligned with
) and Drag (aligned with
) components satisfying
. Here,
and
are the Lift and Drag coefficients, respectively, which are characteristics of the airfoil design and dependent on
. In the local coordinate system we can write
where
represents the inertial forces (centrifugal and Coriolis) in the non-inertial coordinate system.
We assume that the tether acceleration
can be controlled directly with the winch by
, and that we can also control directly the angle of attack
and the roll angle
. Defining the state
and the control
, the dynamic equation is
which is the state-space model used in simulations of the kite trajectory.
2.2. Turning Dynamics Model
During crosswind flight, with the kite speed much larger than the wind speed, we can assume that
aligns with the apparent wind velocity and is in the
plane, tangent to the sphere of radius
r. Let
be the roll angle, measuring rotations around the longitudinal axis
. Define
when
is also contained within the
plane and
is orthogonal to the surface of the sphere pointing outside. As we increase the roll angle, a larger component of
is in this plane, which means that as we alter the roll angle, we convey a lateral component to the lift force—the Turning Lift, as shown in
Figure 2. This turning lift causes a lateral acceleration
responsible for turning the kite within the
plane, which is the acceleration that allows us to steer the kite to follow the predefined path. The lateral acceleration caused by the turning lift is given by
2.3. Path-Following Model
The path-following model is the model used in the controller to steer the kite towards the reference path. It is a local 2D model, defining the pose of the kite on the sphere of radius
r relative to the path. It has coordinates
, in
, where
d is the cross-track error and
is the angle between the kite velocity vector and the tangent to the path at the nearest point (
Q); see
Figure 3.
The goal of the path-following controller is to steer the kite, by changing the roll angle, in order to drive towards .
2.4. Reference Path Specification
The path is specified as a closed curve on the surface of the sphere of radius r. It can be parameterized in the space, giving a 2D reference to be followed, independently of the tether length r. As a simplification, we represent the space as a plane.
We note also that the path is time-independent, and not a specified trajectory to be followed at each time instant. Nevertheless, it is often obtained initially as a trajectory resulting from the solution of an optimal control problem, a map
; see, e.g., [
12,
13,
14,
15,
16,
17]. This map is then converted into a curve in the
space by eliminating the parameter
t.
Here, the path is defined by two straight lines and two arcs of circle. This specification is quite general, allowing closed curves without intersections (similar to an elliptical shape) and also allowing closed curves with one intersection (similar to a figure-of-eight shape). In [
30], the authors detail how to obtain the equations of straight lines and arcs of circle when projected on the surface of a sphere.
3. L1 and L0 Guidance Logics
A technique for path-following and trajectory-tracking control proposed in [
26] has been widely used in the control of nonholonomic vehicles, namely in autopilot devices such as
ArduPilot [
31], where it is known as “
L1 controller”. This guidance logic relies on the calculation of the required centripetal acceleration needed for the vehicle to converge to the desired trajectory, making this logic more adequate to nonlinear systems than the commonly used linear controls.
As represented in
Figure 4, in order to apply the guidance logic, we need to find a reference point by finding the point in the desired path that is at a distance
ahead of the vehicle. Then, the required lateral acceleration
for the vehicle to follow a curved trajectory, with radius
R, from its current position to the reference point is given by
where
V is the vehicle current speed and
is the angle between the vehicle velocity and the vector joining the vehicle position and the reference point. Applying a controller that confers this required acceleration will make the velocity vector converge to the vector
and make the vehicle converge to the desired path. The distance
is a design parameter we are able to tune in order to obtain a quicker or smoother convergence to the path. (A remark on the notation used is opportune here: we refer to the controller as
L1, to the vector between the aircraft and the reference point as
, and to its length as
). It was shown in [
26] that this guidance logic is asymptotically stable through a Lyapunov invariant set theorem analysis. A downside of this controller is the fact that it can only be used when the vehicle is in a neighborhood of the path, at a distance lower than
to the path, thus requiring another control strategy for the cases in which it is farther away. It is known that switching of controllers might jeopardize stability, therefore, the guarantees of stability are only valid in that neighborhood of the path.
In the implementation of this controller in
Ardupilot, three different regions, A, B, and C, are defined and different control laws are used in each region. When the aircraft is in region A, far behind the desired path (more than
units of length), a waypoint in the path is defined and a waypoint controller is used. When the aircraft is in region B, outside the rectangle distancing more than
to the path, the reference point to follow in this case is the point on the path slightly ahead of the nearest point in the path. Finally, in region C, when the aircraft is in the
neighborhood of the path, the
L1 control law described earlier is used: the reference point is the point on path at a distance of
ahead of the aircraft. In [
32], there is a detailed description of this implementation.
A modified version of the
L1 controller that addresses the difficulties when the vehicle is far from the path is reported in [
27]. We call such scheme the “
L0 controller”. In the
L0 controller, the parameter
is no longer the design parameter to select, but rather, it is determined after selecting the new design parameter
. The procedure is as follows. Firstly, the closest point to the vehicle in the path (
Q) is computed, defining the cross-track error
d. Then, a reference point is defined to be the point in the path that distances a given pre-defined
jump from
Q. Therefore,
varies and it is equal to
, being
the controller design parameter. See
Figure 5. This controller has been shown to be asymptotically stable and with a domain of attraction that is much larger than the domain of attraction of the
L1 controller. In fact, it was shown that the
L0 controller has a global domain of attraction even when the saturation of the actuators is considered (i.e., the stabilizing properties are valid in the same region where the dynamic model is considered valid).
Guidance Logic for AWES
Following both
L1 and
L0 guidance schemes presented before, the kite control acts on the roll angle
in order to confer the lateral acceleration that is required to follow the path, i.e., the acceleration conferred to the kite computed in Equation (
4) must be equal to the required centripetal acceleration of Equation (
5). Then, solving for
, we obtain an explicit expression for the reference roll angle:
Having a limited range for the values of the roll angle,
, the guidance logic control with saturation is given by:
When the kite is far from the desired point, the controller can follow the path without additional approach logic (as is required in the case of L1 controller), with only the roll angle saturation.
In the simulations presented ahead, to model the fact that the roll angle cannot be changed instantaneously, we act on its time derivative using a proportional gain and taking into account the kite moment of inertia
I around its longitudinal axis:
5. Conclusions
In this paper, we address the problem of controlling a kite (with fixed rigid wings) of an Airborne Wind Energy System (AWES) to follow a pre-determined path. We analyze, adapt to AWES, and implement two controllers: the widely used L1 guidance logic and a variant of it, which we named L0 guidance logic.
We compare the L1 and L0 guidance logics, with their application to AWES, carrying out both a qualitative and quantitative performance analysis. We considered the average of the absolute values of the cross-track error, computed along time, as a quantitative performance measure. The simulations with increasing L parameters show that for small values, the kite tends to overshoot and deviate from the path when there are larger curvatures. With larger values of L, the kite sets reference points in the path that are farther away from its current position, thus starting to respond earlier and resulting in a larger average distance from the path. Both guidance logics show similar performance overall: in some cases, the L0 controller shows a smaller cross-track error while in qualitative terms, the L1 controller shows sharper turns, since it only starts turning when . The sharper turns and an increased distance to the reference path might be reflected in lower power production performance for the AWES. The slightly better performance, combined with superior theoretical characteristics (larger domain of attraction for the controller and no need to switch control laws when far from the path), might make the L0 guidance logic the controller of choice in AWES.
In real application scenarios, the L parameters must be adjusted according to the wind speed. This is because their values can be considered too small or too large depending on the kite specifications and also its speed, which, in turn, is related with the existing wind conditions. The simulations in this work, however, were conducted with a fixed wind speed of m s−1. The simulation results show that the average cross-track error was an adequate performance measure. In future research, we aim to use this measure to alter the L parameters for varying wind conditions in order to adapt the controller in real time and search for the best possible performance.