Skip to content

samarthgupta128/PS2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ๏ธ Optimized Quarter-Car Suspension Controller

Python Algorithm Optimization

A high-performance active suspension control system designed to minimize "Comfort Score" for volatile cargo transport.


๐ŸŽฏ The Challenge: "Volatile Cargo"

Stark Industries requires a suspension controller for an autonomous convoy. The goal is to minimize a weighted Comfort Score ($CS$) based on:

  1. RMS Displacement (bouncing)
  2. Max Displacement (bottoming out)
  3. RMS Jerk (vibration)
  4. Max Jerk (sudden shocks)

Constraints:

  • Actuator Delay: 20ms (4 simulation steps)
  • Damping Limits: 800 - 3500 Ns/m
  • Blind Control: No preview of the road; only current accelerometer data.

๐Ÿ’ก The Solution: Smoothness First

My analysis revealed that Max Jerk dominates the penalty score. Standard "Skyhook" controllers switch damping too fast, creating huge jerk spikes.

My approach uses a "Smooth Skyhook" strategy:

  1. Predictive Logic: Uses relative velocity trends to "brace" for impact before it happens.
  2. Heavy Filtering: Applies an exponential moving average ($\alpha=0.02$) to damping requests to filter out road noise.
  3. Strict Rate Limiting: Caps the rate of change of the damper ($\Delta c / \Delta t$) to prevent sudden force discontinuities.

The Physics Engine

  • Integration: Runge-Kutta 4th Order (RK4) for high-precision simulation.
  • Dynamics: Full 2-DOF Quarter-Car model ($m_s, m_u, k_s, k_t$).

About

Second problem statement for Synapse drive

Resources

Stars

Watchers

Forks

Languages