agent.yaml configures the agent type and its respective parameters. GRID supports a diverse set of agents types that include but are not limited to reinforcement learning agents, teleoperation agents (keyboard, VR devices, Gello devices), motion planning agents.

The below example provides a sample policy training configuration file. For more information on how to modify it for training RL policies, refer to this section.

- agent_name:
    type: "rsl_rl"
    mode: "train" # or "play"
    config: 
      resume: false
      max_iterations: 10000
      video: false
      video_length: 200
      video_interval: 2000
      experiment_name: "my_experiment_name"
      load_run: .*
      load_checkpoint: model.*
      policy: 
        class_name: "ActorCritic"
        init_noise_std: 1.0
        actor_hidden_dims: [512, 256, 128]
        critic_hidden_dims: [512, 256, 128]
        activation: "elu"
      algorithm: 
        class_name: "PPO"
        value_loss_coef: 1.0
        use_clipped_value_loss: True
        clip_param: 0.2
        entropy_coef: 0.008
        num_learning_epochs: 5
        num_mini_batches: 4
        learning_rate: 1.0e-3
        schedule: "adaptive"
        gamma: 0.99
        lam: 0.95
        desired_kl: 0.01
        max_grad_norm: 1.0

Similarly, you can add a teleoperation agent by adding this in the agent.yaml

- your_agent_name:
    type: "teleop"
    input: "" # "SE3", "SE2", "Gello", "DualArm" or "BaseWArm"
    device: "" # When input=="SE3"/"SE2", use "Keyboard", "Gamepad", "Handtracking" or "Spacemouse"