当前位置:   article > 正文

自动驾驶轨迹生成-贝塞尔(Bézier)曲线_贝塞尔曲线 自动紧急换道

贝塞尔曲线 自动紧急换道

引言

最近刚看完贝塞尔曲线,工作就遇到了相应的需求,所以写一下过程。主要讲的是自动驾驶中,车换道时用到贝塞尔曲线,当然其他的很多领域也会有,例如图形学等。

在车遇到障碍物或者是前车速度较慢的时候,就会进入换道逻辑,那么如何从一个车道换到另外一个车道,同时要保证车里面的人的一个体感问题,就是如何平滑过度,这就是为什么要使用贝塞尔曲线来做换道时的轨迹生成了,OK那开始讲贝塞尔曲线了。

什么是贝塞尔曲线?

1. 一阶贝塞尔曲线:

在这里插入图片描述

对于一阶贝塞尔曲线,从上图我们可以看到,它是一条直线,通过几何知识,很容易根据t 的值,得出线段上某个点的坐标:
B 1 ( t ) = P 0 + ( P 1 − P 0 ) t B_{1}(t) = P_{0} + (P_{1}-P_{0})t B1(t)=P0+(P1P0)t

或者
B 1 ( t ) = ( 1 − t ) P 0 + P 1 t , 0 < t < 1 B_{1}(t) = (1-t)P_{0} + P_{1}t , 0<t<1 B1(t)=(1t)P0+P1t,0<t<1
一阶贝塞尔曲线, 就是根据t来的线性插值。P0和P1表示的是一个向量[ x , y ] , 其中x、y是分别按照这个公式来计算的。

2. 二阶贝塞尔曲线:

定义:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。

  • 由 P0 至 P1 的连续点 Q0,描述一条线段
  • 由 P1 至 P2 的连续点 Q1,描述一条线段
  • 由 Q0 至 Q1 的连续点 B(t),描述一条二次贝塞尔曲线
    在这里插入图片描述

上面的红色曲线就是通过二阶公式生成的贝塞尔曲线(是不是很平滑

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/812083
推荐阅读
相关标签