{'fraction_non_alphanumeric': 0.041906665099329964, 'fraction_numerical': 0.00940402021864347, 'mean_word_length': 4.191304347826087, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Gone with the Wind: Nonlinear Guidance for Small Fixed-Wing Aircrafts in Arbitrarily Strong Windfields

The recent years have witnessed increased development of small, autonomous fixed-wing Unmanned Aerial Vehicles (UAVs). In order to unlock widespread applicability of these platforms, they need to be capable of operating under a variety of environmental conditions. Due to their small size, low weight, and low speeds, they require the capability of coping with wind speeds that are approaching or even faster than the nominal airspeed. In this paper we present a principled nonlinear guidance strategy, addressing this problem. More broadly, we propose a methodology for the high-level control of non-holonomic unicycle-like vehicles in the presence of strong flowfields (e.g. winds, underwater currents) which may outreach the maximum vehicle speed. The proposed strategy guarantees convergence to a safe and stable vehicle configuration with respect to the flowfield, while preserving some tracking performance with respect to the target path. Evaluations in simulations and a challenging real-world flight experiment in very windy conditions confirm the feasibility of the proposed guidance approach.


I. INTRODUCTION
In recent years, the use of small fixed-wing Unmanned Aerial Vehicles (UAVs) has steadily risen in a wide variety of applications due to increasing availability of open-source and user-friendly autopilots, e.g. Pixhawk Autpilot [1], and lowcomplexity operability, e.g. hand-launch. Fixed-wing UAVs have particular merit in long-range and/or long-endurance remote sensing applications. Research in ETH Zürich's Autonomous Systems Lab (ASL) has focused on Low-Altitude, Long-Endurance (LALE) solar-powered platforms capable of multi-day, payload-equipped flight [2], already demonstrating the utility of such small platforms in real-life humanitarian applications [3]. UAVs autonomously navigating large areas for long durations will inherently be exposed to a variety of environmental conditions, namely, high winds and gusts. With respect to larger and/or faster aircraft, wind speeds rarely reach a significant ratio of the vehicle airmassrelative speed. Conversely, wind speeds rising close to the vehicle maximum airspeed, and even surpassing it during gusts, is a frequent scenario when dealing with a small-sized, low-speed aircraft.
Usually in aeronautics, windfields are handled as an unknown low-frequency disturbance which may be dealt with This  either using robust control techniques, e.g. loop-shaping in low-level loops, or simply including integral action within guidance-level loops. In the case of LALE vehicles, maximizing flight time would further require the efficient use of throttle, thus limiting airspeed bandwith. In order to be able to use such systems safely and efficiently in a wide range of missions and different environments, it is necessary to take care of such situations directly at the guidance level of control, explicitly taking into account online wind estimates.
A standard approach to mitigate the effect of wind on path following tasks is to exploit the measurements of the inertial groundspeed of the aircraft, which inherently includes wind effects, see [4], [5]. Another approach is to take the wind explicitly into account, either by available wind measurements [6] [7] or by exploiting a disturbance observer, as in [8]. Another possibility is described in [9], where adaptive backstepping is used to get an estimate for the direction of the wind.
As to wind compensation techniques, a possible approach is vector fields [5] [10]. In [5], an approach based on vector fields is used to achieve asymptotic tracking of circular and straight-line paths in the presence of non neglegible persisting wind disturbances: vector fields are proposed for specific curves (e.g. straight lines, circles). This requires switching the commands when the target path is defined as the union of different parts, which makes the algorithm less uniform and its implementation trickier. Tuning of vector fields is also known to be difficult, as highlighted in [10].
Another popular approach is based on nonlinear guidance. The strategy proposed in [11], utilises a look-ahead vector for improved tracking of upcoming paths, introducing a predictive effect. The law was extended in [12] to any 3D path in the non-windy case. Great advantages of this law are that it is easy and intuitive to tune, the magnitude of the guidance commands is always upper-bounded, and it has flexibility in the set of feasible initial conditions.
The main contribution of this paper is a simple, safe, and computationally efficient guidance strategy for navigation in arbitrarily strong windfields. To our knowledge, there is no existing guidance law directly considering the case of the windspeed being higher than the airspeed. The provided design strategy relies on the solution provided in [12] in absence of wind whose choice for the look-ahead vector will be properly modified in order to cope with arbitrarily strong windspeed.
Notation. We shall use the bold notation to denote vectors in R 3 . For a vector v ∈ R 3 ,v denotes the associated versor and v the euclidean norm. For two vectors v 1 , v 2 ∈ R 3 , their scalar and cross products are respectively indicated by v 1 ⋅ v 2 ∈ R and v 1 × v 2 ∈ R 3 .

II. PROBLEM DEFINITION
As we wish to extend the results obtained in [12], it is useful to define the same mathematical framework. To have a better insight, we will clearly define the control problem for each different scenario, and define a state-space nonlinear formulation. This will allow us to state a robust control problem, which will be useful for analysis in future work.
A. The Frenet-Serret framework for autonomous guidance The position of the vehicle is denoted by r M , which is a vector of R 3 expressed with respect to an inertial reference frame denoted by F i and described by an orthonormal righthand basis (i, j, k). We assume that (i, j) are co-planar with the flight plane, with k orthogonal to such a plane. The emphasis of the work is on developing a controller able to cope with strong wind. The latter is a vector w ∈ R 3 assumed to be constant and to lie on the flight plane, namely with zero component along k. The vectors v G ∈ R 3 and a M ∈ R 3 in the plane (i, j) denote the ground speed and acceleration of the vehicle, the dynamics of the latter is described bẏ Considering flight through a moving airmass, v G = v M + w, in which v M is the vehicle airmass-relative speed (or airspeed). Note that, since w is constant,v G =v M . The acceleration a M represents the control input. From a geometric viewpoint, the vehicle path is defined as the union of each r M (t) for every time t. At each t ≥ 0 the vehicle path can be geometrically characterised in terms of the unit tangent vector, the actual orientation, the tangential acceleration, the normal acceleration, the tangential acceleration, the unit normal vector and the curvature of the vehicle path respectively defined aŝ We observe that the unit normal vector is defined only for values of the acceleration such that a N M (t) ≠ 0. Furthermore, all the previous vectors lie in the plane (i, j). Having in mind the application to fixed-wing UAVs, we will consider the vehicle to be unicycle-like, i.e. its speed norm v M will remain unchanged in time and it will be then guided through normal acceleration commands a N M . In other words, the control law for a M will be chosen in such a way that a T M (t) ≡ 0. According to this, and by bearing in mind (2), (1) can be rewritten aṡ Inspired by [12], the desired (planar) path is a continuously differentiable space curve in the plane spanned by (i, j) represented by p(l), l ∈ R, with associated a Frenet-Serret frame composed of three orthonormal vectors (T p (l),N p (l),B p (l)), a curvature κ p (l) and a torsion τ p ( ). In the following we let s ∈ R the arc length along the curve p(⋅) defined as The desired path is thus endowed with the Frenet-Serret dynamics given by in which we used the notation (⋅) ′ to denote the derivative with respect to s. As in [12], we define the "footprint" of r M on p at time t as the closest point of r M (t) on p(l) defined as The point P on the desired path is identified by l P , which is the value of the curve parameter l at the closest projection. The unit tangent vector, the unit normal vector, the unit binormal vector, the curvature and the torsion of the desired path at the point P will be indicated in the following aŝ T P ∶=T p (l P ),N P ∶=N p (l P ),B P ∶=B p (l P ), κ P ∶= κ p (l P ) and τ P ∶= τ p (l P ). They are all functions of time through s(t). By bearing in mind (4), it turns out that the vehicle dynamics induce a Frenet-Serret dynamics on the desired path which is given by in whichṡ(t) can be easily computed as (see Lemma 1 and Appendix B in [12]). .
The (ideal) desired control objective is to asymptotically steer the position of the vehicle r M (t) to the footprint r P (s(t)) by also aligning the unitary tangent vectorsT G (t) andT P (t) and their curvature. To this end it is worth introducing an error e(t) defined as and to rewrite the relevant dynamics in error coordinates. In this respect, by considering the system dynamics (1), the Frenet-Serret dynamics (5), it is simple to obtain (for compactness we omit the arguments t) This is a system with state (e,T P ,N P ,B P ,T M ) with control input a M (to be chosen so that a T M ≡ 0) subject to the wind disturbance w. Note that for planar paths, τ P = 0.
In the paper, similarly to [12], the acceleration command will be chosen as with u ∈ R 3 an auxiliary input to be chosen. Note that this choice guarantees that a T M (t) ≡ 0 for all possible choices of u. The degree-of-freedom for the problem is then the choice of the control input u to accomplish control goals. Motivated by [13], the choice of u presented in the paper relies on the so-called look-ahead vector, denoted byL, which represents the desired groundspeed direction for the vehicle. The latter will be taken as a function of the system state and of the wind, according to the objective conditions in which the vehicle operates.

B. Feasibility Cone and Control Objective Formulation
Although the ideal control objective is to steer the error e(t) asymptotically to zero by also aligning the unitary tangent vectorsT G (t) andT P (t) and their curvature, the presence of "strong" wind could make this ideal objective infeasible. For this reason we set two objectives that will be targeted according to the wind conditions. Ideal Tracking Objective. Ideally, the control input u must be chosen so that the following asymptotic objective is fulfilled namely position, ground speed orientation, and ground speed curvature of the vehicle converge to the path ones. Safety Objective. When strong wind does not allow to achieve the ideal objective, the degraded safety objective consists of controlling the vehicle in such a way that the vehicle acceleration is asymptotically set to zero, the groundspeed value is asymptotically minimised (by pointing the nose the vehicle against wind) and the vehicle nose asymptotically points to P, namely The targeted configuration, in particular, is the one in which the vehicle goes away with the wind, by minimising the groundspeed (safety objective), and minimising the distance to the closest point on the path. Note that this objective makes sense for finite-length paths: the infinite-length linear path case is briefly discussed in [14]. Ideal or degraded objectives are set according to the fulfilment of a "feasibility condition" by the look ahead vector. More precisely, with w ⋆ ∶= w the wind strength, let β be defined as Then, we define the "feasibility cone" C as the cone with apex centred at the vehicle position r M , main axis given by w and with aperture angle 2β (see Figure 6). Notice that this becomes the entire plane when w ⋆ < v ⋆ M , i.e. β = π. All desired groundspeed vectors that lie in the cone can be indeed enforced by appropriately choosing the control input u. This fact, and the fact that the look ahead vector represents the desired groundspeed direction for the vehicle, motivates the fact of considering the ideal tracking objective feasible at a certain time t if it's possible to shape the look ahead vectorL(t) so that it lies in C. More specifically, if Otherwise, the ideal tracking objective is said infeasible at time t. The control objectives are set consequently, and we shape the control input separately for each subcase according to the following scheme: In sections III, IV, we show how to design the control input u as in (12) such that if the ideal tracking objective is feasible then (8) is achieved, otherwise the Safety Objective is enforced.
C. The Nominal Solution in Absence of Wind in [12] In this section we briefly present the solution chosen in [12] for the look-ahead vector in absence of wind, as it represents the basis for developing the windy solution. A graphical sketch showing the notation is provided in Figure  1. The authors in [12] proposed the control law Fig. 1: Sketch of the nominal solution of [12] in which k is a design parameter chosen so that k > max andL is the look-ahead vector chosen aŝ where in which δ BL is a boundary layer parameter and the parameter d shift is chosen as d shift = [1 − ( 2 π arccos k P k ) 2 ]δ BL . As shown in [12], this choice guarantees a progressive and smooth steering of the vehicle along the path. Instrumental for the next results, we also introduce the lookahead vector computed on the error e instead of the radially shifted distance d, that iŝ

III. THE LOWER WIND CASE
In this section, we consider the slower wind case, i.e. w ⋆ < v ⋆ M . Here we design u slow as in (12).

A. Previous solutions and their weaknesses
A simple and commonly used approach to achieve path convergence with any wind, similar to that shown in [11], is to apply the normal acceleration command a M N = k(v G × L) × v G such that v G will eventually be aligned with the look-ahead vectorL. Though it should be noted that this acceleration command, defined perpendicular to the ground speed vector, is actually applied to the aircraft bodyaxis; a notable discrepancy for smaller/slower systems. This approach also presents non-easily predictable behaviours: as an example, it could happen what is shown in Figure 2.

B. Proposed strategy
Here the goal is to find the control input u slow that satisfies the requirements in 8. We first find a basic control input, Corner Case: turn around Fig. 2: Initially, the ground speed is almost aligned with the look-ahead vector, hence the aircraft is not commanded to change its attitude and gets carried away by the wind. The aircraft is forced to perform a complete turn around to get back on track.
called u e , and improve on that to obtain u slow . To this end, we are going to reason in steady state, i.e.
1) Initial control input: Here we are going to satisfy the first two requirements in (8). It is useful to consider the geometry of the problem shown in Figure 3 and introduce the following angles, using basic trigonometric relations (18) whereL 1e is an unknown target orientation for the aircraft to be computed. It should be noted that these angles are not defined in case w = 0. We now aim to satisfy the first To find such a command, we assumed to already be at the Position/Orientation steady state condition. Since we assume to be on the path with the desired orientation, then be an unstable equilibrium, as shown in [12]). The natural choice for the desired groundspeed direction iŝ L 0 , as it was defined in (16). Note thatL 0 e=0 =T P . We need to find the desired directionL 1e for the aircraft by solving the geometry shown in Figure 3, which means solving the following equation inL 1e : The solution, in terms of the angles defined in (18), is rot(a, θ) is the function that rotates vector a ∈ R 3 by angle θ ∈ R around the vertical axis k. The basic u e will be improved in III-B.2 to obtain curvature convergence.
2) Improvement of the control input to satisfy the curvature convergence requirement: In order to satisfy the curvature convergence requirement, we need to force the correct amount of steady-state centripetal acceleration to the aircraft. This can be done by firstly reasoning on what additional acceleration should be imposed to the v G vector (which we call a G N res ), then by mapping to the actual aircraft control input. The function a G N res (⋅) should satisfy the steady-state curvature requirement, i.e.: In addition to that, when mapped to the actual control input, it should preserve convergence. Inspired by [12] and equation (22), we claim that the following function is a suitable choice: withL andL 0 as defined in II-C. Indeed, (22) is satisfied by definition (L 0 e=0 =T P , d e=0 = d shift ), and convergence appears to be preserved.
Mapping to the control input. We show that additional centripetal acceleration for the aircraft can be achieved by rotation of the basic control input u e (19) through a properly shaped angle function θ s (⋅). Notice indeed that, for θ ⋆ s ∈ R: Where we assumed the vehicle direction to coincide with u e . Since a G N res is applied to the ground-speed vector v G , and remembering that for any normal acceleration it holds a N = ⃗ Ω × V, where ⃗ Ω is the angular speed vector and V is the linear speed vector, then it holds through derivation w.r.t. time of λ e defined in (18) (which indicates the v G orientation):λ Still assuming that angle(v M , u e ) = 0, noticing that angle y defined in (18) indicates the aircraft body-axis to which we apply the control input, and considering equation (24), it holds: Also, deriving the second equation of (18) w.r.t time, it holds: Hence plugging (23) into (25) and (25) into (27), we can compare equations (26) and (27) to obtain: (28) Where the saturation function bounds the argument between -1 and 1: this is needed because of the assumption angle(v M , u e ) = 0, i.e. during the transient we might ask for residual accelerations that are higher than in steadystate. This doesn't ruin convergence, as the vehicle will keep turning until the v G eventually decreases and θ s can smoothly steer the trajectory curvature to the path curvature. In the end we apply: u e defined as in (19), θ s as in (28), so that the goals in (8) are satisfied. We report in Figure 4 a phase portrait showing global convergence in numerical simulations for a large variety of initial conditions and different windspeeds. That said, attractiveness to the equilibrium is not formally proved in this paper. In Figure 5, we can observe the performance of the algo- steady state, we have the lower bound: Similarly to [12], the derivation considers the highest acceleration we need in the worst case scenario (L 0 =ŵ, v M ∥ w).

