局部路径规划——贝塞尔曲线

对于车辆系统,规划的轨迹应满足以下准则:轨迹连续;轨迹曲率连续;轨迹容易被车辆跟随,且容易生成;

先看几张图直观感受一下:

一次贝塞尔曲线:

二次贝塞尔曲线:

 三次贝塞尔曲线:

 贝塞尔曲线也是用数学公式生成曲线得方式。

在我的理解下:

n阶贝塞尔曲线就是:对于P0到Pn这n+1个点,先求每两个相邻点的一阶贝塞尔曲线,可以生成n个点;在对这n个点求一阶贝塞尔曲线,可以生成n-1个点,此时这几个点算是二阶的了;然后递归迭代。

def bezier(Ps,n,t):
    """递归的方式实现贝塞尔曲线

    Args:
        Ps (_type_): 控制点,格式为numpy数组:array([[x1,y1],[x2,y2],...,[xn,yn]])
        n (_type_): n个控制点,即Ps的第一维度
        t (_type_): 步长t

    Returns:
        _type_: 当前t时刻的贝塞尔点
    """
    if n==1:
        return Ps[0]
    return (1-t)*bezier(Ps[0:n-1],n-1,t)+t*bezier(Ps[1:n],n-1,t)

缺陷:

1.贝塞尔曲线的阶次是根据点的个数确定的,如果是N+1个点那么就是N次

2.生成贝塞尔曲线过程,如果点的个数过多,那么会出现很多峰谷值,也计算量也会爆炸。

3.贝塞尔曲线生成中局部不能更改

本文图片来自: 

路径规划与轨迹跟踪系列算法学习_第7讲_贝塞尔曲线法_哔哩哔哩_bilibili

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值