Pure Pursuit 是一种基于几何模型 的解耦式横向路径跟踪算法,只能使用于路径跟踪任务。
轨迹跟踪场景对比引入:
-
PID的做法: 盯着前轮和白线的距离(横向误差)。偏左了?向右扭车把。
- Pure Pursuit的做法: 不看前轮和白线的距离(横向误差)! pp的解决办法是:盯住白线上的N厘米(前瞻距离)处的一个点。现在的任务只有一个:把车把打到一个固定的角度,画出一道圆弧,让车正好能压到那个点。N设置的越大,那车轮就越无法拟合轨迹, 遇到急弯时,因为你看得太远,车会直接切过弯道内侧,导致较大的跟踪误差。。但是你转动车把的频率低,很安全,不会强烈抖动。N设置的越小,那车轮就越拟合轨迹。但是你转动车把的频率高,很不安全,会强烈抖动。
这就是"纯追踪"------像猎狗追兔子一样,总是盯着目标轨迹上前方的一点追。如果用一句话概括:Pure Pursuit 是几何学的胜利。
算法原理:
输入(以骑单车为例):
-
车辆当前位置 (x, y) 和 与转角α,车子的轴距L。
-
目标路径(一串路点)。
-
前瞻距离Ld
输出: 前轮转角。注意:Pure Pursuit 通常只负责横向控制(方向盘)。它不直接输出油门/速度(纵向控制),速度通常由另外的 PID 或逻辑控制。
从输入到输出之间的函数: 
从输入到输出之间的函数推导:(感兴趣可以看,也可以直接跳过记住结论):
pp调参经验:
| Ld 设置 | 较小 (Small) | 较大 (Large) |
|---|---|---|
| 直觉 | 盯着前轮看(看脚下) | 盯着远方地平线看 |
| 优点 | 咬合力强:紧贴路径,跟踪误差极小。 | 稳定性好:行驶顺滑,方向盘不会乱抖。 |
| 缺点 | 震荡 (Oscillation):稍微偏一点就猛打方向,容易"画龙"(S形走位)。 | 切弯 (Cut Corner):遇弯道时不减速直接抄近道,导致稳态误差大。 |
| 适用场景 | 低速精细操作(如倒车入库)。 | 高速巡航(如高速公路)。 |
动态预瞄(Dynamic Look-ahead)
Ld何必是一个固定的值?






