PDA

View Full Version : MatLab Simulink/ Simmechanics Vehicle dynamics model



Jonny_B
12-13-2007, 03:26 AM
Hi,

I'm developing a vehicle dynamics model of our FS car, using SimMechanics.

Modelling the physical mechanical vehicle system is fine, however its the tire model that is giving me problems... I've been using a Pacejka tire model. My problem is this:

The model behaves ok, but it doesn't seem to respond to the load sensitivity of the tire, that is, the drop in peak friction at higher vertical loads. It is due to load sensitivity that the relative roll stiffness (front/rear) and position of CoG make such a difference to the under/oversteer of a car, however my model doesn't show any difference in understeer no matter what stiffness/CG I use. I've fiddled with the pacejka coefficients to increase load sensiivity dramatically but it seems to have little effect.

Since the model hasn't been behaving I decided to make my own very simple lateral tire model to see if this would help find the problem. A graph of lateral force vs. slip angle for 4 different loads is shown here: lateral_forces.jpg (http://www.photodump.com/jonno_groats/lateral_forces.html)
The lower graph shows the lateral friction coefficient, see that it reduces with increasing load. I therefore think that by moving the CoG rearward, this loads the rear tires more, reducing their friction coefficient (at a give slip angle) so they must run at higher slip angles to provide the required lateral tire force.

So can anyone suggest why I'm not seeing this happen? my model understeers no matter what I do (with my tire model or pacejka), even with 90% weight over rear axle.

I would especially like to hear from anyone who has successfully made a vehicle dynamics tire model in MatLab SimMechanics, as this is driving me insane!

Thanks a lot,

Jon Bradley.

Jonny_B
12-13-2007, 03:26 AM
Hi,

I'm developing a vehicle dynamics model of our FS car, using SimMechanics.

Modelling the physical mechanical vehicle system is fine, however its the tire model that is giving me problems... I've been using a Pacejka tire model. My problem is this:

The model behaves ok, but it doesn't seem to respond to the load sensitivity of the tire, that is, the drop in peak friction at higher vertical loads. It is due to load sensitivity that the relative roll stiffness (front/rear) and position of CoG make such a difference to the under/oversteer of a car, however my model doesn't show any difference in understeer no matter what stiffness/CG I use. I've fiddled with the pacejka coefficients to increase load sensiivity dramatically but it seems to have little effect.

Since the model hasn't been behaving I decided to make my own very simple lateral tire model to see if this would help find the problem. A graph of lateral force vs. slip angle for 4 different loads is shown here: lateral_forces.jpg (http://www.photodump.com/jonno_groats/lateral_forces.html)
The lower graph shows the lateral friction coefficient, see that it reduces with increasing load. I therefore think that by moving the CoG rearward, this loads the rear tires more, reducing their friction coefficient (at a give slip angle) so they must run at higher slip angles to provide the required lateral tire force.

So can anyone suggest why I'm not seeing this happen? my model understeers no matter what I do (with my tire model or pacejka), even with 90% weight over rear axle.

I would especially like to hear from anyone who has successfully made a vehicle dynamics tire model in MatLab SimMechanics, as this is driving me insane!

Thanks a lot,

Jon Bradley.

D J Yates
12-13-2007, 05:10 AM
I presume you're looking at steady-state cornering?

Are you using a combined slip tyre model and are you taking into acount the tractive effort of the rear tyres required to overcome the drag from the fronts?

flavorPacket
12-13-2007, 07:11 AM
We have had MATLAB/Simulink models for several years with excellent correlation to data acq. We use a MRA-style nondimensional model. Perhaps switching to that from Pacejka will help.

Jonny_B
12-13-2007, 09:01 AM
Well it is a fully transient multibody model, but I've set it to gently reach a constant steer angle at a constant speed, so effectively yes looking at steady state cornering. On the offchance that this may have been the source of the problem, I instead applied this force at the model's CG - but it didnt make any difference.

FlavorPacket, is yours a SimMechanics model?

Thanks,

Jon.

flavorPacket
12-13-2007, 10:34 AM
no, we built everything ourselves.

