Quadrotor control under disturbances such as wind gusts and payload variations remains challenging. First-order sliding mode control (SMC) and matched/unmatched uncertainty distinction are classical approaches; however, neither tells a practitioner which loops in a cascaded controller should be made robust to sustain disturbances, how to tune those loops, nor what the additional costs are on an embedded processor. Applying robust control uniformly across all axes addresses disturbances indiscriminately, adding tuning effort on axes where no disturbance acts. On inherently underactuated vehicles, disturbances along some axes cannot be opposed directly at all. We propose a principled methodology for deciding where robust control belongs in a cascaded architecture, with all control running onboard the vehicle. We recover the acting disturbance from PID hover flights under disturbance by inverting the equations of motion, use the recovered signal to identify and quantify the excited axes, and deploy robust control where it counts. Experiments on a Crazyflie 2.1 quadrotor under slung-payload and oblique-wind disturbances show tracking improvements concentrated on the axes the rule selects, and gain sweeps confirm that the switching gain reduces error on matched axes but has no effect on an excited unmatched axis, as the analysis predicts.
Figures & tables
Fig. 1 : Selective SMC deployment workflow. PID hover flights under disturbance are inverted through the equations of motion ➀. The recovered per-axis disturbance d^(t) is scored by its excitation δ^ against a threshold from nominal hovers to identify the excited axes ➁. Excited axes receive SMC, tuning the switching gain k on matched axes and the surface slope λ on unmatched axes, while the remaining axes retain PID ➂.
Axis
Primary control input
Channel structure
z
Thrust ( Fz )
Matched
x,y
Attitude (indirect)
Unmatched
ϕ,θ,ψ
Torque ( τϕ,τθ,τψ )
Matched
TABLE I : Per-axis actuation geometry
Fig. 2 : Disturbance classification from flight data. (a) Angle of the recovered disturbance relative to the thrust axis, clustering near 0∘ for matched disturbances (payload) and near 90∘ for unmatched disturbances (wind). (b, c) Per-axis excitation δ^i ( 11 ), as force (mN) for position and as a percentage of the summed motor commands for attitude, compared against the excitation threshold εexc (dashed), with bars indicating mean ± std. Insets highlight less-affected axes ( x,y for position, yaw for attitude) below the threshold. Axes remaining below threshold retain PID control.
Fig. 3 : Selective SMC deployed onto the Crazyflie’s cascaded control architecture. Yellow marks loops that can be replaced by SMC, and blue marks loops that always retain PID. Position-level SMC issues velocity setpoints at 100 Hz , and attitude-level SMC issues body-rate setpoints at 500 Hz , both to the built-in inner loops. Algorithm 1 selects which yellow loops are switched to SMC for a given disturbance.
Fig. 4 : Setup for the physical experiments in Sec. V .
Fig. 5 : Position-level results. (a, b) RMSE vs. switching gain k for the payload (blue) and wind (red) disturbances, three trials each. Dashed lines mark the O(1/k) scaling of ( 8 ) in (a) and the k -independent level in (b), drawn at the mean RMSE across the sweep, and the shaded band in (a, b) marks the chattering regime at high k . (c) Lateral RMSE vs. surface slope λ under payload and wind at fixed k , three trials each. Dotted vertical lines mark the deployed k in (a, b) and the deployed λ in (c).
Controller config.
x - y Pos.
z Pos.
Attitude ( ϕ,θ,ψ )
PID-z/PID-att
PID
PID
PID
SMC-z/PID-att
PID
SMC
PID
SMC-z/SMC-att
PID
SMC
SMC ( ϕ,θ ), PID ( ψ )
TABLE II : Controller assignments for payload experiments
Fig. 6 : Per-axis RMSE for slung payload experiments (Sec. V-B1 ), ten trials per controller configuration. Dots show individual trials, black lines medians, and bars the 25th–75th percentiles.
Controller config.
x - y Pos.
z Pos.
Attitude ( ϕ,θ,ψ )
PID-xyz/PID-att
PID
PID
PID
SMC-xyz/PID-att
SMC
SMC
PID
SMC-xy/PID-att
SMC
PID
PID
SMC-xyz/SMC-att
SMC
SMC
SMC ( ϕ,θ ), PID ( ψ )
PID-xyz/SMC-att
PID
PID
SMC ( ϕ,θ ), PID ( ψ )
TABLE III : Controller assignments for oblique wind experiments
Fig. 7 : Per-axis RMSE for the oblique wind experiments with motion-capture feedback (Sec. V-B2 ). Dots show individual trials, black lines medians, and bars the 25th–75th percentiles.
Metric
PID-xyz/PID-att
SMC-xy/PID-att
SMC-xyz/PID-att
PID-xyz/SMC-att
SMC-xyz/SMC-att
Wind-critical axes (lateral position & attitude)
x RMSE ( m )
0.444±0.015
0.150±0.009
0.272±0.018
0.312±0.030
0.410±0.028
y RMSE ( m )
0.413±0.012
0.167±0.008
0.252±0.008
0.333±0.018
0.382±0.024
Roll RMSE (deg)
6.06±0.18
5.72±0.13
5.90±0.15
3.47±0.20
4.98±0.17
Pitch RMSE (deg)
4.67±0.33
5.79±0.08
4.98±0.39
2.38±0.25
4.39±0.15
Less-affected axes (altitude and yaw)
TABLE IV : Tracking performance comparison (mean ± std.) for oblique wind disturbance experiments. Best-performing cases in bold.
Fig. 8 : Per-axis RMSE for the oblique wind experiments with fully onboard optical-flow estimation (Sec. V-C ), including INDI. Dots show individual trials, black lines medians, and bars the 25th–75th percentiles.
Controller
Full
Att.-only
Average
CPU load
PID
5989
2104
2881
0.88%
Selective SMC (payload)
5289
1666
2391
0.73%
Selective SMC (wind)
5207
2104
2725
0.83%
Uniform SMC
4769
1666
2287
0.70%
INDI [ 12 ]
2675
2671
2672
0.82%
TABLE V : Cycles per control update (168 MHz core). Full ticks run the position and attitude loops together at 100 Hz , and attitude-only ticks fill the remaining 500 Hz updates. The average weights one full tick per four attitude-only ticks, and CPU load is the processor share at the 1 kHz stabilizer rate. Selective rows use the configurations chosen by Algorithm 1 for each disturbance.
This paper presents two controllers for a quadrotor equipped with a two-DOF robot manipulator that physically interacts with the environment. Cartesian impedance and adaptive sliding mode controllers are implemented and compared for a simple hovering task in the presence of some bounded disturbance. A full dynamic model is developed, and the two above controllers are implemented with the same initial conditions and desired position.
Sandesh Thapa
School of Mechanical and Aerospace Engineering Control, Robotics & Automation Lab (CoRAL), Spring 2017 Oklahoma State University Stillwater, Oklahoma
In sampled cascade linear active disturbance rejection control (LADRC) of quadrotors, the extended-state observer typically receives the instantaneous command, although the delayed measurement reflects an earlier, rotor-filtered acceleration. This paper proposes actuator-aware (AA) observer inputs: altitude and attitude observers use limited virtual inputs filtered by an assumed rotor model and aligned with the measurement delay, and horizontal observers use acceleration reconstructed from measured attitude. Fixed gains are selected on the discrete-time model under sensitivity and step-response requirements and stationary covariance ceilings on each channel's control variance and increment and on the noise-induced inner-loop increment of the full cascade. In paired set-point trials, PID-Budget, AA-Budget and AA-HalfGain reach mean RMSEs of 65.5, 19.2 and 16.9mm; under a stricter common cascade ceiling, the AA designs reach 29.9 and 26.4mm versus 72.3mm for a PID that uses roughly double their rotor-command increment. PX4 software-in-the-loop runs reproduce these results. Behind EKF2, a noise model fitted to the estimation errors predicts the roll/pitch and yaw increments within 5% on held-out and out-of-sample runs and the total rotor-command increment within 14%. Redesigned for this stack under the same sensitivity and response specification and estimator-aware ceilings, AA-Budget-E reduces the set-point RMSE from 59.1mm (PID-E) to 44.0~mm with a lower rotor-command increment in every paired set-point and lemniscate run (mean S6 rotor-command-increment reductions relative to PID-E: 45% before and 15% after output quantization); AA-HalfGain-E beats PID-E only on the lemniscate. The evidence is simulation-based, and the ceilings are nominal tuning constraints.
Xuan-Quy Dao, Ngoc-Bich Le, Le-Minh Nguyen
Eastern International University, Binh Duong, Vietnam · Industrial University of Ho Chi Minh City, Ho Chi Minh City, Vietnam
This paper presents QuadRocket, a quadrotor-based rocket prototype that provides a low-cost, low-risk platform for validating advanced thrust-vector control strategies for launch vehicle-type systems. The prototype consists of a cylindrical main body mounted on top of a quadrotor through a universal joint, forming a flying inverted pendulum with non-negligible inertia. For control design, the coupled system is modeled as a single axisymmetric rigid body actuated by a vectored force applied along its longitudinal axis. A reduced-attitude representation on the two sphere is adopted to explicitly exploit the vehicle's axial symmetry and to decouple yaw from the thrust-vector direction. On this model, we derive an adaptive backstepping controller that achieves almost global trajectory tracking in the presence of unknown constant disturbances, while a control-point transformation mitigates non minimum-phase behavior. The quadrotor is then treated as a thrust vector actuator, and a dynamic-surface-based attitude controller is designed to track the desired thrust-vector, accounting for actuation dynamics and avoiding explicit differentiation of virtual control signals. The complete architecture is evaluated in simulation and validated experimentally in an indoor motion-capture arena. Results demonstrate accurate trajectory tracking, effective disturbance compensation, and confirm the suitability of the QuadRocket as a versatile testbed for thrust-vector-controlled robotic vehicles.
Pedro Santos, Joel Reis, Paulo Oliveira +1
Instituto Superior T´ecnico, Universidade de Lisboa, Lisbon, Portugal · Faculty of Science and Technology, University of Macau, Taipa, Macao, China