Skip to content

feat(tools): add vibration_check.py for VIBE log analysis#1186

Open
aryanputta wants to merge 1 commit into
ArduPilot:masterfrom
aryanputta:feat/add-vibration-check
Open

feat(tools): add vibration_check.py for VIBE log analysis#1186
aryanputta wants to merge 1 commit into
ArduPilot:masterfrom
aryanputta:feat/add-vibration-check

Conversation

@aryanputta

Copy link
Copy Markdown

Closes #1185

Summary

Adds tools/vibration_check.py, a standalone command-line script that reads ArduPilot VIBE dataflash messages from .bin or .tlog log files and reports per-axis vibration statistics with pass/warn/fail thresholds.

The script mirrors the style of the other analysis tools already in tools/ (e.g. magfit.py, mavfft.py) and requires only pymavlink as a dependency.

What it does

  • Parses VIBE messages (VibeX, VibeY, VibeZ, Clip0/1/2) using mavutil.mavlink_connection
  • Computes per-axis min, mean, and max vibration in m/s^2
  • Compares peak values against configurable warn (default 30 m/s^2) and fail (default 60 m/s^2) thresholds from ArduPilot documentation
  • Reports cumulative IMU clipping event counts with separate warn/fail thresholds
  • Exits with non-zero status on warn (1) or fail (2) so it can be used in CI or preflight automation
  • Optionally writes per-sample data to a CSV file with --csv

Usage

python vibration_check.py flight.bin
python vibration_check.py flight.bin --warn 30 --fail 60
python vibration_check.py flight.bin --csv --output report.csv

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add vibration_check.py to tools/ for post-flight VIBE log analysis

1 participant