udaan.models.mujoco.multi_quad_rigidbody module

class udaan.models.mujoco.multi_quad_rigidbody.MultiQuadRigidbody[source]

Bases: BaseModel

Multi-quadrotor rigid-body payload MuJoCo model.

4 quadrotors carrying a rigid-body payload connected via cables. Outer loop: position-level thrust vectors (3 per quad). Inner loop: geometric attitude controller converts to wrench.

class State[source]

Bases: object

class CableState[source]

Bases: object

__init__(**kwargs)[source]
reset()[source]
class Odometry[source]

Bases: object

__init__(**kwargs)[source]
reset()[source]
__init__(nQ, **kwargs)[source]
reset()[source]
__init__(**kwargs)[source]
compute_attitude_control(i, thrust_force)[source]

Geometric attitude controller for quadrotor i.

Parameters:
  • i – quadrotor index

  • thrust_force – (3,) desired thrust vector in world frame

Returns:

(4,) [thrust_scalar, Mx, My, Mz] wrench

quad_position_control()[source]

Basic PD hover controller for each quadrotor.

reset(**kwargs)[source]
simulate(tf, **kwargs)[source]
step(action)[source]

Step with position-level thrust vectors (3*nQ).

Parameters:

action – (3*nQ,) thrust force vector per quadrotor.