IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED FEBRUARY, 2020 1

Learning Pugachev’s for Tail-sitter UAVs Using Acceleration Model

Wei Xu1, Fu Zhang1

Abstract—The Pugachev’s cobra maneuver is a dramatic and demanding maneuver requiring the aircraft to fly at extremely high Angle of Attacks (AOA) where stalling occurs. This paper considers this maneuver on tail-sitter UAVs. We present a simple yet very effective feedback-iterative learning position control structure to regulate the altitude error and lateral displacement during the maneuver. Both the feedback controller and the Fig. 1. The Pugachev’s Cobra Maneuver 2. iterative learning controller are based on the aircraft accel- eration model, which is directly measurable by the onboard Although there are a few prior work on the control of fixed- accelerometer. Moreover, the acceleration model leads to an wing UAVs in post- maneuvers, such as [7]–[9], none of extremely simple dynamic model that does not require any model identification in designing the position controller, greatly them directly cope with the Pugachev manuever. Another way simplifying the implementation of the iterative learning control. is to view this maneuver as a backward transition (from level Real-world outdoor flight experiments on the “Hong Hu” UAV, flight to vertical flight) immediately followed by a forward an aerobatic yet efficient quadrotor tail-sitter UAV of small-size, transition (from vertical flight to level flight). For the control are provided to show the effectiveness of the proposed controller. of the transition flight, a large number of researches could be found. In [10], three transition controllers were investigated I.INTRODUCTION and compared on a model Convair XFY-1 Pogo. They are ERTICAL takeoff and landing (VTOL) UAVs have a simple controller based on a vector-thrust model, a feed- V caught increasing attention these years due to their back linearization controller, and a model reference adaptive unique ability to take off and land vertically like a rotorcraft controller (MRAC), respectively. All three controllers did not and achieve efficient long-range level flight like a fixed-wing consider the lateral motion. Pucci et al.[11] proposed an aircraft [1]. Several VTOL UAVs, including tilt-rotor [2], equivalent transformation from the original system dynamics tilt-wing [3] and tail-sitter [4], are proposed and researched. to the one that is independent of the aircraft’s attitude, enabling Among those configurations, the tail-sitter VTOL has probably the controller to separately compute the thrust and orien- the most concise structure that contains no tilting mechanism tation, which will considerably reduce the controller design [5]. Moreover, with the optimal design of its aerodynamics complexity. In [12], the minimum time and minimum energy and propulsion systems [6], a tail-sitter UAV achieves superior optimization problems of VTOL transition were presented and flight efficiency. These features make a tail-sitter UAV ideally solved numerically. Oosedo et al.[13] discussed three transi- suitable for almost all field applications where maneuverability tion strategies: standard PID feedback control, minimizing the and flight range are two indispensable elements. transition time, minimizing the transition time while regulating The Pugachev’s Cobra maneuver is a long-existing maneu- the altitude. The latter two strategies are designed based on the ver in fixed-wing aircraft, where the aircraft flying at high aerodynamic model from the wind tunnel test. Ritz et al.[14] speed suddenly rises its nose momentarily to the vertical proposed a global controller for a dual-rotor tail-sitter based orientation and then drops it back to the normal angle, as on the coordinate flight assumption and also did not focus on shown in Fig.1. Achieving the Pugachev’s Cobra maneuvers the accurate altitude control. Smear et al.[15] implemented for small-size tail-sitter UAVs has many practical benefits. For an incremental nonlinear dynamic inversion controller for the example, in a surveying task, it is usually preferable if the UAV attitude and position control, which has an altitude error of 2 m arXiv:1906.02596v2 [eess.SY] 12 Oct 2020 could slow down at a particular location of interests, capturing in outdoor flight test. In these mentioned works, the altitude more data (e.g., images), and then accelerate to the next one. change of the tail-sitter UAV in a transition is usually not Unlike the Pugachev’s Cobra maneuvers for fighter jets, where satisfactory. The best of them [13] has an altitude change slight altitude increment is not of concern, or even preferable of around 40 cm. Moreover, these methods usually require to (Fig.1), it is usually required for a tail-sitter VTOL UAV of know an accurate aerodynamic model of the UAV, and one civilian-use to constantly maintain its altitude, to avoid any needs to conduct costly wind tunnel tests. Furthermore, all collision with the environments. these methods are designed for a single transition while the Manuscript received September 9, 2019; revised December 19, 2019; performance of the Cobra maneuver involving two consecutive accepted February 10, 2020. This paper was recommended for publication quick transitions could worsen. by Editor Jonathan Roberts upon evaluation of the Associate Editor and We consider the direct control of Pugachev’s Cobra maneu- Reviewers’ comment. This work was supported in part by a DJI donation and in part by a HKU seed fund for new staff. ver with tail-sitter UAVs. Our contributions are threefold: (1) 1authors are with the Mechatronics and Robotic Systems (MaRS) Lab- A complete position control system consisting of both altitude oratory, Department of Mechanical Engineering, University of Hong Kong, control and lateral control, which was usually neglected in . {xuweii, fuzhang}@hku.hk Digital Object Identifier (DOI): see top of this page. the prior work [10]–[13, 16]; The key idea is the use of the 2https://en.wikipedia.org/wiki/Pugachev acceleration model, which hides the underlying UAV dynamics 2 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED FEBRUARY, 2020

