LeRobot 文档
在仿真环境中训练强化学习
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
在仿真环境中训练强化学习
本指南介绍如何使用 gym_hil
仿真环境,以便在使用 LeRobot 框架进行“人在环路”(HIL)强化学习时,替代真实的机器人。
gym_hil
是一个提供与 Gymnasium 兼容的仿真环境的软件包,专为“人在环路”强化学习设计。这些环境允许您:
在仿真环境中训练策略,以便在真实机器人上训练前测试强化学习堆栈
使用游戏手柄或键盘等外部设备在仿真环境中收集演示
在策略学习过程中进行人工干预
目前,主要环境是基于 MuJoCo 的 Franka Panda 机器人仿真,任务包括拾取立方体等。
安装
首先,在 LeRobot 环境中安装 gym_hil
软件包。
pip install -e ".[hilserl]"
我需要什么?
- 一个游戏手柄或键盘来控制机器人
- 一块英伟达(Nvidia)GPU
配置
要将 gym_hil
与 LeRobot 一起使用,您需要创建一个配置文件。这里提供了一个示例。关键配置部分包括:
环境类型和任务
{
"type": "hil",
"name": "franka_sim",
"task": "PandaPickCubeGamepad-v0",
"device": "cuda"
}
可用任务:
PandaPickCubeBase-v0
: 基础环境PandaPickCubeGamepad-v0
: 带游戏手柄控制PandaPickCubeKeyboard-v0
: 带键盘控制
Gym 包装器配置
"wrapper": {
"gripper_penalty": -0.02,
"control_time_s": 15.0,
"use_gripper": true,
"fixed_reset_joint_positions": [0.0, 0.195, 0.0, -2.43, 0.0, 2.62, 0.785],
"end_effector_step_sizes": {
"x": 0.025,
"y": 0.025,
"z": 0.025
},
"control_mode": "gamepad"
}
重要参数:
gripper_penalty
: 对过多抓手移动的惩罚use_gripper
: 是否启用抓手控制end_effector_step_sizes
: 末端执行器在 x,y,z 轴上的步长大小control_mode
: 设置为"gamepad"
以使用游戏手柄控制器
使用 LeRobot 的人在环路强化学习运行
基本用法
要运行环境,请将模式设置为 null
python -m lerobot.scripts.rl.gym_manipulator --config_path path/to/gym_hil_env.json
记录数据集
要收集数据集,请将模式设置为 record
,同时定义 repo_id 和要记录的回合数。
python -m lerobot.scripts.rl.gym_manipulator --config_path path/to/gym_hil_env.json
训练策略
要训练策略,请查看此处提供的配置示例,并运行执行者(actor)和学习者(learner)服务器。
python -m lerobot.scripts.rl.actor --config_path path/to/train_gym_hil_env.json
在另一个终端中,运行学习者服务器。
python -m lerobot.scripts.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}
}