IV. THE HIGHER WIND CASE
In this section we design u fast,1 and u fast,2 introduced in (12). Let us define the desired direction for the groundspeed L 0 as in equation (16), and the corresponding basic control input u e as in equation (19). It is convenient to reason considering the angles introduced in (18): refer to Figure  6 for a better visualization. y Fig. 6: w ⋆ > v ⋆ M case. ν is the angle between −w and the desired groundspeedL 0 , y as in Figure 3, v G is the actual groundspeed that we achieve, u fast,2 is the chosen control input.
A. Solution forL 0 feasible, i.e. λ ≤ β As the desired groundspeed directionL 0 is feasible, we reason as in III-B: choose the basic control input u e as in (19) and rotate it by a proper angle in order to achieve curvature convergence: this would mean u fast,1 = u slow , and doing so we would achieve curvature convergence as long as theL 0 is still feasible. However, with usual shapes for the target curved path, at some point the desired direction will become infeasible: when this happens, we need the control input not to change abruptly, i.e. to be a continuous function of the desiredL 0 . Since we cannot in general achieve the goals in (8), we make a slightly different euristic choice for u fast,1 that guarantees continuity of the commands (as better explained in [14]), while preserving curvature convergence to a good extent as long as theL 0 is feasible: Notice indeed that at the infeasibility boundary θ s2 λe=arcsin v ⋆ M w ⋆−1 = 0 and at the slower wind case boundary θ s2 w ⋆ =v ⋆ M = θ s , θ s as in (28). So, in the end, u fast,1 = rot(u e , θ s2 ) (32) B. Strategy forL 0 infeasible, i.e. λ > β We define an infeasibility paramater α out and a safety function σ safe (α out ) as follows: both indices have maximum value equal to 1. When σ safe = 1, it means that we act conservatively and choose u fast,2 k = −ŵ: this has to happen only in the absolutely worst scenario of L 0 = −ŵ, which corresponds to the maximum α out = 1. In all the intermediate cases, we want to guarantee a tradeoff between conservatism and tracking performance, i.e we want σ safe (α out ) to be increasing with α out . This can be achieved by finding a proper mapping f from angle ν = π − λ e to angle y in the following form This mapping should satisfy, at least, these 3 properties: The first requirement is to guarantee that σ safe = 1 when L 0 = −w. The second one is a boundary condition to guarantee that the input is continuous to theL 0 switching from being feasible to infeasible (or vice versa). The third requirement is for finding a tradeoff between safety and performance: put in words, the more theL 0 is infeasible for the groundspeed, the more we want to turn against the wind and wait for it to stop. By looking at Figure 6, a natural choice that follows geometric intuition and is coherent with the requirements that we have just stated, is In terms of the mapping that has been defined before, this choice corresponds to f (ν = π − λ) = y = arcsin sin ν cos β 1 + cos 2 β + 2 cos β cos ν (37) this mapping satisfies the requirements (35), as can be easily verified by substition and derivation with respect to ν. For clarity, the function is plotted in Figure 7 for different values of the wind-cone opening angle β  It is also worth highlighting the tradeoff introduced between performance and safety (incremental safety) by computing the safety function σ safe (α out ) : (38) as is also shown in Figure 9. .

