An open API service indexing awesome lists of open source software.

https://github.com/itskalvik/uncertainty-guaranteed-ipp

Informative Path Planning with Guaranteed Estimation Uncertainty (RSS 2026)
https://github.com/itskalvik/uncertainty-guaranteed-ipp

gaussian-processes informative-path-planning robotics sensor-placement sgp-tools

Last synced: 6 days ago
JSON representation

Informative Path Planning with Guaranteed Estimation Uncertainty (RSS 2026)

Awesome Lists containing this project

README

          

# Informative Path Planning with Guaranteed Estimation Uncertainty

[![Paper](https://img.shields.io/badge/arXiv-2602.05198-B31B1B.svg)](https://arxiv.org/pdf/2602.05198)
[![Conference](https://img.shields.io/badge/RSS-2026-blue)](https://roboticsconference.org/)



SGP-Tools Logo


SGP-Tools Logo

Official repository for the paper **"Informative Path Planning with Guaranteed Estimation Uncertainty"**, published at **Robotics: Science and Systems (RSS), 2026**.

This repository contains the benchmarking scripts used to produce the figures and experimental results presented in the paper. Our core IPP plannersβ€”**GreedyCover** and **GCBCover**β€”are integrated into the [SGP-Tools](https://www.sgp-tools.com/) library.









Informative Path Planning with Guaranteed Estimation Uncertainty | RSS 2026

---

## πŸ›  Repository Structure

```text
.
β”œβ”€β”€ datasets/ # SRTM subsets (N02E021, N17E073, N45W123, N47W124)
β”œβ”€β”€ benchmark.py # Main benchmarking script, also generates IPP solution figures
β”œβ”€β”€ plot.py # Generates benchmark plots from json files generated by benchmark.py
β”œβ”€β”€ cover.ipynb # Reproduces the paper's cover page IPP solutions
β”œβ”€β”€ fov.ipynb # Coverage-map visualizations for the methods section
β”œβ”€β”€ requirements.txt # Project dependencies
└── README.md
```

---

## πŸš€ Getting Started

### 1. Environment Setup
We recommend using a virtual environment (`venv`) or `conda` to manage dependencies.

```bash
# Clone the repository
git clone https://github.com/itskalvik/uncertainty-guaranteed-ipp.git
cd uncertainty-guaranteed-ipp

# Install dependencies
python -m pip install -r requirements.txt
```
> πŸ“ Note
> This installs `sgptools`, which relies on **TensorFlow** and **GPflow**. A GPU is not required.

### 2. LaTeX Dependency
The plotting scripts (`benchmark.py` and `plot.py`) use LaTeX for publication-quality rendering.
* **If you have LaTeX installed:** No changes needed.
* **If you do NOT have LaTeX:** Edit the scripts to set `matplotlib.rcParams["text.usetex"] = False`.

---

## πŸ“Š Running Benchmarks

### Step 1: Run the IPP Planners
Execute the benchmark on one of the provided datasets by sweeping through target variance thresholds (expressed as ratios of the initial pilot model's max variance).

```bash
python3 benchmark.py ./datasets/N47W124.npy --variance-ratios 0.9 0.8 0.7 0.6 0.5
```

**Methods included:** `HexCover`, `GreedyCover`, `GCBCover`, and `GCBCover-Dist`.
**Outputs:** Solution figures and a comprehensive `results.json` file.

### Step 2: Generate Plots
Once the benchmark completes, visualize the performance metrics (MSE, SMSE, Runtime, Distance, etc.):

```bash
# Set the specific results file generated in Step 1
python3 plot.py N47W124/Attentive/results.json
```

---

## πŸ“ Key Algorithms
The following planners are the primary contributions of this work:

* **GreedyCover:** An efficient greedy algorithm for near-optimal IPP with uncertainty guarantees.

* **GCBCover:** Balances information gain and travel costs to solve IPP with uncertainty guarantees under routing constraints.

For standalone use of these planners in your own projects, please refer to the [SGP-Tools documentation](https://www.sgp-tools.com/tutorials/uncertainty_guaranteed_IPP.html).

---

## πŸŽ“ Citation

If you find this work useful for your research, please cite our RSS 2026 paper:

```bibtex
@inproceedings{JakkalaAOA26,
author = {Kalvik Jakkala and Saurav Agarwal and Jason O'Kane and Srinivas Akella},
title = {Informative Path Planning with Guaranteed Estimation Uncertainty},
booktitle = {Robotics: Science and Systems (RSS)},
year = {2026},
url = {https://www.itskalvik.com/publication/uncertainty-guaranteed-ipp/}
}
```

---

## βš–οΈ Notes on Reproducibility
* **Seeds:** `benchmark.py` sets `numpy` and `tensorflow` random seeds.
* **Hardware:** Minor variations in floating-point math may occur if running on a GPU; however, the algorithmic trends remain consistent.