TABLE I AIRCRAFT SPECIFICATION Battery 5000 mAh Wingspan 0.90 m Cruise Speed 19 m/s Payload 0.2 kg Weight (with payload) 1.8 kg Range (with payload) 30 km

Fig. 2. The Hong Hu quadrotor tail-sitter UAV. data are fused within an extended Kalman filter [24] to produce the position, attitude, and velocity estimates. (e.g., motor delay, flexible modes) from the position controller design by using the UAV attitude and body-X acceleration as A. Definition of Coordinate Frames the virtual control. These virtual control are then tracked by The inertial frame (xI yI zI )3 is defined in Fig.3, the axis underlying attitude and acceleration controllers in [17]. (2) An xI , yI and zI points to the North, East and Down (NED), iterative learning controller (ILC) that improves the Cobra ma- respectively. For the body frame, the axis xB points to the neuver’s altitude accuracy through past iterations. Compared aircraft’s nose, and yB points to the right of the body, then to existing ILC methods [18]–[20] and transition controllers zB is defined by right-hand rule. of tail-sitters [11, 13, 21], a notable advantage of our method is that it builds on the acceleration model used in the baseline position controller and does not require to identify any of the aircraft model parameters (e.g., aerodynamic coefficients), greatly simplifying its design and implementation on actual systems; (3) Implementation of the whole algorithm on actual tail-sitter UAVs (see Fig. 2) and accomplishment of the lowest altitude change (e.g., less than 30 cm, which is within the noise Fig. 3. Definations of the body and inertial frames. level of typical altitude measurement) reported in the literature so far. B. Acceleration Model The remainder of this paper is organized as follows. Section The position of the aircraft is denoted as pI = II will introduce the platform and the acceleration model. The T pI , pI , pI  . The angular velocity vector represented in the detailed design of the controller will be described in section x y z body frame is ωB. The total mass of the aircraft is m. Based III. The iterative learning control algorithm will be described on the rigid body assumption and the Newton’s second law of in section IV. Experimental results are provided in section IV. motion, translational dynamics of the aircraft can be modeled Finally, section V draws the conclusion. as follows I I B p¨ = ag + Ra (1) II.SYSTEM CONFIGURATION where aI = [0, 0, g]T is the gravity acceleration, the aB = Our tail-sitter UAV is called “Hong Hu” UAV, which con- g  B B BT sists of a trapezoidal wing with MH-115 airfoil for improved ax , ay , az is the specific acceleration that comprises of aerodynamic efficiency, a fuselage containing most of the the motor thrusts and all the aerodynamic forces. It should be avionics, and four landing gears with four rotors. Unlike noticed that the specific acceleration is directly measurable by conventional fixed-wing aircraft, the UAV does not have any an accelerometer in IMU [25]. The R is the rotation matrix aileron or , making the propeller differential thrusts from body frame to inertial frame. the only source of control moments. The lack of control Without loss of generality, assume that the desired flight I flaps and associated servo motors bring several benefits, such path of the Cobra maneuver is along x direction, which is B as reduction of dead weight, an increase of flight efficiency also the initial direction of z of the aircraft (Fig.3). Therefore due to the removal of gaps between wing and flaps, and the initial attitude R0 is as follow: simplified controller design without carefully allocating the  0 0 1 actuation among rotors and ailerons. The Hong Hu UAV R0 =  0 1 0 (2) is manufactured with carbon fiber, which leads to improved −1 0 0 stiffness and strength of the structure. The flight tests show that the high-speed level flight of the Hong Hu UAV is five During the Cobra maneuver, the UAV transits to level flight θ times more efficient than that in hovering [6], while still being by rotating along its body-Y axis by angle . In this process, very portable with a 0.9 m wingspan. The full specifications the UAV may deviate from the disired path due to disturbances of “Hong Hu” UAV are specified in the TableI. in the environment (e.g., wind). To correct this deviation, the UAV rotates along its body-Z axis (zB pointing to the All the flight controller software is running on a Pixhawk aircraft belly) by angle η, such that the propeller thrust is 4 Mini controller board [22]. The flight sensors include an onboard inertial measurement unit (IMU), a GPS/GNSS 3Throughout the text the superscript I and B will be used to denote the module, and a pitot tube airspeed sensor [23]. All the sensor inertial and body frame, respectively. XU et al.: LEARNING PUGACHEV’S COBRA MANEUVER FOR TAIL-SITTER UAVS USING ACCELERATION MODEL 3

