Coder Social home page Coder Social logo

zzw1018 / mins_simu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rpng/mins

0.0 0.0 0.0 38.96 MB

An efficient and robust multisensor-aided inertial navigation system with online calibration that is capable of fusing IMU, camera, LiDAR, GPS/GNSS, and wheel sensors. Use cases: VINS/VIO, GPS-INS, LINS/LIO, multi-sensor fusion for localization and mapping (SLAM). This repository also provides multi-sensor simulation and data.

License: GNU General Public License v3.0

Shell 0.72% C++ 98.21% CMake 1.07%

mins_simu's Introduction

MINS

Docker Image CI

An efficient, robust, and tightly-coupled Multisensor-aided Inertial Navigation System (MINS) which is capable of flexibly fusing all five sensing modalities (IMU, wheel encoders, camera, GNSS, and LiDAR) in a filtering fashion by overcoming the hurdles of computational complexity, sensor asynchronicity, and intra-sensor calibration.

Exemplary use case of MINS:

  • VINS (mono, stereo, multi-cam)
  • GPS-IMU (single, multiple)
  • LiDAR-IMU (single, multiple)
  • wheel-IMU
  • Camera-GPS-LiDAR-wheel-IMU or more combinations.

alt text alt text

Key Features

  • Inertial(IMU)-based multi-sensor fusion including wheel odometry and arbitrary numbers of cameras, LiDARs, and GNSSs (+ VICON or loop-closure) for localization.
  • Online calibration of all onboard sensors (check exemplary results).
  • Consistent high-order state on manifold interpolation improved from our prior work (MIMC-VINS) and dynamic cloning strategy for light-weight estimation performance.
  • Multi-sensor simulation toolbox for IMU, camera, LiDAR, GNSS, and wheel enhanced from our prior work (OpenVINS)
  • Evaluation toolbox for consistency, accuracy, and timing analysis.
  • Very detailed options for each sensor enabling general multi-sensor application.

Dependency

MINS is tested on Ubuntu 18 and 20 and only requires corresponding ROS (Melodic and Noetic).

  • Default Eigen version will be 3.3.7 (Noetic) or lower, but if one has a higher version the compilation can be failed due to thirdparty library (libpointmatcher) for LiDAR.

Build and Source

mkdir -p $MINS_WORKSPACE/catkin_ws/src/ && cd $MINS_WORKSPACE/catkin_ws/src/
git clone https://github.com/rpng/MINS
cd .. && catkin build
source devel/setup.bash

Run Examples

Simulation

roslaunch mins simulation.launch cam_enabled:=true lidar_enabled:=true

alt text

Real-World Dataset

Directly reading the ros bag file

roslaunch mins rosbag.launch config:=kaist/kaist_LC path_gt:=urban30.txt path_bag:=urban30.bag

alt text

Here are the rosbag files and ground truths we used in the evaluation. To be specific, we used kaist2bag to convert all sensor readings to rosbag files. All rights reserved to KAIST urban dataset.

Rosbag GT (txt) GT (csv) Rosbag GT (txt) GT (csv)
urban18.bag urban18.txt urban18.csv urban19.bag urban19.txt urban19.csv
urban20.bag urban20.txt urban20.csv urban21.bag urban21.txt urban21.csv
urban22.bag urban22.txt urban22.csv urban23.bag urban23.txt urban23.csv
urban24.bag urban24.txt urban24.csv urban25.bag urban25.txt urban25.csv
urban26.bag urban26.txt urban26.csv urban27.bag urban27.txt urban27.csv
urban28.bag urban28.txt urban28.csv urban29.bag urban29.txt urban29.csv
urban30.bag urban30.txt urban30.csv urban31.bag urban31.txt urban31.csv
urban32.bag urban32.txt urban32.csv urban33.bag urban33.txt urban33.csv
urban34.bag urban34.txt urban34.csv urban35.bag urban35.txt urban35.csv
urban36.bag urban36.txt urban36.csv urban37.bag urban37.txt urban37.csv
urban38.bag urban38.txt urban38.csv urban39.bag urban39.txt urban39.csv

Subscribing to the ros messages

roslaunch mins subscribe.launch config:=euroc_mav rosbag:=V1_03_difficult.bag bag_start_time:=0

alt text

RViz

rviz -d mins/launch/display.rviz

Acknowledgements

This project was built on top of the following libraries which are in the thirdparty folder.

Credit / Licensing

This code was written by the Robot Perception and Navigation Group (RPNG) at the University of Delaware. If you have any issues with the code please open an issue on our GitHub page with relevant implementation details and references. For researchers that have leveraged or compared to this work, please cite the following:

The publication reference will be updated soon.

@article{Lee2023arxiv,
    title        = {MINS: Efficient and Robust Multisensor-aided Inertial Navigation System},
    author       = {Woosik Lee and Patrick Geneva and Chuchu Chen and Guoquan Huang},
    year         = 2023,
    journal      = {arXiv preprint arXiv:2309.15390},
    url          = {https://github.com/rpng/MINS},
}

The codebase and documentation is licensed under the GNU General Public License v3 (GPL-3). You must preserve the copyright and license notices in your derivative work and make available the complete source code with modifications under the same license (see this; this is not legal advice).

mins_simu's People

Contributors

lnexenl avatar woosiklee2510 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.