V. CONTINUITY
In realistic scenarios, the wind is not going to be constant, but will likely switch between w ⋆ < v ⋆ M and w ⋆ > v ⋆ M several times. Not only that, the path is going to be curved, so the desired direction for the groundspeedL 0 is going to switch between being feasible and infeasible. All these switchings mean that it is very important for the command input u to be continuous to changing winds and changingL 0 . The control input was derived separately for the three subcases (slower winds, higher winds with feasible desired direction, higher winds with infeasible desired direction) in III, IV-A, IV-B. We want to show here that the complete control input ig. 9: Infeasibility/safety relationship, for different βs indeed guarantees continuity in this sense.
• Switching between u slow and u fast,1 : this happens as the wind passes from . Also, in this case, λ e (t * ) ≤ π 2 . Looking at the formulation for θ s and θ s2 in (31), we have: and so u slow (t * ) = u fast,1 (t * ) so the command u(t) is continuous at this boundary condition • Switching between u slow and u fast,2 : this happens as the wind passes from w ⋆ < v ⋆ M to w ⋆ > v ⋆ M . Let t * be the boundary time instant in which w ⋆ (t * ) = v ⋆ M (t * ). Also, in this case, λ e (t * ) > π 2 . Solving the geometry in 3, we have that u e = −w. Since β(t * ) = π 2 , this implies that y(t * ) = 0 as computed in (37): so u fast,2 (t * ) = −w as well. AssumingT M ≈L 1e , which is the case after some transient, we have that v G ≈ 0. So by (??), we have θ s ≈ 0, implying • Switching between u fast,1 and u fast,2 : this happens when w ⋆ > v M andL 0 passes from being feasible to being infeasible. Let t * be the boundary time instant. Then so θ s2 (t * ) = 0. This guarantees continuity, as no shifting angle is applied in the infeasible case. In Figure 10 we report a plot that highlights the continuity of the input as the wind increases and for a fixedL 0 . We plot angle y associated with the direction of the control input u fast,2 , for different values of ν = angle(−w,L 0 ).

