Planar Frenet Frame

Defines the unit tangent, left unit normal, and signed curvature of a planar reference path; derives the Frenet differential relations from both the orthonormal-frame and path-heading representations; and establishes consistent geometric and sign conventions for vehicle kinematics in Frenet coordinates.

First published
Last updated

On this page

Basic terminology and frame conventions

A parameterized curve is called regular if its first derivative is nonzero throughout the parameter interval. This condition excludes parameter values at which the parameterization velocity vanishes and ensures a well-defined tangent direction at every parameter value. Even if the image of the curve intersects itself, the different parameter values corresponding to the same point retain their own tangent directions. A curve is of class C2C^2 if the curve itself and its first and second derivatives are continuous. The second derivative is needed here to define changes in the tangent and curvature.

This article uses the arc-length parameter ss directly: an increment in the parameter equals the distance traveled along the curve. The reference path is therefore written as

r:I⟶R2,s⟼r(s).\mathbf r:I\longrightarrow\mathbb R^2, \qquad s\longmapsto\mathbf r(s).

Here, II is the interval of arc-length values and r\mathbf r is a C2C^2 curve. Arc-length parameterization satisfies

∥drds∥=1,\left\|\frac{d\mathbf r}{ds}\right\|=1,

so the curve is automatically regular. Define the unit tangent by

T(s):=drds,∥T(s)∥=1.\mathbf T(s):=\frac{d\mathbf r}{ds}, \qquad \|\mathbf T(s)\|=1.

The plane is given its standard orientation: counterclockwise rotation from the positive xx-axis to the positive yy-axis is positive. Let

J:=[0−110],J:= \begin{bmatrix} 0 & -1\\ 1 & 0 \end{bmatrix},

the operator that rotates a vector counterclockwise by 90∘90^\circ. Define the left unit normal by

N(s):=JT(s).\mathbf N(s):=J\mathbf T(s).

For each fixed arc-length position ss, the ordered basis (T(s),N(s))(\mathbf T(s),\mathbf N(s)) is a frame at the path point r(s)\mathbf r(s). As ss advances along the curve, these frames together form a moving frame along the curve. Because T\mathbf T and N\mathbf N are mutually orthogonal unit vectors, and because rotating T\mathbf T counterclockwise by 90∘90^\circ gives N\mathbf N, (T,N)(\mathbf T,\mathbf N) is a positively oriented orthonormal frame. This article calls the moving frame formed by the unit tangent and left unit normal the signed Frenet frame.

A frame is standard terminology in differential geometry, but it is not the same as a coordinate system. A coordinate system assigns coordinates to points in a region; a frame selects an ordered basis at each specified position so that vectors at that position can be represented. The pair (T,N)(\mathbf T,\mathbf N) lies in the two-dimensional plane containing the curve: T\mathbf T is tangent to the curve, N\mathbf N is perpendicular to it, and together they form a basis of the plane. A coordinate system can induce a frame, but a frame does not itself assign coordinates to nearby points and need not arise from a coordinate system.

Signed curvature and its geometric meaning

Define the curvature vector as the derivative of the unit tangent with respect to arc length:

K(s):=dTds.\mathbf K(s):=\frac{d\mathbf T}{ds}.

The norm of the curvature vector is the unsigned curvature:

κ(s):=∥K(s)∥.\kappa(s):=\|\mathbf K(s)\|.

Define the signed curvature as the component of the curvature vector in the left-normal direction:

κr(s):=K(s)⋅N(s)=dTds⋅N(s).\begin{aligned} \kappa_r(s) &:=\mathbf K(s)\cdot\mathbf N(s)\\[0.45em] &=\frac{d\mathbf T}{ds}\cdot\mathbf N(s). \end{aligned}

The unsigned curvature κ\kappa measures only how strongly the path bends. The signed curvature κr\kappa_r also records the turning direction: left turns are positive and right turns are negative. The orthogonal decomposition below will show that

κ=∣κr∣.\kappa=|\kappa_r|.

Figure 1 compares positive, zero, and negative signed curvature under the fixed left-normal convention and shows that the positively oriented orthonormal frame still exists at zero curvature.

(a) κᵣ > 0
TN = JTK
(b) κᵣ = 0
TN = JTK = 0
(c) κᵣ < 0
TN = JTK

