Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 1.99 KB

File metadata and controls

64 lines (45 loc) · 1.99 KB

Drone Trip & Mapping Example

This project mimics a drone performing visual inspection over a wildfire in a residential area. It generates, stores, and visualizes GPS traces for an autonomous drone using two backend services, a timeseries database with geospatial capability, and interactive map.

To generate the digital elevation model (DEM), the opentopography api is used. The overpass api is used to generate the geospatial tile context and buildings.

In addition to a Vite frontend platform hosted on Flask, I used FastAPI for data streaming, and multiple python libraries for real-time geospatial processing.

I also added my implementations of traveling salesman problem (TSP) algorithm, and the A* and RRT pathfinding algorithms for the drone flight planning task.

Screenshot

Tech Stack

  • Frontend: Vite, MapLibre GL JS
  • Backend:
    • FastAPI: Ingest GPS data via API
    • Flask: Serves the interactive map UI
  • Database: TimescaleDB + PostGIS
  • Containerization: Docker, Docker Compose

Local Development

Project Structure

 ``` 
├── flask_app/ 
├── fastapi_app/ 
├── db/ 
│ └── init.sql 
├── docker-compose.yml 
├── .env.example 
└── README.md ``` 

Requirements

  • Docker & Docker Compose
  • Python (optional if not using virtualenvs outside containers)

Start the App

  1. Copy the .env.example:

    cp .env.example .env
    
  2. Run: docker-compose up --build

  3. Access:

  1. Future Work: Cloud Deployment: For production, this architecture is compatible with:
  • Kubernetes: Helm charts or K8s manifests (not included here)
  • Terraform: For provisioning cloud databases, services, and secrets
  1. Testing: You can use the FastAPI Swagger UI at: http://localhost:8001/docs

License: MIT