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
BipedalLocomotionFrameworkproject. - 
Perception related libraries are derived from open-source projects
VINS-MONOandPL-VINS. It must be noted that these repositories are distributed under GPL v3, and since the classesPointsTrackerandLinesTrackerwhich 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.