Desired Path pld desired altitude pzd, which is a constant value for a Pugachev’s Cobra maneuver, and the desired flight path pld, which is a η straight line in the horizontal plane (see Fig.4). It also directly θ sends the desired pitch angle θd according to a prescribed tra- pld ζl jectory. Linearly decreasing/increasing pitch profiles are used to test the designed controllers albeit smoother trajectories could lead to better tracking peformance. In cases where precise forward position (i.e., range) needs to be actively (a) (b) controlled, an additional feedback controller viewing the pitch B Fig. 4. (a) Body-X acceleration ax and its two orthogonal components: axp angle as virtual control action could be employed, which is and al. It should be noted that al is perpendicular to three vectors: the desired I not considered in this work though. path (as al should maximally suppress the lateral deviation), the z axis (as B B al is in the horizontal plane), and the z (as al is the component of ax B I B perpendicular to the plane of o-z -z ). axp is the component of ax within B I Altitude Β 2 2 Body-X the plane o-z -z . This component will affect the UAV altitude. (b) The a xd=√axpd +ald Acceleration B I B Controller accelerations of the UAV in the o-z -z plane. az is the acceleration in Controller B ald body-Z axis, a is the component of a , the acceleration in body-X axis, Navigation ηd =arctan( ) Tail-sitter xp x a τ B I I xpd d projected to the o-z -z plane, and ag is the gravity. Module Lateral Attitude Plant Controller Controller projected to the lateral direction to compensate the lateral deviation. As a consequence, the UAV rotation matrix is Fig. 5. The proposed controller structure. naturally parameterized by two consecutive rotations Ry(θ), The altitude controller (section III. B) and lateral controller and Rz(η) after the initial attitude R0: (section III. C) will respectively use the axp and al as their R = R0Ry(θ)Rz(η) virtual control actions (see Equation (5)) and compute their   − sin(θ) cos(η) − sin(θ) sin(η) cos(θ) (3) desired values, axpd and ald, the detail of each controller =  sin(η) cos(η) 0  will follow in next subsections. With the desired value of the − cos(θ) cos(η) cos(θ) sin(η) − sin(θ) two orthogonal components, axpd and ald, the total specific B Putting (3) into (1) leads to: acceleration along body-X axis, ax , and the angle η are expected to be: I B B p¨y = ax sin(η) + ay cos(η) B q 2 2 I B B B axd = axpd + ald (6) p¨z = g − ax cos(θ) cos(η) + ay cos(θ) sin(η) − az sin(θ) (4)   ald where the dynamics in inertial X direction is omitted (see ηd = arctan (7) section III. A). It is clearly seen from (4) that, the component axpd a = aB sin(η) solely affects the lateral motion and the B l x The desired body-X acceleration, axd, is then fed to a lower B component axp = ax cos(η) solely affects the altitude. These level acceleration controller (section III. D) which computes two acceleration components will be used as the virtual control the collective throttles of the four rotors. The desired rotation action for the lateral and altitude controllers, respectively, as angle ηd, together with the desired pitch angle θd, are used to B detailed in the next section. The relation between ax , al, compute the desired attitude: Rd = R0Ry(θd)Rz(ηd), which and axp are illustrated in Fig.4. Using the new notations, the is then sent to a lower-level attitude controller (section III.D) aircraft model is rewritten as: for attitude tracking. I B p¨y = al + ay cos(η) I B B (5) p¨z = g − axp cos(θ) + ay cos(θ) sin(η) − az sin(θ) B. Altitude Controller Equation (5) is the acceleration model used for the lateral Based on the altitude dynamics in (5), the proposed altitude controller and altitude controller design. There are several controller consists of a feedforward controller compensating benefits of this acceleration model: 1) With the acceleration any exogenous input and a feedback controller stabilizing the model, the UAV translation dynamics are linear to the two altitude error (see Fig.6). The total control action for the altitude controller is: virtual control action axp and al, and does not depend on any model parameters (e.g., aerodynamic coefficients, etc.). This Altitude greatly simplifies the controller design; 2) The acceleration is Controller easily measurable by IMU sensors, which are almost always Feed-Forward + Body-X available for any UAVs; 3) The body-X acceleration is inde- aΒ = a2 +a2 xd √ xpd ld - Acceleration Feed-Back ald Controller pendently controlled by the collective thrust of the four rotors. ηd =arctan( ) Tail-sitter axpd τ d Attitude Plant Controller III.FEEDBACK CONTROLLER DESIGN A. Controller Structure Fig. 6. The structure of altitude controller. The controller structure for the Pugachev’s Cobra maneuver aff + afb a = (8) is shown in Fig.5. The navigation module generates the xpd cos(θ) 4 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED FEBRUARY, 2020 where, D. The Attitude and Body-X Acceleration Controllers ff I B B The desired attitude R and acceleration aB computed a = −p¨zd + g − az sin(θ) + ay cos(θ) sin(η) (9) d xd fb by the position controllers are tracked by two lower-level a = kpξp + kvξv (10) controllers, respectively. To achieve this task, we directly use I I I where the pzd is the desired altitude; ξp = pzd − pz and the method in [17]. The attitude controller is a dual-loop I I ξv =p ˙zd − vz is the altitude error and vertical velocity error, control structure where the outer loop is a quaternion-based respectively; kp and kv are the proportional and derivative attitude controller that operates in the full Special Orthogonal gains of the feedback controller. group SO(3). The inner loop consists of three independent We analyze the stability of the designed controller in the angular rate controllers that are designed with loop-shaping frequency domain [26]. Assume the transient response of the techniques. The detailed structure and stability analysis of the acceleration controller is denoted as a transfer function G(s), attitude controller can be found in [17]. then: The body-X acceleration controller is also detailed in [17]. axp(s) = G(s)axpd(s) (11) Its main structure is shown in Fig.8, where the low pass filter is used to suppress the noise that is prevalent in IMU measure- where a (s) and a (s) is the Laplace transform of a and xp xpd xp ments. The PI controller is used to make sure the command a . Putting (11) back into the acceleration model (5) yields: xpd tracking performance. The P denotes the plant dynamic from 2 ff s ξp(s) = (1 − G(s))a − G(s)C(s)ξp(s) (12) thrust command uT to actual body-X acceleration. where C(s) = kp +kvs is the transfer function of the feedback controller in (10); The loop transfer function of the system is therefore as follow: PI Low-Pass P C(s) H(s) = G(s) (13) s2 Fig. 8. The structure of body-X axis acceleration controller. To analyze the stability of this system, we investigate the 2 It should be noted that although the attitude controller and nominal loop transfer function Hn(s) = C(s)/s . As shown body-X acceleration controller involves much model identifi- in the Bode plot of Hn(s) in Fig.7, the designed controller has 0.24 Hz bandwidth and a phase margin of 81 ◦, meaning cation in the frequency domain, as shown in [17], they do not that the position control loop is stable even when adding an affect the position controller (both the baseline controller in up to 0.9 s pure delay into the G(s). This pure delay margin section. III and the ILC controller in section. IV). is much higher than needed, showing the sufficient robustness IV. ITERATIVE LEARNING STRATEGY margin of our position controller. Readers may refer to [26] for more details on the frequency-domain based stability analysis. The attitude controller designed in the previous section, even with the feedforward corrections, usually cannot track

