自动驾驶控制算(Pure Pursuit)--基础知识篇

纯跟踪算法(Pure Pursuit)是一种用于自动驾驶车辆路径跟踪的几何追踪方法,速度越小,performance越好。该算法建立于自行车模型和阿克曼小车模型的基础上。算法的指令流程是通过选择目标路径上的一个点,然后通过控制方向盘来控制车辆到达那个点,然后再使用同样的方式到达下一个点,当所有的点都跟踪上之后,也就完成了轨迹跟踪。类似于人类驾驶习惯,在参考轨迹上选取离车辆当前位置一定距离的点作为预瞄点,通过调整方向盘转角(前轮转角),控制车辆沿圆轨迹驶向预瞄点,如图所示
在这里插入图片描述

算法原理

Pure Pursuit将车辆模型简化为自行车模型(这里默认左轮和右轮的旋转是一致的),通过调整前轮转角,使车子进行画弧运动,从而逼近预瞄点,来消除横向偏差的横向控制算法,算法本质上是一个P控制器,输入为横向位置误差,输出为前轮转角,该算法的的参考点为后轴中心点。
其中OP和OA为以O为原点,与车身相切与点A(后轴中心-参考点)的圆在这里插入图片描述

OA与AB垂直,L围为前后轴的距离,计算后的输出为前轮与车身的夹角算法解释>为了使车辆后轴中心点跟踪圆弧虚线路径到达C点,在三角形OAC中,需要满足的正弦定理关系,
在这里插入图片描述
在这里插入图片描述

结合图中几何关系,根据在阿克曼转向中可近似得出
在这里插入图片描述
又因为三角关系,可以求出下列的第一个等式,联合上面求出的等式
在这里插入图片描述
根据上面等式可以得到:纯跟踪控制的效果取决于预瞄距离的选取,预瞄距离越长,前轮转角变化会越小,控制效果会越平滑,预瞄距离越短,控制效果会更精确,但也会带来一定的震荡。由于车速越快单位时间内车辆移动距离会越长,我们选取的预瞄距离应该更远,因此对于预瞄距离的选取应该与车辆的速度成正比在这里插入图片描述

算法的特点

  • 短的预瞄距离提供更精确的跟踪,而较长预瞄距离提供更平滑的跟踪。
  • 参数k值太小将导致不稳定,而k值太大将导致跟踪精度下降。
  • 高水平的鲁棒性:例如,对路径中的不连续性的良好处理。
  • 弯道跟踪中,随着速度的增加,稳态误差也增大。
Pure Pursuit算法是一种常用于自动驾驶的路径跟踪算法。它的基本思想是在车辆当前位置处,计前方一定距离(通常称为“前视距离”)内距离车辆最近的路径点,并将该点作为目标点。然后根据目标点和车辆当前位置之间的距离和方向差,计出转向角度,以控制车辆行驶方向。 具体实现时,需要首先确定目标点。可以采用如下方法: 1. 在地图上预先规划好路径,并将路径上的点作为路径点。 2. 以车辆当前位置为圆心,以前视距离为半径画一个圆,找到圆上距离车辆最近的一个点,作为目标点。 3. 如果当前已经超过了路径上的最后一个点,那么将路径上最后一个点作为目标点。 确定目标点后,需要计车辆转向角度。可以采用如下方法: 1. 计目标点与车辆当前位置之间的距离和方向差。 2. 根据路径特性和车辆特性,确定转向角度。这里采用的是纯追踪算法,即车辆直接朝向目标点前进,因此转向角度可以由目标点与车辆之间的方向差计得出。 3. 根据转向角度,计车辆的转向速度和前进速度,并控制车辆行驶方向。 需要注意的是,在实际应用中,还需要考虑一些细节问题,比如前视距离的选择、车辆的动态响应、路面状况等等。因此,Pure Pursuit算法通常会和其他算法一起使用,以实现更好的路径跟踪效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值