Paper: Learning Equality Constraints for Motion Planning on Manifolds
Video: https://www.youtube.com/watch?v=WoC7nqp4XNk
Citation:
@inproceedings{sutanto2020corl,
Title = {Learning Equality Constraints for Motion Planning on Manifolds},
Author = {Giovanni Sutanto and Isabel M. Rayas Fern{\'a}ndez and Peter Englert and Ragesh K. Ramachandran and Gaurav S. Sukhatme},
Booktitle = {Conference on Robot Learning},
Year = {2020}
}
conda create --name py37 python=3.7
conda activate py37
git clone [email protected]:gsutanto/smp_manifold_learning.git
cd smp_manifold_learning/
pip install -e .
This is the code that was used for the experiments in the paper 'Learning Equality Constraints for Motion Planning on Manifolds'. It has been tested and run using Python 3.7 on Ubuntu 16.04.
The datasets that were used in the paper can be found in the directory 'smp_manifold_learning/data/trajectories/'.
The root folder of this project needs to be added to the PYTHONPATH in order to run the scripts.
The implementation of ECoMaNN can be found in 'smp_manifold_learning/differentiable_models/ecmnn.py'. The implementation of Orthogonal Subspace Alignment (OSA) can be found in 'smp_manifold_learning/orthogonal_subspace_alignment/iosa.py'.
The script that was used for the ablation study in the paper is 'smp_manifold_learning/scripts/run_ablation_test_ecmnn.bash'. After the execution of the script is completed, there is manual selection of best models for each random seed. For example we can pick the best model in 'smp_manifold_learning/plot/ecmnn/3Dsphere/normal/r00/' by observing the file 'smp_manifold_learning/plot/ecmnn/3Dsphere/normal/r00/log.txt' and pick the iteration that has minimum losses. Suppose that is the i-th iteration (i >= 1). Then we need to copy 'smp_manifold_learning/plot/ecmnn/3Dsphere/normal/r00/model_3d_sphere_epoch<i-1>.pth' file into 'smp_manifold_learning/plot/ecmnn/3Dsphere/normal/r00/best/model_3d_sphere.pth' file. We need to this for each random seed. Once done, we can run the projection evaluation function:
cd smp_manifold_learning/scripts/
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so python compute_proj_ecmnn_stats.py -d 1
All code relevant to the scientific contributions of this work are in 'smp_manifold_learning/'.
The VAE models can be generated by running:
cd smp_manifold_learning/scripts/
./vae_trials.py
and entering 'y' for each of the prompts. To see some VAE results and plots from Experiment 1, run:
cd smp_manifold_learning/scripts/
./vae_analysis.py