This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Differential Flatness of Lifting-Wing Quadcopters Subject to Drag and Lift for Accurate Tracking

Shuai Wang, Wenhan Gao and Quan Quan Shuai Wang, Wenhan Gao and Quan Quan(Corresponding Author) are with the School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China. Email: [email protected].
Abstract

In this paper, we propose an effective unified control law for accurately tracking agile trajectories for lifting-wing quadcopters with different installation angles, which have the capability of vertical takeoff and landing (VTOL) as well as high-speed cruise flight. First, we derive a differential flatness transform for the lifting-wing dynamics with a nonlinear model under coordinated turn condition. To increase the tracking performance on agile trajectories, the proposed controller incorporates the state and input variables calculated from differential flatness as feedforward. In particular, the jerk, the 3-order derivative of the trajectory, is converted into angular velocity as a feedforward item, which significantly improves the system bandwidth. At the same time, feedback and feedforward outputs are combined to deal with external disturbances and model mismatch. The control algorithm has been thoroughly evaluated in the outdoor flight tests, which show that it can achieve accurate trajectory tracking.

SUPPLEMENTARY MATERIAL

Video of the paper summary and experiments is available at https://youtu.be/kj3uOk2P0FQ.

I INTRODUCTION

In recent years, hybrid unmanned aerial vehicles (UAVs) have received extensive attention. These vehicles inherit traditional rotary-wing and fixed-wing aircraft characteristics by compensating for the gravity through rotor-induced thrust and wing-induced lift force. Integrating the advantages of both aircraft, hybrid UAVs have the capability of vertical takeoff and landing (VTOL) as well as high-speed cruise flight.

Among the different configurations of hybrid UAVs, there is a type of vehicle with a structure similar to rotary-wing aircraft but with an additional wing, as shown in Fig. 1. The characteristics of this vehicle are that the thrust direction of the rotors is at a fixed angle with the wing, and the aerodynamic interference between the rotor and the wing can be ignored [1] [2]. To achieve horizontal flight, the whole vehicle tilts forward using differential thrust or control vanes, as shown in Fig. 2. We call this type of vehicle lifting-wing quadcopters. They have both the high maneuverability of traditional quadcopters and the long flight range of fixed-wing planes [1][3].

Refer to caption
Figure 1: Prototypes of lifting-wing quadcopters. (a) The installation angle is 45 degrees; (b) and (d) the installation angle is 90 degrees; (c) the installation angle is designed to be 34 degrees.

Due to the underactuated property, in trajectory tracking tasks, the lifting-wing quadcopter needs to adjust its attitude to change the direction of collective thrust like quadcopters, so as to obtain the desired acceleration. Because of complex nonlinear aerodynamic forces, the main difficulty in control design is to solve the desired attitude according to the desired acceleration (force mapping) and to make full use of the trajectory information, such as the jerk, to improve the maneuverability of the system. Aimed at these issues, researchers have carried out extensive research.

Compared with traditional quadcopters, the main difference in lifting-wing quadcopters is that they have nonnegligible aerodynamic forces. So, one method is to treat nonlinear aerodynamic forces as unmodeled disturbances. In [4], [5] and [6], aerodynamic forces are modeled offline and directly added to the controller as the feedforward to minimize the model mismatch. Some studies use online estimation methods to compensate for the forces in control, such as adaptive control law [7] and iterative learning method [8] [9] . In [10], a nonlinear optimization algorithm is used to solve the force mapping problem. However, the solver is usually too slow for real-time implementation, because the problem is nonconvex due to the complex aerodynamic model. To improve the real-time performance of the algorithm, a recurrent neural network (RNN) is trained to approximate the behavior of the nonlinear solver [11].

Some researchers try to solve the force mapping problem and maneuverability by utilizing the differential flatness of aircraft, whose state variables and control inputs can be written as algebraic functions of flat outputs and a finite number of their time-derivatives [12]. Using the differential flatness property, a reference trajectory generated in the flat output space can be transformed into the state-control space as feedforward terms. This has been demonstrated to improve trajectory tracking performance in agile flight [13] and trajectory generation efficiency [14] for quadcopters. Only a few attempts have been made to develop the differential flatness property of the aircraft with the wing for trajectory tracking. In [15], the fixed-wing aircraft with a coordinated flight model has been shown to have the differential flatness property when thrust is considered input. However, it cannot be directly applied to aircraft with hovering capability. As for hybrid UAVs, differential flatness is derived for the tail-sitter aircraft with a simplified aerodynamics model [16], but requires an estimate of the aircraft’s lateral aerodynamic force, which is often unavailable.

In this paper, we derive a differential flatness transform for lifting-wing quadcopters subjected to drag and lift, when thrust and angular velocity are considered inputs, so that the force mapping problem is solved. Then, in order to accurately track the agile trajectory, we propose a unified control law, which incorporates the state and input variables calculated from differential flatness as feedforward. In particular, the jerk, the 3-order derivative of the trajectory, is converted into angular velocity as a feedforward item, which significantly improves the system bandwidth. Finally, we verified our algorithm through sufficient outdoor flight experiments, and the flight speed reached up to 10 m/s.

The remainder of this paper is organized as follows: In Section II, we elaborate on the aircraft dynamics with the aerodynamics model in the established coordinate system. Then, in Section III, we derive a differential flatness transform to compute the attitude, thrust and angular velocity from the reference trajectory. In Section IV, a controller for trajectory tracking is designed, and experimental results are shown in Section V. Finally, conclusions are given in Section VI.

Refer to caption
Figure 2: Different flight modes of lifting-wing quadcopters.
Refer to caption
Figure 3: The lifting-wing quadcopter coordinate system and nomenclatures.

II Problem Formulation

II-A Coordinate

The coordinate frames of the lifting-wing quadcopter are illustrated in Fig. 3. The earth-fixed north-east-down (NED) coordinate e{}^{\rm e}{\mathcal{F}}, whose basis is composed of the column vectors of the identity matrix [𝐞x,𝐞y,𝐞z]\left[\mathbf{e}_{x},\mathbf{e}_{y},\mathbf{e}_{z}\right], is chosen as the inertial frame. The quadcopter-body coordinate frame b{}^{\rm b}\mathcal{F} is made of an orthonormal basis {𝐱b,𝐲b,𝐳b}\left\{\mathbf{x}_{\text{b}},\mathbf{y}_{\text{b}},\mathbf{z}_{\text{b}}\right\} represented in e{}^{\text{e}}\mathcal{F} with the origin located at the center of mass. b{}^{\rm b}\mathcal{F} rotates along 𝐲b\mathbf{y}_{\text{b}} by κ\kappa to obtain the lifting-wing coordinate frame l{}^{\rm l}\mathcal{F}, which is made of orthonormal basis {𝐱l,𝐲l,𝐳l}\left\{\mathbf{x}_{\text{l}},\mathbf{y}_{\text{l}},\mathbf{z}_{\text{l}}\right\} represented in e{}^{\rm e}\mathcal{F}. The vector 𝐱l\mathbf{x}_{\text{l}} coincides with the chord line and the lifting wing symmetry plane. To handle the wing-induced forces, the wind coordinate frame w{}^{\rm w}\mathcal{F} is defined as {𝐱w,𝐲w,𝐳w}\left\{\mathbf{x}_{\text{w}},\mathbf{y}_{\text{w}},\mathbf{z}_{\text{w}}\right\} with the vector 𝐱w\mathbf{x}_{\text{w}} coincides with the airspeed vector 𝐯a\mathbf{v}_{\rm a}. The rotation matrix 𝐑be=[𝐱b𝐲b𝐳b]{\mathbf{R}}_{\text{b}}^{\text{e}}=\left[\mathbf{x}_{\text{b}}\ \mathbf{y}_{\text{b}}\ \mathbf{z}_{\text{b}}\right] gives the transformation from b{}^{\rm b}\mathcal{F} (indicated by the subscript b) to e{}^{\rm e}\mathcal{F} (indicated by the superscript e). Throughout this paper, the superscripts (𝐱e,b,l,w)\left({}^{\text{e,b,l,w}}\mathbf{x}\right) are utilized to specify in which coordinate frame a vector 𝐱\mathbf{x} is formulated. It should be noted that the superscripts are omitted for vectors in e{}^{\rm e}\mathcal{F}. The position of the lifting-wing quadcopter is denoted as 𝐩\mathbf{p}, and its derivatives, velocity, acceleration and jerk as 𝐯\mathbf{v}, 𝐚\mathbf{a}, 𝐣\mathbf{j}, respectively.

