Optimisation of Vehicle Suspension Parameters

I am currently creating a simulation of a race car, the output of which is a lap time (in a seperate programme from MATLAB), to which I wish to find the optimum suspension set up from varyng parameters such as toe, camber, tyre pressure etc to produce the fastest lap time.
Due to the number of variables, leading to potentially thousands of different combinations, I was wondering which tool within MATLAB would be most useful for determining the optimim set up, from entering data from say 50 or so differnent runs, and working out the optimal combination?
Unfortuantely, as the formulas dictating the lap time are incredibly complicated, I will only possess discrete values from which to base my optimisaion off, which is where I have become stuck.
Absolutely any help is useful at this point, and thank you very much for reading my question.

7 comentarios

Star Strider
Star Strider el 7 de Feb. de 2020
My personal preference would be the ga (genetic algorithm) function, since it does not use gradient-descent and therefore is less likely to be caught in a local minimum of the regression hypersurface.
It will likekly produce the result you want if you have a very fast computer that can be dedicated to doing nothing else for a few days (since as you describe it, the size of your problem would seem to require this). In that respect, consider looping the ga function so it will continue running with different initial populations in each iteration of the loop (several runs), with the additional option of the ‘SaveOut’ function in: How to save data from Genetic Algorithm in case MATLAB crashes?.
Jonathan Jamison
Jonathan Jamison el 7 de Feb. de 2020
Thank you very much for your answer, it is much appreciated!
Forgive my lack of knowledge, but can I still use a genetic algorithm without an equation to relate each of the variables?
Star Strider
Star Strider el 7 de Feb. de 2020
My pleasure!
You must have an objective function that is a mathematical model of the system for which you are estimating the parameters. The ga function (and all other optimization functions) adjust the parameters of the objective function to minimize the function (for ga and some others, it is a fitness function).
If you do not have a mathematical model of the system you want to optimise, then all hope is lost. There is nothing ga or any other optimisation function can do without it.
For the race car, (this is not my area of expertise, so it may not be a comprehensive description), you would need to include parameters describing the aerodynamics (specifically drag and lift, since you would want to spoil lift), engine efficiency, and other considerations, as well as considering ambient temperature, altitude of the race course, barometric pressure, humidity, and others (i.e. density altitude). I’m sure all these have mathematical expressions, so it would be necessary to include the most relevant ones in your model.
This should be an interesting project!
Post back here if you need help with the code for it or with other problems. Some here would have relevant expertise in aspects of this.
Jonathan Jamison
Jonathan Jamison el 7 de Feb. de 2020
I cannot begin to express how useful this is - your comment has enlightened me more than a weeks worth of trawling through YouTube videos and forums!
My issue is that I am using a standalone programme (IPG CarMaker) that is indeed based off a mathematical model, however as it is a complex Multibody System, everything from compliance of the suspension components to the friction of the clutch is considered - which would be far beyond my ability to try and replicate within MATLAB.
I think my best course of action will be to implement a Design of Experiments approach - again, I am not knowledgable on the subject but I have seen several relatable examples.
I will be sure to let you know if I encounter any problems! Again, simply can't thank you enough and hope you have a great weekend!
Star Strider
Star Strider el 8 de Feb. de 2020
My pleasure!
Does ‘IPG CarMaker’ have specific input arguments and outputs? If so, it may be possible to use it with ga.
I’m Following this, so I’ll see any activity when I check the Activity Feed.
Jonathan Jamison
Jonathan Jamison el 8 de Feb. de 2020
Not necessarily input arguments - essentially a GUI is presented into which various parameters of the car are input, such as the torque values of the engine, aerodynamic properties and the coordinates at which the wishbones / wheel is connected to the car (from which camber etc. is calculated from) to name but a few.
A 'maneuver' can then be specified (in this case, the completion of a lap of a racing circuit) and outputs are generated in the form of telemetry, and lap times etc. The equations required to perform this simulation are all embedded within the software itself, and as it can model transient MBS behaviour, I can't begin to imagine how complicated they must be!
However, after conducting further research, I now believe there may be a Simulink representation of the vehicle model available (as complex as it may be), the aim of which is to allow users to create their own controllers - meaning I can hopefully determine some sort of relationship between my independant variables and and lap times!
I think my plan for tomorrow will be looking at the optimisation of Simulink models - again if you were to have any advice, it would be much appreciated!
Star Strider
Star Strider el 8 de Feb. de 2020
My pleasure!
I have Simulink, however I have not done anything with it in a while so I am not familiar with interfacing it with ga for example.
I have no reason to purchase it (I have no idea how much it costs), so I will simply do my best to help you with it without having direct access to it myself.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Simulink en Centro de ayuda y File Exchange.

Productos

Versión

R2019b

Etiquetas

Preguntada:

el 7 de Feb. de 2020

Comentada:

el 8 de Feb. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by