Designing an embedded software architecture for a mobile education robot with real-time control on a Raspberry Pi 4 with FPGA-based I/O

Commercially available robotic platforms for education usually come with software systems such as ROS that hide real-time control from the user. For courses related to embedded control, a new platform has to be designed that enables students to work on a level much closer to the hardware, while also being cost-effective and easy to expand based on different teaching requirements.

In this bachelor project, a software architecture for such a robotic platform is designed, expanding on existing work and taking a Raspberry Pi 4 single-board computer and an FPGA-based I/O board in the form of an icoBoard. The realized architecture includes a real-time operating system (Xenomai), a communication layer based on SPI between the two different hardware platforms and support for different peripheral devices such as encoders and PWM devices.