50 the constant altitude command with satisfactory performance due to environmental disturbances and the transient response

0 of the lower level acceleration controller (i.e., G(s)). To track

the desired path precisely, an iterative learning feedforward

Magnitude (dB)(dB)MagnitudeMagnitude Magnitude (dB)Magnitude controller is further utilized to the altitude controller, as shown -50 0 in Fig.9. -45 -90 -135 -180

-225

Phase Phase Phase (deg)(deg) Phase Phase (deg) Feed-Forward -270 -2 -1 0 1 + Β 2 2 Body-X 10 10 10 10 a xd=√axpd +ald - + Acceleration Feed-Back a Frequency (Hz) η =arctan( ld ) Controller d a τ Tail-sitter ILC xpd d Fig. 7. Bode plot of the nominal loop transfer function of the altitude control Attitude Plant loop Controller

Fig. 9. Adding the ILC correction to the altitude controller. C. Lateral Controller A. Lifted Domain Model Based on the lateral dynamics in (5), we propose the following proportional controller: The first step of using the iterative learning algorithm is obtaining a lifted domain model near the desired trajectory. In ald = klξl (14) this paper, the altitude error ξp and the vertical velocity ξv in where ξl is the lateral error, kl is the gain of lateral con- the inertial frame are chosen to compose the state vector x: troller. This proportional controller acting on the UAV lateral T x = [ξ , ξ ] , y = ξ (15) dynamics with the inherent aerodynamic damping effect [27] p v p B a ˙ a uILC (ay = kv ξl; kv > 0) forms a second order system, whose When the iterative learning correction is added to the stability in the presence of transient response of the lower- altitude controller, (8) is rewritten as: level acceleration controllers can be shown following the same aff + afd + uILC a = (16) procedures as that in the altitude control loop. xpd cos(θ) XU et al.: LEARNING PUGACHEV’S COBRA MANEUVER FOR TAIL-SITTER UAVS USING ACCELERATION MODEL 5

