Posted by: drracing | January 18, 2018

New Projects and Suspension kinematics excel tool – Part 2

Hi everybody,

and happy new year!

First post of 2018! Again a very short one and again about my suspension kinematics excel tool.

Anyway, before to dig into the main topic of this post, i am very happy to announce that my writing duties will expand in 2018, as i started cooperating with a new website about sportscar, that promises to be very interesting: theRacingLine.

Here you find the first of a series of article about the basics of race car technology and physics, that will appear in theRacingLine beside my race analysis and some portion of other articles that i will post here.

Exciting times ahead!

Back to the suspension kinematic tool now.

During the Christmas break i worked a bit on it, among other projects and more or less added all the feature i wanted to have from a pure calculation perspective.

I already described in my previous post how each hardpoint position is calculated, basing on user input (ride, roll or steering, which i added now).

The interesting thing about such a project is that, the more you go on, the more you find some small issues on your way that you need to solve and this is always a nice exercise. There is always something new to learn or to think about!
Sometimes you need to get your head around how to calculate certain metrics or motion in the most efficient way, sometimes you simply have to write something to pick up the right solution among some. Sometimes, you really have to first be sure about how to define a certain calculation, from a mathematical perspective.

As i anticipated, i added the steering motion too; it was pretty straightforward but is still a pretty useful feature.
Beside this, now all the components are in, including pushrods, rockers/bellcranks, springs/dampers and third element unit.
I also included the possibility to decide if the pushrod/pullrod is attached to the lower arm, to the upper arm or to the upright.

I am now able to calculate many useful metrics, including motion ratios, significant point positions, toe, camber, caster, king pin inclination, scrub radius, caster trail, spring length, third spring/dampers length, track width variation, etc.
One of the output is rocker rotation; i added it, in order to calculate suspension motion ratios also for suspension using torsion springs, like in Formula 1, GP2 or in many LMP cars.

I also added a small macro, that allows to iterate between two specified wheel travels using user defined steps, collecting all the data and allowing to generate typical suspension curves, like bump steer, camber gain, motion ratios, etc.

Now, suspension kinematics is nothing extraordinarily complex and there are nowadays tons of tools that are probably much cooler than mine and still relatively cheap. Anyway, doing things yourself is always a nice way to learn something new and to define your tools exactly the way you want them. Of course, it is not always possible, as time is never enough. But this was something i had in my head for a long time and i am pretty happy i finally did it!

By the way, it is interesting to think that a 230 kb excel files can do pretty much all you need in terms of suspension kinematics and produce exactly the same results as much more powerful tools, like expensive multibody packages, at least if you only consider suspension kinematics (no compliance, no elastic elements like bushings). To validate my work i checked the results against one of these expensive software and it was a perfect match.

Once the kinematics part is over, i will probably add a small module to calculate the loads acting in each component, for a given loadcase at the contact patch.


Susp Kin 20180115


Susp Kin 20180115-2



  1. Hi looks good, where can I get a copy?

    • It is not for sale, at least not for now. I didn’t do any plan on developing to be sold to customers. It was more a personal-learning project.

      But thanks a lot for your interest! It is nice to know somebody would even buy it!

  2. You should sell it. With Mitchell having passed away and Wingeo now no longer a “product” you may have a good opportunity to take over that segment of the market

    • thanks a lot for your kind words Brian. I will think about it!

  3. Hi,

    very interesting topic you are working on here.
    As a student I’m working on a similar calculation table for a suspension in our student project.
    Therefore I have a question to you. Do you simplify your problem to 2D and pivot your points to the calculated kinematic points or do you tackle it by assuming equal lenght of the wishbones on compression?
    For my part I only found a MATLAB solution using the second method for steering and wheelmovement for calculating toe, camber and trackwidth with a total of five variables. The only problem is, that it’s not compatible with my Excel tool, where I have all my other calculations.

    I hope you can help me or at least give some useful tips on how to get on with this.
    Otherwise a very inspiring blog and I’m glad I found out about it.
    For further information on my tool I’m happy to hear from you via an e-mail.

  4. hi Stephan,

    not sure i really understand what you mean.

    My analysis is a full 3D approach. Basing on the initial geometry, the tool calculates the position of each pickup point following a heave, roll, or steering movement or any combination of them.

    For each pickup point, the problem is solved by calculating the intersection of three spheres, which gives two points. This means, to take the “right” solution, you have to define a simple algorithm so that the tool can recognize which point to consider.

    Once you have all the pickup points, you can use their coordinates to define all the metrics you want, like camber gain, toe change, track width variation, caster, king pin, scrub radius, etc.
    Some of them, like roll center position (or n-lines inclination) are calculated projecting a 3D mechanism on a single plane, therefore somehow reducing a 3D problem to a 2D one. But this is a common approach in calculating such metrics, as far as i know, as concepts like roll centers are simply 2D abstractions that try to describe how a 3D mechanism work.

    I am not sure if this answers your questions. Please let me know if this is not the case.

    • Thanks for the reply with the detailed explanation.

      I totally forgot about the approach with spheres. I already did calculate the static case, so the dynamic version should not be a problem.

      I am also looking forward to see new posts in the future with more awesome suspension related stuff.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.


%d bloggers like this: