SoFar Execution Benchmark (Open6DOR V2)
March 18, 2025 · View on GitHub
To assess our system, we introduce Open6DOR V2, a largescale robot manipulation benchmark designed for 6-DoF object rearrangement in simulation. This benchmark demands robust positional and orientational reasoning in open-world settings and supports both open-loop and closed-loop robotic control.
Zekun Qi *, Wenyao Zhang *, Yufei Ding *, Runpei Dong, Xinqiang Yu, Jingwen Li, Lingyun Xu, Baoyu Li, Xialin He, Guofan Fan, Jiazhao Zhang, Jiawei He, Jiayuan Gu, Xin Jin, Kaisheng Ma, Zhizheng Zhang, He Wang and Li Yi.
Installation
Create an anaconda environment:
conda create -n sofar_execution python=3.10 (any version above 3.10 should be fine)
conda activate sofar_execution
Clone this repo:
git clone https://github.com/Zhangwenyao1/Open6DOR_V2_Execution
This repository's code is based in the LIBERO.
Install LIBERO:
see LIBERO for installation instructions.
Install GSNET:
see [GSNET/READNE.md]
This code is based on graspnet-baseline, you can use the code to predict the grasp.
Install Motion Planning Moduel:
see [./plan/README.md]
You need modify the checkpoint or config path in following files in plan:
plan/src/utils/constants.py
The motion planning module code is based in the ompl.
Install SoFar:
see SoFar for installation instructions.
Notion:
You have to install GroundingDINO and Florence for the evaluation.
You need modify the checkpoint or config path in following files in SoFar:
SoFar/depth/metric3dv2.py
SoFar/segmentation/grounding_dino.py
SoFar/segmentation/sam.py
SoFar/serve/pointso.py sofar_execution_libero.py (the output folder)
Download Asset and Task Json
Download the Open6dorV2 assets and extract it to ./datasets/open6dor_v2/. The overall directory structure should be:
│Open6DOR_V2_Execution/datasets/objects/
├── objaverse_rescale/
│ ├── 0a51815f3c0941ae8312fc6917173ed6
│ └── ...
├── ycb_16k_backup/
│ └── 0_banana
│ └── ...
Execution
For SoFar:
You can run the evaluation in the script folder for different track:
for the position track:
python sofar_execution/script_open6dor_exec_motion_planning.py sofar --grasp_track_name task_refine_rot --root_dir you_path --output_file your_path --output_root your_path --list_file_path your_path
for the rotation track:
python sofar_execution/script_open6dor_exec_motion_planning_rotonly.py sofar --grasp_track_name task_refine_rotonly --root_dir you_path --output_file your_path --output_root your_path --list_file_path your_path
for the 6 dof track:
python sofar_execution/script_open6dor_exec_motion_planning_rot.py sofar --grasp_track_name task_refine_rot --root_dir you_path --output_file your_path --output_root your_path --list_file_path your_path
Evaluation
python evaluation/evaluation_sofar.py
Acknowledgement
We would like to express our deepest gratitude to haoran liu for the planning module and experiments !!!
Citation
If you find our ideas / environments helpful, please cite our work at
@article{qi2025sofar,
author = {Qi, Zekun and Zhang, Wenyao and Ding, Yufei and Dong, Runpei and Yu, Xinqiang and Li, Jingwen and Xu, Lingyun and Li, Baoyu and He, Xialin and Fan, Guofan and Zhang, Jiazhao and He, Jiawei and Gu, Jiayuan and Jin, Xin and Ma, Kaisheng and Zhang, Zhizheng and Wang, He and Yi, Li},
title = {SoFar: Language-Grounded Orientation Bridges Spatial Reasoning and Object Manipulation},
journal = {arXiv preprint arXiv:2502.13143},
year = {2025}
}