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/heads/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.16)
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🚪 With ROS
This work was supported by ARL DCIST CRA W911NF-17-2-0181, NSF FRR CAREER 2045945, 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], and the Korea Institute of Planning and Evaluation for Technology in Food, Agriculture, Forestry (IPET) through the Smart Farm Innovation Technology Development Program, funded by the Ministry of Agriculture, Food and Rural Affairs (MAFRA) (RS-2025-02219411).

