QPEP (Quadratic Pose Estimation Problems) Enhanced VINS-Mono SLAM System

Overview

VINS-Mono-QPEP

The QPEP (Quadratic Pose Estimation Problems) Enhanced VINS-Mono (Originated from https://github.com/HKUST-Aerial-Robotics/VINS-Fusion) . The details of the QPEP can be found in https://github.com/zarathustr/LibQPEP.

We use the QPEP to solve the problem that in previous version of VINS-Mono, the PnP algorithm in the initialization SFM framework was not completely working. The original problem was that, due to the usage of OpenCV PnP and improper initial guess (e.g. R = I and t = 0), the PnP algorithm, being a highly non-convex one, was not able to converge to a satisfactory global minimum. This problem has been solved by using the QPEP, which guarantees the global optimality.

Usage

Some of the codes are modified to adapt the ROS Noetic and Clang compiler. Therefore, the use of ROS Noetic is recommended. First go to https://github.com/zarathustr/LibQPEP for the repo of LibQPEP. Then, follow the instructions to install the library:

cd LibQPEP
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make install

Then, clone the current repo to your catkin workspace and conduct catkin build:

cd catkin_ws/src
git clone https://github.com/zarathustr/VINS-Mono-QPEP
catkin build

Once finished, use the following command to run the demo from EuroC MAV Dataset:

roslaunch vins_estimator_QPEP euroc.launch

In another independent terminal, run

roslaunch vins_estimator vins_rviz.launch

In the terminal window of vins_estimator_QPEP, you will find:

QPEP PnP Converged

if the QPEP has been successfully executed for initialization of VINS-Mono.

Owner
Jin Wu
I was born in May, 1994, in Zhenjiang, Jiangsu, China. I am a researcher on robotics and navigation technology, from RAM-LAB, HKUST.
Jin Wu
The QPEP-Enhanced Direct Sparse Odometry (DSO) with Loop Closure

QPEP-DSO: Quadratic Pose Estimation Problems (QPEP) Enhanced Direct Sparse Odometry with Loop Closure Code Arch The codes are motivated by DSO (https:

Jin Wu 8 Jun 23, 2022
A C# hot reload framework for Unity3D, based on Mono's MONO_AOT_MODE_INTERP mode.

PureScript 一个支持Unity3D的C#热更框架,基于Mono的MONO_AOT_MODE_INTERP模式。 支持在iOS平台Assembly.Load 构建时自动绑定Unity的Il2cpp代码。 支持大部分Unity特性,包括MonoBehaviour、Coroutine。 支持配置

null 260 Aug 9, 2022
A universal way to create a noclip mod in Unity games (Mono/IIL2CPP)

Universal-Unity-NoClip This projects aim to show how a noclip mod can be created in any unity game, regardless if its using an il2cpp or mono backend.

Jonah 21 Jul 24, 2022
Fisheye version of VINS-Fusion

VINS-Fisheye This repository is a Fisheye version of VINS-Fusion with GPU and Visionworks acceleration. It can run on Nvidia TX2 in real-time, also pr

HKUST Aerial Robotics Group 26 Jun 19, 2022
Visual Studio native debugger extension to help debug native applications using Mono.

Unity Mixed Callstack UnityMixedCallstack is a Visual Studio 2017/2019 extension to help debug native applications embedding Mono, like Unity. If you

Unity Technologies 73 Aug 5, 2022
Tightly coupled GNSS-Visual-Inertial system for locally smooth and globally consistent state estimation in complex environment.

GVINS GVINS: Tightly Coupled GNSS-Visual-Inertial Fusion for Smooth and Consistent State Estimation. paper link Authors: Shaozu CAO, Xiuyuan LU and Sh

HKUST Aerial Robotics Group 490 Aug 11, 2022
Quake Enhanced Capture the Flag multiplayer mod

QECTF Quake Enhanced Capture the Flag multiplayer mod What is it? This is a multiplayer deathmatch mod for Quake Enhanced that adds basic capture the

null 4 Jun 21, 2022
Plus42 : An Enhanced HP-42S Calculator Simulator

------------------------------------------------------------------------------- Plus42 is an advanced scientific programmable calculator app. It simul

Thomas Okken 12 Mar 8, 2022
Quake Enhanced mod where one player (The Juggernaut) is very strong and all other players have to kill the Juggernaut

QE Juggernaut Quake Enhanced Juggernaut (A modification of the QEHunter mod by JPiolho.) This is a multiplayer mod where one player is the Juggernaut.

null 2 Jun 6, 2022
A powerful duplicate file finder and an enhanced fork of 'fdupes'.

Introduction jdupes is a program for identifying and taking actions upon duplicate files. A WORD OF WARNING: jdupes IS NOT a drop-in compatible replac

Jody Bruchon 1.2k Aug 1, 2022
A Visual Studio extension that provides enhanced support for editing High Level Shading Language (HLSL) files

HLSL Tools for Visual Studio This extension is for Visual Studio 2017 / 2019. Go here for the Visual Studio Code extension. HLSL Tools is a Visual Stu

Tim Jones 404 Aug 3, 2022
A Quake Enhanced mod to manipulate entities. Inspired by the Half-Life metamod plugin 'Entmod'

QEEntmod A Quake Enhanced mod to manipulate entities. Inspired by the Half-Life metamod plugin 'Entmod' Can be used standalone or easily implemented i

null 2 Jul 5, 2022
OpenVi is an enhanced and portable implementation of the Berkeley vi / ex text editor, originally developed by Bill Joy.

OpenVi is an enhanced and portable implementation of the Berkeley vi / ex text editor, originally developed by Bill Joy.

Jeffrey H. Johnson 91 Aug 9, 2022
Total Registry - enhanced Registry editor/viewer

Total Registry Replacement for the Windows built-in Regedit.exe tool. Improvements over that tool include: Show real Registry (not just the standard o

Pavel Yosifovich 976 Aug 10, 2022
`lv_lib_100ask` is a reference for various out of the box schemes based on lvgl library or an enhanced interface for various components of lvgl library.

Introduction lv_lib_100ask is a reference for various out of the box schemes based on lvgl library or an enhanced interface for various components of

100askTeam 21 Aug 11, 2022
I modified the colmap,when it reconstructs from known pose ,only let it optimize rotation ,fixing position!

Mapping-base-lidar-pose-or-vslam-pose I simply modified the colmap,when it reconstructs from known pose ,only let it optimize rotation ,fixing positio

李城(大橙子) 19 Jun 20, 2022
Phan Sang 8 Jul 30, 2022
6D - Pose Annotation Tool (6D-PAT) - is a tool that allows the user to load a set of images and also a set of 3D models and annotate where in the 2D image the 3D object ist placed.

6D - Pose Annotation Tool (6D-PAT) For detiled explanations checkout the WikiPage. What is it? With 6D-PAT you can create 6D annotations on images for

Florian Blume 64 Aug 4, 2022
Robust LiDAR SLAM

SC-A-LOAM What is SC-A-LOAM? A real-time LiDAR SLAM package that integrates A-LOAM and ScanContext. A-LOAM for odometry (i.e., consecutive motion esti

Giseop Kim 216 Aug 8, 2022