机器人三次多项式插值和带抛物线过渡的线性插值法详解


在机器人轨迹规划中, 三次多项式插值和**带抛物线过渡的线性插值(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​+a1​t+a2​t2+a3​t3

速度:

θ ˙ ( 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​+2a2​t+3a3​t2

代入边界条件:

θ ( 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​+a1​tf​+a2​tf2​+a3​tf3​=vf​=a1​+2a2​tf​+3a3​tf2​​

解得:

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​=tf2​3(θ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​+tf2​3(θf​−θ0​)​t2−tf3​2(θf​−θ0​)​t3

此时加速度为线性变化(因为三次多项式求导二次为一次函数),起点和终点加速度不为零(分别为 6 ( θ f − θ 0 ) t f 2 \frac{6(\theta_f - \theta_0)}{t_f^2} tf2​6(θf​−θ0​)​ 和 − 6 ( θ f − θ 0 ) t f 2 -\frac{6(\theta_f - \theta_0)}{t_f^2} −tf2​6(θ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 21​ata2​。
由于对称,加速和减速位移相等,匀速段位移 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​=ata​D−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​+ata​D−ata2​​=ata​D​+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​+21​at2

  • 匀速段 ( 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​−21​a(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 形速度曲线(七段式,加加速度有限)或五次多项式。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