Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Agent Configuration

The Space Robotics Bench leverages Hydra for managing agent configurations across different robot learning frameworks. This document provides an overview of the configuration structure and common parameters for training agents in SRB.

Default Hyperparameters

The default hyperparameters for all algorithms and environments are available under the space_robotics_bench/hyperparams directory. If you do not wish to use Hydra, you can directly modify these files before training your agent.

Note: The available hyperparameters and their structure are specific to each framework and algorithm.

Modifying Configurations

You can modify agent configurations in several ways:

1. Command-Line Overrides

srb agent <WORKFLOW> --algo <ALGO> --env <ENV> \
    agent.learning_rate=0.0001 \
    agent.batch_size=64 \
    ...

2. Configuration Files

Default agent hyperparameters are stored as configuration files under hyperparams/, organized by framework (YAML for most frameworks; JSON for Robomimic):

hyperparams/
├── sb3/           # Stable Baselines 3 (ppo, sac, td3, ...)
├── sbx/           # SB3 eXtensions
├── skrl/          # SKRL (ppo, a2c, ppo_rnn, ...)
├── rsl_rl/        # RSL RL
├── robomimic/     # Robomimic
├── dreamerv3.yaml # DreamerV3 (single-algorithm framework)
└── tdmpc2.yaml    # TD-MPC2 (single-algorithm framework)

You can modify these files directly or override specific values via the command line. Algorithm names always include their framework prefix (e.g. sb3_ppo, sbx_sac, skrl_ppo_rnn, rsl_rl_ppo, dreamer, tdmpc2):

srb agent train --algo sb3_ppo --env peg_in_hole \
    agent.learning_rate=0.0003 \
    agent.batch_size=128

Note: The available hyperparameters and their structure depend on the chosen framework and algorithm. Refer to the respective framework documentation for details.

Tuned configurations

These files are also the destination for hyperparameters tuned with srb agent tune. Two layers are resolved task-specific → global, in the requested observation modality:

  • hyperparams/<framework>/<algo>.yaml — global per-algorithm set (state observations); <algo>_visual.yaml for visual observations.
  • hyperparams/task/<task>/<framework>/<algo>.yaml — optional per-task override that takes precedence for that task only.

Exported files carry a provenance header (# Tuned by srb agent tune …) recording the study, trial, objective, seeds, date, git SHA, and Optuna version. They are adopted via ordinary git review. See the Hyperparameter Tuning workflow.