unilab.envs.manager_based_rl_env.ManagerBasedRlEnvCfg

class unilab.envs.manager_based_rl_env.ManagerBasedRlEnvCfg[source]

Bases: EnvCfg

Configuration for the manager-based NumPy environment.

Production task owners declare these fields in Hydra. The Registry materializes them into this plain typed config on the cold path; Python factories do not mirror task-specific manager or term declarations.

Parameters:

Methods

__init__([scene, sim_dt, ...])

validate()

validate the config

Attributes

observations: dict[str, ObservationGroupCfg | None]
actions: dict[str, ActionTermCfg | None]
events: dict[str, EventTermCfg | None]
rewards: dict[str, RewardTermCfg | None]
terminations: dict[str, TerminationTermCfg | None]
commands: dict[str, CommandTermCfg | None]
curriculum: dict[str, CurriculumTermCfg | None]
metrics: dict[str, MetricsTermCfg | None]
recorders: dict[str, RecorderTermCfg | None]
seed: int | None = None
is_finite_horizon: bool = False
auto_reset: bool = True
scale_rewards_by_dt: bool = True
policy_observation_group: str = 'policy'
critic_observation_group: str | None = None
validate()[source]

validate the config

Return type:

None

__init__(scene=None, sim_dt=0.01, max_episode_seconds=None, ctrl_dt=0.01, render_spacing=1.0, render_offset_mode='grid', drake_backend_mode='batch', drake_nthread=0, superdex_num_workers=0, superdex_execution_mode='batch', superdex_assets_root=None, superdex_effort_limits=None, superdex_allow_contact_approximation=False, motrix_max_iterations=None, post_step_forward_sensor=False, adaptive_chunk_size=True, chunk_size=None, cpu_ids=None, mjwarp_nconmax=None, mjwarp_njmax=None, newton_device=None, newton_nconmax=None, newton_njmax=None, newton_capacity_check_steps=1, isaacgym_device_id=None, isaacgym_worker_timeout_s=None, genesis_device_id=None, genesis_integrator=None, genesis_constraint_solver=None, genesis_friction_cone=None, genesis_solver_iterations=None, isaacsim_device_id=None, isaacsim_worker_timeout_s=None, isaacsim_render_mode=None, isaacsim_render_width=1280, isaacsim_render_height=720, observations=<factory>, actions=<factory>, events=<factory>, rewards=<factory>, terminations=<factory>, commands=<factory>, curriculum=<factory>, metrics=<factory>, recorders=<factory>, seed=None, is_finite_horizon=False, auto_reset=True, scale_rewards_by_dt=True, policy_observation_group='policy', critic_observation_group=None)
Parameters:
adaptive_chunk_size: bool = True
chunk_size: Optional[int] = None
cpu_ids: Optional[list[int]] = None
ctrl_dt: float = 0.01
drake_backend_mode: str = 'batch'
drake_nthread: int = 0
genesis_constraint_solver: Optional[str] = None
genesis_device_id: Optional[int] = None
genesis_friction_cone: Optional[str] = None
genesis_integrator: Optional[str] = None
genesis_solver_iterations: Optional[int] = None
isaacgym_device_id: Optional[int] = None
isaacgym_worker_timeout_s: Optional[float] = None
isaacsim_device_id: Optional[int] = None
isaacsim_render_height: int = 720
isaacsim_render_mode: Optional[str] = None
isaacsim_render_width: int = 1280
isaacsim_worker_timeout_s: Optional[float] = None
max_episode_seconds: Optional[float] = None
property max_episode_steps: int | None

return the max episode steps

mjwarp_nconmax: Optional[int] = None
mjwarp_njmax: Optional[int] = None
motrix_max_iterations: Optional[int] = None
newton_capacity_check_steps: int = 1
newton_device: Optional[str] = None
newton_nconmax: Optional[int] = None
newton_njmax: Optional[int] = None
post_step_forward_sensor: bool = False
render_offset_mode: str = 'grid'
render_spacing: float = 1.0
scene: SceneCfg | None = None
sim_dt: float = 0.01
property sim_substeps: int

return the number of simulation steps per control step

superdex_allow_contact_approximation: bool = False
superdex_assets_root: Optional[str] = None
superdex_effort_limits: Optional[list[float]] = None
superdex_execution_mode: str = 'batch'
superdex_num_workers: int = 0