The goal of my thesis project is to develop and implement a maintainable and testable software
for mobile robotic vehicles because these vehicles depend on reliability, robustness, and
Security of the control software. To reach that goal I studied the currently used robotic software
moreover, presented its main drawbacks; then I proposed a system architecture which can replace the
previously used software by a higher effectivity, much more straightforward and extendable
First I learned some background about the microcontroller, and the board used, knowing their
components and features, working with the modules in a separate C project using
STM32CubeMX for the configuration of the modules, the System Workbench for STM32
to work on the projects there and the HAL library to use the appropriate API functions of each
module, then knowing about FreeRTOS and learn how to use it which was the essential part
moreover, the key to my thesis work, next moving to organize the work by creating a class architecture
of the project, so like that the creation of each task according to the module added will be much
simpler and save us much time and effort.
Next, I tested the software and checked its efficiency and usability, by testing the accelerometer
and Pushbutton modules using the pre-emptive scheduler within the FreeRTOS. Finally, I
concluded the thesis work and how successful was my work.