We show the design of the software of the microcontroller unit of a weeding robot based on the Process Control architectural style and design patterns. The design consists of 133 modules resulting from using 8 design patterns for a total of 30 problems. As a result the design yields more reusable components and an easily modifiable and extensible program. Design documentation is also presented. Finally, the implementation (12 KLOC of C++ code) is empirically evaluated to prove that the design does not produce an inefficient implementation.
@article{arxiv.2409.07228,
title = {Reusability and Modifiability in Robotics Software (Extended Version)},
author = {Laura Pomponio and Maximiliano Cristiá and Estanislao Ruiz Sorazábal and Maximiliano García},
journal= {arXiv preprint arXiv:2409.07228},
year = {2024}
}