Learning Coordinated Bimanual Manipulation Policies using State Diffusion and Inverse Dynamics Models
Haonan Chen1, Jiaming Xu*1, Lily Sheng*1, Tianchen Ji1 Shuijing Liu3 Yunzhu Li2, Katherine Driggs-Campbell1
1University of Illinois, Urbana-Champaign, 2Columbia University, 3The University of Texas at Austin
We recommend using Mambaforge over the standard Anaconda distribution for a faster installation process. Create your environment using:
-
Install the necessary dependencies:
sudo apt install -y libosmesa6-dev libgl1-mesa-glx libglfw3 patchelf libglm-dev -
Clone the repository:
git clone https://github.com/haonan16/state_diff.git cd state_diff/
-
Update
mamba, and create and activate the environment:To update
mambaand create the environment, use the following commands:mamba install mamba=1.5.1 -n base -c conda-forge mamba env create -f conda_environment.yaml mamba activate coord_bimanual
mkdir -p dataPlace the pushl dataset in the data folder. The directory structure should be:
To obtain the dataset, download the corresponding zip file and unzip it from the following link:
You can automate this process by running the following command:
gdown https://drive.google.com/uc?id=1433HHxOH5nomDZ12aUZ4XZel4nVO_uwL -O data/pushl_dataset.zip
unzip data/pushl_dataset.zip -d data
rm data/pushl_dataset.zipFor datasets from other simulation benchmarks, you can find them here:
Once downloaded, extract the contents into the data folder.
Directory structure:
data/
└── pushl_dataset/
Activate conda environment and login to wandb (if you haven't already).
conda activate coord_bimanual
wandb loginRun the following script to collect human demonstration:
python demo_push_data_collection.pyThe agent agent position can be controlled by the mouse. The following keys can be used to control the environment:
Space- Pause and step forward (incrementsplan_idx)R- Retry current attemptQ- Exit the script
To launch training, run:
python train.py \
--config-name=train_diffusion_trajectory_unet_lowdim_workspace.yaml - Policy training implementation is adapted from Diffusion Policy.
