This Full-Stack application enables users to upload ShapeFiles containing real-world coordinates and generates an optimized drone flight path. The path is designed to maximize area coverage while minimizing overall air time. View the design intent of the overall application here.
All rights reserved by Ki.
For running the code:
For development:
- Clone this repo
git clone https://github.com/michyli/kidrone.git
- Install the required libraries
pip install -r requirements.txt
-
Install the LiveServer extension in VSCode
-
cd into the directory of the repo
cd kidrone
-
View the raw HTML in
electron/gui/pages. Right click the page and click Open with LiveServer to start a static Front-End session -
Start the electron app by cd-ing into
electron/gui. Runnpm installto download electron, and thennpm startto start the application
The core algorithm classes can be located at electron/engine. The overall algorithm is implemented using a Boustrophedon Cellular Decomposition. For further clarity on this algorithm, see the description here at the subheading Method of Boustrophedon Path Generation. Further details can be found at the directory Path Planner Papers.
This project is currently In Progress. For those next working on the project, the front-end files can be located as electron/gui/pages, and please see the KiDrone Figma Mockups to view the application's final desired look. The backend files are located at electron/gui, and main.js controls the overall logic. For further details on the state of this project, please see the Why Electron and Future Plans subheading at the document here.
This repository contains the work of Michael Li, Jason Lee, Edward Cheng, Wendy Qi, and KiDrone. Do not use or reference the contents of this repository without properly crediting its author.
