{"id":50622030,"url":"https://github.com/itskalvik/uncertainty-guaranteed-ipp","last_synced_at":"2026-06-06T13:01:24.470Z","repository":{"id":356311528,"uuid":"1100022762","full_name":"itskalvik/uncertainty-guaranteed-ipp","owner":"itskalvik","description":"Informative Path Planning with Guaranteed Estimation Uncertainty (RSS 2026)","archived":false,"fork":false,"pushed_at":"2026-05-27T17:58:18.000Z","size":142426,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T19:27:35.895Z","etag":null,"topics":["gaussian-processes","informative-path-planning","robotics","sensor-placement","sgp-tools"],"latest_commit_sha":null,"homepage":"https://sgp-tools.com","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itskalvik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-19T18:32:14.000Z","updated_at":"2026-05-27T17:58:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/itskalvik/uncertainty-guaranteed-ipp","commit_stats":null,"previous_names":["itskalvik/uncertainty-guaranteed-ipp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/itskalvik/uncertainty-guaranteed-ipp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itskalvik%2Funcertainty-guaranteed-ipp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itskalvik%2Funcertainty-guaranteed-ipp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itskalvik%2Funcertainty-guaranteed-ipp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itskalvik%2Funcertainty-guaranteed-ipp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itskalvik","download_url":"https://codeload.github.com/itskalvik/uncertainty-guaranteed-ipp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itskalvik%2Funcertainty-guaranteed-ipp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33983046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gaussian-processes","informative-path-planning","robotics","sensor-placement","sgp-tools"],"created_at":"2026-06-06T13:01:23.796Z","updated_at":"2026-06-06T13:01:24.461Z","avatar_url":"https://github.com/itskalvik.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Informative Path Planning with Guaranteed Estimation Uncertainty\n\n[![Paper](https://img.shields.io/badge/arXiv-2602.05198-B31B1B.svg)](https://arxiv.org/pdf/2602.05198)\n[![Conference](https://img.shields.io/badge/RSS-2026-blue)](https://roboticsconference.org/)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.sgp-tools.com/#gh-light-mode-only\"\u003e\n    \u003cimg src=\".assets/SGP-Tools.png#gh-light-mode-only\" alt=\"SGP-Tools Logo\" width=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.sgp-tools.com/#gh-dark-mode-only\"\u003e\n    \u003cimg src=\".assets/logo_dark.png#gh-dark-mode-only\" alt=\"SGP-Tools Logo\" width=\"300\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nOfficial repository for the paper **\"Informative Path Planning with Guaranteed Estimation Uncertainty\"**, published at **Robotics: Science and Systems (RSS), 2026**.\n\nThis 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.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://youtu.be/w2nqeO2Ayro\" target=\"_blank\"\u003e\n    \u003cimg src=\".assets/asv.gif\" width=\"49%\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://youtu.be/ZBJ_pd1cSD8\" target=\"_blank\"\u003e\n    \u003cimg src=\".assets/auv.gif\" width=\"49%\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ca href=\"https://www.youtube.com/watch?v=oWUfxSHt7jU\" title=\"Informative Path Planning with Guaranteed Estimation Uncertainty | RSS 2026\"\u003e\n  \u003cimg src=\"https://res.cloudinary.com/marcomontalbano/image/upload/v1779944700/video_to_markdown/images/youtube--oWUfxSHt7jU-c05b58ac6eb4c4700831b2b3070cd403.jpg\" alt=\"Informative Path Planning with Guaranteed Estimation Uncertainty | RSS 2026\" style=\"width: 100%; height: auto;\" /\u003e\n\u003c/a\u003e\n\n---\n\n## 🛠 Repository Structure\n\n```text\n.\n├── datasets/           # SRTM subsets (N02E021, N17E073, N45W123, N47W124)\n├── benchmark.py        # Main benchmarking script, also generates IPP solution figures\n├── plot.py             # Generates benchmark plots from json files generated by benchmark.py\n├── cover.ipynb         # Reproduces the paper's cover page IPP solutions\n├── fov.ipynb           # Coverage-map visualizations for the methods section\n├── requirements.txt    # Project dependencies\n└── README.md\n```\n\n---\n\n## 🚀 Getting Started\n\n### 1. Environment Setup\nWe recommend using a virtual environment (`venv`) or `conda` to manage dependencies.\n\n```bash\n# Clone the repository\ngit clone https://github.com/itskalvik/uncertainty-guaranteed-ipp.git\ncd uncertainty-guaranteed-ipp\n\n# Install dependencies\npython -m pip install -r requirements.txt\n```\n\u003e 📝 Note  \n\u003e This installs `sgptools`, which relies on **TensorFlow** and **GPflow**. A GPU is not required.\n\n### 2. LaTeX Dependency\nThe plotting scripts (`benchmark.py` and `plot.py`) use LaTeX for publication-quality rendering.\n* **If you have LaTeX installed:** No changes needed.\n* **If you do NOT have LaTeX:** Edit the scripts to set `matplotlib.rcParams[\"text.usetex\"] = False`.\n\n---\n\n## 📊 Running Benchmarks\n\n### Step 1: Run the IPP Planners\nExecute 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).\n\n```bash\npython3 benchmark.py ./datasets/N47W124.npy --variance-ratios 0.9 0.8 0.7 0.6 0.5\n```\n\n**Methods included:** `HexCover`, `GreedyCover`, `GCBCover`, and `GCBCover-Dist`.  \n**Outputs:** Solution figures and a comprehensive `results.json` file.\n\n### Step 2: Generate Plots\nOnce the benchmark completes, visualize the performance metrics (MSE, SMSE, Runtime, Distance, etc.):\n\n```bash\n# Set the specific results file generated in Step 1\npython3 plot.py N47W124/Attentive/results.json\n```\n\n---\n\n## 📝 Key Algorithms\nThe following planners are the primary contributions of this work:\n\n* **GreedyCover:** An efficient greedy algorithm for near-optimal IPP with uncertainty guarantees.\n\n* **GCBCover:** Balances information gain and travel costs to solve IPP with uncertainty guarantees under routing constraints.\n\nFor 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).\n\n---\n\n## 🎓 Citation\n\nIf you find this work useful for your research, please cite our RSS 2026 paper:\n\n```bibtex\n@inproceedings{JakkalaAOA26,\n  author    = {Kalvik Jakkala and Saurav Agarwal and Jason O'Kane and Srinivas Akella},\n  title     = {Informative Path Planning with Guaranteed Estimation Uncertainty},\n  booktitle = {Robotics: Science and Systems (RSS)},\n  year      = {2026},\n  url       = {https://www.itskalvik.com/publication/uncertainty-guaranteed-ipp/}\n}\n```\n\n---\n\n## ⚖️ Notes on Reproducibility\n* **Seeds:** `benchmark.py` sets `numpy` and `tensorflow` random seeds.\n* **Hardware:** Minor variations in floating-point math may occur if running on a GPU; however, the algorithmic trends remain consistent.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitskalvik%2Funcertainty-guaranteed-ipp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitskalvik%2Funcertainty-guaranteed-ipp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitskalvik%2Funcertainty-guaranteed-ipp/lists"}