A path-following adaptive controller for a Dubins vehicle whose turning channel is subject to an unknown loss of control effectiveness (LOE). The vehicle dynamics are written in a complex state-space representation that turns the planar Dubins kinematics into a single complex ODE; the resulting structure makes the adaptation law and the closed-loop boundedness proof clean. The controller pairs a PID nominal loop with a Lyapunov-based adaptive augmentation that estimates the LOE online. Path constraints (waypoints, minimum turn radius, no-fly zones) are enforced by adding a Control Barrier Function on top of the adaptive controller. The combined AC + CBF design follows arbitrary waypoint paths under LOE while respecting state and input constraints.
Read the published paper on IEEE Xplore · D. Maldonado-Naranjo, A.M. Annaswamy, MIT · IEEE Control Systems Letters, 2025.
Standard Dubins kinematics (constant forward speed v, planar position (x, y), heading ψ, bounded heading rate ω) recast in complex form with z = x + j y:
ż = v · e^(j ψ)
ψ̇ = Λ · ω
Λ ∈ (0, 1]
The first line is planar motion; the second is the turning channel under loss of effectiveness. Λ is the unknown loss factor: Λ = 1 is nominal, Λ < 1 means the rudder / aileron / turning surface has lost authority (icing, partial actuator damage, model-mismatch on a real airframe). The controller knows sign(Λ) but not the magnitude.
An admissible Dubins waypoint path is constructed from straight segments of length L_k and circular arcs of radius R_k ≥ R_min = v / ω_max. The reference model is a copy of the nominal plant driven by ω_ref:
ż_ref = v · e^(j ψ_ref)
ψ̇_ref = ω_ref(t)
ω_ref(t) is chosen so z_ref(t) traces the desired waypoint path. The reference is feasible by construction: any path that can be drawn with straight segments and turn-radius-respecting arcs can be tracked by ω_ref in the reference. The control problem becomes: drive z(t) → z_ref(t) and ψ(t) → ψ_ref(t) in the presence of the unknown Λ.
A PID outer loop generates the nominal heading-rate command ω_nom; the adaptive augmentation scales it by an online estimate θ̂ of 1/Λ:
ω_nom = PID(z, z_ref, ψ, ψ_ref)
ω = θ̂ · ω_nom
θ̂̇ = −γ · ω_nom · (ψ − ψ_ref)
The PID generates the nominal heading-rate command ω_nom from the cross-track and heading errors. The adaptive scaling θ̂ ≈ 1/Λ makes Λ ω = Λ θ̂ ω_nom, so when θ̂ = 1/Λ the closed-loop heading channel reduces to ψ̇ = ω_nom, the nominal closed loop. The Lyapunov-based gradient law adapts θ̂ from the heading error (ψ − ψ_ref) regressed against ω_nom; γ > 0 is the adaptation gain.
Define the Lyapunov candidate V = ½ (ψ − ψ_ref)² + ½ Λ γ⁻¹ (θ̂ − 1/Λ)². Differentiating along the closed loop, the cross-terms cancel and one is left with V̇ ≤ 0 for all admissible (ψ − ψ_ref, θ̂), which gives boundedness of the parameter estimate and asymptotic tracking of the heading channel. Cross-track error follows from the heading channel via the kinematic chain. Full proof in the paper.
For paths with no-fly zones (state constraints h_i(z) ≥ 0), the adaptive command is filtered through a per-step QP that enforces a Zeroing-CBF condition on each constraint:
ω_safe = argmin_ω (ω − ω_AC)²
s.t. L_f h_i + L_g h_i · ω + α h_i ≥ 0
|ω| ≤ ω_max
The constraint L_f h_i + L_g h_i · ω + α h_i ≥ 0 is enforced for every state constraint i; |ω| ≤ ω_max is the input-saturation bound. The CBF layer overrides the adaptive command only when the vehicle is close enough to a constraint that the no-fly-zone barrier would otherwise be violated. Pairing CBFs with adaptive control is non-trivial because the closed-loop drift L_f h depends on the adaptation; the analysis in the paper handles that coupling explicitly.
Square-loop waypoint path with an LOE event injected between waypoints 1 and 2. Red is a baseline PID controller; blue is the adaptive controller. Both controllers handle the path before the LOE event; only the adaptive design survives after, with θ̂ rapidly compensating for the lost turning authority and the closed-loop trajectory snapping back onto the reference.
Square path · PID (red) vs Adaptive Controller (blue) under LOE
3-D waypoint path with altitude changes and explicit no-fly zones. Four conditions overlaid: PID alone (red), AC alone (blue), PID + CBF (cyan), AC + CBF (green). When the plane stops, that means the vehicle has entered a no-fly zone and the simulation is paused. Only AC + CBF (green) finishes the lap: the AC handles the LOE, the CBF handles the state constraints, and neither alone is sufficient.
Race track · PID, AC, PID+CBF, AC+CBF compared under LOE and no-fly zones
Joint work with Prof. Anuradha Annaswamy at the MIT Active-Adaptive Control Lab. Published in IEEE Control Systems Letters, 2025; presented at CDC 2025.