自动驾驶路径跟踪控制——纯追踪控制

article/2025/8/30 0:26:47

文章目录

  • 1.自行车模型(汽车二自由度模型)
    • 注意点
      • Point1
      • Point2
  • 2.纯追踪控制
    • 注意点
      • Point1
      • Point2
      • Point3
  • 3.相关代码
  • 参考文献
  • 声明

    全局路径由一系列路径点构成,这些路径点只要包含 空间位置信息即可,也可以包含 姿态信息,但是 不需要与时间相关,这些路径点被称为 全局路径点
    路径(Path)和轨迹(Trajectory)的区别就在于, 轨迹还包含了时间信息,轨迹点也是一种路径点,它在路径点的基础上加入了 时间约束
    目前的主流轨迹跟踪方法分为两类: 基于几何追踪的方法和基于模型预测的方法
    本节介绍一种广泛使用的 基于几何追踪的方法——纯追踪法(Pure Pursuit)。

1.自行车模型(汽车二自由度模型)

详见这篇文章无人驾驶汽车系统入门(五)——运动学自行车模型和动力学自行车模型
在这里插入图片描述

注意点

Point1

    自行车模型基于如下几个假设:
    忽略车辆在垂直方向的运动,即假定车辆是一个二维平面上的运动物体。
    假设车辆的结构就像自行车一样,即车辆的前面两个轮胎拥有一致的角度和转速,后面的两个轮胎也是如此,那么前后轮两个轮胎就可以用一个轮胎来描述。
    假设车辆运动也与自行车一样,意味着前面的轮胎控制车辆的转角

Point2

几何自行车模型
在这里插入图片描述
    自行车模型实际上是对阿克曼转向几何的一个简化。它简化了前轮转向角与后轴将遵循的曲率之间的几何关系 tan ⁡ ( δ ) = L R \tan (\delta ) = \frac{L}{R} tan(δ)=RL     δ表示前轮的转角,L为轴距(Wheelbase),R则为在给定的转向角下后轴遵循着的圆的半径。

    这个公式能够在较低速度的场景下对车辆运动做估计

2.纯追踪控制

详见这篇文章 无人驾驶汽车系统入门(十八)——使用pure pursuit实现无人车轨迹追踪

注意点

Point1

    从自行车模型出发纯跟踪算法以车后轴为切点, 车辆纵向车身为切线, 通过控制前轮转角,使车辆可以沿着一条经过目标路点(goal point)的圆弧行驶在这里插入图片描述
    通过正弦定理求出曲率、偏转角与车轴之间的关系。 k = 2 sin ⁡ α l d k = \frac{{2\sin \alpha }}{{{l_d}}} k=ld2sinα    ld表示车辆当前位置到目标路点的距离, α表示目前车身姿态和目标路点的夹角
    前轮的转向角δ的表达式为: δ = arctan ⁡ ( k L ) \delta = \arctan (kL) δ=arctan(kL)    纯追踪算法控制量的的最终表达式: δ ( t ) = arctan ⁡ ( 2 L sin ⁡ ( α ( t ) ) l d ) \delta (t) = \arctan (\frac{{2L\sin (\alpha (t))}}{{{l_d}}}) δ(t)=arctan(ld2Lsin(α(t)))

Point2

    为了更好的理解纯追踪控制器的原理,我们定义一个新的量:el—— 车辆当前姿态和目标路点在横向上的误差,由此可得夹角正弦: sin ⁡ ( α ) = e l l d \sin (\alpha ) = \frac{{{e_l}}}{{{l_d}}} sin(α)=ldel    圆弧的弧度就可重写为: k = 2 l d 2 e l k = \frac{2}{{l_d^2}}{e_l} k=ld22el    考虑到本质是横向上的CTE,由上式可知纯追踪控制器其实是一个横向转角的P控制器,其P系数为 2/(ld)2;
    这个P控制器受到参数 ld(即前视距离)的影响很大,如何调整前视距离变成纯追踪算法的关键
    通常来说,ld 被认为是车速的函数,在不同的车速下需要选择不同的前视距离
一种最常见的调整前视距离的方法就是将前视距离表示成车辆纵向速度的线形函数,即 l d = k v x {l_d} = k{v_x} ld=kvx,那么前轮的转角公式就变成了: δ ( t ) = arctan ⁡ ( 2 L sin ⁡ ( α ( t ) ) k v x ( t ) ) \delta (t) = \arctan (\frac{{2L\sin (\alpha (t))}}{{k{v_x}(t)}}) δ(t)=arctan(kvx(t)2Lsin(α(t)))     那么纯追踪控制器的调整就变成了调整系数k。

