L0 and L1 Guidance and Path-Following Control for Airborne Wind Energy Systems

: For an efﬁcient and reliable operation of an Airborne Wind Energy System, it is widely accepted that the kite should follow a pre-deﬁned optimized path. In this article, we address the problem of designing a trajectory controller so that such path is closely followed. The path-following controllers investigated are based on a well-known nonlinear guidance logic termed L1 and on a proposed modiﬁcation of it, which we termed L0. We have developed and implemented both L0 and L1 controllers for an AWES. The two controllers have an easy implementation with an explicit expression for the control law based on the cross-track error, on the heading angle relative to the path, and on a single parameter L ( L 0 or L 1 , depending on each controller) that we are able to tune. The L0 controller has an even easier implementation since the explicit control law can be used without the need to switch controllers. Since the switching of controllers might jeopardize stability, the L0 controller has an important theoretical advantage in being able to guarantee stability on a larger domain of attraction.The simulation study shows that both nonlinear guidance logic controllers exhibit appropriate performance when the L parameter is adequately tuned, with the L0 controller showing a better performance when measured in terms of the average cross-track error. were conducted with a ﬁxed wind speed of v w = 10 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.


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 wellknown 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.

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.

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 (r, φ, β), with basis ( e r , e φ , e β ), similar to the one used in [27][28][29]. We consider also a Global Coordinate System-G, an inertial Cartesian coordinate system (x, y, z), with basis ( e x , e y , e z ), 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 v w , the apparent wind velocity v a , and the kite velocityṗ satisfy v a = v w −ṗ.
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 ( e 1 , e 2 , e 3 ). The axis e 1 is the kite longitudinal axis pointing forward, e 2 points towards its left wing, and e 3 is in the kite vertical axis pointing upwards.
Newton's second law of motion equation for the kite system is where F th represents the tether force acting on the kite, F grav -the gravity force, and F aer (α, ψ)-the resultant aerodynamic force. The gravity force is F grav = −mg e z , and the tether force is F th = −T e r , with T being the tether force measured at the ground station (when the tether is assumed to be inelastic and massless). The aerodynamic force F aer (α, ψ) acting on the kite is dependent on the angle of attack α and on the roll angle ψ. It comprises the Lift (aligned with e 3 ) and Drag (aligned with e 1 ) components satisfying Here, c L (α) and c D (α) 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 F inert represents the inertial forces (centrifugal and Coriolis) in the non-inertial coordinate system. We assume that the tether accelerationr can be controlled directly with the winch by a t , and that we can also control directly the angle of attack α and the roll angle ψ. Defining the state x = r, φ, β,ṙ,φ,β and the control u = (a t , α, ψ), the dynamic equation iṡ which is the state-space model used in simulations of the kite trajectory.

Turning Dynamics Model
During crosswind flight, with the kite speed much larger than the wind speed, we can assume that e 1 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 e 1 . Define ψ = 0 when e 2 is also contained within the (φ, β) plane and e 3 is orthogonal to the surface of the sphere pointing outside. As we increase the roll angle, a larger component of e 3 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 a 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 (4) Figure 2. Roll angle and turning dynamics.

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 (d, ), in (R + , [−π, π]), 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   The goal of the path-following controller is to steer the kite, by changing the roll angle, in order to drive (d, ) towards (0, 0).

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 t → (φ(t), β(t)); 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.

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 L 1 ahead of the vehicle. Then, the required lateral acceleration a s 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 L 1 and make the vehicle converge to the desired path. The distance L 1 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 L 1 , and to its length as L 1 ). 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 L 1 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 L 1 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 L 1 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 L 1 neighborhood of the path, the L1 control law described earlier is used: the reference point is the point on path at a distance of L 1 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 L 1 is no longer the design parameter to select, but rather, it is determined after selecting the new design parameter L 0 . 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 L 0 jump from Q. Therefore, L 1 varies and it is equal to L 1 = d 2 + L 2 0 , being L 0 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, ψ ∈ [−ψ max , ψ max ], 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:

Kite and Flight Path Specification
The kite is set to follow a cyclic path on the surface of a sphere of radius r. The path is a closed curve parameterized in the (φ, β) space and can be of elliptical shape or figure-of-eight shape, for example. We have considered a closed curve, with similarities to an elliptical shape, divided by two curves and two straight lines in the (φ, β) space (see Figure 6). This reference path has the parameters ∆φ = 20°and ∆β = 10°, representing variations around the center of the curve (φ * , β * ) = (0°, 40°). This curve in the (φ, β) space serves as a reference to be followed even when the tether length r varies. When projecting this reference path in the surface of the sphere, the path has four segments of constant curvature in the (r, φ, β) space. Finally, the roll angle limits imposed in the simulations are ψ ∈ [−60°, 60°].

