Xiaomeng Xu, Huy Ha, Shuran Song
Required packages can be installed by:
pip install -r requirements.txt
Download 2D object icons from Icons50 dataset.
Download 3D object meshes from MuJoCo scanned object dataset.
Replace OBJECT_DIR
in sim/sim_2d.py
and sim/sim_3d.py
with the directory to object dataset.
Install v-hacd.
bash sim/run_sim_2d.sh
bash sim/run_sim_3d.sh
Note for data generation: Sometimes the sampled objects or manipulators may have weird shapes and thus lead to qhull error when doing convex decomposition. And ray is used to parallelize cpu-based data generation, which sometimes may lead to timeout issues. Therefore, it is expected if you see some error message and the data for some object-manipulator pairs is not generated, but it should be fine as long as you see most data is being generated.
Download pretrained model checkpoints
bash dynamics/train_dynamics_2d.sh
bash dynamics/train_dynamics_3d.sh
bash generator/train_diffusion_2d.sh
bash generator/train_diffusion_3d.sh
bash generator/guided_sample_2d.sh
bash generator/guided_sample_3d.sh
If you find DGDM useful for your work, please cite:
@misc{xu2024dynamicsguided,
title={Dynamics-Guided Diffusion Model for Robot Manipulator Design},
author={Xiaomeng Xu and Huy Ha and Shuran Song},
year={2024},
eprint={2402.15038},
archivePrefix={arXiv},
primaryClass={cs.RO}
}
If you have any questions, please feel free to contact Xiaomeng Xu (xuxm@stanford.edu)