jackhlay / DroneUI

Drone UI + plan file generation for spot on drone
0 stars 0 forks source link

Spot On Automated Drone Surveying System

This project implements a drone navigation system using Python. It allows users to input GPS coordinates, generates a flight plan, and controls a drone to fly over these coordinates.

Modules

Project Structure

Communication Class

Responsible for all the MAVLink communication with the drone, including sending commands and receiving information.

SingletonRoot Class

A singleton class that extends tk.Tk for creating a single instance of the main application window.

Model Class

Holds data related to GPS coordinates and notifies observers when changes occur.

View Class

Manages the GUI for the application.

Controller Class

Acts as an intermediary between the View and Model, handling user inputs and updating the view.

Main Execution

Usage

With Gazebo and ArdupilotSITL:

Gazebo is a free open source physics engine designed for testing automated systems. You can create custom world files that contain 3d models for the automated entities, moving parts, and the environment. ArdupilotSITL is an softare implementation of a flight controller running ArduPilot. It handles control of the drone using its current orientation in the simulated environment. Using Ardupilot SITL with Gazebo allows us to test the behavior of our software without the risk of damaging real hardware.