quadrotor/rotor_torques
A scenario of the Quadrotor model, from tools/trace/scenarios/quadrotor/rotor_torques.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:
- Which way does each rotor push and twist the body? (How the Quadrotor Model Works)
Every channel
The 3-D view needs WebGL, which this browser does not provide. The plots and the description below show the same trace.
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
total_thrust [N] total_thrust
body_torque [N·m] [0] [1] [2]
t = 0.000 s / 2.400 s
Keys (with the player focused): Space play/pause · ← → one sample (Shift: ten) · Home/End · [ ] speed
2.4 s of the model/quadrotor scenario rotor_torques.cpp, 241 samples every 0.01 s. The panels plot every channel that changes: rotor_speeds, rotor_thrusts, total_thrust, body_torque, with setpoints dashed. 6 events are marked. It has no pass criteria.
- rotor 0 (front right, CCW) alone
- rotor 1 (rear left, CCW) alone
- rotor 2 (front left, CW) alone
- rotor 3 (rear right, CW) alone
- all four: the torques cancel; thrust 81 % of the weight
- all rotors commanded to stop
Constant over the run
position= [0, 0, 0] mvelocity= [0, 0, 0] m/sattitude= [1, 0, 0, 0]body_rates= [0, 0, 0] rad/sroll_pitch_yaw= [0, 0, 0] radweight= 9.807 N