Skip to content

USC-ACTLab/perona_malik_ergotic_search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Anisotropic Diffusion-Driven Ergodic Coverage in Multi-Robot Systems

This repository contains the simulation code accompanying the paper:

T. C. Silva, A. Kiran, and N. Ayanian,
"Anisotropic Diffusion-Driven Ergodic Coverage in Multi-Robot Systems,"
IEEE Multi-Robot Systems (MRS) 2025.


Overview

This work introduces a Perona–Malik anisotropic diffusion framework for ergodic coverage in multi-robot systems.
Traditional heat-equation-based ergodic methods smooth the coverage error isotropically, but our approach preserves structural edges in the target distribution—allowing robots to adapt their exploration around sharp boundaries while maintaining ergodicity.

The algorithm generalizes existing heat equation and radial basis function methods, achieving faster convergence and more feature-preserving exploration.


Main Features

  • Perona–Malik anisotropic diffusion of the coverage error
  • Semi-implicit numerical solver using FFTs for stability and efficiency
  • Multi-agent simulation with centralized criterion and distributed execution
  • Comparative benchmarks with:
    • Spectral Multiscale Coverage (SMC)
    • Heat Equation-Driven Coverage (HEDAC)

Repository Structure

perona_malik_ergodic_search/
│
├── src/
│   ├── diffusion.py          # Perona–Malik anisotropic diffusion solver
│   ├── ergodic_control.py    # Control law for agent updates
│   ├── simulation.py         # Multi-agent coverage simulation
│   ├── utils.py              # Plotting, metrics, and initialization tools
│
├── examples/
│   ├── circle_square.py
│   ├── gaussian_stripe.py
│   └── bimodal_gaussian.py
│
├── results/
│   ├── figures/              # Example output figures
│   └── data/                 # Saved simulation data
│
├── requirements.txt
└── README.md

Usage

  1. Install dependencies

    pip install -r requirements.txt
  2. Run a simulation

    python examples/circle_square.py
  3. Visualize results Figures and error plots will be stored under results/figures/.


Reference

If you use this code, please cite:

@inproceedings{silva2025anisotropic,
  author    = {Thales C. Silva and Anoop Kiran and Nora Ayanian},
  title     = {Anisotropic Diffusion-Driven Ergodic Coverage in Multi-Robot Systems},
  booktitle = {Proc. IEEE International Symposium on Multi-Robot Systems (MRS)},
  year      = {2025}
}

Contact

For questions or collaborations, please contact:

Thales C. Silva
Postdoctoral Researcher, Brown University
📧 thales_silva@brown.edu

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages