Skip to content

sjones-code/ABS-System-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Dynamic System Modeling & Control: Anti-Lock Braking System (ABS) Simulation

A mathematical modeling and numerical simulation framework evaluating a 4-wheeled vehicle's nonlinear and linearized Anti-Lock Braking System (ABS). Built as part of a dynamic systems and controls architecture study, this project models the transient reactions of an automated braking control loop subjected to sharp variations in road-surface friction coefficients (e.g., transitioning rapidly from dry pavement to ice).


System Dynamics & Architecture

The simulation tracks a closed-loop control system comprising a 1,300 kg vehicle, hydraulic braking components, and an algorithmic feedback module:

  1. Pedal Assembly (Nonlinear vs. Linearized Inputs): * Nonlinear Model: Incorporates a sinusoidal non-linearity based on hydraulic bulk modulus equations ($\Delta P = \frac{K \cdot l_1}{l_p} \sin(\theta)$) to capture structural pendulum dynamics.
    • Linearized Model: Implements a small-angle approximation ($\sin(\theta) \approx \theta$) to evaluate the mathematical limits of linear model accuracy against real physical components.
  2. ABS Control Module: A conditional feedback operator that continuously sample system state differentials ($F_{fb} = F_{friction} - F_{brake}$). It dynamically modulates brake hydraulic line pressure ($P_b$) by $\pm10%$ increments hundreds of times per second to maximize deceleration while preserving static tire friction.
  3. Plant Dynamics (Vehicle & Tire Interfaces): Translates modulated braking pressures into longitudinal braking forces across all 4 wheels concurrently, outputting real-time vehicle deceleration curves.

Time-Varying Simulation Inputs

The plant model is evaluated across a 60-second runtime under a split-mu coefficient of friction profile:

  • $0 \le t < 30$ seconds: High-friction road surface ($\mu \approx 0.8 - 0.9$, simulating dry pavement).
  • $30 \le t \le 60$ seconds: Sudden low-friction disturbance boundary ($\mu \approx 0.2 - 0.4$, simulating patches of black ice).

To thoroughly test the control loops, the system evaluates three distinct driver braking inputs:

  • Ramp Input: Simulates a smooth, progressive application of the brake pedal from $0$ to $\frac{\pi}{12}$ radians over a 10-second window.
  • Step Input: Models a near-instantaneous emergency application (slamming the brakes) directly to maximum pedal travel.
  • Sinusoidal Input: Simulates manual "pumping" of the brakes across a continuous periodic frequency.

Technical Outcomes & Control Insights

  • Validation of Linearized Approximations: The simulation proves that because the pedal assembly accounts for a marginal geometric portion of the overall plant dynamics, the linearized small-angle approximation accurately mirrors the true nonlinear system output without destabilizing the loop.
  • Transient Response & Pulsing Dynamics: The output data successfully yields the characteristic "pulsing" acceleration behavior found in physical ABS deployments. When the system crosses the high-to-low friction step change at $t = 30$ seconds, the controller instantly adapts, scaling down line pressures to maintain stability while optimizing deceleration magnitudes.
  • Optimization Potential: The step and ramp simulation architectures demonstrate clear optimization boundaries for high-speed tracking loops, providing an excellent foundations for migrating conditional bang-bang controllers over to full proportional-integral-derivative (PID) or state-space autonomy algorithms.

Execution

To execute the simulation, open the repository files within a native MATLAB environment and run the core execution script:

run('abs_system_simulation.m')

About

Dynamic system modeling and simulation of a 4-wheeled vehicle's nonlinear and linearized Anti-Lock Braking System (ABS) across variable road-friction boundaries.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages