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
- 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.
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.
For instructions and dependencies for building the package on ros2 you can look into the Dockerfile. After building and sourcing, you should be able to start the simulation with
ros2 run mins simulation mins/config/simulation/config.yamlYou can then start rviz2 to look at the path as estimated through MINS.
For running in real mode you can use:
ros2 run mins subscribe mins/config/shanks/config.yamlAnd then play a bag in another terminal, for example from the euroc_mav, after converting it using rosbags:
ros2 bag play maggi_bag/magg_1Again, you can look at the paths and the pose estimated by MINS with rviz2.

