Configuration API#
The Configuration API provides classes for defining RL environment configurations in UrbanVerse.
Import#
from urbanverse.navigation.config import (
EnvCfg, SceneCfg, ObservationCfg, ActionCfg,
RewardCfg, TerminationCfg, CurriculumCfg, EventCfg
)
EnvCfg#
EnvCfg(
scenes: SceneCfg,
robot_type: str,
observations: ObservationCfg,
actions: ActionCfg,
rewards: RewardCfg,
terminations: TerminationCfg,
curriculum: CurriculumCfg | None = None,
events: EventCfg | None = None,
)
Central configuration class that defines the complete RL environment.
Parameters:
scenes (SceneCfg): Scene configuration (see below)
robot_type (str): Robot embodiment identifier
observations (ObservationCfg): Observation space configuration (see below)
actions (ActionCfg): Action space configuration (see below)
rewards (RewardCfg): Reward function configuration (see below)
terminations (TerminationCfg): Termination conditions configuration (see below)
curriculum (CurriculumCfg, optional): Curriculum learning configuration (see below)
events (EventCfg, optional): Event configuration (see below)
Example:
cfg = EnvCfg(
scenes=SceneCfg(scene_paths=["/path/to/scene.usd"], async_sim=True),
robot_type="coco_wheeled",
observations=ObservationCfg(rgb_size=(135, 240)),
actions=ActionCfg(),
rewards=RewardCfg(),
terminations=TerminationCfg(max_episode_steps=300),
curriculum=CurriculumCfg(enable_goal_distance_curriculum=True),
)
SceneCfg#
SceneCfg(
scene_paths: list[str],
async_sim: bool = True,
env_spacing: float = 3.0,
)
Configuration for scene loading and distribution.
Parameters:
scene_paths (list[str]): List of USD scene file paths
async_sim (bool, optional): Scene distribution mode. Default:
True-True: Each environment loads a different scene (recommended for generalization) -False: All environments use the same layout but different cousin variantsenv_spacing (float, optional): Horizontal spacing between parallel environments (meters). Default:
3.0
ObservationCfg#
ObservationCfg(
rgb_size: tuple[int, int] = (135, 240),
use_depth: bool = False,
include_goal_vector: bool = True,
)
Configuration for observation space.
Parameters:
rgb_size (tuple[int, int], optional): RGB camera image resolution (height, width). Default:
(135, 240)use_depth (bool, optional): Whether to include depth channel. Default:
Falseinclude_goal_vector (bool, optional): Whether to include goal-relative position vector (dx, dy). Default:
True
ActionCfg#
ActionCfg(
action_dim: int = 2,
linear_limit: float = 1.0,
angular_limit: float = 1.0,
)
Configuration for action space.
Parameters:
action_dim (int, optional): Action dimension. Default:
2(linear, angular for wheeled robots)linear_limit (float, optional): Maximum linear velocity (m/s). Default:
1.0angular_limit (float, optional): Maximum angular velocity (rad/s). Default:
1.0
Note: Action space is automatically adapted based on robot type. For legged/humanoid robots, joint-level controls are used.
RewardCfg#
RewardCfg(
arrived_reward: float = 2000.0,
collision_penalty: float = -200.0,
tracking_fine_std: float = 1.0,
tracking_fine_weight: float = 50.0,
tracking_coarse_std: float = 5.0,
tracking_coarse_weight: float = 10.0,
velocity_weight: float = 10.0,
)
Configuration for reward function.
Parameters:
arrived_reward (float, optional): Reward for reaching goal. Default:
2000.0collision_penalty (float, optional): Penalty for collisions. Default:
-200.0tracking_fine_std (float, optional): Standard deviation for fine waypoint tracking (meters). Default:
1.0tracking_fine_weight (float, optional): Weight for fine tracking reward. Default:
50.0tracking_coarse_std (float, optional): Standard deviation for coarse waypoint tracking (meters). Default:
5.0tracking_coarse_weight (float, optional): Weight for coarse tracking reward. Default:
10.0velocity_weight (float, optional): Weight for velocity alignment reward. Default:
10.0
TerminationCfg#
TerminationCfg(
max_episode_steps: int = 300,
enable_collision: bool = True,
enable_success: bool = True,
enable_timeout: bool = True,
enable_out_of_bounds: bool = False,
)
Configuration for episode termination conditions.
Parameters:
max_episode_steps (int, optional): Maximum steps before timeout. Default:
300enable_collision (bool, optional): Terminate on collision. Default:
Trueenable_success (bool, optional): Terminate on goal reached. Default:
Trueenable_timeout (bool, optional): Terminate on step limit. Default:
Trueenable_out_of_bounds (bool, optional): Terminate when leaving traversable regions. Default:
False
CurriculumCfg#
CurriculumCfg(
enable_goal_distance_curriculum: bool = False,
enable_cousin_jitter: bool = False,
)
Configuration for curriculum learning.
Parameters:
enable_goal_distance_curriculum (bool, optional): Gradually increase goal distances. Default:
Falseenable_cousin_jitter (bool, optional): Gradually increase scene diversity. Default:
False
EventCfg#
EventCfg(
enable_robot_state_randomization: bool = False,
enable_dynamic_agent_spawning: bool = False,
)
Configuration for environment events and randomization.
Parameters:
enable_robot_state_randomization (bool, optional): Randomize robot initial state. Default:
Falseenable_dynamic_agent_spawning (bool, optional): Spawn dynamic agents during episodes. Default:
False
Note: Robot spawn points are automatically sampled from drivable regions. This configuration is for additional randomization.