Agile maneuvering with a small fixed-wing unmanned aerial vehicle

Agile maneuvering with a small fixed-wing unmanned aerial vehicle

Accepted Manuscript Agile maneuvering with a small fixed-wing unmanned aerial vehicle Joshua M. Levin, Aditya A. Paranjape, Meyer Nahon PII: DOI: Ref...

4MB Sizes 0 Downloads 115 Views

Accepted Manuscript Agile maneuvering with a small fixed-wing unmanned aerial vehicle Joshua M. Levin, Aditya A. Paranjape, Meyer Nahon

PII: DOI: Reference:

S0921-8890(18)30430-5 https://doi.org/10.1016/j.robot.2019.03.004 ROBOT 3182

To appear in:

Robotics and Autonomous Systems

Received date : 19 May 2018 Revised date : 21 December 2018 Accepted date : 15 March 2019 Please cite this article as: J.M. Levin, A.A. Paranjape and M. Nahon, Agile maneuvering with a small fixed-wing unmanned aerial vehicle, Robotics and Autonomous Systems (2019), https://doi.org/10.1016/j.robot.2019.03.004 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Agile Maneuvering with a Small Fixed-Wing Unmanned Aerial Vehicle Joshua M. Levin Department of Mechanical Engineering, McGill University, Montreal, QC H3A 0C3, Canada

Aditya A. Paranjape Department of Aeronautics, Imperial College London London, SW7 2AZ United Kingdom

Meyer Nahon Department of Mechanical Engineering, McGill University, Montreal, QC H3A 0C3, Canada

Abstract This paper presents a general and systematic approach to automating a variety of agile maneuvers with a small fixed-wing unmanned aerial vehicle. The methodology begins by numerically solving optimal control problems off-line to generate a small set of reference trajectories and feedforward control inputs for maneuvers. A dynamic time warping-based interpolation process parametrizes these solutions, adding robustness to the maneuver, whilst allowing the on-board library of state and control time histories to remain compact. To handle errors, inaccuracies, noise, and disturbances that are not accounted for by feedforward control, feedback control laws stabilize about the reference trajectories. The work focuses mainly on one agile maneuver: an aggressive turn-around, in which the aircraft undergoes a rapid 180 degree heading reversal, beginning and ending in straight and level flight. To establish the generality of the methodology, it is also applied to transition Email addresses: [email protected] (Joshua M. Levin), [email protected] (Aditya A. Paranjape), [email protected] (Meyer Nahon)

Preprint submitted to Robotics and Autonomous Systems

December 21, 2018

maneuvers between straight and level flight, and a nose-up hover. The proposed automation scheme is computationally light during flight, consisting of a simple feedforward/feedback controller coupled to a compact library of maneuvers that are optimized over the full flight envelope. The methodology is validated in simulations and flight tests. The automation scheme is implemented successfully on a small fixed-wing unmanned aerial vehicle. Keywords: Fixed-wing, trajectory generation, unmanned aerial vehicles, optimal control, dynamic time warping 1. Introduction Many modern UAV designs show great potential for operating in constrained environments where agile flight is required to avoid obstacles and perform tasks efficiently. In this work, we investigate techniques in pursuit of autonomous flight with one such class of aircraft, referred to as small aerobatic fixed-wing UAVs. The particular aircraft design we use, pictured in Figure 1, combines the efficient forward flight of a fixed-wing with the maneuvering capabilities of a rotorcraft. The impressive agility and grace of this class of aircraft can be observed in manual flight demonstrations by expert radio control (RC) pilots. Taking inspiration from such demonstrations, here we design a number of agile maneuvers that can serve functional purposes in autonomous flight. The specific problem addressed in this work is to develop a methodology for generating and autonomously executing dynamically feasible trajectories that take advantage of the full physical capabilities of the small fixed-wing UAV. The challenges inherent to this problem are found in having to identify and explore the limits of the aircraft’s flight envelope, meet dynamic feasibility constraints, and design effect control strategies for aggressive transient maneuvers. The proposed methodology is general and systematic in that it can be used to generate any maneuver that can be framed as an optimal control problem. There are a number of techniques for generating trajectories for fixedwing UAVs. Feasible trajectories for agile UAVs can be learned from expert human pilots, as in Tang et al (2010); McConley et al (2000); Gavrilets et al (2001). A disadvantage of this approach is the need to rely on the competence of a pilot. The unstable behavior of agile fixed-wing UAVs makes it 2

Figure 1: McFoamy: an RC plane by West Michigan Park Flyers.

difficult for a pilot to consistently perform the same maneuver, and their performance will inevitably be sub-optimal. Feedback controllers can also be used to generate dynamically feasible trajectories (Arifianto and Farhood, 2015; Mellinger et al, 2012). Here, we generate trajectories via optimization, solving optimal control problems to produce reference state trajectories and their corresponding feedforward control inputs. Solving optimal control problems to generate state and control input time histories for fixed-wing UAVs is well-studied (Grymin and Farhood, 2016; Fisch et al, 2009). This approach avoids the issues associated with learning from piloted flight, and is not corrupted by external disturbances (e.g. from wind) and state estimation errors. An additional benefit of this method is that specific functional objectives can be incorporated into the maneuver design by imposing boundary conditions and constraints. Well-defined, functional maneuvers are suitable for primitive-based real-time motion planning, such as in Frazzoli et al (2002), where the motion planning algorithm is applied to vehicles described by hybrid representations: trim conditions and transitions between them (e.g. agile maneuvers). Procedures for optimizing trajectories are reliant on a dynamics model of the aircraft. The highly nonlinear behavior of agile fixed-wing UAVs cannot accurately be captured using the traditional fixed-wing stability-derivatives approach. Acquiring flight data is relatively easy and inexpensive, and thus system identification techniques have become prevalent (Johnson and Lind, 3

2009; Wu et al, 2004; Grymin and Farhood, 2016), however, capturing the full flight envelope of a highly maneuverable vehicle this way is impractical. In Green and Oh (2009); Frank et al (2007); Johnson et al (2008), physicsbased models are used, but rely on simplifications and map only to some portion of the aircraft’s flight envelope. Only recently have advancements lead to accurate modeling techniques for representing the full flight envelope through first principles (Selig, 2014). Here, we utilize a model of this nature; a full six degree-of-freedom dynamics model developed by Khan and Nahon at McGill University (Khan, 2016). As previously pointed out, trajectories generated using optimal control theory are specific to the problem’s boundary conditions. During flight, feedback control can attempt to make up for deviations from the trajectory’s boundary conditions, but a more direct solution to this issue is to parametrize the maneuver. Using a small set of trajectories, Dever et al. developed an algorithm to create continuously parametrized classes of dynamically feasible trajectories for autonomous vehicles (Dever et al, 2006). The algorithm was experimentally applied to a three-degree-of-freedom helicopter. The high-level strategy developed in this paper is partitioned into three main components: trajectory generation, trajectory parametrization, and trajectory tracking. Trajectories are generated to meet functional objectives by solving optimal control problems. The trajectories are parametrized by initial or final velocity using a novel application of dynamic time warping (DTW). Tracking involves the combination of feedforward and feedback control. To walk through the methodology and highlight its innovative features, the work focuses mainly on one agile maneuver: an aggressive turn-around (ATA). This maneuver consists of a rapid 180 degree reversal of the aircraft’s heading, to and from straight and level flight. To demonstrate the generality of the approach, it is later applied to transition maneuvers between straight and level flight, and nose-up hovering (see Figure 2). This paper builds on the authors’ previous work. The high-fidelity dynamics model and feedback controller are originally described in Khan (2016) and Bulka and Nahon (2018), respectively. This work is a significant extension of Levin et al (2016), in which a methodology for optimizing trajectories and evaluating controllers was proposed. A similar optimization technique was used in Levin et al (2017), specifically to generate a knife-edge maneuver that was subsequently incorporated into a motion planning framework. With respect to these works, the new developments here are as follows:

