3. 路径跟踪基础

路径跟踪是自动驾驶与移动机器人运动控制的核心环节。它的任务不是让车辆“重新规划一条路”,而是让车辆沿着已经给定的参考路径稳定、平滑、低误差地行驶。要理解后续的鲁棒控制方法,必须先建立四个基础概念:参考路径如何表示、误差如何定义、预瞄如何起作用、纯追踪如何把误差转化为前轮转角。

一、参考路径的表示方式

参考路径在工程中通常有三种表示形式。第一种是离散点序列,即一串带坐标的点 (x_i, y_i),可附带曲率、限速、航向等属性;第二种是参数化曲线,如三次样条、贝塞尔曲线或回旋线,便于求导和曲率计算;第三种是解析几何描述,如直线、圆弧、多项式,适合理论推导和仿真验证。

实际系统中,路径往往以“点序列 + 插值”的方式存储。控制器在每个周期需要完成一次最近点搜索,找到车辆当前位置在参考路径上的投影点,再沿路径向前取预瞄点。路径的平滑性、点间距和曲率连续性会直接影响跟踪品质:点间距过大,最近点搜索会跳变;曲率不连续,前轮转角会出现抖动。

工程建议:路径点间距通常取 0.2~1.0 m;在曲率变化剧烈处应加密采样,并对曲率做低通滤波,避免控制器输出高频抖动。

二、横向误差与航向误差的定义

车辆相对参考路径的偏差由两个量描述:横向误差和航向误差。横向误差 e_y 定义为车辆参考点(通常为后轴中心或质心)到参考路径最近点的垂直距离,符号由路径切线方向决定,左侧为正或右侧为正需在系统中统一约定。航向误差 e_psi 定义为车辆当前航向与参考路径在最近点处切线方向的夹角。

这两个误差构成了路径跟踪的误差状态。横向误差反映“偏了多少”,航向误差反映“歪了多少”。只修正横向误差而不修正航向误差,车辆会以斜角切入路径;只修正航向误差而不修正横向误差,车辆会平行于路径但始终偏移。因此,稳定的跟踪控制器必须同时利用这两个量。

参考路径(离散点 + 插值) 最近点 P e_y 横向误差 车辆后轴中心 车辆航向 路径切线方向 e_psi 航向误差 预瞄点 预瞄距离 L_d 路径跟踪几何关系 横向误差 e_y、航向误差 e_psi 与预瞄点共同决定前轮转角

三、预瞄理论:像人开车一样“看前方”

人类驾驶员不会只盯着车头正下方,而是会看向前方一段距离,这段距离就是预瞄距离。预瞄理论的核心思想是:控制器不应只根据当前误差做反应,而应结合前方路径的几何趋势提前动作。预瞄距离 L_d 通常与车速相关:

L_d = k_v * v + L_d0

其中:
  v      为车辆纵向速度(m/s)
  k_v    为速度增益(s),常用 0.5~1.5
  L_d0   为基础预瞄距离(m),常用 2~5

预瞄距离过小,车辆对前方弯道反应滞后,容易切内弯或振荡;预瞄距离过大,车辆会提前转向,导致入弯过早、出弯偏移。因此预瞄距离是纯追踪算法中最重要的整定参数之一。

四、纯追踪算法原理

纯追踪(Pure Pursuit)是一种几何跟踪算法。它在参考路径上选取一个预瞄点,然后计算车辆后轴中心到预瞄点的圆弧,使车辆沿该圆弧行驶。根据几何关系,前轮转角 delta 可表示为:

delta = arctan( 2 * L * sin(alpha) / L_d )

其中:
  L       为轴距(m)
  alpha   为车辆航向与预瞄点方向之间的夹角
  L_d     为预瞄距离(m)

该公式的直观含义是:预瞄点越偏,alpha 越大,前轮转角越大;预瞄距离越长,同样的横向偏差产生的转角越小,系统更“柔和”。纯追踪的优点是结构简单、鲁棒性好、易于实现;缺点是参数固定时难以同时兼顾低速精度和高速稳定性。

五、参数整定与工程案例

下面给出一个典型的纯追踪参数整定清单,适用于低速园区车或教学平台:

参数 含义 典型范围 整定方向
L_d0 基础预瞄距离 2~5 m 振荡则增大,切弯则减小
k_v 速度增益 0.5~1.5 s 高速发飘则增大
delta_max 前轮转角限幅 25°~35° 防止执行器饱和
v 纵向速度 1~8 m/s 与预瞄距离联动
dt 控制周期 20~50 ms 过大导致延迟振荡
案例:某园区物流车轴距 L=1.6 m,控制周期 20 ms,初始参数 L_d0=3.0 m、k_v=0.8。在 3 m/s 直道跟踪时横向误差约 0.05 m;进入 8 m 半径弯道后出现明显切内弯,横向误差峰值 0.35 m。将 L_d0 减小到 2.2 m、k_v 提高到 1.0 后,弯道误差峰值降至 0.12 m,但直道出现轻微蛇行。最终采用 L_d0=2.5 m、k_v=0.9,并加入曲率前馈,兼顾了直道稳定性和弯道精度。

六、常见误区与复盘

  • 误区一:只调预瞄距离,不看控制周期。控制周期过大时,即使预瞄距离合适,也会因延迟产生振荡。应先保证 dt 足够小,再调 L_d。
  • 误区二:把横向误差和航向误差混为一谈。横向误差大不代表航向误差大,二者需要分别观测。建议在日志中同时记录 e_y 和 e_psi。
  • 误区三:忽略路径曲率前馈。纯追踪本质是反馈控制,面对持续弯道存在稳态误差。加入曲率前馈可显著改善弯道跟踪。
  • 误区四:预瞄点搜索跳变。当路径点稀疏或自交时,最近点可能跳变,导致预瞄点突变。应对最近点搜索加连续性约束或滑动窗口。

复盘时建议按“路径质量 → 误差定义 → 预瞄参数 → 控制周期 → 执行器限幅”的顺序逐项排查。多数路径跟踪问题并非算法本身错误,而是路径表示不连续、误差符号约定不一致或预瞄距离与车速不匹配造成的。掌握这四个基础概念后,后续的鲁棒控制、前馈补偿和自适应预瞄才有坚实的落脚点。