Search papers, labs, and topics across Lattice.
This paper analyzes the real-time performance of a 250 Hz UAV flight control loop running on a Raspberry Pi 5 with PREEMPT_RT Linux, comparing standard kernel scheduling against direct activation via PREEMPT_RT. They found that the standard kernel exhibits worst-case latencies exceeding 9 ms under stress, rendering it unsuitable for real-time control. PREEMPT_RT significantly reduces this latency to under 225 microseconds, but residual jitter is still observed due to hardware memory contention.
Even with PREEMPT_RT, hardware memory contention on modern SoCs introduces significant jitter for real-time UAV control, highlighting a critical bottleneck beyond OS scheduling.
Modern UAV architectures increasingly aim to unify high-level autonomy and low-level flight control on a single General-Purpose Operating System (GPOS). However, complex multi-core System-on-Chips (SoCs) introduce significant timing indeterminism due to shared resource contention. This paper performs an architectural analysis of the PREEMPT RT Linux kernel on a Raspberry Pi 5, specifically isolating the impact of kernel activation paths (deferred execution SoftIRQs versus real-time direct activation) on a 250 Hz control loop. Results show that under heavy stress, the standard kernel is unsuitable, exhibiting worst-case latencies exceeding 9 ms. In contrast, PREEMPT RT reduced the worst-case latency by nearly 88 percent to under 225 microseconds, enforcing a direct wake-up path that mitigates OS noise. These findings demonstrate that while PREEMPT RT resolves scheduling variance, the residual jitter on modern SoCs is primarily driven by hardware memory contention.