Skip to content

DynaVINS : A Visual-Inertial SLAM for Dynamic Environments Exploring BA methods

License

Notifications You must be signed in to change notification settings

mansisarawata/dynaVINS_16833

 
 

Repository files navigation

16833 Advancing Dynamic Visual-Inertial SLAM

A Comprehensive Exploration of Bundle Adjustment Techniques

This repository is dedicated to maintaining synchronization with the official implementation of the 16833 Capstone Project. It serves as the documentation hub for the project, ensuring that the information remains current and up-to-date.

The project aims at exploring different bundle adjustment techniques and their effects on dynamic slam. Traditional SLAM methods often assume static landmarks, leading to localization inaccuracies in dynamic environments where objects such as cars 🚗, humans 🏃, buses 🚌, etc., are present. Building upon the DynaVINS paper , our project aims to address and improve dynamic SLAM challenges.

  • The BA module validated on VIODE dataset dataset similar to DynaVINS.

animated animated


Test Env.

This code is tested on

  • Ubuntu 20.04.4 LTS
  • ROS Noetic
  • Ceres Solver 2.1
  • OpenCV 4.6.0

📦 Prerequisites

The dependency is equal to that of DynaVINS.

Support file from VINS-Fusion

Due to the limiting file size of Github, we need one package and two files from the VINS-Fusion repository.

  1. Set the camera_models package in your workspace, which is included in VINS-Fusion.
  2. Copy support_files/brief_k10L6.bin in VINS-Fusion into our support_files folder
  3. Copy support_files/brief_pattern.yml in VINS-Fusion into our support_files folder

🏗️ How to build

Please follow the below commands to build (on ROS).

$ cd ~/catkin_ws/src 
$ git clone https://github.com/mansisarawata/dynaVINS_16833.git
$ cd ../
$ catkin_make  
(or if you use catkin tools) catkin build
$ source ~/catkin_ws/devel/setup.bash

🏃 To run the demo codes

VIODE dataset (Only BA) example

VIODE sequence with monocular camera + IMU

$ roslaunch dynaVINS viode_mono.launch
$ rosbag play 3_high.bag (or 0_none.bag, 1_low.bag, ...)

📫 Contact Information

If you have any questions, please do not hesitate to contact us:

About

DynaVINS : A Visual-Inertial SLAM for Dynamic Environments Exploring BA methods

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.3%
  • CMake 2.4%
  • C 0.3%