[运动控制算法]Pure Pursuit纯路径跟踪算法
纯路径跟踪
Pure Pursuit是一种用于路径跟踪的控制算法。它通过计算角速度控制机器人从当前位置移到机器人前方的某个预瞄点。假定线速度是恒定的,当然可以随意更改机器人的线速度。该算法会根据机器人的当前位置在路径上移动预瞄点,直到路径的终点。可以想象成机器人不断追逐它前面的一个点。参数LookAheadDistance就决定将预瞄点放置有多远。
Pure Pursuit并不是传统的控制器,而是充当着跟踪算法的角色,用于跟随路径,航向点的信息是唯一的,可以指定所需的线速度及最大角速度。给定机器人的位姿(位置和方向)作为输入,Pure Pursuit会计算机器人的线速度和角速度命令。机器人如何使用这些命令取决于你所使用的系统,因此请考虑给定这些命令的机器人如何执行动作。LookAheadDistance参数它告诉机器人在跟踪路径上要走多远。
参考坐标系
重点是了解Pure Pursuit算法对其输入和输出使用的参考坐标系,如下图显示了参考坐标系。输入的航路点是[x ,y]坐标,用于计算机器人速度命令。机器人的姿态作为点的姿态和方位(theta)列表输入[x, y, theta]。
预瞄距离
LookAheadDistance参数是整个Pure Pursuit控制器的重要参数。往前看的距离是机器人从当前位置应沿着路径观察的距离,以计算角速度命令。下图显示了机器人和预瞄点。如图所示,实际的路径与追踪路径是不匹配的。
更改预瞄距离可以改变机器人路径追踪的方式。较小的预瞄距离可以使机器人更加精确地追踪实际的路径,但是可能会使机器人在追踪路径时产生振荡,较大的预瞄距离可以减少机器人沿路的振荡,但最追踪的路径可能不够精确,也会导致拐角处附近的曲率变大。
预瞄距离的调整需要根据机器人运行的实际情况来进行调整。
总结
Pure Pursuit在低速小在情况下合理调整LookAheadDistance参数可以实现较好的路径跟踪效果,较小的预瞄距离能使机器人更加精确地追踪路径,但可能会引起机器人控制的不稳定甚至震荡;较大的预瞄距离可以使机器人跟踪路径更加平滑,但不能精确地跟踪原始的路径,在大转角处会出现转向不足的情况。
参考
https://ww2.mathworks.cn/help/nav/ug/pure-pursuit-controller.html
[运动控制算法]Pure Pursuit纯路径跟踪算法相关推荐
- 路径跟踪算法之PID路径跟踪与PP跟踪
路径跟踪算法之PID路径跟踪与PP跟踪 1路径跟踪原理 2 常见的路径跟踪算法 2.1 Pure puresuit(pp)纯跟踪 2.2 PID 跟踪 1路径跟踪原理 在运用好的路径规划算法,规划好一 ...
- 同伦算法matlab程序,一种新的基于Matlab环境的同伦路径跟踪算法
MATLAB 第28卷第5期2007年5月 东北大学学报(自然科学版) V01.28.No.5 JournalofNortheasternUniversity(NaturalScience) May ...
- Pure Pursuit纯跟踪算法Python/Matlab算法实现
本文的python源代码来自: https://github.com/gameinskysky/PythonRobotics/blob/master/PathTracking/pure_pursuit ...
- pure pursuit纯跟踪
Pure Pursuit是一种几何追踪方法,速度越小,performance越好; :汽车前轮转角 L:前后轮轴距(车长) R:转弯半径 将车辆模型简化为自行车模型(这里默认左轮和右轮的旋转是一致的) ...
- 六自由度机器人(机械臂)运动学建模及运动规划系列——避障路径规划算法补充:粒子群算法(PSO)
上一篇介绍了遗传算法,本篇接着介绍应用于路径规划的另一种算法--粒子群算法(PSO),主要介绍算法的理论基础以及实现流程等. 本篇目录 1. 算法起源与理论基础 2. 算法实现流程 (1)粒子群初始化 ...
- 六自由度机器人(机械臂)运动学建模及运动规划系列——避障路径规划算法补充:遗传算法
上一篇介绍了蚁群算法,本篇介绍路径规划的另一种经典算法--遗传算法,主要介绍算法原理,流程以及在路径规划中的应用示例. 目录 1. 理论基础 2. 算法实现流程 3. 路径规划应用示例 4. 总结 1 ...
- 自动驾驶规划控制(A*、pure pursuit、LQR算法,使用c++在ubuntu和ros环境下实现)
文章目录 1 目录概述 2 算法介绍 2.1 Astart改进 2.2 ROS(Gazebo仿真) 2.2.1 使用Gazebo仿真需要安装的功能包 2.2.2 创建工作空间 catkin_ws 2. ...
- 自动驾驶笔记-轨迹跟踪之①纯跟踪算法(Pure Pursuit)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.阿克曼转向模型 1.1 模型理解 1.2 模型表达 二.纯跟踪算法(Pure Pursuit) 2.1 算法理解 ...
- 自动驾驶路径跟踪控制——纯追踪控制
文章目录 1.自行车模型(汽车二自由度模型) 注意点 Point1 Point2 2.纯追踪控制 注意点 Point1 Point2 Point3 3.相关代码 参考文献 声明 全局路径由一系 ...
最新文章
- 轨道阱 matlab,赛默飞四极杆-轨道阱液质联用仪核心参数详解
- JAVA_OA(六):SpringMVC拦截器
- POJ_2593最大两不想交子段和问题
- rxjs里concatMap operators的用法
- 设计师必备的html工具
- 别忘了当初你为何出发
- 三连击(升级版)(洛谷-P1618)
- 05-04 docker 搭建 Selenium Hub
- Centos6.x 64位 安装JDK
- spark 安装与使用 educoder
- 【快速幂】a^b%p问题
- 手机安装python模块吗_你不知道的Python模块安装教程
- java使用poi导出excel 包括多个工作簿
- OneZero第三周第一次站立会议(2016.4.4)
- 简单谈谈阿里云和腾讯云的差别
- 微信视频号值不值得去做
- 直播预告|无监督学习的公平性研究——美国布兰迪斯大学助理教授刘洪甫
- 基础的JavaScript编码规范
- python解决租房问题_高德API+Python帮你解决租房问题
- SpringBoot 实现大文件视频转码(转码基于FFMPEG实现)
热门文章
- 【雷达通信】基于matlab大规模MIMO三维信道【含Matlab源码 2105期】
- Flutter Container 设置最大最小宽高
- 请看今日之域中,竟是谁家之天下!-----------2021 年 7 月 TIOBE 指数,“三国争霸”最终谁能登顶?他们的命运掌握在各位大佬的手中
- 详细介绍知识图谱技术
- 你还在@微信官方,我来教你用Python生成你想要的微信头像
- 自定义滚动条样式 -webkit-scrollbar
- uva11825(状态压缩+枚举子集)黑客的攻击
- 当 AI 应用在心理健康领域是怎样的体验? #Woebot Health
- android面试题(深度解析)
- 记一次有授权的渗透测试