II-B Lifting-wing Quadcopter Model

The lifting-wing quadcopter is modeled as a rigid body with six degrees of freedom (6-DOF). The control inputs to the system are taken as the collective thrust fzf_{z} and the angular velocity expressed in b{}^{\rm b}\mathcal{F} as 𝝎b{}^{\rm{b}}{\bm{\omega}}. It is assumed that the bandwidth of the angular velocity controller is high enough that the angular dynamics can be neglected. The motion of the aircraft is formulated by Newton and Euler’s Law of Motion [17]:

𝐩˙\displaystyle\dot{{\mathbf{p}}} =𝐯\displaystyle=\mathbf{v} (1)
𝐯˙\displaystyle\dot{{\mathbf{v}}} =𝐚=𝐟m\displaystyle=\mathbf{a}=\frac{\mathbf{f}}{m} (2)
𝐑˙be\displaystyle{\dot{\mathbf{R}}}_{\text{b}}^{\text{e}} =𝐑be[𝝎b]×\displaystyle={\mathbf{R}}_{\text{b}}^{\text{e}}{\left[{{}^{\text{b}}{\bm{\omega}}}\right]_{\times}} (3)

where mm is the mass of the aircraft, and [𝝎b]×{\left[{{}^{\text{b}}{\bm{\omega}}}\right]_{\times}} denotes the skew-symmetric matrix. In addition, 𝐟\mathbf{f} represents forces acting on the airframe expressed in e{}^{\rm e}\mathcal{F}. As shown in Fig. 3, the forces acting on the aircraft are

𝐟=𝐑be𝐟rb+𝐑le𝐟al+m𝐠{\mathbf{f}}={\mathbf{R}_{\rm{b}}^{\rm{e}}}\cdot{}^{\text{b}}{\mathbf{f}_{\text{r}}}+{\mathbf{R}_{\rm{l}}^{\rm{e}}}\cdot{}^{\rm l}{\mathbf{f}_{\text{a}}}+m{\mathbf{g}} (4)

where 𝐟rb=[0 0fz]T{}^{\text{b}}{\mathbf{f}_{\text{r}}}=\left[0\ 0\ f_{z}\right]^{\text{T}} with fz0f_{z}\leq 0 is the collective thrust produced by rotors, 𝐟al{}^{\rm l}{\mathbf{f}_{\text{a}}} is aerodynamic forces produced by the lifting wing, and 𝐠=[0 0g]T{\mathbf{g}}=\left[0\ 0\ g\right]^{\text{T}} is the gravitational acceleration vector with g=9.81m/s2g=9.81{\rm m/s}^{2}.

A special parametric expression is used to model steady aerodynamic forces 𝐟as{}^{\rm s}\mathbf{f}_{\rm a} [18]:

𝐟as=12ρSVa2[Cd0+CLαsin2α 0CLαsinαcosα]T{}^{\rm s}{\mathbf{f}}_{{\text{a}}}=\frac{1}{{2}}\rho S{V_{a}^{2}}\left[{\begin{array}[]{*{20}{c}}{{C_{{d_{0}}}}}+C_{L\alpha}\sin^{2}\alpha\ \ 0\ \ C_{L\alpha}\sin\alpha\cos\alpha\end{array}}\right]^{\rm T} (5)

where ρ\rho is the air density, SS is the surface of the wing. The airspeed vector is defined as 𝐯a=𝐯𝐯w\mathbf{v}_{\rm a}=\mathbf{v}-\mathbf{v}_{\rm w}, 𝐯w\mathbf{v}_{\rm w} is wind velocity expressed in e{}^{\rm e}\mathcal{F}, Va=𝐯aV_{a}=\lVert\mathbf{\bf v}_{\rm a}\rVert is the airspeed, α\alpha is the angle of attack; aerodynamic parameters Cd0C_{d_{0}} is the minimum drag coefficient, Cy0C_{y_{0}} is the minimum side force coefficient, ClαC_{l\alpha} is a coefficient related to lift, which are determined by the airfoil. This model is further developed and improved in [19], where a ϕ\phi-theory method is proposed and demonstrates that the model can cover the main dynamic characteristics in the full flight envelope.

When converted to e{}^{\rm e}{\mathcal{F}}, 𝐟as{}^{\rm s}\mathbf{f}_{\rm a} is an expression independent of the angle of attack:

𝐟al=12ρSVa[Cd0000Cy0000Cd0+CLα]𝐑bl(𝐑be)T𝐯a{}^{\rm l}{\mathbf{f}}_{{\text{a}}}=\frac{1}{{2}}\rho S{V_{a}}\left[{\begin{array}[]{*{20}{c}}{{C_{{d_{0}}}}}&0&0\\ 0&{{C_{{y_{0}}}}}&0\\ 0&0&C_{d_{0}}+C_{L\alpha}\end{array}}\right]{{\mathbf{R}}_{\rm b}^{\rm l}}\left({{\mathbf{R}}_{\rm b}^{\rm e}}\right)^{\rm T}\cdot{\mathbf{v}_{\rm a}} (6)

Rotation matrix 𝐑bl{{\mathbf{R}}_{\rm b}^{\rm l}} transforms a vector from b{}^{\rm b}{\mathcal{F}} to l{}^{\rm l}{\mathcal{F}} given as

𝐑bl=[cosκ0sinκ010sinκ0cosκ]{{\mathbf{R}}_{\rm b}^{\rm l}}=\left[{\begin{array}[]{*{20}{c}}\cos\kappa&0&-\sin\kappa\\ 0&1&0\\ \sin\kappa&0&\cos\kappa\end{array}}\right] (7)

where κ\kappa is the installation angle of the lifting wing. In practice applications, different installation angles can be designed according to specific flight indexes, such as flight speed and range. Generally, the installation angle is set at about 45 degrees to ensure good wind resistance [1] [20], as shown in Fig. 1(a) and (c). In particular, when the installation angle is set at 90 degrees, it is the so-called tail-sitter aircraft, as shown in Fig. 1(b) and (d). This type of aircraft is more similar to the fixed wing in cruise flight [2][7]. In this paper, we limit κ(15,90]\kappa\in(15^{\circ},90^{\circ}], because when κ\kappa is small, additional propellers are usually added, which is a common dual-system aircraft [21].

II-C Objective

