• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wboayue / stable-flight / 38666987320
92%

Build:
DEFAULT BRANCH: main
Ran 15 Oct 2026 01:47AM UTC
Jobs 1
Files 138
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Oct 2026 01:41AM UTC coverage: 91.148% (+0.03%) from 91.118%
38666987320

push

github

web-flow
Tailsitter back ramp: sink guard, slow low-thrust sim ramp (#343) (#398)

The tailsitter back ramp's thrust now rises while the vehicle sinks, and
the sim tailsitter flies a slow, low-thrust back ramp that turns plane
speed into a slowdown, not a climb or a fall.

## Why

The climb after a back transition is mostly plane speed turning into
height: v²/2g ≈ 11 m from 15 m/s, matching #341's 10–12 m. Lowering
`TRAN_VT_THR` trims it. On a slow ramp, though, too little thrust stalls
the plane nose-high and it falls. In the sim (`airframes::tailsitter()`,
25°/s, done at 20°), thrust 0.55 or less fell 30 m into the ground. A
fixed ramp thrust had to be guessed per airframe, with a cliff just
below the right value. If it's a choice between climbing and falling,
the vehicle should climb.

## Change

- **eXplora:** `TRAN_VT_THR` 0.84 → 0.75, from the flights below.
- **Core:** the `ToCopter` thrust is `back_thrust`, raised by
`TRAN_VT_SINK_GN` (default 0.4) per m/s of sink past `TRAN_VT_SINK_LIM`
(default 1 m/s), capped at 1. Thrust saturation is flagged while it
acts. The guard math moves to `math::guard_sink`, shared with
`CopterGuidance`'s piloted sink guard.
- **Sim airframe:** back ramp 25°/s, done at 20°, `back_thrust` 0.6
(cruise 0.69, hover 0.91).
- **Sources** (cited in the `vtol` module docs):
- ArduPilot flies a fixed ramp throttle (`Q_TAILSIT_THR_VT`,
`tailsitter.cpp:137-142`, `:306-341`).
- PX4 runs its hover vertical-speed loop through the ramp
(`FlightTaskTransition.cpp:50-86`). The guard is the sink side of that
loop.

## Sim results

Measurements on `airframes::tailsitter()`, from a hover at 30 m and a
plane leg at 15 m/s, back request at 45 s:

| Ramp | Thrust | Guard | Speed at handover | Peak climb | Lowest |
Thrust at 0 after handover |
|---|---|---|---|---|---|---|
| 50°/s, done 45° (`main`) | 0.5 | – | 9.2 m/s | +7.5 m | −0.1 m | 0.82
s |
| 25°/s, done 20° | 0.6 | either | 2.5 m/s | **+9.5 m** | −1.2 m | none
|
| 25°/s, done 20° | 0.5 / 0... (continued)

122 of 130 new or added lines in 6 files covered. (93.85%)

2 existing lines in 2 files now uncovered.

6559 of 7196 relevant lines covered (91.15%)

6.83 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
97.33
-2.03% crates/stable-flight-sim/tests/tailsitter_transition.rs
3
89.66
-1.85% crates/stable-flight-sim/tests/common/tailsitter.rs

Coverage Regressions

Lines Coverage ∆ File
1
97.33
-2.03% crates/stable-flight-sim/tests/tailsitter_transition.rs
1
83.75
-1.25% crates/stable-flight/src/commanders/waypoint.rs
Jobs
ID Job ID Ran Files Coverage
1 38666987320.1 15 Oct 2026 01:47AM UTC 138
91.15
GitHub Action Run
Source Files on build 38666987320
  • Tree
  • List 138
  • Changed 12
  • Source Changed 9
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38666987320
  • 0a106c4f on github
  • Prev Build on main (#38658498873)
  • Next Build on main (#38669089886)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc