erl_gaussian_process is a C++ library for Gaussian process regression and applications of Gaussian processes.
- Vanilla Gaussian Process - Standard Gaussian process regression
- Lidar Gaussian Process 2D - Multi-partition Gaussian process regression for 2D lidar data
- Noisy Input Gaussian Process - Gaussian process regression with noisy input
- Range Sensor Gaussian Process 3D - 3D Gaussian process for range sensor data
- Sparse Pseudo Input Gaussian Process - Sparse GP using pseudo inputs
- Batch GP Update Torch - Batch GP updates using PyTorch backend
- SPGP Occupancy Map - Sparse GP for occupancy mapping
- Mapping - General mapping utilities to transform input and output data
- C++17 compatible compiler
- CMake 3.24 or higher
cd <your_workspace>
mkdir -p src
vcs import --input https://raw.githubusercontent.com/ExistentialRobotics/erl_gaussian_process/refs/head/main/erl_gaussian_process.repos 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)Then run the following commands:
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j`nproc`cd <your_workspace>/src
catkin build erl_gaussian_process # for ROS1
colcon build --packages-up-to erl_gaussian_process # for ROS2- 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; do
cd src/$package
pip install . --verbose
cd ../..
done