Analysis of a Decoupled Roll-Heave Suspension

Most Formula Student vehicles adopt either a directly mounted spring-damper connected to double wishbones or a push/pull-rod suspension system. In the latter, the spring-damper is typically mounted on a cam or rocker. The cam translates vertical wheel motion into a desired force profile, allowing engineers to achieve a specific, often progressive, spring rate.

A more advanced variation is the decoupled roll-heave suspension system, which separates the motion of the two wheels into two distinct modes: heave, which represents vertical displacement of the vehicle body (i.e., when both wheels on the same axle move up or down simultaneously), and roll, which represents lateral tilting (i.e., when one wheel rises and the other falls). By separating these two effects, engineers can fine-tune the suspension's response to body roll independently from its response to vertical motion.

The main advantage of such a system is the precise control it provides over body roll during cornering. This allows for optimization of roll stiffness to improve handling without compromising the ride quality or vertical compliance (heave), which can otherwise limit grip or reduce comfort. However, the main challenge lies in the system’s mechanical complexity. The geometry and interactions between components make it difficult to optimize damping and spring rates without a detailed model. Accurate modeling is essential to ensure the suspension behaves as intended, especially since its performance is closely tied to the specific characteristics of both the car and the track.

At Sheffield Formula Racing, the decoupled roll-heave suspension consists of four parallel systems integrated into a single assembly: one heave system, two linking systems, and one roll system. These are all mounted on a central splined shaft supported by bearings at both ends, allowing free rotation. The system employs a combination of splined and unsplined rockers, connected using a push rod at the front and a pull rod at the rear, each tailored to the respective load directions.

System Breakdown

  • Heave System:
    Each side of the suspension has a splined rocker linked to a push/pull rod and a coilover spring-damper. When the car’s body moves downward (in heave), the vertical motion of the wheels rotates the rockers. The cams on the rockers move inward, compressing the spring-damper and storing potential energy.

  • Linking Systems:
    Each consists of one splined and one unsplined rocker, connected via a link with pins. These translate motion from one rocker to the other and reverse the direction of rotation. This allows symmetrical motion in heave to pass through without affecting the roll system, while asymmetrical motion (i.e., roll) triggers differential movement in the rockers.

  • Roll System:
    The unsplined roll rockers contain slots that receive the pins from the linking rockers. If there is a difference in displacement between the left and right sides of the car—say 10 mm on the left and 15 mm on the right—the heave rockers rotate accordingly, compressing the heave spring. This motion is transmitted through the splined shaft to the linking rockers, which rotate the pins in the roll rockers. The roll system then compresses its spring-damper only when the displacement difference causes asymmetric engagement. In pure heave, where both wheels move equally, the roll rockers rotate uniformly, producing no relative displacement and, therefore, no roll response.

Simulation Development

To simulate and analyze this suspension system, I initially wrote a procedural MATLAB script to develop a basic understanding. This first version used wheel displacements as input and calculated the corresponding spring-damper forces. While it successfully produced force-displacement graphs for heave, it failed to isolate roll behavior, as roll dynamics are influenced by heave geometry in this configuration. Additionally, the code was over 2,000 lines long, with hundreds of variables, making it difficult to debug and trace mathematical errors.

Learning from this, I transitioned to an object-oriented MATLAB implementation. This approach allowed me to represent each suspension component—rockers, springs, dampers, and rods—as individual classes with encapsulated behavior. This significantly improved the structure, modularity, and readability of the code.

Advanced Simulation Features

  • The system takes vehicle body acceleration inputs (longitudinal, lateral, and vertical), sourced from a vehicle dynamics simulation tool that models a full lap of the Formula Student Silverstone Circuit.

  • It uses a cylindrical coordinate system centered on the splined shafts and rod attachment points to simulate component motion.

  • Each class logs its own state data, enabling real-time tracking of positions, velocities, accelerations, and forces for all components. This facilitates post-processing and validation for strength, fatigue, and compliance.

  • Force inputs are derived from vehicle mass, center of gravity height, mass distribution, and wheelbase. The body is treated as the constrained element, simplifying calculations by reducing the degrees of freedom and computing force reactions at each wheel.

  • Forces at the wheels are transformed into kinematic data (wheel velocity and displacement), assuming vertical-only wheel movement. The resulting wheel displacement determines the rocker angles, which in turn update the entire system state (via angular relationships on the splined shaft).

  • Spring and damper displacements, velocities, and accelerations are calculated using vector algebra. Forces are calculated using standard equations:
    F=−kx−cx˙F = -kx - c\dot{x}F=−kx−cx˙
    These are then converted into torques on the rockers and back into forces at the wheel for feedback in the next simulation step.

  • The simulation iterates through all input data, with each timestep recorded and sent to a top-level program for visualization and further analysis.

Component Configuration and Optimization

A configuration file allows for dynamic changes to component properties—such as spring rates, damping coefficients, and geometry. The team previously used mountain bike air shocks, which exhibit non-linear spring behavior. However, the current system uses linear coilovers, which simplify modeling and allow the use of approximated linear spring-damper characteristics.

Two main goals guided the simulation’s success criteria:

  1. Fast dynamic response to inputs.

  2. Centering around mid-travel throughout a full lap, avoiding hitting bump or droop stops.

An iterative process was used to identify four suitable spring rates for the coilovers. These rates achieved balanced front-rear displacement, compensating for greater deceleration forces compared to acceleration. Damping values, on the other hand, were harder to define due to incomplete manufacturer data. A placeholder damping value was used, yielding satisfactory performance but requiring future refinement.

Additionally, sensitivity issues arose due to imprecise CAD-derived geometry. Some values had to be recalculated within the simulation using more reliable methods.

Outcomes and Future Work

The final simulation produced promising results. The selected spring rates were implemented in SFR15, resulting in a suspension system that was stiff yet responsive. The car performed effectively during testing, validating the simulation approach.

For future development, I aim to:

  • Reduce modeling assumptions.

  • Transition to a fixed-wheel simulation, where the vehicle body moves instead of the wheels.

  • Incorporate a full wishbone kinematic model to accurately track toe and camber changes through the suspension’s range of motion.

  • Use this information to refine hardpoint positions and improve both mechanical performance and tire contact patch stability during dynamic events.

Next
Next

Why I Became an Engineer