Skip to content

Repository files navigation

Learning-Guided Sparsification of Dynamic Graphs in Robotic Exploration

Description 1 Description 2 Description 3
Exploration without pruning. Exploration under random pruning. Exploration under learned pruning.

Overview

This project presents a transformer-based framework trained with Proximal Policy Optimization (PPO) to prune dynamic graphs used in autonomous robotic exploration algorithms. Our approach improves exploration efficiency by up to 2.1 percentage points and boosts runtimes by up to 2x, and generalizes to highly varied and complex environments and long-horizon exploration tasks, while reducing the size of the exploration graph by 96%.

System diagram

Project structure

  • pysparse/py/ -- implementation of reinforcement learning (RL) framework
  • trainer/ -- RL training pipeline
  • sim/ -- simulation environment used for all experiments
  • rrt_fast/ -- implementation of the RRT-based exploration algorithm used in experiments
  • rrt_lib/ -- implementation of the RRT algorithm
  • tensorviz/ -- utility for visualizing tensors as colorful heatmaps in the terminal

DEPRECATED: the code for experiments introducing trigonometric noise to the GMM probabilities can be found in the trig_noise branch. However, these results are no longer presented in the current version of the paper. They are preserved here regardless for curiosity and since these experiments are briefly referenced in Appendix A, section D.

Setup and training

Requirements

  • Rust 1.96.0 (recommended to use rustup)
  • Python 3.14.2
  • GCC 15.2.1
  • CUDA 13.1

Setup

Create and activate a python virtualenv at .nvenv:

python -m nvenv .nvenv  # must either use this location or change it in pysparse.sh
source .nvenv/bin/activate

Install required python packages:

pip install -r requirements.txt

Training

All hyperparameters are configured by default to the values used for experiments presented in the paper. Run the following to begin training:

cargo run --release -p trainer

Hyperparameters and other options can be configured on the CLI. Run the following to see all options:

cargo run --release -p trainer -- --help

Any warnings produced by the compiler can be ignored safely.

Other notes

This code was primarily developed and tested on Arch Linux, so some system software used in development (e.g. Python, GCC, CUDA, etc) may be a newer version than on other Linux operating systems. If this is the case, the requirements.txt may not work properly, and it might instead be necessary to install the packages manually.

Citation

@misc{sastry2026graphsparse
      title={Learning-Guided Sparsification of Dynamic Graphs in Robotic Exploration}, 
      author={Adithya V. Sastry and Bibek Poudel and Weizi Li},
      year={2026},
      eprint={2604.16509},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2604.16509}, 
}

About

Code repository for the paper "Learning-Guided Sparsification of Dynamic Graphs in Robotic Exploration."

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages