cascade/climb
A scenario of the Cascaded controller, from tools/trace/scenarios/cascade/climb.cpp.
✓ pass
- The clang run (clang 18.1 optimized) matches the committed trace.
- The gcc run (gcc 13.3 optimized) matches the committed trace.
Shown on
These players show the same trace, with panels chosen to explain it:
- When the thrust runs out on a climb, does the controller wind up? (How the Cascade Works)
- After 2 s against the thrust limit, does the climb overshoot? (Cascade V&V Plan)
Every channel
height [m] [0] [1]
vertical_velocity [m/s] [0] [1]
collective [N] [0] [1] [2]
vertical_integral [m/s²] vertical_integral
vertical_cut vertical_cut
step_fraction [0] [1]
t = 0.000 s / 15.000 s
Keys (with the player focused): Space play/pause · ← → one sample (Shift: ten) · Home/End · [ ] speed
15 s of the control/cascade scenario climb.cpp, 751 samples every 0.02 s. The panels plot every channel that changes: height, vertical_velocity, collective, vertical_integral, vertical_cut, step_fraction. 1 events are marked. Pass criteria: BB-I2 overshoot_above_unsaturated <= 0.05.
- setpoint 10 m up; the vertical force is cut to the cap
- ✓ passBB-I2 overshoot_above_unsaturated = -0.03701 (<= 0.05), computed by the scenario harness