Chapter 8 | Vehicle Controls

Chapter8.png

Introduction

Virtual CRASH allows the user to choreograph complex and sophisticated sequences of driver inputs using the sequences menu. Vehicles can brake, steer, and accelerate at specified times as required for the subject simulation. In this write-up, we discuss how to use the sequence menu, and walk through the various parameters one must specify in order to define a sequence.

 

Tire Force Models

Virtual CRASH comes with three tire force models: (1) constant, (2) linear, and (3) tmeasy [1]. By default, the constant model is used. To change the tire model, open the “axles” menu in the left side control panel. Left-click on the axles whose wheels you wish to modify. Note, using ctrl+left-click, you can select multiple axles simultaneously. Left-click on the empty box to the right of “tire model-left” to reveal the tire model pull down menu. Then left-click on the desired model (see below). The specified tire force model will determine the vehicle responses to braking, acceleration, and steering inputs.

You can select different tire force models for right and left tires by deselecting the “symmetry left-right” box.

Sequences

In Virtual CRASH, driver acceleration, braking, or steering inputs to the vehicle are accomplished by creating entries in the “sequences” menu table accessible in the left side control panel. To put a new entry into the sequences menu, after selecting your vehicle, simply left-click on “add sequence” and specify the type by using the “type” pulldown menu. 

These same types of entries can also automatically be placed in the menu by using the interactive control icons within the simulation environment. The figure below illustrates an example of left-clicking on the vehicle interposition within the simulation environment corresponding to time = 0.332 seconds. Note, with each additional sequence input, the time parameter is indicating the duration of time from the previous sequence input. One can also specify entries with respect to distance from the previous sequence input (select “use:distance”). By using the steering icon and adjusting the icon’s length, a new steering entry is automatically placed within the sequences table, with time to complete steer determined by the icon’s length and steering angle at the wheels determined by the icon’s lateral position.

 

There are five types of entries that can be made in the sequences menu:

“reaction”: allows the user to specify a steering input and time interval over which the input is made. There are also options to lock wheels and modify tire-terrain coefficients of friction. Steering inputs, locked wheels, and modified friction are discussed in more detail below.

“uniform”: offers the same options as “reaction.”

“deceleration”: allows the user to specify a steering input over an interval and specify braking options. Braking options are discussed in more detail below.

“acceleration”: allows the user to specify a steering input over an interval and specify acceleration options. Acceleration options are discussed in more detail below.

“accel. backward”: allows the user to specify a steering input over an interval and specify acceleration options for a car in reverse. 

Steering Input

The steering angle is defined at the axle; the angle itself can be thought of as the angle of the wheel heading with respect to the local x-axis for an axle with zero-track-width. This will yield a specific turning radius which is directly dependent upon this angle as well as the vehicle wheelbase. The actual angles of the wheels are automatically adjusted such that the equivalent turning radius is maintained (assuming no sideslip) for any track width. Generally the difference between the angles at each wheel (turning angle) is negligible. Steering angles can either be entered in the sequences table or interactively using the control icons within the simulation environment as shown in the previous figure. Each steering input has an associated “steering time.” This controls the time interval over which the specified steering angle is set. The intermediate steering angles are determined by simple linear interpolation between the initial angle at the current simulation time-step and the final angle specified by the user. The duration of the interpolation is controlled by the “steering time” parameter. Note negative steering angles will steer the vehicle to the driver’s right, whereas positive steering angles will steer the vehicle to the driver’s left.

Longitudinal Tire Forces

In Virtual CRASH, the user typically specifies the desired rate of acceleration or deceleration up to a maximum allowable based upon the adhesion value for the tire-terrain interface. In Virtual CRASH, the default adhesion value for each vehicle is set to 0.78. This can be modified in the “contact” menu in the left side control panel:

With no steering input, the total longitudinal tire force on the vehicle is given by:

$$ F_{x, Total} = \sum_{j=1}^{N} \tilde{F}_{x^{\prime\prime},j} = \sum_{j=1}^{N} f_{x^{\prime\prime},j} \cdot \mu_j \cdot N_{z^{\prime\prime},j} \tag{1} $$

