ReviewOS

also looking at this

stacks/drone

fix: stabilize VTOL lateral flow and hover control

#91
Merged chris wants to merge codex/vtol-spanwise-continuity into main
17 files +556 -39
8 days ago

Summary

At finite spanwise airflow, the VTOL model applied total dynamic pressure to an undefined longitudinal direction. Tiny chordwise or vertical perturbations produced finite force jumps. Project longitudinal pressure onto the chord/vertical plane and identify the revised fictional model as projected-incidence-v3.

qualified airflow -> continuous projected forces
current thrust -> thrust alignment -> independent heading twist
back transition -> measured aircourse braking -> requested hover heading

Separating shared hover thrust alignment from heading twist prevents a saturated yaw request from rotating the requested position correction. Back-transition braking follows qualified measured aircourse until the existing slow-capture threshold, then retains the original requested heading and dwell requirements. Unsupported antipodal thrust directions inhibit and latch neutral outputs.

Fixed north heading limit cases continue to refuse the unsupported route. Documentation distinguishes current model behavior, historical diagnosis and remaining qualification.

Evidence

  • Before: public model regressions captured force jumps of 0.9555 N and 4.0768 N around spanwise flow. A real hover-controller regression captured a 0.6845 rad/s tilt correction change from heading alone. Intermediate failures were retained and corrected through the public runtime.
  • After: 416 focused tests, 353947 assertions across 26 files pass, including shared quad/mission consumers and 16 wind onset cases triggered by observed front/cruise/back/landing phase entry.
  • Native Buddy lint, application/runtime/STX types, 90-page docs build, roadmap, parity and CLI build pass. Both independent reviews are clean.
  • 24 portable checks pass. Six wind cases match Buddy output with electrical options on/off. Default fixed-wing nominal and crosswind reports are byte-identical to the parent binary; VTOL outcomes and bounds are preserved, with changed trajectories allowed.
  • Actual compiled STX browser checks pass for quad nominal, explicit east/west crosswind completion, original fixed-heading refusal, option clearing, electrical reporting and 320 px layout without console errors.
  • Exact Linux workflow qualification is pending. This PR remains a draft until it passes. Progresses #87; does not close it.

Merge Danger

Door: two-way

Blast Radius: simulated controls

The shared lift controller affects quad and VTOL simulations. No gains, source guards, authority rules, deadlines or physical actuator endpoints are relaxed. Broad simulation regressions pass; these checks do not establish measured full-angle aerodynamics, HIL, firmware SITL or physical flight readiness. CLI and workspace wind onset remains fixed at 1000 ms; phase onset coverage is a runtime-library test campaign.

17 changed files on the files tab, with 0 review threads.

Sign in to comment on this pull request.