The control design aims to accurately track the trajectory reference 𝐩ref{\mathbf{p}_{\rm ref}}. The reference 𝐩ref{\mathbf{p}_{\rm ref}}, which is at least 3-order continuous, may be provided by a pre-planned trajectory or an online motion planning algorithm.

To facilitate the problem description, a brief introduction to differential flattening is given. Considering the following dynamic system:

𝑿˙\displaystyle\dot{\bm{X}} =𝒜(𝑿,𝑼)\displaystyle=\mathcal{A}\left(\bm{X},\bm{U}\right) (8)
𝒀\displaystyle{\bm{Y}} =(𝑿,𝑼),\displaystyle=\mathcal{B}\left(\bm{X},\bm{U}\right), (9)

an essential property of flat systems is that their state 𝑿{\bm{X}} and input 𝑼{\bm{U}} can be directly written as algebraic functions of the flat output 𝒀{\bm{Y}} and a finite number of its time-derivatives. However, the input and state variables calculated from the flat output cannot be used to directly control the dynamic system (9) because of the inevitable model uncertainty. In practice, they can serve as feedforward control inputs to improve trajectory tracking performance by reducing the phase lag. At the same time, the model uncertainty can be compensated for by the feedback control.

In this paper, we choose 𝒀=𝐩{\bm{Y}}=\mathbf{p} as the flat output, 𝑼={fz,𝝎b}{\bm{U}}=\left\{f_{z},{{}^{\rm b}{\bm{\omega}}}\right\} as inputs, 𝑿={𝐩,𝐯,𝐚,𝐑be}\bm{X}=\left\{\mathbf{p,v,a,R_{\rm b}^{\rm e}}\right\} as states, and 𝑿\bm{X} and 𝑼\bm{U} are constrained by dynamic equations (1)-(3). Then the objective of this paper is to address the following two problems :

  • Find the function of \mathcal{H} and 𝒢\mathcal{G} that satisfy

    𝑿\displaystyle{\bm{X}} =(𝒀,𝒀˙,,𝒀(n))\displaystyle=\mathcal{H}\left(\bm{Y},\dot{\bm{Y}},\ldots,\bm{Y}^{(n)}\right) (10)
    𝑼\displaystyle{\bm{U}} =𝒢(𝒀,𝒀˙,,𝒀(m)).\displaystyle=\mathcal{G}\left(\bm{Y},\dot{\bm{Y}},\ldots,\bm{Y}^{(m)}\right). (11)
  • Given a reference trajectory 𝐩ref(t)\mathbf{p}_{\rm ref}(t), design a controller for the lifting-wing quadcopter with uncertainty such that limt𝐩(t)𝐩ref(t)=0\mathop{\lim}\limits_{t\to\infty}\left\|{\mathbf{p}(t)-\mathbf{p}_{\rm ref}(t)}\right\|=0 by using the differential flatness property given by (10) and (11).

The two problems will be solved in Section III and Section IV, respectively.

III DIFFERENTIAL FLATNESS

In this section, we show that the dynamics of a lifting-wing quadcopter subject to lift and drag is differentially flat. In fact, the states {𝐩,𝐯,𝐚,𝐑be}\left\{\mathbf{p,v,a,R_{\rm b}^{\rm e}}\right\} and inputs {fz,b𝝎}\left\{f_{z},^{\rm b}{\bm{\omega}}\right\} can be written as algebraic functions of the flat output 𝐩{\mathbf{p}} and its derivatives. The position 𝐩\mathbf{p}, velocity 𝐯\mathbf{v} and acceleration 𝐚\mathbf{a} can be easily obtained from Eqs (1)-(3). Next, we will derive the reference attitude and thrust from the reference trajectory and its derivatives, and prove how to obtain the reference angular velocity under the coordinated turn condition.

III-A Attitude and Thrust

Refer to caption
Figure 4: The reference acceleration is constrained in 𝐱w𝐳w{\mathbf{x}_{\rm w}}-{\mathbf{z}_{\rm w}} plane with the assumption that the reference sideslip angle is 00^{\circ}.

During a coordinated turn, there is no lateral acceleration expressed in w{{}^{\rm w}\mathcal{F}} of the aircraft, that is 𝐚w=𝐟w/m=[axw 0azw]T{}^{\rm w}{\mathbf{a}}={{}^{\rm w}{\mathbf{f}}}/m=\left[a_{x_{\rm w}}\ 0\ a_{z_{\rm w}}\right]^{\rm T}, as shown in Fig. 4. Then, the dynamic equation (2) is reformulated as

𝐱waxw+𝐳wazw+𝐠𝐚=0.{\mathbf{x}}_{\rm w}{a_{x_{\rm w}}}+{\mathbf{z}}_{\rm w}{a_{z_{\rm w}}}+{\mathbf{g}}-\mathbf{a}=0. (12)

Since the vector 𝐱w\mathbf{x}_{\rm w} coincides with the airspeed vector, 𝐱w\mathbf{x}_{\rm w} is calculated as

𝐱w=𝐯/𝐯\displaystyle{\mathbf{x}}_{\rm w}=\mathbf{v}/\lVert\mathbf{v}\rVert (13)

when the wind velocity 𝐯wind=𝟎\mathbf{v}_{\rm wind}=\bm{0} and the norm of the reference velocity 𝐯ref0\lVert\mathbf{v}_{\rm{ref}}\rVert\neq 0. In fact, if the wind velocity can be estimated online, the results of differential flatness hold true. For the convenience of the following derivation, the wind velocity is assumed to be 0. The case where 𝐯ref=0\lVert\mathbf{v}_{\rm{ref}}\rVert=0 will be discussed later in section III-C.

Left-multiplying (12) by 𝐱wT{\mathbf{x}}_{\rm w}^{\rm T} yields

axw=𝐱wT(𝐚𝐠).a_{x_{\rm w}}={\mathbf{x}}_{\rm{w}}^{\rm{T}}\left({{\mathbf{a}}-{\mathbf{g}}}\right). (14)

In w{}^{\rm w}{\mathcal{F}}, the reference acceleration is constrained in 𝐱w𝐳w{\mathbf{x}_{\rm w}}-{\mathbf{z}_{\rm w}} plane. Then, the component of the reference acceleration along 𝐳w\mathbf{z}_{\rm w} can be derived from (12) by substituting (14) and applying the Euclidean norm

azw\displaystyle a_{z_{\rm w}} =(𝐈𝐱w𝐱wT)(𝐚𝐠).\displaystyle=-\lVert\left({{\mathbf{I}}-{{\mathbf{x}}_{\rm w}}{\mathbf{x}}_{\rm w}^{\rm T}}\right)\left({{\mathbf{a}}-{\mathbf{g}}}\right)\rVert. (15)

Further, considering aerodynamic forces and rotor thrust, the transitional dynamics of the aircraft expressed in w{}^{\rm w}\mathcal{F} are

m𝐚w=𝐑bw𝐟rb+𝐑lw𝐟alm\cdot{{}^{\rm w}{\bf a}}={\mathbf{R}_{\rm b}^{\rm w}}\cdot{{}^{\rm b}{{\bf f}_{r}}}+{\mathbf{R}_{\rm l}^{\rm w}}\cdot{{}^{\rm l}{\bf f}_{a}} (16)

