> ## Documentation Index
> Fetch the complete documentation index at: https://docs.almond.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# diag.teleop-jitter

> Attribute teleop jitter to a pipeline stage from a flight-recorder capture.

Analyzes a teleop flight-recorder capture and reports where in the pipeline the jitter enters. Record a session first by passing `--teleop.record` with a file prefix — recording costs one buffer copy per tick and is entirely inert when the flag is unset:

```bash theme={null}
axol teleop --teleop.record /tmp/jit
# engage, reproduce the jitter, disengage — the files are written at disengage
axol diag.teleop-jitter /tmp/jit
```

The recorder writes four time-synchronized files: `_ik`, `_cmd`, `_meas`, and `_rt`. They span raw VR pose through filtered pose, IK output, smoothed Python target, the Rust core's actual 240 Hz motor command and torque terms, and measured joints. Recording covers the **latest engage→disengage segment**: it starts at engagement (no rest-pose lead-in), re-engaging starts the segment over, and `_rt` is compacted when the core disarms. The analyzer clips to the longest engaged stretch, splits every signal into three bands — below 3 Hz (intentional motion), 3-15 Hz (the **JITTER** column, the band the arm's structure responds to), above 15 Hz (noise the mechanics filter out) — and prints band-RMS tables at every stage boundary, including Rust target→motor-command→measurement and per-term torque attribution.

To read the output, walk each joint down its stage list and find the first stage where the JITTER column jumps well above the previous stage:

| Jump at             | Points to                                   |
| ------------------- | ------------------------------------------- |
| `raw -> filt`       | VR tracking noise / pose filter             |
| `filt -> ik_q`      | the IK solver (e.g. null-space churn)       |
| `tgt -> ema -> out` | the smoothing stages                        |
| `out -> meas`       | the arm ringing — control/damping territory |

```bash theme={null}
axol diag.teleop-jitter /tmp/jit --joints elbow wrist_2   # restrict the tables
axol diag.teleop-jitter /tmp/jit --full                   # ignore engage gating
```
