BLAM! is an open-source software package for LiDAR-based real-time 3D localization and mapping. BLAM! is developed by Erik Nelson from the Berkeley AI Research Laboratory (BAIR). See https://youtu.be/08GTGfNneCI for a video example.
This repository contains two ROS workspaces (one internal, one external). The build process is proctored by the update
script. To build, first make sure that you do not have any other ROS workspaces in your ROS_PACKAGE_PATH
, then clone the repository and from the top directory execute
./update
BLAM! is written in C++ with some Python interface elements, wrapped by
Robot Operating System (ROS). Input LiDAR data should be
provided to the /velodyne_points
topic using message type sensor_msgs::PointCloud2
.
To run in online mode (e.g. by replaying a bag file from another terminal or using a real-time sensor stream), use
roslaunch blam_example test_online.launch
To run in offline mode, i.e. by loading a bagfile and processing its data as
fast as possible, set the bagfile name and scan topic in
blam_example/launch/test_offline.launch
, and use
roslaunch blam_example test_offline.launch
An example .rviz configuration file is provided under
blam_example/rviz/lidar_slam.rviz
.
BLAM! relies on system installations of the following packages: