Skip to content

cascade/tilt_yaw

A scenario of the Cascaded controller, from tools/trace/scenarios/cascade/tilt_yaw.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/tilt_yaw: every channel 1× real time
World: z up · Body: x forward, y left, z up
Rotors (PX4 Quad X): 0 FR, 1 RL spin CCW · 2 FL, 3 RR spin CW
Thrust arrows: 1 N = 4 cm · Grid: 0.5 m · Body axes: x red, y green, z blue
position [m] x y z
velocity [m/s] x y z
body_rates [rad/s] x y z
rotor_speeds [rad/s] rotor 1 rotor 2 rotor 3 rotor 4 dashed: command
rotor_thrusts [N] rotor 1 rotor 2 rotor 3 rotor 4
roll_pitch_yaw [rad] roll pitch yaw
tilt_position [m] x y z
tilt_rotor_thrusts [N] rotor 1 rotor 2 rotor 3 rotor 4
tilt_error [rad] [0] [1]
heading_error [rad] heading_error
rate_setpoint [rad/s] [0] [1] [2]
separation [m] separation
t = 0.000 s / 1.500 s

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

1.5 s of the control/cascade scenario tilt_yaw.cpp, 301 samples every 0.005 s. The panels plot every channel that changes: position, velocity, body_rates, rotor_speeds, rotor_thrusts, roll_pitch_yaw, tilt_position, tilt_rotor_thrusts, tilt_error, heading_error, rate_setpoint, separation, with setpoints dashed. 1 events are marked. Pass criteria: BB-I2 tilt_settle_delay_from_yaw <= 0.004 s.

  1. target: roll 30°; the solid vehicle also turns 90°
  • ✓ passBB-I2 tilt_settle_delay_from_yaw = 0.002 s (<= 0.004), computed by the scenario harness

All scenarios