GithubHelp home page GithubHelp logo

zhaohhuicug / sadvio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from isae-pnx/sadvio

0.0 0.0 0.0 18.32 MB

Sparsify and Densify Visual Inertial Odometry

License: GNU General Public License v3.0

Shell 0.04% C++ 99.07% CMake 0.69% Dockerfile 0.20%

sadvio's Introduction

SaDVIO

This library provide a modular C++ framework dedicated on research about Visual Odometry (VO) and Visual Inertial Odometry (VIO). It also contains implementations of research works done at ISAE such as: factor graph sparsification, traversability estimation with 3D mesh and non overlapping field of view VO. This version is compatible with the middleware ROS2.

drawing

Installation

Here are the dependencies:

  • OpenCV for image processing
  • CERES a non linear solver from google
  • Eigen a linera algebra library
  • yaml-cpp to parse config files
  • PCL to deal with point clouds

You can either run this code with ROS2, the famous robotic middleware, or without ROS2. For now it has been tested with Galactic and Humble.

ROS2 install

Once these are all installed, use the following commands to build:

cd ~/your_ws/src
git clone https://github.com/ISAE-PNX/SaDVIO.git
cd ..
colcon build --symlink-install --packages-select isae_slam

Then launch the program with:

ros2 launch isae_slam isae_slam.xml

You can then play a rosbag with the topics specified in the config files.

Classic install

Go in the cpp folder and build it

cd ~/your_ws/src
git clone https://github.com/ISAE-PNX/SaDVIO.git
cd SaDVIO/cpp
mkdir build
cd build
cmake ..
make

You can then run this executable, adding the folder of the config files and the folder of your dataset:

./isaeslam "/ur/path/SaDVIO/ros/config" "/ur/path/V1_01_easy/mav0"

Your dataset must be at the EUROC dataset format and you must edit properly the files in the config folder.

Docker install

We have included a docker installation of SaDVIO in the docker folder. Simply run the run.sh script to build and run the image. A sequence of the EUROC dataset is downloaded for a first try. To run it, do the following:

cd SaDVIO/cpp/build/
./isaeslam "/root/SaDVIO/ros/config" "/root/V1_01_easy/mav0/"

Disclaimer

A few functionnalities are currently being tested, their performances are not guaranteed and were not presented in any paper:

  • The lines as features and landmarks
  • The mono and monovio modes

Please consider citing one of the related work if you use our system in your research:

@inproceedings{sparsifDebeunne,
  author={Debeunne, César and Vallvé, Joan and Torres, Alex and Vivet, Damien},
  booktitle={2023 IEEE/RSJ International Conference on Intelligent Robots and Systems }, 
  title={Fast Bi-Monocular Visual Odometry Using Factor Graph Sparsification}, 
  year={2023},
  pages={10716-10722},
}
@inproceedings{debeunne2023non,
  title={Non-Recovering Field-of-View Imaging-Based SLAM for Lava Tubes Exploration},
  author={Debeunne, C{\'e}sar and Vivet, Damien and Torres, Alex},
  booktitle={17th Symposium on Advanced Space Technologies in Robotics and Automation (ASTRA)},
  year={2023}
}

sadvio's People

Contributors

cdebeunne avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.