A. Sinusoidal Winds
As an example of a more realistic varying wind profile, in order to show that the commands do not switch abruptly and are continuous, we consider the case of the wind having this sinusoidal profile for some wind pulsation Ω and amplitude W > v ⋆ M . The result is shown in Figure 11, and the same is shown (more clearly) in an accompanying video 1 .
Switching between any couple of the three parts of the control input can happen in this case. The least smooth behaviour, as we have only approximate continuity, is when the switching is between u slow and u fast,2 . The proposed algorithm was implemented on a Pixhawk Autopilot in C++ and subsequently tested on a small fixedwing UAV in high wind conditions. In Figure 12, we show the results from the flight tests. The aircraft was commanded to follow a circular trajectory in counter-clockwise direction at a nominal airspeed of 8 m s −1 . The wind vector is represented in the figures using the following arrow, color scheme: Figure 12a, the UAV can be seen to attempt curvature following despite the infeasible look-ahead direction until a point where the wind speed reduces and allows the start to convergence back to the path. Figure 12b shows a wind-stabilized approach towards the trajectory until the point where simply pointing into the wind is the only option to reduce "runaway" from the track, recall the tracking direction is counter-clockwise. In this work, we extended a nonlinear guidance method based on a look-ahead vector, particularly suitable for fixedwing UAVs, so as to actively take into account the measurements of external flowfields and drastically improve the tracking performance of the vehicle. Taking inspiration from issues that often arise when using small-sized UAVS, such as the maximum achievable airspeed being lower than the windspeed and the commands to the aircraft being discontinuous when treating the higher-wind case as a corner faulty case, the proposed technique considers arbitrarily strong flowfields and is continuous to wind changes.
The slower wind case allows for exact convergence to the path, as all the directions for the ground speed are feasible. The higher-wind case was considered in two separate subcases, by defining the notion of feasible and infeasible desired ground speed directions for the aircraft. Exact tracking performance in the feasible case was shown preserved, while safety in the infeasible case was demonstrated and bounded to a minimum "run away" configuration; i.e. we define the concept of asymptotic safety for finite paths.
Future work will need to extend the proposed geometric approach to the more general case of 3D paths with 3D winds. A mathematical proof for the convergence with slower winds will also have to be provided.

