This project provides tools for robot LiDAR-based mapping and localization.
This is an advanced and fine-tuned version of open3d_slam that is private to RSL for internal projects and development.
For now to build this repository, you need to:
- make sure CMake version is correct
- install dependencies from
open3d_catkin
- install dependencies for
open3d_slam
Clone the repository to:
mkdir -p catkin_ws/src
cd catkin_ws/src
git clone [email protected]:leggedrobotics/open3d_slam_private.git
- Make sure your CMake > 3.18
cmake --version
If NOT install the cmake from https://cmake.org/download download tar. Unpack tar and
cd cmake-<version>
./configure
make -j<num_of_processes>
sudo make install
- Install the necessary dependencies from
open3d_catkin
:
cd open_3d_slam_rsl/open3d_catkin/
./install_deps.sh
- Install libraries required from
open3d-slam
sudo apt install libgoogle-glog-dev libglfw3 libglfw3-dev liblua5.2-dev
- Install
libnabo
from Anybotics by cloning it tocatkin_ws/src
cd catkin_ws/src
git clone [email protected]:ANYbotics/libnabo.git
And finally:
cd catkin_ws
catkin init
catkin config -DCMAKE_BUILD_TYPE=Release
catkin build open3d_slam_ros
First make sure you have correct topics for LiDAR point cloud and pose prior external odometry.
source devel/setup.sh
To perform mapping and localization, call:
roslaunch open3d_slam_ros development.launch
While playing the rosbag file:
rosbag play --clock --pause -s 0 -r 1.0 <your_great_bag>.bag
The external repositories used in this work are under their respective licenses.
https://github.com/ANYbotics/libpointmatcher , https://github.com/ANYbotics/pointmatcher-ros and https://github.com/ANYbotics/libnabo