贝塞尔曲线参数化曲率公式推导及曲线优化
关于无人车点到点的路径规划,比如避障场景,常采用PH曲线,而贝塞尔曲线作为一种曲率连续的光滑曲线,也很常用,特别是在角点过渡,而特定场景下需要特定曲线形状,因此以关注的曲线的特征值为基,建立目标优化函数,求解得到符合特定要求的曲线。
本文是复现一篇文献的计算过程,但是结果中尚有不一致的情况,仅做参考,详情参考文献。
贝塞尔曲线曲率的公式推导
贝塞尔曲线公式:
对上式求导,得一阶导数为:
定义:
那么一阶导数的形式变为:
依次类推,二阶导数的形式为:
对于一般参数曲线P(t),其曲率的计算公式为:
在文中将曲率公式的形式写成如下:
1 曲率公式计算实例
下文将分别推导三阶、四阶、五阶贝塞尔曲线的曲率公式,其中从曲率公式的形式来看,主要是计算分母、分子的Bernstein基系数。
1.1 n=3(三阶贝塞尔曲线)曲率公式的推导
1.1.1 分母的Bernstein基系数
其中Q为:
f(t)为C’(t)的平方:
分别计算以上矩阵,并将相应的式子带入有:
对于Bernstein基多项式(4次)表达式为:
整理成以上多项式形式为:
联立以上两式有,基系数为
1.1.2 分子的Bernstein基系数
推导g(t)即C’(t)×C’’(t)
计算有:
整理化简得:
因此,三阶贝塞尔曲线的曲率公式已推导出。
1.1.3 三阶贝塞尔曲线图和曲率图
1.2 n=4(四阶贝塞尔曲线)曲率公式的推导
1.2.1 分母的Bernstein基系数
其中Q的表达式为:
式中的系数为:
代入上式中计算有:
对于Bernstein基多项式(6次)表达式为:
整理成以上多项式形式为:
其中,
1.2.2 分子的Bernstein基系数
再推导g(t)即C’(t)×C’’(t)
原式整理有:
化简为Bernstein基多项式(4次)表达式为:
则根据以上的推导,得到四阶贝塞尔曲线的曲率公式。
1.2.3 四阶贝塞尔曲线图和曲率图
1.3 n=5(五阶贝塞尔曲线)曲率公式的推导
1.3.1 分母的Bernstein基系数
已知条件:
于是Q有:
相应的系数为:
将相应的矩阵计算式代入上式中,
对于Bernstein基多项式(8次)表达式为:
整理成以上多项式形式为:
其中,
1.3.2 分子的Bernstein基系数
再推导g(t)即C’(t)×C’’(t)
原式整理有:
化简为Bernstein基多项式(6次)表达式为
其中,
1.3.3 五阶贝塞尔曲线图和曲率图
2 曲线优化目标函数
本文中关注曲线的3个特征值:
(1)中点处的曲率值;
(2)中点处的角偏差;
(3)曲线的速度。
给三个特征值分配不同的权重,建立目标函数为:
其中,有
2.1 计算实例
2.1.1 三次贝塞尔曲线
(1)取a=0,b=0时,
先计算得到最优λ为0.4751,f=1.0174e(-5),再带入公式中求得其他值。
(2)取a=0.1,b=0时,
先计算得到最优λ为0.3295,f=0.1109,再带入公式求其他值。
(3)取a=0.4,b=0时,
先计算得到最优λ为0.0001,f=0.2651,再带入公式求其他值。
(4)取a=0,b=0.1时,
先计算得到最优λ为0.6336,f=0.0652,再带入公式求其他值。
(5)取a = 0.8 , b = 0.2时,
先计算得到最优λ为0.2611,f=1.0834,再带入公式求其他值。
以上算例的曲线图和曲率图绘制如下。
2.1.2 四次贝塞尔曲线
(1)取a=0,b=0时,
先计算得到最优λ为0.6237,f=0.0013847,再带入公式求其他值。
(2)取a=0.2,b=0时,
先计算得到最优λ为0.4706,f=0.1611,再带入公式求其他值。
(3)取a=0.4,b=0时,
先计算得到最优λ为0.0925,f=0.2588,再带入公式求其他值。
(4)a = 0 , b = 0.2时,
(5)a = 0.9 , b = 0.1时,
先计算得到最优λ为0.3327,f=0.8695,再带入公式求其他值。
以上算例的曲线图和曲率图绘制如下。
2.1.3 五次贝塞尔曲线
上式的计算与原文中有出入,暂没找出问题所在,仅作参考。
算例计算过程如上,相应的曲线图和曲率图如下绘制。
参考文献 Optimization of Corner Blending Curves