Numerical Results
The dynamical model used in the simulations is the one described in Section 2.1 (see also [27,29]), and it was implemented in Simulink. We set the parameters of simulation for the AWES as in Table 1, which correspond to a small dimension prototype with a fixed angle of attack α. The initial conditions, as well as the results for each case of study, are presented in Table 2. The columns of the table are divided by the initial condition used for the simulation, the various sets of L 0 and L 1 values used (L is used when referring different sets of values) and finally the average (absolute) value, computed along time, of the cross-track error (d). The initial value (β 0 , φ 0 ) of the simulations is defined in reference to the middle of the path curve (φ * , β * ).
There is one initial condition for each set of related L 0 and L 1 values. For each L 1 simulation, there are two values of L 0 : L 0 = L 1 and L 0 = L 1 √ 2 . When L 0 = L 1 and the kite is positioned exactly on the path, the reference point will be at the same distance for both L0 and L1 guidance schemes. When L 0 = L 1 √ 2 and the distance d from the kite to the closest point in the path Q is equal to L 0 , i.e., when d = L 0 = L 1 √ 2 , both the original L 1 and the resultant L 1 from the L0 controller will be equal, since the latter is computed as These relations between the two parameters were chosen as they allow for an adequate comparison between methods, based on which we can retrieve quantitative performance measures such as the average value of the crosstrack error. The average value of the the cross-track error,d, was computed for t = [0, 40] (including the initial transit behavior) and t = [5,40] (steady-state error), and it is reported in Table  2. The latter was computed to better show the steady-state behavior of the cross-track error when there are large values of the error in the initial part. The minimum average error for each initial condition is highlighted in bold.

Performance Analysis
The results of the simulations are displayed in the next subsections, as well as with the Figures 8-11. The results are organized for each set of L ∈ {1, 3, 5, 10}. The figures present the kite position and the reference path in 2D, in a (φ, β) plane. Finally, an analysis using the cross-track error is performed in Section 4.3.5.

L = 1°I
n this case, the L value is small, compared with the other cases (see Figure 8). It forces the kite to have a sharp approximation to the path, which causes overshoot in various parts of the path. The kite is able to quickly decrease the distance to the path in the beginning by having a low L value. Low efficiency when following the path results in overshoot accumulation, with oscillating behavior around the path. In the case of L 0 = 1 √ 2°, the kite loses track of the path and even inverts the flight direction. These L values result in a growth of the cross track error, mainly caused by the overshoots. Although this set of results is not the one that presents the worst error values, it presents qualitatively bad results for following the path, either when using the L1 controller or when using the L0 controller.

L = 3°T
his set of results portrays the best performance overall, being L 0 = 3 √ 2°t he controller with the lowest cross-track error.
In Figure 9 it can be seen that, since the L1 controller only acts when the kite is close to the path and d < L 1 , the kite takes a sharper turn compared to the L0 controllers which start turning the kite as soon as the simulation starts. This behavior causes sharper turns than needed, which has as a consequence a larger required control actuation and can reduce the kite speed and thus cause a worse performance in terms of power production. Moreover, eems to feature a sharper turn during the initial approximation to the path than the case of L 0 = 3°, as expected due to its smaller L 0 parameter.
n terms of the simulation error, the controller with L 0 = 5 √ 2°h as a smaller error than the others, thus being able to follow the path more closely (see Figure 10), as shown in Table 2. Both eem to have a small overshoot in the initial approximation to the path, being the former larger. This is due to the fact that the L 1 controller only begins to turn when d < L 1 and due to a smaller value of L 0 in the second case. Overall

L = 10°T
his set of simulations shows the worst overall result in terms of error measurements, due to large L parameters. Therefore, the lowest L0 controller L 0 = 10 √ 2° shows the best performance (see Figure 11). Since these parameters are too large, the controller picks up reference points that are far away from the current kite position which causes the kite to deviate from the path. nd another with L 0 = 10°. The average cross-track error to the path over the full simulation is shown in red dotted lines, while the average cross-track error when the kite is already close to the path (steady-state error) is shown in a dotted black line. These graphs show that after an initial approximation to the path, the distance varies cyclically for both cases with a much larger amplitude in the second case, as expected due to its large L 0 parameter. Although this L0 controller was shown to be asymptotically stable in [27], it does not seem to converge to zero in these simulations. This happens since in [27] it is assumed a straight line as a path and not one with periodically varying curvature, as is the case with the path used in these simulations.

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 d < L 1 . 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 v w = 10 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. Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.

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