Source-linked AI summary

Differential Flatness of Quadrotor Dynamics Subject to Rotor Drag for Accurate Tracking of High-Speed Trajectories

Matthias Faessler, Antonio Franchi, Davide Scaramuzza

arXiv:1712.02402v3cs.RO

TL;DR

High-speed quadrotor tracking loses accuracy when rotor drag is neglected, limiting accurate tracking of previously unknown trajectories. The paper proves differential flatness under linear rotor drag, derives feed-forward terms and a cascaded controller, and reports a 50% reduction in root mean squared tracking error across circle and lemniscate trajectories.

  • Problem

    Neglecting rotor drag reduces quadrotor trajectory-tracking accuracy as speed increases, while accurate tracking of previously unknown trajectories is needed for fast obstacle avoidance.

  • Method

    The paper proves differential flatness in position and heading, computes reference-trajectory feed-forward terms, and incorporates them into a cascaded nonlinear controller with identified drag coefficients.

  • Results

    50% reduction in root mean squared tracking error was achieved independently of the executed trajectory, with improvements from speeds of 0.5 m s−1 onwards.

  • Takeaways & Limitations

    Considering rotor drag improves tracking across independently evaluated circle and lemniscate trajectories and applies to any feasible trajectory once drag coefficients are identified.

Abstract

from arXiv · show

In this paper, we prove that the dynamical model of a quadrotor subject to linear rotor drag effects is differentially flat in its position and heading. We use this property to compute feed-forward control terms directly from a reference trajectory to be tracked. The obtained feed-forward terms are then used in a cascaded, nonlinear feedback control law that enables accurate agile flight with quadrotors. Compared to state-of-the-art control methods, which treat the rotor drag as an unknown disturbance, our method reduces the trajectory tracking error significantly. Finally, we present a method based on a gradient-free optimization to identify the rotor drag coefficients, which are required to compute the feed-forward control terms. The new theoretical results are thoroughly validated trough extensive comparative experiments.

I. INTRODUCTION … III. MODEL

The paper models rotor drag as a key source of high-speed tracking error and establishes differential flatness in position and heading to derive feed-forward control. It validates a cascaded nonlinear controller and identifies required drag coefficients experimentally.

  • A. Motivation: Rotor drag becomes important away from hover, and treating it as an unknown disturbance progressively reduces trajectory tracking accuracy as speed increases.The paper identifies rotor drag as the main aerodynamic effect causing high-speed tracking errors.
  • A. Motivation: The rotor-drag quadrotor model is differentially flat with position and heading as flat outputs.This property enables control quantities to be computed directly from a reference trajectory.
  • A. Motivation: Feed-forward terms from the reference trajectory are integrated into a cascaded nonlinear feedback law for accurate agile flight on a priori unknown trajectories.The method also uses gradient-free optimization to identify rotor-drag coefficients required by the feed-forward computation.
  • B. Related Work: Earlier work established differential flatness without rotor drag and achieved agile maneuvers at speeds of several meters per second.That prior controller computed desired collective thrust and torque from measured position, velocity, orientation, and body-rate errors.
  • B. Related Work: Rotor drag originates from blade flapping and induced rotor drag and is commonly represented as a linear effect using lumped parameters.The paper adopts lumped parameters because the main aerodynamic effects have similar mathematical form.
  • II. NOMENCLATURE: The formulation uses world and body frames, with position p, velocity v, orientation R, and body rates ω describing the quadrotor state.The body frame is fixed to the quadrotor center of mass, while gravity acts in the −zW direction.
  • III. MODEL: The model assumes no wind, stiff propellers, and rotor drag independent of thrust, with drag represented by D = diag (dx, dy, dz).It includes collective thrust, torque, gyroscopic torques, and constant matrices A and B; a quadratic horizontal velocity term also contributes an input disturbance.

IV. DIFFERENTIAL FLATNESS

The extended quadrotor model with linear rotor drag is differentially flat with position and heading as flat outputs. Its states, inputs, body rates, angular accelerations, and torques can be algebraically recovered from these outputs and finitely many derivatives.

  • Flatness result: The four-input quadrotor model subject to rotor drag is differentially flat, with position p and heading ψ selected as flat outputs.The states [p, v, R, ω] and inputs [c_cmd, τ] are algebraic functions of these outputs and a finite number of derivatives.
  • Flatness construction: The orientation R is constructed from rotor-drag-dependent constraints, heading alignment, and orthonormal body-axis conditions.The x_B-axis projection is constrained to align with the commanded heading, while the body axes remain unit length and mutually perpendicular.
  • Flatness construction: The collective thrust c is computed from the flat outputs, orientation R, and the reformulated translational dynamics.The thrust is obtained by projecting the translational equation along z_B.
  • Flatness construction: Body rates ω are obtained by solving a linear system, angular accelerations follow from differentiated constraints, and torque inputs τ are then recovered from the rotational dynamics.The linear system for ω uses equations (17), (18), and (25); differentiating them yields the corresponding system for angular accelerations.
  • Scope: The flatness proof also applies to multi-rotor vehicles with parallel rotor axes.The authors refer to a technical report for additional proof details.

