Official implementation of master's thesis "Graph Diffusion for Imitation Leraning in Robotics" at IAS/PEARL - TU Darmstadt, Germany.
To install the dependencies, run
$ mamba env create -f conda_environment.yaml
When using robosuite, the environments are based on v1.4.1 but using the direct joint values as well in the actions. To add that to the robosuite environments, the file robosuite/robosuite/models/robots/robot.py
should be modified to include (flag as True) the robot{i}_joint_pos
in the actives
list in the setup_observables()
method (line 204).
To download the training data used (from the Robomimic project), use the following commands from within the robomimic/robomimic/scrips
directory:
# Download from robomimic
python download_datasets.py --tasks lift square transport --dataset_types ph mh --hdf5_types low_dim
# Move to /data directory
cd ../../datasets
mv * ~/workspace/GraphDiffusionImitate/data/
Denoising diffusion on top of the graph's node features, based on Denoising Diffusion Probabilistic Models (DDPM) from Ho et al..
Autoregressive graph generation for an graph-structured robot action, based on the GraphARM model from Kong et al..
This repo relies on the following existing codebases / datasets:
- Dataset from lift, square and transport tasks from robosuite
- Benchmark model from diffusion_policy
- EGNN implementation from Satorras