Frenet Arc-Length Conversion

An interactive examination of how closely the oriented arc-length increment of a vehicle trajectory matches the reference-path arc-length increment under different vehicle states.

First published
Last updated

On this page

Conversion relationship

Starting from the Frenet representation of vehicle position and the vehicle-heading unit vector, “Frenet Vehicle Kinematics” derives the local relationship between reference-path arc length and the oriented arc length of the vehicle trajectory in Equation (3):

dℓds=1−dκrcos⁡φ.\frac{\mathrm d\ell}{\mathrm ds}=\frac{1-d\kappa_r}{\cos\varphi}.

The interactive figures below vary the heading error φ\varphi, lateral deviation dd, and reference curvature κr\kappa_r separately and jointly to show how dℓ/ds\mathrm d\ell/\mathrm ds changes.

Here, ss is the reference-path arc-length coordinate of the vehicle’s nearest projection point; ℓ\ell is the oriented arc-length coordinate of the vehicle rear-axle-center trajectory, positive in the vehicle-heading direction; dd is the signed lateral deviation measured from the projection point along the left unit normal of the reference path, positive to the left and negative to the right; φ\varphi is the heading error between the vehicle heading and the reference-path tangent at the projection point, positive counterclockwise; and κr\kappa_r is the signed curvature of the reference path at the projection point, positive for a left turn and negative for a right turn.

Using the interactive figures

Each relationship curve or surface shares one parameter set with the local Frenet geometry on its right. Move the pointer over a sampled point on a curve or a grid point on a surface to update the geometry immediately; on a touch device, tap a data point to select it.

All local arc-length conversion plots use the same visual notation: blue curves or gradient surfaces represent dℓ/ds\mathrm d\ell/\mathrm ds; purple dotted lines or translucent planes represent dℓ/ds=1\mathrm d\ell/\mathrm ds=1; orange dashed lines mark cos⁡φ=0\cos\varphi=0; and red boundary lines mark 1−dκr=01-d\kappa_r=0. The later plots of 1−dκr1-d\kappa_r retain the blue relationship curve, purple unit reference line, and red degeneracy boundary. In the geometry view, increasing ss defines the positive direction of the reference path, lateral deviation is positive to the left, and counterclockwise rotation of the vehicle heading from the reference-path tangent is positive.

The geometry view treats the current projection point as its local origin. A line segment of fixed length Δℓ\Delta\ell represents the oriented vehicle-trajectory arc-length increment, while Δs=cos⁡φ Δℓ/(1−dκr)\Delta s=\cos\varphi\,\Delta\ell/(1-d\kappa_r) determines the magnitude and direction of the corresponding reference-path arc-length increment. When Δs<0\Delta s<0, the highlighted arc extends backward from the current projection point. The reference curve represents only the local curvature at that point. When κr≠0\kappa_r\ne0 and ∣κrΔs∣≤π/3|\kappa_r\Delta s|\le\pi/3, the complete highlighted arc is drawn. Only after the arc exceeds one sixth of a circle is it truncated, with an ellipsis shown in the correct direction; the osculating circle is not treated as the entire reference path and used to search for another projection point. When 1−dκr=01-d\kappa_r=0, no finite Δs\Delta s exists and none is drawn.

The single-value sliders under “Experimental conditions” fix variables that are not represented by the current plot axes. The range sliders under “Plot window” change only the displayed coordinate or analysis range; they do not alter the mathematical relationship. Expand “Advanced range settings” to explore beyond the default limits. “Reset” restores all initial parameters and display ranges for the current experiment.

Effect of one variable on the local arc-length conversion relationship

Nonlinear variation caused by heading error

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 1. With (d,κr)(d,\kappa_r) fixed, dℓ/ds\mathrm d\ell/\mathrm ds varies nonlinearly with heading error φ\varphi through 1/cos⁡φ1/\cos\varphi. The purple dotted line marks dℓ/ds=1\mathrm d\ell/\mathrm ds=1. When the horizontal range is extended to ±90∘\pm90^\circ, the orange dashed lines mark cos⁡φ=0\cos\varphi=0, where the curve is interrupted. If 1−dκr≠01-d\kappa_r\ne0, ∣dℓ/ds∣\left|\mathrm d\ell/\mathrm ds\right| diverges near this boundary.

