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"