4

Figure 2: Side view of nose-up hover.

1. A general and systematic approach to automating a variety of agile maneuvers is proposed and tested on three maneuvers. 2. A new method for trajectory parametrization, making use of dynamic time warping, is presented. The parametrization makes the agile maneuver space more robust while incurring a negligible cost to the computational load needed in flight. The parametrization method is strategically split into off-line and on-line portions, such that the storage requirements and computational burden on the flight controller are minimal. 3. In addition to simulations, all maneuvers are performed in experiments with a small fixed-wing UAV, shedding considerable insight into practical implementation issues. The methodology here differs in many ways from the current literature. In contrast to system identification techniques performed for specific flight regimes, our high-fidelity model allows us to generate dynamically feasible trajectories for a variety of agile maneuvers. Whilst impressive performance has been demonstrated using off-board sensing and control (e.g. Cory and Tedrake (2008); Moore et al (2014)), we demonstrate successful flight tests 5

that rely solely on the on-board system. A limitation of these tests is that they are performed indoors, i.e. without wind disturbances. Although other trajectory parametrization methods exist, our implementation of dynamic time warping is particularly computationally light during flight; the small amount of memory that is typically available on an off-the-shelf flight controller is more than sufficient. The cost incurred with this method is that only one state variable can be parametrized. As a final salient feature of our methodology, we note that the agile maneuvers are developed for integration with motion planners. In Levin et al (2018), we integrate all three agile maneuvers designed here into a real-time sampling-based planner. 2. Aircraft Dynamics Model The aircraft dynamics model used in this paper is derived from the work of Khan and Nahon of McGill University, who comprehensively modeled an agile fixed-wing UAV’s dynamics over its full flight envelope; accounting for a ±180 degree range in both angle-of-attack and sideslip. This work addressed virtually all of the relevant factors that influence an aircraft’s flight behavior, namely: thruster dynamics (Khan and Nahon, 2013), slipstream effects (Khan and Nahon, 2015a), and nonlinear aerodynamics (Khan and Nahon, 2015b). 2.1. Aircraft Configuration The airframe used is the McFoamy, an RC plane by West Michigan Park Flyers with a 0.86 m wingspan, shown in Figure 1. This airframe was chosen because it is lightweight, easily assembled, and the foam absorbs most of the impact in crashes. Equipped with the sensing and computing equipment described in Section 7.1, the aircraft weighs 0.484 kg. The maximum thrust it can produce is approximately 9 N. 2.2. Equations of Motion The full aircraft dynamics model is summarized by the equations of motion (EOMs) for a rigid body:

6

1 cg FB − ω × B VB m × ω˙ B = I −1 B [MB − ω B I B ω B ] cg r˙ I = CTBI VB 1 q˙ = q ⊗ ωB 2

˙ cg = V B

(1)

Resolved in the body-frame is the translational and angular velocity of T T the aircraft, V cg B = [u, v, w] and ω B = [p, q, r] , the inertia matrix, I B , and the net forces and moments acting on the aircraft, FB and MB . The position vector, r I = [x, y, z]T , is resolved in the inertial frame. A quaternion, q, is used to represent attitude, because unlike the standard Euler angles, quaternions do not suffer from issues of singularity. The aircraft’s full state vector is x = [u, v, w, p, q, r, q1 , q2 , q3 , q4 , x, y, z]T , together with the constraint ||q|| = 1, needed for quaternion rotation. The modeling challenge is to properly characterize the net forces and moments acting on the aircraft, FB and MB . These have three sources: gravity, propulsion, and aerodynamics, which will be discussed in Sections 2.3 - 2.5. The term CBI is the rotation matrix that transforms vectors from the inertial frame to the body frame. This matrix is constructed from the quaternion attitude representation, which is defined as q = q1 + q2 i + q3 j + q4 k. 2.3. Thruster Model The thruster model is responsible for computing the aerodynamic and gyroscopic forces and moments produced by the thruster unit, expressed in the body-frame as FB,T and MB,T . These terms are dependent on the thrust control input, as well as the aircraft’s translational and angular velocities. To compute the forces and moments, blade element momentum theory is employed, and all flow conditions - static, axial, oblique, and reverse flow are captured. The model was experimentally validated in Khan and Nahon (2013), where full details of the modeling of the battery, electronic speed controller, brushless DC motor, and propeller can be found. 2.4. Propeller Slipstream Model The propeller slipstream, also referred to as propwash, plays a significant role in the aircraft’s dynamics. In many circumstances, the velocity of the additional airflow pushed aft of the propeller can match, if not exceed, the 7

Figure 3: Propeller slipstream: near field and far field regions (Khan and Nahon, 2015a).

groundspeed of the aircraft. This additional airflow enhances the control authority of the aircraft’s flaps, even granting them the ability to maneuver the aircraft when it has zero groundspeed, i.e. in nose-up hovering. The propeller slipstream model computes a velocity field that represents the propwash, denoted in general as Vs (x, r). At roughly 20% of the fuselage length downstream of the propeller lies the ‘efflux plane’, as illustrated in Figure 3. This plane marks the separation of ‘near-field’ and ‘far-field’ regions, in which the airflow behaves and is modeled differently. The near-field region includes the fuselage and part of the main wing (that which is closest to the fuselage and inside the slipstream). In this region, the airflow is modeled using momentum theory (McCormick, 1995): # " x/Rp , (2) Vs (x) = Vi0,avg 1 + p 1 + (x/Rp )2 where Vs (x) is the momentum-averaged induced velocity at an axial distance, x, from the propeller plane. The variable Rp is the propeller radius, and Vi0,avg is the momentum-averaged induced velocity at the propeller plane (x = 0). In the far field region, a one-term Gaussian function is used in the far-field region to calculate the slipstream velocity in terms of its axial distance from

8

the propeller plane, x, and also the radial distance, r: "  2 # r − Rmax , Vs (x, r) = Vmax exp − aRmax0 + b(x − x0 − R0 )

(3)

