自动驾驶规划轨迹 — 贝塞尔曲线

在自动驾驶中,路径规划包含全局路径规划和局部路径规划,全局路径规划的结果可以是一系列首尾相连的lane组成或者比较粗糙的路径点集。局部路径规划则通常是符合运动学约束的连续曲线构成的离散点,那这条曲线应该如何表达呢?通常我们表达二维平面曲线的时候有两种方式,单值函数和参数方程。

单值函数:

这种方式y是x的单值函数,耦合性强,自动驾驶中一般不会使用这种方式。

参数方程:

–1 距离:

每个参数p代表了曲线上的某一个点,在某一点也就是某个参数p的位置无穷小的一段ds可以近似为一条直线,那也就是这个p附近的dx dy三角形组成的斜边:

这里我们求出了距离求解的积分形式,但是通常我们是无法得到积分的原函数,也无法得到解析解。所以在离散环境中,我们还是会使用数值积分的方式,将曲线离散成n个离散点,累计求和多个离散点之间的欧式距离来计算距离。

–2 切向角:

–3 曲率:

这里用到了链式法则、反正切函数求导、商求导。

以上我们对一条参数曲线进行了描述,p是控制参数,每个p对应了一个轨迹点,并且可以通过数值解求得对应的距离,通过解析解求得对应的切向角和曲率。

贝塞尔曲线也被称为贝塞尔多项式,是一种由一系列控制点所定义的平滑曲线。看了很多文档,有说次有说阶,大部分描述还是阶,n阶贝塞尔曲线就是n次贝塞尔曲线,方程中参数t最高也是n次,控制点是n+1个。

–1 贝塞尔曲线平滑、连续、基于控制点控制形状

–2 轨迹只能确定起点和终点,中间点无法确定

–3 改变一个控制点整体轨迹改变,牵一发动全身

微积分基础:导数(二)

(1)初等函数的导数

  • 常数函数:
  • 幂函数:
  • 指数函数:
  • 对数函数:
  • 三角函数:

例:定义在ℝ上的函数:

求导的具体步骤:

于是得到:。

(2)导数的四则运算

  • 加法规则:
  • 乘法规则:
  • 除法规则:
  • 链式法则(复合函数求导):

导数的导数称为高阶导数。例如:

  • 一阶导数:
  • 二阶导数:
  • n 阶导数:

高阶导数在物理学中常用于描述加速度、加加速度等。

  • 求切线方程: 函数 f(x) 在点 x = a 处的切线方程为:
  • 判断函数的单调性

如果 f\'(x) > 0 ,则 f(x) 单调递增;

如果 f\'(x) < 0 ,则 f(x) 单调递减。

  • 求极值

如果 f\'(a) = 0 且 f\’\'(a) > 0 ,则 f(x) 在 x = a 处有极小值;

如果 f\'(a) = 0 且 f\’\'(a) < 0 ,则 f(x) 在 x = a 处有极大值。

  • 优化问题: 导数可以用于求解最大值和最小值问题,例如在经济学中用于优化利润或成本。
  • 求函数的导数
  • 求函数的导数

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。