Skip to content
Advanced implementation of LOAM
Branch: devel
Clone or download
Latest commit e51f88c Mar 28, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker update launch file name Mar 28, 2019
include/aloam_velodyne change name Mar 9, 2019
launch update launch file name Mar 28, 2019
picture update readme Mar 8, 2019
rviz_cfg add tf publisher Mar 13, 2019
.gitignore add kitti_helper and other changes Mar 7, 2019
CMakeLists.txt fix point bug in mapping; rename node; change 16 scan id Mar 11, 2019
LICENSE update readme Mar 8, 2019 update readme Mar 28, 2019
package.xml change name Mar 9, 2019


Advanced implementation of LOAM

A-LOAM is an Advanced implementation of LOAM (J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time), which uses Eigen and Ceres Solver to simplify code structure. This code is modified from LOAM and LOAM_NOTED. This code is clean and simple without complicated mathematical derivation and redundant operations. It is a good learning material for SLAM beginners.

Modifier: Tong Qin, Shaozu Cao

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic. ROS Installation

1.2. Ceres Solver

Follow Ceres Installation.

1.3. PCL

Follow PCL Installation.

2. Build A-LOAM

Clone the repository and catkin_make:

    cd ~/catkin_ws/src
    git clone
    cd ../
    source ~/catkin_ws/devel/setup.bash

3. Velodyne VLP-16 Example

Download NSH indoor outdoor to YOUR_DATASET_FOLDER.

    roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
    rosbag play YOUR_DATASET_FOLDER/nsh_indoor_outdoor.bag

4. KITTI Example (Velodyne HDL-64)

Download KITTI Odometry dataset to YOUR_DATASET_FOLDER and set the dataset_folder and sequence_number parameters in kitti_helper.launch file. Note you also convert KITTI dataset to bag file for easy use by setting proper parameters in kitti_helper.launch.

    roslaunch aloam_velodyne aloam_velodyne_HDL_64.launch
    roslaunch aloam_velodyne kitti_helper.launch

5. Docker Support

To further facilitate the building process, we add docker in our code. Docker environment is like a sandbox, thus makes our code environment-independent. To run with docker, first make sure ros and docker are installed on your machine. Then add your account to docker group by sudo usermod -aG docker $YOUR_USER_NAME. Relaunch the terminal or logout and re-login if you get Permission denied error, type:

cd ~/catkin_ws/src/A-LOAM/docker
make build

The build process may take a while depends on your machine. After that, run ./ 16 or ./ 64 to launch A-LOAM, then you should be able to see the result.


Thanks for LOAM(J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time) and LOAM_NOTED.

You can’t perform that action at this time.