Linear variation caused by lateral deviation

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 2. With (φ,κr)(\varphi,\kappa_r) fixed, dℓ/ds\mathrm d\ell/\mathrm ds varies linearly with lateral deviation dd. When κr≠0\kappa_r\ne0 and the signed radius of curvature ρr=1/κr\rho_r=1/\kappa_r lies within the horizontal range, the red dashed line marks d=ρrd=\rho_r. At this position, 1−dκr=01-d\kappa_r=0 and the differential of the normal-coordinate map is degenerate; it must not be interpreted as dℓ/ds=0\mathrm d\ell/\mathrm ds=0 in a valid Frenet coordinate state.

Linear variation caused by reference curvature

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 3. With (φ,d)(\varphi,d) fixed, dℓ/ds\mathrm d\ell/\mathrm ds varies linearly with reference curvature κr\kappa_r. When d≠0d\ne0 and 1/d1/d lies within the horizontal range, the red dashed line marks κr=1/d\kappa_r=1/d, the degeneracy boundary of the normal-coordinate map 1−dκr=01-d\kappa_r=0.

Local arc-length conversion with two varying factors

Combined effect of heading error and lateral deviation

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 4. The independent variables are (φ,d)(\varphi,d) and the surface height is dℓ/ds\mathrm d\ell/\mathrm ds; reference curvature κr\kappa_r is set by the “Experimental conditions” slider. The translucent purple plane represents dℓ/ds=1\mathrm d\ell/\mathrm ds=1. At φ=±90∘\varphi=\pm90^\circ, the arc-length-domain parameterization fails. When κr≠0\kappa_r\ne0, d=1/κrd=1/\kappa_r is the degeneracy boundary of the normal-coordinate map.

Combined effect of heading error and reference curvature

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 5. The independent variables are (φ,κr)(\varphi,\kappa_r) and the surface height is dℓ/ds\mathrm d\ell/\mathrm ds; lateral deviation dd is set by the “Experimental conditions” slider. Heading error produces the nonlinear factor 1/cos⁡φ1/\cos\varphi. When d≠0d\ne0, κr=1/d\kappa_r=1/d is the degeneracy boundary of the normal-coordinate map.

Combined effect of lateral deviation and reference curvature

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 6. The independent variables are (d,κr)(d,\kappa_r) and the surface height is dℓ/ds\mathrm d\ell/\mathrm ds; heading error φ\varphi is set by the “Experimental conditions” slider. The intersection between the surface and the zero plane satisfies dκr=1d\kappa_r=1. This intersection is the degeneracy boundary of the normal-coordinate map and must not be interpreted as dℓ/ds=0\mathrm d\ell/\mathrm ds=0 in a valid Frenet coordinate state.

Effect of the relationship between lateral deviation and curvature radius at the projection point

The term 1−dκr1-d\kappa_r is the part of the local arc-length conversion relationship

dℓds=1−dκrcos⁡φ\frac{\mathrm d\ell}{\mathrm ds}=\frac{1-d\kappa_r}{\cos\varphi}

that is jointly determined by the lateral deviation dd and the reference curvature κr\kappa_r at the projection point. Within the domain where this relationship applies, once the heading error φ\varphi is fixed, the complete influence of dd and κr\kappa_r on dℓ/ds\mathrm d\ell/\mathrm ds is expressed through this factor.

Only the local relationship at the current projection point is considered below. Let the reference-path arc-length coordinate of this point be s0s_0, and abbreviate κr=κr(s0)\kappa_r=\kappa_r(s_0). For κr≠0\kappa_r\ne0, define

dc=1κr,Rr=1∣κr∣.d_c=\frac{1}{\kappa_r}, \qquad R_r=\frac{1}{|\kappa_r|}.

RrR_r is the radius of curvature of the osculating circle at the projection point, while dcd_c is the signed coordinate of its center measured along the left unit normal. The center of curvature is located at r(s0)+dcN(s0)\boldsymbol r(s_0)+d_c\boldsymbol N(s_0), and

1−dκr=1−ddc.1-d\kappa_r=1-\frac{d}{d_c}.

The factor is therefore determined by the position of the vehicle’s lateral deviation dd relative to the normal coordinate dcd_c of the center of curvature:

  • d/dc<0d/d_c<0: the vehicle and the center of curvature lie on opposite sides of the reference path, so 1−dκr>11-d\kappa_r>1;
  • 0<d/dc<10<d/d_c<1: the vehicle lies between the reference path and the center of curvature, so 0<1−dκr<10<1-d\kappa_r<1;
  • d=dcd=d_c: the vehicle position coincides with the center of curvature at the current projection point, so 1−dκr=01-d\kappa_r=0;
  • d/dc>1d/d_c>1: the vehicle lies beyond the center of curvature, so 1−dκr<01-d\kappa_r<0.

