Giter VIP home page Giter VIP logo

vins-fusion-1's Introduction


VINS-Fusion (CPU & GPU version)

  • hardware setup
    • jetson TX2 - Jetpack 4.2
    • jetson AGX Xavier
    • jetson Xavier NX - Jetpack 4.4
    • realsense D435i (color, infra1, infra2)
    • pixhawk4 mini

  • software setup
    • Ubuntu: 18.04
    • ROS: Melodic
    • OpenCV 3.4.1

  • CPU ver. github link: HKUST-Aerial-Robotics
  • GPU ver. github link: HKUST-Aerial-Robotics


Index

1. Prerequisites

    ● Eigen

    ● Ceres solver

2. Install

3. Jetson Boards

    ● Actually, there is no installation difference among TX2, Xavier, and NX

4. Run

    ● Uploaded folders for following setup: D435i, pixhawk4 mini

    ● for using your own sensor setup, you have to get a calibration data using kalibr



1. Prerequisites

● Eigen

  • Use below command or manually download eigen-3.3.9.zip from here
$ wget -O eigen-3.3.9.zip https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.zip 
$ unzip eigen-3.3.9.zip
$ cd ~/eigen-3.3.9 && mkdir build && cd build
$ cmake ../ && sudo make install -j $(nproc)

● Ceres solver

  • Ceres solver from here
$ sudo apt-get install -y cmake libgoogle-glog-dev libatlas-base-dev libsuitesparse-dev
$ wget http://ceres-solver.org/ceres-solver-1.14.0.tar.gz
$ tar zxf ceres-solver-1.14.0.tar.gz
$ cd ceres-solver-1.14.0
$ mkdir build && cd build
$ cmake -DEXPORT_BUILD_DIR=ON \
        -DCMAKE_INSTALL_PREFIX=/usr/local \
        ../
$ make -j $(nproc) # number of cores
$ make test -j $(nproc)
$ sudo make install -j $(nproc)

● cv_bridge

  • if you built OpenCV manually (refer here), you should also build 'cv_bridge' manually from source.
  • Download from proper branch in here according to your ROS version. For example,
$ cd ~/catkin_ws/src
$ git clone -b melodic https://github.com/ros-perception/vision_opencv.git



2. Install

  • CPU version: git clone and build from source
$ cd ~/catkin_ws/src
$ git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
$ cd ../ && catkin build -DCMAKE_BUILDTYPE=Release -j3
$ source ~/catkin_ws/devel/setup.bash
  • GPU version: for more information, refer engcang

  • download

$ cd ~/catkin_ws/src
$ git clone https://github.com/pjrambo/VINS-Fusion-gpu.git
  • edit following CMakeLists.txt (from engcang)

    1. ~/VINS-Mono/loop_fusion/CMakeLists.txt : line 19
      #find_package(OpenCV)
      => include(/usr/local/share/OpenCV/OpenCVConfig.cmake)

    2. ~/VINS-Mono/vins_estimator/CMakeLists.tx: line 20
      #find_package(OpenCV REQUIRED)
      => include(/usr/local/share/OpenCV/OpenCVConfig.cmake)

  • catkin build

$ cd ~/catkin_ws/
$ catkin build -DCMAKE_BUILDTYPE=Release -j $(nproc)
$ source ~/catkin_ws/devel/setup.bash



3. Jetson Boards

● Actually, no installation difference among TX2, Xavier, and NX



4. Run

● Uploaded folders for following setup: D435i, pixhawk4 mini

● for using your own sensor setup, you have to get a calibration data using kalibr

$ roslaunch realsense2_camera rs_camera.launch
$ roslaunch mavros px4.launch
$ rosrun vins vins_node [path of realsense_stereo_imu_config.yaml]
$ rosrun loop_fusion loop_fusion_node [path of realsense_stereo_imu_config.yaml]
$ roslaunch vins vins_rviz.launch

vins-fusion-1's People

Contributors

zinuok avatar

Watchers

 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.