{"id":20789480,"url":"https://github.com/real-stanford/dgdm","last_synced_at":"2025-07-28T00:09:49.325Z","repository":{"id":224502523,"uuid":"762391770","full_name":"real-stanford/dgdm","owner":"real-stanford","description":"[CoRL'24] Dynamics-Guided Diffusion Model for Robot Manipulator Design","archived":false,"fork":false,"pushed_at":"2024-07-03T02:04:37.000Z","size":57,"stargazers_count":39,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-09T18:12:16.419Z","etag":null,"topics":["machine-learning","robotics"],"latest_commit_sha":null,"homepage":"https://dgdm-robot.github.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/real-stanford.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-23T17:23:14.000Z","updated_at":"2025-03-28T11:45:12.000Z","dependencies_parsed_at":"2025-01-18T10:36:21.491Z","dependency_job_id":null,"html_url":"https://github.com/real-stanford/dgdm","commit_stats":null,"previous_names":["real-stanford/dgdm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/real-stanford/dgdm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-stanford%2Fdgdm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-stanford%2Fdgdm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-stanford%2Fdgdm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-stanford%2Fdgdm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/real-stanford","download_url":"https://codeload.github.com/real-stanford/dgdm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-stanford%2Fdgdm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267442475,"owners_count":24087805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","robotics"],"created_at":"2024-11-17T15:24:19.458Z","updated_at":"2025-07-28T00:09:49.299Z","avatar_url":"https://github.com/real-stanford.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dynamics-Guided Diffusion Model for Robot Manipulator Design\n\n### [Paper](https://arxiv.org/abs/2402.15038) | [Website](https://dgdm-robot.github.io) | [Video](https://www.youtube.com/watch?v=0m5nTWgHULg)\n[Xiaomeng Xu](https://xxm19.github.io/), [Huy Ha](https://www.cs.columbia.edu/~huy/), [Shuran Song](https://shurans.github.io/)\n\n### Dependencies\nRequired packages can be installed by:\n```\npip install -r requirements.txt\n```\n\n## Data Preparation\n\n### Download object dataset\n#### 2D objects\nDownload 2D object icons from [Icons50 dataset](https://www.kaggle.com/datasets/danhendrycks/icons50).\n\n#### 3D objects\nDownload 3D object meshes from [MuJoCo scanned object dataset](https://github.com/kevinzakka/mujoco_scanned_objects).\n\n### Generate simulation data\nReplace ```OBJECT_DIR``` in ```sim/sim_2d.py``` and ```sim/sim_3d.py``` with the directory to object dataset.\n\nInstall [v-hacd](https://github.com/kmammou/v-hacd).\n\n#### 2D\n```\nbash sim/run_sim_2d.sh\n```\n#### 3D\n```\nbash sim/run_sim_3d.sh\n```\n\nNote 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.\n\n## Training\n[Download pretrained model checkpoints](https://drive.google.com/drive/folders/1jjC6G5Qv_ZkJwTjk2mCBkSyXkZu_w5EB?usp=sharing)\n### Train Dynamics Model\n#### 2D\n```\nbash dynamics/train_dynamics_2d.sh\n```\n#### 3D\n```\nbash dynamics/train_dynamics_3d.sh\n```\n\n### Train Diffusion Model\n#### 2D\n```\nbash generator/train_diffusion_2d.sh\n```\n#### 3D\n```\nbash generator/train_diffusion_3d.sh\n```\n\n## Inference\n### Generate Task-Specific Manipulators\n#### 2D\n```\nbash generator/guided_sample_2d.sh\n```\n#### 3D\n```\nbash generator/guided_sample_3d.sh\n```\n\n## Citation\nIf you find DGDM useful for your work, please cite:\n```\n@misc{xu2024dynamicsguided,\n\ttitle={Dynamics-Guided Diffusion Model for Robot Manipulator Design}, \n\tauthor={Xiaomeng Xu and Huy Ha and Shuran Song},\n\tyear={2024},\n\teprint={2402.15038},\n\tarchivePrefix={arXiv},\n\tprimaryClass={cs.RO}\n}\n```\n\n\n## Contact\nIf you have any questions, please feel free to contact Xiaomeng Xu (xuxm@stanford.edu)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freal-stanford%2Fdgdm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freal-stanford%2Fdgdm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freal-stanford%2Fdgdm/lists"}