- Code for training and testing.
- Pre-trained models for isaacgym3.
- Pre-trained models for isaacgym4.
PROJECT
└── Logs
└── Results
└── results_train
└── results_distill
└── results_trajectory
└── Assets
└── datasetv4.1_posedata.npy
└── meshdatav3_pc_feat
└── meshdatav3_scaled
└── meshdatav3_init
└── textures
└── mjcf
└── urdf
└── isaacgym3
└── isaacgym4
└── UniGraspTransformer
└── results
└── dexgrasp
Create conda env:
conda create -n dexgrasp python=3.8
conda activate dexgrasp
Install isaacgym3 as used in our paper:
cd PROJECT/isaacgym3/isaacgym3/python
pip install -e .
Install UniGraspTransformer:
cd PROJECT/UniGraspTransformer
bash install.sh
Download meshdatav3_pc_feat.zip and meshdatav3_scaled.tar.xz from UniDexGrasp++.
Download meshdatav3_init.zip from here. Download datasetv4.1_posedata.npy from here.
cd PROJECT/UniGraspTransformer/dexgrasp/
Train&Test dedicated policy for single $nline=0 object in $Object_File=train_set_results.yaml:
python run_online.py --task StateBasedGrasp --algo ppo --seed 0 --rl_device cuda:0 \
--num_envs 1000 --max_iterations 10000 --config dedicated_policy.yaml --headless \
--object_scale_file train_set_results.yaml --start_line 0 --end_line 1
python run_online.py --task StateBasedGrasp --algo ppo --seed 0 --rl_device cuda:0 \
--num_envs 1000 --max_iterations 10000 --config dedicated_policy.yaml --headless --test --test_iteration 1 \
--object_scale_file train_set_results.yaml --start_line 0 --end_line 1
Generate trajectories for single $nline=0 object in $Object_File=train_set_results.yaml:
python run_online.py --task StateBasedGrasp --algo ppo --seed 0 --rl_device cuda:0 \
--num_envs 100 --max_iterations 10000 --config dedicated_policy.yaml --headless --test --test_iteration 10 \
--object_scale_file train_set_results.yaml --start_line 0 --end_line 1 --save --save_train --save_render
Script: Repeat step1 and step2 for multiple $nline objects, like from 0 to 9:
bash run_online_parallel.sh 0 9 10 dedicated_policy.yaml train_set_results.yaml
Train state-based and vision-based universal policies on objects 0~9:
python run_offline.py --start 0 --finish 9 --config universal_policy_state_based.yaml --object train_set_results.yaml --device cuda:0
python run_offline.py --start 0 --finish 9 --config universal_policy_vision_based.yaml --object train_set_results.yaml --device cuda:0
Test state-based universal policy on $nline=0 object.
python run_online.py --task StateBasedGrasp --algo dagger_value --seed 0 --rl_device cuda:0 \
--num_envs 1000 --max_iterations 10000 --config universal_policy_state_based.yaml --headless --test --test_iteration 1 \
--model_dir distill_0000_0009 --object_scale_file train_set_results.yaml --start_line 0 --end_line 1
Test vision-based universal policy on $nline=0 object.
python run_online.py --task StateBasedGrasp --algo dagger_value --seed 0 --rl_device cuda:0 \
--num_envs 1000 --max_iterations 10000 --config universal_policy_vision_based.yaml --headless --test --test_iteration 1 \
--model_dir distill_0000_0009 --object_scale_file train_set_results.yaml --start_line 0 --end_line 1
Script: Train&test state-based and vision-based universal policies on objects 0~9:
bash run_offline_parallel.sh 0 9 10 universal_policy_state_based.yaml train_set_results.yaml
bash run_offline_parallel.sh 0 9 10 universal_policy_vision_based.yaml train_set_results.yaml
Test pre-trained state-based universal policy on train, test_seen_cat, and test_unseen_cat:
bash run_offline_parallel.sh 0 3199 3199 universal_policy_state_based.yaml train_set_results.yaml distill_0000_3199
bash run_offline_parallel.sh 0 139 140 universal_policy_state_based.yaml test_set_seen_cat_results.yaml distill_0000_3199
bash run_offline_parallel.sh 0 99 100 universal_policy_state_based.yaml test_set_unseen_cat_results.yaml distill_0000_3199
Test pre-trained vision-based universal policy on train, test_seen_cat, and test_unseen_cat:
bash run_offline_parallel.sh 0 3199 3199 universal_policy_vision_based.yaml train_set_results.yaml distill_0000_3199
bash run_offline_parallel.sh 0 139 140 universal_policy_vision_based.yaml test_set_seen_cat_results.yaml distill_0000_3199
bash run_offline_parallel.sh 0 99 100 universal_policy_vision_based.yaml test_set_unseen_cat_results.yaml distill_0000_3199