# Vibration

URL: /rules/vibration-high

Flags a stretch where PX4's accelerometer vibration metric stays above the platform's threshold. It observes vibration at the flight controller's IMU, not damage and not the cause of what followed.



<RuleHeader id="vibration_high" />

## What it reads [#what-it-reads]

The rule reads `accel_vibration_metric` from `vehicle_imu_status` in the flight log, in m/s². PX4 computes the metric from the flight controller's accelerometer, so it describes vibration where the flight controller is mounted. In the INC-0143 flight log a new sample arrives every 200 ms.

```text title="15_37_12.ulg" caption="Example dataset, INC-0143, vehicle_imu_status at 15:41:00.912, abridged"
topic      vehicle_imu_status (multi_id 0)
timestamp  237,401,000 µs   boot + 237.401 s

accel_device_id             2621474 (ICM-45686)
accel_vibration_metric      24.31 m/s²
gyro_vibration_metric       0.388 rad/s
accel_clipping[0..2]        0 2 9
temperature_accel           41.2 °C
```

The same record carries `accel_clipping`, three counters of accelerometer clipping. The threshold does not use them, and they are worth reading beside the metric.

## When it fires [#when-it-fires]

On the T4, a finding is produced when the metric stays above 24 m/s² for 1 s. The event sits on the first sample above the line, and the sample 1 s later confirms it. The Q4 value in the same threshold text is 12 m/s².

| Value              | Example from INC-0143               |
| ------------------ | ----------------------------------- |
| First sample above | 24.31 m/s² at 15:41:00.912          |
| Confirmed at       | 15:41:01.912, 26.84 m/s²            |
| Peak               | 38.6 m/s² at 15:41:02.312           |
| Threshold          | Above 24 m/s² for 1 s (T4 platform) |
| Where              | Obstacle belt, Lane 2               |

The finding's title states the stretch: **Vibration above 24 m/s² for 1 s in the obstacle belt**.

## Wording and evidence level [#wording-and-evidence-level]

Every finding reads **Observed: vibration above threshold**. The flight log shows the metric directly, so the level is observed.

## What the finding does not mean [#what-the-finding-does-not-mean]

* **Nothing necessarily broke or came loose.** In INC-0143 the radio dropped off USB 1.69 s after the onset. The report keeps the idea that vibration unseated the radio's connector as a hypothesis until the connector is inspected.
* **It describes one mounting point.** The metric comes from the flight controller's accelerometer. A part mounted elsewhere, such as the radio on the companion computer, can see a different load.
* **Flight Review's colors are not your threshold.** For reference, PX4 Flight Review shades this metric green below 4.905 m/s², orange to 9.81 m/s² and red above 9.81 m/s², for air vehicles. The T4's 24 m/s² is a program choice for a tracked vehicle, not a PX4 number.
* **No finding is not low vibration.** If the flight log did not log `vehicle_imu_status`, the rule has nothing to read. The example dataset's Q4 runs list it as **Not logged** in the run page's **Flight log topics** panel.

## Threshold and overrides [#threshold-and-overrides]

The per-platform values live inside the threshold text, &#x2A;*Above 24 m/s² for 1 s (T4), 12 m/s² (Q4)**, not in the **Override** field. The scope is **All vehicles**. Set each platform's value from its own known-good runs.

Change the threshold under **Rules** with **Edit**. The rule saves as `vibration_high 1.1`, and findings already produced keep version 1.0 and its threshold. See [Thresholds, scopes and overrides](/rules/configure).

## Example finding [#example-finding]

In INC-0143, UGV-02 crossed the obstacle belt in Breach lane 2 at 1.25 m/s. The metric read 24.31 m/s² at 15:41:00.912 and stayed above 24 m/s² through the sample at 15:41:02.912. It peaked at 38.6 m/s² at 15:41:02.312.

In the 1.4 s before the finding, the samples read 19.8 to 23.1 m/s². All of them are red on Flight Review's air-vehicle scale, and none produced a finding on the T4.

The kernel logged the radio's USB disconnect 1.69 s after the onset and 0.29 s after the peak. The report files the disconnect as correlated with the vibration, and the cause as a hypothesis. The **Findings** row labels this finding **Vibration above threshold**, the incident's first.

On the event page, **Vibration around this event** plots 8 s before to 4 s after the first sample. A dashed line marks the rule threshold, and filled points are at or above it.

## Related [#related]

* [device\_disconnect](/rules/device-disconnect) records the radio leaving the USB bus in INC-0143.
* [failsafe\_entered](/rules/failsafe-entered) records the Hold that followed.
* [PX4 ULog](/collect/formats/px4-ulog) lists the topics Foxborne reads from a flight log.
* [Check a run](/investigate/runs) shows which topics a flight log contains.