Figure 1. The planar signed Frenet frame and curvature signs under a fixed left-normal convention. As the path is traversed, a left turn makes K\mathbf K and N\mathbf N point in the same direction, while a right turn makes them point in opposite directions. At κr=0\kappa_r=0, K=0\mathbf K=\mathbf 0, but N=JT\mathbf N=J\mathbf T remains defined.

The planar signed Frenet formulas

Derivation from the orthonormal frame

Derivative of the tangent

Since ∥T∥=1\|\mathbf T\|=1,

⟨T,T⟩=1.\langle\mathbf T,\mathbf T\rangle=1.

Differentiating this identity with respect to arc length ss gives

⟨dTds,T⟩=0.\left\langle \frac{d\mathbf T}{ds}, \mathbf T \right\rangle =0.

Together with K=dT/ds\mathbf K=d\mathbf T/ds, this yields

K⊥T.\mathbf K\perp\mathbf T.

Because (T,N)(\mathbf T,\mathbf N) is an orthonormal basis of the plane, K\mathbf K has the complete decomposition

K=(K⋅T)T+(K⋅N)N=κrN.\mathbf K = (\mathbf K\cdot\mathbf T)\mathbf T + (\mathbf K\cdot\mathbf N)\mathbf N = \kappa_r\mathbf N.

The last equality uses both K⋅T=0\mathbf K\cdot\mathbf T=0 and K⋅N=κr\mathbf K\cdot\mathbf N=\kappa_r. Since K=dT/ds\mathbf K=d\mathbf T/ds, the first relation is

dTds=κrN.\frac{d\mathbf T}{ds} = \kappa_r\mathbf N.

It also gives the relationship between unsigned and signed curvature:

κ=∥dTds∥=∥κrN∥=∣κr∣.\kappa = \left\| \frac{d\mathbf T}{ds} \right\| = \|\kappa_r\mathbf N\| = |\kappa_r|.

Derivative of the normal

To determine dN/dsd\mathbf N/ds, use the other two orthonormal-frame identities:

⟨N,N⟩=1,⟨T,N⟩=0.\langle\mathbf N,\mathbf N\rangle=1, \qquad \langle\mathbf T,\mathbf N\rangle=0.

Differentiating them gives

⟨dNds,N⟩=0,⟨dTds,N⟩+⟨T,dNds⟩=0.\left\langle \frac{d\mathbf N}{ds}, \mathbf N \right\rangle =0, \qquad \left\langle \frac{d\mathbf T}{ds}, \mathbf N \right\rangle + \left\langle \mathbf T, \frac{d\mathbf N}{ds} \right\rangle =0.

The first equation says that the component of dN/dsd\mathbf N/ds in the N\mathbf N direction is zero. Substitute dT/ds=κrNd\mathbf T/ds=\kappa_r\mathbf N into the second equation and use ∥N∥=1\|\mathbf N\|=1 to obtain

⟨T,dNds⟩=−κr.\left\langle \mathbf T, \frac{d\mathbf N}{ds} \right\rangle = -\kappa_r.

Thus, the component of dN/dsd\mathbf N/ds in the T\mathbf T direction is −κr-\kappa_r, while its component in the N\mathbf N direction is zero. Decomposing once more in the orthonormal basis gives

dNds=−κrT.\frac{d\mathbf N}{ds} = -\kappa_r\mathbf T.

The derivatives of both the tangent and left unit normal are now determined by the signed curvature. The standard orthogonality derivation appears in [1, §6.A, pp. 54–55].

Direct verification using the rotation operator

The second relation can also be obtained directly from N=JT\mathbf N=J\mathbf T. Since JJ is a fixed linear operator independent of ss, and two successive 90∘90^\circ rotations equal a 180∘180^\circ rotation,

J2=−I.J^2=-I.

Differentiate N=JT\mathbf N=J\mathbf T and substitute dT/ds=κrNd\mathbf T/ds=\kappa_r\mathbf N:

dNds=JdTds=κrJN=κrJ2T=−κrT.\begin{aligned} \frac{d\mathbf N}{ds} &= J\frac{d\mathbf T}{ds}\\[0.55em] &= \kappa_rJ\mathbf N\\[0.55em] &= \kappa_rJ^2\mathbf T\\[0.55em] &= -\kappa_r\mathbf T. \end{aligned}

This calculation only provides an alternative derivation of dN/dsd\mathbf N/ds. The first relation, dT/ds=κrNd\mathbf T/ds=\kappa_r\mathbf N, still follows from decomposing the curvature vector in the orthonormal frame.

