Skip to content

CCCalcifer/Skip-Policy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Website Paper on arXiv HuggingFace

Checkpoints on RLBench-10 tasks are available on HuggingFace.

Quick Start

Environment Setup

conda create -n skip python=3.9 -y
conda activate skip
bash scripts/init.sh
source ~/.bashrc

This installs CoppeliaSim, RLBench, and all dependencies. See init.sh for details.

One-click Evaluation

Automatically downloads the pretrained checkpoint and evaluation data from HuggingFace, then runs evaluation:

bash scripts/eval.sh task=push_button

Training

# SkiP (default: W=16, q=0.75)
CUDA_VISIBLE_DEVICES=0 xvfb-run -a python scripts/train.py task=open_drawer kf_mode=skip

# SkiP with custom hyperparameters
python scripts/train.py task=open_drawer kf_mode=skip skip.window=16 skip.high_quantile=0.75

# CoA-rev baseline
python scripts/train.py task=open_drawer

# CoA-fwd baseline
python scripts/train.py task=open_drawer method.action_order=FORWARD

Evaluation

python scripts/eval.py task=open_drawer snapshot=path/to/checkpoint.pt

Evaluation outputs per-episode success/failure to the terminal and saves metrics to eval_metrics.json in the experiment directory:

{
  "summary": {
    "success_rate": {"mean": 0.72, "std": 0.0},
    "avg_steps_success": {"mean": 49.1, "std": 0.0},
    "avg_steps_all": {"mean": 85.8, "std": 0.0}
  }
}

To save evaluation videos, add log_eval_video=true.

Download RLBench Dataset

# Download all tasks
python scripts/download_dataset.py

# Download a specific task
python scripts/download_dataset.py --task reach_target --train-episodes 100 --eval-episodes 25

Configuration

All settings are in src/cfgs/launch.yaml. Key parameters:

Parameter Default Description
task RLBench task name (required)
kf_mode full full (CoA), skip (SkiP), heuristic, cache
skip.window 16 ST-DCT window size W
skip.high_quantile 0.75 Quantile threshold q
num_train_steps 20000 Total training steps
batch_size 128 Training batch size
demos 100 Number of demonstrations
eval_every_steps 100000 Evaluation interval

Override via command line: python scripts/train.py task=push_button batch_size=64 kf_mode=skip

Directory Structure

scripts/          Training, evaluation, data downloading
src/
  cfgs/           Hydra configuration files
  dataset/        Dataset loading and SkiP relabeling
  envs/           RLBench environment and MSK segmentation
  methods/
    coa/          CoA backbone (shared by SkiP and baselines)
    act/          ACT baseline
    dp/           Diffusion Policy baseline
  workspace.py    Training workflow

Citation

@misc{dai2026skipskiprefineefficient,
      title={SkiP: When to Skip and When to Refine for Efficient Robot Manipulation}, 
      author={Mingtong Dai and Guanqi Peng and Yongjie Bai and Feng Yan and Chunjie Chen and Lingbo Liu and Liang Lin and Xinyu Wu},
      year={2026},
      eprint={2605.15536},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2605.15536}, 
}

Acknowledgement

This codebase is built upon Chain-of-Action. We thank the authors for their open-source implementation.

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors