Frenet Vehicle Kinematics
Defines the vehicle's Frenet state through the closest-point projection of the rear-axle center, derives a three-state time-domain model and a two-state reference-path-arc-length-domain model under the no-sideslip kinematic assumption, and explains arc-length conversion, the coordinate validity domain, and sign conventions for reversing.
- First published
- Last updated
On this page
Basic terminology and definition of the Frenet state
This article considers only vehicle kinematics: it describes how position and heading change with motion, without constructing a dynamic model of tire forces, load transfer, vehicle mass, or similar effects. The vehicle moves in a plane, and the center of its rear axle is used as the position reference point.
A state here is a set of variables that describes the vehicle’s geometric position and orientation relative to the reference path and evolves with an independent variable. An input is supplied from outside the model and determines the state derivatives. A model whose independent variable is time t is called a time-domain model. A model whose independent variable is the reference-path arc length s is called a reference-path-arc-length-domain model, or, more briefly, a spatial-domain model.
The reference path is a C2 planar curve parameterized by arc length s:
r:I⟶R2,s⟼r(s).Here, I is the range of the arc-length parameter s. Give the Cartesian plane its standard orientation and let J denote counterclockwise rotation by 90∘. The reference path’s unit tangent, left unit normal, signed curvature, and continuously unwrapped heading angle are denoted respectively by T, N, κr, and θr. The following planar signed Frenet relations are used:
T(s)dsdTκr=dsdr,=κrN,=dsdθr.N(s)dsdN=JT(s),=−κrT,The curvature sign follows the left-normal convention: when traversing the reference path in the direction of increasing s, a left turn has κr>0 and a right turn has κr<0. The complete construction of arc length, frames, standard orientation, and these formulas appears in Planar Frenet Frame. This article uses that construction as the geometric foundation of the vehicle kinematics.
Let z(t) denote the position vector of the rear-axle center in a fixed planar coordinate system, and let θ(t) be the vehicle heading angle. Define the corresponding heading unit vector by
eθ(t):=[cosθ(t)sinθ(t)].Let v(t) be the signed longitudinal velocity, positive in the eθ direction. No sideslip means that the instantaneous velocity of the rear-axle center has no component perpendicular to the vehicle’s longitudinal axis:
z˙=veθ.Thus, v>0 when driving forward, v<0 when reversing, and v=0 when stationary. The vector eθ always describes the vehicle-body orientation; the actual direction of velocity while the vehicle is moving also depends on the sign of v.
Let ℓ be the oriented arc-length coordinate of the rear-axle-center trajectory. Given an initial value ℓ(t0), define
ℓ(t)=ℓ(t0)+∫t0tv(τ)dτ,so that
dtdℓ=v.The value of ℓ increases while driving forward and decreases while reversing. It is not the monotonically increasing cumulative distance, whose increment would instead be computed from ∣v∣dt. On a trajectory segment where v=0, ℓ can serve as a local parameter. The chain rule then gives dz/dℓ=eθ, so the signed curvature of the vehicle trajectory under this orientation is defined by
κv:=dℓdθ.For a given vehicle position, the closest-point projection finds the point on the reference path that minimizes the distance to the rear-axle center. This article assumes that the projection is unique and lies in the interior of the reference-path parameter interval, so the line from the projection point to the rear-axle center is perpendicular to the path. Denote the projection point’s arc-length coordinate by s(t). Let d(t) be the signed distance from that point to the vehicle along the left unit normal N: d>0 places the vehicle to the left of the increasing-s direction, and d<0 places it to the right. Define the difference between the vehicle heading and the reference heading at the projection point by
φ(t):=θ(t)−θr(s(t)).Both θ and θr are continuously unwrapped along the trajectory segment under consideration, preventing an artificial jump in φ when an angle representation crosses the ±π boundary. The time-domain model uses time t as its independent variable and (s,d,φ) as its state. The reference-path-arc-length-domain, or spatial-domain, model instead uses s as its independent variable and therefore requires only (d,φ) as its state. Figure 1 shows the geometric relationship among these quantities. The vectors T(s) and N(s) are the Frenet basis vectors at the projection point; the purple bidirectional dimension line is the lateral deviation d from the reference path to the rear-axle center; and the arrow eθ at the rear-axle center is the vehicle heading unit vector.
Figure 1. Geometric definition of the vehicle Frenet state. The blue point is the vehicle’s projection onto the reference path, and T(s) and N(s) are the tangent and left-normal basis vectors at that point. The rear-axle center satisfies z=r(s)+dN(s); the purple bidirectional dimension line denotes the lateral deviation d, and eθ is the vehicle heading unit vector.
Time-domain Frenet kinematics
Position-coordinate kinematics
From the normal-coordinate representation in Figure 1, the vehicle position is
z(t)=r(s(t))+d(t)N(s(t)).(1)Differentiate Equation (1) with respect to time t, using dr/ds=T and dN/ds=−κrT:
z˙=dsdrs˙+d˙N+ddsdNs˙=Ts˙+d˙N−dκrTs˙=(1−dκr)s˙T+d˙N.Here and below, any T, N, and κr without an explicit argument are evaluated at the projection point s(t). The no-sideslip assumption gives z˙=veθ. This relation remains valid for both v>0 while driving forward and v<0 while reversing. Since (T,N) is an orthonormal basis, eθ can be expanded by its orthogonal projections onto the two basis directions:
eθ=⟨eθ,T⟩T+⟨eθ,N⟩N.Substituting
T=[cosθrsinθr],N=[−sinθrcosθr]into the projection coefficients gives
⟨eθ,T⟩⟨eθ,N⟩=cosθcosθr+sinθsinθr=cos(θ−θr)=cosφ,=−cosθsinθr+sinθcosθr=sin(θ−θr)=sinφ.Therefore, the vehicle heading unit vector has the following representation in the Frenet frame:
eθ=cosφT+sinφN.The vehicle velocity is consequently
z˙=veθ=vcosφT+vsinφN.Using the same Frenet frame and the same resultant velocity vector, Figure 2 separately shows the two components obtained by differentiating the position coordinates and by expressing the no-sideslip velocity. Placing them side by side makes the subsequent coefficient comparison a direct geometric correspondence.
Figure 2. Two decompositions of the same vehicle velocity vector in the same Frenet frame. (a) Differentiating the position coordinates gives the tangential component (1−dκr)s˙T and normal component d˙N. (b) The no-sideslip constraint gives the tangential component vcosφT and normal component vsinφN. Because decomposition in an orthonormal basis is unique, the scalar coefficients of corresponding components must be equal.
Equating the coefficients of the same velocity vector in the basis (T,N) gives
(1−dκr)s˙=vcosφ,d˙=vsinφ.When 1−dκr=0, the time-domain position kinematics are
s˙=1−dκrvcosφ,d˙=vsinφ.The normal coordinates and velocity decomposition of Equation (1) appear in [1, §2.1–2.2, Eqs. (14)–(20)], and an equivalent position representation appears in [2, §3.1, Eq. (1)]. The longitudinal and lateral state equations under the same coordinate convention appear in [3, §4.3, Eqs. (4.33a)–(4.33b)].
Heading-error kinematics
The heading error is defined by
φ(t)=θ(t)−θr(s(t)).Apply the chain rule with respect to time and substitute κr=dθr/ds:
φ˙=θ˙−dsdθrs˙=θ˙−κrs˙.On an interval where v=0, using κv=dθ/dℓ and dℓ/dt=v gives
θ˙=dℓdθdtdℓ=vκv.When v=0, ℓ cannot locally replace t as a parameter at that instant. If the curvature input κv is bounded, however, the kinematic relation θ˙=vκv extends continuously to the stationary state, where θ˙=0.
The heading-error kinematics are therefore
φ˙=vκv−κrs˙.Three-state time-domain model
Combining the heading-error kinematics with the position-coordinate kinematics gives the three-state time-domain model for (s,d,φ):
s˙d˙φ˙=1−dκrvcosφ,=vsinφ,=vκv−s˙κr=v(κv−1−dκrκrcosφ).(2)Here, κr=κr(s) is determined by the reference path. The signed longitudinal velocity v and vehicle-trajectory curvature κv are treated as inputs to the kinematic model. In a particular steering model, κv is normally determined in turn by the steering geometry. Model validity requires both a unique closest-point projection and 1−dκr=0. The former gives the vehicle position a unique (s,d) representation, while the latter is the local regularity condition that prevents the normal-coordinate map from degenerating in the tangential direction. The region satisfying both conditions is called the Frenet-coordinate validity domain here. A standard Frenet vehicle model corresponding to Equation (2) appears in [3, §4.3, Eq. (4.41)].
Reversing in the time-domain model
Equation (2) applies to reversing without a separate derivation. The time-domain derivation already defines v as the signed longitudinal velocity positive along the heading unit vector eθ and uses the same no-sideslip kinematics:
z˙=veθ,θ˙=vκv.Neither relation requires v>0. When driving forward, v>0 and the velocity vector z˙ points in the same direction as eθ. When reversing, v<0 and z˙ points in the opposite direction. Differentiating the position-coordinate relation (1) with respect to time, comparing components in the Frenet frame, and applying the chain rule to the heading error are all independent of the sign of v. The same three-state model therefore remains valid in reverse.
Let sgn(x) denote the sign function, whose value is respectively 1, 0, or −1 when x>0, x=0, or x<0. From Equation (2), the direction of change of the reference-path arc-length coordinate generally satisfies
sgn(s˙)=sgn(v)sgn(1−dκrcosφ).In the usual Frenet tracking region where 1−dκr>0 and ∣φ∣<π/2, forward motion has s˙>0 and reversing has s˙<0. More generally, the sign must be determined from the equation above; “reversing” alone does not determine the sign of s˙ independently of φ and 1−dκr.
For a strict comparison, fix the same state (s,d,φ), the same vehicle curvature κv, and the same speed magnitude u>0, changing only the longitudinal velocity from forward v=u to reverse v=−u:
| Quantity | Forward: v=u | Reverse: v=−u | Definition or model changed? |
|---|---|---|---|
| Vehicle velocity z˙ | ueθ | −ueθ | No-sideslip relation unchanged |
| Oriented arc-length rate dℓ/dt | u | −u | Always dℓ/dt=v |
| Reference-path coordinate rate s˙ | 1−dκrucosφ | −1−dκrucosφ | Determined by the same state equation |
| Lateral-deviation rate d˙ | usinφ | −usinφ | Definition of d unchanged |
| Heading rate θ˙ | uκv | −uκv | κv is not artificially negated |
| Heading-error rate φ˙ | u(κv−1−dκrκrcosφ) | −u(κv−1−dκrκrcosφ) | Definition of φ unchanged |
| Reference curvature κr and vehicle curvature κv | Existing sign conventions | Same sign conventions | Neither is modified |
| Equation (2) | Original equations | Original equations | Completely unchanged |
Under these comparison conditions, changing only the sign of v reverses all three state derivatives in Equation (2). Time t continues to advance in its positive direction. Unlike reversing in the reference-path-arc-length-domain model, time-domain reversing is represented by v<0, not by integrating time backward. When stationary, v=0, and Equation (2) gives s˙=d˙=φ˙=0.
Reference-path-arc-length-domain Frenet kinematics
This section constructs the model directly from the arc-length-parameterized position-coordinate relation and heading-error relation. It neither invokes the time-domain state equations nor uses time derivatives.
Oriented arc-length coordinate of the vehicle trajectory
The variable s is the arc-length coordinate of the projection point on the reference path. The variable ℓ is the oriented arc-length coordinate of the rear-axle-center trajectory, positive along the vehicle heading unit vector eθ. On a nonstationary trajectory segment where the Frenet coordinates are valid, s and d can both be treated as functions of ℓ, so Equation (1) becomes
z(ℓ)=r(s(ℓ))+d(ℓ)N(s(ℓ)).Differentiate directly with respect to ℓ:
dℓdz=dsdrdℓds+dℓddN+ddsdNdℓds=Tdℓds+dℓddN+ddsdNdℓds.From the Frenet relation dN/ds=−κrT and ⟨T,N⟩=0,
⟨dsdN,N⟩=−κr⟨T,N⟩=0.Project the position derivative onto N and use ⟨T,N⟩=0 and ⟨N,N⟩=1:
⟨dℓdz,N⟩=dℓdd.By the orientation of ℓ and the no-sideslip constraint, the unit tangent of the vehicle trajectory with respect to ℓ is the heading unit vector:
dℓdz=eθ=cosφT+sinφN.Its normal component is
⟨dℓdz,N⟩=sinφ.Equating the same normal component gives
dℓdd=sinφ=sin(θ−θr).This result follows directly from the position relation parameterized by ℓ and is not inferred backward from time derivatives. Reference-path curvature does not appear explicitly because the projection of dN/ds=−κrT onto the N direction is zero. General regularity of the closest-point map within a tubular neighborhood is discussed in [4, §2.1, Eq. (4), Proposition 2 and Theorem 3].
Local relationship between reference-path and vehicle-trajectory arc lengths
Substituting dN/ds=−κrT into the position derivative from the previous subsection gives
dℓdz=(1−dκr)dℓdsT+dℓddN.At the same time, the vehicle-trajectory unit tangent with respect to oriented arc length ℓ is
dℓdz=cosφT+sinφN.Equating tangential components gives
(1−dκr)dℓds=cosφ.When 1−dκr=0 and cosφ=0, this equation gives ds/dℓ=0, so s and ℓ are locally interchangeable parameters. “Locally interchangeable” means that, near the current point, the same vehicle-trajectory segment can be described using either s or ℓ, with a differentiable local inverse transformation between them. Their local arc-length relationship is
dsdℓ=cosφ1−dκr.(3)The inverse relation is
dℓds=1−dκrcosφ.For an interactive examination of how d, κr, and φ jointly affect the local arc-length relationship in Equation (3), together with the Frenet geometric configurations corresponding to degeneration of the coordinate map and failure of the parameterization, see Frenet Arc-Length Conversion.
Lateral-deviation equation
On an interval where ds/dℓ=0, the chain rule gives
dℓdd=dsdddℓds.Substituting dd/dℓ=sinφ and the inverse of Equation (3) yields
dsdd=cosφ/(1−dκr)sinφ=(1−dκr)tanφ.The relation dd/dℓ=sinφ contains no explicit reference-path curvature because it describes normal displacement per unit oriented vehicle-trajectory arc length. By contrast, dd/ds explicitly contains κr, because changing the independent variable to the reference-path arc-length coordinate requires the inverse of Equation (3) for the scale conversion.
Heading-error equation
Under the conditions for Equation (3), s and ℓ are locally interchangeable parameters. Along the same vehicle trajectory, write the heading error directly as
φ(s)=θ(ℓ(s))−θr(s).Differentiate with respect to reference-path arc length s, using κv=dθ/dℓ, κr=dθr/ds, and Equation (3):
dsdφ=dℓdθdsdℓ−dsdθr=κvcosφ1−dκr−κr.The first term is the rate of change of vehicle heading per unit reference-path arc length, while the second term, κr=dθr/ds, is the rate of change of reference heading under the same independent variable.
Two-state reference-path-arc-length-domain model
Combining the lateral-deviation and heading-error equations gives the spatial-domain model with independent variable s and state (d,φ):
dsdddsdφ=(1−dκr)tanφ,=cosφ(1−dκr)κv−κr.(4)Here, κr=κr(s) is determined by the reference path, and κv is the vehicle-trajectory curvature input. Equation (4) follows entirely from arc-length-parameterized geometric relations and does not depend on the time-domain model. In addition to a unique closest-point projection and 1−dκr=0, it requires cosφ=0. Otherwise, ds/dℓ=0, and the reference-path arc-length coordinate s cannot serve as a local independent variable of the vehicle trajectory at that point.
Reversing in the arc-length-domain model
Equation (4) also applies to reversing without a separate derivation. The reason is that the preceding derivation uses the oriented arc-length coordinate ℓ, positive along the vehicle heading unit vector, and relies only on the no-sideslip geometric differential relations
dz=eθdℓ,dθ=κvdℓ.Neither relation requires dℓ>0. For forward motion, dℓ>0 and the displacement dz points with eθ. For reverse motion, dℓ<0 and dz points against eθ, while dz/dℓ=eθ remains true. The component comparison of the position differential, arc-length conversion, and chain rule are therefore unchanged in reverse, yielding the same two-state model.
The inverse of Equation (3) gives
dℓds=1−dκrcosφ.In general, the signs of ds and dℓ are related by
sgn(ds)=sgn(dℓ)sgn(1−dκrcosφ).In the usual Frenet tracking region where 1−dκr>0 and ∣φ∣<π/2, ds/dℓ>0, so forward motion has ds>0 and reverse motion has ds<0. Given the same vehicle-curvature function κv(s) and the same initial state, the same spatial-domain equations determine the same (d,φ) state curve for forward and reverse motion; the curve is simply traversed in opposite directions of s. The right-hand side of Equation (4) requires no modification.
Within this usual tracking region, while keeping the same state, initial condition, and curvature input, the quantities correspond as follows:
| Quantity | Forward | Reverse | Definition or model changed? |
|---|---|---|---|
| Oriented vehicle-trajectory arc-length increment dℓ | dℓ>0 | dℓ<0 | Definition unchanged |
| Vehicle displacement dz=eθdℓ | Same direction as eθ | Opposite direction to eθ | Geometric relation unchanged |
| Reference-path arc-length increment ds | ds>0 | ds<0 | Determined by Equation (3) |
| Heading increment dθ=κvdℓ | Accumulates along positive arc length | Increment direction reverses for the same κv | κv is not artificially negated |
| States d, φ | Evolve forward in s | Evolve backward in s | State definitions unchanged and not pre-negated |
| Reference curvature κr and vehicle curvature κv | Existing sign conventions | Same sign conventions | Neither is modified |
| Two right-hand sides of Equation (4) | Original form | Original form | Completely unchanged |
Accordingly, when solving directly in s within this usual tracking region, forward motion integrates from a smaller s to a larger s, while reverse motion integrates from a larger s to a smaller s. On a reversing segment beginning at sstart with monotonically decreasing s, a numerical implementation may define an increasing progress variable σ=sstart−s. Since d/dσ=−d/ds, both state-equation right-hand sides then acquire an overall factor of −1. This is a consequence of changing the independent variable, not a modification of Equation (4) caused by reversing.
References
Jan Eilbrecht and Olaf Stursberg,
Challenges of Trajectory Planning with Integrator Models on Curved Roads
, IFAC-PapersOnLine, 53(2), 2020, doi: 10.1016/j.ifacol.2020.12.2492, §2.1–2.2, Eqs. (14)–(20). This reference is used to verify the Frenet position coordinates, velocity decomposition, and time-domain state equations.
Keisuke Yoneda et al.,
Trajectory Optimization and State Selection for Urban Automated Driving
, Artificial Life and Robotics, 23, 474–480, 2018, §3.1, Eq. (1). This reference is used to verify the normal-coordinate position representation z=r(s)+dN(s).
Oskar Ljungqvist,
Motion Planning and Feedback Control Techniques with Applications to Long Tractor-Trailer Vehicles
, Linköping Studies in Science and Technology, Dissertation No. 2070, Linköping University, 2020, doi: 10.3384/diss.diva-165246, §4.3. This reference is used to verify the regular domain of Frenet coordinates and the three-state vehicle-kinematics model.
Catherine Kublik and Richard Tsai,
Integration over Curves and Surfaces Defined by the Closest Point Mapping
, Research in the Mathematical Sciences, 3, Article 3, 2016, doi: 10.1186/s40687-016-0053-1, §2.1, Eq. (4), Proposition 2 and Theorem 3. This reference supplies the general regularity background for the closest-point map and its tubular neighborhood.