I think a big issue with pacejka and getting tyres right is the compromise you need to put in there to make the mixing/combining of forces do what you want them to do. Pacejka89/94.96 or whatever we have here are generally designed for steady state or slightly over the limits. That means data can be fairly ok for doing braking and accelerating tasks, and cornering etc... but as soon as you get things wrong when driving and get some big slip angles, counter-steer, try drift, or whatever else, then they can react oddly. In my experience the original Alpine data for the 225/45 R17 was like a genesis moment for us in Racer. Suddenly cars felt like they were driving on rubber patches not just wooden blocks scraping along tarmac! So we can learn a lot from that data in my view, for road cars at least. But for me I generated a nice excel sheet and just started making factors to give certain values from input dimensions such as profile, patch aspect, soft > hard compound, and generally that gave ok ish results. I pretty much did a0...5 and b0...5 then kept most of the C coeffs the same as that hallowed 225/45 R17 data But even now I often find myself tuning tyres iteratively and ignoring what appears sensible. Just play with values in the player. My current tyres on a road car I'm working on are just the result of hours and hours of testing and tweaking and trying new things out and slowly erring towards a behaviour I like the feel of. As said, a key issue is post limit behaviour for us, so often we might make wrong choices for a specific case so that post-limit mixing is better. Ie, I can get a really good near limit behaviour that is horrible over the limit and totally unusable for racing... then you can get really nice over the limit pacejka mixing but the under the limit curves are no good (ie, tyres are almost impossible to spin up in a straight line with 400bhp to rear wheels) This is something I'd hoped the MF5.2 pacejka would fix as it includes mixing coefficients but in my experience with it thus far it's not so great... even with very sensible curves the behaviour is very odd. I have a feeling the implementation is wrong but only really Ruud can check that out to be sure. Just from my perspective, I spent many hours (probably hundreds) in pacejka player back in 2002/2003 ish and learnt oodles about tyres, and also learnt that in the end it all comes down to in-sim results and what you want. Do you want a tyre that is fun to drive with a realistic response, or ultimate realism (probably not desirable considering Racer is far from a 'complete' sim with it's tyre patch modelling limitations, no bushing simulations, linear suspension kinematics etc etc), or just fun and a bit arcade? With the E39 BMW M5 ini I made back in the day I spent literally days at the Ring tweaking one coefficient at a time, getting the behaviour I felt was right... same with the BMW M3... Tweak with the pacejka player, read lots on real tyres, look at real pacejka, THEN do lots of in-sim testing to understand how the values change things, THEN forget it all and use the experience to allow you to make the tyre YOU want... as that is all that really matters in the end Usually the most 'real' data doesn't work the way you want it to for the specific application you have. Ie, I got real data for my exact tyre on my car, same dimensions, brand, load rating, everything, and it was a driving sim abortion worse than anything that had gone before Dave
I found this while digging around on google so I thought i'd post it for you guys. I gave this a try on a couple of my cars but the wheels just spun so I thought maybe some of you pacejka geniuses can fiddle around with it EDIT: Here's some info I found on tire spring rates at different camber angles and speeds that might be useful somehow. http://www.datafilehost.com/download-65436fb8.html Edit #2: I found this PACEJKA for a 245/35/? and it seems to drive pretty well imo. a0 = 1.65000 a1=-34 a2=1250.00 a3=3036 a4=12.80 a5=0.00501 a6=-0.02103 a7=0.77394 a8=0.0022890 a9=0.013442 a10=0.003709 a11=19.1656 a12=1.21356 a13=6.26206 b0=1.67272 b1=-9.46 b2=1490 b3=30 b4=176 b5=0.08860 b6=0.00402 b7=-0.06150 b8=0.2 b9=0.02990 b10=-0.17600 c0=2.34 c1=1.4950 c2=6.416654 c3=-3.57403 c4=-0.087737 c5=0.098410 c6=0.0027699 c7=-0.0001151 c8=0.1 c9=-1.33329 c10=0.025501 c11=-0.02357 c12=0.03027 c13=-0.0647 c14=0.0211329 c15=0.89469 c16=-0.099443 c17=-3.336941
The one above looks really odd mainly because b2 is negative. That is probably causing a lot of issues haha Hmmm, interesting on the 245 data though. A trend I can mainly see as useful to know is load sensitivity would appear to fall off towards zero in long but not lateral. So I'd say that was probably due to the aspect ratio of the contact patch slowly getting shorter longitudinally with increased width. To really get an idea of a trend you'd need lots of data sets but for now you might make a guess that load sensitivity is a function of patch length. The short patch for long means the value is quite low, while lateral remains quite high. The long friction falloff is quite high, so overall grip is replaced by a high b2 value. So generally this is meaning the wider lower profile tyres become quite insensitive to weight transfer in a longitudinal sense, while remaining quite 'active' in lateral. It'd be nice to have a 285/30 or 215/40 data from the same tyre family to see, but I can imagine the lateral stays much the same still with 285, with a tighter optimum slip angle and slightly sharper falloff, but the long will probably become even less sensitive to load change but possibly have a higher falloff again. Hmmmm... Very nice find Load sens values are kinda key to the way forces are mixed in my experience (through which forces dominate as you approach/pass the limits in each direction), so it's nice to have some data that shows this kinda trend for wider low-profile tyres Will test later on my Z4 again and see if it makes sense there (255/35 R18 on the rear so fairly close ) Dave
This pacejka definately looks like it belongs to something wider than the 245/35 I posted last night tire_model { ; SAE 950311 low-speed tire implementation ; Relaxation length laterally (in m) relaxation_length_lat=0.91 ; Relaxation length longitudinally (in m) relaxation_length_long=.091 ; Damping lat/long speed (in m/s, same for longitudinal and lateral) damping_speed=0.15 ; Strength of damping; too little and the car keeps vibrating (low freq.) damping_coefficient_lat=35 damping_coefficient_long=1 } pacejka_default { ; Pacejka constants for all tires ; Use per-wheel though! ; Lateral force a0=1.799 a1=0 a2=1688 a3=4140 a4=6.026 a5=0 a6=-0.3589 a7=1 a8=0 a9=-0.006111 a10=-0.03224 a111=0 a112=0 a12=0 a13=0 ; Longitudinal force b0=1.65 b1=0 b2=1688 b3=0 b4=229 b5=0 b6=0 b7=0 b8=-10 b9=0 b10=0 ; Aligning moment c0=2.068 c1=-6.49 c2=-21.85 c3=0.416 c4=-21.31 c5=0.02942 c6=0 c7=-1.197 c8=5.228 c9=-14.84 c10=0 c11=0 c12=-0.003736 c13=0.03891 c14=0 c15=0 c16=0.639 c17=1.693 ; Optimal values (used in Gregor Veble's slip combination method) optimal_slipratio=0.2 ; Optimal slip angle in radians (=degrees/52.29578) optimal_slipangle=0.139626 }
A few comments on the last three data sets Silver Ranger posted, in case anybody is wondering what to use them for: I loaded them into pacejka player to see what they be like under various loads etc. - in other words, I didn't try them ingame yet. The first set is supposed to be for an FSAE tyre, but it doesn't respond well to the low load levels typical for such a vehicle. In particular the Mz torque is not working as intended. In order to get it going to begin with, a few minor changes have to be made, which revert the mirrored longitudinal curve for example (swapping the sign of b4) and remove the one too many amplitudes on the same curve (lower b8, eg by a factor of 0.1). The second set appears more usable for typical passenger vehicle weights, or those based on such. It seems quite grippy, with relatively high peak slip angle - maybe meant to be an older, soft touring car compound? Not so much recommended for road cars, perhaps too unresponsive for a lightweight racecar. The last one looks familiar, it's from the Ferrari 312 I believe? Definitely "made up" numbers, very sharp response, very pronounced grip dropoff past peak, looks a bit overdone to me and based more on myth than actually observed behavior. edit: To clarify, it's not about "do this" or "don't use that" - one can learn from all the data posted here and as it has been said before, manual tweaking is always required anyhow. What would be an odd example is if somebody took the FSAE set and used it "as is" or near enough, being under the impression that since it appears to come from a publication, it has to be right for any or all scenarios. Like Dave said, you try to spot trends, because chances are if you find any pacejka sets at all, they're not precisely what you need right now, they're incomplete or from a different version of the pacejka model... so you want to get an idea of where things are going, relative to a "tried and proven" data set for instance.
I begin this discussion time ago. Now, I'm very bussy but with the hope of come back and continue with Racer. Thank you very much for all the post and information. The Racer forum is a great forum.
Some info I've found out during the years: - Pacejka data is hard to come by; even then, often some coefficients are slightly modified compared to the original test results. - Tire data is quite unreliable when it comes to combined slip. Even when trying to measure this explicitly, it's not really great, or small, even. ;-) - Pacejka handles Fx/Fy/Mz (lon/lat/aligning moment), but doesn't really give you tire spring stiffnesses. TIR files do. Pacejka coefficients are really only a subset of a tire's definition. - TIR files also specificy spring rates (laterally/longitudinally) which will come in handy for low speed tire models (I'm investigating blending towards SAE 980243 for low speed only). - Typical spring rates for tires: 100.000 N/m lateral, about 3x that longitudinal. Vertical is around 150.000-300.000 N/m. - TIR files also specify whether is was the left or right tire. Some coefficients flip sign when you measure left or right (camber influence!). - TIR files also specify limits to the inputs (slip angle/ratio/load/camber) for which the coefficients make sense. This is also possible in Racer. It then clamps forces (well, inputs really, so the outputs (forces) become clamped implicitly), which makes tire tuning a bit of a black art though. - A number of Pacejka formula have been introduced in the past; not all implementations use the same sign conventions (flipping lateral axes or such). This makes Pacejka Player important to verify coefficient correctness.
Interesting on the tyre spring rates. I'd always assumed that vertical wasn't managed by pacejka, hence why we added a vertical rate. But it seems then that we also need to define lat/long springiness too, as pacejka doesn't actually do that (relax lengths are something different?) This is another reason then why pacejka tyres often don't feel correct because they are not deforming and deflecting at the contact patch in lat/long!? Hmmm Dave
Bumping this thread again. If anyone knows, especially Ruud, we have vertical spring/damping in Racer for tyres right now. But what about lat/long springing/damping? Is that defined via pacejka coefficient behaviours, relax lengths, damping predict values, damping coefficient values? It's years since CarLab worked, but it used to suggest values for those inputs (relax length and damping predict lat/long etc)... are they still needed? Should we be tuning them? Or are they just there for legacy support these days due to the new tyre force mixing? If so where do we define the lat/long springy/damping values? Would be nice to understand the current proper workflow for setting up the **old** pacejka tyres with all the correct tunable values! I'm ignoring the new MF5.2 for now until it becomes more heavily supported (pacejka player), and reliable (feels pretty buggy right now when using sensible looking curves which drive nice in old pacejka but feel really odd in MF5.2!) Dave
Here's a car sim manual I found on the internet ages ago that has lots of information on aerodynamics, steering and braking systems, powertrains, suspension and tire physics that I thought might be useful to Racer. http://www.filedropper.com/carsimdata
No idea if this is useful but I will post it here just in case. http://www.biblioteca.uma.es/bbldoc/tesisuma/16602675.pdf Scroll to page 37 and they have a .tir file for some hoosier tires. https://mme.fiu.edu/wp-content/uploads/2014/04/EML4551-T9-Report.pdf Well I took the .tir info in that pdf and dumped it into a pacejka. pacejka_mf52 { ; Pacejka89 (0) or MF5.2 (1)? model=1 ;longitudinal PCX1 = 1.27872550E+00 ;$Shape factor Cfx for longitudinal force PDX1 = -3.51415830E+00 ;$Longitudinal friction Mux at Fznom PDX2 = 6.33383390E-01 ;$Variation of friction Mux with load PDX3 = 7.11629130E+00 ;$Variation of friction Mux with camber PEX1 = 1.34635150E+00 ;$Longitudinal curvature Efx at Fznom PEX2 = 3.84490190E-17 ;$Variation of curvature Efx with load PEX3 = -3.92323870E-17 ;$Variation of curvature Efx with load squared PEX4 = 7.42710500E-03 ;$Factor in curvature Efx while driving PKX1 = 5.85243740E+01 ;$Longitudinal slip stiffness Kfx/Fz at Fznom PKX2 = 5.47564740E+00 ;$Variation of slip stiffness Kfx/Fz with load PKX3 = -4.10850790E-01 ;$Exponent in slip stiffness Kfx/Fz with load PHX1 = 2.14075670E-02 ;$Horizontal shift Shx at Fznom PHX2 = 2.27382190E-02 ;$Variation of shift Shx with load PVX1 = -1.65597580E-01 ;$Vertical shift Svx/Fz at Fznom PVX2 = -3.76003610E-02 ;$Variation of shift Svx/Fz with load RBX1 = 2.18035740E+01 ;$Slope factor for combined slip Fx reduction RBX2 = -6.29073440E+00 ;$Variation of slope Fx reduction with kappa RCX1 = 5.16330770E+00 ;$Shape factor for combined slip Fx reduction REX1 = 3.14293760E+00 ;$Curvature factor of combined Fx REX2 = -2.19035810E-01 ;$Curvature factor of combined Fx with load RHX1 = -1.76110940E-02 ;$Shift factor for combined slip Fx reduction PTX1 = 0.00000000E+00 ;$Relaxation length SigKap0/Fz at Fznom PTX2 = 0.00000000E+00 ;$Variation of SigKap0/Fz with load PTX3 = 0.00000000E+00 ;$Variation of SigKap0/Fz with exponent of load ;$--------------------------------------------------------OVERTURNING_MOMENT ;[OVERTURNING_COEFFICIENTS] QSX1 = -5.37765690E-05 ;$Lateral force induced overturning moment QSX2 = 1.34243430E+00 ;$Camber induced overturning couple QSX3 = 4.55659640E-02 ;$Fy induced overturning couple ;$-------------------------------------------------------------LATERAL_FORCE ;[LATERAL_COEFFICIENTS] PCY1 = 1.61114770E+00 ;$Shape factor Cfy for lateral forces PDY1 = -2.56461540E+00 ;$Lateral friction Muy PDY2 = 1.98332500E-01 ;$Variation of friction Muy with load PDY3 = 7.88890470E+00 ;$Variation of friction Muy with squared camber PEY1 = 5.99405940E-01 ;$Lateral curvature Efy at Fznom PEY2 = -1.05328300E-02 ;$Variation of curvature Efy with load PEY3 = -5.09521880E-01 ;$Zero order camber dependency of curvature Efy PEY4 = -4.95122130E+00 ;$Variation of curvature Efy with camber PKY1 = -5.58259490E+01 ;$Maximum value of stiffness Kfy/Fznom PKY2 = 2.32682900E+00 ;$Load at which Kfy reaches maximum value PKY3 = 8.28589030E-01 ;$Variation of Kfy/Fznom with camber PHY1 = 4.37208140E-03 ;$Horizontal shift Shy at Fznom PHY2 = 1.84739710E-03 ;$Variation of shift Shy with load PHY3 = 7.65552290E-02 ;$Variation of shift Shy with camber PVY1 = 3.68120950E-02 ;$Vertical shift in Svy/Fz at Fznom PVY2 = 9.40894990E-03 ;$Variation of shift Svy/Fz with load PVY3 = 4.72409040E-02 ;$Variation of shift Svy/Fz with camber PVY4 = -2.07519840E+00 ;$Variation of shift Svy/Fz with camber and load RBY1 = 2.64974160E-02 ;$Slope factor for combined Fy reduction RBY2 = -2.60705200E+02 ;$Variation of slope Fy reduction with alpha RBY3 = 5.81120430E-02 ;$Shift term for alpha in slope Fy reduction RCY1 = 4.83367230E+02 ;$Shape factor for combined Fy reduction REY1 = -4.10563800E+01 ;$Curvature factor of combined Fy REY2 = 1.84129220E+00 ;$Curvature factor of combined Fy with load RHY1 = 3.52670620E-02 ;$Shift factor for combined Fy reduction RHY2 = 2.56134790E-02 ;$Shift factor for combined Fy reduction with load RVY1 = 1.62049310E-01 ;$Kappa induced side force Svyk/Muy*Fz at Fznom RVY2 = -1.43867580E+00 ;$Variation of Svyk/Muy*Fz with load RVY3 = 1.14411730E+02 ;$Variation of Svyk/Muy*Fz with camberP a g e | 41 RVY4 = -2.77924030E+02 ;$Variation of Svyk/Muy*Fz with alpha RVY5 = -3.34090680E+02 ;$Variation of Svyk/Muy*Fz with kappa RVY6 = -6.78885500E-04 ;$Variation of Svyk/Muy*Fz with atan (kappa) PTY1 = 0.00000000E+00 ;$Peak value of relaxation length SigAlp0/R0 PTY2 = 0.00000000E+00 ;$Value of Fz/Fznom where SigAlp0 is extreme ;$------------------------------------------------------ROLLING_COEFFICIENTS ;[ROLLING_COEFFICIENTS] QSY1 = 0.00000000E+00 ;$Rolling resistance torque coefficient QSY2 = 0.00000000E+00 ;$Rolling resistance torque depending on Fx QSY3 = 0.00000000E+00 ;$Rolling resistance torque depending on speed QSY3 = 0.00000000E+00 ;$Rolling resistance torque depending on speed ^4 ;$----------------------------------------------------------ALIGNING_TORQUE ;[ALIGNING_COEFFICIENTS] QBZ1 = 7.61480610E+00 ;$Trail slope factor for trail Bpt at Fznom QBZ2 = -1.90805210E-01 ;$Variation of slope Bpt with load QBZ3 = -1.27311830E+00 ;$Variation of slope Bpt with load squared QBZ4 = -1.33931020E+00 ;$Variation of slope Bpt with camber QBZ5 = 2.73790000E+00 ;$Variation of slope Bpt with absolute camber QBZ9 = 2.22413510E-02 ;$Slope factor Br of residual torque Mzr QBZ10 = -1.72808380E-03 ;$Slope factor Br of residual torque Mzr QCZ1 = 1.49377510E+00 ;$Shape factor Cpt for pneumatic trail QDZ1 = 1.02952700E-01 ;$Peak trail Dpt" = Dpt*(Fz/Fznom*R0) QDZ2 = -1.92507310E-02 ;$Variation of peak Dpt" with load QDZ3 = 1.60096060E-01 ;$Variation of peak Dpt" with camber QDZ4 = 4.13584470E-01 ;$Variation of peak Dpt" with camber squared QDZ6 = -5.18597130E-02 ;$Peak residual torque Dmr" = Dmr/(Fz*R0) QDZ7 = -1.64092170E-02 ;$Variation of peak factor Dmr" with load QDZ8 = 2.44331100E-02 ;$Variation of peak factor Dmr" with camber QDZ9 = -2.52544490E-02 ;$Variation of peak factor Dmr" with camber and load QEZ1 = 1.18165390E-01 ;$Trail curvature Ept at Fznom QEZ2 = 5.58891310E-02 ;$Variation of curvature Ept with load QEZ3 = -2.02787090E-01 ;$Variation of curvature Ept with load squared QEZ4 = -9.88809180E-01 ;$Variation of curvature Ept with sign of Alpha-t QEZ5 = -2.44285500E+01 ;$Variation of Ept with camber and sign Alpha-t QHZ1 = 8.98785560E-03 ;$Trail horizontal shift Sht at Fznom QHZ2 = 2.98264710E-04 ;$Variation of shift Sht with load QHZ3 = -1.39465090E-02 ;$Variation of shift Sht with camber QHZ4 = 6.68692620E-03 ;$Variation of shift Sht with camber and load SSZ1 = 0.00000 ;$Nominal value of s/R0: effect of Fx on Mz SSZ2 = 0.00000 ;$Variation of distance s/R0 with Fy/Fznom SSZ3 = 0.00000 ;$Variation of distance s/R0 with camber SSZ4 = 0.00000 ;$Variation of distance s/R0 with load and camber QTZ1 = 0 ;$Gyration torque constant MBELT = 0 ;$Belt mass of the wheel } Well during some testing in the Sparrow I noticed I was pulling a fun, but unrealistic 1.7G in the corners. I have no clue if this is the proper way to set up a pacejka for .tir files so hopefully someone can correct it if i'm wrong.
I was just looking around for some new Pacejka info and found this. https://github.com/jcmadsen/PacTire_Matlab/blob/master/205_60_R15_91V_2-2bar.tire https://github.com/jcmadsen/PacTire_Matlab/blob/master/235_60_R16.tir Is there any way this info can be used in Racer?
Those are the sample files from the ADAMS and MFtyre manuals respectively, both have been posted here before. In order to run .tir files, you can follow the explanation on racer.nl's pacejka page: http://www.racer.nl/reference/pacejka.htm Basically, you add two lines to tell Racer to expect MF5.2 data and then tell it to use the .tir file from the given location - that's all.
Only thing with that MF5.2 tyre model seems to be a weird pulling to the left under braking, iirc, no matter what I did. Almost like there is some sign issues or buggy code in that implementation!? Dave