udaan.flatness.quadrotor module¶
Differential flatness for the single rigid-body quadrotor.
Flat output:
y = (x_Q, ψ)
where x_Q ∈ R^3 is the centre-of-mass position and ψ ∈ R is the yaw angle.
Derivative orders required:
x_Q through snap (x, ẋ, ẍ, x⁽³⁾, x⁽⁴⁾)
ψ through ψ̈
The map recovers the full state (x_Q, v_Q, R, Ω) plus the feedforward thrust and moment (f, M).
Flat outputs are carried as Jet bundles — x is a dim-3 jet
of order ≥ 4 (through snap); psi is a scalar jet of order ≥ 2.
- Reference:
D. Mellinger and V. Kumar, “Minimum Snap Trajectory Generation and Control for Quadrotors”, ICRA 2011.
- class udaan.flatness.quadrotor.Quadrotor[source]¶
Bases:
Flat2StateDifferential-flatness recovery for the single rigid-body quadrotor.
- Flats¶
alias of
QuadrotorFlats
- Inputs¶
alias of
QuadrotorInputs
- RefState¶
alias of
QuadrotorRefState
- classmethod from_model(model)[source]¶
Build from a
udaan.models.quadrotor.QuadrotorBase-like model.- Return type:
- class udaan.flatness.quadrotor.QuadrotorFlats[source]¶
Bases:
objectFlat output of a rigid-body quadrotor: position jet (order ≥ 4) and yaw-angle jet (order ≥ 2).
- x¶
dim-3
Jetof the centre-of-mass position, with derivatives through snap (order ≥ 4).
- psi¶
scalar
Jetof the yaw angle, with derivatives through yaw acceleration (order ≥ 2).
- __init__(x, psi)¶
- class udaan.flatness.quadrotor.QuadrotorInputs[source]¶
Bases:
objectFeedforward inputs recovered from the flat output.
- __init__(thrust=0.0, moment=<factory>)¶
- class udaan.flatness.quadrotor.QuadrotorRefState[source]¶
Bases:
objectRecovered kinematic reference state for a quadrotor.
The first four fields mirror
udaan.models.quadrotor.base.QuadrotorState;accelerationandangular_accelerationare extras that the flatness map also makes available.- __init__(position=<factory>, velocity=<factory>, acceleration=<factory>, orientation=<factory>, angular_velocity=<factory>, angular_acceleration=<factory>)¶