路径跟踪算法之PID路径跟踪与PP跟踪

本文探讨了路径跟踪的原理,介绍了纯跟踪(Pure Pursuit, PP)和PID控制在路径跟踪中的应用。PP算法常用于低速简单路径,而PID控制因其结构简单,被广泛用于无人驾驶路径跟踪。文章详细解释了这两种算法的工作机制,并提供了仿真案例和相关代码链接。

1路径跟踪原理

在运用好的路径规划算法,规划好一条从起点到目标点最优的路径后,如何
让机器人来寻着这条最优的路径走,便是路径跟踪(Path tracking)需要解决的问题。基于平面坐标系下设定一条理想的几何路径,然后要求机器人从某一处出发,按照某种控制规律到达该路径上,并实现其跟踪运动。
1.1 路径跟踪示意图

路径跟踪的实质是通过控制车辆的运动来减少车辆与参考轨迹之间的空间
误差,如果考虑轨迹的话,那么还包含了时间上的误差。

2 常见的路径跟踪算法

常见的路径跟踪算法可分为几何跟踪和模型跟踪:
几何跟踪是基于车辆的运动学几何结构,推导出控制量实现跟踪,常见的几何跟踪算法有纯跟踪算法(purePuresuit)、Stanley method 前轴控制、Rear_wheel_feedback 后轴控制等,其中后两者都是基于阿克曼模型实现的,而 pp 跟踪是在双轮乃至四轮差速模型和阿克曼模型中都相应的应用。

模型跟踪则是基于算法求解模型,结合机器人运动学与动力学的控制规律,通过最优解或稳定性调节等方式计算得到跟踪控制量的跟踪控制方式,常见的模型跟踪算法有很多,比如经典的 PID 控制、滑膜控制、线性二次型调节器控制、模型预测控制(MPC)等,不同的控制方式对应着不同的模型系统,可以是线性的,也可以是非线性的,可以是模型精度高的,也可以是不需要明确模型的,建模方式呈现多样化。

下面对最常见的路径跟踪算法-PP跟踪算法和PID跟踪算法的原理实现及应用进行展开叙述.

2.1 Pure puresuit(pp)纯跟踪

纯跟踪算法(以下简称 pp 算法)在低速情况下运用得非常广泛,其主要原理基于机器人圆弧轨迹运动的特性,建立目标点和机器人当前位置之间的几何关系表达式,从而得出机器人当前时刻的角速度控制量。
双轮差速移动机器人模型为例,根据机器人圆弧运动的特性,在物理学上得出小车运动线速度v,角速度w及运动半径r之间的关系如下:
在这里插入图片描述
曲率与半径之间的固定关系如下:
在这里插入图片描述
双轮差速小车运动示意图
如图 所示,以小车自身的局部坐标系为基准坐标系,小车的当前位置P(x0,y0),为原点,目标点选定为P(xg,yg)。目标点与小车当前位置的距离 L 通常称为前视距离,在坐标系中表达式如下:
在这里插入图片描述
另,从圆弧运动的几何关系上可得:
在这里插入图片描述
联立式 1-3,式 1-4,式 1-5 可得基于前视距离和横向距离的运动半径表达式:
在这里插入图片描述
联立 1-1,式 1-2,式 1-6,得出给定线速度下的角速度调节量:
在这里插入图片描述
设置固定的前视距离和路径曲率肯定无法适应不同的路径,因此就需要对于
前视距离的计算方法进行研究改进。从平时我们开车时的习惯来讲,我们会根据不同驾驶速度和不同路段,进行判断合适的视线跟踪点。因此,我们就可以将这个过程抽象出来,加以处理,形成一个选择前视距离的规则。一般情况下,纵向速度在路径曲率较大的地方应做减速处理,而前视距离与纵向速度呈正比关系。
下图是双轮差速模型 pp 算法跟踪仿真效果图。
请添加图片描述
其实根据 pure pursuit 的原理可以知道,其跟踪效果很大程度上取决于前视距离 ld 的选择。该算法多数用于一些简单低速的场景;对于一些复杂的路径跟踪效果可能会比较差,例如 U 型/S 型等曲线路径。但是 pp 跟踪的算法实现直观简洁,跟踪流程设计稳定高效,在低速导航领域应用广泛。

2.2 PID 跟踪

PID 控制方法具有结构简单、调整方便等特点,被广泛应用。当被控对象的模型结构和参数不全,可以采用 PID 控制,其参数通过经验和现场调试来确定。
PID 控制原理
在路径跟踪控制中,根据轨迹的纵向/横向误差、角度/曲率误差或者若干车
辆姿态状态变量的综合误差,利用比例、积分、微分参数计算出跟踪已有路径所需的方向盘转角,完成机器人的轨迹跟踪目。
PID 控制算法在无人驾驶路径跟踪中普遍运用,apollo 的开源平台代码的轨迹跟踪部分的纵向控制便是基于三个 PID 控制环控制刹车、油门、档位等实现对车速的控制。PID 控制算法不需要被控对象的模型结构和参数,只需要得到车辆与目标轨迹之间的偏差就可以达到很好的控制效果。如图所示是基于机器人与路径横/纵向误差及航向量误差综合控制律简单实现的 PID 路径跟踪仿真图。
请添加图片描述
PID 算法的缺点在于,针对不同的模型或者路径状况,可能需要不同的 PID参数才能实现稳定控制,PID 参数的标定有时需要大量的实验测试;同时纯 PID的鲁棒性并不好,抗干扰能力不强,由于是基于反馈控制的方式,控制量是滞后输出的。PID 控制的一些改进控制方式包括模糊 PID,神经网络 PID 等。

这里附上参考博客:
基于pid的路径跟踪_智驾技术 | 路径跟踪控制

这里附上相关仿真代码链接:
1.pp跟踪仿真代码链接(非免费哦,技术问题可以私信交流)
2.pid仿真代码链接(非免费哦,技术问题可以私信交流)

内容概要:本文档系统介绍了基于MPC、PID、Stanley、PP等多种经典控制算法的车辆横向轨迹跟踪系统,依托MATLAB/SimulinkCarsim联合仿真平台进行建模验证,重点阐述了各控制算法在自动驾驶车辆横向控制中的核心原理实现方法。资源包含完整的联合仿真模型详细的运行说明文档,涵盖模型预测控制(MPC)的滚动优化反馈调节、PID的比例积分微分控制逻辑、Stanley算法的前视导向机制以及纯追踪(PP算法的几何路径跟踪原理,充分体现了控制策略在车辆动力学路径跟踪精度之间的权衡优化。; 适合人群:适用于具备一定MATLAB/SimulinkCarsim使用经验,且从事自动驾驶、车辆工程、控制理论控制工程等相关领域的研究生、科研人员及工程技术开发者,尤其适合正在进行轨迹跟踪控制算法研究、仿真验证性能对比的专业人员。; 使用场景及目标:① 深入掌握MPC、PID、Stanley、PP等主流控制算法在车辆横向控制中的建模思路实现细节;② 学习并实践SimulinkCarsim联合仿真的构建流程、接口配置参数整定方法;③ 支持高校科研项目、学位论文、算法对比实验及智能驾驶系统开发中的仿真测试性能评估。; 阅读建议:建议结合提供的完整仿真模型文件,严格按照联合运行说明文档逐步操作,重点关注各算法控制模块的设计逻辑、参数设置差异及其对轨迹跟踪效果的影响,推荐在仿真过程中对比不同算法的响应速度、稳定性和跟踪误差,以深化对控制性能的理解优化能力。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

>_<!

码字不易,如有帮助,欢迎鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值