where Vmax and Rmax are the maximum induced velocity and its radial position, respectively. The slipstream radius, R0 , and radial position of the maximum induced velocity, Rmax0 , are measured at the efflux plane (x = x0 , see Figure 3). Coefficients a and b are determined semi-empirically based on experiments with a propeller slipstream in air. Their values, listed in Khan and Nahon (2015a), correspond to piecewise linear curve fits, split by axial distance. The slipstream effect also includes a swirl component, modeled as a reduction of 60% on the thruster’s reaction torque, MB,T x . 2.5. Aerodynamics For the aerodynamic modeling, a component breakdown approach is employed. Each of the aircraft’s main components (the main wing, tail, rudder, and fuselage) is split into segments, whose aerodynamics are computed individually and then summed together. The velocity at the aerodynamic center of each segment is calculated as follows: cg Vseg = VB + ω× B rseg + Vs,seg ,

(4)

where the position vector, rseg , measures from the aircraft’s center of gravity to the aerodynamic center of the segment. Note that the slipstream only has an axial component, thus Vs,seg = [Vs , 0, 0]T . The components of Vseg = [Vseg,x , Vseg,y , Vseg,z ]T are used to calculate the angle of attack on the segment: αh,seg = arctan

Vseg,z , Vseg,x

αv,seg = arctan

Vseg,y Vseg,x

(5)

The terms αh,seg and αv,seg apply to horizontal and vertical surfaces, respectively. The aerodynamic forces and moments on each horizontal segment are calculated as: 1 2 2 FB,seg = ρbseg c¯seg (Vseg,x + Vseg,z )[CFseg,x , 0, CFseg,z ]T 2 1 2 2 MB,seg = ρbseg c¯2seg (Vseg,x + Vseg,z )[0, CM,ac,seg , 0]T , 2 9

(6)

with analogous equations for the vertical segments. The terms bseg and c¯seg are the span and mean aerodynamic chord of the segment, and ρ is the density of air. The force coefficients are obtained by resolving lift and drag coefficients, CL and CD , using the segment’s angle-of-attack: CFseg,x = CL,seg sin αh/v,seg − CD,seg cos αh/v,seg CFseg,z/y = −CL,seg cos αh/v,seg − CD,seg sin αh/v,seg

(7)

The forces and moments are transferred to the aircraft’s center of gravity and summed to give the total aerodynamic forces and moments acting on the UAV: X FB,aero = FB,seg (8) X MB,aero = (MB,seg + r× F ) seg B,seg

The lift, drag, and moment coefficients, CL,seg , CD,seg , and CM,ac,seg , are calculated with an account of whether the segment is in a low-angle-of-attack or high-angle-of-attack regime. Effects of aspect ratio, stall, control surface deflection, bound vortices, and trailing vortices are all modeled, as detailed in Khan and Nahon (2015b). Finally, the net forces and moments acting on the aircraft are computed, including the effect of gravity, gI = [0 0 9.81]T m s−2 : FB = CBI gI + FB,aero + FB,T MB = MB,aero + MB,T

(9)

The full aircraft dynamics model is illustrated in block diagram form in Figure 4. 3. High-Level Maneuver Automation Methodology The overall automation methodology developed in this paper is a combination of trajectory generation, parametrization, and tracking, as shown in Figure 5. Optimal control problems are solved to generate dynamically feasible, optimized trajectories, xopt , and associated feedforward control, uopt . As will become evident, the optimal control problems formulated here are casespecific in terms of an initial condition, and are much too cumbersome to solve in real-time. Rather than generate and store on-board the aircraft numerous solutions to cover a range of initial conditions, we employ a dynamic time warping-based interpolation algorithm to parametrize a maneuver by 10

Figure 4: Block diagram of aircraft dynamics model.

its initial condition. This process uses a very small set of optimal control solutions (found off-line), to efficiently generate, at run-time, a feedforward control policy and reference trajectory consistent with the aircraft’s state at the start of the maneuver. This component of the automation scheme has off-line and on-line portions. Off-line, dynamic time warping is applied to create warped time histories of the motion variables, xw , and control inputs, uw . On-line, linear interpolation is performed, using this library of warped time histories to ultimately generate the feedforward control policy, uff , and reference trajectory, xref , that the aircraft will use. Feedback control, ∆ufb , is used to aid in trajectory tracking, by stabilizing about the reference trajectory. 4. Trajectory Generation Trajectories are generated by solving optimal control problems. The solutions to the problems yield both a feedforward control policy and a corresponding dynamically feasible reference trajectory for feedback tracking. The optimization uses the dynamics model of Section 2. The model spans the full flight envelope of the aircraft, thus the maneuver optimization is constrained only by the aircraft’s dynamic behavior. While this method does not preclude well-known maneuver sequences from appearing as a solution, such an outcome is not forced like in the case of motion primitives.

11

Figure 5: Block diagram of overall automation methodology.

4.1. Optimal Control Problem Formulation The optimal control problem formulation is particular to each maneuver. The formulation for the ATA maneuver is a minimum time problem for reversing heading, in which the aircraft must begin and end in straight and level flight, with the same velocity, and at the same position. Defining the maneuver as such makes it suitable for integration into motion planning, such as in Frazzoli et al (2002), where the maneuver would be part of a library used as a hybrid representation of a vehicle. Having the ATA in its repertoire would make a fixed-wing UAV useful in a number of applications for which they are currently ill-suited. One possible application of the maneuver is the situation in which the aircraft encounters a rapidly-approaching dead-end and must back-track.

12

The optimal control problem is defined specifically as follows:

min J , 4tf +

Z

0

tf

δ˙a 10

!2

+

δ˙e 10

!2

+

δ˙r 10

!2

+



ω˙ T 2000

subject to the first-order dynamics of Equation (1), the boundary conditions listed in Table 1, and the constraints: ◦ δa ∈ [−24, 24] , δ˙a ∈ [−256, 256]◦ s−1

2 !

dt

(10)

δ˙e ∈ [−426, 426]◦ s−1 δr ∈ [−40, 40]◦ , δ˙r ∈ [−426, 426]◦ s−1 ωT ∈ [1716, 5368]rpm, ω˙ T ∈ [−5000, 5000]rpm/s δe ∈ [−40, 40]◦ ,

The aircraft’s state vector is stated in Section 2.2, and its control inputs are: ailerons, δa , elevator, δe , rudder, δr , and thrust, ωT . The thrust input, ωT , measured in revolutions per minute (rpm), maps approximately quadrat∝ ically to Newtons of thrust, where 1716 rpm ∝ ∼ 0N and 5368 rpm ∼ 6N for a stationary propeller. For the optimization, the aircraft’s actual control inputs are added to the state vector, and their derivatives make up the optimal control vector, u = [δ˙a , δ˙e , δ˙r , ω˙ T ]T . On our aircraft, each control surface is connected to a servomechanism; the flap deflections and deflection rates are saturated based on the servo operation angular and rate limits. The motor’s rotational speed limits correlate to the user-commanded pulse width modulation (PWM) signal range, and the motor rate limits used here were arrived at using conservative knowledge of the thruster’s capabilities. To allow room for feedback stabilization - discussed in Section 6 - the saturation values for the control surface deflections and motor rotational speed in Eq. 10 are 80% of the aircraft’s actual limits. The minimum time function was used to produce a maneuver that would take full advantage of the aircraft’s agility, to turn around rapidly. There is nothing binding about this particular form of the cost function; another could be used in its place to generate a similar maneuver, e.g. a minimum displacement cost function. The cost function penalizes control inputs rates, to produce smooth control input time histories. The constant parameters used to do so were arrived at via tuning, but generally work well for different boundary conditions. In fact, in Section 7.2.1, the exact same cost function 13

