Precise and Dexterous Robotic Manipulation via Human-in-the-Loop Reinforcement Learning
Paper • 2410.21845 • Published • 16
How to use dizzlerama/hilserl-panda-pickcube-sac with LeRobot:
A vision-based manipulation policy trained with HIL-SERL (SAC + RLPD) in the LeRobot
gym-hil simulation (PandaPickCube), fully autonomously on a single GPU — the MuJoCo
environment supplies the reward, so no human intervention or reward classifier is needed in sim.
Built for Session 3 (Robotics) of the Vizuara RL in Production workshop — the same stack trains a real SO-101 arm from scratch.
lilkm/pick_cube_franka_panda_30import torch, draccus
from huggingface_hub import snapshot_download
from lerobot.rl.train_rl import TrainRLServerPipelineConfig
from lerobot.rl import gym_manipulator as gm
from lerobot.processor import TransitionKey
from lerobot.policies.gaussian_actor.modeling_gaussian_actor import GaussianActorPolicy
local = snapshot_download("dizzlerama/hilserl-panda-pickcube-sac")
cfg = draccus.parse(TrainRLServerPipelineConfig, args=["--config_path", f"{local}/train_config.json"])
cfg.env.task = "PandaPickCube-v0"
policy = GaussianActorPolicy.from_pretrained(local).to("cuda").eval()
env, teleop = gm.make_robot_env(cfg.env)
env_p, act_p = gm.make_processors(env, teleop, cfg.env, "cuda")
# roll out with policy.select_action(...) — see the workshop notebook.
Reading: HIL-SERL (arXiv:2410.21845) · RLPD (arXiv:2302.02948) · LeRobot HIL-SERL docs