where 𝐑bw=𝐑lw𝐑bl{\mathbf{R}_{\rm b}^{\rm w}}={\mathbf{R}_{\rm l}^{\rm w}}{\mathbf{R}_{\rm b}^{\rm l}} and 𝐑lw{\mathbf{R}_{\rm l}^{\rm w}} is the transformation from l{}^{\rm l}{\mathcal{F}} to w{}^{\rm w}{\mathcal{F}} given by

𝐑lw=[cosα0sinα010sinα0cosα].{\mathbf{R}_{\rm l}^{\rm w}}=\left[{\begin{array}[]{*{20}{c}}\cos\alpha&0&\sin\alpha\\ 0&1&0\\ -\sin\alpha&0&\cos\alpha\end{array}}\right]. (17)

The thrust fzf_{z} and angle of attack α\alpha are now obtained by solving the equation (16) as

fz\displaystyle f_{z} =1k1|kfxs2+CLαQSkfxw+m2azw2|,\displaystyle=-\frac{1}{k_{1}}\left|k_{f_{xs}}^{2}+{C_{L\alpha}}QSk_{f_{xw}}+{m^{2}}a_{z_{\rm w}}^{2}\right|, (18)
α\displaystyle\alpha =2atan((CLαQS+kfxw)sinκmazwcosκk1kfxwcosκ+mazwsinκ)\displaystyle=2{\rm atan}\left(\frac{{\left(C_{L\alpha}QS+k_{f_{xw}}\right)\sin\kappa-m{a_{z_{\rm w}}}\cos\kappa-{k_{1}}}}{{k_{f_{xw}}\cos\kappa+m{a_{z_{\rm w}}}\sin\kappa}}\right) (19)

where

kfxw\displaystyle k_{f_{xw}} =Cd0QS+maxw,\displaystyle=C_{d0}QS+m{a_{x_{\rm w}}},
k1\displaystyle{k_{1}} ={kfxs2cos2κ+(kfxs+CLαQS)2sin2κ+m2azw2mCLαQSazwsin2κ}\displaystyle=\sqrt{\Big{\{}\begin{aligned} {k_{f_{xs}}^{2}}{{\cos}^{2}}\kappa&+{{(k_{f_{xs}}+{C_{L\alpha}}QS)}^{2}}{{\sin}^{2}}\kappa+{m^{2}}a_{z_{\rm w}}^{2}\\ &-m{C_{L\alpha}}QS{a_{z_{\rm w}}}\sin 2\kappa\end{aligned}\Big{\}}}

Substituting (4) and (6) into (2), the position dynamic equation is reformulated as

cz𝐳b\displaystyle{c_{z}}{{\mathbf{z}}_{\rm b}} (QaCdx𝐱bT𝐯+QaCdxz𝐳bT𝐯)𝐱b(QaCy0𝐲bT𝐯)𝐲b\displaystyle-\left({{Q_{a}}{C_{{d_{x}}}}{\mathbf{x}}_{\rm b}^{\rm T}{{\mathbf{v}}}+{Q_{a}}{C_{{d_{xz}}}}{\mathbf{z}}_{\rm b}^{\rm T}{\mathbf{v}}}\right){{\mathbf{x}}_{\rm b}}-\left({{Q_{a}}{C_{{y_{0}}}}{\mathbf{y}}_{\rm b}^{\rm T}{\mathbf{v}}}\right){{\mathbf{y}}_{\rm b}}
(QaCdz𝐳bT𝐯+QaCdxz𝐱bT𝐯)𝐳b+g𝐳e𝐚=0\displaystyle-\left({{Q_{a}}{C_{{d_{z}}}}{\mathbf{z}}_{\rm b}^{\rm T}{\mathbf{v}}+{Q_{a}}{C_{{d_{xz}}}}{\mathbf{x}}_{\rm b}^{\rm T}{\mathbf{v}}}\right){{\mathbf{z}}_{\rm b}}+g{{\mathbf{z}}_{\rm e}}-{\mathbf{a}}=0 (20)

where Cdx=Cd0cos2κ+(CLα+Cd0)sin2κ{C_{{d_{x}}}}={C_{{d_{0}}}}{\cos^{2}}\kappa+({C_{{L_{\alpha}}}}+{C_{{d_{0}}}}){\sin^{2}}\kappa, Cdz=Cd0sin2κ+(CLα+Cd0)cos2κ{C_{{d_{z}}}}={C_{{d_{0}}}}{\sin^{2}}\kappa+({C_{{L_{\alpha}}}}+{C_{{d_{0}}}}){\cos^{2}}\kappa, Cdxz=CLαsinκcosκ{C_{{d_{xz}}}}={C_{{L_{\alpha}}}}\sin\kappa\cos\kappa, cz=fz/m{c_{z}}={{{f_{z}}}\mathord{\left/{\vphantom{{{f_{z}}}m}}\right.\kern-1.2pt}m}, Qa=ρSVa/2m{Q_{a}}={{\rho S{V_{a}}}\mathord{\left/{\vphantom{{\rho S{V_{a}}}{2m}}}\right.\kern-1.2pt}{2m}}.

Left-multiplying (20) by 𝐲bT{\mathbf{y}}_{\rm b}^{\rm T} yields

𝐲bT𝐲perp=0{\mathbf{y}}_{\rm b}^{\rm T}{{\mathbf{y}}_{\rm{perp}}}=0 (21)

with

𝐲perp=QaCy0𝐯g𝐳e+𝐚.{{\mathbf{y}}_{\rm perp}}={Q_{a}}{C_{{y_{0}}}}{\mathbf{v}}-g{{\mathbf{z}}_{e}}+{\mathbf{a}}. (22)

Under the coordinated turn condition, 𝐱w\mathbf{x}_{\rm w} can be obtained by rotating 𝐱b\mathbf{x}_{\rm b} along 𝐲b\mathbf{y}_{\rm b} by ακ\alpha-\kappa, which implies that 𝐲b\mathbf{y}_{\rm b} is perpendicular to 𝐱w\mathbf{x}_{\rm w}. With this and (21), 𝐲b\mathbf{y}_{\rm b} is obtained as

𝐲b=𝐱w×𝐲perp𝐱w×𝐲perp.{{\mathbf{y}}_{\rm b}}=\frac{{{\mathbf{x}}_{\rm w}}\times{{\mathbf{y}}_{\rm perp}}}{{\left\|{{{\mathbf{x}}_{\rm w}}\times{{\mathbf{y}}_{\rm perp}}}\right\|}}. (23)

According to Rodrigues’ formula, 𝐱b\mathbf{x}_{\rm b} is obtained as

𝐱b=(\displaystyle{{\mathbf{x}}_{\rm b}}=\big{(} cos(ακ)𝐈+(1cos(ακ))𝐲b𝐲bT\displaystyle\cos\left({\alpha-\kappa}\right){\mathbf{I}}+\left({1-\cos\left({\alpha-\kappa}\right)}\right){\mathbf{y}}_{\rm b}{\mathbf{y}}_{\rm b}^{\rm T}
+sin(ακ)[𝐲b]×)𝐱w.\displaystyle+\sin\left({\alpha-\kappa}\right){\left[{\mathbf{y}}_{\rm b}\right]_{\times}}\big{)}{{\mathbf{x}}_{\rm w}}. (24)

Then, utilizing the orthogonality of rotation matrix, 𝐑be\mathbf{R}_{\rm b}^{\rm e} is constructed as

