| name | sliding-mode-control |
| description | Sliding mode control (SMC) — sliding surface design (relative degree, manifold s=0), equivalent control, reaching law (constant rate, power rate, exponential), chattering reduction (boundary layer, super-twisting algorithm), higher-order SMC (HOSM), Lyapunov stability analysis, disturbance rejection, SMC for mechanical systems (position, velocity, force control), adaptive SMC, terminal SMC, and applications in robotics, power electronics, and automotive. |
| metadata | {"priority":7,"promptSignals":{"phrases":["sliding mode control","SMC","sliding surface","chattering","variable structure control","super-twisting"],"minScore":3}} |
Sliding Mode Control (SMC) — Complete Skill
Fundamentals of Sliding Mode Control
Variable Structure Systems
Concept: control law switches discontinuously based on system state; creates a "sliding surface" in state space that the system is forced to reach and then slide along
Key property: once on the sliding surface, system dynamics are determined by the surface design (reduced-order system, independent of plant uncertainties and disturbances within bounds)
Two phases:
- Reaching phase: system moves from initial state to the sliding surface s = 0
- Sliding phase: system constrained to surface; converges to equilibrium
Sliding Surface Design
First-Order SMC
System: SISO nonlinear: ẋ = f(x) + g(x)×u + d(t) [d = disturbance; |d| ≤ D]
Error: e = x - x_d (position error); ė, ë = derivatives
Sliding surface (relative degree r):
For r=1 (relative degree 1): s = e
For r=2: s = ė + c × e [c > 0; sliding surface slope]
For r=n: s = e^(n-1) + c_(n-1) × e^(n-2) + ... + c₁ × e [λ polynomial Hurwitz]
Hurwitz condition for coefficients:
s = ė + c_e × e; for convergence on surface: s = 0 → ė = -c × e → e(t) = e(0)×exp(-c×t)
Choose c to set convergence time on surface: τ_surface = 1/c
Relative Degree 2 Example (Mechanical System)
Second-order system: mẍ = F_u + F_dist [position control; relative degree 2]
Error: e = x - x_d; ė = v - v_d; ë = a - a_d = (F_u + F_dist)/m - ẍ_d
Sliding surface: s = ė + c × e
Dynamics on surface (s=0): ė = -c × e → exponential convergence of tracking error
Time derivative of s:
ṡ = ë + c × ė = (F_u + F_dist)/m - ẍ_d + c × ė
Control Law and Equivalent Control
Equivalent Control
Setting ṡ = 0 (to stay on surface):
0 = (F_u_eq + F_dist)/m - ẍ_d + c × ė
→ F_u_eq = m × (ẍ_d - c×ė) - F_dist [requires knowledge of disturbance — not available]
Nominal equivalent control (without disturbance):
F_u_eq_nom = m × (ẍ_d - c × ė) [model-based feedforward]
Switching control (to handle disturbance):
F_u = F_u_eq_nom - K_s × sign(s) [sign(s) = +1 if s>0; -1 if s<0]
K_s > |F_dist|_max = D × m [gain must exceed maximum disturbance amplitude]
Reaching Condition — Lyapunov Analysis
Stability Proof
Lyapunov function: V = (1/2) × s²
Time derivative: V̇ = s × ṡ
For reaching condition:
V̇ = s × [(F_u_nom - K_s×sign(s) + F_dist)/m - ẍ_d + c×ė]
= s × [F_u_nom/m - ẍ_d + c×ė] + s × [F_dist/m] - K_s × |s|/m × m [s×sign(s) = |s|]
= s × 0 (equivalent control cancels) + s × F_dist/m - K_s × |s|
V̇ ≤ |s| × D - K_s × |s| = |s| × (D - K_s) < 0 when K_s > D
Finite time reaching: V̇ ≤ -η × |s| for some η > 0 → surface reached in t_reach ≤ |s(0)|/η
Reaching Laws
Common Reaching Laws
Constant rate reaching:
ṡ = -K × sign(s) [constant speed approach to surface; discontinuous]
Reaching time: t_r = |s(0)| / K
Exponential (proportional) reaching:
ṡ = -ε × s - K × sign(s) [s(t) = s(0)×exp(-εt) - K/ε×(1-exp(-εt))×sign(s)]
Approaches surface exponentially; additional constant term ensures finite reaching
ε > 0; K > 0 (K handles disturbances; ε speeds up reaching)
Power rate reaching:
ṡ = -K × |s|^α × sign(s) [α ∈ (0,1); faster reaching near surface than constant rate]
Useful for reducing chattering while maintaining finite reaching time
Chattering Problem and Remedies
Chattering Mechanism
Chattering: high-frequency oscillation around s=0 due to discontinuous sign(s) in control; caused by:
- Finite switching frequency of actuators
- Unmodeled dynamics (parasitic poles)
- Sensor noise amplified by sign function
Practical consequence: mechanical wear, heat, vibration, structural damage; unacceptable for most applications
Boundary Layer Method
Replace sign(s) with saturation function:
u = -K × sat(s/Φ) where sat(s/Φ) = {s/Φ if |s| ≤ Φ; sign(s) if |s| > Φ}
[Φ = boundary layer thickness]
Effect: smooth control within boundary layer → no chattering; approximate sliding
Cost: steady-state tracking error ≤ Φ/c (position error ≤ boundary layer / surface gain)
Selection: Φ = trade-off between chattering and tracking accuracy
Equivalently: replace sign with hyperbolic tangent:
u = -K × tanh(s/Φ) [infinitely differentiable; avoids discontinuity entirely]
Super-Twisting Algorithm (STA) — Second-Order SMC
STA (Levant 1993): achieves finite-time convergence WITHOUT chattering for second-order s dynamics
u = -λ × |s|^(1/2) × sign(s) + u₁ [fractional power of s; smooth control]
u₁̇ = -W × sign(s) [integral action handles disturbance]
Conditions for stability:
W > C (disturbance Lipschitz constant); λ > 0
Convergence: s → 0 and ṡ → 0 in finite time simultaneously (second-order sliding)
Advantage: output u is Lipschitz (no chattering); suitable for mechanical systems
Application: used in motor drives, hydraulic actuators, automotive ABS
Higher-Order SMC (HOSM)
Arbitrary-order algorithm (Levant 2001):
For r-th order sliding mode: design control so that s, ṡ, ..., s^(r-1) → 0 in finite time
r=1: standard SMC; r=2: STA or twisting; r=3: quasi-continuous algorithms
Nested sliding modes: each inner loop handles one integration
For r=3: u₃_dot = -α × sign(s); u₂_dot = -β × |s|^(1/2)×sign(ṡ+...) → complex
Quasi-continuous control:
u = -α × (ṡ + |s|^(1/2)sign(s)) / (|ṡ| + |s|^(1/2)) [bounded; continuous except on surface]
Application — Robot Joint Position Control
System: τ = M(q)q̈ + C(q,q̇)q̇ + G(q) + d(t) [torque equation; d = friction+unmodeled]
Error: e = q - q_d; ė = q̇ - q̇_d
Sliding surface: s = ė + Λ × e [Λ = diagonal gain matrix]
Control law:
τ = M_nom × (q̈_d - Λ×ė) + C_nom×q̇ + G_nom - K × sign(s)
K ≥ ||ΔM||×||q̈_d - Λ×ė|| + ||ΔC||×||q̇|| + ||ΔG|| + D [gain must exceed all uncertainties]
With STA: replace K×sign(s) with super-twisting → no chattering
Boundary layer tracking error:
||e_ss|| ≤ Φ_max / λ_min(Λ) [steady-state error bounded by Φ/Λ]
Adaptive Sliding Mode Control
Adaptive gain to avoid over-conservative K:
K̇ = γ × |s| [adapt gain upward when error increases]
K̈ = -γ × |s| only when system on surface [or use modified adaptation law to avoid over-adaptation]
Advantage: K automatically tunes to match actual disturbance level; minimal chattering
Standards and References
| Standard | Scope |
|---|
| Utkin "Sliding Modes in Control and Optimization" (1992) | Foundational reference |
| Shtessel et al. "Sliding Mode Control and Observation" (2014) | HOSM and STA reference |
| Levant "Higher-Order Sliding Modes" (2001) IJOC | HOSM theory |
| IEEE Transactions on Industrial Electronics | SMC application papers |
Output
Provide: system description (order; state equations; relative degree r; disturbance bounds D; uncertainties), sliding surface design (s = ė + c×e or higher order; c selection for convergence τ_surface [s]; Hurwitz check of characteristic polynomial), control law (equivalent control F_u_eq; switching gain K_s > D; total u), reaching law (type: constant/exponential/power; ε, K values; reaching time estimate t_reach [s]), Lyapunov stability proof (V̇ ≤ -η|s|; K > D: verified?), chattering mitigation (boundary layer Φ; sat() or tanh(); resulting steady-state error bound [mm or rad]; OR STA: λ, W parameters), simulation results recommendation (ode45/Simulink; compare sign vs. sat vs. STA; chattering amplitude), closed-loop performance (tracking error norm; convergence time on surface; disturbance rejection: response to step d [N or N·m]), and reference (Utkin 1992; Shtessel 2014; Levant 2001 for HOSM).