2.2 3次样条曲线(Cubic Spline)
category
type
status
slug
date
summary
tags
password
icon
我自狂歌空度日, 飞扬跋扈为谁雄. — 亮剑 楚云飞
🏰代码及环境配置:请参考 环境配置和代码运行!
上一节说到多项式曲线的缺点: 不管是多少阶的多项式, 能够表达的曲线始终是有限的. 那么有没有什么简单的办法能够克服这个缺陷呢? 插值样条就是一种简单有效的方法.
2.2.1 3次样条曲线定义
3次样条曲线(Cubic Spline), 是一种通过一系列三次多项式来逼近给定数据点集的方法。每个多项式定义在两个相邻的数据点之间,且满足在数据点处及其一阶导数和二阶导数都连续的条件。
简单的说, 它在每两个采样点之间, 构造了一个3次多项式. 这样只要采样点和点之间距离足够近, 理论上可以表达任何曲线.
我们先从1维的3次样条开始解释, 比如图上的这5个点, 我们在每两个点之间构造一个3次多项式.那么有如下定义:
和是第j段样条的起点和终点, 是第j段样条的参数.
很好理解的是, 每段样条有起点和终点的这些约束:
以及第一个点和最后一个点, 我们给的2阶导约束:
2.2.2 3次样条曲线参数求解
带入方程求解样条曲线的参数, 求解:
求解:
将各个样条方程统一放到矩阵中, 求解线性方程组.
求解:
求解
2.2.3 基于3次样条曲线的参数方程
与上一节类似, 我们在x,y两个坐标分别用参数方程, 构造2维的3次样条曲线, 不再赘述.
参数方程下, 计算点的朝向角和曲率:
这样我们就可以在x,y坐标系下使用3次样条进行轨迹规划了.
下一节, 我们会解析和运行代码.
上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...