V. CONTROL LAW

The control law combines tracking-error feedback with differential-flatness-based feed-forward terms from the reference trajectory. It computes desired acceleration, orientation, thrust, body rates, and angular accelerations for cascaded low-level control.

  • Control architecture: The controller combines feedback terms from tracking errors with feed-forward terms computed from the reference trajectory using differential flatness.Typical quadrotor architectures accept desired body rates rather than direct torque inputs, motivating the controller design.
  • Position control: The position controller computes desired body acceleration by combining PD feedback terms with reference accelerations due to rotor drag.The feedback terms depend on position and velocity errors through constant diagonal matrices Kpos and Kvel.
  • Position control: The controller computes desired orientation to respect the desired acceleration and reference heading, then obtains collective thrust by projecting acceleration onto the actual body z-axis.The thrust input is computed using the quadrotor thrust model.
  • Attitude control: Desired body rates combine attitude-feedback terms with reference-trajectory feed-forward terms, while desired angular accelerations are taken from the reference angular accelerations.Both feed-forward quantities are computed as described in Section IV.

VI. DRAG COEFFICIENTS ESTIMATION … C. Drag Coefficients Identification

The paper identifies rotor-drag coefficients through gradient-free optimization using trajectory tracking error, then evaluates the method on agile circle and lemniscate flights. The results show trajectory-dependent estimates, motivating careful identification-trajectory selection because the model assumes thrust-independent rotor drag.

  • VI. DRAG COEFFICIENTS ESTIMATION: The controller requires identifying D and kh, while A and B are additionally needed only for platforms accepting torque inputs.The experimental platform uses [ccmd, ω], so A and B are not identified.
  • VI. DRAG COEFFICIENTS ESTIMATION: The gradient-free optimization varies drag coefficients during control, minimizes absolute trajectory tracking error, and converges when coefficient changes fall below a threshold.The resulting coefficients are those that reduce trajectory tracking error most; D also agrees with an IMU- and ground-truth-velocity-based estimate, without requiring IMU or rotor-speed measurements.
  • A. Experimental Setup: The experimental quadrotor is a 610 g off-the-shelf racing platform with a thrust-to-weight ratio of 4 and battery-voltage compensation.Its hardware includes a carbon frame, six-inch propellers, a Raceflight Revolt flight controller, an Odroid XU4, and a Laird RM024 radio module.
  • A. Experimental Setup: Absolute trajectory tracking error is defined as the root mean square position error over N high-level-controller cycles required to execute a trajectory.This metric is used both to evaluate tracking performance and as the drag-coefficient estimation cost.
  • B. Trajectories: The experiments use horizontal circle and Gerono lemniscate trajectories, each reaching a maximum velocity of 4 m s−1.The circle has a radius of 1.8 m; the lemniscate reaches maximum collective mass-normalized thrust c = 12.98 m s−2 and maximum body-rates norm ∥ω∥= 136 ◦s−1.
  • C. Drag Coefficients Identification: On the circle trajectory, the identified coefficients are dx = 0.544 s−1 and dy = 0.386 s−1, whereas the lemniscate yields dx = 0.491 s−1 and dy = 0.236 s−1.For both trajectories, dx exceeds dy, consistent with the quadrotor being wider than long.
  • C. Drag Coefficients Identification: At 2.8 m s−1 on the circle, identification gives dx = 0.425 s−1 and dy = 0.256 s−1, close to the lemniscate estimates.This supports the explanation that different trajectories produce different estimates because they excite xB and yB velocities differently.
  • C. Drag Coefficients Identification: Different estimates also arise because the model assumes rotor drag is independent of thrust, unlike reality; therefore, identification trajectories must be selected carefully.The circle excites xB and yB velocities more than the lemniscate, while different trajectories apply different thrusts.

D. Trajectory Tracking Performance · VIII. COMPARISON TO OTHER CONTROL METHODS · IX. CONCLUSION

