Drekar Software

Software Overview

All of Drekar's higher level functionality, including completing mission tasks, is acheived through the vehicle’s software system. The software stack is built upon the Debian GNU/Linux operating system and includes custom shared memory, serial daemon, multithreaded vision, control, and mission systems. All custom software is written in C/C++ and Python.

Shared Memory

Shared Memory Overview Chart

The shared memory system allows simultaneous access to global variables throughout the vehicle's software infrastructure. These variables are also synchronized across various boards through a standardized serial protocol, allowing for easy reading and writing.

More information about Drekar's Shared Memory.


Control

Vehicle's Control System responding to heading input changes

The control system provides Drekar with the ability to combine sensor data into a reliable vehicle state and use this knowledge to control the thrusters and actuators.

More information on Drekar's control system


Vision

Vision

Drekar's vision-processing system is designed to give the vehicle up-to-date and accurate data about the surrounding mission elements.

More information on Drekar's vision system

Mission Planner

Mission Planner Task Diagram

The mission planner, written in Python, allows for high level missions to be written written in a simplistic and abstracted manner.

More information on Drekar's mission planner system.

Real-Time Data Display and Visualizations

Real-Time plot of Drekar's compass values

Key to improving the vehicle's performance is understanding what it is doing, so we have developed utilities to display and visualize the vehicle state.

More information on Drekar's real-time data display and visualizations


Simulator

The 3D Simulator

The simulator allows for the testing of missions in a virtual environment. This helps us verify the correctness of missions before testing them on the vehicle, saving time.

More information on Drekar's 3D simulator

HTTP Diagnostic Interface

HTTP Diagnostic Interface in Google Chrome

The HTTP Diagnostic Inteface, also known as the Web GUI, allows for control of basic vehicle functions through a web browser.

More information on Drekar's HTTP diagnostic interface