自动驾驶规划轨迹 — 贝塞尔曲线
在自动驾驶中,路径规划包含全局路径规划和局部路径规划,全局路径规划的结果可以是一系列首尾相连的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
文章为作者独立观点不代本网立场,未经允许不得转载。