The proposed drag-aware controller uses differential flatness to compute feed-forward terms and improves quadrotor tracking, especially as speed increases. Comparisons highlight its broader modeling and feed-forward treatment, while the thrust-independent drag assumption remains a limitation.

  • D. Trajectory Tracking Performance: Tracking experiments compare no drag compensation with drag coefficients estimated on either the circle or lemniscate trajectory.The comparison is performed for both trajectory types over ten loops.
  • D. Trajectory Tracking Performance: Considering rotor drag significantly improves trajectory tracking on both trajectories, independently of which trajectory provided the coefficient estimates.Table I summarizes maximum and standard-deviation position errors and absolute trajectory tracking error over ten loops.
  • D. Trajectory Tracking Performance: Tracking benefits emerge primarily at higher speeds: experiments ramp the reference speed from 0 m s−1 to 5 m s−1 in 30 s.At small speeds, the figures show no improvement from considering rotor drag.
  • D. Trajectory Tracking Performance: The remaining error correlates strongly with collective thrust because the model assumes rotor drag is independent of thrust, contrary to reality.In the circle experiment, commanded mass-normalized collective thrust varies between 10 m s−2 and 18 m s−2, violating the constant-thrust assumption.
  • VIII. COMPARISON TO OTHER CONTROL METHODS: Compared with controllers in , the proposed method uniquely exploits differential flatness and includes asymmetric vehicles plus ωz and ˙ωz computation.The cited controllers do not show or exploit differential flatness under rotor drag and omit these capabilities.
  • VIII. COMPARISON TO OTHER CONTROL METHODS: Prior methods omit some feed-forward terms: and neglect angular-acceleration feed-forward, omits body-rate and angular-acceleration feed-forward, and neglects trajectory snap.These omissions prevent perfect trajectory tracking in the cited approaches.
  • IX. CONCLUSION: The paper proves differential flatness under linear rotor drag and uses it to compute algebraic feed-forward control terms from a reference trajectory.The resulting policy compensates for rotor drag and improves tracking from 0.5 m s−1 onwards, reducing root mean squared tracking error by 50 % independently of trajectory.

arXiv:1712.02402v3 [cs.RO] 28 Mar 2018

This technical report details the proof of differential flatness for quadrotor dynamics with rotor drag, addresses singularities related to free fall, and explains incorrectnesses in an earlier no-drag proof.

  • Proof of differential flatness: The report provides detailed intermediate steps for proving differential flatness of quadrotor dynamics subject to rotor drag effects.It presents the proof from the referenced work in expanded form.
  • Singularity handling: It explains how singularities arising for states related to quadrotor free fall are handled.These singularities result from the mathematics of the differential-flatness proof.
  • Comparison with no-drag dynamics: The report identifies incorrectnesses in the proof of differential flatness for quadrotor dynamics without rotor drag.The discussion addresses potential confusion when comparing the drag and no-drag results.

How to Cite this Work

The technical report accompanies an IEEE Robotics and Automation Letters paper and provides its recommended citation. The citation identifies the authors, title, publication details, and DOI.

  • Recommended reference: The report accompanies an IEEE Robotics and Automation Letters paper that should be cited when referencing this work.The report explicitly directs readers to cite the accompanying paper.
  • Bibliographic details: The paper was authored by Matthias Faessler, Antonio Franchi, and Davide Scaramuzza.The BibTeX entry lists all three authors.
  • Bibliographic details: The paper appeared in IEEE Robot. Autom. Lett. in 2018, volume 3, number 2, pages 620--626, with DOI 10.1109/LRA.2017.2776353.The citation entry also specifies the April publication month and ISSN 2377-3766.

1 Math Basics

This section establishes the quadrotor’s world and body frames, notation for motion and angular rates, and the coordinate-frame derivative rules used in later derivations. It also highlights that distinguishing world- and body-coordinate derivatives is essential to avoid errors.

  • Frames and notation: The quadrotor is described using orthonormal world and body frames, with position defined at the center of mass and gravity acting in the negative zW direction.The body frame is fixed to the quadrotor and represented in world coordinates.
  • Frames and notation: Angular velocity is represented as body rates, and its skew-symmetric matrix provides cross-product identities used in the derivations.The matrix relation connects −ω × b with b × ω for an arbitrary vector b.
  • Coordinate-frame derivatives: A rotation RWB relates a vector’s world representation to its body representation, enabling derivatives to be transformed between coordinate frames.The section introduces explicit subscripts to identify both the variable and its representing coordinates.
  • Coordinate-frame derivatives: The world-coordinate derivative equals the rotated body-coordinate derivative plus a rotational term involving the body angular velocity.The stated relation is W ˙(b) = RWB · B ˙b + RWB · BˆωWB · Bb.
  • Coordinate-frame derivatives: Because body-frame basis vectors are constant in body coordinates, their world derivatives arise from angular velocity, and notation is simplified thereafter.The paper notes that confusing world- and body-coordinate derivatives caused mistakes in prior work.

2 Dynamical Model

