Jitter (Timing Jitter)
时间抖动AdvancedThe fluctuation in when a periodic task actually runs versus its ideal timing — a key measure of real-time performance.
Jitter is the deviation and fluctuation between when an event that's supposed to happen on a fixed period actually happens and its ideal timing. The most commonly discussed case in robotics is the scheduling jitter of a control loop: a 1 kHz joint control loop is supposed to run every 1 ms, but the actual interval may come in a little long or a little short each time. It's not the same as control latency: latency is how long it takes from reading a sensor to issuing a command, while jitter is whether that duration stays the same each time. Discrete controllers generally assume a fixed sampling period, and jitter throws off the computed integral and derivative terms, causing vibration at best and instability at worst; a command that doesn't reach the drive on time can also trigger a fault stop. That's why real-time systems chase determinism rather than just speed — ROS 2's design documentation explicitly frames a real-time system as one defined by deterministic scheduling, not low latency. Jitter is commonly measured with tools like cyclictest, and reduced with a PREEMPT_RT real-time kernel, CPU isolation, or a deterministic bus such as EtherCAT.
ExampleA Franka arm's low-level control runs at 1 kHz, and libfranka requires the user's control callback to finish within a tight time window or that cycle's command is rejected; running torque control therefore generally calls for a real-time kernel and for avoiding operations with unpredictable timing, like printing or dynamic memory allocation, inside the control thread.
- Also called
- Timing Jitter, Scheduling Jitter
- Related
- Real-Time Control · Control Frequency · Control Latency · PREEMPT_RT · EtherCAT (Ethernet for Control Automation Technology) · Hard Real-Time
- Sources
- ROS 2 Design: Introduction to Real-time Systems
libfranka include/franka/robot.h(1 kHz 控制回调说明) (Chinese)