# 3D Spline Road

The 3D Spline Road allows racetracks, parking spaces and various other 3-Dimensional smooth road surfaces, to be defined. When a road surface, with a curvature less than that of the tire is present, it is defined as a smooth road.

Additionally, the 3D Spline Road allows you to model 3-Dimensional road obstacles, placed atop the underlying smooth road surface. The centerline, width, bank angle, and left and right friction levels define the road surface.

Coordinates of the road centerline can be specified by to construct any line in 3-Dimensional space. A flat cross-section is assumed, for which the width and bank angle can be specified for each data point. Additionally, friction levels for left and right road sides can be specified.

## 3D Spline Road Obstacle Types

- POTHOLE
- RAMP
- PLANK
- ROOF
- SINE
- SWEEP

## Placing an Obstacle

The obstacles are based on “distance travelled “ methodology. The keyword START in each obstacle tells the relative distance of start of the obstacle to the spline’s coordinate where it is mentioned in the table. So by mentioning 0 it means the obstacle starts immediately. In the attached 3D spline road sample OBSTACLE1 starts at x,y = 5,0 as its START value is 0.## Keywords

- Global Keywords
- The keywords which are required for all obstacles are:
Keyword Description START The start position of the obstacle. - '0.0 0.0 0.0'
- A local coordinate system.
- '0.0'
- A distance-defined obstacle.

LENGTH The length of the obstacle. LENGTH is to be defined along the length of the road.

ROAD_TYPE The obstacle type. Note: The above data must be specified in the .rdf file, independent of the type of obstacle.

- POTHOLE
- A single pothole of rectangular shape.
If ROAD_TYPE = 'POTHOLE', then the 'DEPTH' keyword must be specified. Depth can be positive indicating a depression or negative indicating a bump in the road.

Add a table for pothole like the one below with corresponding terms:Keyword Description DEPTH Positive / negative depth of the obstacle. - RAMP
- A single ramp, either rising or falling.If ROAD_TYPE = 'RAMP', then the following parameters must be specified:
Keyword Description HEIGHT Height of the ramp. SLOPE Slope of ramp in deg(°). - PLANK
- A single plank perpendicular, or in oblique direction relative to x-axis, with or
without bevel edges.If ROAD_TYPE = 'PLANK', then the following parameters must be specified:
Keyword Description HEIGHT Height of the plank. BEVEL_EDGE_LENGTH BEVEL_EDGE_LENGTH < 0, 3D Spline Road uses rounded corners instead of beveled edges. In this case, the radius of the corner is BEVEL_EDGE_LENGTH. - ROOF
- A single roof-shaped, triangular obstacle.If ROAD_TYPE = 'ROOF', then the following parameters must be specified:
Keyword Description HEIGHT Height of the roof. LENGTH Length of the base of the triangular roof. - SINE
- Sine waves with constant wave length.If ROAD_TYPE = 'SINE', then the following parameters must be specified:
Keyword Description AMPLITUDE Amplitude of the sine wave (A). WAVE_LENGTH Wave length of the sine wave (). START Start of the sine waves (travel distance) (s_s). The road profile height z, is given by:

- SWEEP
- If ROAD_TYPE = 'SWEEP', then the following parameters must be specified:
Keyword Description AMPLITUDE_AT_START Amplitude of the sine wave at start () AMPLITUDE_AT_END Amplitude of the sine wave at end () WAVE_LENGTH_AT_START Wave length of the sine wave at start (). WAVE_LENGTH_AT_END Wave length of the sine wave at end (). SWEEP_TYPE If SWEEP_TYPE = 0, then the frequency changes linearly. If SWEEP_TYPE = 1, then the frequency changes logarithmically.

Depending on the value of SWEEP_TYPE, the road profile height is given by the following functions:- Linear Sweep
- The frequency changes linearly with distance s. The road profile height z is given by:
- Logarithmic Sweep
- With every cycle, the wavelength decreases by a constant factor.
The road profile is given by:
where,

is the distance at which, theoretically, an infinitely high frequency is reached, with respect to the start s

_{s}.

## 3D Spline Road Property File

- MDI_HEADER
- The first block of data [MDI_HEADER] describes the TeimOrbit
file:
`[MDI_HEADER] FILE_TYPE = 'rdf' FILE_VERSION = 5.00 FILE_FORMAT = 'ASCII' {COMMENTS} 'User entered comments go here'`

Keyword Description FILE_TYPE The file type. FILE_VERSION The version of file; to be changed when modifications to this file are made. FILE_FORMAT The format of the data; for TiemOrbit this is always ASCII. {COMMENTS} Descriptive comments about the file, such as what road this represents, when the data was acquired, etc. - Units details
- The [UNITS] block defines the units for the
road:
`[UNITS] LENGTH = 'meter' FORCE = 'newton' ANGLE = 'radians' MASS = 'kg' TIME = 'sec'`

[UNITS]Keyword Description LENGTH Unit of length. FORCE Unit of force. ANGLE Angle in degrees or radians. MASS Unit of mass. TIME Unit of time. - Model details
- The [MODEL] block defines the road model and version for the
road:
`[MODEL] METHOD = '3D_SPLINE' VERSION = 1.00`

[MODEL]Keyword Description METHOD 3D_SPLINE - Global Parameters
- The [GLOBAL_PARAMETERS] block defines parameters applicable to the entire
road:
`[GLOBAL_PARAMETERS] MU_LEFT = 0.5 MU_RIGHT = 0.6 WIDTH = 5.000 BANK = 0.0`

[GLOBAL_PARAMETERS]Keyword Description MU_LEFT Road friction value on the left side of the road with respect to the centerline. Specifying road friction under [GLOBAL_PARAMETERS] overwrites any specification of road friction values in the [DATA_POINTS] block. MU_RIGHT Road friction value on the right side of the road with respect to the centerline. Specifying road friction under [GLOBAL_PARAMETERS] overwrites any specification of road friction values in the [DATA_POINTS] block.

WIDTH Width of the road. If user specifies WIDTH, it takes precedence over the WIDTH value specified in the [DATA_POINTS] block. Even if this parameter is set, user must specify the WIDTH parameter in [DATA_POINTS]. If this parameter is not required, then user can omit it from the road data file (.rdf).

BANK Slope angle of the road around its centerline in each data point. Zero bank means a horizontal width line. A positive value specifies a slope along a clockwise direction in ISO-reference frame.

If you specify this dimension, then it will take precedence over the BANK value specified in the [DATA_POINTS] block. Even if you set this dimension, they must specify a BANK value. If this dimension is not required, then you can omit it from the .rdf file.

- Data Points Information
- The [DATA_POINTS] block contains the road information in a tabular form.
The following information needs to be supplied for each entry:

`[DATA_POINTS] { X Y Z WIDTH BANK MU_LEFT MU_RIGHT OBSTACLE}`

[DATA_POINTS]Keyword Description X The X coordinate of sampled road data point. Y The Y coordinate of sampled road data point. Z The Z coordinate of sampled road data point. WIDTH The width of road at the sampled point. BANK The angle of road at the sampled point; a positive value specifies a slope along a clockwise direction in ISO-reference frame. MU_LEFT Road friction on the left side of the road with respect to the centerline at the sample point. MU_RIGHT Road friction on the right side of the road with respect to the centerline at the sample point. OBSTACLE The name of block that contains the obstacle information. This entry is optional.