Skip to content

cascade/schedule

A scenario of the Cascaded controller, from tools/trace/scenarios/cascade/schedule.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:

Every channel

cascade/schedule: every channel 1× real time
velocity_setpoint_x [m/s] velocity_setpoint_x
target_tilt [rad] target_tilt
pitch_rate_setpoint [rad/s] pitch_rate_setpoint
pitch_torque [N·m] pitch_torque
tick tick
t = 0.000 s / 0.100 s

Keys (with the player focused): Space play/pause · ← → one sample (Shift: ten) · Home/End · [ ] speed

0.1 s of the control/cascade scenario schedule.cpp, 101 samples every 0.001 s. The panels plot every channel that changes: velocity_setpoint_x, target_tilt, pitch_rate_setpoint, pitch_torque, tick. 3 events are marked. Pass criteria: BB-T1 updates_off_schedule <= 0.

  1. the setpoint sets off at 5 m/s; all three loops run, with no error yet
  2. position loop: 0.1 m behind, so a 3.3° tilt target
  3. attitude loop, 4 ms later: the next rate setpoint toward that tilt
  • ✓ passBB-T1 updates_off_schedule = 0 (<= 0), computed by the scenario harness

All scenarios