As shown in [19], an ILC uses a nominal model of the where the Ki is the Kalman gain of which the details can be closed-loop system to estimate the external disturbances. The found in [19]. error due to the model mismatch is lumpped into disturbances Then based on the estimated disturbance (21), the iterative and will be attenuated via iterations. In our design, the nominal learning control input to be applied at the next iteration model is obtained by neglecting the transient response (i.e., Ubi+1 should minimize the altitude tracking error predicted G(s) = 1) in (13). As a result, by the model (19), i.e., Ui+1 is solved from the following optimization problem. x˙ = Ax + BuILC y = Cx (17) min F U i+1 + dbi+1 − Y des + α U i+1     2 2 0 1 0 U i+1 (22) A = , B = , C = [1, 0] −kp −kv 1 s.t. U i+1  cmax

The corresponding closed-loop state equation in discrete where the first term stands for the 2-norm of the predicted time domain is: tracking error, and the second one is the penalty term to the x(k + 1) = A x(k) + B uILC (k) iterative learning control input with the weight α; The lifted d d (18) y(k + 1) = Cdx(k) vector cmax denotes the maximally allowed U i+1. With the known constant matrix F and disturbance estimate where k ∈ {0, 1, ..., N} is the discrete-time index, ∆t is the vector dbi+1, the problem described by (22) is a convex sampling time, A = I + A∆t, B = B∆t and C = C. d d d optimization problem [28], which can be solved by software In the actual flight, the lifted domain [20] input vector is de-  ILC ILC T N tool such as the CVX toolbox of Python. noted as U = u (0), ..., u (N − 1) ∈ U ⊂ R , the T state vector is denoted as X = x(0)T , ..., x(N − 1)T  ∈ 2N U ⊂ R , the output vector is denoted as Y = V. EXPERIMENTS VERIFICATION T [y(0), ..., y(N − 1)] ∈ U ⊂ RN . The desired trajectory is  denoted as the desired trajectory U des, Xdes, Y des . For the This section presents the experimental results of the pro- ideal Pugachev’s Cobra, Y des = 0N×1. The initial trajectory posed controller design and learning scheme applied to the where no iterative control input is used (i.e. uILC (k) = 0, k = Hong Hu tail-sitter UAV described in section II.  1, 2, ..., N) is denoted as U init = 0N×1, Xinit, Y init . These lifted domain notations allows us capture the dynamic relation between input, state, and output by a simple linear A. Body-X Acceleration Controller mapping: Y = F U + d (19) To examine the stability and robustness of the body-X acceleration controller, Fig.10 shows the loop transfer function where the F is computed by (20), d is the unknown repetitive L = PC in the frequency domain, where P is the actual disturbance along the trajectory, which is primarily caused by plant identified from frequency sweeping experiment [17], unmodeled dynamics (e.g., transient response of the lower- the C is our designed PI controller with a low-pass filter. level acceleration controller) and steady environmental distur- The PI controller is used to increase the low-frequency gain bances (e.g., wind, etc.). of L, which compensates for any low-frequency disturbance from the environment or the aircraft itself. The low-pass filter  0 ... 0 0 is used to decrease the influence of high-frequency noise,  CdAdBd ... 0 0 F =   which mainly comes from the propeller disturbance and IMU  . . . .  (20)  . . . .  measurement noise. The bias of the accelerometer is estimated N−1 by an EKF with GPS measurements [24]. CdAd Bd ... CdAdBd 0 It should be noticed that the model in (20) is exactly known, Based on the loop-shaping technique, which is discussed involving no aerodynamic parameters that require additional in detail in our prior work [17], the corner frequency of PI effort (e.g., costly wind tunnel test, model identification by controller and low-pass filter is set to 0.9 Hz and 14 Hz, re- flight experiments). This will considerably simplify the fol- spectively. As shown by the loop transfer function L(s) in Fig. lowing iterative learning controller design, which is a major 10, the acceleration control loop is stable with a phase margin ◦ advantage of our method using the acceleration model. up to 54 , which is in the desired range for typical aircraft systems to ensure sufficient robustness margin. Furthermore, the bandwidth of the acceleration control loop is as high as B. Disturbance Estimation and Input Update 7.2 Hz, leading to a phase delay of G(s) = L(s)/(1 + L(s)) An iteration domain Kalman filter is applied to calculate nearly zero at 0.24 Hz, the crossover frequency of the loop the estimate dbi+1 of the disturbance vector d in (19) after transfer function of the outer-loop position control (see Fig. each iteration as (21), i indicates the i-th execution of the 7). This nearly zero phase delay is well below the 81 ◦ phase Pugachev’s Cobra maneuver. margin of the outer-loop position control and hence guarantees   the stability of the designed position controller in section III. dbi+1 = dbi + Ki Y i − F U i − dbi (21) B. 6 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED FEBRUARY, 2020

