路径规划——曲线拟合详解(二):贝塞尔曲线、B样条曲线与QP优化( Fast-Planner算法核心部分)

news2024/10/6 8:28:08

1. 贝塞尔曲线

(1). 贝塞尔曲线的作用

贝塞尔曲线的作用是给定控制点,通过控制点生成对应的曲线进行轨迹拟合,输入为点,输出为受到控制点约束而产生的轨迹。

(2). 贝塞尔曲线的数学表达式

假设给定N个控制点,得到的为N-1阶的贝塞尔曲线,具体如下所示:

综上,可以推导出N+1个点所控制的N阶贝塞尔曲线表达式:

n阶贝塞尔曲线求导后仍然是n-1阶贝塞尔曲线,控制点为原控制点的组合

(3). 伯恩斯坦基多项式 

可以看作是二项式展开!!!

n阶伯恩斯坦基多项式求导后仍然是n-1伯恩斯坦基函数

(4). 贝塞尔曲线的性质

(5). 贝塞尔曲线的缺点

 2、B样条曲线

下面这个博主视频给我启发很大 

详解样条曲线(上)(包含贝塞尔曲线)-CSDN博客

(1). B样条曲线的优点

和Bezier曲线一样也是通过逼近一组控制点来产生曲线,但是B样条多项式的次数可独立于控制点数目(有一定限制),且允许局部控制曲线或曲面。

(2). B样条曲线的数学表达式

假设有N个控制点:

这些控制点用于定义样条曲线的走向、界限分为,则k阶B样条的定义为:

(3). B样条曲线的递推式 

(4). B样条曲线的性质

B样条多项式的次数可独立于控制点的数目(有一定限制),且允许局部控制曲线和曲面生成曲线,本质上是找一组基,各个点是坐标,线性组合。或者理解为在控制点前添加一个权重,然后累加即可。

3、B样条的导数

先讲clamped B样条

既然B样条是贝塞尔曲线的扩展,那么必然要继承贝塞尔曲线一些优良的性质。贝塞尔曲线的导数还是贝塞尔, B样条的导数还是B样条。

接下来看推导公式:

B样条公式

基函数求导

基函数求导为低一阶的基函数求导

最终的基函数求导

因此,可知,B样条的导数还是B样条, 依然保留B样条的优良特性。

控制点减1,阶数减1,那么节点数目必然是减2. 对于clamped B样条,只要是去除第一个和最后一个节点就ok了,因此clamped B样条的求导还是clamped B样条,这个性质使其方便计算,应用广泛。

4. B样条曲线的应用(Fast-Planner算法)

笔者之前已经深入总结了Fast-Planner算法原理、代码、仿真配置、真机测试的过程,笔记在下面,大家点击跳转即可,吃透Fast-Planner算法基本算是熟练掌握搜索、优化的过程了,希望对大家有所帮助!

(1). Fast算法原理与关键代码

路规算法详细解读(一)—— FAST-Planner重要部分代码解读_fast planner解析-CSDN博客文章浏览阅读1.5k次,点赞7次,收藏26次。由于最近的研究需要,需要对Fast-planner和Ego-planner的代码了解,所以写出这篇代码解读文章,本文持续更新。废话不多说了,上干货!本文基于以下大佬的代码解析基础上去阅读、理解、总结而成。三大主要部分。_fast planner解析https://blog.csdn.net/weixin_43793717/article/details/134360566?spm=1001.2014.3001.5502

(2). Fast算法仿真配置与真机测试

深入解读Fast-Planner算法看这一篇就够!(含Ubuntu20.04 + Ros noetic 环境下 Fast-planner 算法仿真环境的配置与真机效果演示。)_fast planner算法-CSDN博客文章浏览阅读3.6k次,点赞11次,收藏65次。学习Fast-Planner必读文章,本文包含了论文解读、仿真环境配置、真机测试的详细步骤与问题解答,此文是笔者对于Fast-Planner算法理解的叙述与仿真的记录,所有内容皆是原创,假设论文解读已超过万字,所有内容都是笔者一个一个敲出来的,希望对大家理解Fast-Planner算法能够有所帮助。_fast planner算法https://blog.csdn.net/weixin_43793717/article/details/131072185?spm=1001.2014.3001.5501

总结

至此,路径规划——曲线拟合详解结束,到目前为止我们总结了搜索方法、曲线拟合,其实路径规划的核心思想真正意义上来说是优化问题的求解,具体的优化问题解决方法可以跳转到笔者深蓝学院数值优化课程的学习笔记(含有深蓝学院课程PPT),不收费了,大家自取就好。希望笔者的努力能够给入门的朋友带来帮助,如果在看的过程中有什么问题可以留言给笔者,笔者都是手敲内容难免有错,还望大家多多担待~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1573675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GA-SVM,基于GA遗传算法优化SVM支持向量机回归预测(多输入单输出)

基于遗传算法(Genetic Algorithm, GA)优化支持向量机(Support Vector Machine, SVM)用于回归预测是一个常见的任务。在这个任务中,我们使用GA来寻找SVM的最佳超参数配置,以最大化回归性能指标,例…

PyCharm使用指南(个性化设置、开发必备插件、常用快捷键)

🥇作者简介:CSDN内容合伙人、新星计划第三季Python赛道Top1 🔥本文已收录于Python系列专栏: 零基础学Python 💬订阅专栏后可私信博主进入Python学习交流群,进群可领取Python视频教程以及Python相关电子书合…

【Ambari】Ansible自动化部署大数据集群

