Max Roll Reduction
145° to 7.2°
Sim Conditions
24 validated
Allocation Methods
9 tested
System ArchitectureINTERACTIVE_DIAGRAM
Summary
Closed-form 3-motor allocation derived and validated for all 4 single-motor failure cases. Identified motor saturation as the root cause of attitude loss; a thrust clamp reduced max roll from 145° to 7.2° on hardware. MuJoCo rigid-body sim built for gyroscopic coupling, with sim-to-real validation across PID, INDI, and gyroscopic-compensation controllers.
allocator.pycode
# 3-motor allocation,
# motor 0 failed
W = clamp_thrust(
M_3motor @ cmd_wrench
)
motor.set_pwm(
[0.0, *W]
)videocamProject Demo
VIDEO