时间归一化五次多项式解析解

1. 五次多项式定义

在标准化时间 t ∈ [ 0 , 1 ] t \in [0,1] t[0,1] 上,五次多项式定义为:

p ( t ) = c 0 + c 1 t + c 2 t 2 + c 3 t 3 + c 4 t 4 + c 5 t 5 p(t) = c_0 + c_1 t + c_2 t^2 + c_3 t^3 + c_4 t^4 + c_5 t^5 p(t)=c0+c1t+c2t2+c3t3+c4t4+c5t5

其中 t t t 是标准化时间:
t = time − t start T t = \frac{\text{time} - t_{\text{start}}}{T} t=Ttimetstart
T = t end − t start T = t_{\text{end}} - t_{\text{start}} T=tendtstart

2. 导数表达式

一阶导数(速度):
p ′ ( t ) = c 1 + 2 c 2 t + 3 c 3 t 2 + 4 c 4 t 3 + 5 c 5 t 4 p'(t) = c_1 + 2c_2 t + 3c_3 t^2 + 4c_4 t^3 + 5c_5 t^4 p(t)=c1+2c2t+3c3t2+4c4t3+5c5t4

二阶导数(加速度):
p ′ ′ ( t ) = 2 c 2 + 6 c 3 t + 12 c 4 t 2 + 20 c 5 t 3 p''(t) = 2c_2 + 6c_3 t + 12c_4 t^2 + 20c_5 t^3 p′′(t)=2c2+6c3t+12c4t2+20c5t3

3. 边界条件

我们有6个边界条件来确定6个系数:

起始点 ( t = 0 t = 0 t=0):

  • 位置: p ( 0 ) = p 0 p(0) = p_0 p(0)=p0
  • 速度: p ′ ( 0 ) = v 0 ⋅ T p'(0) = v_0 \cdot T p(0)=v0T (注意:这里需要转换为标准化时间的导数)
  • 加速度: p ′ ′ ( 0 ) = a 0 ⋅ T 2 p''(0) = a_0 \cdot T^2 p′′(0)=a0T2

终止点 ( t = 1 t = 1 t=1):

  • 位置: p ( 1 ) = p 1 p(1) = p_1 p(1)=p1
  • 速度: p ′ ( 1 ) = v 1 ⋅ T p'(1) = v_1 \cdot T p(1)=v1T
  • 加速度: p ′ ′ ( 1 ) = a 1 ⋅ T 2 p''(1) = a_1 \cdot T^2 p′′(1)=a1T2

时间缩放说明

实际速度和加速度与标准化时间下的导数关系:

  • 实际速度: v real = d p d time = d p d t ⋅ d t d time = p ′ ( t ) ⋅ 1 T v_{\text{real}} = \frac{dp}{d\text{time}} = \frac{dp}{dt} \cdot \frac{dt}{d\text{time}} = p'(t) \cdot \frac{1}{T} vreal=dtimedp=dtdpdtimedt=p(t)T1
  • 实际加速度: a real = d 2 p d time 2 = p ′ ′ ( t ) ⋅ 1 T 2 a_{\text{real}} = \frac{d^2p}{d\text{time}^2} = p''(t) \cdot \frac{1}{T^2} areal=dtime2d2p=p′′(t)T21

因此:

  • p ′ ( t ) = v real ⋅ T p'(t) = v_{\text{real}} \cdot T p(t)=vrealT
  • p ′ ′ ( t ) = a real ⋅ T 2 p''(t) = a_{\text{real}} \cdot T^2 p′′(t)=arealT2

4. 系数求解

4.1 前三个系数(直接由起始条件确定)

c 0 c_0 c0 p ( 0 ) = p 0 p(0) = p_0 p(0)=p0
c 0 = p 0 c_0 = p_0 c0=p0

c 1 c_1 c1 p ′ ( 0 ) = v 0 ⋅ T p'(0) = v_0 \cdot T p(0)=v0T
c 1 = v 0 ⋅ T c_1 = v_0 \cdot T c1=v0T

c 2 c_2 c2 p ′ ′ ( 0 ) = a 0 ⋅ T 2 p''(0) = a_0 \cdot T^2 p′′(0)=a0T2
2 c 2 = a 0 ⋅ T 2 ⇒ c 2 = 1 2 a 0 T 2 2c_2 = a_0 \cdot T^2 \Rightarrow c_2 = \frac{1}{2}a_0 T^2 2c2=a0T2c2=21a0T2

