A C++ library for Gaussian Process regression on Signed Distance Fields.
- Gaussian Process Regression: Implements Gaussian Process regression for SDFs.
- Real-time Mapping: Supports real-time mapping with SDFs.
- Accurate SDF Prediction: Provides accurate SDF predictions using Gaussian Processes.
- C++ Implementation: Written in C++ for performance and efficiency.
- Python Bindings: Includes Python bindings for easy integration with Python applications.
- ROS Support: Compatible with both ROS1 (Noetic) and ROS2 (Humble). 🚪 erl_gp_sdf_ros
- C++17 compatible compiler
- CMake 3.24 or higher
mkdir -p <your_workspace>/src && \
vcs import --input https://raw.githubusercontent.com/ExistentialRobotics/erl_gp_sdf/refs/head/main/erl_gp_sdf.repos <your_workspace>/src# Ubuntu 20.04
wget -qO - https://raw.githubusercontent.com/ExistentialRobotics/erl_common/refs/heads/main/scripts/setup_ubuntu_20.04.bash | bash
wget -qO - https://raw.githubusercontent.com/ExistentialRobotics/erl_geometry/refs/heads/main/scripts/setup_ubuntu_20.04.bash | bash
# Ubuntu 22.04, 24.04
wget -qO - https://raw.githubusercontent.com/ExistentialRobotics/erl_common/refs/heads/main/scripts/setup_ubuntu_22.04_24.04.bash | bash
wget -qO - https://raw.githubusercontent.com/ExistentialRobotics/erl_geometry/refs/heads/main/scripts/setup_ubuntu_22.04_24.04.bash | bashThe easiest way to get started is to use the provided Docker files, which contains all dependencies.
cd <your_workspace>
touch CMakeLists.txtAdd the following lines to your CMakeLists.txt:
cmake_minimum_required(VERSION 3.24)
project(<your_project_name>)
add_subdirectory(src/erl_cmake_tools)
add_subdirectory(src/erl_common)
add_subdirectory(src/erl_covariance)
add_subdirectory(src/erl_geometry)
add_subdirectory(src/erl_gaussian_process)
add_subdirectory(src/erl_gp_sdf)Then run the following commands:
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j`nproc`cd <your_workspace>
source /opt/ros/<distro>/setup.bash
# for ROS1
catkin build erl_gp_sdf
source devel/setup.bash
# for ROS2
colcon build --packages-up-to erl_gp_sdf
source install/setup.bashSee also 🚪erl_gp_sdf_ros for additional ROS tools.
- Make sure you have installed all dependencies.
- Make sure you have the correct Python environment activated,
pipenvis recommended.
cd <your_workspace>
for package in erl_cmake_tools erl_common erl_covariance erl_geometry erl_gaussian_process erl_gp_sdf; do
cd src/$package
pip install . --verbose
cd ../..
done- Gallery
- Gaussian Process based surface mapping 2D / 3D
- Gaussian Process based SDF mapping 2D
- Gaussian Process based SDF mapping 3D
🚪 With ROS
This work was supported by the Ministry of Trade, Industry and Energy (MOTIE), Korea, under the Strategic Technology Development Program, supervised by the Korea Institute for Advancement of Technology (KIAT) [Grant No. P0026052].