Derivation from heading-angle coordinates

The same relations can be written explicitly in Cartesian coordinates. Let

r(s)=[xr(s)yr(s)],\mathbf r(s) = \begin{bmatrix} x_r(s)\\ y_r(s) \end{bmatrix},

and choose a differentiable, continuously unwrapped reference-path heading θr(s)\theta_r(s) on the parameter interval under consideration. A geometric direction is normally defined only modulo 2π2\pi, so the same direction can be represented by angles differing by 2kπ2k\pi. Continuous unwrapping means choosing an angle that changes continuously as the path is traversed, avoiding an artificial jump when it crosses the boundary between π\pi and −π-\pi. The tangent and left unit normal can then be written as

T(s)=[cos⁡θr(s)sin⁡θr(s)],N(s)=[−sin⁡θr(s)cos⁡θr(s)].\mathbf T(s) = \begin{bmatrix} \cos\theta_r(s)\\ \sin\theta_r(s) \end{bmatrix}, \qquad \mathbf N(s) = \begin{bmatrix} -\sin\theta_r(s)\\ \cos\theta_r(s) \end{bmatrix}.

In this representation, the signed curvature and tangent angle satisfy

κr(s)=dθrds.\kappa_r(s) = \frac{d\theta_r}{ds}.

Figure 2(a) shows the Cartesian components of the tangent and left unit normal. Figure 2(b) uses the turning angle between neighboring tangents to illustrate the local geometric meaning of κr=dθr/ds\kappa_r=d\theta_r/ds.

(a)
TN
(b)
T(s)T(s + Δs)

κᵣ(s) = lim Δθᵣ / Δs

Figure 2. Coordinate representation of the heading angle and its change along arc length. (a) Components of T\mathbf T and N=JT\mathbf N=J\mathbf T in a fixed Cartesian coordinate system. (b) The tangent rotation Δθr\Delta\theta_r between neighboring arc-length positions; in the limit, its ratio to Δs\Delta s gives the signed curvature.

To obtain this relation and the explicit frame derivatives, differentiate the coordinate representations of T\mathbf T and N\mathbf N:

dTds=dθrds[−sin⁡θrcos⁡θr]=κrN,dNds=dθrds[−cos⁡θr−sin⁡θr]=−κrT.\begin{aligned} \frac{d\mathbf T}{ds} &= \frac{d\theta_r}{ds} \begin{bmatrix} -\sin\theta_r\\ \cos\theta_r \end{bmatrix} = \kappa_r\mathbf N,\\[0.8em] \frac{d\mathbf N}{ds} &= \frac{d\theta_r}{ds} \begin{bmatrix} -\cos\theta_r\\ -\sin\theta_r \end{bmatrix} = -\kappa_r\mathbf T. \end{aligned}

The first line shows that the rate of change of the tangent angle with respect to arc length is precisely the signed component of the curvature vector in the left-normal direction. The second line agrees with the normal derivative obtained from orthogonality. A standard coordinate derivation of the tangent-angle representation and κr=dθr/ds\kappa_r=d\theta_r/ds appears in [2, Theorem 1.17, p. 8].

Matrix form of the Frenet formulas

Combining the orthonormal-frame derivation with the heading-angle representation gives the planar signed Frenet formulas:

[dTdsdNds]=[0κr−κr0][TN].\begin{bmatrix} \dfrac{d\mathbf T}{ds}\\[0.8em] \dfrac{d\mathbf N}{ds} \end{bmatrix} = \begin{bmatrix} 0 & \kappa_r\\ -\kappa_r & 0 \end{bmatrix} \begin{bmatrix} \mathbf T\\ \mathbf N \end{bmatrix}.

The orthonormal-frame derivation requires neither a choice of x,yx,y coordinates nor an expansion of trigonometric functions. The heading-angle representation additionally makes explicit the relation κr=dθr/ds\kappa_r=d\theta_r/ds used by the vehicle model that follows. Because a left unit normal and signed curvature are used consistently throughout, the same equations continuously describe left turns, right turns, and path points where κr=0\kappa_r=0.

Relationship to the classical principal normal

The vector N=JT\mathbf N=J\mathbf T in this article is the left unit normal under the standard orientation. It must be distinguished from the principal normal of the classical Frenet frame. The classical principal normal is defined by

