Repository navigation
Docs: ADR 0010 (proposed) – hover thrust model and online estimate - #34
Merged
Merged
Conversation
Normalised collective with a battery-compensated, linearised mixer; 1-state Kalman estimate of the hover thrust from the vertical acceleration (replaces learn_hover); hoverThr / thrCurve parameters; thrust-margin check; logging; validation plan. Hover values from the Mech A1 mass budget (T400 / T800 / T1200). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019Nr6Xnv8axshXV5pw79JDM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposal only: a new decision record, no code changes yet.
ADR 0010 (Proposed): hover thrust.
Why. With the Mech A1 mass budget, hover needs about 0.71 duty for T400 on a full 1S pack. At the end of the pack it needs about 0.86, and T1200 needs about 0.96. Today the default is 0.45 and the learned value is clamped at 0.75. The learning is a low-pass of the command and the collective is in duty units, so the loop gain changes with the battery.
Proposal:
thrCurve, quadratic by default) and compensates the battery voltage (V_ref / V_bat). The vertical gains then hold over the whole pack.hover_thrust_estimator.learn_hover(). Thealt_ctrlintegrator limit goes down from 0.35 to 0.15.hoverThrparameter (id 80) seeded per tray: T400 0.51, T800 0.58, T1200 0.65.The record also lists a minimal fix if phase 3 starts first:
FC_HOVER_DEFAULT0.70,FC_HOVER_MAX0.95,thr_max0.95. It ends with a validation plan: host test, thrust stand, tethered hover.Generated by Claude Code