Skip to content

saiyao233/diffusion-ccsp

 
 

Repository files navigation

Compositional Diffusion-Based Continuous Constraint Solvers

Project page: Diffusion-CCSP

Setting Up

  • Set up Jacinle following the instructions here.

    git clone https://github.com/vacancy/Jacinle --recursive
  • Set up dependencies.

    conda create --name diffusion-ccsp python=3.9
    pip install -r requirements.txt
  • Source environment variables before running codes.

    source setup.sh
    conda activate diffusion-ccsp
  • Compile IK for Franka Panda if want to collect and test robot planning.

    (cd pybullet_engine/ikfast/franka_panda; python setup.py)

Data Collection

Task 1-2: 2D Tasks

## for the first time
mkdir data

## collect data into `data/` folder, .png and .json files will be in `render/` folder
python envs/data_collectors.py \
  -world_name 'RandomSplitWorld' \
  -num_worlds 10 -grid_size 0.5 -pngs -jsons

Task 3-4: 3D & Robot Data

## task 4: packing 3D objects
python 3-panda-box-data.py

## task 3: stacking shapes
python 5-panda-stability-data.py

Training

python train_ddpm.py -timesteps 1000 -EBM 'ULA+'

Solving CCSP

python solve_csp.py

TODO

  • Upload data and checkpoints for evaluation
  • Upload packing model data

Citation

@inproceedings{yang2023diffusion,
  title={{Compositional Diffusion-Based Continuous Constraint Solvers}},
  author={Yang, Zhutian and Mao, Jiayuan and Du, Yilun and Wu, Jiajun and Tenenbaum, Joshua B. and Lozano-P{\'e}rez, Tom{\'a}s and Kaelbling, Leslie Pack},
  booktitle={Conference on Robot Learning},
  year={2023},
}

About

Code for Compositional Diffusion-Based Continuous Constraint Solvers (CoRL 23)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 57.0%
  • C++ 38.8%
  • Jupyter Notebook 4.2%