where \(N\) is the number of wheels undergoing braking or acceleration, the "adhesion value" \(\mu_j\) is the locked wheel tire-terrain drag factor for tire \(j \),  \(N_{z^{\prime\prime},j}\)   is the normal force at the contact patch of tire \(j \), and \(f_{x'',j}\) is total braking or acceleration on tire \(j \) expressed as a fraction of the maximum drag factor and defined with respect to the tire’s local longitudinal direction \( \hat{x}^{\prime\prime}  \) [2]. \( f_{x^{\prime\prime},j} \) is bounded by:

$$ -1 \leq f_{x^{\prime\prime},j} \leq 1  \tag{2} $$

where a negative value corresponds to braking and a positive value to acceleration. Note when the sequence type (discussed below) is set to “deceleration,” the negative sign is automatically included in the calculations, so the user only inputs positive values. When both steering and braking inputs are used, a correction to the maximum allowed longitudinal and lateral forces are performed at each wheel to ensure the maximum possible frictional value is not exceeded for the tire-terrain interface. 

Braking Input

Braking can be input by either using the “sequence” menu in the left hand control panel, the interactive fast control icons within the scene: 

or by right-clicking on the vehicle to bring up the fast control dialogue box:

The user can specify the desired deceleration rate (if “type:deceleration” is specified) by simply using the acceleration slider. Again, the maximum allowed selected rate of deceleration will depend on the adhesion value specified under the “contact” menu.

Virtual CRASH will automatically calculate the upper bound limit to the user input acceleration by:

