This project is a Work in Progress and is still in its preliminary development stage. It does not guarantee (yet) any support in terms of usage and documentation. The libraries implemented in this repository are still experimental and we cannot guarantee stable API.
Basic information can be found below. More details to be updated soon.
- iDynTree
- Eigen (3.3.9 REQUIRED)
- manif
- BipedalLocomotionFramework
- spdlog
- matioCpp
- OpenCV
- GTSAM
- Catch2 Optional for tests
NOTE: This project uses C++17 standard as a default. In order to avoid unexpected segmentation faults related to Eigen, we recommend to compile GTSAM
with the CMake flags, -DGTSAM_COMPILE_FEATURES_PUBLIC=cxx_std_17
, -DGTSAM_USE_SYSTEM_EIGEN=ON
, -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF
.
git clone https://github.com/ami-iit/kindyn-vio.git
cd kindyn-vio
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=<path/where/you/want/to/install> \
-DCMAKE_BUILD_TYPE=Release \
cmake --build . --config Release --target install
-
CMake structure of the repository is derived from the
BipedalLocomotionFramework
project. -
Perception related libraries are derived from open-source projects
VINS-MONO
andPL-VINS
. It must be noted that these repositories are distributed under GPL v3, and since the classesPointsTracker
andLinesTracker
which are modified versions of the original source code, these classes are distributed under GPL v3 license as well, while the rest of our repository is distributed under LGPL license v3.0 or more. -
Overall software architecture is inspired from the VILENS project from the DRS group in Oxford Research Institute.
Please check doc/support-files/roadmap.md to get an overview of the roadmap of this project.