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.
![]() |
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. |
![]() |
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 |
![]() |
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 |
![]() |
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
![]() |
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 |
![]() |
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 |
![]() |
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 |






