MINS
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.
Install / Use
/learn @rpng/MINSREADME
MINS
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.

- Publication reference - https://arxiv.org/pdf/2309.15390.pdf
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

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

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 (csv) | GT (txt) | Rosbag | GT (csv) | GT (txt) | | --- | --- | --- | --- | --- | --- | |urban18.bag|urban18.csv|urban18.txt|urban19.bag|urban19.csv|urban19.txt| |urban20.bag|urban20.csv|urban20.txt|urban21.bag|urban21.csv|urban21.txt| |urban22.bag|urban22.csv|urban22.txt|urban23.bag|urban23.csv|urban23.txt| |urban24.bag|urban24.csv|urban24.txt|urban25.bag|urban25.csv|urban25.txt| |urban26.bag|urban26.csv|urban26.txt|urban27.bag|urban27.csv|urban27.txt| |urban28.bag|urban28.csv|urban28.txt|urban29.bag|urban29.csv|urban29.txt| |urban30.bag|urban30.csv|urban30.txt|urban31.bag|urban31.csv|urban31.txt| |urban32.bag|urban32.csv|urban32.txt|urban33.bag|urban33.csv|urban33.txt| |urban34.bag|urban34.csv|urban34.txt|urban35.bag|urban35.csv|urban35.txt| |urban36.bag|urban36.csv|urban36.txt|urban37.bag|urban37.csv|urban37.txt| |urban38.bag|urban38.csv|urban38.txt|urban39.bag|urban39.csv|urban39.txt|
Subscribing to the ros messages
roslaunch mins subscribe.launch config:=euroc_mav rosbag:=V1_03_difficult.bag bag_start_time:=0

RViz
rviz -d mins/launch/display.rviz
Acknowledgements
This project was built on top of the following libraries which are in the thirdparty folder.
- OpenVINS: Open-source filter-based visual-inertial estimator.
- [ikd-tree](https://github.com/hk
Related Skills
node-connect
336.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
336.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.9kCommit, push, and open a PR
