无人驾驶之车辆控制(1)纯跟踪(Pure Pursuit)算法与Stanley算法

引言

本文对Pure Pursuit以及Stanley control两种算法进行了调研以及初步的性能摸底。

1 Pure Pursuit纯几何跟踪算法

1.1 车辆运动学自行车模型

运动学是从几何学的角度研究物体的运动规律,包括物体在空间的位置、速度等随时间而产生的变化,因此,车辆运动学模型能反映车辆位置、速度、加速度等与时间的关系。基于运动学模型设计出的控制器也能保证对车辆底层执行层下发的指令是符合车辆运动学约束的。对于运动学自行车模型,我们一般做出如下假设:

  • 不引入任何会影响到车辆动作的力
  • 车辆只在xy平面上运动,在z轴(垂直方向)上的侧倾,前后俯仰等不考虑。
  • 车辆结构就像自行车,左右前轮的转角和转速一致,后轮也是一样。所以两个前轮和后轮各可只用一个轮胎来描述。(转向角小)
  • 前后轮的各自速度矢量和各自轮胎朝向一致,即假设轮胎无侧滑。
    而一般只有在低速状态下,轮胎产生的侧向力很小可忽略,所以该模型也主要应用于低速场景。

1.2 算法原理

在这里插入图片描述
上图所示为简化的车辆运动学自行车模型,其后轮中心在蓝色虚线表示的目标轨迹上。本算法通过控制前轮转角来追踪下一个路点,使车辆可以沿着经过目标预瞄点的圆弧行驶。其上涉及到的物理量如下表所示:

符号 物理量
R ( m ) R(m) R(m) 转弯半径
L ( m ) L(m) L(m) 轴距
δ ( r a d ) δ(rad) δ(rad) 前轮转角
α ( r a d ) α(rad) α(rad) 车身与预瞄点夹角
l d ( m ) l_d (m) ld(m) 预瞄距离
e ( m ) e(m) e(m) 与预瞄点的横向偏差
x r ( m ) x_r (m) xr(m) 预瞄点横坐标
y r ( m ) y_r (m) yr(m) 预瞄点纵坐标

通过正弦定理可以推出:
l d / ( s i n ⁡ ( 2 α ) ) = R / ( s i n ⁡ ( π / 2 − α ) ) l_d/(sin⁡(2α)) = R/(sin⁡(π/2-α)) l

  • 40
    点赞
  • 358
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Pure Pursuit算法是一种常用于自动驾驶的路径跟踪算法。它的基本思想是在车辆当前位置处,计算前方一定距离(通常称为“前视距离”)内距离车辆最近的路径点,并将该点作为目标点。然后根据目标点和车辆当前位置之间的距离和方向差,计算出转向角度,以控制车辆行驶方向。 具体实现时,需要首先确定目标点。可以采用如下方法: 1. 在地图上预先规划好路径,并将路径上的点作为路径点。 2. 以车辆当前位置为圆心,以前视距离为半径画一个圆,找到圆上距离车辆最近的一个点,作为目标点。 3. 如果当前已经超过了路径上的最后一个点,那么将路径上最后一个点作为目标点。 确定目标点后,需要计算车辆转向角度。可以采用如下方法: 1. 计算目标点与车辆当前位置之间的距离和方向差。 2. 根据路径特性和车辆特性,确定转向角度。这里采用的是追踪算法,即车辆直接朝向目标点前进,因此转向角度可以由目标点与车辆之间的方向差计算得出。 3. 根据转向角度,计算车辆的转向速度和前进速度,并控制车辆行驶方向。 需要注意的是,在实际应用中,还需要考虑一些细节问题,比如前视距离的选择、车辆的动态响应、路面状况等等。因此,Pure Pursuit算法通常会和其他算法一起使用,以实现更好的路径跟踪效果。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值