MotionView User's Guide

Using Tires with MotionSolve

Using Tires with MotionSolve

Previous topic Next topic No expanding text in this topic  

Using Tires with MotionSolve

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

In some cases where you have a full vehicle model in the MotionSolve xml format and you want to manually enable it to use tires, the following information will apply.

MotionSolve Input Deck

Given a tire and road property file you can setup a MotionSolve input deck to include a tire (assuming you have a full vehicle without tires to start with).

There is a collection of solver entities required to enable a tire model.  You can build up a vehicle model to utilize a tire model using the set of entities described below:

A set of required markers (Reference_Marker)
One wheel/tire body (Body_Rigid)
One revolute joint for wheel spin axis, or optionally a busing entity with very stiff rates in the non-spin direction and only damping in the spin direction (Constraint_Joint) or (Force_Bushing)
One force_vector_twobody of type "User" (Force_Vector_Twobody)
One reference_array (Reference_Array)
One string entity for .tir file (Reference_String)
One string entity for .rdf file (Reference_String)

A marker is required, located at the wheel center and attached to the ground body.  This is a floating marker that will stay superimposed on the marker used to define the tire force.  

<Reference_Marker

    id                  = "11001020"

    label               = "Front Tire J Marker-left"

    body_id             = "30101"

    body_type           = "RigidBody"

    pos_x               = "1000."

    pos_y               = "-750."

    pos_z               = "1000."

 />

A road reference marker is required to define the height of the road.  This marker is attached to ground.    

<Reference_Marker

    id                  = "11001010"

    label               = "Road Reference Marker Front-left"

    body_id             = "30101"

    body_type           = "RigidBody"

    pos_x               = "0."

    pos_y               = "0."

    pos_z               = "680.03"

 />

A marker is required for the action-reaction tire force.  It is attached to the wheel/tire body and oriented with the y axis along the spin axis.

<Reference_Marker

    id                  = "11003020"

    label               = "Front Tire Force Reference-left"

    body_id             = "10403"

    body_type           = "RigidBody"

    pos_x               = "1000."

    pos_y               = "-750."

    pos_z               = "1000."

    a00                 = "-1."

    a10                 = "0."

    a20                 = "0."

    a02                 = "0."

    a12                 = "0."

    a22                 = "1."

 />

The model must contain a wheel body and a revolute joint between the wheel body, and another part of the vehicle model.  The revolute joint should be aligned to represent the spin axis of the tire (see example below):

NoteA bushing can be used in place of the revolute joint, however this is rarely used.  

<Body_Rigid

    id                  = "10403"

    label               = "Wheel-left"

    cg_id               = "10403010"

    im_id               = "10403010"

    lprf_id             = "10403001"

    mass                = "36."

    inertia_xx          = "1750000."

    inertia_yy          = "1750000."

    inertia_zz          = "1000000."

    v_ic_x              = "-24587.2"

    v_ic_y              = "0."

    v_ic_z              = "0."

    w_ic_x              = "0."

    w_ic_y              = "0."

    w_ic_z              = "-76.842204"

    v_ic_x_flag         = "TRUE"

    v_ic_y_flag         = "TRUE"

    v_ic_z_flag         = "TRUE"

    w_ic_flag           = "TRUE"

/>

<Constraint_Joint

    id                  = "104002"

    label               = "Wheel spindle rj-left"

    type                = "REVOLUTE"

    i_marker_id         = "10404020"

    j_marker_id         = "10401020"

/>

The input deck then requires a Force_Vector_TwoBody force (action-reaction force) of the type "User".  The usrsub_dll_name must be “mbdtire” and the usrsub_fnc_name must be “mbdtire”.  The parameters for the "USER" arguments are:

-par1:  The routing ID (not needed as long as fnc_name is"mbdtire").
-par2:  The ID of the Force_Vector_TwoBody.
-par3:  The ID of the Reference_Array used for the tire.
-par4:  In the case where co-simulation tire is used, this is the order of the interpolating polynomial between subsequent evaluation of forces at integrator convergence.  Set to 0 for zero order hold, or 1 for first order hold.

<Force_Vector_TwoBody

    id                  = "11001"

    label               = "Front tire force-left"

    type                = "ForceAndTorque"

    i_marker_id         = "11003020"

    j_floating_marker_id= "11001022"

    ref_marker_id       = "11001010"

    usrsub_param_string = "USER(408,11001,31000100,0)"

    usrsub_dll_name     = "mbdtire"

    usrsub_fnc_name     = "mbdtire"

/>

Many of the required values for the tire are stored in the Reference_array from par3:

<Reference_Array

    id                  = "31000100"

    label               = "Front tire input array left"

    type                = "IC"

    num_element         = "7">

  0.0000000E+00   1.8000000E+01   0.0000000E+00   3.1000900E+05   3.1000100E+05   3.1001100E+05   3.1000500E+05

</Reference_Array>

Num_element must be seven; however the only two that currently apply are element 5 and element 7 (the others are reserved for future use).

Element 5:  The ID of the string that contains the tire property file (see example below):

<Reference_String

    id                  = "310001"

    label               = "Front left tire property file string"

    string              = "prop_files/ftire.tir"

/>

Element 7:  The ID of the string that contains the road property file (see example below):

<Reference_String

    id                  = "310005"

    label               = "Front left road property file string"

    string              = "prop_files/2d_road.rdf"

/>

See Also:

Tire Modeling

Using Tires with the MotionView MDL Library

Coordinate Systems and Output Requests

Using Grasub (FTIRE only)