quadrotor/punch_out
A scenario of the Quadrotor model, from tools/trace/scenarios/quadrotor/punch_out.cpp.
– no checks
- 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:
- What happens to a roll command at full throttle? (Quadrotor Model Deployment)
Every channel
The 3-D view needs WebGL, which this browser does not provide. The plots and the description below show the same trace.
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
speed [m/s] speed
body_torque [N·m] [0] [1] [2]
t = 0.000 s / 0.800 s
Keys (with the player focused): Space play/pause · ← → one sample (Shift: ten) · Home/End · [ ] speed
0.8 s of the model/quadrotor scenario punch_out.cpp, 81 samples every 0.01 s. The panels plot every channel that changes: position, velocity, body_rates, rotor_speeds, rotor_thrusts, roll_pitch_yaw, speed, body_torque, with setpoints dashed. 4 events are marked. It has no pass criteria.
- full throttle: every rotor commanded to ω_max
- rotor speeds above 95 % of ω_max: outside the expected envelope
- airspeed above 5 m/s: outside the expected envelope
- roll command ±20 rad/s: the left rotors are clamped, only the right respond
Constant over the run
rotor_speed_max= 3672 rad/s