# Virtual suspension design processes with McGill Formula Electric

For today’s blog post, Sam Reinsel is happy to host for the 2nd time the Mcgill Formula electric team at McGill University in Montreal, Canada. KattlyAndrewGarrettCyril, and Nicolas are here as guest bloggers to explain some of the work they poured time into while working remote. It’s a great example of how to push forward and ensure that your team not only learns, but improves when circumstances are against you.

# Introduction

In our last blog post, we discussed our first attempt at using Simulink to support our vehicle development. With a year of experience behind us, we are here today to show some of what we made in that time. Without a physical car to test (due to unforeseen circumstances in 2020), we ramped up simulation work instead. Investing into software tools built using MATLAB and Simulink has proven useful, as they enabled us to better understand and analyze the systems we were working on. Here are some cool tools we built that we thought you might enjoy.

## Ride Model

Although simple, we found that a ¼ car model (like the one we posted in the previous blog post) was sufficient to find general trends to guide on-track setup tuning and cross-check higher-complexity model data. It served us well to return to first principles with the ¼ car model instead of jumping straight into a 7DOF ride model, as discussed in our previous blog post. Simple analytical models are both easier to validate and less computationally expensive.

We also found it easy to transfer the analysis techniques we built on the ¼ car to other simulations. We were able to learn a lot about our car’s sensitivities to various settings, and could find a good first-base vehicle setup by optimizing it. Because we had a high-downforce car, pitch/roll and ride height sensitivity had big effects on performance. To examine these parameters, we built a ½ car model in Simscape and applied the knowledge gleaned from the ¼ car. In the graph below, you can see there are tradeoffs between road holding, load variation, and ground clearance parameters. MATLAB and Simulink helped us quantify those tradeoffs.

## Tire modeling

Last year, we decided to move forward with 16” tires instead of 18” tires. Data from the Tire Testing Consortium (TTC) is essential for this process. Starting with the high-level view that the laptime simulation provided, we then quantified effects of tire mass and inertia, examined effects of tire temperature, and analyzed pure slip sweeps using a tire model we had built in MATLAB. Building our own model enabled greater flexibility and ease of integration with our team’s other simulation tools.

## Yaw moment diagram

We also created a Yaw Moment diagram tool in MATLAB that is integrated with our tire model. The YMD tool is integrated with both our suspension kinematics calculation tool as well as 5D aero maps generated from our CFD simulations as it is important to account for kinematic and aero variations in different situations. Our YMD tool is used in both the design stage, and for helping us optimize the car’s setup. During the design stage, different suspension configurations can be compared to see their effects on the car’s handling characteristics. Additionally, we can perform sensitivity sweeps to compare different setup options (like toe, camber, tire pressure, etc).

## Suspension design app

Suspension is crucial to a vehicle’s performance, and designing new suspension is always a challenge. Programs like OptimumK are really helpful to analyze kinematics and inform the design process. However, we became limited as we could not get OptimumK to interface with our programs and analyses in MATLAB. To resolve this limitation,  using kinematics and MathWorks’ great documentation, we made our own Suspension Design App in MATLAB. The simulation and logic, the ‘backend’ of the app, was written as MATLAB code. To make the app user friendly and intuitive, a UI was created using the app designer which also allowed us to package everything as a standalone app. We can apply motion to the chassis (heave, pitch and roll) and animate the motion of the points. All relevant kinematic parameters (camber, toe, motion ratio etc…) can be graphed and analyzed fully. With this tool, we can easily change suspension points to evaluate their motion, visualize their effects on overall vehicle dynamics, and ensure we are rules compliant.

We can apply motion to the chassis (heave, pitch and roll) and animate the motion of the points. All relevant kinematic parameters (camber, toe, motion ratio etc…) can be graphed and analyzed fully. With this tool, we can easily change suspension points to evaluate their motion, visualize their effects on overall vehicle dynamics, and ensure we are rules compliant.

Although it took a lot of time to create, being able to change our suspension points directly in MATLAB gives us greater control and saves time in debugging as we have the source code. As well, we no longer have to import configurations into our Simulink models which has resulted in greater integration within our simulation work. Integration with the ride model as we move to decoupled suspension is one case where this tool provides an overall greater focus on vehicle dynamics in our design process. Creating a stronger software architecture has supported us in the development of new models and simulations we want to build in the future.

# Closing

These are some of the cool simulations we’ve been able to make using MATLAB/Simulink since our last in-person FSAE competition. Our team is still new to the world of simulation, but we are seeing a great push towards virtualization and simulation work in industry. Gaining an understanding of the car is hard enough, but some investment in building up a strong software architecture to support simulations helped us tremendously. We hope that you found the tools as interesting as we think they are!

|