控制算法-Stanley前轮反馈控制法如何实现?

控制算法-Stanley前轮反馈控制法如何实现?_58汽车

本文基于B站up主小黎的Ally的路径规划与轨迹跟踪系列算法学习视频,对Stanley前轮反馈控制法进行了深入探讨。文章首先分析了横向误差和航向误差的计算方法,指出在不考虑横向跟踪误差时,车辆的航向角应等于P1点切线与x轴的夹角。随后,通过Python程序演示了控制算法的实现过程,并对比了不同预瞄距离设置对控制效果的影响。作者还指出了原作者在计算theta_phi时的错误,并提出了改进方法。最后,文章还提供了其他实现控制算法的参考程序。通过本文的学习,我们可以更深入地理解Stanley前轮反馈控制法的实现原理和方法。文章通过对比分析和程序演示,帮助读者掌握横向误差和航向误差的计算,以及如何选择合适的预瞄距离来优化控制效果。同时,作者还指出了原作者在实现过程中的不足,并提出了改进方案,为读者提供了更多的参考和启示。总的来说,本文内容丰富、逻辑清晰,对于学习路径规划与轨迹跟踪算法具有很高的参考价值。控制算法-Stanley前轮反馈控制法如何实现路径规划与轨迹跟踪?本文深入探讨了Stanley前轮反馈控制法的实现原理和方法。首先,文章分析了横向误差和航向误差的计算,指出在不考虑横向跟踪误差时,车辆的航向角应等于P1点切线与x轴的夹角。接着,通过Python程序演示了控制算法的实现过程,并对比了不同预瞄距离设置对控制效果的影响。作者还指出了原作者在计算theta_phi时的错误,并提出了改进方法。最后,文章提供了其他实现控制算法的参考程序。通过本文的学习,读者可以更深入地理解Stanley前轮反馈控制法的实现原理,掌握横向误差和航向误差的计算方法,以及如何选择合适的预瞄距离来优化控制效果。同时,作者还指出了原作者在实现过程中的不足,并提出了改进方案,为读者提供了更多的参考和启示。

本文是基于B站up主(小黎的Ally)的路径规划与轨迹跟踪系列算法学习视频做的课程笔记。

分开航向误差和横向误差分别讨论,在不考虑横向跟踪误差说明e_{y}=0,在不考虑航向误差的时候,说明此时车辆的航向角就等于P1点切线与x轴夹角。

随着时间的增加,横向误差趋近于0,PPT有错。

Python程序:

结果为:

其中,蓝色的轨迹为参考轨迹,黑色点为车辆实际跟踪轨迹坐标。

上图是我将程序中的寻找P2点的一个增大预瞄距离的经验值改为32的效果,按照原作者将其设置为5时的结果不知道为什么是发散的,如下图。我的路径文件是之前贝塞尔曲线法生成的一段路径。

感觉按照作者寻找P2点的方式会有很大的随机性,这里不是很理解。

补充:原作者在计算theta_phi的时候其实是有错的,theta_phi应该等于P1在参考轨迹上的切线与x轴的夹角减去当前车辆位置的航向角。所以程序里寻找预瞄点的方法是不可取的。

其他实现可以参考如下程序:

2022年4月8号,花菜加油!

以上内容由58汽车提供。如有任何买车、用车、养车、玩车相关问题,欢迎在下方表单填写您的信息,我们将第一时间与您联系,为您提供快捷、实用、全面的解决方案。

原创文章,作者:58汽车,如若转载,请注明出处:https://car.58.com/6890315/