3. 路径跟踪基础
路径跟踪是自动驾驶与移动机器人运动控制的核心环节。它的任务不是让车辆“重新规划一条路”,而是让车辆沿着已经给定的参考路径稳定、平滑、低误差地行驶。要理解后续的鲁棒控制方法,必须先建立四个基础概念:参考路径如何表示、误差如何定义、预瞄如何起作用、纯追踪如何把误差转化为前轮转角。
一、参考路径的表示方式
参考路径在工程中通常有三种表示形式。第一种是离散点序列,即一串带坐标的点 (x_i, y_i),可附带曲率、限速、航向等属性;第二种是参数化曲线,如三次样条、贝塞尔曲线或回旋线,便于求导和曲率计算;第三种是解析几何描述,如直线、圆弧、多项式,适合理论推导和仿真验证。
实际系统中,路径往往以“点序列 + 插值”的方式存储。控制器在每个周期需要完成一次最近点搜索,找到车辆当前位置在参考路径上的投影点,再沿路径向前取预瞄点。路径的平滑性、点间距和曲率连续性会直接影响跟踪品质:点间距过大,最近点搜索会跳变;曲率不连续,前轮转角会出现抖动。
二、横向误差与航向误差的定义
车辆相对参考路径的偏差由两个量描述:横向误差和航向误差。横向误差 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 | 过大导致延迟振荡 |
六、常见误区与复盘
- 误区一:只调预瞄距离,不看控制周期。控制周期过大时,即使预瞄距离合适,也会因延迟产生振荡。应先保证
dt足够小,再调L_d。 - 误区二:把横向误差和航向误差混为一谈。横向误差大不代表航向误差大,二者需要分别观测。建议在日志中同时记录
e_y和e_psi。 - 误区三:忽略路径曲率前馈。纯追踪本质是反馈控制,面对持续弯道存在稳态误差。加入曲率前馈可显著改善弯道跟踪。
- 误区四:预瞄点搜索跳变。当路径点稀疏或自交时,最近点可能跳变,导致预瞄点突变。应对最近点搜索加连续性约束或滑动窗口。
复盘时建议按“路径质量 → 误差定义 → 预瞄参数 → 控制周期 → 执行器限幅”的顺序逐项排查。多数路径跟踪问题并非算法本身错误,而是路径表示不连续、误差符号约定不一致或预瞄距离与车速不匹配造成的。掌握这四个基础概念后,后续的鲁棒控制、前馈补偿和自适应预瞄才有坚实的落脚点。