jaxdem.rl.environments.swarm_stacking_3d#

Multi-agent 3-D swarm stacking environment with periodic boundaries.

Classes

SwarmStacking3D(state, system, env_params, ...)

Multi-agent 3-D stacking environment with periodic boundaries.

class jaxdem.rl.environments.swarm_stacking_3d.SwarmStacking3D(state: State, system: System, env_params: dict[str, Any], n_lidar_rays: int, n_lidar_elevation: int)#

Bases: Environment

Multi-agent 3-D stacking environment with periodic boundaries.

n_lidar_rays: int#

Number of azimuthal bins for the 3-D LiDAR sensor.

n_lidar_elevation: int#

Number of elevation bins for the 3-D LiDAR sensor.

classmethod Create(N: int = 16, min_box_size: float = 20.0, max_box_size: float = 20.0, box_padding: float = 20.0, max_steps: int = 5760, friction: float = 0.2, lidar_range: float = 10.0, n_lidar_rays: int = 8, n_lidar_elevation: int = 8, magnet_strength: float = 40.0, magnet_range: float = 2.4, ke_weight: float = 0.1, coop_weight: float = 0.2, near_goal_bonus: float = 0.1) SwarmStacking3D[source]#

Create a swarm stacking 3-D environment.

static reset(env: SwarmStacking3D, key: Array | ndarray | bool | number | bool | int | float | complex) Environment[source]#
static step(env: SwarmStacking3D, action: Array) Environment[source]#
static observation(env: SwarmStacking3D) Array[source]#
static reward(env: SwarmStacking3D) Array[source]#
static done(env: SwarmStacking3D) Array[source]#
property action_space_size: int[source]#

Flattened action size per agent. Actions passed to step() have shape (A, action_space_size).

property action_space_shape: tuple[int][source]#

Original per-agent action shape (useful for reshaping inside the environment).

property observation_space_size: int[source]#

Flattened observation size per agent. observation() returns shape (A, observation_space_size).