mjlab.scene#

Scene management.

Classes:

Scene

SceneCfg

SceneCfg(*, num_envs: int = 1, env_spacing: float = 2.0, terrain: mjlab.terrains.terrain_importer.TerrainImporterCfg | None = None, entities: dict[str, mjlab.entity.entity.EntityCfg] = <factory>, sensors: tuple[mjlab.sensor.sensor.SensorCfg, ...] = <factory>, extent: float | None = None, spec_fn: Optional[Callable[[mujoco._specs.MjSpec], NoneType]] = None)

class mjlab.scene.Scene[source]#

Bases: object

Methods:

__init__(scene_cfg, device)

compile()

to_zip(path)

Export the scene to a zip file.

initialize(mj_model, model, data)

reset([env_ids])

update(dt)

write_data_to_sim()

Attributes:

__init__(scene_cfg: SceneCfg, device: str) None[source]#
compile() MjModel[source]#
to_zip(path: Path) None[source]#

Export the scene to a zip file.

Warning: The generated zip may require manual adjustment of asset paths to be reloadable. Specifically, you may need to add assetdir=”assets” to the compiler directive in the XML.

Parameters:

path – Output path for the zip file.

TODO: Verify if this is fixed in future MuJoCo releases.

property spec: MjSpec#
property env_origins: Tensor#
property env_spacing: float#
property entities: dict[str, Entity]#
property sensors: dict[str, Sensor]#
property terrain: TerrainImporter | None#
property num_envs: int#
property device: str#
initialize(mj_model: MjModel, model: mujoco_warp.Model, data: mujoco_warp.Data)[source]#
reset(env_ids: Tensor | slice | None = None) None[source]#
update(dt: float) None[source]#
write_data_to_sim() None[source]#
class mjlab.scene.SceneCfg[source]#

Bases: object

SceneCfg(*, num_envs: int = 1, env_spacing: float = 2.0, terrain: mjlab.terrains.terrain_importer.TerrainImporterCfg | None = None, entities: dict[str, mjlab.entity.entity.EntityCfg] = <factory>, sensors: tuple[mjlab.sensor.sensor.SensorCfg, …] = <factory>, extent: float | None = None, spec_fn: Optional[Callable[[mujoco._specs.MjSpec], NoneType]] = None)

Attributes:

Methods:

__init__(*[, num_envs, env_spacing, ...])

num_envs: int = 1#
env_spacing: float = 2.0#
terrain: TerrainImporterCfg | None = None#
entities: dict[str, EntityCfg]#
sensors: tuple[SensorCfg, ...]#
extent: float | None = None#
spec_fn: Callable[[MjSpec], None] | None = None#
__init__(*, num_envs: int = 1, env_spacing: float = 2.0, terrain: ~mjlab.terrains.terrain_importer.TerrainImporterCfg | None = None, entities: dict[str, ~mjlab.entity.entity.EntityCfg] = <factory>, sensors: tuple[~mjlab.sensor.sensor.SensorCfg, ...] = <factory>, extent: float | None = None, spec_fn: ~typing.Callable[[~mujoco._specs.MjSpec], None] | None = None) None#