在无人车的运动规划(Motion Planning)过程中,比如在速度规划和路径规划时经常会遇到这样的问题:

  • 速度规划:已知当前的速度信息,以及目标的速度信息,需要生成一条平滑的速度曲线,从当前速度到目标速度,同时这个过程中应尽可能保持平顺,避免急加速、急减速;
  • 路径规划:已知当前的位姿信息,以及目标的位姿信息,需要生成一条平滑的路径,连接当前位姿到目标位姿,同时这个过程中应尽可能保持平顺,避免在路径跟踪时方向盘打得很猛。

上述两个问题可以归结为:在二维空间中,给定起点和终点状态,计算一条连接两点的平滑曲线。

这里以速度规划为例,介绍用不同的多项式曲线来生成平滑的速度曲线。一般无人车的纵向控制量为加速度,因此,在生成速度曲线的过程中,还需要关注加速度曲线以及加加速度(即加速度的导数)的曲线变化。

如下图所示,在S-V图上,若已知起点和终点的速度状态,如何计算出一条平滑的速度曲线?在不考虑避障的情况,可以用直线连接,也可以用一定的曲线来连接。

速度状态包括:

  • s – distance,距离
  • v – velocity,速度
  • a – acceleration,加速度
  • j – jerk,加加速度

根据已知的速度状态信息,可分别采用不同的多项式曲线。

1、一次多项式曲线

在S-V图上,若已知起点和终点的距离、速度,可采用一次多项式曲线。

采用一次多项式曲线拟合,对应的S-vel,S-acc,S-jerk分别如下图所示,可以看到加速度在初始位置是突变的。在实际的车辆控制过程中,一是车辆实际的加速度不可能突变,必然造成实际的车辆加速度跟不上规划的加速度;二是这个过程加速度突变,制动会让车上的人很不爽。

2、三次多项式曲线

在S-V图上,若已知起点和终点的距离、速度、加速度,则可采用三次多项式曲线。

采用三次多项式曲线拟合,对应的S-vel,S-acc,S-jerk分别如下图所示。可以看到加速度是连续变化的,但加加速度在初始位置是突变的。同样在实际的车辆控制过程中,实际的车辆加速度跟不上规划的加速度;二是这个过程加加速度突变,也会让车上的人不爽。

3、五次多项式曲线

在S-V图上,若已知起点和终点的距离、速度、加速度、加加速度,则可采用五次多项式曲线。

采用五次多项式曲线拟合,对应的S-vel,S-acc,S-jerk分别如下图所示。可以看到加速度、加加速度都是连续变化的。因此采用五次多项式曲线来进行拟合,可以使纵向的加速度控制平顺变化。

上面展示用不同多项式来生成速度平滑曲线的方法,在路径规划中同理。

一般在路径规划时采用Frenet坐标系,即使用道路的中心线作为参考线,使用参考线的 切线向量法线向量 建立坐标系。如下图所示,这个S-D坐标系即为Frenet坐标系(有关Frenet坐标系的介绍可见上一篇文章)。

可用不同多项式来生成S-D换道轨迹,在不考虑避障的情况下,通常使横向的加加速度最小化来提高换道时的平顺性。

