Repository navigation
Improve VTOL RTH approach timing and post-transition capture - #11871
mart1npetroff wants to merge 3 commits into
Conversation
Start landing transitions using closing speed and existing mixer timers, with a loiter-radius fallback and continuous confirmation. Brake and align after FW-to-MC before returning to Home, preserving VTOL altitude protection and RTH safety checks. Document limits and add focused regression tests.
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |
PR Summary by QodoImprove VTOL RTH transition timing and post-switch capture
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
1.
|
|
RAM / Flash usage vs. base commit
See RAM/flash optimization guide for techniques to reduce usage. |
|
Test firmware build ready — commit Download firmware for PR #11871 251 targets built. Find your board's
|
- Separate normal RTH landing MC selection from low-speed safety protection - Clear RTH-only selection on mode exit without weakening safety protection - Preserve switch synchronization when NAV ends during an active transition - Retain SafeHome and RTH altitude plans throughout transitions and retries - Keep brief position losses within RTH; abort safely on navigation sensor failure - Block RC Home reset during navigation-owned transitions - Add regression tests and document mode ownership and handback behavior
|
@mart1npetroff I'm interested to know if this is finished. Or has been SITL tested and in a stable state for a testing? |
|
This was implemented based on a recommendation from @Jetrell, but I haven't had a chance to flight-test it yet. At the moment, I'm actively working on and testing the Precision Landing PR: #11554, so most of my testing effort has been focused there. I also haven't received any feedback from @Jetrell yet on whether he has tested this implementation. Additionally, I haven't had time yet to look into @sensei-hacker's comment regarding the PR he mentioned. As soon as I finish testing the PL logic — which I expect to happen within the next 1–2 weeks — I'll return to this PR and continue testing it, including flight testing. |
|
I haven't flight tested it yet. I've been busy with testing continuous fixes and changes to the INAV 10 release candidates. |
Use the shared timer fallback for manual tailsitter FW-to-MC transitions and apply the airspeed timeout only when airspeed controls switching. Preserve the existing MC attitude capture and autonomous-transition restrictions. Document source-profile timer selection and add regression tests for timer boundaries and airspeed precedence.
|
@mart1npetroff I ran some tests last week with your last commit, using a tailsitter VTOL. Using these settings. I have some recommendations from my testing. That will really help Tailsitter implementation. Because they are inherently far more unstable than a conventional VTOL, due to vertical pitch and yaw being controlled by air deflections rather than motor thrust. The biggest failure point of a tailsitter, is if the plane looses vertical stabilization control when descending in VTOL mode. If you are quick. It can be caught again. By pulsing the throttle above hover throttle for a moment, to provide a burst of prop airflow over the control surfaces. Or switching back to mixer profile 1 as a last attempt to prevent a crash, when it is too far gone (more that 45degs from vertical)... However switching back also means it has to auto transition. Which isn't ideal when This is certainly a place for
I have also found in testing, that auto throttle altitude control modes (ALTHOLD and POSHOLD) help considerably on all VTOL platform types.. However, if the user has them active, They lockout transition switching from example MC to FW. These are only recommendations. But I thought it best to inform you. So you know of these short comings, with a remedy, which is similar to what AP does, if you choose to make improvements. |
Problem
During RTH, a fixed-wing VTOL can pass Home or SafeHome before FW-to-MC finishes. Returning toward the landing point immediately after the switch can require backward or sideways flight while the aircraft still carries forward speed, placing additional demands on yaw and attitude control.
This follows the VTOL auto-transition implementation in #11553.
Changes
mixer_switch_trans_timer(100 ms units), plusmixer_vtol_transition_scale_ramp_time_mswhen dynamic mixing is enabled. Usenav_fw_loiter_radiusas the minimum/fallback staging distance.docs/VTOL.md.No new CLI settings or parameter-group changes are introduced. Early initiation requires an armed aircraft, RTH landing permission, source-profile
mixer_automated_switch, and a supported MC target. Mission waypoint and manual transition initiation are unchanged. Existing airspeed confirmation, timer fallback, failure actions, and tailsitter restrictions continue to decide whether/how the transition completes. Failsafe landing delay still applies at Home.For example, a 5 s switch timer plus a 1.2 s dynamic output ramp gives a 6.2 s planning budget. At 20 m/s closing speed, the calculated boundary is 124 m, provided the configured loiter radius is smaller.
Validation
On commit
a36da3ebf, based on2e8857e10:MAMBAH743_2022B,MATEKF405MINI, and the 512 KBOMNIBUSF7NXTtarget.git diff --checkpassed.cmake --build build/unit-tests -j4 ctest --test-dir build/unit-tests/src/test -R 'MixerTransition|NavigationVtolMission|VtolMcProtection' --output-on-failure cmake --build build-release --target MAMBAH743_2022B -j4 cmake --build build-release --target MATEKF405MINI OMNIBUSF7NXT -j4Limits and Flight Validation
The start-distance calculation is a planning heuristic, not an airframe braking model. In airspeed-controlled operation, the fallback timer is not a measurement of actual transition duration. Gusts, aerodynamic response, and the subsequent MC stopping/alignment time can still produce overshoot.
During capture, altitude targeting follows current altitude with a zero climb/descent request rather than chasing the pre-transition altitude; ordinary RTH altitude management resumes afterward. Capture does not force completion by timeout when settle/heading conditions remain unsatisfied.
The new behavior has not yet been validated in an end-to-end SITL mission or real flight. The unit tests and builds above do not establish aerodynamic stability or guarantee stopping before Home.