The section defines a quadrotor dynamical model with linear rotor drag under no-wind, stiff-propeller assumptions and specifies its thrust model and disturbance terms. It presents the model as a generalization of the conventional formulation that neglects rotor drag.

  • Model assumptions: The model assumes no wind, stiff propellers, and rotor drag independent of thrust while describing position, velocity, orientation, and body-rate dynamics.These assumptions define the operating conditions for the adopted quadrotor dynamics.
  • Model parameters: Rotor drag is represented by the constant diagonal matrix D = diag (dx, dy, dz) of mass-normalized drag coefficients.The formulation also includes mass-normalized collective thrust, angular-rate terms, inertia, torque inputs, gyroscopic torques, and constant matrices A and B.
  • Thrust model: The adopted thrust model adds a quadratic velocity-dependent disturbance khv2 h to the commanded collective thrust input ccmd.Here, vh = v⊤(xB + yB), and kh is constant.
  • Thrust model: The model lumps the additional linear zB-direction velocity disturbance into dz by neglecting its dependence on rotor speeds.This modeling choice incorporates the extra thrust-model effect directly into the rotor-drag representation.
  • Relation to the common model: Unlike the common model, this formulation retains linear rotor-drag components instead of treating D, A, and B as null matrices.The paper characterizes the proposed dynamics as a generalization of the conventional quadrotor model.

3 Proof of Differential Flatness

The paper proves that the quadrotor model with linear rotor drag is differentially flat, using position and heading as flat outputs. All states and inputs are recovered algebraically from these outputs and finitely many derivatives.

  • Flatness result: The extended four-input quadrotor model with rotor drag is differentially flat in position p and heading ψ.The states [p, v, R, ω] and inputs [c_cmd, τ] are algebraic functions of these outputs and finitely many derivatives.
  • Orientation and thrust reconstruction: The orientation R and collective thrust c are constructed from flat outputs by reformulating the translational dynamics and enforcing orthonormality and heading constraints.The x_B projection is constrained to align with the commanded heading direction, yielding an orthonormal body frame and thrust computation.
  • Body-rate reconstruction: Body rates ω are obtained from derivatives of the orientation-related constraints and a linear system involving the flat outputs and their derivatives.The derivation differentiates the orientation constraints and combines equations (44), (45), and (62).
  • Angular-acceleration and torque reconstruction: Angular accelerations ˙ω are similarly recovered by differentiating the preceding constraints, computing thrust derivatives, and solving a linear system.The torque inputs are then computed from the rotational dynamics model (20).

4 Special Cases

This section gives practical workarounds for singular or ambiguous cases in the orientation and body-rate calculations. Most workarounds assume these cases occur only briefly, since some remedies can cause orientation jumps.

  • Practical workarounds: The proposed workarounds are intended for special cases that occur for very short durations, because some remedies may otherwise produce jumps in desired orientation.The section frames these procedures as practical handling strategies rather than generally valid formulas.
  • Orientation ambiguities: When yC × α = 0, xB is ambiguous; project the estimated body x-axis into the xC −zC plane and normalize it.The ambiguity occurs when yC aligns with α or α = 0; any xB perpendicular to yC satisfies the constraint.
  • Orientation ambiguities: When β × xB = 0, yB is ambiguous; compute it from zB,est × xB and normalize it, setting yB = yC if the norm is zero.This case occurs when xB aligns with β or β = 0, and the fallback may cause orientation jumps.
  • Inverted flight: For Wα < 0, the computed xB remains collinear with xC but reverses the reference heading by 180◦ during inverted flight.Changing the sign of xB to enforce the reference heading can cause an orientation jump, which cannot generally be prevented for any trajectory.
  • Body-rate singularities: When A2 = 0 or (B1C3 − B3C1) = 0, body rates and angular accelerations become undefined; for ballistic trajectories, set ω = 0 and ˙ω = 0.The singularity arises because the denominators in the body-rate and angular-acceleration solutions can become zero.

A Incorrectnesses in Original Differential Flatness Derivation

The paper identifies two coordinate-frame and angular-rate errors in the prior differential-flatness derivation. Although happens to yield correct roll and pitch rates, its later angular-acceleration and third-body-rate computations are incorrect.

  • First incorrectness: The first error confuses world- and body-coordinate representations when differentiating zB in equation (3).Because zB is represented in world coordinates, its derivative is Rω̂ez rather than the body-coordinate expression used in.
  • First incorrectness: The incorrect derivative nevertheless produces correct roll and pitch rates because the relevant vector projections onto xB and yB are equal.The paper notes that the discrepancy affects subsequent angular-acceleration calculations, which are computed incorrectly in.
  • Second incorrectness: The second error assumes ωBC·zB = 0 when computing the third component r of the body rates, although this is generally false.The assumption follows from decomposing ωBW = ωBC + ωCW and incorrectly treating ωBC as having no zB component.
  • Second incorrectness: The angular-rate decomposition requires all vectors in the same coordinate frame, and the correct body-rate computation additionally requires the third constraint in equation (47).The expression ωCW = ψ̇zW is valid only when ωCW is expressed in world coordinates, unlike the body-rate representation used in the derivation.
Loading 1712.02402v3…