> ## Documentation Index
> Fetch the complete documentation index at: https://scaledfoundations-rebrand.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Training Workflow

GRID supports the training and evaluation of reinforcement learning agents in Isaac Sim for the supported quadruped, bipeds, arms, and humanoid robots.

<img src="https://mintcdn.com/scaledfoundations-rebrand/Xi7Qx08aC4xdqlWX/assets/images/rl-training.gif?maxW=800&auto=format&n=Xi7Qx08aC4xdqlWX&q=85&s=1803833e12d9546ddc14afef8cebc0cb" alt="RL Training" width="800" height="454" data-path="assets/images/rl-training.gif" />

## Training

GRID supports training reinforcement learning agents using the [RSL-RL](https://github.com/leggedrobotics/rsl_rl) training methodology.
Agents can be trained by modifying the `agent_cfg.yaml` file as follows:

```yaml
- rsl_rl: 
    train: true 
    video: false
    resume: false
    seed: 0
    max_iterations: 1000
    run_name: go2_rough_train_rlagent
    experiment_name: go2_rough
    load_run: .*
    load_checkpoint: model_.*.pth
    max_episode_length: 100
    logger: tensorboard
```

The training environment name specifying the task along with the number of parallel agents also need to be specified in the `custom_cfg.yaml`

```yaml
num_envs: 100
task: Isaac-Velocity-Rough-Unitree-Go2-v0
```

<Note>
  To run the RL training headless, use the following configuration in `custom_cfg.yaml`.

  ```yaml
  headless: true
  livestream: 0
  ```
</Note>

The `mdp_cfg.yaml` would also be filled with the relevant values for the MDP components. A sample for it is provided below:

```yaml
commands:
  - base_velocity:
      type: VelocityCommand
      config:
        asset_name: robot

actions:
  - base:
      type: JointPosition
      config:
        asset_name: robot
        joint_names: [".*"]

observations:
  - policy:
      - base_lin_vel: 
          type: base_lin_vel
      - base_ang_vel: 
          type: base_ang_vel
      - projected_gravity:
          type: projected_gravity
      - velocity_commands:
          type: velocity_commands
      - joint_pos:
          type: joint_pos
      - joint_vel:
          type: joint_vel
      - actions:
          type: actions
          config:
            params:
              action_name: base
      - height_scan:
          type: height_scan

terminations: null

events: null

rewards: null

curriculum: null
```
