基于RoboCasa评测平台的强化学习训练#
本文档提供了在RLinf框架中使用RoboCasa环境进行强化学习训练任务的全面指南。 RoboCasa Kitchen专注于厨房环境中的操作任务,具有多样化的厨房布局、物体和操作任务。 RoboCasa Kitchen将真实的厨房环境与多样化的操作挑战相结合,使其成为开发可泛化机器人策略的理想基准。
主要目标是训练能够执行以下任务的视觉-语言-动作模型:
视觉理解: 处理来自多个摄像头视角的RGB图像。
语言理解: 解释自然语言任务指令。
操作技能: 执行复杂的厨房任务,如拾取-放置、开关门和电器控制。
环境#
RoboCasa环境
环境: RoboCasa Kitchen厨房仿真环境(基于robosuite构建)
机器人: Panda机械臂带移动底座(PandaOmron),配备夹爪
观测: 多视角RGB图像(机器人视角+腕部相机) + 本体感知状态
动作空间: 12维连续动作
3D机械臂位置增量
3D机械臂旋转增量
1D夹爪控制 (开/关)
4D底座控制
1D模式选择(控制底座/机械臂)
任务类别
RoboCasa Kitchen提供了涵盖多个类别的24个原子任务(不包含需要底座移动的NavigateKitchen原子任务):
门操作任务:
OpenSingleDoor: 打开柜门或微波炉门CloseSingleDoor: 关闭柜门或微波炉门OpenDoubleDoor: 打开双开门柜子CloseDoubleDoor: 关闭双开门柜子OpenDrawer: 打开抽屉CloseDrawer: 关闭抽屉
拾取和放置任务:
PnPCounterToCab: 从柜台拾取并放置到柜子中PnPCabToCounter: 从柜子拾取并放置到柜台上PnPCounterToSink: 从柜台拾取并放置到水槽中PnPSinkToCounter: 从水槽拾取并放置到柜台上PnPCounterToStove: 从柜台拾取并放置到炉灶上PnPStoveToCounter: 从炉灶拾取并放置到柜台上PnPCounterToMicrowave: 从柜台拾取并放置到微波炉中PnPMicrowaveToCounter: 从微波炉拾取并放置到柜台上
电器控制任务:
TurnOnMicrowave: 打开微波炉TurnOffMicrowave: 关闭微波炉TurnOnSinkFaucet: 打开水龙头TurnOffSinkFaucet: 关闭水龙头TurnSinkSpout: 旋转水槽喷嘴TurnOnStove: 打开炉灶TurnOffStove: 关闭炉灶
咖啡制作任务:
CoffeeSetupMug: 放置咖啡杯CoffeeServeMug: 将咖啡倒入杯中CoffeePressButton: 按下咖啡机按钮
观测结构
主相机图像 (
base_image): 机器人左侧视角 (128×128 RGB)腕部相机图像 (
wrist_image): 末端执行器视角相机 (128×128 RGB)本体感知状态 (
state): 16维向量,包含:[0:2]机器人底座位置 (x, y)[2:5]填充零值[5:9]末端执行器相对于底座的四元数[9:12]末端执行器相对于底座的位置[12:14]夹爪关节速度[14:16]夹爪关节位置
数据结构
图像: 主相机RGB张量
[batch_size, 3, 128, 128]和腕部相机[batch_size, 3, 128, 128]状态: 本体感知状态张量
[batch_size, 16]任务描述: 自然语言指令
动作: 12维连续动作
奖励: 基于任务完成的稀疏奖励
算法#
核心算法组件
PPO (近端策略优化)
使用GAE(广义优势估计)进行优势估计
带比率限制的策略裁剪
价值函数裁剪
熵正则化
GRPO (组相对策略优化)
对于每个状态/提示,策略生成 G 个独立动作
通过减去组的平均奖励来计算每个动作的优势
依赖安装#
1. 克隆 RLinf 仓库#
# 为提高国内下载速度,可以使用:
# git clone https://ghfast.top/github.com/RLinf/RLinf.git
git clone https://github.com/RLinf/RLinf.git
cd RLinf
2. 安装依赖#
选项 1:Docker 镜像
使用 Docker 镜像运行实验。
docker run -it --rm --gpus all \
--shm-size 20g \
--network host \
--name rlinf \
-v .:/workspace/RLinf \
rlinf/rlinf:agentic-rlinf0.2-robocasa
# 如果需要国内加速下载镜像,可以使用:
# docker.1ms.run/rlinf/rlinf:agentic-rlinf0.2-robocasa
选项 2:自建环境
# 为提高国内依赖安装速度,可以添加`--use-mirror`到下面的install.sh命令
bash requirements/install.sh embodied --model openpi --env robocasa
source .venv/bin/activate
数据集下载#
python -m robocasa.scripts.download_kitchen_assets # 注意: 需要下载的资源大约有5GB
模型下载#
# 下载模型(选择任一方法)
# 方法 1: 使用 git clone
git lfs install
git clone https://huggingface.co/RLinf/RLinf-Pi0-RoboCasa
# 方法 2: 使用 huggingface-hub
# 为提升国内下载速度,可以设置:
# export HF_ENDPOINT=https://hf-mirror.com
pip install huggingface-hub
hf download RLinf/RLinf-Pi0-RoboCasa --local-dir RLinf-Pi0-RoboCasa