jaxdem.rl.environments.swarm_roller_3d#
Multi-agent 3-D swarm rolling environment with magnetic interaction and pyramid objectives.
Classes
|
Multi-agent 3-D rolling environment with magnetic interaction and pyramid objectives. |
- class jaxdem.rl.environments.swarm_roller_3d.SwarmRoller3D(state: State, system: System, env_params: dict[str, Any], n_lidar_rays: int, n_lidar_elevation: int)#
Bases:
EnvironmentMulti-agent 3-D rolling environment with magnetic interaction and pyramid objectives.
- 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 = 5, min_box_size: float = 10.0, max_box_size: float = 10.0, box_padding: float = 0.0, max_steps: int = 100000, friction: float = 0.2, lidar_range: float = 10.0, n_lidar_rays: int = 8, n_lidar_elevation: int = 8, magnet_strength: float = 4.0, magnet_range: float = 3.0, ke_weight: float = 0.1, coop_weight: float = 0.2, near_goal_bonus: float = 0.1) SwarmRoller3D[source]#
Create a swarm roller 3-D environment.
- static reset(env: SwarmRoller3D, key: Array | ndarray | bool | number | bool | int | float | complex) Environment[source]#
Reset the environment to a random initial configuration.
- static step(env: SwarmRoller3D, action: Array) Environment[source]#
Advance the environment by one physics step.
- static observation(env: SwarmRoller3D) Array[source]#
Build per-agent observations.
- static reward(env: SwarmRoller3D) Array[source]#
Return per-agent rewards.
- static done(env: SwarmRoller3D) Array[source]#
Return
Truewhen the episode has exceededmax_steps.