RELbot control: Implementing controller on FPGA or microcontroller, plus variants

MSc assignment

The RELbot is an educational robot that is used as a platform for courses about the design and implementation of hard- and software for robotics. Its controller is currently divided in three layers. The soft realtime logic is executed within an  Ubuntu environment on three cores of a Raspberry Pi, and the firm real-time logic is executed on one core of the Raspberry Pi, running Xenomai. An FPGA connected to the Raspberry Pi via an icoBoard is currently responsible for the hard real-time logic. The communication between the soft and firm real-time layers happens over a Cross-Buffer IPC channel, and the firm and hard real-time layers communicate via SPI.

Because the current controller architecture is quite complex, the goal of this project is to design and implement a simplified controller architecture for the firm and hard real-time layers. To achieve this, different hard- and software options will need to be considered and evaluated according to the requirements of stakeholders in the project. The performance of the developed system will then be compared to that of the original system.