𝐑be=[𝐱b𝐲b𝐱b×𝐲b].\mathbf{R}_{\rm b}^{\rm e}=\left[{\mathbf{x}}_{\rm b}\ {{\mathbf{y}}_{\rm b}}\ {{\mathbf{x}}_{\rm b}}\times{{\mathbf{y}}_{\rm b}}\right]. (25)

III-B Angular Velocity

Taking the derivative of (20) yields

𝐣=\displaystyle{\mathbf{j}}= c˙z𝐳b+cz𝐳˙bQa𝐑be([𝝎b]×𝐃𝐃[𝝎b]×)(𝐑be)T𝐯\displaystyle{\dot{c}_{z}}{{\mathbf{z}}_{\rm b}}+{c_{z}}{{\mathbf{\dot{z}}}_{\rm b}}-{Q_{a}}\mathbf{R}_{\rm b}^{\rm e}\left({{\left[{{}^{\text{b}}{\bm{\omega}}}\right]_{\times}}{\mathbf{D}}-{\mathbf{D}}{\left[{{}^{\text{b}}{\bm{\omega}}}\right]_{\times}}}\right){\left({\mathbf{R}_{\rm b}^{\rm e}}\right)^{\rm T}}{\mathbf{v}}
2Qa𝐑be𝐃(𝐑be)T𝐚\displaystyle-2{Q_{a}}\mathbf{R}_{\rm b}^{\rm e}{\mathbf{D}}{\left({\mathbf{R}_{\rm b}^{\rm e}}\right)^{\rm T}}{\mathbf{a}} (26)

where

𝐃=[Cdx0Cdxz0Cy00Cdxz0Cdz].{\mathbf{D}}=\left[{\begin{array}[]{*{20}{c}}{{C_{{d_{x}}}}}&0&{{C_{{d_{xz}}}}}\\ 0&{{C_{{y_{0}}}}}&0\\ {{C_{{d_{xz}}}}}&0&{{C_{{d_{z}}}}}\end{array}}\right].

Left-multiplying (26) by 𝐱bT{\mathbf{x}}_{\rm b}^{\rm T} yields

𝐱bT𝐣+Qa𝐯T𝐚/Va2(dx𝐱bT𝐚+dxz𝐳bT𝐚)=ωyb(czQa((dzdx)𝐳bT𝐯+2dxz𝐱bT𝐯))+ωxbQadxz𝐲bT𝐯ωzbQa(dxCy0)𝐲bT𝐯.\begin{gathered}{\mathbf{x}}_{\rm b}^{\rm T}{\mathbf{j}}+{Q_{a}}{{\mathbf{v}^{\rm T}\mathbf{a}}/V_{a}^{2}}\left({{d_{x}}{\mathbf{x}}_{\rm b}^{\rm T}{\mathbf{a}}+{d_{xz}}{\mathbf{z}}_{\rm b}^{\rm T}{\mathbf{a}}}\right)\hfill\\ ={\omega_{y_{\rm b}}}\left({{c_{z}}-{Q_{a}}\left({\left({{d_{z}}-{d_{x}}}\right){\mathbf{z}}_{\rm b}^{\rm T}{\mathbf{v}}+2{d_{xz}}{\mathbf{x}}_{\rm b}^{\rm T}{\mathbf{v}}}\right)}\right)\\ +{\omega_{x_{\rm b}}}{Q_{a}}{d_{xz}}{\mathbf{y}}_{\rm b}^{\rm T}{\mathbf{v}}-{\omega_{z_{\rm b}}}{Q_{a}}\left({{d_{x}}-{C_{{y_{0}}}}}\right){\mathbf{y}}_{\rm b}^{\rm T}{\mathbf{v}}.\end{gathered} (30)

Left-multiplying (26) by 𝐲bT{\mathbf{y}}_{\rm b}^{\rm T} yields

𝐲bT𝐣+Qa(𝐯T𝐚/Va2)Cy0𝐲bT𝐚\displaystyle{\mathbf{y}}_{\rm b}^{\rm T}{\mathbf{j}}+{Q_{a}}\left({{\mathbf{v}^{\rm T}\mathbf{a}}/V_{a}^{2}}\right){C_{{y_{0}}}}{\mathbf{y}}_{\rm b}^{\rm T}{\mathbf{a}}
=ωxb(cz+Qa(dxz𝐱bT𝐯+(dzCy0)𝐳bT𝐯))\displaystyle={\omega_{x_{\rm b}}}\left({-{c_{z}}+{Q_{a}}\left({{d_{xz}}{\mathbf{x}}_{\rm b}^{\rm T}{\mathbf{v}}+\left({{d_{z}}-{C_{{y_{0}}}}}\right){\mathbf{z}}_{\rm b}^{\rm T}{\mathbf{v}}}\right)}\right)
ωzbQa((dxCy0)𝐱bT𝐯+dxz𝐳bT𝐯).\displaystyle-{\omega_{z_{\rm b}}}{Q_{a}}\left({\left({{d_{x}}-{C_{{y_{0}}}}}\right){\mathbf{x}}_{\rm b}^{\rm T}{\mathbf{v}}+{d_{xz}}{\mathbf{z}}_{\rm b}^{\rm T}{\mathbf{v}}}\right). (31)

Under the coordinated turn condition, there is also no lateral acceleration expressed in b{{}^{\rm b}\mathcal{F}} of the aircraft, that is

𝐲eT𝐯˙b=0.{\mathbf{y}}_{\rm e}^{\rm T}\cdot{}^{\rm b}{\mathbf{\dot{v}}}=0. (32)

With (32) and (2), another constraint on angular velocity is obtained

ωxbvzbωzbvxb=gyb.{\omega_{x_{\rm b}}}{v_{{z_{\rm b}}}}-{\omega_{z_{\rm b}}}{v_{{x_{\rm b}}}}=-{g_{{y_{\rm b}}}}. (33)

The angular velocity can now be obtained by solving the linear equations composed of (30), (31) and (33).

III-C Special Cases

In this section, we will introduce some practical solutions to solve the special case that the proposed method is invalid.

Case 1 - 𝐯=0\lVert\mathbf{v}\rVert=0: For the lifting-wing quadcopter, the case often occurs. For example, when the aircraft is commanded to hover, the reference velocity 𝐯ref\mathbf{v}_{\rm{ref}} is desired to be 𝟎\mathbf{0}. In fact, when 𝐯𝟎{\mathbf{v}}\to{\mathbf{0}}, 𝐱w{{\mathbf{x}}_{\rm w}} and α\alpha are not defined, but this does not mean that 𝐲b{{\mathbf{y}}_{\rm b}} and 𝐱b{{\mathbf{x}}_{\rm b}} cannot be solved. In Section III-A, we use the wind speed vector to determine the nose orientation of the aircraft, but when the wind speed vector is 0, the nose orientation of the aircraft cannot be determined accordingly. In this case, 𝐲b\mathbf{y}_{\rm b}, originally determined by (23), can be any vector on the plane perpendicular to 𝐲perp\mathbf{y}_{\rm perp}. To determine the attitude 𝐑be\mathbf{R}_{\rm b}^{\rm e} of the aircraft, the yaw angle ψ\psi should be given when 𝐯ref=0\mathbf{v}_{\rm{ref}}=0, then 𝐲b\mathbf{y}_{\rm b} is obtained as

𝐲b=𝐱c×𝐲perp𝐱c×𝐲perp{{\mathbf{y}}_{\rm b}}=\frac{{{\mathbf{x}}_{\rm c}}\times{{\mathbf{y}}_{\rm perp}}}{{\left\|{{{\mathbf{x}}_{\rm c}}\times{{\mathbf{y}}_{\rm perp}}}\right\|}} (34)

