FlyView: display Catmull-Rom curve for spline waypoints#14433
FlyView: display Catmull-Rom curve for spline waypoints#14433leonfliesthings-dev wants to merge 1 commit into
Conversation
QGC draws straight lines between NAV_SPLINE_WAYPOINT (cmd 82) items, even though ArduPilot flies smooth Hermite curves through them. This adds a Catmull-Rom interpolation overlay on the fly map showing the approximate spline curve in cyan. The curve updates automatically when the mission changes and only renders when spline waypoints (cmd 82) are present. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Thanks for your first pull request! 🎉 A maintainer will review this soon. Please ensure:
We appreciate your contribution to QGroundControl! |
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (26.47%) is below the target coverage (30.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## master #14433 +/- ##
==========================================
+ Coverage 25.47% 26.47% +1.00%
==========================================
Files 769 767 -2
Lines 65912 66285 +373
Branches 30495 30667 +172
==========================================
+ Hits 16788 17546 +758
+ Misses 37285 36280 -1005
- Partials 11839 12459 +620
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Build ResultsPlatform Status
All builds passed. Pre-commit
Pre-commit hooks: 2 passed, 42 failed, 7 skipped. Test Resultslinux-coverage: 88 passed, 0 skipped Code Coverage
Artifact Sizes
Updated: 2026-05-24 08:59:15 UTC • Triggered by: Linux |
Summary
QGC draws straight lines between
NAV_SPLINE_WAYPOINT(cmd 82) mission items, even though ArduPilot flies smooth Hermite/Catmull-Rom curves through them. This makes it difficult for operators to visualize the actual flight path when using spline waypoints.This PR adds a cyan Catmull-Rom interpolation overlay on the fly map that shows the approximate spline curve between consecutive spline waypoints.
How it works
MapPolylineinFlyViewMap.qmlpolls the mission controller'svisualItemsevery 3 secondsScreenshots
The cyan line shows the approximate spline curve ArduPilot will fly, overlaid on the straight-line mission path display.
Testing
NAV_SPLINE_WAYPOINTitems in SITLNAV_WAYPOINT(cmd 16)