Tire models

Chrono::Vehicle currently supports three different classes of tire models: rigid, handling, and finite element.

Rigid tire model

The rigid tires are the simplest of the three tire classes offered. The assumption for these models is that the tire is completely rigid and it interacts with the ground and any other rigid objects through the same underlying friction and contact algorithms as the other rigid bodies in Chrono. The contact geometry for these tires can be as simple as a cylinder or as complex as a 3D triangular mesh. These models are not only useful for debugging the overall vehicle model, but they can also be used in cases where runtime is important, the terrain is much softer than the tire, and a highly detailed model of the tire is unnecessary. In fact, the semi-empirical tire models are not suitable for off-road vehicle simulation, i.e. when using a deformable terrain (SCM, granular, or FEA-based; see the description of available terrain models). For such scenarios, rigid or FEA-based tire models are the only two available options currently implemented in Chrono::Vehicle.

See ChRigidTire and RigidTire.

The following is an example of a rigid tire with mesh geometry provided through a Wavefront OBJ file:

{
"Name": "HMMWV Rigid Mesh Tire",
"Type": "Tire",
"Template": "RigidTire",
"Radius": 0.4699,
"Width": 0.254,
"Mass": 37.6,
"Inertia": [3.84, 6.69, 3.84],
"Contact Material":
{
"Coefficient of Friction": 0.9,
"Coefficient of Restitution": 0.1,
"Properties": {
"Young Modulus": 2e7,
"Poisson Ratio": 0.3
},
"Coefficients": {
"Normal Stiffness": 2e5,
"Normal Damping": 40.0,
"Tangential Stiffness": 2e5,
"Tangential Damping": 20.0
}
},
"Contact Mesh":
{
"Mesh Filename": "hmmwv/hmmwv_tire_fine.obj",
"Sweep Sphere Radius": 0.005
},
"Visualization":
{
"Mesh Filename Left": "hmmwv/hmmwv_tire_fine.obj",
"Mesh Filename Right": "hmmwv/hmmwv_tire_fine.obj"
}
}

Handling (semi-empirical) tire models

The second class of tires models offered are the semi-empirical ones commonly used for vehicle handling. Chrono::Vehicle currently has implementations for Pacejka (89 and 2002), TMeasy, and Fiala tire models. Handling tire models are designed for flat road surfaces and they normally use single point contact or four point contact (TMeasy). For ride tests on ondulated roads or for obstacle crossing a special contact algorithm called "envelope" has been implemented. It is based on a paper of Sui & Hershey and can be used with all handling tire models that are included in Chrono. Validation tests with a technology demonstrator show good results compared to measured real vehicle test data with low numerical effort. If an even better accuracy is needed the user should think about considering FEA based tire models for non-handling tests.

Some users may want to build their own handling tire parameter sets from tire test data. Be sure to get familiar with the different slip definitions and the different coordinate systems in each tire model!

Pacejka 89 (Pac89) tire model

See ChPac89Tire and Pac89Tire.

Pacejka 2002 (Pac02) tire model

This model is an extension of Pacejka's earlier Magic Formula tire model with additional equations and coefficients. Since a large number of vehicle dynamics maneuvers do not occur under steady-state slip conditions, the contact patch slip state equations are included to provide more accurate results under transient conditions. Due to the lack of reference data sets the inflation pressure dependence terms and the large camber terms are actually not implemented.

This Chrono tire model can also be specified using Adams/Car-compatible TIR files.

See ChPac02Tire and Pac02Tire.

TMeasy tire model (basic version)

