Skip to content

IgorKolodziej/frontier-mesh

Repository files navigation

FrontierMesh

FrontierMesh is an early-stage Java/libGDX simulation sandbox for experimenting with multi-agent movement, local coordination, and decentralized exploration strategies.

The current version focuses on the motion-simulation layer: simple agents move around a 2D world, follow a clicked target, avoid each other, and steer around rectangular obstacles.

The long-term goal is to develop FrontierMesh into a modular simulation platform for studying decentralized multi-agent exploration under limited sensing and communication constraints, with possible applications to IoT/edge, UAV-inspired, and search-and-rescue-style scenarios.

Current features

  • libGDX desktop application
  • fixed-size 2D world with viewport scaling
  • multiple moving drone-like agents
  • click-to-target movement
  • local separation between agents
  • rectangular obstacle avoidance
  • basic debug rendering
  • Spotless Java formatting

Research direction

The planned research direction is to use FrontierMesh as a platform for comparing decentralized multi-agent exploration strategies in communication-constrained environments.

Possible strategies to implement and evaluate include:

  • random or heuristic exploration baselines
  • frontier-based exploration
  • communication-aware exploration
  • relay-aware coordination for maintaining network connectivity
  • optional lightweight learning-based policies

Potential evaluation metrics include:

  • explored area over time
  • time to reach a target coverage level
  • fraction of agents connected to a base station
  • number and duration of communication breaks
  • total movement cost
  • robustness under different obstacle densities, swarm sizes, and communication ranges

Tech stack

  • Java 25
  • Gradle
  • libGDX
  • LWJGL3
  • Spotless

Project structure

core/       Main simulation and rendering code
lwjgl3/     Desktop launcher
assets/     Runtime assets

Running

From the project root:

./gradlew lwjgl3:run

On Windows:

.\gradlew.bat lwjgl3:run

Building

./gradlew build

Formatting

Check formatting:

./gradlew spotlessCheck

Apply formatting:

./gradlew spotlessApply

Recommended before committing:

./gradlew spotlessApply build

Controls

  • Left mouse button: move swarm target

Roadmap

Near-term:

  • pause, reset, and debug controls
  • cleaner steering-policy abstraction
  • more obstacle layouts
  • fog-of-war exploration
  • communication links between agents
  • basic experiment metrics

Longer-term:

  • modular exploration policies
  • communication graph and base-station connectivity
  • relay-aware coordination strategy
  • headless experiment runner
  • CSV/JSON export for evaluation results

License

Apache License 2.0

About

Java/libGDX simulation sandbox for decentralized multi-agent exploration and local coordination.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages