家庭整理任务中低级操作的基准评测 论文 | 官网 | 模型 | 数据集 | 补充材料 安装与设置 安装环境 安装 ManiSkill3 与项目代码 下载所需数据集 导入环境 [可选] 检查点、数据集和数据生成 模型和数据集可从 HuggingFace 获取(约 490GB): 使用脚本生成数据(可自定义轨迹过滤准则): 快速开始 MS-HAB 提供: 评估环境 :用于完整任务评估(支持子任务链) 训练环境 :用于训练单个技能策略,如 示例代码如下: 场景与任务自定义 场景:ReplicaCAD 提供84个公寓场景(63训练,21验证) 任务计划:定义任务顺序与目标,如 “Pick → Place” 生成数据:机器人及物体初始状态,由脚本预生成(用于 GPU 模拟时稳定性) 简单自定义
家庭整理任务中低级操作的基准评测
安装环境
conda create -n mshab python=3.9 conda activate mshab
安装 ManiSkill3 与项目代码
git clone https://github.com/haosulab/ManiSkill.git -b mshab --single-branch pip install -e ManiSkill pip install -e . # 可选安装训练/开发依赖:pip install -e .[train,dev]
下载所需数据集
for dataset in ycb ReplicaCAD ReplicaCADRearrange; do python -m mani_skill.utils.download_asset "$dataset"; done
导入环境
import mshab.envs
模型和数据集可从 HuggingFace 获取(约 490GB):
huggingface-cli login huggingface-cli download arth-shukla/mshab_checkpoints --local-dir mshab_checkpoints export MS_ASSET_DIR="~/.maniskill" export MSHAB_DATASET_DIR="$MS_ASSET_DIR/data/scene_datasets/replica_cad_dataset/rearrange-dataset" huggingface-cli download --repo-type dataset arth-shukla/MS-HAB-TidyHouse --local-dir "$MSHAB_DATASET_DIR/tidy_house" huggingface-cli download --repo-type dataset arth-shukla/MS-HAB-PrepareGroceries --local-dir "$MSHAB_DATASET_DIR/prepare_groceries" huggingface-cli download --repo-type dataset arth-shukla/MS-HAB-SetTable --local-dir "$MSHAB_DATASET_DIR/set_table"
使用脚本生成数据(可自定义轨迹过滤准则):
bash scripts/gen_dataset.sh
MS-HAB 提供:
评估环境 SequentialTask-v0:用于完整任务评估(支持子任务链)
训练环境 [Name]SubtaskTrain-v0:用于训练单个技能策略,如 PickSubtaskTrain-v0
示例代码如下:
import gymnasium as gym from mani_skill.vector.wrappers.gymnasium import ManiSkillVectorEnv import mshab.envs from mshab.envs.planner import plan_data_from_file task = "tidy_house" subtask = "pick" split = "train" plan_data = plan_data_from_file(REARRANGE_DIR / "task_plans" / task / subtask / split / "all.json") spawn_data_fp = REARRANGE_DIR / "spawn_data" / task / subtask / split / "spawn_data.pt" env = gym.make( f"{subtask.capitalize()}SubtaskTrain-v0", num_envs=252, obs_mode="rgbd", sim_backend="gpu", robot_uids="fetch", control_mode="pd_joint_delta_pos", reward_mode="normalized_dense", render_mode="rgb_array", max_episode_steps=200, task_plans=plan_data.plans, scene_builder_cls=plan_data.dataset, spawn_data_fp=spawn_data_fp, ) venv = ManiSkillVectorEnv(env, max_episode_steps=1000, ignore_terminations=True) obs, info = venv.reset()
场景:ReplicaCAD 提供84个公寓场景(63训练,21验证)
任务计划:定义任务顺序与目标,如 “Pick → Place”
生成数据:机器人及物体初始状态,由脚本预生成(用于 GPU 模拟时稳定性)
可只加载部分任务计划调试
成功/失败标准可通过 task_cfgs 调整(如放置目标的范围)
任务链可加长(需逻辑合理,如避免“Pick → Pick”)
可通过修改配置和使用 SceneBuilder 改变对象/场景等
支持多种算法(SAC、PPO、行为克隆、扩散策略):
bash scripts/train_[algo].sh
示例:
python -m mshab.train_sac \ mshab_checkpoints/rl/tidy_house/pick/all/config.yml \ algo.gamma=0.8
恢复训练
python -m mshab.train_ppo \ mshab_checkpoints/rl/tidy_house/pick/all/config.yml \ model_ckpt=mshab_checkpoints/rl/tidy_house/pick/all/policy.pt \ algo.lr=1e-3
需先下载或生成数据。可使用下列脚本进行完整任务或子任务评估:
bash scripts/evaluate_sequential_task.sh