udaan.utils package

Subpackages

Submodules

Module contents

Utility functions and classes for Udaan.

class udaan.utils.Flat2State[source]

Bases: object

Differential flatness maps for quadrotor and quadrotor-payload systems.

static compute_moment(axQ, daxQ, d2axQ, mQ=0.85, J=None, Tp=array([0., 0., 0.]), dTp=array([0., 0., 0.]), d2Tp=array([0., 0., 0.]))[source]
static compute_q_vectors(aL, daL, d2aL, d3aL, d4aL, mQ=0.85, mL=0.05)[source]
static quadrotor(traj, mQ=0.85, J=None)[source]
static quadrotor_payload(traj, mQ=0.85, mL=0.1, cable_len=1, J=None)[source]
class udaan.utils.LoggerMixin[source]

Bases: object

Mixin class providing logging capabilities to classes.

Inherit from this mixin to get a _logger property that returns a logger named after the class.

Example

>>> class MyController(LoggerMixin):
...     def compute(self):
...         self._logger.debug("Computing...")
udaan.utils.get_logger(name)[source]

Get a logger for the given module name.

Parameters:

name (str) – Module name, typically __name__.

Return type:

Logger

Returns:

Logger instance under the udaan namespace.

Example

>>> logger = get_logger(__name__)
>>> logger.info("Message")
udaan.utils.setup_logging(level=20, format_string=None, stream=None, color=None)[source]

Configure logging for interactive use.

Call this function to enable logging output from Udaan. By default, the library produces no output (NullHandler).

Parameters:
  • level (int) – Logging level (default: INFO).

  • format_string (str | None) – Custom format string. If None, uses default format.

  • stream (Any) – Output stream (default: sys.stdout).

  • color (bool | None) – Enable colored output. None = auto-detect from terminal.

Return type:

None

Example

>>> import logging
>>> from udaan.utils.logging import setup_logging
>>> setup_logging()  # Enable INFO level with colors
>>> setup_logging(level=logging.DEBUG)  # Enable debug