LeRobot 文件
在模擬環境中訓練增強學習
立即開始
教學課程
機器人模仿學習使用自備策略 (Bring Your Own Policies)使用自備硬體 (Bring Your Own Hardware)以增強學習訓練機器人在模擬環境中訓練增強學習多 GPU 訓練人機協作 (Human-in-the-Loop) 資料收集使用 PEFT(例如 LoRA)進行訓練使用 Rename Map 與空白相機
資料集 (Datasets)
策略
獎勵模型
推論
模擬
基準測試 (Benchmarks)
機器人處理器
機器人
遙控操作員
感測器
支援的硬體
資源
關於
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
在模擬環境中訓練強化學習(RL)
本指南介紹如何在 LeRobot 框架中使用 gym_hil 模擬環境,作為在執行「人機協作」(Human-In-the-Loop, HIL)強化學習時,替代真實機器人的方案。
gym_hil 是一個提供與 Gymnasium 相容的模擬環境套件,專為人機協作強化學習而設計。這些環境允許您:
在模擬環境中訓練策略,以便在真實機器人上訓練之前測試強化學習堆疊(RL stack)
使用遊戲手把或鍵盤等外部設備在模擬環境中收集示範數據
在策略學習過程中執行人類介入
目前主要環境是基於 MuJoCo 的 Franka Panda 機器人模擬,包含如「撿起方塊」等任務。
安裝
首先,請在 LeRobot 環境中安裝 gym_hil 套件:
pip install -e ".[hilserl]"我需要準備什麼?
- 一個用於控制機器人的遊戲手把或鍵盤
- 一個 NVIDIA GPU
配置 (Configuration)
若要在 LeRobot 中使用 gym_hil,您需要建立一個設定檔。範例可參考此處。關鍵的設定區塊包含:
環境類型與任務
{
"env": {
"type": "gym_manipulator",
"name": "gym_hil",
"task": "PandaPickCubeGamepad-v0",
"fps": 10
},
"device": "cuda"
}可用任務:
PandaPickCubeBase-v0:基礎環境PandaPickCubeGamepad-v0:具備遊戲手把控制功能PandaPickCubeKeyboard-v0:具備鍵盤控制功能
處理器設定
{
"env": {
"processor": {
"control_mode": "gamepad",
"gripper": {
"use_gripper": true,
"gripper_penalty": -0.02
},
"reset": {
"control_time_s": 15.0,
"fixed_reset_joint_positions": [
0.0, 0.195, 0.0, -2.43, 0.0, 2.62, 0.785
]
},
"inverse_kinematics": {
"end_effector_step_sizes": {
"x": 0.025,
"y": 0.025,
"z": 0.025
}
}
}
}
}重要參數:
gripper.gripper_penalty:對過度夾爪移動的懲罰gripper.use_gripper:是否啟用夾爪控制inverse_kinematics.end_effector_step_sizes:末端執行器在 x, y, z 軸上的步長大小control_mode:設為"gamepad"以使用遊戲手把控制器
執行 LeRobot 的 HIL 強化學習
基本使用
若要執行環境,請將模式(mode)設為 null。
python -m lerobot.rl.gym_manipulator --config_path path/to/gym_hil_env.json
錄製資料集
若要收集資料集,請將模式設為 record,並指定 repo_id 與要錄製的集數(episodes)。
{
"env": {
"type": "gym_manipulator",
"name": "gym_hil",
"task": "PandaPickCubeGamepad-v0"
},
"dataset": {
"repo_id": "username/sim_dataset",
"root": null,
"task": "pick_cube",
"num_episodes_to_record": 10,
"replay_episode": null,
"push_to_hub": true
},
"mode": "record"
}python -m lerobot.rl.gym_manipulator --config_path path/to/gym_hil_env.json
訓練策略
若要訓練策略,請查看此處提供的設定範例,並執行 Actor 與 Learner 伺服器。
python -m lerobot.rl.actor --config_path path/to/train_gym_hil_env.json
在另一個終端機中,執行 Learner 伺服器。
python -m lerobot.rl.learner --config_path path/to/train_gym_hil_env.json
模擬環境提供了一種安全且可重複的方式,讓您在部署到真實機器人之前,能夠開發並測試您的人機協作強化學習元件。
恭喜 🎉,您已完成本教學!
如果您有任何問題或需要協助,請在 Discord 上聯繫我們。
論文引用
@article{luo2024precise,
title={Precise and Dexterous Robotic Manipulation via Human-in-the-Loop Reinforcement Learning},
author={Luo, Jianlan and Xu, Charles and Wu, Jeffrey and Levine, Sergey},
journal={arXiv preprint arXiv:2410.21845},
year={2024}
}