udaan.models.base package

Submodules

Module contents

class udaan.models.base.BaseModel[source]

Bases: object

__init__(**kwargs)[source]
get_action_size()[source]
get_state_size()[source]
reset()[source]
simulate(**kwargs)[source]
step(action)[source]
class udaan.models.base.FloatingPointmass[source]

Bases: BaseModel

Floating point-mass model: a 3D point mass subject to gravity and an external force input.

State: position (3), velocity (3) -> n_state=6, n_action=3

class State[source]

Bases: object

__init__()[source]
reset()[source]
__init__(**kwargs)[source]
get_rand_init_state(rand=True)[source]
reset(**kwargs)[source]
step(action)[source]
class udaan.models.base.MultiPointmassSuspendedPayload[source]

Bases: BaseModel

Multiple pointmass quadrotors carrying a single point-mass payload.

State: payload_position (3), payload_velocity (3),

cable_attitudes (3, nQ), cable_ang_velocities (3, nQ)

-> n_state = 6 + 6*nQ, n_action = 3*nQ

class State[source]

Bases: object

__init__(nQ)[source]
reset()[source]
__init__(**kwargs)[source]
get_rand_init_state(rand=False)[source]
reset(**kwargs)[source]
step(action)[source]

Step the dynamics forward by sim_timestep.

Parameters:

action – (3, nQ) force matrix or (3*nQ,) flat vector.

class udaan.models.base.PointmassSuspendedPayload[source]

Bases: BaseModel

Single pointmass quadrotor with cable-suspended payload.

State: payload_position (3), payload_velocity (3),

cable_attitude (3, S2), cable_ang_velocity (3)

-> n_state=12, n_action=3

class State[source]

Bases: object

__init__()[source]
property cable_dq
property quadrotor_position
property quadrotor_velocity
reset()[source]
__init__(**kwargs)[source]
static err_om(omd, om, q)[source]
static err_q(qd, q)[source]
get_rand_init_state(rand=False)[source]
property quadrotor_position
property quadrotor_velocity
reset(**kwargs)[source]
step(action)[source]
class udaan.models.base.S2Pendulum[source]

Bases: BaseModel

Pendulum model with attitude on S2.

State: attitude (S2 unit vector, 3), angular_velocity (3) -> n_state=6, n_action=3

class State[source]

Bases: object

__init__()[source]
reset()[source]
__init__(**kwargs)[source]
get_rand_init_state(rand=True)[source]
reset(**kwargs)[source]
step(action)[source]