Skip to content

ZhaoyuanZou/BALM

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BALM

Bundle adjustment for lidar mapping

BALM is a basic and simple system to use bundle adjustment (BA) in lidar mapping. It uses an local BA and temporal sliding window to work in real-time. The code is simple with detailed notes and we do not add too many functions which may confuse you when reading the BALM. We will add motion blur, key frame and loop closure to make it a complete SLAM system in next version. The BALM is also a useful tool for multiple lidar calibration and SLAM.

In the development of our package, we reference to [A-LOAM](https://github.com/HKUST-Aerial-Robotics/A-LOAM), [Livox_mapping](https://github.com/Livox-SDK/livox_mapping), and [LeGO-LOAM](https://github.com/RobustFieldAutonomyLab/LeGO-LOAM) for source code or datasets.

Our related paper: our related paper is available on Arxiv:

BALM: Bundle Adjustment for Lidar Mapping

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu 64-bit 16.04. ROS Installation (Kinetic recommended)

1.2 PCL, OpenCV and Eigen

Follow PCL Installation (1.7 recommended). Follow Eigen Installation (3.3.7 recommended). Follow OpenCV Installation (3.3.1 recommanded).

1.3 Livox Ros Driver

Follow livox_ros_driver Installation

2. Build

Clone the repository and catkin_make:

    cd ~/catkin_ws/src
    git clone https://github.com/hku-mars/BALM.git
    cd ../
    catkin_make
    source ~/catkin_ws/devel/setup.bash

3. Run the package

3.1 Livox Horizon

Download 2020_parking_lot and then

    roslaunch balm balm_horizon_outdoor.launch 
    rosbag play YOUR_DOWNLOADED.bag

3.2 Livox Mid-40

Download hall_example and then

    roslaunch balm balm_mid40.launch
    rosbag play YOUR_DOWNLOADED.bag

3.3 VLP-16

Download same_postion (provided by LeGO-LOAM, you can also download by same_position) and then

    roslaunch balm balm_velo16.launch
    rosbag play YOUR_DOWNLOADED.bag

3.4 LOAM as front-end

We also provide a version which uses LOAM as front-end and BALM as back-end like the figure 2 in the paper. Download stairs and then

    roslaunch balm balm_loam_horizon_indoor.launch
    rosbag play YOUR_DOWNLOADED.bag

4 Acknowledements

Thanks for LOAM (J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time), A-LOAM, Livox_mapping, Loam_livox and LeGO-LOAM.

5 Appendix

Simplify covariance matrix

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.2%
  • CMake 0.8%