Table 1: Boundary conditions for ATA maneuver. Straight and level trim conditions denoted by subscript SL .

States and Controls u v w p, q, r, φ θ ψ δa δe δr ωT

Boundary Conditions t=0 t = tf uSL uSL 0 0 wSL wSL 0 0 θSL θSL 0 π 0 0 δeSL δeSL 0 0 ωTSL ωTSL

is used in combination with new boundary conditions to generate completely different maneuvers – transitions in and out of hover. The constants would presumably have to be re-tuned for use with other aircraft; future work could use the framework presented here to consider a parametrization of the cost function for a general class of aircraft. The boundary conditions summarized in Table 1 represent trimmed straight and level flight, denoted by the subscript SL , at the beginning and end of the maneuver. The trim conditions correspond to a user-selected velocity, V0 . The heading reversal is enforced here, and the aircraft must also terminate at the same position and with the same velocity as at t = 0. Relaxing the boundary conditions and constraints could result in a lower cost, however, their strict enforcement makes for an easier implementation of a highly functional maneuver. A heading reversal that returns to the same velocity and position could be utilized in motion planning in obstacle-dense environments, where back-tracking could be used to avoid collisions. Note that while Euler angles are used here to present an intuitive interpretation of the problem, their respective constraint equations are actually nonlinear functions of the quaternion.

14

Figure 6: 3-D visualization of ATA reference trajectory, V0 = 7m s−1 . The aircraft is scaled down by a factor of approximately four and the drawings of the aircraft are spaced out by a consistent time interval.

4.2. Results and Discussion The optimal control problem is solved numerically using GPOPS-II (Patterson and Rao, 2014), a general purpose optimal control software, which employs a variable-order adaptive orthogonal collocation method. It first approximates the continuous-time optimal control problem as a nonlinear programming problem using a number of points in the domain (called collocation points), and then calls upon a nonlinear programming solver. Figures 6 and 7 plot the reference trajectory of the aggressive turn-around maneuver, with V0 = 7m s−1 . We see in Figure 7a that the velocity indeed begins and ends at 7m s−1 , dropping to approximately 1m s−1 in between, transferring kinetic energy to potential energy as the aircraft changes direction. Figure 7b shows the smooth heading reversal, and that large pitch and roll angles are used in the process. The angle-of-attack, α, exceeds 70 degrees, well into the post-stall region, and large values of sideslip, β, are used as well. We also note that the flight path angle, γ, begins and ends at zero, consistent with the boundary conditions for straight and level flight. All control inputs, shown in Figure 7c, are smooth. We see that each control surface deflection saturates for some time during the maneuver. Recall, however, that the saturation values in the optimization are only 80% of the aircraft’s actual limits. Finally, we note that all control inputs end at the values they began with, to trim the aircraft at straight and level flight with the desired velocity of 7m s−1 . 15

(a) Velocity

(b) Attitude

(c) Control inputs Figure 7: ATA reference trajectory and feedforward control, V0 = 7m s−1 .

16

5. Trajectory Parametrization This section describes the Trajectory Parametrization block in Figure 5, where dynamic time warping is used to parametrize the ATA maneuver. The DTW-based interpolation strategy requires the problem be solved only at a small number of flight speeds, rather than arbitrary initial speeds. In so doing, the representation of the maneuver is kept compact, such that it can easily be stored on-board the aircraft. This is an alternative method to using motion primitives, such as in Paranjape et al (2015), which do not require the initial flight velocity to determine the set of control inputs, but are likely to be sub-optimal as a result. 5.1. Velocity Parametrization The ATA maneuver initiates from straight and level flight, as many maneuvers do. We intend for the controller to accommodate the fact that an aircraft can fly straight and level at a range of velocities, and may do so over the course of a mission. The solution to the optimal control problem posed in Section 4.1 is a reference trajectory and control policy specifically associated with an initial condition, since the boundary conditions in Table 1 must be adhered to. One work-around to accommodate various flight velocities would be to force the aircraft near a specific initial condition (i.e. a specific straight and level flight velocity) before initiating the maneuver. This could cause an unacceptable delay in certain applications, such as flight among obstacles, where quick action is essential. We therefore develop a methodology to allow the maneuver to be initiated from a wide range of velocities. The optimal control problem is first solved at V0 = 7m s−1 , a normal cruising velocity for the aircraft. Next, we use the resulting solution as an initial guess in GPOPS-II to solve the problem for V0 = 5m s−1 and then for V0 = 9m s−1 . The results from the three cases show very similar patterns in the trajectories and control input time histories. Figure 8 presents the path and velocity time histories. The two results associated with V0 = 5m s−1 and V0 = 9m s−1 are kept for use in the trajectory parametrization process that allows maneuvers to be generated in real-time over the range of intermediate velocities. 5.2. Dynamic Time Warping for Interpolation Dynamic time warping is an algorithm used to find an optimal alignment between two time-varying sequences which need not necessarily be of the same duration. The two sequences’ time axes are warped so that the 17

(a) Paths

(b) Velocities Figure 8: Trajectories for ATA’s generated from different initial velocities.

18

Figure 9: DTW alignment of two time-varying sequences (Muller, 2007).

sequences match each other based on similarities, as shown conceptually in Figure 9. DTW has been applied to speech recognition, shape matching, and detecting human walking patterns, but its use is general and extends well to measuring similarities between any two temporal sequences, such as our maneuver motion variable and control input time histories with different initial velocities. Recall that in Section 4.1, the terminal time of the maneuver is left as a free variable, and therefore the maneuver duration will be different for each optimal control solution pertaining to a particular initial velocity. For more information on DTW (the algorithm itself is not discussed here), the reader is referred to Sakoe and Chiba (1978); and in Abbeel et al (2010), a similar use of DTW is employed for apprenticeship learning of aerobatic helicopter trajectories. In the present work, we use DTW to prepare pairs of vectors with different durations for linear interpolation. The DTW-based interpolation methodology we employ can be strategically separated into an off-line and an on-line portion. 5.2.1. Off-Line As described in Section 5.1, we generate two sets of trajectories and control inputs for the maneuver, each a solution to an optimal control problem at a particular initial velocity. Let vectors xi ∈ RS , i = 1, ..., N and yj ∈ RS , j = 1, ..., M be the state and control vectors at the ith and j th point in time, for initial velocities V01 and V02 respectively, where S = 17 is the number of states (13) plus the number of control inputs (4), and N , M are the number of collocation points for each trajectory. We define two time series matrices that store all vectors of each solution: X := [x1 , ..., xN ] ∈ RS×N and Y := [y1 , ..., yM ] ∈ RS×M , where X is the matrix for V01 and Y is the 19