where 𝐱c=[cosψsinψ0]T{{\mathbf{x}}_{\rm{c}}}={[\begin{array}[]{*{20}{c}}{\cos\psi}&{\sin\psi}&0\end{array}]^{\rm{T}}}.

Left-multiplying (20) by 𝐱bT{\mathbf{x}}_{\rm b}^{\rm T} yields

𝐱bT(QaCdx𝐯g𝐳e+𝐚)=QaCdxz𝐳bT𝐯.{\mathbf{x}}_{\rm b}^{\rm T}\left({Q_{a}}{C_{{d_{x}}}}{\mathbf{v}}-g{{\mathbf{z}}_{\rm e}}+{\mathbf{a}}\right)={Q_{a}}{C_{{d_{xz}}}}{\mathbf{z}}_{\rm b}^{\rm T}{\mathbf{v}}. (36)

That is, when 𝐯=𝟎{\mathbf{v}}={\mathbf{0}}, 𝐱bT𝐲perp=𝟎{\mathbf{x}}_{\rm b}^{\rm T}{{\mathbf{y}}_{\rm perp}}={\mathbf{0}}. With this and (21), 𝐱b\mathbf{x}_{\rm b} is obtained as

𝐱b=𝐲perp×𝐲b𝐲perp×𝐲b.{{\mathbf{x}}_{\rm b}}=\frac{{{\mathbf{y}}_{\rm perp}}\times{{\mathbf{y}}_{\rm b}}}{{\left\|{{{\mathbf{y}}_{\rm perp}}\times{{\mathbf{y}}_{\rm b}}}\right\|}}. (37)

However, state mutation may occur by directly giving an arbitrary yaw angle. Another simple and effective method is to keep 𝐱w\mathbf{x}_{\rm w} to the last state when 𝐯\mathbf{v} is not equal to 0.

Case 2 - 𝐱w×𝐲perp=0{{\mathbf{x}}_{\rm w}}\times{{\mathbf{y}}_{\rm perp}}=0: This case occurs if 𝐲perp{{\mathbf{y}}_{\rm perp}} is aligned with 𝐱w{{\mathbf{x}}_{\rm w}}, for example when the aircraft needs to execute the vertical takeoff or landing command. In this case, 𝐲b\mathbf{y}_{\rm b} can be any vector on the plane perpendicular to 𝐲perp\mathbf{y}_{\rm perp}. To overcome this singularity, 𝐲b\mathbf{y}_{\rm b} can be obtained using the same method as in Case 1.

IV CONTROL LAW

To accurately track a reference trajectory, a controller, consisting of feedback terms computed from tracking errors as well as feedforward terms {𝐩ref,𝐯ref,𝐚ref,𝐑ref,𝝎ref}\left\{\mathbf{p_{\rm ref},v_{\rm ref},a_{\rm ref},R_{\rm ref}},\bm{\omega}_{\rm ref}\right\} computed from the reference trajectory using the differential flatness property of the lifting-wing quadcopter, is designed. The control architecture consists of an outer-loop position controller and an inner-loop attitude controller. The position controller computes the desired acceleration, which is mapped to the collective thrust and attitude. The attitude command is sent to the inner loop, and the attitude controller generates the desired angular velocity. A high-bandwidth controller is used to track these angular velocity commands and thrust.

Refer to caption
Figure 5: Lifting-wing quadcopters with a special installation angle κ=34deg\kappa=34\deg for experiments.
Refer to caption
Figure 6: Experimental results for circle trajectory. Estimated local position on the circle trajectory considering aerodynamic forces (solid red), and without considering aerodynamic forces (solid blue) compared to the desired position (dashed black).

IV-A Position and Velocity Controller

Cascaded PID controllers for position (1) and velocity (2) are designed as

𝐯d=𝐊𝐩p(𝐩ref𝐩)+𝐯ref,\mathbf{v}_{\rm d}={\mathbf{K}_{\mathbf{p}p}}\left(\mathbf{p}_{\rm{ref}}-\mathbf{p}\right)+\mathbf{v}_{\rm{ref}}, (38)
𝐚d=𝐊𝐯p(𝐯d𝐯)+𝐊𝐯i(𝐯d𝐯)dt+𝐚ref\mathbf{a}_{\rm d}={\mathbf{K}_{\mathbf{v}p}}\left(\mathbf{v}_{\rm{d}}-\mathbf{v}\right)+{\mathbf{K}_{\mathbf{v}i}}\int\left(\mathbf{v}_{\rm{d}}-\mathbf{v}\right){\rm d}t+\mathbf{a}_{\rm{ref}} (39)

where 𝐊𝐩p{{\mathbf{K}}_{{\mathbf{p}}{\text{p}}}}, 𝐊𝐯p{{\mathbf{K}}_{{\mathbf{v}}{\text{p}}}}, 𝐊𝐯i3×3{{\mathbf{K}}_{{\mathbf{v}}{i}}}\in{\mathbb{R}^{3\times 3}} are diagonal matrix acting as the feedback control gain. The integral term is added to compensate for model errors and external disturbances. According to the results of Section III, the desired collective thrust fz,df_{z,{\rm d}} and desired attitude 𝐑d\mathbf{R}_{\rm d} can be obtained from 𝐚d\bf a_{\rm d}. However, in the actual flight, there is the inevitable deviation between the aerodynamic force calculated by (6) and acting on the aircraft. Multiplying the aerodynamic force by an attenuated feedforward coefficient can reduce the adverse effects caused by the inaccurate model. So the desired mass-normalized collective thrust expressed in e{}^{\rm e}{\mathcal{F}} is obtained as

𝐚r,d=𝐚d𝐠𝐊ff𝐚af\mathbf{a}_{\rm r,d}=\mathbf{a}_{\rm{d}}-{\mathbf{g}}-{\mathbf{K}_{\rm ff}}\mathbf{a}_{\rm{af}} (40)

where 𝐊ff3×3{\mathbf{K}_{\rm ff}}\in{\mathbb{R}^{3\times 3}} are diagonal matrix acting as the feedforward control gain, and 𝐚af\mathbf{a}_{\rm{af}} is the acceleration due to aerodynamic forces, obtained as

𝐚af=12mρSVa𝐑ref𝐃𝐑refT𝐯ref.{{\mathbf{a}}_{{\rm{af}}}}=\frac{1}{{2m}}\rho S{V_{a}}{{\mathbf{R}}_{{\rm{ref}}}}\mathbf{D}{\mathbf{R}}_{{\rm{ref}}}^{\rm T}{\mathbf{v}_{\rm ref}}. (41)

The desired mass-normalized collective thrust 𝐚r,d\mathbf{a}_{\rm{r,d}} is completely produced by rotor thrust, so the desired attitude 𝐑d\mathbf{R}_{\rm d} is obtained as