The center of curvature here describes only the second-order local geometry of the reference path at the current projection point; it does not imply that the reference path itself is a circular arc. The relationship between 1−dκr1-d\kappa_r and the nearest projection can be established directly from the distance between the vehicle and the reference path.

Fix the vehicle position z\boldsymbol z, and let a candidate point r(ξ)\boldsymbol r(\xi) move along the reference path, where ξ\xi is the candidate point’s arc-length coordinate and s0s_0 is the particular coordinate of the current perpendicular foot. Define

q(ξ)=12∥z−r(ξ)∥2.q(\xi)=\frac{1}{2}\left\|\boldsymbol z-\boldsymbol r(\xi)\right\|^2.

q(ξ)q(\xi) is one half of the squared distance from the vehicle to the candidate point. The constant 1/21/2 does not change the extrema; it only simplifies differentiation. Because the reference path is parameterized by arc length,

drdξ=T,dTdξ=κr(ξ)N,T⋅T=1.\frac{\mathrm d\boldsymbol r}{\mathrm d\xi}=\boldsymbol T, \qquad \frac{\mathrm d\boldsymbol T}{\mathrm d\xi}=\kappa_r(\xi)\boldsymbol N, \qquad \boldsymbol T\mathbin{\cdot}\boldsymbol T=1.

Keeping z\boldsymbol z fixed, differentiate with respect to the candidate coordinate ξ\xi:

q′(ξ)=12ddξ[(z−r(ξ))⋅(z−r(ξ))]=−(z−r(ξ))⋅T(ξ).\begin{aligned} q'(\xi) &=\frac{1}{2}\frac{\mathrm d}{\mathrm d\xi} \left[ (\boldsymbol z-\boldsymbol r(\xi)) \mathbin{\cdot} (\boldsymbol z-\boldsymbol r(\xi)) \right]\\[0.6em] &=-(\boldsymbol z-\boldsymbol r(\xi))\mathbin{\cdot}\boldsymbol T(\xi). \end{aligned}

At the current perpendicular foot s0s_0, the vehicle position satisfies

z−r(s0)=dN(s0).\boldsymbol z-\boldsymbol r(s_0)=d\boldsymbol N(s_0).

Because N⊥T\boldsymbol N\perp\boldsymbol T, substituting ξ=s0\xi=s_0 into the first derivative gives

q′(s0)=−dN(s0)⋅T(s0)=0.q'(s_0) =-d\boldsymbol N(s_0)\mathbin{\cdot}\boldsymbol T(s_0) =0.

This establishes only that s0s_0 is a stationary point of the distance function. To determine whether it is a local minimum or a local maximum, differentiate again:

q′′(ξ)=−ddξ[(z−r(ξ))⋅T(ξ)]=drdξ⋅T−(z−r)⋅dTdξ=T⋅T−(z−r)⋅κr(ξ)N.\begin{aligned} q''(\xi) &=-\frac{\mathrm d}{\mathrm d\xi} \left[ (\boldsymbol z-\boldsymbol r(\xi))\mathbin{\cdot}\boldsymbol T(\xi) \right]\\[0.6em] &=\frac{\mathrm d\boldsymbol r}{\mathrm d\xi}\mathbin{\cdot}\boldsymbol T -(\boldsymbol z-\boldsymbol r)\mathbin{\cdot} \frac{\mathrm d\boldsymbol T}{\mathrm d\xi}\\[0.6em] &=\boldsymbol T\mathbin{\cdot}\boldsymbol T -(\boldsymbol z-\boldsymbol r)\mathbin{\cdot} \kappa_r(\xi)\boldsymbol N. \end{aligned}

Finally, at ξ=s0\xi=s_0, substitute z−r(s0)=dN(s0)\boldsymbol z-\boldsymbol r(s_0)=d\boldsymbol N(s_0), T⋅T=1\boldsymbol T\mathbin{\cdot}\boldsymbol T=1, and N⋅N=1\boldsymbol N\mathbin{\cdot}\boldsymbol N=1:

d2qdξ2∣ξ=s0=q′′(s0)=1−dκr.\left.\frac{\mathrm d^2q}{\mathrm d\xi^2}\right|_{\xi=s_0} =q''(s_0) =1-d\kappa_r.

