udaan.core package

Submodules

Module contents

Core types, protocols, and exceptions for Udaan.

exception udaan.core.ConfigurationError[source]

Bases: UdaanError

Raised when configuration parameters are invalid.

Examples

  • Negative mass

  • Non-symmetric inertia matrix

  • Invalid control gains

exception udaan.core.ControllerNotInitializedError[source]

Bases: UdaanError

Raised when a controller is used before proper initialization.

Some controllers (like L1 adaptive) require an initialization step before they can compute control outputs.

class udaan.core.ForceType[source]

Bases: Enum

Force application type on quadrotor body.

Defines how forces are applied to the physics simulation.

WRENCH

Apply net force and torque at center of mass

PROP_FORCES

Apply individual forces at propeller locations

PROP_FORCES = 2
WRENCH = 1
class udaan.core.InputType[source]

Bases: Enum

Input command type for quadrotor control.

Defines what type of command the controller generates.

WRENCH

Force and torque vector [thrust, tau_x, tau_y, tau_z]

PROP_FORCES

Individual propeller forces [f1, f2, f3, f4]

ACCELERATION

Desired acceleration command [ax, ay, az]

ACCELERATION = 3
PROP_FORCES = 2
WRENCH = 1
exception udaan.core.SimulationError[source]

Bases: UdaanError

Raised when an error occurs during simulation execution.

Examples

  • Physics engine failure

  • Invalid state reached

  • Timeout exceeded

exception udaan.core.SingularityError[source]

Bases: UdaanError

Raised when a numerical singularity is encountered.

This typically occurs in geometric computations when:
  • Normalizing a near-zero vector

  • Computing logarithm at 180-degree rotation

  • Dividing by near-zero thrust

operation

Name of the operation that encountered the singularity.

value

The problematic value that caused the singularity.

__init__(operation, value)[source]
exception udaan.core.UdaanError[source]

Bases: Exception

Base exception for all Udaan library errors.

Catch this to handle any Udaan-specific exception.