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

No packages published

Contributors 2

  •  
  •  

Languages