机器人三次多项式插值和带抛物线过渡的线性插值法详解
机器人三次多项式插值和带抛物线过渡的线性插值法详解
文章目录
在机器人轨迹规划中, 三次多项式插值和**带抛物线过渡的线性插值(LSPB)**是两种最基础、最常用的方法。它们分别对应“平滑但不可控速度”和“可控速度但加速度有突变”的典型场景。
下面详细拆解这两种方法。
一、三次多项式插值
这种方法为每一段关节空间轨迹生成一个三次多项式函数 θ ( t ) \theta(t) θ(t),保证位置和速度在起点和终点连续。
1. 数学模型
设单关节从起点 θ 0 \theta_0 θ0 运动到终点 θ f \theta_f θf,总时间 t f t_f tf,起点速度为 v 0 v_0 v0,终点速度为 v f v_f vf。
三次多项式形式:
θ ( t ) = a 0 + a 1 t + a 2 t 2 + a 3 t 3 \theta(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3 θ(t)=a0+a1t+a2t2+a3t3
速度:
θ ˙ ( t ) = a 1 + 2 a 2 t + 3 a 3 t 2 \dot{\theta}(t) = a_1 + 2a_2 t + 3a_3 t^2 θ˙(t)=a1+2a2t+3a3t2
代入边界条件:
θ ( 0 ) = θ 0 = a 0 θ ˙ ( 0 ) = v 0 = a 1 θ ( t f ) = θ f = a 0 + a 1 t f + a 2 t f 2 + a 3 t f 3 θ ˙ ( t f ) = v f = a 1 + 2 a 2 t f + 3 a 3 t f 2 \begin{aligned} \theta(0) &= \theta_0 = a_0 \\ \dot{\theta}(0) &= v_0 = a_1 \\ \theta(t_f) &= \theta_f = a_0 + a_1 t_f + a_2 t_f^2 + a_3 t_f^3 \\ \dot{\theta}(t_f) &= v_f = a_1 + 2a_2 t_f + 3a_3 t_f^2 \end{aligned} θ(0)θ˙(0)θ(tf)θ˙(tf)=θ0=a0=v0=a1=θf=a0+a1tf+a2tf2+a3tf3=vf=a1+2a2tf+3a3tf2
解得:
a 0 = θ 0 , a 1 = v 0 , a 2 = 3 ( θ f − θ 0 ) − ( 2 v 0 + v f ) t f t f 2 , a 3 = − 2 ( θ f − θ 0 ) + ( v 0 + v f ) t f t f 3 a_0 = \theta_0,\quad a_1 = v_0,\quad a_2 = \frac{3(\theta_f - \theta_0) - (2v_0 + v_f)t_f}{t_f^2},\quad a_3 = \frac{-2(\theta_f - \theta_0) + (v_0 + v_f)t_f}{t_f^3} a0=θ0,a1=v0,a2=tf23(θf−θ0)−(2v0+vf)tf,a3=tf3−2(θf−θ0)+(v0+vf)tf
2. 典型情况:起点与终点速度为零
若 v 0 = v f = 0 v_0 = v_f = 0 v0=vf=0:
θ ( t ) = θ 0 + 3 ( θ f − θ 0 ) t f 2 t 2 − 2 ( θ f − θ 0 ) t f 3 t 3 \theta(t) = \theta_0 + \frac{3(\theta_f - \theta_0)}{t_f^2} t^2 - \frac{2(\theta_f - \theta_0)}{t_f^3} t^3 θ(t)=θ0+tf23(θf−θ0)t2−tf32(θf−θ0)t3
此时加速度为线性变化(因为三次多项式求导二次为一次函数),起点和终点加速度不为零(分别为 6 ( θ f − θ 0 ) t f 2 \frac{6(\theta_f - \theta_0)}{t_f^2} tf26(θf−θ0) 和 − 6 ( θ f − θ 0 ) t f 2 -\frac{6(\theta_f - \theta_0)}{t_f^2} −tf26(θf−θ0))。
3. 特点
- 优点:位置、速度、加速度均连续(二阶连续),无突变,对电机冲击小。
- 缺点:
- 中间段速度不可控,可能超过关节极限。
- 加速度在起点和终点不为零(若要求起止速度为零),意味着需要电机瞬间提供较大加速度。
- 只能保证经过端点,不能精确经过中间点(除非拼接多段多项式)。
4. 适用场景
- 单段点到点运动。
- 对冲击敏感,且对速度曲线形状无特殊要求的场合。
二、带抛物线过渡的线性插值(LSPB)
这种方法为了克服纯线性插值(梯形速度曲线)在速度转折点加速度无穷大的问题,在两端用抛物线(匀加速/减)过渡,中间段保持匀速。
1. 基本思想
- 加速段:恒定加速度 a a a(抛物线形状的位置曲线)。
- 匀速段:速度恒定 v max v_{\text{max}} vmax。
- 减速段:恒定减速度 − a -a −a(对称设计)。
2. 数学推导(以对称 LSPB 为例,起点终点速度为零)
设总行程 θ f − θ 0 = D \theta_f - \theta_0 = D θf−θ0=D,总时间 t f t_f tf,加速度 a a a(正值)。
加速段时间 t a t_a ta,加速度段位移 1 2 a t a 2 \frac{1}{2} a t_a^2 21ata2。
由于对称,加速和减速位移相等,匀速段位移 D − a t a 2 D - a t_a^2 D−ata2,匀速段时间 t m = D − a t a 2 a t a t_m = \frac{D - a t_a^2}{a t_a} tm=ataD−ata2。
总时间:
t f = 2 t a + t m = 2 t a + D − a t a 2 a t a = D a t a + t a t_f = 2t_a + t_m = 2t_a + \frac{D - a t_a^2}{a t_a} = \frac{D}{a t_a} + t_a tf=2ta+tm=2ta+ataD−ata2=ataD+ta
给定 t f t_f tf 和 D D D,需选择 a a a 或 t a t_a ta 满足 a t a ≤ D / 2 a t_a \le D/2 ata≤D/2(保证有匀速段)且 a t a 2 ≤ D a t_a^2 \le D ata2≤D。
3. 位置分段表达式
设 t b = t a t_b = t_a tb=ta(加速结束时间), t c = t f − t a t_c = t_f - t_a tc=tf−ta(减速开始时间), v max = a t a v_{\text{max}} = a t_a vmax=ata。
- 加速段 ( 0 ≤ t ≤ t a 0 \le t \le t_a 0≤t≤ta):
θ ( t ) = θ 0 + 1 2 a t 2 \theta(t) = \theta_0 + \frac{1}{2} a t^2 θ(t)=θ0+21at2
- 匀速段 ( t a ≤ t ≤ t f − t a t_a \le t \le t_f - t_a ta≤t≤tf−ta):
θ ( t ) = θ 0 + a t a ( t − t a / 2 ) \theta(t) = \theta_0 + a t_a (t - t_a/2) θ(t)=θ0+ata(t−ta/2)
- 减速段 ( t f − t a ≤ t ≤ t f t_f - t_a \le t \le t_f tf−ta≤t≤tf):
θ ( t ) = θ f − 1 2 a ( t f − t ) 2 \theta(t) = \theta_f - \frac{1}{2} a (t_f - t)^2 θ(t)=θf−21a(tf−t)2
4. 特点
- 优点:
- 加速度有限(仅在起点、终点、加速‑匀速交接点有阶跃,但不为无穷大)。
- 速度可严格控制在 v max v_{\text{max}} vmax 以内,适合受限于关节速度的机器人。
- 计算简单,实时性好。
- 缺点:
- 加速度不连续(在 t a t_a ta 和 t f − t a t_f - t_a tf−ta 处有突变),理论上会激起机械振动。
- 需要提前选定 a a a 和 t f t_f tf 或 a a a 和 v max v_{\text{max}} vmax,若行程太短可能无匀速段,自动退化为三角形速度曲线。
5. 适用场景
- 工业机器人快速搬运、喷涂等对路径精度要求不高但需严格控制最大速度的场合。
- 多用于关节空间或笛卡尔空间直线插补(与直线插补结合,变成“加速‑匀速‑减速”直线运动)。
三、两者对比表
| 特性 | 三次多项式插值 | 抛物线过渡线性插值 (LSPB) |
|---|---|---|
| 加速度连续性 | 连续(线性变化) | 不连续(在过渡点阶跃) |
| 速度控制 | 中间速度不可预测,可能超限 | 能严格限制最大速度 |
| 计算量 | 简单,仅需解 4 个系数 | 需要判断是否有匀速段,计算过渡时间 |
| 对电机冲击 | 较小(加速度连续) | 较大(加速度突变) |
| 适用场景 | 精密装配、高平滑轨迹 | 高速搬运、点到点快速运动 |
| 过中间点方式 | 多段三次多项式拼接(需额外约束) | 常与 PVT 模式结合,或使用高阶多项式过渡 |
四、实际应用建议
-
若机器人负载较轻、刚性较好(如 SCARA、小型六轴),且希望运动极致平滑,优先选择五次多项式(加速度也连续)而不是三次——三次的加速度在端点不为零,仍有一定冲击。
但若只能用三次多项式,注意检查中间速度是否超过关节限位。 -
在通用工业机器人轨迹规划中,需要明确的“加‑匀‑减”阶段以便于时间最优控制,LSPB 是一个实用的选择。实际代码中常将 LSPB 与速度前瞻、S 形曲线(加速度也连续,但计算更复杂)结合使用。
-
一个常见陷阱:LSPB 中加速度突变会导致理论上的无穷大加加速度(jerk)。对于大负载或高精度机器人,这会引起残余振动。此时应改用 S 形速度曲线(七段式,加加速度有限)或五次多项式。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)