TMeasy (Tire Model Made Easy) has been developed by Prof. Dr. Georg Rill and is available as a comercial code (see http://www.tmeasy.de/ for more information). The aim of this model is to allow easy parametration. Its complexity is roughly comparable to the Magic Formula based models. Furthermore, based on known parameter sets for trucks and passenger cars it is possible to estimate a complete parameter set from few input data. TMeasy considers nonlinear effects and includes contact patch slip state equations. The implementation used in Chrono lacks some functionality compared to the latest comercial TMeasy versions. For example, there is no belt dynamics and no dynamic parking torque calculation possible. The Chrono TMeasy tire implementation contains algorithms that have been published in the book Road Vehicle Dynamics - Fundamentals and Modeling with MATLAB, Georg Rill and Abel Arrieta Castro, CRC Press, 2020.

See ChTMeasyTire and TMeasyTire.

A sample JSON file with a TMeasy tire specification is provided below:

{
"Name": "HMMWV TMeasy Tire",
"Type": "Tire",
"Template": "TMeasyTire",
// ------------------------------------------------
// Tire design (REQUIRED)
"Design": {
"Unloaded Radius [m]": 0.4699,
"Mass [kg]": 37.6,
"Inertia [kg.m2]": [ 3.84, 6.69, 3.84 ],
"Width [m]": 0.3175,
"Rim Radius [m]": 0.2095
},
"Coefficient of Friction": 0.8,
"Rolling Resistance Coefficient": 0.015,
// ------------------------------------------------
// Vehicle type.
// Required only if tire specified with "load index" or "bearing capacity".
// Must be one of "Truck" or "Passenger"
"Vehicle Type": "Truck",
// ------------------------------------------------
// Load index specification.
// Takes priority over "bearing capacity" (used only if a full parameterization not provided)
"Load Index": 108,
// ------------------------------------------------
// Bearing capacity specification.
// Lowest priority (used only if no other specification provided)
"Maximum Bearing Capacity [N]": 17167.5,
// ------------------------------------------------
// Visualization mesh (OPTIONAL)
"Visualization": {
"Mesh Filename Left": "hmmwv/hmmwv_tire_left.obj",
"Mesh Filename Right": "hmmwv/hmmwv_tire_right.obj"
}
}

Fiala tire model

The Fiala tire model implemented in Chrono::Vehicle is largely based on the transient Fiala tire model presented in the MSC ADAMS/tire help documentation, which uses tire slip state equations to improve the model's behavior at slow to zero forward velocities. The Fiala tire model is based on a brush model assumption and only requires a small number of coefficients. This tire model assumes that the tire is at zero camber with respect to the road and does not have any provisions for generating overturning moments. It does however couple the lateral and longitudinal slip states of the tire in its force and moment calculations, providing a more realistic description of combined slip. The Fiala tire model should not be used for serious vehicle handling simulations since it does not consider important effects that influence the results.

See ChFialaTire and FialaTire.

A sample JSON file with a TMeasy tire specification is provided below:

{
"Name": "HMMWV Fiala Tire",
"Type": "Tire",
"Template": "FialaTire",
"Mass": 37.6,
"Inertia": [
3.84,
6.69,
3.84
],
"Coefficient of Friction": 0.8,
"Fiala Parameters": {
"Unloaded Radius": 0.47,
"Width": 0.318,
"Vertical Damping": 7500,
"Vertical Stiffness": 326332, // linear stiffness (if no curve table present)
"Vertical Curve Data": // nonlinear stifness (has precedence over linear model)
[
[ 0.000, 0 ],
[ 0.005, 585 ],
[ 0.010, 1286 ],
[ 0.015, 2352 ],
[ 0.020, 3477 ],
[ 0.025, 4798 ],
[ 0.030, 6190 ],
[ 0.035, 7540 ],
[ 0.040, 9027 ],
[ 0.045, 10570 ],
[ 0.050, 12139 ],
[ 0.055, 13654 ],
[ 0.060, 15368 ],
[ 0.065, 16904 ],
[ 0.070, 18469 ],
[ 0.075, 20089 ],
[ 0.080, 21699 ]
],
"Rolling Resistance": 0.015,
"CSLIP": 193929.0,
"CALPHA": 50000.0,
"UMIN": 0.5568,
"UMAX": 0.9835,
"X Relaxation Length": 2.0,
"Y Relaxation Length": 2.0
},
"Visualization": {
"Mesh Filename Left": "hmmwv/hmmwv_tire_left.obj",
"Mesh Filename Right": "hmmwv/hmmwv_tire_right.obj",
"Width": 0.318
}
}

The vertical load curve embedded in the above JSON file is show below:

Validation of handling tire models

We show below a validation study for 3 of the Chrono::Vehicle handling tire models done against experimental data provided for the FED-alpha vehicle by the Keweenah Research Center (KRC) in Michigan.

In this test, called Steady State Cornering (SSC), the vehicle drives along a circle beginning with the so-called "Ackermann-Speed". This value is around 3 m/s, and as such the slip values are pretty small and the vehicle follows the circle kinematically. The real test continues by increasing the vehicle speed in steps and holding it constant. These successive speed increase steps are repeated until the maximal possible lateral acceleration is reached, or the engine power is exhausted. The KRC test was conducted in left turn and right turns, to highlight any asymmetry of the vehicle (if present).

The goal of the SSC test is to infer if a vehicle is safe for an average driver. The vehicle should understeer, meaning the driver must provide more and more turning angle of the steering wheel with increasing lateral acceleration to keep the vehicle on the circle and maintain vehicle stability. Vehicles which are "oversteering" tend to turn toward the circle origin and become unstable, because there is not enough lateral slip reserve at the rear wheels. This oversteering behavior should be avoided for standard vehicles used in public traffic by normal drivers, although professional rally drivers prefer the oversteerers.

For the FED-alpha, the SSC test has been defined as a quasi-steady-state run, where the speed changes continuously but very slowly, so that there are no noticeable dynamics effects. The simulation results are therefore shown as continuous lines. The signs of the data are chosen in a way that shows the right turn on the right side and the left turn on the left side. Experimental KRC data is represented with dots. The plots below show SSC simulation results for the Chrono Pac02, TMsimple, and TMeasy tire models superimposed over the KRC experimental data.

FEA-based tire models

Finally, the third class of tire models offered are full finite element representations of the tire. While these models have the potential to be the most accurate due to their detailed physical model of the tire, they are also the most computationally expensive of the tire model currently available in Chrono::Vehicle. Unlike the rigid or semi-empirical tire models, the finite element based tire models are able to account for the flexibility in both the tire and in the ground at the same time, which is an important characteristic for many types of off-road mobility and vehicle dynamics studies. These finite element tire models leverage the nonlinear finite element capabilities in Chrono.

ANCF shell deformable tire

See ChANCFTire and ANCFTire.

The following JSON file contains the specification of an ANCFTire:

{
"Name": "HMMWV ANCF 4-Node Tire",
"Type": "Tire",
"Template": "ANCFTire",
"Tire Radius": 0.4673,
"Rim Radius": 0.2683,
"Rim Width": 0.254,
"8-Node Elements": false,
"Contact Material":
{
"Coefficient of Friction": 0.9,
"Coefficient of Restitution": 0.1,
"Properties":
{
"Young Modulus": 2e6,
"Poisson Ratio": 0.3
},
"Coefficients":
{
"Normal Stiffness": 2.0e6,
"Normal Damping": 1.3e1,
"Tangential Stiffness": 1.0e6,
"Tangential Damping": 0
}
},
"Materials":
[
{
"Type": "Orthotropic",
"Density": 0.1000000E+04,
"E": [0.7560000E+10 , 0.4740000E+08 , 0.4740000E+08],
"nu": [0.4500000E+00 , 0.4500000E+00 , 0.4500000E+00],
"G": [0.1634483E+08 , 0.1634483E+08 , 0.1634483E+08]
},
{
"Type": "Orthotropic",
"Density": 0.2639000E+04,
"E": [0.1800000E+12 , 0.4740000E+08 , 0.4740000E+08],
"nu": [0.4500000E+00 , 0.4500000E+00 , 0.4500000E+00],
"G": [0.1634483E+08 , 0.1634483E+08 , 0.1634483E+08]
},
{
"Type": "Orthotropic",
"Density": 0.1100000E+04,
"E": [0.4740000E+08 , 0.4740000E+08 , 0.4740000E+08],
"nu": [0.4500000E+00 , 0.4500000E+00 , 0.4500000E+00],
"G": [0.1634483E+08 , 0.1634483E+08 , 0.1634483E+08]
}
],
"Structural Damping Coefficient": 0.005,
"Default Pressure": 200.0e3,
"Bead Section":
{
"Layer Thickness": [ 0.5e-03 , 0.5e-02 , 0.5e-03 ],
"Ply Angle": [ 90 , 0 , 90],
"Material ID": [ 0 , 2 , 0],
"Number Elements": 2
},
"Sidewall Section":
{
"Layer Thickness": [ 0.5e-03 , 0.1e-03 , 0.5e-03 ],
"Ply Angle": [ 90 , 0 , 90 ],
"Material ID": [ 0 , 2 , 0 ],
"Number Elements": 4
},
"Tread Section":
{
"Layer Thickness": [ 0.1e-02 , 0.3e-03 , 0.3e-03 , 0.5e-03 ],
"Ply Angle": [ 0 , -20 , 20 , 90 ],
"Material ID": [ 2 , 1 , 1 , 0 ],
"Number Elements": 6
},
"Number Elements Circumference": 90,
"Profile":
[
[ 0.000000E+00 , 0.000000E+00 , -1.150000E-01 ],
[ 1.428571E-02 , 1.166670E-02 , -1.164180E-01 ],
[ 2.857143E-02 , 2.333330E-02 , -1.192300E-01 ],
[ 4.285714E-02 , 3.500000E-02 , -1.230200E-01 ],
[ 5.714286E-02 , 4.666670E-02 , -1.273710E-01 ],
[ 7.142857E-02 , 5.833330E-02 , -1.318700E-01 ],
[ 8.571429E-02 , 7.000000E-02 , -1.361330E-01 ],
[ 1.000000E-01 , 8.166670E-02 , -1.399910E-01 ],
[ 1.142857E-01 , 9.333330E-02 , -1.433510E-01 ],
[ 1.285714E-01 , 1.050000E-01 , -1.461240E-01 ],
[ 1.428571E-01 , 1.166670E-01 , -1.482160E-01 ],
[ 1.571429E-01 , 1.283330E-01 , -1.495390E-01 ],
[ 1.714286E-01 , 1.400000E-01 , -1.500000E-01 ],
[ 1.857143E-01 , 1.475000E-01 , -1.486380E-01 ],
[ 2.000000E-01 , 1.550000E-01 , -1.457860E-01 ],
[ 2.142857E-01 , 1.625000E-01 , -1.419760E-01 ],
[ 2.285714E-01 , 1.700000E-01 , -1.360000E-01 ],
[ 2.428571E-01 , 1.768970E-01 , -1.288420E-01 ],
[ 2.571429E-01 , 1.831090E-01 , -1.216840E-01 ],
[ 2.714286E-01 , 1.883940E-01 , -1.145260E-01 ],
[ 2.857143E-01 , 1.925100E-01 , -1.073680E-01 ],
[ 3.000000E-01 , 1.953230E-01 , -1.002110E-01 ],
[ 3.142857E-01 , 1.970380E-01 , -9.305260E-02 ],
[ 3.285714E-01 , 1.979260E-01 , -8.589470E-02 ],
[ 3.428571E-01 , 1.982580E-01 , -7.873680E-02 ],
[ 3.571429E-01 , 1.983020E-01 , -7.157890E-02 ],
[ 3.714286E-01 , 1.983090E-01 , -6.442110E-02 ],
[ 3.857143E-01 , 1.983540E-01 , -5.726320E-02 ],
[ 4.000000E-01 , 1.984290E-01 , -5.010530E-02 ],
[ 4.142857E-01 , 1.985240E-01 , -4.294740E-02 ],
[ 4.285714E-01 , 1.986300E-01 , -3.578950E-02 ],
[ 4.428571E-01 , 1.987380E-01 , -2.863160E-02 ],
[ 4.571429E-01 , 1.988390E-01 , -2.147370E-02 ],
[ 4.714286E-01 , 1.989220E-01 , -1.431580E-02 ],
[ 4.857143E-01 , 1.989790E-01 , -7.157890E-03 ],
[ 5.000000E-01 , 1.990000E-01 , 0.000000E+00 ],
[ 5.142857E-01 , 1.989790E-01 , 7.157890E-03 ],
[ 5.285714E-01 , 1.989220E-01 , 1.431580E-02 ],
[ 5.428571E-01 , 1.988390E-01 , 2.147370E-02 ],
[ 5.571429E-01 , 1.987380E-01 , 2.863160E-02 ],
[ 5.714286E-01 , 1.986300E-01 , 3.578950E-02 ],
[ 5.857143E-01 , 1.985240E-01 , 4.294740E-02 ],
[ 6.000000E-01 , 1.984290E-01 , 5.010530E-02 ],
[ 6.142857E-01 , 1.983540E-01 , 5.726320E-02 ],
[ 6.285714E-01 , 1.983090E-01 , 6.442110E-02 ],
[ 6.428571E-01 , 1.983020E-01 , 7.157890E-02 ],
[ 6.571429E-01 , 1.982580E-01 , 7.873680E-02 ],
[ 6.714286E-01 , 1.979260E-01 , 8.589470E-02 ],
[ 6.857143E-01 , 1.970380E-01 , 9.305260E-02 ],
[ 7.000000E-01 , 1.953230E-01 , 1.002110E-01 ],
[ 7.142857E-01 , 1.925100E-01 , 1.073680E-01 ],
[ 7.285714E-01 , 1.883940E-01 , 1.145260E-01 ],
[ 7.428571E-01 , 1.831090E-01 , 1.216840E-01 ],
[ 7.571429E-01 , 1.768970E-01 , 1.288420E-01 ],
[ 7.714286E-01 , 1.700000E-01 , 1.360000E-01 ],
[ 7.857143E-01 , 1.625000E-01 , 1.419760E-01 ],
[ 8.000000E-01 , 1.550000E-01 , 1.457860E-01 ],
[ 8.142857E-01 , 1.475000E-01 , 1.486380E-01 ],
[ 8.285714E-01 , 1.400000E-01 , 1.500000E-01 ],
[ 8.428571E-01 , 1.283330E-01 , 1.495390E-01 ],
[ 8.571429E-01 , 1.166670E-01 , 1.482160E-01 ],
[ 8.714286E-01 , 1.050000E-01 , 1.461240E-01 ],
[ 8.857143E-01 , 9.333330E-02 , 1.433510E-01 ],
[ 9.000000E-01 , 8.166670E-02 , 1.399910E-01 ],
[ 9.142857E-01 , 7.000000E-02 , 1.361330E-01 ],
[ 9.285714E-01 , 5.833330E-02 , 1.318700E-01 ],
[ 9.428571E-01 , 4.666670E-02 , 1.273710E-01 ],
[ 9.571429E-01 , 3.500000E-02 , 1.230200E-01 ],
[ 9.714286E-01 , 2.333330E-02 , 1.192300E-01 ],
[ 9.857143E-01 , 1.166670E-02 , 1.164180E-01 ],
[ 1.000000E+00 , 0.000000E+00 , 1.150000E-01 ]
]
}

Reissner shell deformable tire

See ChReissnerTire and ReissnerTire.