目录 一.版本说明和介绍信息 1.1 大数据组件版本 1.2 Apache Components 1.3 Databases支持版本 二.安装包上传和说明 三.服务器基础环境配置 3.1global配置修改 3.2主机名映射配置 3.3免密用户名密码配置 3.4 ansible安装 四. 安…

虚幻引擎像素流源码解读

前言 假期在家把虚幻引擎像素流的源码有研究了一下,进行了一下总结,本文适合有一定使用虚幻引擎像素流经验的人阅读。 源码地址 这里研究的是UE5.1的版本,源码位置如下 C:\Program Files\Epic Games\UE_5.1\Engine\Plugins\Media\PixelStream…

AIGC实战——ProGAN(Progressive Growing Generative Adversarial Network)

AIGC实战——ProGAN 0. 前言1. ProGAN2. 渐进式训练3. 其他技术3.1 小批标准差3.2 均等学习率3.3 逐像素归一化 4. 图像生成小结系列链接 0. 前言 我们已经学习了使用生成对抗网络 (Generative Adversarial Network, GAN) 解决各种图像生成任务。GAN 的模型架构和训练过程具有…

pytest的时候输出一个F后面跟很多绿色的点解读

使用pytest来测试pyramid和kotti项目,在kotti项目测试的时候,输出一个F后面跟很多绿色的点,是什么意思呢? 原来在使用pytest进行测试时,输出中的“F”代表一个失败的测试(Failed),而…

Spring源码分析(@Configuration)

文章目录 Spring源码分析(Configuration)一、ConfigurationClassPostProcessor1、主要作用和特点2、执行的时机3、BeanFactoryPostProcessor4、BeanDefinitionRegistryPostProcessor5、ConfigurationClassPostProcessor1)postProcessBeanDefi…

ebpf+perfetto实现调度延迟记录与展示

1.背景 需要分析生产环境的调度问题,如线程的调度延迟有多少,在哪些时间点延迟比较明显,影响其调度的主要原因是什么?其次,我们希望可以比较直观的展示调度延迟情况。最好能对接perfetto的UI和后处理,因为perfetto已经用于分析比较多的性能数据,可以和调度数据进行整合.我们…

聚观早报 | 沃尔沃发布一季度全球销量;苹果将举办财报电话会议

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月07日消息 沃尔沃发布一季度全球销量 苹果将举办新财报电话会议 荣耀Magic6支持5.5G通信 特斯拉将建最大超级充…

【计算机网络经典面试题】简述 TCP 三次握手和四次挥手的过程

TCP链接 1.三次挥手2.四次挥手3.拓展说说 TCP 2次握手行不行?为什么要3次 1.三次挥手 1)第一次握手:建立连接时,客户端向服务器发送SYN包(seqx),请求建立连接,等待确认 2&#xff09…

基于Springboot的Java学习平台

采用技术 基于Springbootjava学习平台的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 系统功能模块 后台管理 用户注册 课程信息 作业信息 资料信息…

【Linux实践室】Linux高级用户管理实战指南:创建与删除用户组操作详解

🌈个人主页:聆风吟_ 🔥系列专栏:Linux实践室、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 🔔Linux创建用户组命令2.1.1 知识点讲解2.1.2…

MacOS Docker 可视化面板 Portainer

一、简介 Portainer 是一个可视化的容器镜像图形管理工具,使用 Portainer 可以轻松构建、管理和维护Docker 环境。 而且完全免费(portainer-ce 是免费的,portainer-ee 是需要授权的,今天安装的是 portainer-ce 版本)&…

基于51单片机的尾气检测报警器Proteus仿真

地址:https://pan.baidu.com/s/1DBn8A-p6wmP3Zssrrwspyg 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectroni…

Transformer模型-add norm(残差连接归一化)的简明介绍

今天介绍transformer模型的add & norm(残差连接&归一化) add代表残差连接(Residual Connection) 残差连接是一种跳过连接,它将输入添加到网络的中间层或输出上。 **残差连接(Residual Connection)…

深度学习-机器视觉part2

深度学习-机器视觉part2 文章目录 深度学习-机器视觉part2一、从卷积到卷积神经网络二、手撕卷积代码2.1 动机2.2 数据集2.3 卷积操作2.3.1 填充(padding)2.3.2 卷积块2.3.3 池化2.3.4 Softmax 2.4 完整CNN2.5 训练改进 三、经典CNN模型介绍四、CNN模型的…

SQL Server详细安装使用教程

1.安装环境 现阶段基本不用SQL Server数据库了,看到有这样的分析话题,就把多年前的存货发一下,大家也可以讨论看看,思路上希望还有价值。 SQL Server 2008 R2有32位版本和64位版本,32位版本可以安装在Windows XP及以上…

网络安全之代码签名证书申请

代码签名,作为一种数字安全机制,对于软件开发、分发及用户使用环节具有至关重要的意义。以下从六大方面阐述代码签名必不可少的重要性: 确保代码来源可信: 代码签名如同软件的“身份证”,通过数字证书对开发者身份进…

2024年船舶、海洋工程与应用技术国际学术会议(ICSOEAT 2024)

2024 International Conference on Shipbuilding, Ocean Engineering and Applied Technology ●会议简介 2024年船舶、海洋工程与应用技术国际学术会议(ICSOEAT 2024)旨在汇聚全球船舶、海洋工程与应用技术领域的专家学者,共同探讨行业前沿…

【话题】程序员35岁会失业吗?

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 背景招聘分析一、技术更新换代的挑战二、经验与技术的双重优势三、职业发展的多元化选择四、个人成长与职业规划的平衡五、结语文章推荐 背景 35岁被认为是程序员职业生…