写在前面:
🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝


🎭 人生如戏,我们并非能选择舞台和剧本,但我们可以选择如何演绎 🌟
感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行~~~



文章目录
  • 引言
  • 一、五次多项式在自动驾驶轨迹规划中的应用
  • 1、跃度的定义与舒适性的关系
  • 2、二次函数与Jerk最小化的关系
  • 3、边界约束条件
  • 4、泛函极值问题的引入
  • 二、求解带约束的泛函极值问题——五次多项式推导
  • 1、有界连续函数的选择
  • 2、边界条件对跃度的影响
  • 3、泛函极值问题的欧拉-拉格朗日方程
  • 4、广义欧拉-拉格朗日方程
  • 三、总结
  • 参考资料



引言

  各位小伙伴们大家好,本篇博客是自动驾驶决策规划算法数学基础的第一节,内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。

  本篇博客讲解五次多项式,五次多项式是规划论文里的常客,本节将详细解释五次多项式的特殊性。

  本节难度较大,但不是特别重要,所以如果不理解的话,记住结论就可以了。


一、五次多项式在自动驾驶轨迹规划中的应用

1、跃度的定义与舒适性的关系

  在车辆的运动规划中,非常重要的指标就是舒适性,衡量舒适性的物理量叫 跃度(Jerk)jerk 的定义是
【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划  其中, 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_02 为加速度,也就是说 *Jerk * 其实是加速度的导数, *Jerk * 的绝对值越小,【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_02

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_04,则 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_05,如果在 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_06 的时间内, Jerk 的绝对值都比较小,意味着在整个【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_06

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_04,什么样的 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09 会使得在 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_06 时间内的 Jerk 的绝对值变化平缓。绝对值的处理比较烦,一般改成平方,则问题变为要找到 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09,使得【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_12显然积分 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_13 是关于 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09 的泛函,积分值取决于 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_06

2、二次函数与Jerk最小化的关系

使积分 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_17取极小值的 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_18

注意【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_18 的定义域和值域都应该是实数,不能有虚数,因为 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_20【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_21【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_22

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_23,只要让其三阶导数为 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_23 就行,显然只要 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09 是二次或二次以下的函数即可。显然当 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09 是二次或者是二次以下的函数时,【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_27

  所以要让 Jerk【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_06 上的绝对值最小, 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09

3、边界约束条件

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_04,往往存在约束条件:
【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_31  有六个边界条件,但二次函数 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_32 只有三个系数 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_33

4、泛函极值问题的引入

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09,使得 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_27

满足带约束的泛函 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_17

  问题的答案就是 五次多项式,所以五次多项式在规划中具有非常特殊的地位,可以在任何有关规划的论文里看到它的身影。


二、求解带约束的泛函极值问题——五次多项式推导

1、有界连续函数的选择

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09 只可能是 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_06 上的有界连续函数。因为无论是无界函数还是有界间断函数,都会使 jerk 出现无穷大,显然无穷大不能让 Jerk 取最小值。如果是有界连续函数,不妨将 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_04 泰勒展开到二阶项:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_40  代入边界条件:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_41【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_42【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_43  最终可得到:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_44

2、边界条件对跃度的影响

  因为 Jerk 它是 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09 的三阶导数。所以 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_46【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_47【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_48 的值并不影响 Jerk,因为 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_46【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_47【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_48

  将六个边界条件恒等变形:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_52  又因为 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_46【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_47【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_48 不影响 Jerk 所以前面的三个条件可以去掉,约束了就变成:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_56  记 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_57,则有

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_58


  所以最终数学问题就变成了求 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_13

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_60


  下取极小值的 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09

3、泛函极值问题的欧拉-拉格朗日方程

  泛函极值的必要条件是 欧拉-拉格朗日方程(Euler- Lagrange)

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_62 取极小值的 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_63,满足 E-L 方程:
【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_64  用欧拉-拉格朗日方程计算泛函的极值,泛函是 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_13,有三个约束条件:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_60


  先用拉格朗乘子把带约束的泛函化为无约束的泛函:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_67


其中,【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_68

4、广义欧拉-拉格朗日方程

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_69【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_63三阶导 都有关。所以不能直接用上面只能处理一阶导数的欧拉-拉格朗日方程,得用广义欧拉-拉格朗日方程:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_71


  先算一下 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_72【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_自动驾驶_63 各阶导数的偏导:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_74

  代入 E-L 方程,可得到:

【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_多项式_75

  对六次导数积分:
【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_算法_76  最终得到五次多项式 【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_决策规划_09
【自动驾驶】决策规划算法 | 数学基础(一)五次多项式详解_笔记_78


三、总结

  五次多项式是带约束的 Jerk 的平方在整个区间内取极小值的最优解。所以五次多项式在规划中特别常见,在某些论文上经常看到,比如两个离散点的轨迹点怎么连接?一般都是用五次多项式连接。

  本篇博客到此结束,下一讲再见,欢迎关注!


参考资料

   自动驾驶决策规划算法第一章第一节 细说五次多项式


后记:

🌟 感谢您耐心阅读这篇关于 五次多项式详解 的技术博客。 📚

🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢

🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客,以便日后随时查阅。🚀

🚗 让我们一起期待更多的技术分享,共同探索移动机器人的无限可能!💡

🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