Skip to content

base_env_cfg

Parameterized base environment configuration for mjlab aerial tasks.

This module provides robot-agnostic factory functions for building ManagerBasedRlEnvCfg instances. Concrete robot platforms (e.g. LAV2) subclass or wrap these with platform-specific scene, viewer, and actuator defaults in config/<robot>/env_cfgs.py.

Functions:

Name Description
create_scene_cfg

Build a scene config for the given robot entity.

create_action_cfg

Build the action-manager config.

create_observation_cfg

Build the observation-manager config (robot-agnostic terms).

create_event_cfg

Build the event-manager config (robot-agnostic domain-randomisation).

create_command_cfg

Build the command-manager config for pose-command tracking.

create_reward_cfg

Build the reward-manager config (robot-agnostic).

create_termination_cfg

Build the termination-manager config (robot-agnostic).

create_viewer_config

Build a viewer config anchored to an asset body.

create_simulation_cfg

Build the simulation config.

create_env_cfg

Build a complete ManagerBasedRlEnvCfg for an aerial base task.

create_scene_cfg

create_scene_cfg(robot_cfg: EntityCfg, *, num_envs: int = 1, extent: float = 2.0) -> SceneCfg

Build a scene config for the given robot entity.

create_action_cfg

create_action_cfg(actuator_names: tuple[str, ...] | None = None, rotor_body_names: tuple[str, ...] | None = None, root_body_name: str | None = None) -> dict[str, ActionTermCfg]

Build the action-manager config.

Parameters:

Name Type Description Default

actuator_names

tuple[str, ...] | None

Override the default wrench-actuator list. When None the FlightControlActionCfg default is used, which matches the LAV2 layout.

None

rotor_body_names

tuple[str, ...] | None

Ordered rotor bodies matching the actuator/mixer order. When None, the FlightControlActionCfg default is used.

None

root_body_name

str | None

Body receiving drag and prescribed external force.

None

create_observation_cfg

create_observation_cfg() -> dict[str, ObservationGroupCfg]

Build the observation-manager config (robot-agnostic terms).

create_event_cfg

create_event_cfg() -> dict[str, EventTermCfg]

Build the event-manager config (robot-agnostic domain-randomisation).

create_command_cfg

create_command_cfg(entity_name: str = 'robot') -> dict[str, CommandTermCfg]

Build the command-manager config for pose-command tracking.

create_reward_cfg

create_reward_cfg() -> dict[str, RewardTermCfg]

Build the reward-manager config (robot-agnostic).

create_termination_cfg

create_termination_cfg() -> dict[str, TerminationTermCfg]

Build the termination-manager config (robot-agnostic).

create_viewer_config

create_viewer_config(entity_name: str = 'robot', body_name: str = 'base_link') -> ViewerConfig

Build a viewer config anchored to an asset body.

create_simulation_cfg

create_simulation_cfg(timestep: float = 0.01, iterations: int = 2) -> SimulationCfg

Build the simulation config.

create_env_cfg

create_env_cfg(*, robot_cfg: EntityCfg, entity_name: str = 'robot', body_name: str = 'base_link', actuator_names: tuple[str, ...] | None = None, rotor_body_names: tuple[str, ...] | None = None, scene_num_envs: int = 1, scene_extent: float = 2.0, sim_timestep: float = 0.01, sim_iterations: int = 2, decimation: int = 2, episode_length_s: float = 10.0) -> ManagerBasedRlEnvCfg

Build a complete ManagerBasedRlEnvCfg for an aerial base task.

Robot-platform specifics (scene entity, viewer body name, actuator list, and ordered rotor bodies) are injected via parameters so the same builder works for LAV2, ATMO, or any other multirotor supported by FlightControlActionCfg.