基本术语与 Frenet 状态定义
本文只讨论车辆的运动学 :描述位置和航向如何随运动变化,不建立轮胎力、载荷转移或车辆质量等动力学模型。车辆在平面内运动,并以后轴中心作为位置参考点。
本文所说的状态 ,是描述车辆相对于参考路径的几何位置与朝向、并随自变量演化的一组变量;输入 是由模型外部给定、用于决定状态变化率的量。以时间 t t t 为自变量的模型称为时间域模型 ,以参考路径弧长 s s s 为自变量的模型称为参考路径弧长域模型 ,也常简称为空间域模型。
参考路径是一条以弧长 s s s 参数化的 C 2 C^2 C 2 平面曲线
r : I ⟶ R 2 , s ⟼ r ( s ) . \mathbf r:I\longrightarrow\mathbb R^2,
\qquad
s\longmapsto\mathbf r(s). r : I ⟶ R 2 , s ⟼ r ( s ) .
这里 I I I 是弧长参数 s s s 的取值区间。采用直角坐标平面的标准定向,令 J J J 表示逆时针旋转 90 ∘ 90^\circ 9 0 ∘ 的线性算子。参考路径的单位切向量、左单位法向量、有符号曲率与连续展开的参考航向角分别记为 T \mathbf T T 、N \mathbf N N 、κ r \kappa_r κ r 与 θ r \theta_r θ r 。本文使用下列平面有符号 Frenet 关系:
T ( s ) = d r d s , N ( s ) = J T ( s ) , d T d s = κ r N , d N d s = − κ r T , κ r = d θ r d s . \begin{aligned}
\mathbf T(s)
&=
\frac{d\mathbf r}{ds},&
\mathbf N(s)
&=
J\mathbf T(s),\\[0.6em]
\frac{d\mathbf T}{ds}
&=
\kappa_r\mathbf N,&
\frac{d\mathbf N}{ds}
&=
-\kappa_r\mathbf T,\\[0.6em]
\kappa_r
&=
\frac{d\theta_r}{ds}.
\end{aligned} T ( s ) d s d T κ r = d s d r , = κ r N , = d s d θ r . N ( s ) d s d N = J T ( s ) , = − κ r T ,
曲率符号与左法向约定保持一致:沿 s s s 增大的方向经过参考路径时,左转对应 κ r > 0 \kappa_r>0 κ r > 0 ,右转对应 κ r < 0 \kappa_r<0 κ r < 0 。弧长参数、标架、标准定向和上述公式的完整构造见 《平面曲线的有符号 Frenet 标架》 ;本文只将其作为车辆运动学的几何基础。
z ( t ) \mathbf z(t) z ( t ) 表示车辆后轴中心在固定平面坐标系中的位置向量,车辆航向角记为 θ ( t ) \theta(t) θ ( t ) ,相应的航向单位向量定义为
e θ ( t ) : = [ cos θ ( t ) sin θ ( t ) ] . \mathbf e_\theta(t):=
\begin{bmatrix}
\cos\theta(t)\\
\sin\theta(t)
\end{bmatrix}. e θ ( t ) := [ cos θ ( t ) sin θ ( t ) ] .
沿 e θ \mathbf e_\theta e θ 方向取正的有符号纵向速度记为 v ( t ) v(t) v ( t ) 。无侧滑 是指后轴中心的瞬时速度没有垂直于车身纵轴的分量,即
z ˙ = v e θ . \dot{\mathbf z}=v\mathbf e_\theta. z ˙ = v e θ .
前进时 v > 0 v>0 v > 0 ,倒车时 v < 0 v<0 v < 0 ,停车时 v = 0 v=0 v = 0 。因此 e θ \mathbf e_\theta e θ 始终描述车身朝向;车辆运动时的实际速度方向还取决于 v v v 的符号。
以 ℓ \ell ℓ 表示后轴中心轨迹的有向弧长坐标 。给定初值 ℓ ( t 0 ) \ell(t_0) ℓ ( t 0 ) 后,它定义为
ℓ ( t ) = ℓ ( t 0 ) + ∫ t 0 t v ( τ ) d τ , \ell(t)=\ell(t_0)+\int_{t_0}^{t}v(\tau)\,d\tau, ℓ ( t ) = ℓ ( t 0 ) + ∫ t 0 t v ( τ ) d τ ,
因而
d ℓ d t = v . \frac{d\ell}{dt}=v. d t d ℓ = v .
前进时 ℓ \ell ℓ 增大,倒车时 ℓ \ell ℓ 减小。它不是只增不减的累计路程;后者的增量应由 ∣ v ∣ d t |v|\,dt ∣ v ∣ d t 计算。在 v ≠ 0 v\ne0 v = 0 的轨迹段上,ℓ \ell ℓ 可作为局部参数,链式法则给出 d z / d ℓ = e θ d\mathbf z/d\ell=\mathbf e_\theta d z / d ℓ = e θ ,因此车辆轨迹相对于这一取向的有符号曲率定义为
κ v : = d θ d ℓ . \kappa_v
:=
\frac{d\theta}{d\ell}. κ v := d ℓ d θ .
对给定的车辆位置,最近点投影 是在参考路径上寻找与后轴中心距离最小的点。本文假设该投影点唯一并位于参考路径参数区间的内部,因此后轴中心与投影点的连线垂直于参考路径。投影点的弧长坐标记为 s ( t ) s(t) s ( t ) ;从投影点沿左单位法向量 N \mathbf N N 测得的有符号距离记为横向偏差 d ( t ) d(t) d ( t ) ,其中 d > 0 d>0 d > 0 表示车辆位于参考路径 s s s 增大方向的左侧,d < 0 d<0 d < 0 表示位于右侧。车辆航向角与投影点处参考航向角之差定义为
φ ( t ) : = θ ( t ) − θ r ( s ( t ) ) . \varphi(t)
:=
\theta(t)-\theta_r\bigl(s(t)\bigr). φ ( t ) := θ ( t ) − θ r ( s ( t ) ) .
这里的 θ \theta θ 与 θ r \theta_r θ r 都取沿所讨论轨迹段连续展开的角度值,使 φ \varphi φ 在跨越 ± π \pm\pi ± π 的表示边界时不发生人为跳变。时间域模型以时间 t t t 为自变量、以 ( s , d , φ ) (s,d,\varphi) ( s , d , φ ) 为状态;参考路径弧长域模型也称空间域模型,它改用 s s s 作为自变量,因此只需以 ( d , φ ) (d,\varphi) ( d , φ ) 为状态。图 1 表示这些量之间的几何关系:T ( s ) \mathbf T(s) T ( s ) 与 N ( s ) \mathbf N(s) N ( s ) 是投影点处的 Frenet 基向量,紫色双向尺寸线表示从参考路径到后轴中心的横向偏差 d d d ,后轴中心处的箭头 e θ \mathbf e_\theta e θ 表示车辆航向单位向量。
图 1. 车辆 Frenet 状态的几何定义。蓝点是车辆在参考路径上的投影点,T ( s ) \mathbf
T(s) T ( s ) 与 N ( s ) \mathbf N(s) N ( s ) 是该点处的切向和左法向基向量;后轴中心满足 z = r ( s ) + d N ( s ) \mathbf z=\mathbf
r(s)+d\mathbf N(s) z = r ( s ) + d N ( s ) ,紫色双向尺寸线表示横向偏差 d d d ,e θ \mathbf e_\theta e θ 表示车辆航向单位向量。
时间域 Frenet 运动学
位置坐标运动学
根据图 1 中的法向坐标表示,车辆位置为
z ( t ) = r ( s ( t ) ) + d ( t ) N ( s ( t ) ) . (1) \mathbf z(t) =
\mathbf r\bigl(s(t)\bigr)
+
d(t)\mathbf N\bigl(s(t)\bigr).
\tag{1} z ( t ) = r ( s ( t ) ) + d ( t ) N ( s ( t ) ) . ( 1 )
对式 (1) 关于时间 t t t 求导,并使用 d r / d s = T d\mathbf r/ds=\mathbf T d r / d s = T 与 d N / d s = − κ r T d\mathbf N/ds=-\kappa_r\mathbf T d N / d s = − κ r T :
z ˙ = d r d s s ˙ + d ˙ N + d d N d s s ˙ = T s ˙ + d ˙ N − d κ r T s ˙ = ( 1 − d κ r ) s ˙ T + d ˙ N . \begin{aligned}
\dot{\mathbf z}
&=
\frac{d\mathbf r}{ds}\dot s
+
\dot d\,\mathbf N
+
d\,\frac{d\mathbf N}{ds}\dot s\\[0.6em]
&=
\mathbf T\dot s
+
\dot d\,\mathbf N -
d\kappa_r\mathbf T\dot s\\[0.6em]
&=
(1-d\kappa_r)\dot s\,\mathbf T
+
\dot d\,\mathbf N.
\end{aligned} z ˙ = d s d r s ˙ + d ˙ N + d d s d N s ˙ = T s ˙ + d ˙ N − d κ r T s ˙ = ( 1 − d κ r ) s ˙ T + d ˙ N .
这里及下文未显式写出的 T \mathbf T T 、N \mathbf N N 与 κ r \kappa_r κ r 均在投影点 s ( t ) s(t) s ( t ) 处取值。无侧滑假设给出 z ˙ = v e θ \dot{\mathbf z}=v\mathbf e_\theta z ˙ = v e θ ;前进时 v > 0 v>0 v > 0 ,倒车时 v < 0 v<0 v < 0 ,这一关系保持不变。由于 ( T , N ) (\mathbf T,\mathbf N) ( T , N ) 是一组正交归一基,e θ \mathbf e_\theta e θ 可按它在两个基向量方向上的正交投影展开:
e θ = ⟨ e θ , T ⟩ T + ⟨ e θ , N ⟩ N . \mathbf e_\theta =
\langle\mathbf e_\theta,\mathbf T\rangle\mathbf T
+
\langle\mathbf e_\theta,\mathbf N\rangle\mathbf N. e θ = ⟨ e θ , T ⟩ T + ⟨ e θ , N ⟩ N .
将
T = [ cos θ r sin θ r ] , N = [ − sin θ r cos θ r ] \mathbf T =
\begin{bmatrix}
\cos\theta_r\\
\sin\theta_r
\end{bmatrix},
\qquad
\mathbf N =
\begin{bmatrix}
-\sin\theta_r\\
\cos\theta_r
\end{bmatrix} T = [ cos θ r sin θ r ] , N = [ − sin θ r cos θ r ]
代入两个投影系数,得到
⟨ e θ , T ⟩ = cos θ cos θ r + sin θ sin θ r = cos ( θ − θ r ) = cos φ , ⟨ e θ , N ⟩ = − cos θ sin θ r + sin θ cos θ r = sin ( θ − θ r ) = sin φ . \begin{aligned}
\langle\mathbf e_\theta,\mathbf T\rangle
&=
\cos\theta\cos\theta_r
+
\sin\theta\sin\theta_r\\
&=
\cos(\theta-\theta_r) =
\cos\varphi,\\[0.7em]
\langle\mathbf e_\theta,\mathbf N\rangle
&=
-\cos\theta\sin\theta_r
+
\sin\theta\cos\theta_r\\
&=
\sin(\theta-\theta_r) =
\sin\varphi.
\end{aligned} ⟨ e θ , T ⟩ ⟨ e θ , N ⟩ = cos θ cos θ r + sin θ sin θ r = cos ( θ − θ r ) = cos φ , = − cos θ sin θ r + sin θ cos θ r = sin ( θ − θ r ) = sin φ .
因此,车辆航向单位向量在 Frenet 标架中的表示为
e θ = cos φ T + sin φ N . \mathbf e_\theta =
\cos\varphi\,\mathbf T
+
\sin\varphi\,\mathbf N. e θ = cos φ T + sin φ N .
车辆速度由此写成
z ˙ = v e θ = v cos φ T + v sin φ N . \dot{\mathbf z} =
v\mathbf e_\theta =
v\cos\varphi\,\mathbf T
+
v\sin\varphi\,\mathbf N. z ˙ = v e θ = v cos φ T + v sin φ N .
图 2 在相同的 Frenet 标架和相同的合速度箭头下,分别画出位置坐标求导与无侧滑速度表示所给出的两个分量。这样的并列使后续的系数比较成为直接的图形对应。
图 2. 同一车辆速度向量在同一 Frenet
标架中的两种分解。(a)对位置坐标求导得到切向分量 ( 1 − d κ r ) s ˙ T (1-d\kappa_r)\dot s\,\mathbf T ( 1 − d κ r ) s ˙ T 与法向分量
d ˙ N \dot d\,\mathbf N d ˙ N ;(b)无侧滑约束得到切向分量 v cos φ T v\cos\varphi\,\mathbf T v cos φ T 与法向分量
v sin φ N v\sin\varphi\,\mathbf N v sin φ N 。由于标准正交基下的分解唯一,对应分量的标量系数必须分别相等。
比较同一速度向量在基 ( T , N ) (\mathbf T,\mathbf N) ( T , N ) 下的系数,得到
( 1 − d κ r ) s ˙ = v cos φ , d ˙ = v sin φ . (1-d\kappa_r)\dot s =
v\cos\varphi,
\qquad
\dot d =
v\sin\varphi. ( 1 − d κ r ) s ˙ = v cos φ , d ˙ = v sin φ .
当 1 − d κ r ≠ 0 1-d\kappa_r\ne0 1 − d κ r = 0 时,时间域位置运动学为
s ˙ = v cos φ 1 − d κ r , d ˙ = v sin φ . \dot s =
\frac{v\cos\varphi}{1-d\kappa_r},
\qquad
\dot d =
v\sin\varphi. s ˙ = 1 − d κ r v cos φ , d ˙ = v sin φ .
式 (1) 的法向坐标与速度分解见 [1, §2.1–2.2, Eqs. (14)–(20)] ,等价的位置表示见 [2, §3.1, Eq. (1)] ;相同坐标约定下的纵向与横向状态方程见 [3, §4.3, Eqs. (4.33a)–(4.33b)] 。
航向误差运动学
航向误差定义为
φ ( t ) = θ ( t ) − θ r ( s ( t ) ) . \varphi(t) =
\theta(t) -
\theta_r\bigl(s(t)\bigr). φ ( t ) = θ ( t ) − θ r ( s ( t ) ) .
关于时间使用链式法则,并代入 κ r = d θ r / d s \kappa_r=d\theta_r/ds κ r = d θ r / d s :
φ ˙ = θ ˙ − d θ r d s s ˙ = θ ˙ − κ r s ˙ . \begin{aligned}
\dot\varphi
&=
\dot\theta -
\frac{d\theta_r}{ds}\dot s\\[0.6em]
&=
\dot\theta -
\kappa_r\dot s.
\end{aligned} φ ˙ = θ ˙ − d s d θ r s ˙ = θ ˙ − κ r s ˙ .
在 v ≠ 0 v\ne0 v = 0 的运动区间,由 κ v = d θ / d ℓ \kappa_v=d\theta/d\ell κ v = d θ / d ℓ 以及 d ℓ / d t = v d\ell/dt=v d ℓ / d t = v ,
θ ˙ = d θ d ℓ d ℓ d t = v κ v . \begin{aligned}
\dot\theta
&=
\frac{d\theta}{d\ell}\frac{d\ell}{dt}\\[0.6em]
&=
v\kappa_v.
\end{aligned} θ ˙ = d ℓ d θ d t d ℓ = v κ v .
当 v = 0 v=0 v = 0 时,ℓ \ell ℓ 不能在该时刻作为 t t t 的局部替代参数;若曲率输入 κ v \kappa_v κ v 有界,运动学关系 θ ˙ = v κ v \dot\theta=v\kappa_v θ ˙ = v κ v 可连续延拓到停车状态,此时 θ ˙ = 0 \dot\theta=0 θ ˙ = 0 。
因此航向误差运动学为
φ ˙ = v κ v − κ r s ˙ . \dot\varphi =
v\kappa_v -
\kappa_r\dot s. φ ˙ = v κ v − κ r s ˙ .
三状态时间域模型
将航向误差运动学与位置坐标运动学合并,得到状态 ( s , d , φ ) (s,d,\varphi) ( s , d , φ ) 的三状态时间域模型:
s ˙ = v cos φ 1 − d κ r , d ˙ = v sin φ , φ ˙ = v κ v − s ˙ κ r = v ( κ v − κ r cos φ 1 − d κ r ) . (2) \begin{aligned}
\dot s
&=
\frac{v\cos\varphi}{1-d\kappa_r},\\[0.65em]
\dot d
&=
v\sin\varphi,\\[0.65em]
\dot\varphi
&=
v\kappa_v -
\dot s\,\kappa_r\\[0.65em]
&=
v\left(
\kappa_v-\frac{\kappa_r\cos\varphi}{1-d\kappa_r}
\right).
\end{aligned}
\tag{2} s ˙ d ˙ φ ˙ = 1 − d κ r v cos φ , = v sin φ , = v κ v − s ˙ κ r = v ( κ v − 1 − d κ r κ r cos φ ) . ( 2 )
这里 κ r = κ r ( s ) \kappa_r=\kappa_r(s) κ r = κ r ( s ) 由参考路径给定。本文把有符号纵向速度 v v v 与车辆轨迹曲率 κ v \kappa_v κ v 作为运动学模型的输入;在具体的转向模型中,κ v \kappa_v κ v 通常再由转向几何确定。模型有效要求最近点投影唯一且 1 − d κ r ≠ 0 1-d\kappa_r\ne0 1 − d κ r = 0 :前者使车辆位置对应唯一的 ( s , d ) (s,d) ( s , d ) ,后者是法向坐标映射在切向方向上不退化的局部正则条件。本文将同时满足这些条件的区域称为 Frenet 坐标有效域。与式 (2) 对应的标准 Frenet 车辆模型见 [3, §4.3, Eq. (4.41)] 。
时间域模型中的倒车
式 (2) 同样适用于倒车,无须针对倒车重新推导。前述时间域推导已经把 v v v 定义为沿航向单位向量 e θ \mathbf e_\theta e θ 取正的有符号纵向速度,并使用统一的无侧滑运动学关系
z ˙ = v e θ , θ ˙ = v κ v . \dot{\mathbf z}=v\mathbf e_\theta,
\qquad
\dot\theta=v\kappa_v. z ˙ = v e θ , θ ˙ = v κ v .
这两个关系没有要求 v > 0 v>0 v > 0 。前进时 v > 0 v>0 v > 0 ,速度向量 z ˙ \dot{\mathbf z} z ˙ 与车辆航向单位向量 e θ \mathbf e_\theta e θ 同向;倒车时 v < 0 v<0 v < 0 ,z ˙ \dot{\mathbf z} z ˙ 与 e θ \mathbf e_\theta e θ 反向。位置坐标关系 (1) 对时间求导、在 Frenet 标架中比较分量以及对航向误差使用链式法则的过程都不依赖 v v v 的正负,因此倒车时仍然得到同一个三状态模型。
记 sgn ( x ) \operatorname{sgn}(x) sgn ( x ) 为符号函数:x > 0 x>0 x > 0 、x = 0 x=0 x = 0 与 x < 0 x<0 x < 0 时,其值分别为 1 1 1 、0 0 0 与 − 1 -1 − 1 。由式 (2),参考路径弧长坐标的变化方向一般满足
sgn ( s ˙ ) = sgn ( v ) sgn ( cos φ 1 − d κ r ) . \operatorname{sgn}(\dot s)=
\operatorname{sgn}(v)
\operatorname{sgn}\!\left(\frac{\cos\varphi}{1-d\kappa_r}\right). sgn ( s ˙ ) = sgn ( v ) sgn ( 1 − d κ r cos φ ) .
在通常的 Frenet 跟踪区域 1 − d κ r > 0 1-d\kappa_r>0 1 − d κ r > 0 且 ∣ φ ∣ < π / 2 |\varphi|<\pi/2 ∣ φ ∣ < π /2 内,前进对应 s ˙ > 0 \dot s>0 s ˙ > 0 ,倒车对应 s ˙ < 0 \dot s<0 s ˙ < 0 。更一般的情形应直接由上式判断,不能脱离 φ \varphi φ 和 1 − d κ r 1-d\kappa_r 1 − d κ r 的符号仅凭“倒车”断定 s ˙ \dot s s ˙ 的符号。
为进行严格对比,固定同一状态 ( s , d , φ ) (s,d,\varphi) ( s , d , φ ) 、同一车辆曲率 κ v \kappa_v κ v 和同一速度大小 u > 0 u>0 u > 0 ,只把纵向速度从前进的 v = u v=u v = u 改为倒车的 v = − u v=-u v = − u 。各量的变化如下:
量 前进:v = u v=u v = u 倒车:v = − u v=-u v = − u 定义或模型是否改变 车辆速度 z ˙ \dot{\mathbf z} z ˙ u e θ u\mathbf e_\theta u e θ − u e θ -u\mathbf e_\theta − u e θ 无侧滑关系不变 有向弧长变化率 d ℓ / d t d\ell/dt d ℓ / d t u u u − u -u − u 始终有 d ℓ / d t = v d\ell/dt=v d ℓ / d t = v 参考路径坐标变化率 s ˙ \dot s s ˙ u cos φ 1 − d κ r \dfrac{u\cos\varphi}{1-d\kappa_r} 1 − d κ r u cos φ − u cos φ 1 − d κ r -\dfrac{u\cos\varphi}{1-d\kappa_r} − 1 − d κ r u cos φ 由同一状态方程决定 横向偏差变化率 d ˙ \dot d d ˙ u sin φ u\sin\varphi u sin φ − u sin φ -u\sin\varphi − u sin φ d d d 的定义不变航向角速度 θ ˙ \dot\theta θ ˙ u κ v u\kappa_v u κ v − u κ v -u\kappa_v − u κ v κ v \kappa_v κ v 不人为变号航向误差变化率 φ ˙ \dot\varphi φ ˙ u ( κ v − κ r cos φ 1 − d κ r ) u\left(\kappa_v-\dfrac{\kappa_r\cos\varphi}{1-d\kappa_r}\right) u ( κ v − 1 − d κ r κ r cos φ ) − u ( κ v − κ r cos φ 1 − d κ r ) -u\left(\kappa_v-\dfrac{\kappa_r\cos\varphi}{1-d\kappa_r}\right) − u ( κ v − 1 − d κ r κ r cos φ ) φ \varphi φ 的定义不变参考曲率 κ r \kappa_r κ r 与车辆曲率 κ v \kappa_v κ v 使用既定符号约定 使用同一符号约定 均不修改 式 (2) 使用原方程 使用原方程 完全不变
因此,在上述比较条件下,仅改变 v v v 的符号会使式 (2) 的三个状态变化率同时反号。时间 t t t 仍按正方向推进;与参考路径弧长域模型不同,时间域倒车通过 v < 0 v<0 v < 0 表示,而不是通过反向积分时间实现。停车时 v = 0 v=0 v = 0 ,式 (2) 给出 s ˙ = d ˙ = φ ˙ = 0 \dot s=\dot d=\dot\varphi=0 s ˙ = d ˙ = φ ˙ = 0 。
参考路径弧长域 Frenet 运动学
本节直接从弧长参数化的位置坐标关系与航向误差关系建立模型,不调用时间域状态方程,也不使用关于时间的导数。
车辆轨迹的有向弧长坐标
变量 s s s 是参考路径上投影点的弧长坐标,ℓ \ell ℓ 是沿车辆航向单位向量 e θ \mathbf e_\theta e θ 取正的后轴中心轨迹有向弧长坐标。在 Frenet 坐标有效且车辆非静止的轨迹段上,s s s 和 d d d 都可视为 ℓ \ell ℓ 的函数,式 (1) 相应写成
z ( ℓ ) = r ( s ( ℓ ) ) + d ( ℓ ) N ( s ( ℓ ) ) . \mathbf z(\ell) =
\mathbf r\bigl(s(\ell)\bigr)
+
d(\ell)\mathbf N\bigl(s(\ell)\bigr). z ( ℓ ) = r ( s ( ℓ ) ) + d ( ℓ ) N ( s ( ℓ ) ) .
直接关于 ℓ \ell ℓ 求导:
d z d ℓ = d r d s d s d ℓ + d d d ℓ N + d d N d s d s d ℓ = T d s d ℓ + d d d ℓ N + d d N d s d s d ℓ . \begin{aligned}
\frac{d\mathbf z}{d\ell}
&=
\frac{d\mathbf r}{ds}\frac{ds}{d\ell}
+
\frac{\mathrm d\,d}{\mathrm d\ell}\mathbf N
+
d\frac{d\mathbf N}{ds}\frac{ds}{d\ell}\\[0.8em]
&=
\mathbf T\frac{ds}{d\ell}
+
\frac{\mathrm d\,d}{\mathrm d\ell}\mathbf N
+
d\frac{d\mathbf N}{ds}\frac{ds}{d\ell}.
\end{aligned} d ℓ d z = d s d r d ℓ d s + d ℓ d d N + d d s d N d ℓ d s = T d ℓ d s + d ℓ d d N + d d s d N d ℓ d s .
由 Frenet 关系 d N / d s = − κ r T d\mathbf N/ds=-\kappa_r\mathbf T d N / d s = − κ r T 与 ⟨ T , N ⟩ = 0 \langle\mathbf T,\mathbf N\rangle=0 ⟨ T , N ⟩ = 0 ,
⟨ d N d s , N ⟩ = − κ r ⟨ T , N ⟩ = 0. \left\langle
\frac{d\mathbf N}{ds},
\mathbf N
\right\rangle
=-\kappa_r\langle\mathbf T,\mathbf N\rangle=0. ⟨ d s d N , N ⟩ = − κ r ⟨ T , N ⟩ = 0.
将位置导数投影到 N \mathbf N N 方向,并使用 ⟨ T , N ⟩ = 0 \langle\mathbf T,\mathbf N\rangle=0 ⟨ T , N ⟩ = 0 与 ⟨ N , N ⟩ = 1 \langle\mathbf N,\mathbf N\rangle=1 ⟨ N , N ⟩ = 1 ,得到
⟨ d z d ℓ , N ⟩ = d d d ℓ . \left\langle
\frac{d\mathbf z}{d\ell},
\mathbf N
\right\rangle =
\frac{\mathrm d\,d}{\mathrm d\ell}. ⟨ d ℓ d z , N ⟩ = d ℓ d d .
由 ℓ \ell ℓ 的取向和无侧滑约束,车辆轨迹相对于 ℓ \ell ℓ 的单位切向量就是航向单位向量:
d z d ℓ = e θ = cos φ T + sin φ N . \frac{d\mathbf z}{d\ell} =
\mathbf e_\theta =
\cos\varphi\,\mathbf T
+
\sin\varphi\,\mathbf N. d ℓ d z = e θ = cos φ T + sin φ N .
其法向分量为
⟨ d z d ℓ , N ⟩ = sin φ . \left\langle
\frac{d\mathbf z}{d\ell},
\mathbf N
\right\rangle =
\sin\varphi. ⟨ d ℓ d z , N ⟩ = sin φ .
比较同一个法向分量,得到
d d d ℓ = sin φ = sin ( θ − θ r ) . \frac{\mathrm d\,d}{\mathrm d\ell} =
\sin\varphi =
\sin(\theta-\theta_r). d ℓ d d = sin φ = sin ( θ − θ r ) .
这一结果直接来自以 ℓ \ell ℓ 参数化的位置关系,没有借助时间导数反推。它最终不显含参考路径曲率,因为 d N / d s = − κ r T d\mathbf N/ds=-\kappa_r\mathbf T d N / d s = − κ r T 在 N \mathbf N N 方向上的投影为零。最近点映射及其管状邻域中的一般正则性背景见 [4, §2.1, Eq. (4), Proposition 2 and Theorem 3] 。
参考路径弧长与车辆轨迹有向弧长的局部换算
将 d N / d s = − κ r T d\mathbf N/ds=-\kappa_r\mathbf T d N / d s = − κ r T 代入上一小节的位置导数,可得
d z d ℓ = ( 1 − d κ r ) d s d ℓ T + d d d ℓ N . \frac{d\mathbf z}{d\ell} =
(1-d\kappa_r)\frac{ds}{d\ell}\mathbf T
+
\frac{\mathrm d\,d}{\mathrm d\ell}\mathbf N. d ℓ d z = ( 1 − d κ r ) d ℓ d s T + d ℓ d d N .
同时,车辆轨迹相对于有向弧长 ℓ \ell ℓ 的单位切向量为
d z d ℓ = cos φ T + sin φ N . \frac{d\mathbf z}{d\ell} =
\cos\varphi\,\mathbf T
+
\sin\varphi\,\mathbf N. d ℓ d z = cos φ T + sin φ N .
比较切向分量:
( 1 − d κ r ) d s d ℓ = cos φ . (1-d\kappa_r)\frac{ds}{d\ell} =
\cos\varphi. ( 1 − d κ r ) d ℓ d s = cos φ .
当 1 − d κ r ≠ 0 1-d\kappa_r\ne0 1 − d κ r = 0 且 cos φ ≠ 0 \cos\varphi\ne0 cos φ = 0 时,上式给出 d s / d ℓ ≠ 0 ds/d\ell\ne0 d s / d ℓ = 0 ,因而 s s s 与 ℓ \ell ℓ 在局部互为参数。这里“局部互为参数”是指在当前点附近,同一段车辆轨迹既可以用 s s s 描述,也可以用 ℓ \ell ℓ 描述,并且两种参数之间存在可微的局部逆变换。两种弧长的局部换算关系为
d ℓ d s = 1 − d κ r cos φ . (3) \frac{d\ell}{ds} =
\frac{1-d\kappa_r}{\cos\varphi}.
\tag{3} d s d ℓ = cos φ 1 − d κ r . ( 3 )
相应的逆关系为
d s d ℓ = cos φ 1 − d κ r . \frac{ds}{d\ell} =
\frac{\cos\varphi}{1-d\kappa_r}. d ℓ d s = 1 − d κ r cos φ .
关于式 (3) 中 d d d 、κ r \kappa_r κ r 与 φ \varphi φ 如何共同影响弧长局部换算关系,以及坐标映射退化和参数化失效所对应的 Frenet 几何构型,参见交互文章《参考路径弧长与车辆轨迹有向弧长的局部换算:交互分析 》。
横向偏差方程
在 d s / d ℓ ≠ 0 ds/d\ell\ne0 d s / d ℓ = 0 的区间内,链式法则给出
d d d ℓ = d d d s d s d ℓ . \frac{\mathrm d\,d}{\mathrm d\ell} =
\frac{\mathrm d\,d}{\mathrm ds}\frac{ds}{d\ell}. d ℓ d d = d s d d d ℓ d s .
代入 d d / d ℓ = sin φ \mathrm d\,d/\mathrm d\ell=\sin\varphi d d / d ℓ = sin φ 与式 (3) 的逆关系:
d d d s = sin φ cos φ / ( 1 − d κ r ) = ( 1 − d κ r ) tan φ . \begin{aligned}
\frac{\mathrm d\,d}{\mathrm ds}
&=
\frac{\sin\varphi}
{\cos\varphi/(1-d\kappa_r)}\\[0.6em]
&=
(1-d\kappa_r)\tan\varphi.
\end{aligned} d s d d = cos φ / ( 1 − d κ r ) sin φ = ( 1 − d κ r ) tan φ .
关系 d d / d ℓ = sin φ \mathrm d\,d/\mathrm d\ell=\sin\varphi d d / d ℓ = sin φ 不显含参考路径曲率,因为它描述每单位车辆轨迹有向弧长产生的法向变化;而 d d / d s \mathrm d\,d/\mathrm ds d d / d s 显含 κ r \kappa_r κ r ,因为改用参考路径弧长坐标作为自变量时必须使用式 (3) 的逆关系完成尺度换算。
航向误差方程
在式 (3) 的成立条件下,s s s 与 ℓ \ell ℓ 在局部互为参数。沿同一车辆轨迹,将航向误差直接写成
φ ( s ) = θ ( ℓ ( s ) ) − θ r ( s ) . \varphi(s)=\theta\bigl(\ell(s)\bigr)-\theta_r(s). φ ( s ) = θ ( ℓ ( s ) ) − θ r ( s ) .
关于参考路径弧长 s s s 求导,并使用 κ v = d θ / d ℓ \kappa_v=d\theta/d\ell κ v = d θ / d ℓ 、κ r = d θ r / d s \kappa_r=d\theta_r/ds κ r = d θ r / d s 以及式 (3):
d φ d s = d θ d ℓ d ℓ d s − d θ r d s = κ v 1 − d κ r cos φ − κ r . \begin{aligned}
\frac{d\varphi}{ds}
&=
\frac{d\theta}{d\ell}\frac{d\ell}{ds}-\frac{d\theta_r}{ds}\\[0.65em]
&=
\kappa_v\frac{1-d\kappa_r}{\cos\varphi}-\kappa_r.
\end{aligned} d s d φ = d ℓ d θ d s d ℓ − d s d θ r = κ v cos φ 1 − d κ r − κ r .
第一项是车辆航向角每单位参考路径弧长的变化率,第二项 κ r = d θ r / d s \kappa_r=d\theta_r/ds κ r = d θ r / d s 是参考航向角在同一自变量下的变化率。
二状态参考路径弧长域模型
将横向偏差方程与航向误差方程合并,得到以 s s s 为自变量、以 ( d , φ ) (d,\varphi) ( d , φ ) 为状态的空间域模型:
d d d s = ( 1 − d κ r ) tan φ , d φ d s = ( 1 − d κ r ) κ v cos φ − κ r . (4) \begin{aligned}
\frac{\mathrm d\,d}{\mathrm ds}
&=
(1-d\kappa_r)\tan\varphi,\\[0.7em]
\frac{d\varphi}{ds}
&=
\frac{(1-d\kappa_r)\kappa_v}{\cos\varphi}-\kappa_r.
\end{aligned}
\tag{4} d s d d d s d φ = ( 1 − d κ r ) tan φ , = cos φ ( 1 − d κ r ) κ v − κ r . ( 4 )
这里 κ r = κ r ( s ) \kappa_r=\kappa_r(s) κ r = κ r ( s ) 由参考路径给定,κ v \kappa_v κ v 是车辆轨迹曲率输入。式 (4) 完全由弧长参数化的几何关系得到,不依赖时间域模型。除最近点投影唯一且 1 − d κ r ≠ 0 1-d\kappa_r\ne0 1 − d κ r = 0 外,它还要求 cos φ ≠ 0 \cos\varphi\ne0 cos φ = 0 ;否则 d s / d ℓ = 0 ds/d\ell=0 d s / d ℓ = 0 ,参考路径弧长坐标 s s s 在该点无法作为车辆轨迹的局部自变量。
弧长域模型中的倒车
式 (4) 同样适用于倒车,无须针对倒车重新推导。原因是前述弧长域推导使用的是沿车辆航向单位向量取正的有向弧长坐标 ℓ \ell ℓ ,并且只依赖无侧滑条件下的几何微分关系
d z = e θ d ℓ , d θ = κ v d ℓ . d\mathbf z=\mathbf e_\theta\,d\ell,
\qquad
d\theta=\kappa_v\,d\ell. d z = e θ d ℓ , d θ = κ v d ℓ .
这两个关系没有要求 d ℓ > 0 d\ell>0 d ℓ > 0 。前进时 d ℓ > 0 d\ell>0 d ℓ > 0 ,位移 d z d\mathbf z d z 与车辆航向单位向量 e θ \mathbf e_\theta e θ 同向;倒车时 d ℓ < 0 d\ell<0 d ℓ < 0 ,位移 d z d\mathbf z d z 与 e θ \mathbf e_\theta e θ 反向,但 d z / d ℓ = e θ d\mathbf z/d\ell=\mathbf e_\theta d z / d ℓ = e θ 仍然成立。因此,前述位置微分的分量比较、弧长换算和链式法则在倒车时均保持不变,最终得到的仍是同一个二状态模型。
式 (3) 的逆关系给出
d s d ℓ = cos φ 1 − d κ r . \frac{ds}{d\ell}=\frac{\cos\varphi}{1-d\kappa_r}. d ℓ d s = 1 − d κ r cos φ .
因此一般情况下,d s ds d s 与 d ℓ d\ell d ℓ 的符号关系为
sgn ( d s ) = sgn ( d ℓ ) sgn ( cos φ 1 − d κ r ) . \operatorname{sgn}(ds)=
\operatorname{sgn}(d\ell)
\operatorname{sgn}\!\left(\frac{\cos\varphi}{1-d\kappa_r}\right). sgn ( d s ) = sgn ( d ℓ ) sgn ( 1 − d κ r cos φ ) .
在通常的 Frenet 跟踪区域 1 − d κ r > 0 1-d\kappa_r>0 1 − d κ r > 0 且 ∣ φ ∣ < π / 2 |\varphi|<\pi/2 ∣ φ ∣ < π /2 内,d s / d ℓ > 0 ds/d\ell>0 d s / d ℓ > 0 ,所以前进对应 d s > 0 ds>0 d s > 0 ,倒车对应 d s < 0 ds<0 d s < 0 。在给定同一车辆曲率函数 κ v ( s ) \kappa_v(s) κ v ( s ) 并从同一状态出发时,前进与倒车由同一空间域方程确定同一条 ( d , φ ) (d,\varphi) ( d , φ ) 状态曲线,只是沿 s s s 的相反方向经过它,式 (4) 的右端不需要修改。
在上述常用跟踪区域内,并保持相同的状态、初始条件与曲率输入,各量的对应变化如下:
量 前进 倒车 是否修改定义或模型 车辆轨迹有向弧长坐标增量 d ℓ d\ell d ℓ d ℓ > 0 d\ell>0 d ℓ > 0 d ℓ < 0 d\ell<0 d ℓ < 0 不修改定义 车辆位移 d z = e θ d ℓ d\mathbf z=\mathbf e_\theta d\ell d z = e θ d ℓ 与 e θ \mathbf e_\theta e θ 同向 与 e θ \mathbf e_\theta e θ 反向 几何关系不变 参考路径弧长增量 d s ds d s d s > 0 ds>0 d s > 0 d s < 0 ds<0 d s < 0 由式 (3) 决定 航向增量 d θ = κ v d ℓ d\theta=\kappa_v d\ell d θ = κ v d ℓ 按正向弧长累积 对相同 κ v \kappa_v κ v ,增量方向反转 κ v \kappa_v κ v 不因倒车而人为变号状态 d d d 、φ \varphi φ 由模型沿 s s s 正向演化 由模型沿 s s s 反向演化 状态定义不变,也不预先取反 参考曲率 κ r \kappa_r κ r 与车辆曲率 κ v \kappa_v κ v 使用既定符号约定 使用同一符号约定 均不修改 式 (4) 的两个右端 原形式 原形式 完全不变
相应地,在上述常用跟踪区域内使用 s s s 直接求解时,前进从较小的 s s s 积分到较大的 s s s ,倒车则从较大的 s s s 积分到较小的 s s s 。在从 s s t a r t s_{\mathrm{start}} s start 开始且 s s s 单调减小的倒车轨迹段上,如果数值实现另外定义递增进度 σ = s s t a r t − s \sigma=s_{\mathrm{start}}-s σ = s start − s ,则由 d / d σ = − d / d s d/d\sigma=-d/ds d / d σ = − d / d s 可知两个状态方程的右端会整体乘以 − 1 -1 − 1 ;这是更换自变量造成的结果,不是倒车改变了式 (4)。
参考文献
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). 本文使用该文献核对 Frenet 位置坐标、速度分解及时间域状态方程。
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).
本文使用该文献核对车辆位置的法向坐标表示 z = r ( s ) + d N ( s ) \mathbf z=\mathbf r(s)+d\mathbf N(s) z = r ( s ) + d N ( 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. 本文使用该文献核对 Frenet
坐标正则域及三状态车辆运动学模型。
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.
本文使用该文献说明最近点映射及其管状邻域中的一般正则性背景。