Skip to content

Implementation of Tightly Coupled 3D Lidar Inertial Odometry and Mapping (LIO-mapping)

License

Notifications You must be signed in to change notification settings

DarrenWong/lio-mapping

 
 

Repository files navigation

LIO-mapping

A Tightly Coupled 3D Lidar and Inertial Odometry and Mapping Approach

Authors: Haoyang Ye, Yuying Chen, and Ming Liu from RAM-LAB.

[Paper], [Project], [Bib]. ICRA 2019.

Table of Contents

Demo Results

lio-mapping-gt lio-mapping-indoor

Video: [More indoor and outdoor tests].

Prerequisites

See Dockerfile as a reference:

  1. ROS with Ubuntu 18.04 or Ubuntu 16.04.
  2. Ceres-solver.
  3. PCL, the default version accompanying by ROS.
  4. OpenCV, the default version accompanying by ROS.

Build

  1. git clone git@github.com:hyye/lio-mapping.git into the src folder of your catkin workspace.
  2. catkin build -DCMAKE_BUILD_TYPE=Release lio or catkin_make -DCMAKE_BUILD_TYPE=Release.

Examples

Some sample data.

  1. source devel/setup.zsh, or setup.bash if your prefer bash.
  2. roslaunch lio test_indoor.launch &.
  3. roslaunch lio map_4D_indoor.launch &.
  4. rosbag play fast1.bag.

Docker

Try it out using docker:

  1. Run docker/build_docker.sh.
  2. Run docker/run_docker.sh.
  3. Run rosbag play fast1.bag, in your host machine or in the running container.

Note: Visualization (rviz) can run in the running container with nvidia-docker. The Dockerfile is compatible with nvidia-docker 2.0; 1.Dockerfile with nvidia-docker 1.0.

Credits

The feature extraction, lidar-only odometry and baseline implemented were heavily derived or taken from the original LOAM and its modified version (the point_processor in our project), and one of the initialization methods and the optimization pipeline from VINS-mono. The copyright headers are retained for the relevant files.

Licence

The source code is released under GPL-3.0.

About

Implementation of Tightly Coupled 3D Lidar Inertial Odometry and Mapping (LIO-mapping)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 90.4%
  • CMake 8.3%
  • Other 1.3%