Lift & Drone¶
UAV telemetry analysis and interactive dashboards for ArduPilot Dataflash binary logs: parsing, mission metrics, 2D maps, 3D trajectory, and a modern Streamlit UI.
Capabilities¶
See Functionality for a full walkthrough of the pipeline, UI, and legacy Dash mode.
- Log parsing — ArduPilot
.binvia pymavlink; relative timestamps and common message types (ATT, GPS, BAT, VIBE, RCOU, and more). - Analytics — Distance (Haversine), velocity integration, duration, speeds, altitude, battery energy, and related metrics.
- Streamlit app (
app.py) — Sidebar upload, mission summary, interactive map, and switchable telemetry panels (battery, vibration, attitude, events, 3D path, optional AI analysis). - Legacy Dash dashboard (
drone_dashboard.py) — Full multi-panel layout and optional static HTML export.
Where to go next¶
- Getting started — Prerequisites, venv, quick commands for Streamlit, Dash, docs build, and exports.
- Run the service — Full walkthrough: clone → install → Gemini key in
secrets.toml→ run → using the UI. - Functionality — What the app does: pipeline, Streamlit areas, panels, Dash export, and how it maps to the code.
- AI flight analysis — Gemini integration: modes, metrics sent to the API, keys, caching.
- Why math works — Theory behind the code: Euler vs gimbal lock, IMU integration, Haversine.
- Development — Repository layout and how it relates to the legacy Dash app.
For the full narrative (features, troubleshooting, advanced tweaks), see the README in the repository.