𝐳b,d=𝐚r,d𝐚d𝐲b,d=𝐳b,d×𝐱w𝐳b,d×𝐱w𝐱b,d=𝐲b,d×𝐳b,d\begin{gathered}{{\mathbf{z}}_{\rm{b,d}}}=-\frac{{{{\mathbf{a}}_{\rm{r,d}}}}}{{\left\|{{{\mathbf{a}}_{\rm{d}}}}\right\|}}\hfill\\ {{\mathbf{y}}_{\rm{b,d}}}=\frac{{{{\mathbf{z}}_{\rm{b,d}}}\times{{\mathbf{x}}_{\rm{w}}}}}{{\left\|{{{\mathbf{z}}_{\rm{b,d}}}\times{{\mathbf{x}}_{\rm{w}}}}\right\|}}\hfill\\ {{\mathbf{x}}_{\rm{b,d}}}={{\mathbf{y}}_{\rm{b,d}}}\times{{\mathbf{z}}_{\rm{b,d}}}\hfill\\ \end{gathered} (46)

where 𝐱w\mathbf{x}_{\rm w} is obtained by (13). By projecting the desired acceleration onto the quadcopter-body zz-axis, the collective thrust input is computed as

fz,d=m(𝐳b,dT𝐚d).f_{z,{\rm d}}=m\left(\mathbf{z}_{\rm b,d}^{\rm T}\cdot\mathbf{a}_{\rm d}\right). (47)

IV-B Attitude Controller

The attitude error is presented in the form of quaternion based on which the corresponding controller is designed:

𝐪err=𝐪d𝐪be=[qe0qe1qe2qe3]T{\mathbf{q}_{\rm err}}={\mathbf{q}_{\rm d}^{*}}\otimes{\mathbf{q_{\rm b}^{\rm e}}}={\left[q_{\rm{e}_{0}}\ \ {q_{\rm{e}_{1}}}\ \ {q_{\rm{e}_{2}}}\ \ {q_{\rm{e}_{3}}}\right]^{\rm{T}}} (48)

where 𝐪d{\mathbf{q}}_{\rm{d}} is transformed from 𝐑d\mathbf{R}_{\rm d} , ()(\cdot)^{*} is the conjugate of a quaternion, and \otimes is the quaternion product. Then, 𝐪err{\mathbf{q}}_{\rm{err}} is transformed into the axis-angle form 𝐪err=[cosϑ2𝝃eTsinϑ2]T{\mathbf{q}}_{\rm{err}}=\left[\cos\frac{\vartheta}{2}\ \ {\bm{\xi}}^{\rm T}_{\rm e}\sin\frac{\vartheta}{2}\right]^{\rm T} by

ϑ=wrapπ(2arccos(qe0))𝝃e=sign(qe0)ϑsinϑ/2[qe1qe2qe3]T.\begin{gathered}\vartheta={\rm{wrap}}_{\pi}\left({2{{\arccos}}\left(q_{\rm{e}_{0}}\right)}\right)\hfill\\ {\bm{\xi}}_{\rm{e}}={\rm{sign}}(q_{\rm{e}_{0}})\frac{\vartheta}{{\sin{\vartheta\mathord{\left/{\vphantom{\vartheta 2}}\right.\kern-1.2pt}2}}}{{\left[{q_{\rm{e}_{1}}\ \ q_{\rm{e}_{2}}\ \ q_{\rm{e}_{3}}}\right]}^{\rm{T}}}.\end{gathered} (51)

The function wrapπ(ϑ){\rm{wrap}_{\pi}}(\vartheta) constrains the ϑ\vartheta in [ππ]\left[{-\pi\ \ \pi}\right] to ensure the shortest rotation path. To eliminate the attitude error, the attitude controller is designed as

𝝎db=𝐊𝚯p𝝃e+𝝎ref{}^{\rm{b}}{{\bm{\omega}}_{\rm{d}}}={{\mathbf{K}}_{{\mathbf{\Theta}}{\rm{p}}}}{{\bm{\xi}}_{\rm e}}+{{\bm{\omega}_{\rm{ref}}}} (52)

where 𝐊𝚯p3×3{{\mathbf{K}}_{{\mathbf{\Theta}}{\rm{p}}}}\in{\mathbb{R}^{3\times 3}} is diagonal matrix acting as the control gain.

V REAL-WORLD EXPERIMENTS

In this section, we evaluate the performance of the proposed controller in outdoor scenes, including high-speed and agile circle and lemniscate trajectories.

Refer to caption
Figure 7: The box plots of the root square position error for circle trajectory tracking. The sky blue line marked with ’o’ indicates the root mean square position error.
Refer to caption
Figure 8: Estimated attitude on the circle trajectory (solid red), the desired attitude in attitude controller (dashed black), and feedforward references computed from differential flatness transform considering aerodynamic forces (solid blue).

V-A Experimental Setup

We prepared a lifting-wing quadcopter with a special installation angle for experiments, as shown in Fig. 5. The lifting wing is made of foam and connected to the quadcopter through a 3D-printing connector which controls the installation angle. The power system involves a 3300mAh, four-cell lithium polymer (LiPo) battery, EMAX RS2205 2600KV brushless DC motors with HQ5045 BN propeller, and 45A electronic speed control (ESC). A Pixhawk flight controller111https://docs.px4.io/master/en/assembly/quick_start_pixhawk4.html is rigidly attached to the center of the quadcopter frame, which has an on-board inertial measurement unit (IMU), barometer and SD card for flight data logging. A separate NEO-M8N based GPS module with a magnetometer is used to read the positioning and heading. A Benewake TFmini Lidar with a 40 m range is used for altitude estimation. A 900MHz telemetry link performs communication between the ground control station and the Pixhawk. The flight control algorithm runs on the Pixhawk at 250 Hz.

To validate our theoretical results, we present two trajectories, that is, circle and Lemniscate trajectories, and use the root mean square position error (RMSE) EpE_{p} to evaluate the trajectory tracking performance, which is defined as

Ep=1Nk=1N(𝐩ref(k)𝐩(k)){E_{p}}=\sqrt{\frac{1}{N}\sum\limits_{k=1}^{N}{\left({{{\bf{p}}_{{\rm{ref}}}}\left(k\right)-{\bf{p}}\left(k\right)}\right)}} (53)

where NN is the control cycles of the position controller required to execute a given trajectory.

Refer to caption
Figure 9: Experimental results for Lemniscate trajectory. Estimated local position on the Lemniscate trajectory considering aerodynamic forces (solid red), and without considering aerodynamic forces (solid blue) compared to the desired position (dashed black).

V-B Circle Trajectory

The circle trajectory is expressed as

𝐩ref=𝐩0+[r(1cos(0.5ωt2))rsin(0.5ωt2) 0]T.\mathbf{p}_{\rm ref}=\mathbf{p}_{0}+\left[r(1-\cos(0.5\omega t^{2}))\ r\sin(0.5\omega t^{2})\ 0\right]^{\rm T}. (54)

where 𝐩0\mathbf{p}_{0} is the local position of the vehicle when the task starts. Here, we set r=15r=15 m, ω=0.06\omega=0.06 rad/s, and when the magnitude of the reference velocity is accelerated to 1010 m/s, the system will switch to a circle trajectory with a constant speed.

We compare the position error of the lifting-wing quadcopter flying the circle trajectory described above for four conditions: (i) PID velocity controller expressed in (39) with feedforward references computed from the differential flatness transform considering aerodynamic forces (PID+DFAF), (ii) PD velocity controller with feedforward references considering aerodynamic forces (PD+DFAF), (iii) PID velocity controller with feedforward references without considering aerodynamic forces (PID+DF), and (iv) PD velocity controller with feedforward references without considering aerodynamic forces (PD+DF). We have also tried to remove the angular velocity feedforward. As a result, the aircraft deviated significantly from the trajectory when the speed is increased to about 9m/s. Therefore, this flight data is not included in the comparison.