不连续曲线 highcharts_无人车运动规划中常用的方法:多项式曲线相关推荐

  1. 无人驾驶汽车系统入门——基于Frenet优化轨迹的无人车动作规划方法

    作者简介:申泽邦(Adam Shan),兰州大学在读硕士研究生,主攻无人驾驶,深度学习: 动作规划动作在无人车规划模块的最底层,它负责根据当前配置和目标配置生成一序列的动作.本文介绍一种基于Frene ...

  2. 无人驾驶汽车系统入门(十九)——分层有限状态机和无人车行为规划

    分层有限状态机和无人车行为规划 行为规划又称为行为决策,是无人车规划模块三层(任务,行为,动作)的中间层,本文将介绍行为规划的基本概念,设计核心,同时介绍一种具体的无人车行为规划方法--分层有限状态机 ...

  3. 无人驾驶汽车系统入门(二十一)——基于Frenet优化轨迹的无人车动作规划方法

    动作规划动作在无人车规划模块的最底层,它负责根据当前配置和目标配置生成一序列的动作,我们前面讨论的三次样条插值实际上只是一个简单的路径,而非我们最终能够执行的轨迹,本文介绍一种基于Frenet坐标系的 ...

  4. 【IEEE2014】EET:基于采样的机器人运动规划中的平衡勘探与开发

    EET:基于采样的机器人运动规划中的平衡勘探与开发 摘要: 本文提出了一种用于运动规划的探索/利用树(EET)算法.EET规划者故意用概率的完整性来换取计算效率.这种权衡使EET规划器能够比最先进的基 ...

  5. 第6章 - 多无人车系统的协同控制 --> 无人车运动原理

    第5章 - 二阶多智能体系统的协同控制 --> 连续时间系统编队控制[程序代码] 回到目录 第6章 - 多无人车系统的协同控制 --> 无人车模型分析 文章目录 6.1 无人车运动原理 6 ...

  6. 核心案例|中原工学院无人机无人车协同规划与智能控制验证平台

    项目名称:无人机无人车协同规划与智能控制验证平台 场       地:室内≥6m*6m*3m 关  键 词:多无人机.无人车协同规划.四旋翼无人机室内避障算法验证 核心案例|中原工学院无人机无人车协同 ...

  7. 数学建模中常用的方法

    数学建模中常用的方法:类比法.二分法.差分法.变分法.图论法.层次分析法.数据拟合法.回归分析法.数学规划(线性规划,非线性规划,整数规划,动态规划,目标规划).机理分析.排队方法.对策方法.决策方法 ...

  8. iOS开发中常用的方法

    iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...

  9. Cookie | Cookie的理论基础、Cookie中常用的方法

    目录 一:Cookie的理论基础 二:Cookie中常用的方法 一:Cookie的理论基础 (1)cookie怎么生成? ①session的实现原理中,每一个session对象都会关联一个sessio ...

最新文章

  1. YARN-2.7.3-源码分析系列2:启动脚本原理的分析
  2. latex参考文献Bib Tex的使用
  3. 渗透Xen hypervisor
  4. python-configparser模块
  5. 2016年3月1日Android实习笔记
  6. twitter数据集_大数据周报-201925
  7. padding和卷积的区别_TensorFlow笔记1——20.CNN卷积神经网络padding两种模式SAME和VALID...
  8. java防止上传恶意文件_从补丁分析到在野利用:揭秘CVE20201464 Windows文件签名验证绕过漏洞疑云...
  9. js来读写cookie操作
  10. windbg 修改内存和寄存器指令
  11. 【Elasticsearch】Elasticsearch如何物理删除给定期限的历史数据?
  12. python logging使用_[译]Python Logging 使用指南
  13. 【java笔记】Iterator迭代器 增强for
  14. dm7达梦7Linux安装包,【达梦】DM7安装部署 2 安装达梦7数据库软件
  15. 字节跳动实习生转正工资_【有效】字节跳动(头条/抖音)日常实习生内推
  16. android获取app使用时间,android如何获取系统里各个应用的使用时间
  17. 《统计学习方法》学习笔记(4)--k近邻法及常用的距离(or 相似度)度量
  18. 3GPP TS 23501-g51 中英文对照 | 4.2.3 Non-roaming reference architecture
  19. Docker Volume原理及使用
  20. Selenium 远程调用 Google Chrome 谷歌浏览器

热门文章

  1. python pexpect timeout_Python 的 pexpect 模块的问题
  2. python期末设计作品_期末作品检查
  3. 别小看这不起眼的电阻,里面有很多学问!
  4. 五一好礼70份免费送:示波器、开发板、焊台等!
  5. 关于CPU的12个硬核干货!
  6. 晶振,数字电路的心脏~
  7. 电子工程师,学会阅读Datasheet很重要!
  8. python中的doc_在windows 10上读取python中的.doc文件
  9. c语言将一个已知头结点的单链表逆序_C语言实现单链表逆序与逆序输出实例
  10. java中单例设计模式登记式单例类_java23种设计模式-创建型模式之单例模式