Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 1.78 KB

README.md

File metadata and controls

20 lines (13 loc) · 1.78 KB

Graphical User Interface for Trajectory Generation with Successive Convexification

Autonomous Control Lab, University of Washington AA Department

Table of Contents

  1. Overview
  2. Architecture
  3. Style

Overview

User can visually model various two dimensional shapes such as ellipses, polygons, and planes and convert them into constraints for convex optimization. Application also models drone position, target waypoints, and current drone path. Models can be mapped to ports for real time updating via UDP. Generated trajectories can be sent to the drone for execution. Built on Qt framework for deployment on multiple platforms.

Architecture

optgui_architecture

This GUI is implemented with a Model-View-Controller design pattern. The view renders the graphical information stored in the canvas, the model stores the constraint data, and the controller manipulates the model and canvas. The primary purpose of this is for the controller to act as a bottleneck for modifying the model. User interaction from buttons and mouse is connected to the controller via Qt signals and slots. The canvas and model can be deleted (with the destructor handling cleanup of associated graphics objects or model objects) to be replaced with new data from config files. The solver to compute trajectories is run continuously in a separate thread, pulling information from the model and updating the model with the newly computed trajectory.

Style

This project follows Qt best practices and the Google C++ Style Guide verified with cpplint.py