0 head-up angle 80 20 P head-up angle 70 C 20 head-up angle 50 0 L = PC 40

-20

MagnitudeMagnitude (dB)(dB) Magnitude (dB) 60 Pitch Angle ( ) 0 80 -180 0 1 2 3 4 5 6

-360 Time (s)

PhasePhasePhase (deg)(deg)(deg) -540 Fig. 12. Three different profiles of desired pitch angle implemented in the -1 0 1 2 10 10 10 10 experiments Frequency (Hz) Fig. 10. Plant transfer function, controller transfer function, and the loop 4 2 transfer function of the acceleration loop 0 1 0 2 3 2 4 B. Lateral Controller 5 Smeur Altitude Error ( m ) 4 For the controller validation experiments, the desired pitch Ref 0 1 2 3 4 5 6 angle in Pugachev’s Cobra maneuver is shown in Fig. 11. The 2.0 ◦

) 1.5 aircraft will head up to 0 after the first forward transition. 2 Fig. 11 also shows the attitude response and lateral movement. 1.0 0.5 1 0.0 It is apparent that the actual θ tracks the prescribed trajectory 2 0.5 3 θd very well and does not performs the . Moreover, with the ILC Input ( m / s 4 1.0 designed lateral controller, the deviation from the flight path 5 0 1 2 3 4 5 6 is below 1 m. Time (s) Fig. 13. Altitude error and ILC input during each iteration when the head-up ◦ 0 d angle is 80 . The index 0 stands for the initial trajectory; “Ref” stands for 20 the constant altitude setpoint; “Smeur” stands for the experiment using the 40 method from [21]. 60 80 Rotation Angle ( ) 0 1 2 3 4 5 6 Cobra maneuvers. Even without ILC, our baseline controller 1.0 Ref achieves an altitude change of 1.12 m (versus 1.74 m, 35.63 % 0.5 l improvement), 1.51 m (versus 2.21 m, 31.67 % improvement), 0.0 1.22 m (versus 1.68 m, 27.38 % improvement), respectively. 0.5 The video of the final Pugachev’s Cobra maneuver at con- 1.0

Lateral Movement ( m ) 0 1 2 3 4 5 6 ◦ Time (s) vergence when the head-up angle is 80 can be found at https://youtu.be/zUJEqgDy0RA. Fig. 11. The attitude response and lateral movement.

C. Altitude Controller VI.CONCLUSIONAND FUTUREWORK We test our control methods on three Cobra maneuvers of To best exploit the maneuverability of tail-sitter UAVs, the different pitch profiles. As shown in Fig. 12, the three pitch Pugachev’s Cobra maneuver is considered in this paper. For profiles differ in the head-up angle (i.e., 80 ◦, 70 ◦, and 50 ◦), this maneuver, a complete control system has been proposed, all in the post-stalling region. which consists of two parts, a lateral controller and a feedback- Fig.13, 14 and 15 show the altitude error and the ILC control feedforward altitude controller. Both are designed based on the actions for each iteration of the ILC algorithm. As can be seen, UAV acceleration model. To compensate for the environmental in all these three maneuvers, the ILC converges in four or five disturbance and unmodeled dynamics, an iterative learning iterations. At convergence, the altitude error root mean square control algorithm is proposed. A big advantage of the acceler- (r.m.s.) are as small as 10 cm, 23 cm and 23 cm, respectively. ation based iterative learning control is that it does not require These results show that our proposed control methods can to identify the UAV aerodynamic parameters, eliminating the effectively attenuate the altitude error in Cobra maneuver with use of costly wind tunnel tests while achieving state-of-the- different pitch angle profiles. art control performance. The proposed control methods are Furthermore, for all these three maneuvers, we conduct a verified by real-world outdoor flight experiments. comparison study with a recent method in [21]. Like our A limitation of the proposed method is the singularity at method, this method, referred to as Smeur’s method, also 90 ◦ pitch angle. Although our tail-sitter UAV normally flies uses acceleration measurements as feedback and does not with 8 ◦ (pitch angle −82 ◦) for the best need to identify the aircraft aerodynamic force coefficient, aerodynamic efficiency and no singularity takes place in the so a comparison against which would be much fair. The Pugachev’s Cobra maneuver. It prevents the tail-sitter UAV flight experiment results are shown in Fig. 15, where we can from further pitching down to achieve higher speed (at the cost see that our control method based on the acceleration model of lower efficiency). Our future work will focus on extending surpasses the Smeur’s method substantially in all these three this acceleration model-based control technique to the general XU et al.: LEARNING PUGACHEV’S COBRA MANEUVER FOR TAIL-SITTER UAVS USING ACCELERATION MODEL 7

6

4 0 2.0 1 2 2 3 0 4 Our method (80 ) 5 1.5 2 6 Our method (70 ) Smeur Our method (50 ) Altitude Error ( m ) 4 Ref Smeur`s method (80 ) 1.0 Smeur`s method (70 ) 0 1 2 3 4 5 6 Smeur`s method (50 )

4

) 0.5 2 3

2 Root Mean Square Error ( m ) 1 1 2 0.0 0 3 0 1 2 3 4 5 6 1 4 Iteration Index ILC Input ( m / s 5 2 6 3 Fig. 16. Root mean square error of altitude. The Smeur’s method does 0 1 2 3 4 5 6 Time (s) not learn from iterations. So the same root mean square error is used for all iterations. Fig. 14. Altitude error and ILC input during each iteration when the head-up angle is 70 ◦. [10] N. Knoebel, S. Osborne, D. Snyder, T. Mclain, R. Beard, and A. El- dredge, “Preliminary modeling, control, and trajectory design for minia- ture autonomous tailsitters,” in AIAA Guidance, Navigation, and Control 4 Conference and Exhibit, 2006, p. 6713. 2 0 1 [11] D. Pucci, T. Hamel, P. Morin, and C. Samson, “Nonlinear control of 0 2 pvtol vehicles subjected to drag and lift,” in 2011 50th IEEE Conference 3 2 4 on Decision and Control and European Control Conference. IEEE, 5 Smeur 2011, pp. 6177–6183. Altitude Error ( m ) 4 Ref [12] R. Naldi and L. Marconi, “Optimal transition maneuvers for a class of 0 1 2 3 4 5 6 v/stol aircraft,” Automatica, vol. 47, no. 5, pp. 870–879, 2011. [13] A. Oosedo, S. Abiko, A. Konno, and M. Uchiyama, “Optimal transition 4 )

2 from hovering to level-flight of a quadrotor tail-sitter uav,” Autonomous 2 Robots, vol. 41, no. 5, pp. 1143–1159, 2017. 0 1 [14] R. Ritz and R. D’Andrea, “A global controller for flying wing tailsitter 2 2 vehicles,” in Robotics and Automation (ICRA), 2017 IEEE International 3 ILC Input ( m / s 4 4 Conference on. IEEE, 2017, pp. 2731–2738. 5 [15] E. J. Smeur, M. Bronz, and G. De Croon, “Incremental control and 0 1 2 3 4 5 6 Time (s) guidance of hybrid aircraft applied to the cyclone tailsitter uav,” arXiv preprint arXiv:1802.00714, 2018. Fig. 15. Altitude error and ILC input during each iteration when the head-up [16] R. H. Stone, “Control architecture for a tail-sitter unmanned air vehicle,” angle is 50 ◦. in 2004 5th Asian Control Conference (IEEE Cat. No. 04EX904), vol. 2. IEEE, 2004, pp. 736–744. control of tail-sitter UAV, which eliminates the need to model [17] W. Xu, H. Gu, Y. Qin, J. Lin, and F. Zhang, “Full attitude control the UAV aerodynamics accurately. of an efficient quadrotor tail-sitter vtol uav with flexible modes,” in International Conference on Unmanned Aerial Systems (ICUAS), 2019. [18] O. Purwin and R. D’Andrea, “Performing aggressive maneuvers using iterative learning control,” in 2009 IEEE international conference on REFERENCES robotics and automation. IEEE, 2009, pp. 1731–1736. [19] A. Schollig¨ and R. D’Andrea, “Optimization-based iterative learning [1] M. S. Gandhi, L. Whitcher, E. Theodorou, and E. N. Johnson, “Practical control for trajectory tracking,” in 2009 European Control Conference system identification for small vtol unmanned aerial vehicle,” in AIAA (ECC). IEEE, 2009, pp. 1505–1510. Scitech 2019 Forum, 2019, p. 1982. [20] F. L. Mueller, A. P. Schoellig, and R. D’Andrea, “Iterative learning [2] Y. Chen, J. Zheng, Z. Shen, P. Xiao, M. Tong, L. Guo, and Y. Xin, of feed-forward corrections for high-performance tracking,” in 2012 “Design, analysis and tests of a tri–tiltrotor aircraft,” in AIAA Aviation IEEE/RSJ International Conference on Intelligent Robots and Systems. 2019 Forum, 2019, p. 2883. IEEE, 2012, pp. 3276–3281. [3] D. Rohr, T. Stastny, S. Verling, and R. Siegwart, “Attitude and cruise [21] E. J. Smeur, M. Bronz, and G. C. de Croon, “Incremental control and control of a vtol tiltwing uav,” IEEE Robotics and Automation Letters, guidance of hybrid aircraft applied to a tailsitter unmanned air vehicle,” vol. 4, no. 3, pp. 2683–2690, 2019. AIAA Journal of Guidance, Control, and Dynamics, pp. 1–14, 2019. [4] X. Lyu, H. Gu, Y. Wang, Z. Li, S. Shen, and F. Zhang, “Design and [22] P. Autopilot, “Pixhawk community.” implementation of a quadrotor tail-sitter vtol uav,” in Robotics and [23] X. Lyu, H. Gu, J. Zhou, Z. Li, S. Shen, and F. Zhang, “A hierarchical Automation (ICRA), 2017 IEEE International Conference on. IEEE, control approach for a quadrotor tail-sitter vtol uav and experimental 2017, pp. 3924–3930. verification,” 2017. [5] B. W. McCormick, Aerodynamics of V/STOL flight. Courier Corpora- [24] L. Meier, P. Tanskanen, L. Heng, G. H. Lee, F. Fraundorfer, and tion, 1999. M. Pollefeys, “Pixhawk: A micro aerial vehicle design for autonomous [6] H. Gu, X. Cai, J. Zhou, Z. Li, S. Shen, and F. Zhang, “A coordinate flight using onboard computer vision,” Autonomous Robots, vol. 33, no. descent method for multidisciplinary design optimization of electric- 1-2, pp. 21–39, 2012. powered winged uavs,” in 2018 International Conference on Unmanned [25] P. D. Groves, Principles of GNSS, inertial, and multisensor integrated Aircraft Systems (ICUAS). IEEE, 2018, pp. 1189–1198. navigation systems. Artech house, 2013. [7] J. M. Levin, M. Nahon, and A. A. Paranjape, “Aggressive turn-around [26] E. F. Camacho, M. Berenguel, and F. R. Rubio, Frequency Domain manoeuvres with an agile fixed-wing uav,” IFAC-PapersOnLine, vol. 49, Control and Robust Optimal Control. Springer London, 1997. no. 17, pp. 242–247, 2016. [27] J. Katz and R. MASKEW, “Unsteady low-speed aerodynamic model for [8] F. Sobolic and J. How, “Nonlinear agile control test bed for a fixed wing complete aircraft configurations,” Journal of Aircraft, vol. 25, no. 4, pp. aircraft in a constrained environment,” in AIAA Infotech@ Aerospace 302–310, 1988. Conference and AIAA Unmanned... Unlimited Conference, 2009, p. [28] S. Bubeck et al., “Convex optimization: Algorithms and complexity,” 1927. Foundations and Trends® in Machine Learning, vol. 8, no. 3-4, pp. [9] T. Matsumoto, A. Konno, R. Suzuki, A. Oosedo, K. Go, and 231–357, 2015. M. Uchiyama, “Agile turnaround using post-stall maneuvers for tail- sitter vtol uavs,” in 2010 IEEE/RSJ International Conference on Intel- ligent Robots and Systems. IEEE, 2010, pp. 1612–1617.