Skip to content

erl_gaussian_process is a C++ implementation of Gaussian Process.

License

Notifications You must be signed in to change notification settings

ExistentialRobotics/erl_gaussian_process

Repository files navigation

erl_gaussian_process

Tags License: MIT Linux macOS

ROS1 ROS2 ROS2

erl_gaussian_process is a C++ library for Gaussian process regression and applications of Gaussian processes.

Available Functionalities

Getting Started

Prerequisites

  • C++17 compatible compiler
  • CMake 3.24 or higher

Create Workspace

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

Dependencies

# 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 | bash

Docker Option

The easiest way to get started is to use the provided Docker files, which contains all dependencies.

Use as a standard CMake package

cd <your_workspace>
touch CMakeLists.txt

Add 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`

Use as a ROS package

cd <your_workspace>/src
catkin build erl_gaussian_process # for ROS1
colcon build --packages-up-to erl_gaussian_process # for ROS2

Install as a Python package

  • Make sure you have installed all dependencies.
  • Make sure you have the correct Python environment activated, pipenv is 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

About

erl_gaussian_process is a C++ implementation of Gaussian Process.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •