参考路径弧长与车辆轨迹有向弧长的局部换算:交互分析

基于车辆运动学中的弧长换算关系,通过交互图观察车辆轨迹有向弧长与参考路径弧长在不同状态下的接近程度。

首次发布
最后更新

本文目录

换算关系

《Frenet 坐标下的车辆运动学》从车辆位置的 Frenet 表示与车辆航向单位向量出发,在式 (3) 中得到参考路径弧长和车辆轨迹有向弧长的局部换算关系

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

下文通过不同交互图分别改变航向误差 φ\varphi、横向偏差 dd 与参考曲率 κr\kappa_r,观察 dℓ/ds\mathrm d\ell/\mathrm ds 的变化趋势。

式中,ss 是车辆最近投影点在参考路径上的弧长坐标;ℓ\ell 是车辆后轴中心轨迹的有向弧长坐标,沿车辆航向为正;dd 是从投影点沿参考路径左单位法向量测得的有符号横向偏差,左侧为正、右侧为负;φ\varphi 是车辆航向与投影点处参考路径切向之间的航向误差,逆时针为正;κr\kappa_r 是投影点处参考路径的有符号曲率,左转为正、右转为负。

如何操作交互图

每组关系曲线或曲面都与右侧的局部 Frenet 几何共用同一组参数。把指针移到曲线采样点或曲面网格点上,右侧几何会立即切换到对应状态;触控设备可以点击数据点完成选择。

弧长局部换算关系图采用同一套标记:蓝色曲线或渐变色曲面表示 dℓ/ds\mathrm d\ell/\mathrm ds,紫色点线或半透明平面表示 dℓ/ds=1\mathrm d\ell/\mathrm ds=1,橙色虚线表示 cos⁡φ=0\cos\varphi=0,红色边界线表示 1−dκr=01-d\kappa_r=0。后文的 1−dκr1-d\kappa_r 关系图沿用蓝色关系曲线、紫色单位基准线和红色退化边界。右侧几何图中,参考路径正向为 ss 增大方向,横向偏差向左为正,车辆航向相对参考路径切向逆时针偏转为正。

右侧几何图以当前投影点为局部原点,用统一长度的线段 Δℓ\Delta\ell 表示车辆轨迹有向弧长增量,并由 Δs=cos⁡φ Δℓ/(1−dκr)\Delta s=\cos\varphi\,\Delta\ell/(1-d\kappa_r) 确定参考路径弧长增量的大小和方向。Δs<0\Delta s<0 时,高亮弧段从当前投影点向后绘制。参考曲线只表示投影点处的局部曲率;当 κr≠0\kappa_r\ne0 且 ∣κrΔs∣≤π/3|\kappa_r\Delta s|\le\pi/3 时完整绘制高亮弧段,超过六分之一圆后才在保持正确方向的前提下截断并显示省略标记,不把密切圆当作完整参考路径重新寻找投影点。1−dκr=01-d\kappa_r=0 时不绘制不存在的有限 Δs\Delta s。

“实验条件”中的单值滑块用于固定当前图没有作为坐标轴展示的变量。“绘图窗口”中的双端滑块只调整坐标轴或当前分析量的显示范围,不改变数学关系。需要探索默认边界之外的区域时,可以展开“高级范围设置”;“重置”会恢复当前实验的全部初始参数和显示范围。

单一因素对弧长局部换算关系的影响

航向误差引起的非线性变化

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 1. 固定 (d,κr)(d,\kappa_r) 时,dℓ/ds\mathrm d\ell/\mathrm ds 随航向误差 φ\varphi 按 1/cos⁡φ1/\cos\varphi 非线性变化。紫色点线表示 dℓ/ds=1\mathrm d\ell/\mathrm ds=1;把横轴扩展到 ±90∘\pm90^\circ 时,橙色虚线标出 cos⁡φ=0\cos\varphi=0,曲线在其邻域中断。当 1−dκr≠01-d\kappa_r\ne0 时,∣dℓ/ds∣\left|\mathrm d\ell/\mathrm ds\right| 在该边界附近发散。

横向偏差引起的线性变化

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 2. 固定 (φ,κr)(\varphi,\kappa_r) 时,dℓ/ds\mathrm d\ell/\mathrm ds 关于横向偏差 dd 呈线性变化。当 κr≠0\kappa_r\ne0 且有符号曲率半径 ρr=1/κr\rho_r=1/\kappa_r 位于横轴范围内时,红色虚线标出 d=ρrd=\rho_r。该位置满足 1−dκr=01-d\kappa_r=0,表示 Frenet 法向坐标映射的微分在该点退化,不能解释为有效 Frenet 坐标状态下的 dℓ/ds=0\mathrm d\ell/\mathrm ds=0。

参考曲率引起的线性变化

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 3. 固定 (φ,d)(\varphi,d) 时,dℓ/ds\mathrm d\ell/\mathrm ds 关于参考曲率 κr\kappa_r 呈线性变化。当 d≠0d\ne0 且 1/d1/d 位于横轴范围内时,红色虚线标出 κr=1/d\kappa_r=1/d,即 1−dκr=01-d\kappa_r=0 对应的法向坐标映射退化边界。

两个因素共同变化时的弧长局部换算关系

航向误差与横向偏差的共同影响

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 4. 以 (φ,d)(\varphi,d) 为自变量、dℓ/ds\mathrm d\ell/\mathrm ds 为曲面高度,参考曲率 κr\kappa_r 由“实验条件”滑块给出。半透明紫色平面表示 dℓ/ds=1\mathrm d\ell/\mathrm ds=1; φ=±90∘\varphi=\pm90^\circ 对应空间域参数化失效边界。当 κr≠0\kappa_r\ne0 时, d=1/κrd=1/\kappa_r 对应法向坐标映射退化边界。

航向误差与参考曲率的共同影响

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 5. 以 (φ,κr)(\varphi,\kappa_r) 为自变量、dℓ/ds\mathrm d\ell/\mathrm ds 为曲面高度,横向偏差 dd 由“实验条件”滑块给出。航向误差形成 1/cos⁡φ1/\cos\varphi 的非线性变化;当 d≠0d\ne0 时, κr=1/d\kappa_r=1/d 对应法向坐标映射退化边界。

横向偏差与参考曲率的共同影响

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 6. 以 (d,κr)(d,\kappa_r) 为自变量、dℓ/ds\mathrm d\ell/\mathrm ds 为曲面高度,航向误差 φ\varphi 由“实验条件”滑块给出。曲面与零平面的交线满足 dκr=1d\kappa_r=1;这条交线表示法向坐标映射退化边界,不能解释为有效 Frenet 坐标状态下的 dℓ/ds=0\mathrm d\ell/\mathrm ds=0。

横向偏差与投影点曲率半径相对关系变化的影响

1−dκr1-d\kappa_r 是弧长局部换算关系

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

中由横向偏差 dd 和投影点参考曲率 κr\kappa_r 共同决定的部分。在该关系的适用范围内,固定航向误差 φ\varphi 后,dd 与 κr\kappa_r 对 dℓ/ds\mathrm d\ell/\mathrm ds 的影响全部通过这个因子体现。

以下只讨论当前投影点处的局部关系。记该投影点的参考路径弧长坐标为 s0s_0,并简记 κr=κr(s0)\kappa_r=\kappa_r(s_0)。当 κr≠0\kappa_r\ne0 时,记

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

RrR_r 是投影点处密切圆的曲率半径;dcd_c 是该密切圆圆心沿左单位法向量测量的有符号坐标。曲率中心的位置为 r(s0)+dcN(s0)\boldsymbol r(s_0)+d_c\boldsymbol N(s_0),并且

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

因此,真正决定这一因子的是车辆横向偏差 dd 相对于曲率中心法向坐标 dcd_c 的位置关系:

  • d/dc<0d/d_c<0:车辆与曲率中心位于参考路径两侧,1−dκr>11-d\kappa_r>1;
  • 0<d/dc<10<d/d_c<1:车辆位于参考路径与曲率中心之间,0<1−dκr<10<1-d\kappa_r<1;
  • d=dcd=d_c:车辆位置与当前投影点的曲率中心重合,1−dκr=01-d\kappa_r=0;
  • d/dc>1d/d_c>1:车辆越过曲率中心,1−dκr<01-d\kappa_r<0。

这里的曲率中心只描述参考路径在当前投影点的局部二阶几何,不表示参考路径本身是一段圆弧。下面直接由车辆到参考路径的距离说明 1−dκr1-d\kappa_r 与最近投影的关系。

固定车辆位置 z\boldsymbol z,让候选点 r(ξ)\boldsymbol r(\xi) 沿参考路径移动,其中 ξ\xi 是候选点的弧长坐标,s0s_0 是当前垂足对应的特定坐标。定义

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

q(ξ)q(\xi) 是车辆到候选点的距离平方乘以 1/21/2;常数 1/21/2 不改变极值点,只用于简化求导。参考路径以弧长参数化,因此

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.

保持 z\boldsymbol z 不变,对候选坐标 ξ\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}

车辆位置在当前垂足 s0s_0 处满足

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

由于 N⊥T\boldsymbol N\perp\boldsymbol T,将 ξ=s0\xi=s_0 代入一阶导数可得

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

这只说明 s0s_0 是距离函数的驻点;要判断它是局部最近点还是局部最远点,还要继续求二阶导数:

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}

最后在 ξ=s0\xi=s_0 处代入 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 和 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.

等式中的 11 来自单位切向量的长度 T⋅T=1\boldsymbol T\mathbin{\cdot}\boldsymbol T=1,−dκr-d\kappa_r 来自参考路径切向量随曲率发生的转动。由此可以确定:1−dκr>01-d\kappa_r>0 时,s0s_0 是距离函数的严格局部极小点;1−dκr<01-d\kappa_r<0 时,s0s_0 是严格局部极大点,不可能是车辆的最近投影点;1−dκr=01-d\kappa_r=0 时,二阶判别失效,是否仍为局部最近点以及投影是否唯一,不能仅凭当前点的 dd 与 κr\kappa_r 判断。即使 1−dκr>01-d\kappa_r>0,它也只保证局部极小,最近投影的全局唯一性仍取决于整条参考路径的几何。

正曲率:曲率中心位于参考路径左侧

当 κr>0\kappa_r>0 时,dc=Rr>0d_c=R_r>0,曲率中心位于左单位法向一侧。车辆从参考路径向左接近曲率中心时,dd 从 00 增至 RrR_r,1−dκr1-d\kappa_r 从 11 线性减至 00;车辆位于参考路径右侧时 d<0d<0,该因子大于 11。当 d>Rrd>R_r 时,该因子为负,当前参考点不可能是车辆的最近投影点,因而这一区域不属于以该点为最近投影建立的 Frenet 坐标状态。

图 7 固定正参考曲率并改变横向偏差,直接比较 dd 与当前曲率半径;图 8 固定横向偏差并改变正参考曲率,观察曲率半径及曲率中心位置变化时同一关系如何变化。

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 7. 当 κr>0\kappa_r>0 时,曲率中心的有符号法向坐标为 dc=Rr=1/κrd_c=R_r=1/\kappa_r。红色虚线标出 d=dcd=d_c;右侧局部几何的网格至少覆盖该曲率中心。调整“参考曲率”可观察曲率半径、曲率中心位置以及 1−dκr1-d\kappa_r 随之发生的变化。

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 8. 横向偏差 dd 由“实验条件”滑块给出,横轴为正参考曲率 κr\kappa_r。1−dκr1-d\kappa_r 随 κr\kappa_r 线性变化;当 d≠0d\ne0 且 κr=1/d\kappa_r=1/d 位于当前横轴范围内时,红色虚线标出车辆位置与曲率中心重合的位置。调整 dd 可以观察这一位置是否落入正曲率范围,以及它如何随横向偏差移动。

负曲率:曲率中心位于参考路径右侧

当 κr<0\kappa_r<0 时,dc=−Rr<0d_c=-R_r<0,曲率中心位于右单位法向一侧。车辆从参考路径向右接近曲率中心时,dd 从 00 减至 −Rr-R_r,1−dκr1-d\kappa_r 同样从 11 线性减至 00;车辆位于参考路径左侧时 d>0d>0,该因子大于 11。当 d<−Rrd<-R_r 时,该因子为负,当前参考点同样不可能是车辆的最近投影点,因而这一区域也不属于以该点为最近投影建立的 Frenet 坐标状态。

图 9 固定负参考曲率并改变横向偏差;图 10 固定横向偏差并改变负参考曲率。两图与正曲率实验分析同一关系,但曲率中心位于参考路径右侧。

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 9. 当 κr<0\kappa_r<0 时,曲率中心的有符号法向坐标为 dc=−Rr=1/κrd_c=-R_r=1/\kappa_r。红色虚线标出 d=dcd=d_c;右侧局部几何的网格至少覆盖该曲率中心。图中的变化规律与图 7 相同,只是曲率中心及相应的横向偏差方向位于参考路径右侧。

此交互图需要 JavaScript;文章正文和图注仍可阅读。

图 10. 横向偏差 dd 由“实验条件”滑块给出,横轴为负参考曲率 κr\kappa_r。1−dκr1-d\kappa_r 随 κr\kappa_r 线性变化;当 d≠0d\ne0 且 κr=1/d\kappa_r=1/d 位于当前横轴范围内时,红色虚线标出车辆位置与曲率中心重合的位置。该图与图 8 的区别是参考路径曲率、曲率中心方向及相应横向偏差均取相反符号。

当 κr=0\kappa_r=0 时,投影点处的曲率半径为无穷大,不存在有限的曲率中心,并且对任意 dd 都有 1−dκr=11-d\kappa_r=1。此时横向偏差不改变弧长局部换算关系中的这一部分,因此无需再单独作图。

来源与延伸阅读