The term 11 comes from the unit tangent length T⋅T=1\boldsymbol T\mathbin{\cdot}\boldsymbol T=1, while −dκr-d\kappa_r comes from the curvature-induced rotation of the reference-path tangent. Consequently, if 1−dκr>01-d\kappa_r>0, s0s_0 is a strict local minimum of the distance function. If 1−dκr<01-d\kappa_r<0, s0s_0 is a strict local maximum and cannot be the vehicle’s nearest projection point. If 1−dκr=01-d\kappa_r=0, the second-derivative test is inconclusive: whether the point remains a local minimum and whether the projection is unique cannot be determined from dd and κr\kappa_r at that point alone. Even when 1−dκr>01-d\kappa_r>0, it guarantees only a local minimum; global uniqueness of the nearest projection still depends on the geometry of the complete reference path.

Positive curvature: center of curvature to the left of the reference path

When κr>0\kappa_r>0, dc=Rr>0d_c=R_r>0 and the center of curvature lies on the left-unit-normal side. As the vehicle moves leftward from the reference path toward the center of curvature, dd increases from 00 to RrR_r and 1−dκr1-d\kappa_r decreases linearly from 11 to 00. When the vehicle is on the right side of the reference path, d<0d<0 and the factor is greater than 11. When d>Rrd>R_r, the factor is negative, so the current reference point cannot be the vehicle’s nearest projection. This region therefore does not belong to a Frenet coordinate state constructed from that point as the nearest projection.

Figure 7 fixes a positive reference curvature and varies lateral deviation to compare dd directly with the current curvature radius. Figure 8 fixes lateral deviation and varies positive reference curvature to show how the same relationship changes as the radius and center of curvature move.

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 7. When κr>0\kappa_r>0, the signed normal coordinate of the center of curvature is dc=Rr=1/κrd_c=R_r=1/\kappa_r. The red dashed line marks d=dcd=d_c, and the grid in the right-hand local geometry extends at least to this center of curvature. Adjust “Reference curvature” to observe the resulting changes in the curvature radius, center position, and 1−dκr1-d\kappa_r.

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 8. Lateral deviation dd is set by the “Experimental conditions” slider, and positive reference curvature κr\kappa_r is on the horizontal axis. 1−dκr1-d\kappa_r varies linearly with κr\kappa_r. If d≠0d\ne0 and κr=1/d\kappa_r=1/d lies within the current horizontal range, the red dashed line marks where the vehicle position coincides with the center of curvature. Adjust dd to observe whether this point lies in the positive-curvature range and how it moves with lateral deviation.

Negative curvature: center of curvature to the right of the reference path

When κr<0\kappa_r<0, dc=−Rr<0d_c=-R_r<0 and the center of curvature lies on the right-unit-normal side. As the vehicle moves rightward from the reference path toward the center of curvature, dd decreases from 00 to −Rr-R_r and 1−dκr1-d\kappa_r likewise decreases linearly from 11 to 00. When the vehicle is on the left side of the reference path, d>0d>0 and the factor is greater than 11. When d<−Rrd<-R_r, the factor is negative, so the current reference point likewise cannot be the vehicle’s nearest projection. This region therefore does not belong to a Frenet coordinate state constructed from that point as the nearest projection.

Figure 9 fixes a negative reference curvature and varies lateral deviation; Figure 10 fixes lateral deviation and varies negative reference curvature. The two figures examine the same relationship as the positive-curvature experiments, but with the center of curvature on the right side of the reference path.

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 9. When κr<0\kappa_r<0, the signed normal coordinate of the center of curvature is dc=−Rr=1/κrd_c=-R_r=1/\kappa_r. The red dashed line marks d=dcd=d_c, and the grid in the right-hand local geometry extends at least to this center of curvature. The variation is the same as in Figure 7, except that the center of curvature and the corresponding lateral deviation lie to the right of the reference path.

This interactive figure requires JavaScript. The article text and figure caption remain available.

Figure 10. Lateral deviation dd is set by the “Experimental conditions” slider, and negative reference curvature κr\kappa_r is on the horizontal axis. 1−dκr1-d\kappa_r varies linearly with κr\kappa_r. If d≠0d\ne0 and κr=1/d\kappa_r=1/d lies within the current horizontal range, the red dashed line marks where the vehicle position coincides with the center of curvature. This figure differs from Figure 8 only in the signs of the reference curvature, center-of-curvature direction, and corresponding lateral deviation.

When κr=0\kappa_r=0, the curvature radius at the projection point is infinite, no finite center of curvature exists, and 1−dκr=11-d\kappa_r=1 for every dd. Lateral deviation then has no effect on this part of the local arc-length conversion relationship, so no separate plot is needed.

Sources and further reading

  • Frenet Vehicle Kinematics: the full derivation of the conversion relationship, definitions of its variables, nearest-projection conditions, and references.
  • Planar Frenet Frame: the unit tangent, left unit normal, and signed-curvature conventions used here.