Point3

    通常来说,会使用最大、最小前视距离来约束前视距离,越大的前视距离意味着轨迹的追踪越平滑,小的前视距离会使得追踪更加精确(当然也会带来控制的震荡)在这里插入图片描述    驾驶员在实际驾驶过程中会观察车辆前方一定距离范围内的道路信息,以获得一定的预见性,提前对车辆进行调整,从而取得良好的控制效果。
    在路径跟踪过程中,前视距离与车速的大小有直接的关系。当车速较高时,需要较大的前视距离;当车速较低时,较小的前视距离可以达到很好的跟踪精度.

3.相关代码

Pure Pursuit纯跟踪算法Python/Matlab算法实现

参考文献

[1] 纯追踪算法论文
[2] 孙怀江,杨静宇.关于纯追踪模型的讨论[J].计算机学报,2002(12):1445-1449.
[3] 孙木楠,孙怀江.纯追踪模型研究[J].机器人,2001(S1):612-615.DOI:10.13973/j.cnki.robot.2001.s1.010.
[4] 无人驾驶汽车系统入门(五)——运动学自行车模型和动力学自行车模型
[5] 吕文杰,马戎,李岁劳,付维平.基于纯追踪模型的路径跟踪改进算法[J].测控技术,2011,30(07):93-96+100.DOI:10.19708/j.ckjs.2011.07.024.
[6] 无人驾驶汽车系统入门(十八)——使用pure pursuit实现无人车轨迹追踪


声明

本人所有文章仅作为自己的学习记录,若有侵权,联系立删。


http://chatgpt.dhexx.cn/article/3Fb3baik.shtml

相关文章

超强实时跟踪系统首次开源!支持跨镜头、多类别、小目标跟踪!

在琳琅满目的视觉应用中,对车辆、行人、飞行器等快速移动的物体进行实时跟踪及分析,可以说是突破安防、自动驾驶、智慧城市等炙手可热行业的利器。 但要实现又快又准的持续跟踪,往往面临被检目标多、相互遮挡、图像扭曲变形、背景杂乱、视角差…

车辆路径跟踪算法及数学模型

一、纯追踪算法 基于当前车辆后轮中心位置,在参考路径上向Ld(自定义)的距离匹配一个瞄准点,假设车辆后轮中心点可以按照一定的转弯半径R行驶抵达该瞄准点,然后根据预瞄准距离Ld,转弯半径R,车辆…

五、车辆轨迹追踪的优化控制

5.1、车辆横向动力学模型 车辆动力学模型一般包括用于分析车辆平顺性的质量-弹簧-阻尼模型和分析车辆操纵稳定性的车辆-轮胎模型。两者研究的侧重点不同,平顺性分析的重点是车辆的悬架特性,而车辆的操纵稳定性分析的重点是车辆纵向和侧向力学特性。车辆…

PyCharm Professional 2016.1 破解 激活

接上一篇博文,尝试着激活一下 PyCharm Professional 2016.1, 居然也成功了。 方法同样来自 Rover12421 大神。 1.从官网下载 PyCharm Professional 2016.1 安装。 2.下载 破解补丁 并解压,记住路径 3.编辑 PyCharm 安装目录下 bin 文件夹中的…

Python:PyCharm 永久破解方法,真的超超超超超超超超超级简单!!!

准备工作: 1.破解包 >>>下载链接>>> 提取码:jjbf 2.注册码 .>>>获取地址>>> 第一步 进入PyCharm 的安装目录的bin文件夹下,把破解包放到该目录。 第二步 把bin 目录下的 pycharm.exe.vmoptions 和…

Pycharm Professional(专业版)完美破解,永久激活

PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Djang…

【pycharm】WiFi密码破解【简单易学】

文章目录 前言一、环境搭建准备好密码的字典包安装pywifi 二、破解源码三、实现结果总结 前言 今天断网,突然想借一下邻居的WiFi,居然破天荒的成功了,感觉也是很幸运吧,所以就来分享一下 一、环境搭建 准备好密码的字典包 假设…

linux下载安装pycharm专业版(含破解)

参考: https://blog.csdn.net/sinat_41029600/article/details/80594993 https://blog.csdn.net/c2366994582/article/details/79146370 下载 https://www.jetbrains.com/pycharm/download/#sectionlinux 安装 进入到pycharm下载目录,将软件移动到/o…

pycharm解密

第一题 Y3liZXJwZWFjZXtXZWxjb21lX3RvX25ld19Xb3JsZCF9 要求我们将上面这串东西用base64解密 我们在第一行调用base64,将上面那串字符赋值给a,再用 base64.b64decode(a).decode("utf-8") 对a进行解密,然后赋值给b,最…

Pycharm 2017.3.3永久破解

目录 一、文档编写的目的 二、破解步骤 2.1 下载ideaIU-2017.3.5.exe安装包 2.2 下载破解码 JetbrainsCrack-2.6.10-release-enc.jar 2.3 安装pycharm-professional-2017.3.3.exe 2.4 启动激活 一、文档编写的目的 PyCharm是一种Python IDE,带有一整套可以…

linux下安装和破解pycharm专业版

首先在官网下载pycharm专业版,网址:http://www.jetbrains.com/pycharm/download/#sectionlinux通过右键提取到此处,可以解压缩(.tar.gz格式相当于Windows下的.rar/.zip),或者通过命令行解压缩(先cd 到文件所…

Python的下载与Pycharm安装以及破解

python的安装 1.访问python官网https://www.python.org/,选择Downloads,选择Windows,然后点击Python 3.6.4; 2.打开下载好的安装包,勾选Add Python 3.6 to PATH ,然后选择默认路径或者其他路径安装。如果选择其他路…

pycharm for ubuntu的永久破解

结合自己走的流程,网上资料有些不全,自己没截图就借用下他们的,自己亲自操作了,没问题, 以上是我自己搭建好的环境; 下面介绍步骤: 1.下载安装python 网址:http://www.jetbrains…

【20190320】pycharm 永久破解(推荐第二种)

PyCharm是由著名的JetBrains公司所打造的一款功能强大的Python IDE,它具有一般IDE都具备的功能,并且使用起来非常方便好用。最近需求PyCharm激活码的网友非常多,小编就在这里给大家分享一下PyCharm2019最新可用的激活注册码。激活Pycharm专业…

安装专业版Pycharm并破解激活

1.下载pycharm的profession版本:http://www.jetbrains.com/pycharm/download/ 2.下载到本地后解压提取文件然后用命令进入到/pycharm-professional-2018.3.2/pycharm-2018.3.2/bin下: 3.到http://idea.lanyus.com/网址下下载破解补丁,直接下…

Pycharm2018.2永久破解

Pycharm是一款非常好用的python IDE,提供专业版和社区版,就像eclipse和myeclipse一样,专业版是收费的,而社区版是免费的但功能就没有专业版的功能强大。 1.Pycham下载 https://www.jetbrains.com/pycharm/download/#sectionwindo…

Pycharm下载+安装+破解

安装 进入到Pycharm官网下载区域,选择与系统对应的下载包然后点击下载: https://www.jetbrains.com/pycharm/download/#sectionwindows 破解 https://blog.csdn.net/u014044812/article/details/78727496 汉化 https://blog.csdn.net/u014044812/ar…

pycharm 安装激活破解方法

1、pycharm下载安装 https://www.jetbrains.com/pycharm/ 2、打开http://idea.lanyus.com/下载破解补丁 3、将补丁复制到pycharm安装目录的bin目录下 D:/Program Files/JetBrains/PyCharm 2018.3/bin 4、修改该bin目录下的pycharm.exe.vmoptions(32位的文件&…

PhpStorm/IDEA/clion/pycharm 的破解与激活

安装完软件后,启动,在要求输入注册码的界面(菜单栏 ⇒ help ⇒ register)选择“License server”输入“http://idea.lanyus.com/”点击“OK”快速激活。 如果这种方式破解,点击 OK 按钮之后,出现红色错误提…

Pycharm破解方法

3.破解补丁激活 优点:到期时间为2099年,基本为永久啦缺点:相对服务器激活麻烦些,但是一共只需要3个步骤,其实并不麻烦 下载 https://pan.baidu.com/s/1mcQM8CLUnweY02ahKEr4PQ 并将 JetbrainsCrack-release-enc.jar 放…