Np:=T′∥T′∥,\mathbf N_{\mathrm p}:= \frac{\mathbf T'}{\|\mathbf T'\|},

so it exists only where the unsigned curvature κ=∥T′∥>0\kappa=\|\mathbf T'\|>0. When κ=0\kappa=0, T′=0\mathbf T'=\mathbf 0 and the normalization above becomes 0/0\mathbf 0/0. Geometrically, the curvature vector specifies no instantaneous bending direction at such a point. By contrast, N=JT\mathbf N=J\mathbf T depends only on the unit tangent and the fixed rotation operator JJ. Whenever the curve is regular, T\mathbf T exists, and therefore the left unit normal and the frame (T,N)(\mathbf T,\mathbf N) remain defined on straight segments and at isolated zero-curvature points. Standard conventions for arc length, oriented planar frames, and signed curvature are given in [1, §§2.D, 3.A–B, 6.A]; the failure of the classical Frenet frame at zero curvature is discussed in [3, §2.1, p. 98].

This is not a contradiction within the classical definition, but an explicit condition on its applicability: the classical construction defines a principal normal only on curve segments where κ>0\kappa>0. A general regular curve can certainly contain straight segments, but it has no classical Frenet frame there. The frame can be used separately on each connected interval in {s∈I:κ(s)>0}\{s\in I:\kappa(s)>0\} where curvature remains positive, or it can be replaced, as here, by a signed frame that does not divide by curvature.

From dT/ds=κrNd\mathbf T/ds=\kappa_r\mathbf N, at a point where κ>0\kappa>0 the principal normal and the left unit normal satisfy

Np=T′∥T′∥=κr∣κr∣N=sgn⁡(κr)N.\begin{aligned} \mathbf N_{\mathrm p} &= \frac{\mathbf T'}{\|\mathbf T'\|}\\[0.55em] &= \frac{\kappa_r}{|\kappa_r|}\mathbf N\\[0.55em] &= \operatorname{sgn}(\kappa_r)\mathbf N. \end{aligned}

Here, sgn⁡\operatorname{sgn} is the sign function:

sgn⁡(x)={1,x>0,0,x=0,−1,x<0.\operatorname{sgn}(x)= \begin{cases} 1, & x>0,\\ 0, & x=0,\\ -1, & x<0. \end{cases}

The equation concerns only points where κ>0\kappa>0, so only sgn⁡(κr)=±1\operatorname{sgn}(\kappa_r)=\pm1 occurs here. At κr=0\kappa_r=0, the classical principal normal Np\mathbf N_{\mathrm p} itself is undefined.

Thus, the two normals point in the same direction only in a left-turn region where κr>0\kappa_r>0. In a right-turn region where κr<0\kappa_r<0, the principal normal is −N-\mathbf N. At κr=0\kappa_r=0, Np\mathbf N_{\mathrm p} is no longer supplied by its defining equation, while N=JT\mathbf N=J\mathbf T is unaffected.

Example of a curvature sign change

The difficulty at zero curvature cannot always be removed by taking a limit. The following example necessarily makes the principal normal flip. Let the arc-length parameter of the path satisfy s∈[0,L]s\in[0,L], and choose s∗∈(0,L)s_{\ast}\in(0,L) in the interior. Define the unit tangent

T(s)=[cos⁡((s−s∗)2/2)sin⁡((s−s∗)2/2)].\mathbf T(s)= \begin{bmatrix} \cos\bigl((s-s_{\ast})^2/2\bigr)\\ \sin\bigl((s-s_{\ast})^2/2\bigr) \end{bmatrix}.

Its norm is always 11, so it can serve as the tangent of a unit-speed curve. For example, define

r(s):=r(0)+∫0sT(u) du.\mathbf r(s) := \mathbf r(0)+ \int_0^s \mathbf T(u)\,du.

Then r′(s)=T(s)\mathbf r'(s)=\mathbf T(s) and ∥r′(s)∥=1\|\mathbf r'(s)\|=1. In this example, the heading angle of the tangent is

θr(s)=(s−s∗)22.\theta_r(s)=\frac{(s-s_{\ast})^2}{2}.

Therefore,

N(s)=JT(s)=[−sin⁡((s−s∗)2/2)cos⁡((s−s∗)2/2)],\mathbf N(s)=J\mathbf T(s)= \begin{bmatrix} -\sin\bigl((s-s_{\ast})^2/2\bigr)\\ \cos\bigl((s-s_{\ast})^2/2\bigr) \end{bmatrix},

and

dTds=(s−s∗)[−sin⁡((s−s∗)2/2)cos⁡((s−s∗)2/2)]=(s−s∗)N(s).\frac{d\mathbf T}{ds} = (s-s_{\ast}) \begin{bmatrix} -\sin\bigl((s-s_{\ast})^2/2\bigr)\\ \cos\bigl((s-s_{\ast})^2/2\bigr) \end{bmatrix} = (s-s_{\ast})\mathbf N(s).

Comparison with dT/ds=κrNd\mathbf T/ds=\kappa_r\mathbf N gives

κr(s)=s−s∗,κ(s)=∣s−s∗∣.\kappa_r(s)=s-s_{\ast}, \qquad \kappa(s)=|s-s_{\ast}|.

The curve therefore turns right for s<s∗s<s_{\ast}, turns left for s>s∗s>s_{\ast}, and passes through an inflection point of zero curvature at the interior path position s=s∗s=s_{\ast}. For any s≠s∗s\ne s_{\ast}, the classical principal normal is

Np(s)=dT/ds∥dT/ds∥=s−s∗∣s−s∗∣N(s)={−N(s),s<s∗,N(s),s>s∗.\mathbf N_{\mathrm p}(s) = \frac{d\mathbf T/ds}{\|d\mathbf T/ds\|} = \frac{s-s_{\ast}}{|s-s_{\ast}|}\mathbf N(s) = \begin{cases} -\mathbf N(s), & s<s_{\ast},\\ \mathbf N(s), & s>s_{\ast}. \end{cases}

Since N(s∗)=(0,1)T\mathbf N(s_{\ast})=(0,1)^{\mathsf T}, the one-sided limits of the principal normal at the inflection point are

lim⁡s→s∗−Np(s)=[0−1],lim⁡s→s∗+Np(s)=[01].\lim_{s\to s_{\ast}^-}\mathbf N_{\mathrm p}(s) = \begin{bmatrix}0\\-1\end{bmatrix}, \qquad \lim_{s\to s_{\ast}^+}\mathbf N_{\mathrm p}(s) = \begin{bmatrix}0\\1\end{bmatrix}.

The two limiting directions are opposite. No value can be assigned to Np\mathbf N_{\mathrm p} at s=s∗s=s_{\ast} that makes it continuous. By contrast, N=JT\mathbf N=J\mathbf T is determined throughout by the continuous tangent and does not flip at the inflection point.

The example does not say that every isolated zero-curvature point forces a flip. It shows that the classical definition does not guarantee that the principal normal can be extended continuously across such a point. If κr\kappa_r does not change sign as it passes through zero, the two one-sided limits may happen to agree, but T′/∥T′∥\mathbf T'/\|\mathbf T'\| remains undefined at the zero itself. On an entire straight segment, T′=0\mathbf T'=0 everywhere, and the curvature vector cannot select a unique bending direction at all.

Geometric relations used by the subsequent model

The vehicle kinematics in Frenet coordinates that follows will use these reference-path relations directly:

drds=T,N=JT,dTds=κrN,dNds=−κrT,dθrds=κr.\begin{aligned} \frac{d\mathbf r}{ds} &= \mathbf T,\\[0.5em] \mathbf N &= J\mathbf T,\\[0.5em] \frac{d\mathbf T}{ds} &= \kappa_r\mathbf N,\\[0.5em] \frac{d\mathbf N}{ds} &= -\kappa_r\mathbf T,\\[0.5em] \frac{d\theta_r}{ds} &= \kappa_r. \end{aligned}

These relations consistently connect the reference path’s position, tangent, left normal, heading, and signed curvature. The following model will use this frame to define the vehicle’s longitudinal position, lateral deviation, and heading error relative to the reference path, then derive the vehicle kinematics in Frenet coordinates.

References

  1. Anton Petrunin and Sergio Zamora Barrera,

    What Is Differential Geometry? Curves and Surfaces

    , arXiv:2012.11814v7, 2025.

  2. Neil Donaldson,

    Math 162A: Introduction to Differential Geometry

    , course notes, University of California, Irvine, Winter 2024.

  3. Daniel Carroll, Emek Köse, and Ivan Sterling,

    Improving Frenet’s Frame Using Bishop’s Frame

    , Journal of Mathematics Research, vol. 5, no. 4, 2013, pp. 97–106.