9.6 Parametric cubic curve

Parametric cubic curves are used for complex curves that are to be generated from measurement data. Parametric cubic curves are more flexible and allow a greater variety of road courses than cubic polynoms. In comparison to cubic polynoms that are defined in a x/y coordinate system or as local u/v coordinates, the coordinates x and y are interpolated separately by their own splines with respect to a common interpolation parameter p.

Elements in UML model

<paramPoly3> element

In ASAM OpenDRIVE, parametric cubic curves are represented by <paramPoly3> elements within the <geometry> element.

UML class: t_road_planView_geometry_paramPoly3
XML tag:   <paramPoly3>

A parametric cubic curve describing the road reference line.

Table 21. Attributes of the <paramPoly3> element
Name Type Use Unit Description

aU

double

required

m

Polynom parameter a for u

aV

double

required

m

Polynom parameter a for v

bU

double

required

1

Polynom parameter b for u

bV

double

required

1

Polynom parameter b for v

cU

double

required

1/m

Polynom parameter c for u

cV

double

required

1/m

Polynom parameter c for v

dU

double

required

1/m²

Polynom parameter d for u

dV

double

required

1/m²

Polynom parameter d for v

pRange

e_paramPoly3_pRange

required

Range of parameter p.

  • Case arcLength: p in [0, @length of <geometry>]

  • Case normalized: p in [0, 1] (Values of polynom paremeters have no unit)

XML example

<planView>
    <geometry s="0.000000000000e+00"
              x="6.804539427645e+05"
              y="5.422483642942e+06"
              hdg="5.287405485081e+00"
              length="6.565893957370e+01">
        <paramPoly3 aU="0.000000000000e+00"
                    bU="1.000000000000e+00"
                    cU="-4.666602734948e-09"
                    dU="-2.629787927644e-08"
                    aV="0.000000000000e+00"
                    bV="1.665334536938e-16"
                    cV="-1.987729787588e-04"
                    dV="-1.317158625579e-09"
                    pRange="arcLength">
        </paramPoly3>
    </geometry>
</planView>

Rules

The following rules apply to parametric cubic curves:

  • The local u/v coordinate system should be aligned with the s/t coordinate system of the start point (meaning that the curve starts in the direction given by @hdg, and at the position given by @x and @y). To achieve this, the polynomial parameter coefficients have to be @aU=@aV=@bV=0, @bU>0.

  • If @pRange="arcLength", p shall be chosen in [0, @length from <geometry>].

  • If @pRange="normalized", p shall be chosen in [0, 1].

  • The actual curve length, as determined by numerical integration over the parameter range, should match @length.

Related topics

9.6.1 Generating roads using parametric cubic curves

Generating road courses with parametric cubic curves only require x- and y-coordinates. For reasons of consistency to cubic polynoms, they may be calculated simultaneously to cubic polynoms using local u- and v-coordinates.

u(p) = aU + bU*p + cU*p2 + dU*p³
v(p) = aV + bV*p + cV*p2 + dV*p³

Unless otherwise stated, the interpolation parameter p is in the range [0;1]. Alternatively, it may be given in the range [0; @length of <geometry>]. Similar to cubic polynoms, the local coordinate system with the variables u and v may be placed and oriented arbitrarily.

To simplify representation, the local coordinate system should be aligned with the s/t coordinate system at the start point (@x,@y) and start orientation @hdg:

  • The u-axis points in local s-direction, meaning along the road reference line at the start point.

  • The v-axis points in local t-direction, meaning in lateral deviation from the road reference line at the start point.

  • The parameters @aU, @aV and @bV shall be zero, @bU shall be > 0.

Providing non-zero values for the parameters @aU, @aV and @bV leads to a shift and rotation of the s/t coordinates as shown Figure 29, Figure 30 and Figure 31.

After defining the points of the curve for a given parameter p, the u-values and v-values are transformed into values of the x/y coordinate system with regard to the shifts and orientation specified by the parameters @aU, @aV, @bU, @bV, the start coordinates (@x,@y) and the start orientation @hdg.

There is a non-linear relation between the interpolation parameter p and the actual length of the arc between the start point (@x,@y) in the <geometry> element and the point (x(p),y(p)) associated with the parameter p. In general, only the startpoint and endpoint parameter p=0 and p=@length (for the option @pRange=arcLength) coincides with the actual length of the arc.

Taking into account shift and rotation parameters @a and @b and the (@x,@y) and @hdg specified in the <geometry> element, the final x/y curve position is located at a given u-coordinate, as shown in Figure 35.

img
Figure 29. A parametric cubic curve for interpolation of the u-coordinate
img
Figure 30. A parametric cubic curve for interpolation of the v-coordinate
img
Figure 31. A parametric cubic curve