Skip to content

INESCTEC/smart-fly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart-Fly

Description: Smart-Fly is a simulation framework for multi-timescale control in Flying Ad Hoc Networks (FANETs). It provides algorithms and tools for relay positioning, bandwidth assignment, and rate adaptation. The framework is designed for researchers, engineers, and students interested in wireless communications, UAV networking, and resource allocation. It aims to facilitate reproducible experiments and rapid prototyping of new algorithms.

What the project does: Simulates and analyzes relay positioning, bandwidth allocation, and rate adaptation in FANETs.

Who it is for: Researchers, engineers, and students in wireless communications and UAV networking.

The problem it solves: Provides a reproducible, extensible platform for evaluating and developing algorithms for multi-timescale control in drone-based networks.

Smart-fly Architecture Diagram.


1. Project status

This project is currently in active development. Core functionalities are working, but improvements and new features are ongoing.


2. Technology stack

  • Language: Python 3
  • Libraries: numpy, pandas, scipy, matplotlib, joblib
  • Standalone simulation framework (no web UI)

3. Dependencies

All dependencies are listed in requirements.txt:


4. Installation

Clone the repository:

git clone https://github.com/INESCTEC/smart-fly.git
cd smart-fly/
wget -c https://drive.inesctec.pt/s/ikDAwbr9imC2acR/download -O configs/channel_data.zip # retrieve channel_data.zip compressed file from INESCTEC drive
unzip configs/channel_data.zip -d configs/

Create and activate a virtual environment:

python -m venv venv
source venv/bin/activate  # On Windows use venv\Scripts\activate

Install dependencies:

pip install -r requirements.txt

5. Usage

Run the main simulation with default simulation parameters:

python sim.py

To use the optional plotting and parsing scripts:

python scripts/parser.py #change global variables adjusting to your needs
python scripts/plotter.py #change global variables adjusting to your needs

Simulation parameters can be adjusted in variables.json.


6. License

This project is licensed under the GNU General Public License v3.0.


7. Contacts

For support or inquiries:


Citation

If you use Smart-Fly in a scientific publication, please cite the project (citation details will be updated after publication).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages