udaan.control.quadrotor.geometric_l1_attitude module

Geometric L1 adaptive attitude controller on SO(3).

Kotaru, Edmonson, Sreenath (2020) https://doi.org/10.1115/1.4045558

class udaan.control.quadrotor.geometric_l1_attitude.AttitudeState[source]

Bases: object

Internal attitude state for reference model tracking.

Omega: TSO3
R: SO3
__init__(R=<factory>, Omega=<factory>, last_M=<factory>, last_t=0.0)
last_M: ndarray
last_t: float = 0.0
class udaan.control.quadrotor.geometric_l1_attitude.GeometricL1AttitudeController[source]

Bases: GeometricAttitudeController

Geometric L1 adaptive attitude control on SO(3).

Extends GeometricAttitudeController with L1 adaptive disturbance rejection for unmodeled torque disturbances.

From: Kotaru, Edmonson, Sreenath (2020) https://doi.org/10.1115/1.4045558

__init__(**kwargs)[source]
compute(t, state, thrust_force, desired_att=None)[source]

Compute thrust and torque with L1 adaptive disturbance rejection.

Parameters:
Return type:

tuple[float, ndarray[tuple[Any, ...], dtype[floating]]]

Returns:

(f, M) — scalar thrust and 3D torque vector.

reset()[source]

Reset adaptation state for a new simulation.

Return type:

None