4.2 后三个系数(由终止条件确定)

将终止条件代入多项式:

位置条件: p ( 1 ) = p 1 p(1) = p_1 p(1)=p1
c 0 + c 1 + c 2 + c 3 + c 4 + c 5 = p 1 c_0 + c_1 + c_2 + c_3 + c_4 + c_5 = p_1 c0+c1+c2+c3+c4+c5=p1

速度条件: p ′ ( 1 ) = v 1 ⋅ T p'(1) = v_1 \cdot T p(1)=v1T
c 1 + 2 c 2 + 3 c 3 + 4 c 4 + 5 c 5 = v 1 ⋅ T c_1 + 2c_2 + 3c_3 + 4c_4 + 5c_5 = v_1 \cdot T c1+2c2+3c3+4c4+5c5=v1T

加速度条件: p ′ ′ ( 1 ) = a 1 ⋅ T 2 p''(1) = a_1 \cdot T^2 p′′(1)=a1T2
2 c 2 + 6 c 3 + 12 c 4 + 20 c 5 = a 1 ⋅ T 2 2c_2 + 6c_3 + 12c_4 + 20c_5 = a_1 \cdot T^2 2c2+6c3+12c4+20c5=a1T2

4.3 构建线性方程组

将已知的 c 0 c_0 c0 c 1 c_1 c1 c 2 c_2 c2 代入,得到关于 c 3 c_3 c3 c 4 c_4 c4 c 5 c_5 c5 的线性方程组:

[ 1 1 1 3 4 5 6 12 20 ] [ c 3 c 4 c 5 ] = [ p 1 − c 0 − c 1 − c 2 v 1 T − c 1 − 2 c 2 a 1 T 2 − 2 c 2 ] \begin{bmatrix}1 & 1 & 1 \\3 & 4 & 5 \\6 & 12 & 20\end{bmatrix} \begin{bmatrix}c_3 \\ c_4 \\ c_5\end{bmatrix}= \begin{bmatrix} p_1 - c_0 - c_1 - c_2 \\ v_1 T - c_1 - 2c_2 \\ a_1 T^2 - 2c_2 \end{bmatrix} 13614121520 c3c4c5 = p1c0c1c2v1Tc12c2a1T22c2

定义右侧向量:
term1 = p 1 − p 0 − v 0 T − 1 2 a 0 T 2 term2 = v 1 T − v 0 T − a 0 T 2 term3 = a 1 T 2 − a 0 T 2 \begin{align} \text{term1} &= p_1 - p_0 - v_0 T - \frac{1}{2}a_0 T^2 \\ \text{term2} &= v_1 T - v_0 T - a_0 T^2 \\ \text{term3} &= a_1 T^2 - a_0 T^2 \end{align} term1term2term3=p1p0v0T21a0T2=v1Tv0Ta0T2=a1T2a0T2

4.4 求解线性方程组

对矩阵方程:
[ 1 1 1 3 4 5 6 12 20 ] [ c 3 c 4 c 5 ] = [ term1 term2 term3 ] \begin{bmatrix}1 & 1 & 1 \\3 & 4 & 5 \\6 & 12 & 20\end{bmatrix} \begin{bmatrix}c_3 \\ c_4 \\ c_5\end{bmatrix}= \begin{bmatrix} \text{term1} \\ \text{term2} \\ \text{term3} \end{bmatrix} 13614121520 c3c4c5 = term1term2term3

通过高斯消元法或直接求逆矩阵,得到解析解:

c 3 = 10 ⋅ term1 − 4 ⋅ term2 + 0.5 ⋅ term3 c 4 = − 15 ⋅ term1 + 7 ⋅ term2 − term3 c 5 = 6 ⋅ term1 − 3 ⋅ term2 + 0.5 ⋅ term3 \begin{align} c_3 &= 10 \cdot \text{term1} - 4 \cdot \text{term2} + 0.5 \cdot \text{term3} \\ c_4 &= -15 \cdot \text{term1} + 7 \cdot \text{term2} - \text{term3} \\ c_5 &= 6 \cdot \text{term1} - 3 \cdot \text{term2} + 0.5 \cdot \text{term3} \end{align} c3c4c5=10term14term2+0.5term3=15term1+7term2term3=6term13term2+0.5term3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值