Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛩️ SUAV Simulation

Repository: https://github.com/abasahmedd/suav_sim

Overview

suav_sim is a modular Python-based simulation framework for Small Unmanned Aerial Vehicles (SUAVs). It includes:

  • 6‑DOF flight dynamics models
  • Numerical integration (RK4, LTI systems)
  • Sensors and environment models
  • EKF based state estimation
  • Autopilot guidance and navigation (fillet paths, waypoint missions)
  • Interactive GUI visualizations for attitude, position, and mission dashboards

The project originated from a thesis on fixed‑wing UAV simulation and has been refactored into clean, reusable modules suitable for academic research and rapid prototyping. alt text

Repository Structure

├─ sim_math/                # Core mathematics, integration, transformations
│   ├─ angles.py
│   ├─ kinematics.py
│   └─ ...
├─ user/                    # User‑provided waypoint and mission files
├─ DataDisplay/             # GUI panels and visualisation utilities
├─ chapter*/*               # Example scripts used in thesis chapters
├─ README.md                # **This file**
└─ requirements.txt         # Python dependencies

Installation

# Clone the repository (already done)
git clone https://github.com/abasahmedd/suav_sim.git
cd suav_sim

# Create a virtual environment (recommended)
python -m venv .venv
.\.venv\Scripts\activate   # Windows PowerShell

# Install dependencies
pip install -r requirements.txt

Note: The repository uses standard scientific packages (numpy, scipy, matplotlib, pyqt5 for the GUI). Ensure you have a compatible Python 3.11+ interpreter.

Quick Start

Run an example simulation from Chapter 4:

python chapter4/example.py

The script launches the GUI, loads a sample waypoint mission, runs the EKF estimator, and displays live telemetry.

Usage Highlights

  • Run custom missions: Edit or create .wp files in the user/ directory and point the simulation to them via the --mission argument.
  • Switch between ground‑truth and estimated states: Modify DataDisplay/attitude_view.py to toggle the data source.
  • Export plots: Use the built‑in export_figures() function to save high‑resolution PNGs for publication.

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/my‑feature).
  3. Ensure code passes existing tests (pytest).
  4. Submit a Pull Request with a clear description of changes.

License

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


About

Python-based simulation framework for small fixed-wing UAVs, including 6-DOF dynamics, EKF state estimation, autopilot guidance, waypoint missions, and GUI visualization.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages