FSAE Front Axle Optimization Using OptimumKinematics Optimization Module

by | Dec 2, 2021 | Optimization Module, Optimum Kinematics | 0 comments


Camber plays a big role on vehicle balance and control. The inclination angle of the tires affect not only the maximum lateral grip but also the tire stiffness, which impacts on driver sensitivity, as well as tire wear and temperature. However, the suspension links that control the camber variation also determine other factors, such as roll center, scrub radius, caster trail, half track variation and front view swing arm angle and length.

This study will demonstrate how we can use OptimumKinematics’ Optimization Module to optimize the front axle of a FSAE car and maximize the lateral mechanical grip by maintaining the tires’ at optimal contact to the ground in . It will comprise the front axle only. For this study we will take a generic FSAE vehicle and its parameters to determine the weight transfer on the front axle for which we will try to maximize the lateral grip.

The baseline system

We’re adopting a generic FSAE Double Wishbone front suspension, shown in the figure below. There is no actuation on this system nor anti-roll systems to aid in optimization speed and maintain a simpler setup. The pickup points are modified from an existing FSAE project.

The tire selected is fitted for a 13 inches rim with 8 inches of width, a common wheel size used in formula SAE competitions. The selected pressure for the tire is 10 psi, granting a unloaded radius of 260 mm.

The main vehicle characteristics are input in OptimumG’s Weight Transfer spreadsheet in order to determine the vertical loads on the inner and outer tires. The vehicle parameters we estimated can be seen below. The corner load estimations were obtained from our weight transfer excel spreadsheet.

The above parameters for a 1.8G lateral acceleration yields the following loads (LH corner):

The normal loads above will be used to conduct the ideal tire positions for this condition. Below there are two charts showing a Magic Formula model (6.1) fitted from the TTC data using OptimumTire. The tire model shows that the slip angle where the peak lateral force lies is between 7 and 8 degrees for the inside tire (positive slip angle) and between -8 and -9 degrees for the outside tire (SAE Coordinates). This effect will be taken into account when we define the Ackerman Angle in steering.

Design variables (boundaries)

The boundaries types were established according to the project needs and space availability for each pickup point. The chassis links were defined as a box boundary because it has a wider available space and matches the constructive characteristics of a common FSAE frame. The lower arm chassis points allows a wider box on the Y direction and the upper arms allows a wider Z axis box.

The outboards points were defined as round shape boundaries to allow a constrained search inside the wheel without colliding with the brake disk or the inner part of the rim. The cylindrical boundary type allows a better search than the spherical type in this case, since it allows a bigger radius without overlapping between points, while still granting a bigger search space in the Y axis.

In the figures below it’s possible to verify the boundaries established for each point. The blue boundaries are defined for the lower A-arm, the green ones are for the upper A-arm and the reds were defined as the tie-rod’s boundaries. Note that the boundaries do not require to envelop the current point, such as for the inner tie rod point, that had a bad starting position, so the search was restricted on a region where the authors established that a better solution could be yielded.


The front suspension will be evaluated in three different motions: heave, roll and steering. All the motions imposed are independent and applied on the system only once for each new suspension configuration that the optimizer may find. Thus, each function evaluation will run three independent motion simulations.


The heave motion is defined by FSAE rules, which imply that the suspension must have at least 50 mm of wheel travel. Adding a little bit of safety factor, we’ll use from -30 to +30 mm of heave motion.


The roll motion was obtained from estimations using OptimumG’s Weight Transfer Spreadsheet. Even though the roll found on simulations was limited to 0.5 degrees, we’re using +/- 1 degree of roll. The motion goes from -1 to +1 degree of roll. The roll axis is maintained fixed at the initial position throughout the whole simulation process.


The steering motion range was defined by the maximum steering wheel displacements, in degrees. The current steering system ranges from -120 to +120 degrees. We’re maintaining this values, thus, the system will be steered to -120 degrees and linearly back to +120 degrees.


This optimization contains 12 different objectives, which belong to different evaluation functions. The weight function and scaling factors for each objectives are found on the results section below, where we show the comparison between the baseline, optimized and target functions.

  • Heave: ranging linearly from -30 mm to +30 mm
    • Toe Angle: The toe angle influences the tire wear and response by “imposing” a static slip angle when the car is moving in a straight line. When there is weight transfer, the toe angle can make the car more or less susceptible to deviate its own path, hence it can control the vehicle’s stability. On an aero car, the rear toe has a much higher influence on vehicle stability than the front toe. On high speed corners, the vehicle is subject to a large amount of downforce, which lowers its ride height. In that case, we want a positive toe angle (toe out) for the front axle, in order to have a higher response on corner entry.
    • Half Track: The half track variation in heave influences mainly in tire scrub on bumpy tracks. For longer tire lifespan and lower tire temperatures, it’s interesting to keep this value to zero through the heave motion.
    • Scrub Radius: The scrub radius has an influence on driver perception during deceleration. Ideally, this value should be minimized. However, if there is any difference between the left and right longitudinal forces generated on the tires, the driver would not be able to feel it if both scrub radii are zero. Thus, we set this value to a value different from zero, but not too high.
    • Mechanical Trail: The mechanical trail is the lever arm between the tire lateral forces and the king pin axis on the side view. Ideally, this value should be minimized so we can also minimized the loads transmitted to the steering rack.
    • Tie Rod Top View Angle: This objective is connected to the structural concerns of the system. Ideally, the top view angle should be zero in all cases to reduce the bending moments on the steering rack.
    • Roll Center Z: For the roll center height, the goal was to reduce the static value and its variation through the range of motion.
    • Side View Swing Arm Angle: The side view swing arm angle influences on the anti-features of the front axle. Since we’re working with the front axle only, we chose this setting instead of the anti-dive, which requires a rear axle to be calculated.
  • Roll
    • Camber Angle: The goal for the camber in roll was to reduce it’s variation maintaining it bellow 1 and -1 degree. So a constant value of 0 is set, since the lowest this value the better for our objective.
    • Roll Center Y: The objective here is to reduce the roll center side variation, for this reason the objective graph was set to a constant value of 0.
  • Steering
    • Camber Angle: The camber angle variation on steering is set to 0 degrees following the best inclination angle for peak lateral force, found in the tire analysis.
    • Ackerman Angle: The Ackerman angle is set to a slightly negative value to allow the difference on slip angle on high speed corners established by the tire analysis.
    • Tie Rod Front View Angle: To reduce the bending loads on the steering rack the goal is to reduce the front view angle of the tie rod.

Optimization Settings

Having in mind the multi-objective nature of the defined optimization, the settings were chosen in a way that the optimization does not get stuck in a local minimum and also make faster and more assertive choices. For this reason, the selection for reproduction was defined as the ranked type, which ranks the individuals based on the objectives individually. This allows the optimization to mix sparse suspension configurations to find an optimal solution.

Since the optimization presented a high quantity of objectives, the population size was set to 300. The selection for replacement was adjusted to 200 individuals, so the optimization would have a more defined direction when combined with the ranked selection for reproduction. The maximum number of generations was set to 2000 since a late convergence was expected due to the optimization complexity. However, the Optimization Module allows the user to stop the optimization process when a satisfactory solution was found.

Setting Value
Maximum generations 2000
Population size 300
Mutation rate 5%
Crossover Type Voluminal
Alpha 1.5
Mutation Type Gaussian
Standard deviation 1.0
Selection for reproduction Type Ranked
Select by Ranks
Selection size 1
Selection for replacement Type Truncation
Size 200
Number of threads 10
Auto save frequency 100


The optimization was run on an Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz, with 10 parallel processors. The optimization was stopped manually at the 1670th generation. The total elapsed time was 5 hours 18 minutes and 48 seconds. The best solution fitness value was 101.5242.


Given the complexity of this optimization and the conflicts between the objectives, it was expected a low convergence rate. In this run we particularly did not end up with a good convergence criteria – which would be an increasing selection pressure. Due to the sensitivity of the fitness value to the boundaries, the average fitness did not drop even though the optimization yielded an improved suspension configuration.


Below the objectives are overlaid with the optimized system and the baseline setup, which can be compared more easily. The X-axis represents the Motion Completion from 0 to 100%. The charts title show the evaluation function.


Toe Angle

Half Track

Scrub Radius

Mechanical Trail

Tie Rod Top View Angle

Roll Center Z

Side View Swing Arm Angle


Roll Center Y

Camber Angle


Camber Angle

Ackerman Angle

Tie Rod Front View Angle

Final solution

The optimization process yielded a mechanically feasible suspension system, with no collisions between the links and no absurd constructive elements. Overall, most of the objective functions were improved with relation to the baseline system, the most noticeable being the scrub radius and mechanical trail in heave. The camber variation in roll also yielded on a poorer system, but the variation is not significantly worse when all the objectives are put on the table together. Below are the 3D model pictures of the optimized system. The first image shows the boundaries together with the system.

The pickup points variation is also given as an output from the optimization and are found on the table below. The absolute coordinates will not be shown in this case study.

Coordinate Delta
Tie Rod Chassis X [Left] [Front] -71.25
Tie Rod Chassis Y [Left] [Front] 6.38
Tie Rod Chassis Z [Left] [Front] 1.43
Lower A-Arm Upright X [Left] [Front] -5.40
Lower A-Arm Upright Y [Left] [Front] 17.91
Lower A-Arm Upright Z [Left] [Front] -31.06
Upper A-Arm Upright X [Left] [Front] 12.40
Upper A-Arm Upright Y [Left] [Front] 46.25
Upper A-Arm Upright Z [Left] [Front] -4.53
Tie Rod Upright X [Left] [Front] 45.21
Tie Rod Upright Y [Left] [Front] -19.75
Tie Rod Upright Z [Left] [Front] -61.25
Upper A-Arm Chassis Aft X [Left] [Front] -0.50
Upper A-Arm Chassis Aft Y [Left] [Front] 57.32
Upper A-Arm Chassis Aft Z [Left] [Front] 85.74
Upper A-Arm Chassis Fore X [Left] [Front] -13.18
Upper A-Arm Chassis Fore Y [Left] [Front] -26.16
Upper A-Arm Chassis Fore Z [Left] [Front] 44.26
Lower A-Arm Chassis Aft X [Left] [Front] -18.16
Lower A-Arm Chassis Aft Y [Left] [Front] -63.00
Lower A-Arm Chassis Aft Z [Left] [Front] 30.87
Lower A-Arm Chassis Fore X [Left] [Front] 34.16
Lower A-Arm Chassis Fore Y [Left] [Front] -132.48
Lower A-Arm Chassis Fore Z [Left] [Front] -6.06


We can conclude that the optimization yielded a good and improved solution with relation to the initial one. Even though some of the objectives were deteriorated on the optimized system compared to the baseline, the overall behavior of the new suspension system is much closer to what the authors have defined.

The weight functions and scaling factors are still a big challenge to the optimization setup. Since they control which solution is better than another, these are extremely important parameters that should be taken care of with caution.

The optimization boundaries also play a big role on the search for the optimal system. They not only limit the search but are also used on initialization. If narrower boundaries are used, the optimization is more likely to converge faster and provide a higher quality solution. On this case study we used big boundaries assuming that a whole new suspension can be designed, as in the case of FSAE teams that build a new car every year.

Lastly, this case study shows that with the Optimization Module, we were able to optimize a suspension system in under 6 hours in a laptop computer. This proves that the Optimization Module is a incredible tool with huge time-saving potential that will aid chassis development teams to make better and faster decisions.


Want to receive updates about OptimumG? Sign up for our newsletter!