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.
Name | Type | Use | Unit | Description |
---|---|---|---|---|
|
double |
required |
m |
Polynom parameter a for u |
|
double |
required |
m |
Polynom parameter a for v |
|
double |
required |
1 |
Polynom parameter b for u |
|
double |
required |
1 |
Polynom parameter b for v |
|
double |
required |
1/m |
Polynom parameter c for u |
|
double |
required |
1/m |
Polynom parameter c for v |
|
double |
required |
1/m² |
Polynom parameter d for u |
|
double |
required |
1/m² |
Polynom parameter d for v |
|
required |
Range of parameter p.
|
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:
-
asam.net:xodr:1.7.0:road.geometry.paramPoly3.valid_parameters: 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.
-
asam.net:xodr:1.7.0:road.geometry.paramPoly3.arcLength_range: If @pRange="arcLength", p shall be chosen in [0, @length from
<geometry>
].
-
asam.net:xodr:1.7.0:road.geometry.paramPoly3.normalized_range: If @pRange="normalized", p shall be chosen in [0, 1].
-
asam.net:xodr:1.7.0:road.geometry.paramPoly3.length_match: 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 |
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.