$$ 0 \leq a_{input} \leq {\sum_{j=1}^{N} \mu_j \cdot N'_{z^{\prime\prime},j} \over m} = a_{input}^{max} $$

where \(m\) is the total vehicle mass and \(a_{input}\)  is the user input acceleration value shown in the previous figure, and \(N'_{z'',j}\) is the normal force at the contact patch of tire j for a vehicle at rest in static equilibrium on a flat surface.

$$ \mu_j = \mu_{Adhesion} \tag{3}  $$

such that when the user inputs a value in the “acceleration” field, we have at each tire:

$$  f_{x^{\prime\prime},j} =  {ma_{input} \over \mu \sum_{j=1}^{N} N’_{z^{\prime\prime},j}} \tag{4} $$

Again, for \(f_{x'',j}\) and \(a_{input}^{max}\), the normal force at each wheel is estimated assuming static equilibrium conditions on a flat surface, and so automatically accounts for static weight distribution. 

Brake Lag

The “brake lag” parameter will specify the time interval over which the vehicle acceleration transitions from the acceleration at the current time-step to the user input value. During the intermediate time-steps between the current time-step and the final time-step, the acceleration is interpolated between the current initial value and final user input values.

Wheels Separately 

The user also has the option to specify each value of \( f_{x^{\prime\prime},j} \) explicitly. To do this, left-click on the box next to “wheels separately” to reveal the ratio input boxes.

Each ratio can range from 0 to 100%. Note “ratio 1” refers to the driver side front wheel, “ratio 2” to the passenger side front wheel, “ratio 3” refers to the driver side rear wheel, and “ratio 4” refers to the passenger side rear wheel. You will notice as the \( f_{x^{\prime\prime},j} \) values are specified for each wheel, the “acceleration” value is automatically updated. You’ll also notice that as you set the acceleration value, the \( f_{x^{\prime\prime},j} \) values will be automatically updated; however, in this case the \( f_{x^{\prime\prime},j} \) values will be automatically assuming each tire receives the same value. 

Lock Wheels


The user has the option to specify the percentage of full wheel lock for each wheel individually. To select this option, left-click on the box next to “lock wheels” to reveal the lock wheel dialog boxes.

Note each wheel can be effectively locked from 0 to 100%. Also note “lock ratio 1” refers to the driver side front wheel, “lock ratio 2” to the passenger side front wheel, “lock ratio 3” refers to the driver side rear wheel, and “lock ratio 4” refers to the passenger side rear wheel. If an acceleration value is already being used to brake a vehicle, and consequently each \( f_{x^{\prime\prime},j} \) has been automatically determined, or each value of \( f_{x^{\prime\prime},j} \) is explicitly specified by the “wheels separately” option, then if the lock wheel option is used for a given wheel, Virtual CRASH will use the maximum value between \( f_{x^{\prime\prime},j} \) and the locked wheel input value. If the vehicle is undergoing positive acceleration and the locked wheel option is being used simultaneously for a given wheel, the \( f_{x^{\prime\prime},j} \) value for that wheel will only be due to the percentage wheel lockup value, and the selected wheel will undergo braking. 

Modify Frictions

The adhesion value used at each wheel, \( \mu_{j} \), can be individually modified by left-clicking on the box next to “modify frictions.” This will reveal the friction coefficients for each wheel.

Here “wheel friction 1” refers to the driver side front wheel, “wheel friction 2” to the passenger side front wheel, “wheel friction 3” refers to the driver side rear wheel, and “wheel friction 4” refers to the passenger side rear wheel. Note if a value of “0” is used in any for any of the tires, Virtual CRASH will automatically use the adhesion value specified for the vehicle; therefore, to simulate a tire at the no friction limit, input 0.001 as an approximation. You will notice that modifying the friction values at each tire does not update the maximum acceleration value. This is because the acceleration input value determines each \( f_{x^{\prime\prime},j} \), whereas using the “modify frictions” feature modifies \( \mu_{j} \). 

Acceleration Input

Vehicle acceleration can be input by either using the “sequences” menu in the left hand control panel, or by using the interactive fast control icons within the scene.

The user specifies the desired acceleration rate (if “type:acceleration” is specified) using the acceleration slider. Note, when you first “pull back” the deceleration/acceleration icon within the simulation environment, “type:deceleration” is automatically entered into the sequence table. You can simply modify the type to acceleration by left-clicking on the word “deceleration” in the sequences menu, then left-click on the type button, and select deceleration from the pull down menu. Again, equation (4) is used to determine \( f_{x^{\prime\prime},j} \), the maximum percentage tire force at each wheel. This applies to the drive wheels only. If the “wheels separately” option is enable, the user can explicitly define the values of \( f_{x^{\prime\prime},j} \) for each wheel, just as with deceleration discussed previously. The “lock wheels” option is also available under the type:acceleration sequence option, however, note that if a drive wheel is undergoing acceleration with positive \( f_{x^{\prime\prime},j} \), and the “lock ratio” for that wheel is increased above 0%, that wheel is automatically set to brake at the specified percentage wheel lockup value. The user also has the option to modify he coefficient of friction value used at each wheel, \(\mu_{j} \), individually. Again, just as with deceleration, you will notice that modifying the friction values at each tire does not update the maximum acceleration value for the vehicle. This is because the acceleration determines each \( f_{x^{\prime\prime},j} \), whereas using the “modify frictions” feature modifies \( \mu_{j} \).

Note, the relationship between the acceleration input specified in the sequences menu and the fraction of maximum possible longitudinal force applied at each drive wheel is described in equation (4) above. Cases where vehicles are turning, traveling up inclines or declines, or are loaded with additional cargo weight, may reduce the desired rate of acceleration below the value entered in sequences menu. The simulation engine will not know about these additional factors until the simulation starts, since Virtual CRASH is a kinetic time-forward simulator. In addition, all vehicles in the Virtual CRASH database have the drive wheels set to front by default. It is important that the user set the proper drive wheels in the simulation. Front wheel drive vehicles will typically experience slightly lower acceleration rates than the value input into the sequences menu, whereas rear wheel drive vehicles will typically experience slightly higher acceleration rates, due to dynamic weight transfer as a result of forward acceleration. When a target acceleration rate is required, it may be necessary to “tune” the acceleration input in sequences upward to counteract the increased loading due to trailer couplings, steering inputs, as well as to counteract any terrain-related effects. Rather than using the acceleration input directly, it may preferable to use either the “pedal position” input option or wheels separately to tune the percentage of maximum available longitudinal tire force at the drive wheels. One can then use the “Diagram” graphing tool to read the total resulting vehicle acceleration


Notes

[1] Note the tire force models are reviewed in Appendix 4 | The Tire Force Models.

[2] See Appendix 3 | The Virtual CRASH Coordinate System for further explanation of the Virtual CRASH 3 coordinate system.  




Tags: What is a sequence, what are sequences, how to accelerate, how to brake, make car accelerate, make vehicle accelerate,  how to steer, changing drag factor, how to change drag factor, changing coefficient of friction, change coefficient of friction, simulate wheel lock, simulate lock-up, lock-up wheels, locking wheels, what is linear, what is tmeasy, acceleration, braking, steering. 


© 2020 Virtual CRASH, LLC. All Rights Reserved