几何路径跟踪(GeometricPathTracking)算法是自动驾驶中比较流行的路径跟踪控制方法之一。这类方法利用车辆与参考路径之间的几何关系,得到路径跟踪问题的控制律。其中,PurePursuit和Stanley方法是最典型的几何路径跟踪控制方法之一。PurePursuit是一个关于预瞄横向误差的非线性比例控制器,而Stanley方法则是通过横向误差调整车轮与参考轨迹的方向。两者在控制精度和稳定性之间存在tradeoff,但PurePursuit对道路曲率扰动具有良好的鲁棒性,适用于较低车速下的路径跟踪控制;而Stanley方法能够实现控制误差的指数收敛,适用于更高速度下的路径跟踪控制。
几何路径跟踪(GeometricPathTracking)算法是自动驾驶中比较流行的路径跟踪控制方法之一。这类方法利用车辆与参考路径之间的几何关系,得到路径跟踪问题的控制律。通常,其利用“预瞄距离”(lookaheaddistance)来测量车辆前方的误差。最典型的几何路径跟踪控制方法是PurePursuit和Stanley方法,下面分别对其进行介绍(我们只考虑横向前轮转角的控制)。
用于几何路径跟踪的阿克曼转向车辆的一个常见简化是自行车模型,或者叫单车模型。自行车模型简化了四轮汽车,将两个前轮和两个后轮组合在一起,形成一个两轮模型。自行车模型的第二个简化假设是,车辆只能在平面上进行移动。这些简化导致前轮转向角和后轴轨迹曲率之间将遵循简单的几何关系,如图1所示。
根据图1有几何关系:
{ m{tan}}(delta)=frac{L}{R}
其中delta是前轮的转向角,L是前轴和后轴之间的距离(轴距),R是后轴在给定转向角下运行所沿的圆半径。此模型可近似描述汽车在低速和适度转向角下的运动。
对于移动机器人和自动驾驶系统,PurePursuit(纯追踪)法及其变种是最常用的路径跟踪方法之一。PurePursuit法中,需要计算后轴位置连接车辆前方路径目标点的圆弧曲率。目标点位置由预瞄距离l_d确定,其坐标(g_x,g_y)如图2所示。从图中可以发现,仅使用车辆航向方向与预瞄点方向之间的角度alpha,即可确定车辆的转向角delta。这是因为,将正弦定律应用于图2,可得到如下结果:
frac{l_d}{{ m{sin}(2alpha)}}=frac{R}{{ m{sin}(frac{pi}{2}-alpha)}}
frac{l_d}{{2 m{sin}(alpha)} m{cos}(alpha)}=frac{R}{{ m{cos}(alpha)}}
frac{l_d}{ m{sin}(alpha)}=2R
将上面最后的式子写成曲率形式有:
kappa=frac{2 m{sin}(alpha)}{l_d}
其中,kappa为后轴轨迹曲率。另一方面,根据前面几何车辆模型中的第一个公式,有:
delta={ m{tan}}^{-1}(kappaL)
将该式的曲率用前面的公式代替,就可以得到PurePursuit方法的控制律为:
delta(t)={ m{tan}}^{-1}left(frac{2L{ msin}(alpha(t))}{l_d} ight)
为了更好地理解该控制律,定义新的变量e_{l_d}代表预瞄目标点到车辆航向向量的距离,即:
{ m{sin}}(alpha)=frac{e_{l_d}}{l_d}
则曲率公式可重写为:
kappa=frac{2}{l_d^2}e_{l_d}
PurePursuit方法的控制律变成:
delta(t)={ m{tan}}^{-1}left(frac{2Le_{l_d}}{l_d^2} ight)
从该式可以看出PurePursuit控制方法本质上是一个关于预瞄横向误差e_{l_d}的非线性比例控制器,而该控制增益和1/l_d^2相关,即通过调节不同的预瞄距离l_d可对于不同的控制性能效果。一般而言,预瞄距离l_d和车辆行驶速度有关。假设预瞄距离l_d和车速成正比,则PurePursuit控制律为:
delta(t)={ m{tan}}^{-1}left(frac{2L{ msin}(alpha(t))}{kv_x} ight)
其中,k为可调控制参数。
一般而言,随着控制参数k的增加,预瞄距离l_d增加,车辆行驶过程中更不容易震荡、轨迹更平滑。而当控制参数k减小时,预瞄距离l_d减小,车辆行驶过程中横向控制误差将减小,同时也更容易导致闭环不稳定或者震荡。在车辆进入弯道时,过大的控制参数k或者预瞄距离l_d,将导致出现内切的现象。因此可以看到,和一般的控制算法一样,PurePursuit控制也要在稳定性和控制精度之间做妥协(tradeoff)。但是PurePursuit控制对道路曲率扰动具有良好的鲁棒性。
高速下转向曲率的快速变化易使车辆产生侧滑,系统模型与实际车辆特性相差较大会导致跟踪性能恶化,因此PurePursuit算法多适用于较低车速和小侧向加速度下的路径跟踪控制。
Stanley方法是斯坦福大学无人车项目在DARPA挑战赛中使用的路径跟踪控制方法。该方法的反馈控制律是前轴中心到最近参考路径点(c_x,c_y)横向误差e_{fa}的非线性函数,并且能够实现控制误差的指数收敛。
Stanley方法有不同的变种形式,这里只介绍其中一种,该控制律由两部分组成。第一项通过将转向角delta设置为航向误差来保持车轮与给定路径的方向一致,如图3所示,横向误差 heta_e为:
heta_e= heta- heta_p
其中, heta为车辆航向角, heta_p为参考路径点(c_x,c_y)的切线角度。当横向误差e_{fa}不为零时,Stanley控制律的第二项和横向误差e_{fa}及车速v_x有关。完整的Stanley控制律为:
delta(t)= heta_e(t)+{ mtan}^{-1}left(frac{ke_{fa}(t)}{v_x(t)} ight)
其中,k为控制增益参数。从该控制律也可以看到,随着前轴横向误差e_{fa}的增大,前轮转角控制量delta将使车辆更靠近参考轨迹线。
一般而言,随着控制参数k的增加,横向控制误差将会减小。和PurePursuit方法一样,Stanley方法同样是在控制精度和稳定性之前进行tradeoff。
参考文献:
以上内容由58汽车提供。如有任何买车、用车、养车、玩车相关问题,欢迎在下方表单填写您的信息,我们将第一时间与您联系,为您提供快捷、实用、全面的解决方案。
原创文章,作者:58汽车,如若转载,请注明出处:https://car.58.com/7154449/
