自动驾驶笔记-轨迹跟踪之①纯跟踪算法(Pure Pursuit)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

近期因为工作需要开始接触轨迹跟踪算法,该系列为自己的学习笔记,均为入门级别,仅供学习使用,如有错误烦请指正。

本文记录了纯跟踪算法,包含了阿克曼转向模型部分。


一、阿克曼转向模型

这里加单介绍一下阿克曼转向模型,主要参考以下内容:

《转向阿克曼是个啥?内容太干了,慎入!》

1.1 模型理解

我们小时候学自行车,只要转动前轮就会拐弯。要是让前轮保持一定角度,自行车会做定圆运动。如果我们想象,车轮轴线跟着旋转的话,那么前轮轴线和后轮轴线的交点就是自行车做定圆运动的圆心。
自行车是个两轮模型,如果我们研究轿车的四轮模型的时候,会发现,如果轿车要绕着后轮轴线上的某一点做定圆运动的话,前轮的左右转角大小是不一样的。这时候,左右车轮转角的角度差,就是我们说的阿克曼角。
而且,我们还要明白一点,在这个定圆模型中,圆心是三个车轮的轴线共同确定的,如果前轮的某一条虚拟轴线不经过圆心,那么这个车轮就会产生相对滑动。

阿克曼角
车轮是绕着主销进行旋转的。如果要实现左右轮转角不一致,就要有一套特定的转向机构,如果这套机构是平行四边形的话,我们可以看到,左右前轮转角始终都是保持相同的角度,它们的轴线是不会交于一点的,这时候车辆转向时四个轮就不会绕着同一个点纯滚动。
如果我们把平行四边形的内点往里移动的话,这时候会发现前轮的左右转角不一样了。在某一个特定转角情况下,前轮的虚拟轴线和后轮的虚拟轴线会同时相交于一点,这时候,车辆的四个车轮就能绕着这个点做纯滚动运动。这种,理论上能让四个轮绕着某一点纯滚动的转向机构,我们叫转向梯形,也叫阿克曼几何。
平行四边形转向
转向梯形

1.2 模型表达

阿克曼转向模型
如图为阿克曼转向运动学模型示意图,由图可得:
1

自行车模型

将双轨的车辆模型转化为一个单轨的自行车模型后如上图,可得:

在这里插入图片描述
其中:L为车辆轴距;R为转弯半径;B为中心距。

更详细可参考
《无人驾驶-控制-阿克曼模型》
《阿克曼转向车运动学模型及在gazebo中搭建仿真环境》

二、纯跟踪算法(Pure Pursuit)

2.1 算法理解

纯跟踪
如上图所示为简化的车辆运动学自行车模型,其后轮中⼼在蓝色虚线表示目标轨迹上。本算法通过控制前轮转角来追踪下一个路点,使车辆可以沿着经过目标预瞄点的圆弧行驶。
3
4

2.2 算法特性

5
在实际应用中,通常不要求跟踪的目标点到本车后轴中⼼的距离切实等于预瞄距离,⽽是会选择采样好的一系列目标点中到后轴中⼼距离最接近预瞄距离的那个点来近似跟踪。这样做的好处是可以不需要目标轨迹的函数方程来求解真实预瞄距离坐标,极大地提升了算法的效率。

参考
《横向控制 | Pure Persuit(纯跟踪)算法》
《无人驾驶轨迹跟踪之纯轨迹跟踪(Pure Pursuit)》
《使用pure pursuit实现无人车轨迹追踪》
《无人驾驶-控制-纯跟踪(Pure Pursuit)》


总结

纯跟踪入门理解

  • 7
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
【资源说明】 课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip课程作业-USV路径跟踪LOS控制算法matlab仿真源码.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考 matlab开发相关算法、系统代码、设计文档、使用说明,供参考

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值