Skip to content

Latest commit

 

History

History
125 lines (94 loc) · 4.45 KB

README.md

File metadata and controls

125 lines (94 loc) · 4.45 KB

⚙️ Build & Installation

📦 Dependencies

ROBIN has the following dependencies:

  1. OpenMP
  2. Eigen3

Thus, run the following command:

sudo apt-get install gcc g++ build-essential libeigen3-dev cmake python3-pip python3-dev git ninja-build -y

C++ C++ Installation

Run the following commands to build the library using CMake (inside the repository root directory):

mkdir build && cd build
cmake .. && make
sudo make install

The following CMake options are provided:

BUILD_DOCS: Build documentation. Default: OFF
BUILD_TESTS: Enable testing with ctest. Default: ON
BUILD_MATLAB_BINDINGS: Build MATLAB bindings. Default: OFF
USE_ASAN: Enable address sanitizer. Default: OFF
ENABLE_DIAGNOSTIC_PRINT: Enable printing of diagnostic messages. Default: OFF

Python Python Installation

It's simple! To install Python bindings, we need basic packages as follows:

pip3 install --upgrade pip setuptools wheel scikit-build-core ninja cmake build

And then, just run in out-of-the-box (the --verbose option is only for tracking purposes):

pip3 install "git+https://github.com/MIT-SPARK/ROBIN.git#subdirectory=python" --verbose

Using this repository, you can run the following command:

pip3 install -e python/

Please refer to python/example.py for usage instructions.


Third-party Data

Some test data are from the Network Repository. For more information, please refer to:

Rossi, Ryan, and Nesreen Ahmed. "The network data repository with interactive graph analytics and visualization." Twenty-Ninth AAAI Conference on Artificial Intelligence. 2015.

Third-party Code

Known Issues

To fix missing CXXABI errors in MATLAB:

export LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so

Citations

If you find this library helpful or use it in your projects, please cite:

@InProceedings{Shi21icra-robin,
	title={{ROBIN:} a Graph-Theoretic Approach to Reject Outliers in Robust Estimation using Invariants},
	author={J. Shi and H. Yang and L. Carlone},
	booktitle={IEEE Intl. Conf. on Robotics and Automation (ICRA)},
	note = {arXiv preprint: 2011.03659},
	pdf={https://arxiv.org/pdf/2011.03659.pdf},
	year={2021}
}

and

@article{Shi22arxiv-PACE,
  author = {J. Shi and H. Yang and L. Carlone},
  title = {Optimal and Robust Category-level Perception: Object Pose and Shape Estimation from {2D and 3D} Semantic Keypoints},
  journal = {arXiv preprint: 2206.12498},
  pdf = {https://arxiv.org/pdf/2206.12498.pdf},
  Year = {2022}
}

If you are interested in more works from us, please visit our lab page here.