Buckingham
12-13-2007, 04:50 PM
Pick a discrete non-limit case (let's say a 0.7g run on a 50 ft skidpad). Do your loads, slip angles, corner weights, etc. match what you get through hand analysis?

js10coastr
12-13-2007, 11:50 PM
For most things programming... it's usually the programmer's fault (sadly). I'm guessing there is one line in the code that is screwed up... something where that should be the front, but says the rear.

Jonny_B
12-14-2007, 02:39 AM
Thanks all for the advice.

Like Donavan said I have tried doing a hand calc... Perhaps I have found the source of the problem - the corner weights aren't exactly what I was expecting (close, but about 20N out). I think I know why, but I don't know how to cure in SimMechanics...

Anyone with SimMechanics experience please advise:

Basically In order to apply the lateral tyre forces (calculated from pacejka) to the model I have applied a force actuator to a co-ordinate system located at the bottom of the tyre (i.e. at the contact patch). This ensures that the lateral tyre force is always perpendicular to the tyre plane (and longitudinal force is parallel with its longitudinal plane). The problem is, when the wheel cambers slightly, this co-ordinate system also cambers. In reality the lateral tyre force should be applied in the road plane, but mine gets applied at a slight angle (the camber angle) so it has a component in the vertical direction (hence changing the vertical tyre force slightly).

I see no way of making a co-ordinate system follow the tyre's longitudinal and lateral co-ordinates while preventing it from rotating as the wheel cambers. Does anyone know how to solve this? Or is there a completely different way of doing it?

Really appreciate the help with this, thanks.

Jon.

flavorPacket
12-14-2007, 07:30 AM
do you already have a simpler model (e.g. one with no kinematics, no unsprung mass, etc) that works? If not, I'd start there and build up slowly. I think you'd be surprised at just how useful a simple model can be.

Jonny_B
12-15-2007, 05:27 AM
Yes I have now made a simple rigid model with just 4 tyres (vertical tyre stiffness had to be modelled to allow the 4 vertical tyre loads to be found). This model works fine - understeer/oversteer characteristics are as would be expected when moving the CG or changing the relative vertical stiffness of the tyres, and tyre loads agree with simple hand calcs - So my tyre model itself is working ok. When I add a simple 1DOF suspension to each corner however it no longer behaves as expected. This is what leads me to believe that its due to the cambering lateral tyre force (the suspension means that I now get a camber change on cornering due to body roll). So anyone know how I can solve this in SimMechanics? (i.e. can anyone offer a solution to the problem stated in my previous post)?

Thanks guys

Jonny_B
12-16-2007, 02:48 AM
Surely someone on here has made a vehicle model in SimMechanics, and therefore must have had to define the axes at which the tire forces should be located? If so please help!

Laurence
12-16-2007, 05:09 AM
Hi Jonny,
I have played around with making a vehicle model using SimMechanics.

With regard to applying force that is always perpendicular to the tyre axis you could try sensing the tyres orientation (with respect to world CS) and then correct the force vector signal to allow for the change in orientation using a subroutine.

Not sure whether that helps.

Im still doing some work with SimMechanics drop me an email and we maybe able to help each other.

Jonny_B
12-17-2007, 04:55 AM
Laurence, thank you this is good advice.

I was wondering about trying something like this. I think I have managed to output the camber angle of the tyre (not straightforward though, I had to take the arcsin of one of the values from the rotation matrix of the wheel w.r.t. the world CS). Must admit I don't fully understand the rotation matrix though so not 100% sure its right (checked it with a protractor on screen and it seems about right!). My only problem with this method is it seems a bit of a 'bodge job' having to apply forces to couteract the error resulting from the wheel inclination - though I can't off hand see why this could cause problems...

An alternative idea of mine was to join a body to the bottom of the wheel that is connected in such a way that it follows the wheel body but remains parallel to the road surface. It would need to have very low mass to not adversely affect the vehicle dynamics. The forces could then be applied to this body - and would hence be oriented corrently. But again this seems to me a bit of a bodge job, and it would probably increase the simulation time a bit.

Let me know what you think. Our main model has come a long way (double wishbone suspension, tyre stiffness, virtual reality respresentation), so its only this tyre problem thats holding it back from being quite a useful tool.

Laurence I've sent you a PM
Cheers