Skip to content

A 3D simulation framework for autonomous drone swarms that form dynamic elastic mesh networks. This project demonstrates concepts in swarm robotics, distributed systems, and physics-based animations.

Notifications You must be signed in to change notification settings

michaelbinary/ElasticMeshPathfinding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚁 Elastic Mesh Drone Simulation

License: MIT Python 3.8+

A 3D simulation framework for autonomous drone swarms that form dynamic elastic mesh networks. This project demonstrates advanced concepts in swarm robotics, distributed systems, and physics-based animations.

Simulation Preview

🌟 Key Features

Physics-Based Mesh Networking

  • Elastic Connections: Drones form dynamic spring-like connections that adapt to movement and environmental conditions
  • Energy-Aware Operation: Real-time energy consumption monitoring based on movement and network operations
  • Distributed Communication: Mesh topology that maintains network connectivity while allowing flexible formation changes

Advanced Environment Simulation

  • 3D Weather Systems: Dynamic weather patterns that influence drone behavior and network stability
  • Obstacle Avoidance: Intelligent pathfinding around physical obstacles
  • Spatial Constraints: Realistic boundary handling and space management

Real-Time Visualization

  • Interactive 3D Display: Beautiful Matplotlib-based visualization with real-time updates
  • Network Health Monitoring: Visual feedback on connection strength and drone energy levels
  • Weather Pattern Display: Transparent volume rendering of weather influences
  • Path Prediction: Visual indicators for planned paths and goals

🚀 Quick Start

Installation

# Clone the repository
git clone https://github.com/yourusername/elastic-mesh-simulation.git
cd elastic-mesh-simulation

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install the package
pip install -e .

Basic Usage

from elastic_mesh.simulation import ElasticMeshSimulation

# Create a simulation with custom space dimensions
sim = ElasticMeshSimulation(space_size=(50, 50, 30))

# Run the simulation with real-time visualization
sim.run()

🎮 Advanced Usage

Custom Drone Configurations

from elastic_mesh.core import ElasticMesh
import numpy as np

# Initialize the mesh environment
mesh = ElasticMesh(space_size=(50, 50, 30))

# Add drones with specific start and goal positions
mesh.add_drone(
    drone_id="scout_1",
    start=np.array([10, 10, 5]),
    goal=np.array([40, 40, 25])
)

# Configure mesh parameters
mesh.k_spring = 0.6  # Adjust spring constant
mesh.max_connection_distance = 10.0  # Modify connection range

Weather Pattern Customization

# Create custom weather patterns
weather_grid = np.zeros((10, 10, 5))
weather_grid[5:8, 5:8, 2:4] = 1.0  # Create a storm cell

mesh.weather_grid = weather_grid

🔧 Technical Details

Core Components

  1. Elastic Mesh Physics

    • Spring-mass system simulation
    • Damping and tension calculations
    • Energy conservation monitoring
  2. Weather System

    • 3D grid-based weather simulation
    • Perlin noise-based pattern generation
    • Influence mapping on drone behavior
  3. Path Planning

    • Goal-oriented movement
    • Obstacle avoidance algorithms
    • Network topology maintenance

Performance Considerations

  • Optimized numpy operations for physics calculations
  • Efficient mesh connection updates
  • Vectorized weather influence computation

📊 Applications

  • Swarm Robotics Research: Test swarm behavior algorithms
  • Network Resilience: Study mesh network stability under various conditions
  • Path Planning: Evaluate distributed path planning strategies
  • Environmental Monitoring: Simulate drone-based weather and environment monitoring
  • Emergency Response: Model emergency response drone networks

Development Setup

# Create a new branch
git checkout -b feature/your-feature-name

# Install development dependencies
pip install -r requirements-dev.txt

# Run tests
pytest tests/

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Advanced drone simulation techniques inspired by swarm robotics research
  • Weather simulation patterns based on fluid dynamics principles
  • Visualization components built on Matplotlib and NumPy
  • Special thanks to all contributors and the open-source community

About

A 3D simulation framework for autonomous drone swarms that form dynamic elastic mesh networks. This project demonstrates concepts in swarm robotics, distributed systems, and physics-based animations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages