An architecture for preemption-resistant control (Ph.D. Defense)
We present a control architecture that allows a controller running on a non-real-time operating system to run with a high degree of determinacy, even in the presence of OS preemption. The main idea is to buffer the sensor measurements and actuator commands on an auxiliary microprocessor called a Real-Time Unit. The RTU runs independently from the main CPU and so can function even if the main control task is preempted. We implement this on a 1 GHz Beaglebone Black single-board computer using its 200 MHz Programmable Real-time Unit (PRU) as an RTU. We observe that this architecture greatly improves the performance of a simple PID controller in the presence of OS preemption. We presented these results at my Ph.D. defense in January 2018.