Fig. 6 shows experimental results for tracking a circular trajectory reference on conditions (ii) and (iv). The velocity has a low-frequency sine wave, caused by the state estimator, because the update frequency of GPS is only 10Hz, which brings a considerable delay to the position estimation. The altitude tracking error is far less than that of the horizontal position, because, on the one hand, the Lidar provides higher measurement accuracy than GPS, and on the other hand, the altitude command is constant. The tracking performance statistics for four conditions are summarized in Fig. 7. From these statistics, it can be observed that the trajectory tracking performance has been improved significantly when considering aerodynamic forces and the integral can reduce tracking error, but its effect is very limited. The EpE_{p} of conditions (i) and (ii) are about half of that of (iii) and (iv). Fig. 8 shows states of the vehicle agree well with the feedforward commands, demonstrating that the simplified aerodynamic model (6) has fairly good fitting accuracy.

V-C Lemniscate Trajectory

The Lemniscate trajectory is expressed as

𝐩ref=𝐩0+[r(1cos(0.5ωt))rsin(ωt) 0]T.\mathbf{p}_{\rm ref}=\mathbf{p}_{0}+\left[r(1-\cos(0.5\omega t))\ r\sin(\omega t)\ 0\right]^{\rm T}. (55)

Here, we set r=20r=20 m, ω=0.33\omega=0.33 rad/s. Fig. 9 shows experimental results for tracking a Lemniscate of Gerono with an increasing speed from 0 m/s to 8 m/s on conditions (ii) and (iv) with the same aerodynamic coefficients in the circle trajectory. It also can be observed that the trajectory tracking performance has been improved significantly when considering aerodynamic forces, with the EpE_{p} reduced by half.

VI CONCLUSION

In this paper, we propose an effective unified control law to track agile trajectories for lifting-wing quadcopters. First, we derive the differential flatness of the lifting-wing quadcopters, which can transform the reference trajectory into the velocity, acceleration, thrust, attitude, and angular velocity commands. Then, the proposed controller combines these feedforward commands and feedback outputs to accurately track agile trajectories. The outdoor experiment results show that the proposed control law can reduce the tracking error by half.

References

  • [1] H.-T. Zhang, S. Tan, Z. Song, and Q. Quan, “Performance evaluation and design method of lifting-wing multicopters,” IEEE/ASME Trans. Mechatronics, vol. 27, no. 3, pp. 1606–1616, 2021.
  • [2] X. Lyu, J. Zhou, H. Gu, Z. Li, S. Shen, and F. Zhang, “Disturbance observer based hovering control of quadrotor tail-sitter VTOL UAVs using HH_{\infty} synthesis,” IEEE Robot. Autom. Lett., vol. 3, no. 4, pp. 2910–2917, 2018.
  • [3] K. Xiao, Y. Meng, X. Dai, H. Zhang, and Q. Quan, “A lifting wing fixed on multirotor UAVs for long flight ranges,” in Proc. Int. Conf. Unmanned Aircr. Syst., 2021, pp. 1605–1610.
  • [4] W. Zhou, B. Li, J. Sun, C.-Y. Wen, and C.-K. Chen, “Position control of a tail-sitter UAV using successive linearization based model predictive control,” Control Eng. Practice, vol. 91, pp. 104–125, 2019.
  • [5] W. Xu, H. Gu, Y. Qing, J. Lin, and F. Zhang, “Full attitude control of an efficient quadrotor tail-sitter VTOL UAV with flexible modes,” in Proc. Int. Conf. Unmanned Aircr. Syst., 2019, pp. 542–550.
  • [6] F. Zhang, X. Lyu, Y. Wang, H. Gu, and Z. Li, “Modeling and flight control simulation of a quadrotor tailsitter VTOL UAV,” in Proc. AIAA Model. Simul. Technol. Conf., 2017, p. 1561.
  • [7] Z.-H. Cheng and H.-L. Pei, “Transition analysis and practical flight control for ducted fan fixed-wing aerial robot: Level path flight mode transition,” IEEE Robot. Autom. Lett., vol. 7, no. 2, pp. 3106–3113, 2022.
  • [8] N. Raj, A. Simha, M. Kothari, R. N. Banavar, et al., “Iterative learning based feedforward control for transition of a biplane-quadrotor tailsitter UAS,” in Proc. IEEE Int. Conf. Robot. Autom., 2020, pp. 321–327.
  • [9] W. Xu and F. Zhang, “Learning Pugachev’s cobra maneuver for tail-sitter UAVs using acceleration model,” IEEE Robot. Autom. Lett., vol. 5, no. 2, pp. 3452–3459, 2020.
  • [10] J. Zhou, X. Lyu, Z. Li, S. Shen, and F. Zhang, “A unified control method for quadrotor tail-sitter UAVs in all flight modes: Hover, transition, and level flight,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2017, pp. 4835–4841.
  • [11] J. Zhou, H. Xu, Z. Li, S. Shen, and F. Zhang, “Control of a tail-sitter VTOL UAV based on recurrent neural networks,” arXiv preprint arXiv:2104.02108, 2021.
  • [12] M. Fliess, J. Lévine, P. Martin, and P. Rouchon, “Flatness and defect of non-linear systems: introductory theory and examples,” Int. J. Control, vol. 61, no. 6, pp. 1327–1361, 1995.
  • [13] M. Faessler, A. Franchi, and D. Scaramuzza, “Differential flatness of quadrotor dynamics subject to rotor drag for accurate tracking of high-speed trajectories,” IEEE Robot. Autom. Lett., vol. 3, no. 2, pp. 620–626, 2017.
  • [14] M. W. Mueller, M. Hehn, and R. D’Andrea, “A computationally efficient motion primitive for quadrocopter trajectory generation,” IEEE Trans. Robot., vol. 31, no. 6, pp. 1294–1310, 2015.
  • [15] J. Hauser and R. Hindman, “Aggressive flight maneuvers,” in Proc. IEEE Conf. Decision Control, vol. 5, 1997, pp. 4186–4191.
  • [16] E. A. Tal and S. Karaman, “Global trajectory-tracking control for a tailsitter flying wing in agile uncoordinated flight,” in AIAA Aviat. Aeronaut. Forum Expos., 2021, p. 3214.
  • [17] Q. Quan, Introduction to Multicopter Design and Control.   Springer, Singapore, 2017.
  • [18] D. Pucci, T. Hamel, P. Morin, and C. Samson, “Nonlinear control of PVTOL vehicles subjected to drag and lift,” in Proc. IEEE Conf. Decision Control, 2011, pp. 6177–6183.
  • [19] L. R. Lustosa, F. Defaÿ, and J.-M. Moschetta, “Global singularity-free aerodynamic model for algorithmic flight control of tail sitters,” J. Guid. Control Dyn., vol. 42, no. 2, pp. 303–316, 2019.
  • [20] B. Theys, G. De Vos, and J. De Schutter, “A control approach for transitioning VTOL UAVs with continuously varying transition angle and controlled by differential thrust,” in Proc. Int. Conf. Unmanned Aircr. Syst., 2016, pp. 118–125.
  • [21] A. S. Saeed, A. B. Younes, S. Islam, J. Dias, L. Seneviratne, and G. Cai, “A review on the platform design, dynamic modeling and control of hybrid UAVs,” in Proc. Int. Conf. Unmanned Aircr. Syst., 2015, pp. 806–815.