udaan.core package¶
Submodules¶
Module contents¶
Core types, protocols, and exceptions for Udaan.
- exception udaan.core.ConfigurationError[source]
Bases:
UdaanErrorRaised when configuration parameters are invalid.
Examples
Negative mass
Non-symmetric inertia matrix
Invalid control gains
- exception udaan.core.ControllerNotInitializedError[source]
Bases:
UdaanErrorRaised 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:
EnumForce 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:
EnumInput 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:
UdaanErrorRaised when an error occurs during simulation execution.
Examples
Physics engine failure
Invalid state reached
Timeout exceeded
- exception udaan.core.SingularityError[source]
Bases:
UdaanErrorRaised 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]