Skip to content
gisbi-kimPublic

About

A Modular Framework for LiDAR-based Lifelong Mapping

Topics

Resources

Stars

554 stars

Watchers

29 watching

Forks

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LT-mapper: A Modular Framework for LiDAR-based Lifelong Mapping

LT-mapper is an open-source, modular framework designed for LiDAR-based lifelong mapping in dynamic environments. It enables robots to maintain accurate 3D maps over long time scales, addressing challenges such as:

  • Multi-session trajectory alignment (LT-SLAM)
  • High/low dynamic object filtering and change detection (LT-removert)
  • Efficient map management and change composition (LT-map)

The framework supports real-world scenarios, handling ephemeral and persistent changes across multiple sessions without requiring perfect initial alignment.

For more deatils, please refer to our paper and video.

Features

  • Multi-Session SLAM (LT-SLAM): Align multiple sessions in a shared coordinate system using anchor-node-based pose graph optimization.
  • Dynamic Object Removal (LT-removert): Efficiently filter high dynamic points and detect low-dynamic changes between sessions.
  • Map Management (LT-map): Maintain live maps, generate meta-maps, and efficiently compose changes using delta maps.
  • Seamless Modular Integration: Each module can run seperately via file-based in/out protocol.

Getting Started

Prerequisites

  • ROS (tested with Melodic and Noetic)
sudo apt install -y ros-distro-navigation
sudo apt install -y ros-distro-robot-localization
sudo apt install -y ros-distro-robot-state-publisher
  • GTSAM
sudo add-apt-repository ppa:borglab/gtsam-release-4.0
sudo apt install -y libgtsam-dev libgtsam-unstable-dev

Installation

Clone the repository

cd ~/catkin_ws/src
git clone https://github.com/gisbi-kim/lt-mapper

Build the package

cd ..
catkin build ltslam removert

Using Docker

cd ~/catkin_ws/src/lt-mapper/docker
bash build.sh
bash run.sh

or you can pull the pre-built image from Docker Hub.

docker pull dongjae0107/lt-mapper:latest
bash run.sh

How to use it

0. Single-session Data Generation

To run the LT-mapper, you first need to generate a set of session data containing the following files:

  • Keyframe Point Clouds
  • Keyframe Scan Context Descriptors (SCDs)
  • Pose Graph File

You can generate these session data files using the saver tool provided with SC-LIO-SAM. Alternatively, the saver is also available in SC-A-LOAM and FAST_LIO_SLAM.

1. LT-SLAM

LT-SLAM module aligns trajectories across multiple sessions. For a step-by-step guide, check out this tutorial video.

# modify paths in ltslam/config/params.yaml before you run
roslaunch ltslam run.launch

2. LT-removert & LT-map

LT-removert & LT-map module utilize Removert to clean single-session data and detect changes between two sessions.

# modify paths in ltremovert/config/params_ltmapper.yaml before you run
roslaunch removert run_ltmapper.launch

Outputs

Once the process is complete, following outputs will be generated:

Example: LT-mapper on ParkingLot dataset

You can download the ParkingLot dataset from this link. To replay the data, you may need a file player.

ParkingLot dataset includes 6 sequences captured over three days at the same spatial site but with varying initial poses.

Step 1: Run LT-SLAM

Update paths in ltslam/config/param.yaml and execute LT-SLAM.

LT-SLAM will automatically align multiple sessions within a shared coordinate system.

Step 2: Run LT-Removert & LT-Map

Update paths in ltremovert/config/param_ltmapper.yaml and execute LT-removert & LT-map.

After running LT-Removert & LT-Map, you will get cleaned session data and detected changes between sessions.

Citation

@inproceedings{kim2022lt,
  title={Lt-mapper: A modular framework for lidar-based lifelong mapping},
  author={Kim, Giseop and Kim, Ayoung},
  booktitle={2022 International Conference on Robotics and Automation (ICRA)},
  pages={7995--8002},
  year={2022},
  organization={IEEE}
}

Contact

  • Maintained by Giseop Kim and please contact the author via gsk@dgist.ac.kr

Acknowledgement

  • Big thanks to Dongjae Lee for contributions in refactoring, dockerization, documentation, and various verifications.

Contributors

About

A Modular Framework for LiDAR-based Lifelong Mapping

Topics

Resources

Stars

554 stars

Watchers

29 watching

Forks

Releases

Packages

Contributors

Languages