matrix for V02 . The rows of X and Y describe states that do not all have the same units, e.g. the states u and p have different units. In preparation for the DTW alignment, we compute their respective normalized matrices, X n and Y n , by the following procedure. Consider the first entry (in row and column) of X, denoated as uX1 since it is represents a value of the body-frame x-axis speed, u. The normalized value of uX1 is computed as follows: uX1 − umin , (11) umax − umin where umin and umax are the minimum and maximum of all u values in both X and Y . All values in X n and Y n thus range between 0 and 1. The standard DTW algorithm is performed off-line, to calculate an optimal match between the two normalized matrices. The algorithm returns the warping paths i1 and i2 . The two warping paths are vectors of column indices, and they have the same length, because one or both of i1 and i2 will contain repeated indices. The warping paths are calculated so that two new matrices, X 0 and Y 0 , have the smallest total cost (to be defined) between them. These matrices, X 0 ∈ RS×L and Y 0 ∈ RS×L , are stretched versions of X and Y such that some of the columns of X and Y may be repeated as necessary in X 0 and Y 0 – as per i1 and i2 – to minimize the total cost. Hence, L ≥ max(N, M ). Note that the normalized matrices are used to generate the warping paths, but it is the original matrices that are stretched to construct X 0 and Y 0 . DTW allows the user to define precisely how the cost computed at each time instant, ck , is calculated. Here we use the Euclidean distance: q 0 2 0 2 0 ) + (x02k − y2k ) + ... + (x0Sk − ySk )2 , (12) ck := (x01k − y1k uX1n =

0 where x0ik and yik are the i, k elements of X 0 and Y 0 , respectively. Since X 0 and Y 0 will necessarily be the same size - and optimally aligned - they can be stored in a library on-board in memory and used for the following process.

5.2.2. On-Line All that is left to do in real-time is linear interpolation. First, a weight, σ, is generated based on the aircraft’s actual velocity at the start of the maneuver, V0int , and the initial velocities of the two pre-computed trajectories,

20

where V01 = 5m s−1 and V02 = 9m s−1 : σ=

V0int − V02 V01 − V02

(13)

Using this weight, we interpolate between the pairs of columns of X 0 and Y 0 to get state and control input time histories associated with V0int , denoted in general here as sint : sint = σs01 + (1 − σ)s02 ,

(14)

0 σ qint = q01 (q0∗ 1 q2 ) ,

(15)

where the vectors s01 and s02 represent a warped state or control input time history (i.e. rows of X 0 and Y 0 ) associated with V01 = 5m s−1 and V02 = 9m s−1 . An amendment is made to the above when interpolating quaternions, since Equation (14) would not produce unit quaternions in general. Instead, we interpolate quaternions using spherical linear quaternion interpolation, or Slerp (Shoemake, 1985):

where q01 and q02 are the warped quaternions, and in general, q∗ is the conjugate of a quaternion. The entire interpolation step is performed immediately before the maneuver begins to generate a reference trajectory and feedforward control policy. Figure 10 is a visual representation of the alignment between the velocity profiles of the two original bounding ATA trajectories (V0 = 5m s−1 and V0 = 9m s−1 ) generated by optimal control, as well as a velocity profile found through interpolation for V0 = 7m s−1 . Notice how some of the alignment lines joining the collocation points on the two bounding velocity profiles start or end at the same point in time, indicating repeated indices in i1 and i2 . For clarity, only velocity is displayed, however, the alignment extends consistently to all states and control inputs such that all values in a column of X 0 or Y 0 correspond to the same value of time. To verify that the algorithm produces feasible reference trajectories and suitable control policies, we compare the ATA optimal control solution for the case where V0 = 7m s−1 to the output of the interpolation for V0int = 7m s−1 , again performed using reference trajectories with V0 = 5m s−1 and V0 = 9m s−1 . As represented by the path and attitude time histories in

21

Figure 10: Alignment of original velocity vectors generated by optimal control (solid curves) and velocity vector found from interpolation (dashed curve); solid near-vertical lines are the alignment lines.

Figure 11, the two results nearly align, implying that the proposed scheme will yield a result very similar to the real-time optimal control solution. 6. Feedback Control A feedback controller is necessary to compensate for modeling inaccuracies, external disturbances, and measurement noise. The summation of feedforward and feedback controls make up our Trajectory Tracking architecture, as in Figure 5. Given the size and weight of agile fixed-wing UAVs and the current state of on-board processors, there is a limitation on the control scheme that can feasibly be implemented on an off-the-shelf autopilot system. We therefore seek to minimize any increase in complexity to feedback control beyond that which would already be implemented for conventional flight. The largely physics-based feedback controller was initially developed and fully detailed in Bulka and Nahon (2018). The controller consists of three main components: a position tracker, a quaternion-based attitude tracker, and a thrust controller. The position tracker indirectly counteracts position 22

(a) Path

(b) Body-frame attitude Figure 11: DTW interpolated trajectory (solid lines) versus optimal control trajectory (dashed lines).

23

Figure 12: Architecture of feedback controller.

errors by modifying the reference attitude. In doing so, the direction of the propeller’s thrust force (i.e. the direction of the body-frame x-axis) is used to indirectly diminish position errors. The attitude tracker actuates the control surface deflections – ailerons, elevator, and rudder – to track this modified reference attitude. The thrust controller’s task is to regulate the aircraft’s forward speed and altitude about their reference values. While the outputs of the feedback controller are not optimized based on input saturation or rate constraints, we remind the reader that these constraints were imposed, and conservatively so, during trajectory generation (Eq. 10). Figure 12 outlines the architecture of the feedback controller and its three components. The controller has been tested in simulation, not only for tracking agile maneuvers, but also for stabilizing about straight and level flight. This highlights a salient feature of the feedback controller, which is that it can be used for flying conventionally and for performing agile maneuvers. In Bulka and Nahon (2018), the feedback controller was evaluated outdoors and found to perform well in windy conditions (10-12 knot wind gusts). We note that our approach is not limited to using this particular feedback controller. If a better or more robust controller were found, it could be used in our framework. 7. Implementation The automation scheme, see Figure 5, is tested in simulations and flight test experiments. The simulations are performed with Simulink, again using the model described in Section 2. The full implementation of the automation 24

scheme is simulated, including the optimal control solutions, DTW, linear interpolation, and feedback control components. As a consequence of limited availability of the test facility, flight test experiments did not advance to including the DTW and linear interpolation components. Accordingly, the aircraft is first commanded to automatically fly straight and level at a specific velocity (V = 7m s−1 ), and the agile maneuver initiated from this condition corresponds to that velocity. Although the DTW-based parametrization method is not included in flight tests, the coding of it – which would reside in the Pixhawk firmware – was observed by the authors during internal testing to be insignificant in terms of complexity and memory usage. This is owing to the strategy of splitting the parametrization methodology into off-line and on-line components. 7.1. Experimental Setup A testbed aircraft is constructed around the McFoamy airframe. Part of the foam fuselage, near the middle of the wing, is cut away to make room for a Pixhawk flight controller. The Pixhawk runs the PX4 open-source autopilot software. The automation scheme proposed here is implemented as a module in PX4. The Pixhawk has its own suite of sensing equipment, including two internal measurement units (IMUs), a gyroscope, a magnetometer, and a barometric pressure sensor. In addition to these sensors, an external 3DR uBlox GPS is mounted near the aircraft’s nose. State estimation is performed using PX4 ’s own extended Kalman filter (EKF). A radio telemetry kit is used for live communication during flight between the aircraft and a ground station. MAVLink is the protocol used for communication between the Pixhawk and the ground station software, QGroundControl. QGroundControl is used to calibrate sensors, tune gains on the fly, etc. Flight tests are performed in Concordia University’s Stinger Dome. This facility allows us to fly indoors (i.e. without wind) without the GPS signal being impeded, since the dome is constructed of fabric. The following procedure is adhered to each time an agile maneuver is tested. Using a Futaba T7C transmitter, an expert RC pilot manually gets the aircraft to takeoff. The pilot then flips a binary switch on the transmitter (programmed via QGroundControl and our PX4 module), putting the aircraft into fully automatic straight and level flight at our commanded speed (V = 7m s−1 ), maintaining the heading estimated when the switch was flipped. After the aircraft stabilizes at the desired speed, in approximately 1 to 3s, the pilot flips another switch to trigger the agile maneuver. In the case of the ATA, 25

the maneuver terminates with the aircraft recovering to automatic straight and level flight with the opposite heading. From there, the pilot switches back to manual control to land the aircraft. 7.2. Results Results for the aggressive turn-around maneuver are displayed in Figures 13 and 14. Simulations and experimental results are contrasted with the optimization solution, i.e. the reference trajectory and feedforward control. Flight tests involved repetitions of each maneuver (see Extension 1), however, for clarity, the plots show only one experiment. In order to compare simulation and flight test results to the optimal maneuver, the optimization states and controls plotted are the direct solution associated with V0 = 7m s−1 ; they have not been contaminated (however slightly) by the parametrization process. In simulations, the trajectory tracking performance is nearly ideal. Note in Figure 14a, that the feedback controller is contributing to the full control action, since the simulated deflections are not perfectly aligned with the optimal feedforward inputs. Observing the experimental results in Figure 13a, we see that the attitude at the start and end of the maneuver is reasonably near the reference attitude. At approximately 0.5s, the flight test attitude profiles begin to advance ahead of the optimization reference trajectory. This phenomenon is common among all flight tests and all maneuvers, and will be addressed shortly. Figure 13b shows room for improvement in position tracking. Such an improvement might be gained from tuning the position tracker gains for the maneuver specifically, and swapping into these gains when the maneuver begins. The forward speed, shown in Figure 13c, is not tracked perfectly, but does start and end near the desired speed. Examining the control surface deflections of the experiment shown in Figure 14a, we note that they never deviate too far from the feedforward inputs, which would be the case if the tracking errors were large (and hence the feedback compensation was large as well). Figure 14b is where we see the most concerning results of the experiment. When initial testing began and the aircraft was first put in automatically controlled straight and level flight, it was immediately apparent that not enough thrust was being produced to fly at the desired velocity. The suspected reason for this is inaccuracies in drag modeling. At the time of modeling, the reinforcement rods were not considered, and thus there was no accounting for the drag they produce. 26

To address this issue temporarily, a gain is introduced into the mapping of the commanded motor rotational speed, ωT , to the actual thrust input to the aircraft, in PWM. The gain is tuned by trial and error flights in the Stinger Dome. Where ωT is plotted in Figure 14b, the gain is removed to show the disparity between the feedforward and actual thrust input. This disparity presumably contributes to the phenomenon we see in the attitude curves in Figure 13a. With a higher thrust input, the propeller is creating a greater slipstream effect, and thus the feedforward control surface deflections are more effective than as simulated. This hypothesis was confirmed using Simulink. Simulations of the ATA were conducted with a slight modification to reproduce this effect. The rest of the model untouched, the slipstream velocities were multiplied by a gain, as though the thrust input, ωT , were as high as the flight test values in Figure 14b. As predicted, the simulated attitude changes preceded the reference trajectory, just as in Figure 13a. We make some final observations about the experimental results, recognizing that the trajectory generation phase is pursued with specific objectives for the maneuver in mind - realized by the optimal control problem formulation. The rapid heading reversal is achieved as desired; the heading reaches 180 degrees by t = tf . The optimal control problem is also defined such that the aircraft returns to straight and level flight at the initial position and with the initial velocity. We see from Figures 13a-13c that the aircraft does in fact recover to straight and level flight, very near the initial velocity, but off from the initial position. If an application of this maneuver intends to use it primarily as a rapid heading reversal, this performance would likely be sufficient and desirable. If the user happens to be concerned with recovering closer to the initial position, further gain tuning of the position tracker during the implementation phase is suggested. 7.2.1. Hover Transition Maneuvers A major goal of the methodology presented here is generality. As long as a maneuver can be posed as the solution to an optimal control problem, the method outlined in this work applies. To demonstrate this, we apply the method to two transition maneuvers, from straight and level flight to nose-up hovering (see Figure 2), and vice versa. The ability to transition into and out of a hover is arguably the most useful innovation of these novel fixed-wings, since it achieves a key advantage of rotorcraft over traditional fixed-wing aircraft: the ability to stop mid-flight. The optimal control problems we use to generate the transition maneu27

(a) Attitude

(b) Position

(c) Forward speed Figure 13: ATA trajectories from optimization, simulation, and experiments, V0 = 7m s−1 .

28

(a) Control surface deflections

(b) Thrust Figure 14: ATA control inputs from optimization, simulation, and experiments, V0 = 7m s−1 .

29

Table 2: Boundary conditions for CTH maneuver. Straight and level trim conditions denoted by subscript SL and hover trim conditions by H .

States and Controls u v w p, q, r, φ θ ψ δa δe δr ωT

Boundary Conditions t=0 t = tf uSL 0 0 0 wSL 0 0 0 θSL 90◦ 0 0 0 δaH δeSL 0 0 0 ωTSL ωTH

vers are the same as for the ATA maneuver, Equation (10), except for their respective boundary conditions that define a hover. Table 2 lists the boundary conditions for the transition from straight and level flight to hover, which will be referred to as the ‘cruise-to-hover’ maneuver (CTH). The ‘hover-tocruise’ (HTC) maneuver has the same boundary conditions, but in reverse. Note that the control inputs, δaH and ωTH , are required to trim the aircraft in the hover configuration. The aileron input is non-zero to offset the reaction torque of the rotating propeller. Figure 16 displays the results from simulations and flight tests for the CTH maneuver. Again, the simulation uses the full automation architecture, but the flight test omits the DTW and linear interpolation steps. The maneuver ends with a 90 degree pitch angle, which creates a singularity in the Euler angles. For this reason, the body-frame angular errors derived from the quaternion, Ex and Ez , are displayed for the body-frame x- and z-axes, instead of roll and yaw. The pitch-up motion of the flight experiment precedes the trajectory it is meant to track (see Figure 15a), as was observed during the ATA. At the end of the maneuver, the aircraft is pitched nose-up, as intended, with some errors in Ex and Ez . As shown in Figure 15b, position tracking errors are present, however, just after 1s, the aircraft maintains near a steady position. Note, in Figure 15c, that the forward velocity is near zero by this point in time.

30

(a) Attitude

(b) Position

(c) Forward speed Figure 15: CTH trajectories from optimization, simulation, and experiments, V0 = 7m s−1 .

31

(a) Control surface deflections

(b) Thrust Figure 16: CTH control inputs from optimization, simulation, and experiments, V0 = 7m s−1 .

32

Figure 17: 3-D visualization of HTC experiment trajectory, Vf = 7m s−1 . Aircraft drawings are scaled down and spaced out over a consistent time interval. Table 3: Root-mean-square error for ATA, CTH, and HTC maneuvers in simulations (‘Sim’) and experiments (‘Exp’).

States

Unit

u φ/Ex θ ψ/Ez x y z

m s−1 ◦ ◦ ◦

m m m

ATA Sim Exp 0.10 1.15 4.57 24.2 2.62 15.1 2.44 25.3 0.05 0.41 0.02 0.67 0.07 0.69

CTH Sim Exp 0.05 0.70 3.80 4.67 1.38 10.3 1.72 6.43 0.05 0.61 0.03 0.87 0.01 0.53

HTC Sim Exp 0.11 0.62 11.1 13.9 2.80 4.50 4.50 6.34 0.20 0.24 0.29 0.36 0.03 0.23

An application of this maneuver would presumably find the errors in Ex and Ez acceptable, given that the aircraft rapidly pitches up into a stationary hover. We see in Figure 16a that the control surfaces are normally far from being saturated, but the ailerons and rudder are consistently being actuated in attempt to keep the aircraft from rolling or yawing. This figure also reveals that less elevator deflection is needed to pitch the aircraft upwards than the modeling suggested, as observed between approximately 0 and 1.2s. Shown again in Figure 16b, more thrust is needed to combat drag in experiments than in simulations. The experimental tests for the HTC maneuver always follow the CTH maneuver. In flight testing, the aircraft automatically executes the CTH maneuver, holds a stationary hover for a few seconds, and then executes the HTC maneuver. A 3-D visualization of an HTC flight test is shown in Figure 17. For this maneuver, the final velocity gets parametrized instead of the initial velocity (which is ideally always zero). In the case plotted, Vf = 7m s−1 . A quantitative assessment of the tracking performance exhibited in 33

this maneuver and all others plotted (Figures 13 - 17) is provided in Table 3. Table 3 lists the root-mean-square error values of the states being tracked with feedback. Note that for the hover transition maneuvers, Ex and Ez are listed in place of φ and ψ. Multiple flight test demonstrations of each maneuver are included in the supplementary video, Extension 1. 8. Conclusion This paper presented a methodology for automating agile maneuvers with a small fixed-wing UAV. Functional maneuvers were designed in the trajectory generation phase, and parametrized by initial or final velocity using a dynamic time warping-based interpolation method. Feedforward control inputs, generated alongside reference trajectories, were complimented by a physics-based feedback controller. The approach presented in this work allows the design and automation of agile maneuvers that are optimized over the aircraft’s full flight envelope. The resulting maneuvers may share similarities with existing aerobatic and combat maneuvers, but the maneuver design process is based on functional objectives and has the ability to deviate from these ordinary control sequences without compromising performance. The paper focused mainly on an aggressive turn-around maneuver, but the methodology is general and applicable to other agile maneuvers. This was demonstrated by an implementation of the trajectory generation and tracking methodology on transition maneuvers to and from a nose-up hover. All three maneuvers were demonstrated in simulations and flight tests. An appealing feature of the automation scheme is that it adds very little complexity to that which would already be used for automating conventional flight; the code used for flight testing was easily implemented on an off-the-shelf Pixhawk flight controller. The outcomes of this research demonstrate the potential for fixed-wing UAVs to be used in highly agile flight through constrained environments. Currently, such tasks are typically put to rotorcraft, which are generally less efficient than fixed-wings. The flight test results demonstrate the immense capability of these vehicles to perform rapid transient maneuvers that are useful for maneuvering through obstacle-dense environments. Acknowledgments This research was supported by the Natural Sciences and Engineering Research Council of Canada [grant no. PGSD3-490220-2016] and by le Fonds de 34

Recherche du Quebec - Nature et Technologies [grant no. 2016-PR-191001]. The authors thank Waqas Khan for access to the agile fixed-wing UAV dynamics model. References Abbeel P, Coates A, Ng AY (2010) Autonomous helicopter aerobatics through apprenticeship learning. The International Journal of Robotics Research 29(13):1608–1639, DOI 10.1177/0278364910371999 Arifianto O, Farhood M (2015) Optimal control of a small fixed-wing UAV about concatenated trajectories. Control Engineering Practice 40:113–132, DOI 10.1016/j.conengprac.2015.03.007 Bulka E, Nahon M (2018) Automatic control for aerobatic maneuvering of agile fixed-wing UAVs. Journal of Intelligent & Robotic Systems DOI 10.1007/s10846-018-0790-z Cory R, Tedrake R (2008) Experiments in Fixed-Wing UAV Perching. In: AIAA Guidance, Navigation, and Control Conference and Exhibit, AIAA, pp 1–12, DOI 10.2514/6.2008-7256 Dever C, Mettler B, Feron E, Popovi J, Mcconley M (2006) Nonlinear trajectory generation for autonomous vehicles via parametrized maneuver classes. Journal of Guidance, Control, and Dynamics 29(2):289–302, DOI 10.2514/3.44916 Fisch F, Lenz J, Holzapfel F, Sachs G (2009) Trajectory Optimization Applied to Air Races. In: AIAA Atmospheric Flight Mechanic Conference, AIAA, pp AIAA 2009–5930, DOI 10.2514/6.2009-5930 Frank A, McGrew JS, Valenti M, Levine D, How JP (2007) Hover, Transition, and Level Flight Control Design for a Single-Propeller Indoor Airplane. In: Guidance, Navigation, and Control Conference and Exhibit, AIAA, DOI 10.2514/6.2007-6318 Frazzoli E, Dahleh MA, Feron E (2002) Real-time motion planning for agile autonomous vehicles. Journal of Guidance, Control, and Dynamics 25(1):116–129, DOI 10.2514/2.4856

35

Gavrilets V, Frazzoli E, Mettler B, Piedmonte M, Feron E (2001) Aggressive maneuvering of small autonomous helicopters: A human-centered approach. The International Journal of Robotics Research 20(10):795–807, DOI 10.1177/02783640122068100 Green WE, Oh PY (2009) A hybrid MAV for ingress and egress of urban environments. IEEE Transactions on Robotics 2(2):253–263, DOI 10.1109/ tro.2009.2014501 Grymin DJ, Farhood M (2016) Two-step system identification and trajectory tracking control of a small fixed-wing UAV. Journal of Intelligent & Robotic Systems 83(1):105–131, DOI 10.1007/s10846-015-0298-8 Johnson B, Lind R (2009) High Angle-of-Attack Flight Dynamics of Small UAVs. In: AIAA Aerospace Sciences Meeting Including The New Horizons Forum and Aerospace Exposition, p 61, DOI 10.2514/6.2009-61 Johnson EN, Wu AD, Neidhoefer JC, Kannan SK, Turbe MA (2008) Flighttest results of autonomous airplane transitions between steady-level and hovering flight. Journal of Guidance, Control, and Dynamics 31(2):358– 370, DOI 10.2514/1.29261 Khan W (2016) Dynamics modeling of agile fixed-wing unmanned aerial vehicles. PhD thesis, McGill University Khan W, Nahon M (2013) Toward an accurate physics-based UAV thruster model. IEEE/ASME Transactions on Mechatronics 18(4):1269–1279, DOI 10.1109/tmech.2013.2264105 Khan W, Nahon M (2015a) Development and validation of a propeller slipstream model for unmanned aerial vehicles. Journal of Aircraft 52(6):1985– 1994, DOI 10.2514/1.C033118 Khan W, Nahon M (2015b) Real-Time Modeling of Agile Fixed-Wing UAV Aerodynamics. In: 2015 International Conference on Unmanned Aircraft Systems (ICUAS), IEEE, pp 1188–1195, DOI 10.1109/icuas.2015.7152411 Levin JM, Nahon M, Paranjape AA (2016) Aggressive Turn-Around Manoeuvres with an Agile Fixed-Wing UAV. In: 20th IFAC Symposium on Automatic Control in Aerospace, Elsevier, pp 242–247, DOI 10.1016/j. ifacol.2016.09.042 36

Levin JM, Paranjape A, Nahon M (2017) Agile Fixed-Wing UAV Motion Planning with Knife-Edge Maneuvers. In: 2017 International Conference on Unmanned Aircraft Systems (ICUAS), IEEE, pp 114–123, DOI 10. 1109/icuas.2017.7991475 Levin JM, Paranjape AA, Nahon M (2018) Motion Planning for a Small Aerobatic Fixed-Wing Unmanned Aerial Vehicle. In: The International Conference on Intelligent Robots and Systems (IROS), IEEE, in press McConley MW, Piedmonte MD, Appleby BD, Frazzoli E, Feron E, Dahleh M (2000) Hybrid Control for Aggressive Maneuvering of Autonomous Aerial Vehicles. In: The 19th Digital Avionics Systems Conference, IEEE, pp 14–21, DOI 10.1109/DASC.2000.886897 McCormick BW (1995) Aerodynamics, Aeronautics, and Flight Mechanics. Wiley, New York Mellinger D, Michael N, Kumar V (2012) Trajectory generation and control for precise aggressive maneuvers with quadrotors. The International Journal of Robotics Research 31(5):664–674, DOI 10.1177/0278364911434236 Moore J, Cory R, Tedrake R (2014) Robust post-stall perching with a simple fixed-wing glider using LQR-trees. Bioinspiration and Biomimetics 9(2):025013, DOI 10.1088/1748-3182/9/2/025013 Muller M (2007) Information Retrieval for Music and Motion. SpringerVerlag, New York Paranjape AA, Meier KC, Shi X, Chung SJ, Hutchinson S (2015) Motion primitives and 3-D path planning for fast flight through a forest. The International Journal of Robotics Research 34(3):357–377, DOI 10.1177/ 0278364914558017 Patterson MA, Rao AV (2014) GPOPS-II: A MATLAB software for solving multiple-phase optimal control problems using HP-adaptive gaussian quadrature collocation methods and sparse nonlinear programming. ACM Transactions on Mathematical Software 41(1):1–37, DOI 10.1145/2558904 Sakoe H, Chiba S (1978) Dynamic programming algorithm optimization for spoken word recognition. IEEE Transactions on Acoustics, Speech, and Signal Processing ASSP-26(1):43–49, DOI 10.1109/TASSP.1978.1163055 37

Selig MS (2014) Real-time flight simulation of highly maneuverable unmanned aerial vehicles. Journal of Aircraft 51(6):1705–1725, DOI 10.2514/ 1.c032370 Shoemake K (1985) Animating Rotation with Quaternion Curves. In: SIGGRAPH 1985 Proceedings of the 12th Annual Conference on Computer Graphics and Interactive Techniques, ACM, pp 245–254, DOI 10.1145/325334.325242 Tang J, Singh A, Goehausen N, Abbeel P (2010) Parameterized Maneuver Learning for Autonomous Helicopter Flight. In: The 2010 IEEE International Conference on Robotics and Automation (ICRA), IEEE, pp 1142– 1148, DOI 10.1109/ROBOT.2010.5509832 Wu H, Sun D, Zhou Z (2004) Model identification of a micro air vehicle in loitering flight based on attitude performance evaluation. IEEE Transactions on Robotics 20(4):702–712, DOI 10.1109/tro.2004.829442

Appendix A. Index to Multimedia Extensions Table of Multimedia Extensions

Extension

Media type

Description

1

Video

Flight test results of three autonomous agile maneuvers

38

Joshua M. Levin received his Bachelor of Engineering in Aerospace Engineering from Carleton University in 2014. He is currently a Ph.D. candidate in Aerospace Mechatronics Engineering at McGill University. His research interests include flight dynamics and control, aerial robotics, and motion planning.

Aditya A. Paranjape holds the position of Lecturer in the Department of Aeronautics at Imperial College London. He also serves as an Adjunct Professor in the Department of Mechanical Engineering at McGill University, Montreal, Canada. His research interests are centered around the application of nonlinear dynamics and control theory to problems in atmospheric and space flight.

Meyer Nahon obtained a B.A.Sc. in Mechanical Engineering from Queen's University in Kingston, an M.A.Sc. in Aerospace Engineering from the University of Toronto, and a Ph.D. in Mechanical Engineering from McGill University in Montreal. He was a faculty member at the University of Victoria from 1991 to 2001. Since then has been at McGill University, presently as a Professor of Mechanical Engineering. His research deals with various aspects of dynamics and control of aerial and marine vehicles and systems. He is a Senior Member of the IEEE, and an Associate Fellow of the AIAA and Fellow of the Canadian Aeronautics and Space Institute (CASI). He

has received awards from the AIAA and CASI for his work on flight simulator motion systems and on space-based robotics.

    

A general approach to automating agile maneuvers with a fixed-wing UAV is proposed. Dynamically feasible maneuvers are optimized over the aircraft’s flight envelope. Trajectories are parametrized using a novel application of dynamic time warping. Parametrization is computationally light. Agile maneuvers are demonstrated in flight using only on-board sensing and control.