局部路径规划 - 01 曲线插值法

算法简介#

  • 曲线插值法是在满足某些特定条件下,对路径曲线的拟合

  • 常见的拟合曲线有:多项式曲线、双圆弧段曲线、正弦函数曲线、贝塞尔曲线、B样条曲线等;

算法思想#

  • 曲线插值法的核心思想是基于预先构造的曲线类型,根据车辆期望达到的状态(比如要求车辆到达某点的速度和加速度为期望值),将此期望值作为边界条件代入曲线类型进行方程求解,获得曲线的相关系数

  • 曲线所有的相关系数一旦确定,轨迹规划随之完成。

多项式曲线#

  • 多项式曲线分为三次多项式曲线、五次多项式曲线、七次多项式曲线;

  • 我们注意到上述的多项式曲线都是奇数次,事实上,多项式曲线一般而言都是奇数次,这是由边界条件引起的。边界条件一般包括车辆的起始状态和终止状态(如换道轨迹的起点状态和终点状态),由于偶数个状态导致有唯一解的方程系数为偶数,故偶数个系数的多项式也就是奇数多项式

  • 三次多项式曲线:最多能确定每一个期望点的两个维度的期望状态,一般来说就是位置速度

{x(t)=a0+a1t+a2t2+a3t3y(t)=b0+b1t+b2t2+b3t3

  • 五次多项式曲线:最多能确定每一个期望点的三个维度的期望状态,一般来说就是位置速度加速度

{x(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5y(t)=b0+b1t+b2t2+b3t3+b4t4+b5t5

  • 七次多项式曲线:最多能确定每一个期望点的三个维度的期望状态,一般来说就是位置速度加速度加加速度(冲击度,jerk)

{x(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5+a6t6+a7t7y(t)=b0+b1t+b2t2+b3t3+b4t4+b5t5+b6t6+b7t7

曲线插值法(以五次多项式为例)#

  1. 首先,我们定义如下的五次多项式:

{x(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5y(t)=b0+b1t+b2t2+b3t3+b4t4+b5t5

  1. 我们将起始时刻定义为t0,起始时刻的位置、速度和加速度均已知,我们构造如下的纵向和横向方程:

    • 起始时刻的位置方程:

    {x(t0)=a0+a1t0+a2t02+a3t03+a4t04+a5t05y(t0)=b0+b1t0+b2t02+b3t03+b4t04+b5t05

    • 起始时刻的速度方程:

    {x(t0)=a1+2a2t0+3a3t02+4a4t03+5a5t04y(t0)=b1+2b2t0+3b3t02+4b4t03+5b5t04

    • 起始时刻的加速度方程:

    {x(t0)=2a2+6a3t0+12a4t02+20a5t03y(t0)=2b2+6b3t0+12b4t02+20b5t03

  2. 同理,我们可以构造终止时刻t1的的横向和纵向方程,这里就不再详细描述;

  3. 我们将起始位置和终止位置的横纵向方程统一用矩阵表达为:

X=[x0x0x0x1x1x1]=[t05t04t03t02t015t044t033t022t011020t0312t026t0200t15t14t13t12t115t144t133t122t111020t1312t126t1200][a5a4a3a2a1a0]=T×A

Y=[y0y0y0y1y1y1]=[t05t04t03t02t015t044t033t022t011020t0312t026t0200t15t14t13t12t115t144t133t122t111020t1312t126t1200][b5b4b3b2b1b0]=T×B

  1. 对上述矩阵进行求解(A=T1×XB=T1×Y),我们可以得到唯一的系数矩阵解,即得到唯一的多项式曲线,该曲线上每一点的导数代表着车辆经过该点时的速度。多项式曲线插值法轨迹规划出的曲线是路径+速度的耦合结果。

注意:曲线插值法得到的轨迹曲线是关于时间t的函数,而非坐标y关于坐标x的函数。

与双圆弧段换道轨迹进行对比:

  • 双圆弧段换道轨迹由弧AC+线段CD+弧DF构成,如下图所示:
  • 在C点,轨迹曲率由弧AC段的定值突变为0,考虑到方向盘的转角是一个连续缓变的过程,为了让车辆能够完全跟随轨迹,车辆行驶到C点后必须速度为0,让方向盘回正后才能沿给定的轨迹继续行驶,因此双圆弧段换道无法应用于行车路径规划,而应用于泊车路径规划。

代码实现#

待更新,后续会上传到Github上。

posted @   HeyRay_Yang  阅读(1479)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
主题色彩