APPENDIX: STABILITY PROOF FOR HIGH WIND CASE
We are in the scenario of w ⋆ > v ⋆ M . For finite-length paths, we want to show that we achieve the requirements in (9). Here we will also consider briefly the case of infinite paths: the only realistic case in UAV application is that of infinite linear paths. In this case we want to show that: where µ = arccosŵ ⋅Λ,Λ is the direction of the target linear path, mapping f ∶ ν → y has to be chosen. The second requirement in (44) asks for a trade-off between the linearpath direction and the anti-wind direction for theT M , that results in an efficient direction for the actualT G . In both cases, the proof for the proposed algorithm will be structured as follows: • First the so called geometric case will be tackled: the vehicle is considered to always be at the desired heading angle, i.e.T M (t) = u fast,2 k (t), ∀t. • Then, the so called dynamical case (the vehicle is not always at the desired heading angle) will be considered and shown to fall into the geometrical case as time goes to infinity.
A. Geometric case: finite paths 1) Subcase 0. Single point path: Here we consider the path to be very far away and hence similar to a single point P for the aircraft to be reached. The radially shifted distance is indistinguishable from the error, so θ s (t) ≈ 0 ∀t. Also, notice that with a point-path,ê =L 0 . By defining Now let the line directed asL 0 divide the plane into two half-planes: the previous considerations imply that v G and w both lie in the same half-plane, so theL 0 will rotate more towards the −w direction in time until eventually lim t→∞L 0 = lim t→∞ê = −ŵ. Another way to see this: the path-point P acts as a rotational joint for the error vector e, which is fixed at one end in P : the v G is rotating the error vector in the same direction as the wind would rotate it, meaning that it will point instantaneously more in the anti-wind direction, i.e. even more outwardly with respect to the cone, until it reaches the antiwind direction (the "torque" around point P is null at that point). As in this caseL 0 =ê, theL 0 rotation must stop here. Since f (0) = 0, then also lim t→∞ u fast,2 k = −ŵ by construction. By hypothesis of geometrical case, this means lim t→∞T M (t) = −ŵ. Then, by definition of the normal acceleration command, also lim t→∞ a M N = 0 so we reach asymptotic safety as defined in (9). As an additional feature, note that so we reach the equilibrium without oscillations around that line such thatê = −ŵ.
2) Subcase 1. Finite length paths: In this case, theL 0 versor is a function of the particular path we are considering, so we can no longer assume it to coincide withê as in the single point path case. However, consider the following two facts: • The path is finite That is, as the wind is constantly stronger than the airspeed, the minimum growth of the projection of the error onto the wind direction has rate (w and since the path is finite As the distance grows to infinity, the path will look like a single point P ∞ , that is the center of the smallest circle that contains the whole path. Then, we fall into the single point-path subcase.

B. Geometric case: infinite linear paths
Here the path is not finite. However, a common case in UAV applications is when the path is an infinite line. If this line is outside the wind-cone or the intersection with the cone is finite, it is not possible for the v G to align to it. In this case, the proposed algorithm achieves efficient wind stability, i.e. the objectives in (44). To show this, simply notice that if d > δ BL , then whatever the vehicle position, we haveL 0 Λ , as the error direction will always be perpendicular to the line. A simulation for this situation is shown in Figure 13. The interpretation for this result is that the proposed algorithm finds some efficient compromise for the v G direction between the anti-wind direction and the path direction, which is a tradeoff between safety and tracking performance.

C. Dynamical case
Here we will extend the proof for the geometric case, so as to consider the dynamics imposed by the nonlinear acceleration command. As the subcase of finite-length paths was shown to fall into the subcase of single-point paths, studying the dynamic extension for the single-point paths is all we need. The extension for the infinite linear path is 2 ). Line direction is hence infeasible. trivial and will be omitted, as theL 0 stops changing as soon as d > δ BL . In the following, it is clearer to directly refer to Figure (14) for the symbols definition.
corrensponding toL 0 pointing outside of the "specular" cone, then it is easy to see that α Lg < π, ∀θ g (51) meaning thatν < 0 independently from the actual aircraft orientation. This holds until we fall into subcase 2.
2) Subcase 2: corrensponding toL 0 pointing inside of the "specular" cone, we need further considerations. It is not true anymore that α Lg < π, ∀θ g . Instead we have Then it's possible that, depending on how the aircraft is oriented, ν will increase while the angle betweenT M and the commanded direction u fast,2 k is smaller than π , which is undesirable as it would mean theL 0 is "running away" from T M . To show that eventually the aircraft can be considered to be aligned with its commanded control input versor u fast,2 k , consider the following: • We can increase parameter k in order to make the vehicle turn with faster dynamics. • As time goes to infinity, eventually the "chasing" angle z will decrease to 0.
To show this last fact, first notice that for any givenT M , ifν > 0 thenν is a decreasing function of e ⋅ w that goes to 0 as 1 e⋅w or faster. Indeed, consider the case whenν > 0 and has the maximum value, i.e. ν = 0 andT M w. We havė which acts as an upperbound for all the other situations. Irrespectively fromT M , since w ⋆ > v ⋆ M , e ⋅ w indeed increases, henceν must decrease and tend to 0. Since y is a function of ν such that ∀ ν, y(ν) < ν, than alsoẏ decreases and tends to 0 as time goes to infinity. Now consider the time derivative of the "chasing" angle ż z =ẏ +ξ Since we showed lim t→+∞ν (t) = 0 = lim t→+∞ẏ (ν(t)), irrespectively of what the orientation of the vehicle could be at any time, then, as ξ indicates the heading angle of the aircraft, lim t→∞ż (t) =ξ(t) As the acceleration command is designed to steer the vehicle orientation onto the chosen look-ahead vector, which now is u fast,2 k , as the look-ahead is bound to asymptotically stop changing as the vehicle gets further away from the path, then we actually have that lim t→∞ξ (t) = 0, with the vehicle aligned to the look-ahead vector. This, together with (57), translates in lim t→∞ z(t) = 0 Then we can say that we asymptotically fall into the geometrical case, and the proof holds.