This is the official experiments code for the paper CHSEL: Producing Diverse Plausible Pose Estimates from Contact and Free Space Data. If you use it, please cite
@inproceedings{zhong2023chsel,
title={CHSEL: Producing Diverse Plausible Pose Estimates from Contact and Free Space Data},
author={Zhong, Sheng and Fazeli, Nima and Berenson, Dmitry},
booktitle={Robotics science and systems},
year={2023}
}
- install pytorch3d (various ways, but probably easiest through conda)
- install base experiments by following its readme
- install stucco experiments by following its readme
- clone repository locally and
cd
into it pip install -e .
This is the full experiments to reproduce the results from the paper. See the light-weight library repository for how to use CHSEL in your projects. See the website for videos and a high level introduction.
The instructions below are for all methods across all tasks. To specify a set of tasks, use the --task
argument, such
as --task drill mustard
to run only the methods on the drill and mustard pokes. To specify which methods to run, use
the --registration
argument, such as --registration icp medial-constraint
to run only the ICP and medial constraint
baselines. By default, 5 random seeds (0,1,2,3,4) are used; to run using other random seeds use the --seed
argument,
such as --seed 23 42
to run with seeds 23 and 42.
Generate and export data for offline baselines:
python run_many_registration_experiments.py --experiment build --no_gui
python run_many_registration_experiments.py --registration none --no_gui
Generate plausible set for plausible diversity evaluation
python run_many_registration_experiments.py --experiment generate-plausible-set --seed 0 --no_gui
Run poking experiments for all methods (CVO requires preprocessing; see below)
python run_many_registration_experiments.py --experiment poke --no_gui
Evaluate all methods on their plausible diversity
python run_many_registration_experiments.py --experiment evaluate-plausible-diversity --no_gui
Plotting results (images saved under data/img
)
python run_many_registration_experiments.py --experiment plot-poke-pd --no_gui
Generate gifs from the logged images after cd
ing into their log directories:
ffmpeg -i %d.png -vf palettegen palette.png
ffmpeg -i %d.png -i palette.png -lavfi paletteuse all.gif
CVO
- download docker image https://github.com/UMich-CURLY/docker_images/tree/master/cvo_gpu
- build docker image and follow instructions
- first start container with
bash run_cuda_docker.bash cvo
in thedocker/images/cvo_gpu
directory (script modified to mount shared data directory) - for later uses, restart latest container with "docker start -a -i
docker ps -q -l
" - build CVO
- run script inside build on a single trajectory
bin/cvo_align_manip_freespace ../data/poke/MUSTARD_0.txt ../data/poke/MUSTARD.txt ../cvo_params/cvo_geometric_params_gpu.yaml
- run script for all trajectories of a task
python3 ../scripts/run_many_manip_experiments.py --task mustard mustard_fallen drill