七段 S 曲线速度规划方法
七段 S 曲线是一种高平滑度的速度规划方法,广泛应用于精密运动控制(如直线电机、机器人、CNC 机床)。它通过控制加加速度(Jerk)为常数,使加速度线性变化,速度呈 S 形,从而减少机械冲击和振动。
一、基本参数定义
- J:最大加加速度(单位:m/s³)
- a:最大加速度(单位:m/s²)
- v:目标速度(单位:m/s)
- s:总位移(单位:m)
各阶段时间计算:
- t₁ = t₃ = t₅ = t₇ = a / J
- t₂ = (v / a) - (a / J) (若 t₂ ≥ 0,则存在匀速段)
- t₆ = t₂
- t₄ = [s - s_acc - s_dec] / v (匀速段时间,若行程足够)
二、七段划分
阶段 | 描述 | 加加速度 J | 加速度 a | 速度 v |
---|---|---|---|---|
1 | 加加速段 | +J | 从 0 增至 a | 从 0 开始上升 |
2 | 恒加速段 | 0 | 恒定 a | 线性上升 |
3 | 减加速段 | -J | 从 a减至 0 | 继续上升,增速变慢 |
4 | 匀速段 | 0 | 0 | 恒定 v(可选) |
5 | 加减速段 | -J | 从 0 减至 -a | 开始下降 |
6 | 恒减速段 | 0 | 恒定 -a | 线性下降 |
7 | 减减速段 | +J | 从 -a 增至 0 | 降至 0 |
三、各阶段运动学公式
设当前时间为 t,各阶段使用局部时间偏移量 Δt。
阶段 1:加加速段
(0 ≤ t < t₁)
- 加速度:a(t) = J·t
- 速度:v(t) = (1/2)·J·t²
- 位移:s(t) = (1/6)·J·t³
阶段 2:恒加速段
(t₁ ≤ t < t₁ + t₂)
令 Δt₂ = t - t₁
- a(t) = a
- v(t) = (1/2)·J·t₁² + a·Δt₂
- s(t) = (1/6)·J·t₁³ + [(1/2)·J·t₁²]·Δt₂ + (1/2)·a·(Δt₂)²
阶段 3:减加速段
(t₁ + t₂ ≤ t < t₁ + t₂ + t₃)
令 Δt₃ = t - (t₁ + t₂)
- a(t) = a - J·Δt₃
- v(t) = v₂ + a·Δt₃ - (1/2)·J·(Δt₃)²
- s(t) = s₂ + v₂·Δt₃ + (1/2)·a·(Δt₃)² - (1/6)·J·(Δt₃)³
其中:
v₂ = (1/2)·J·t₁² + a·t₂
s₂ = (1/6)·J·t₁³ + [(1/2)·J·t₁²]·t₂ + (1/2)·a·t₂²
阶段 4:匀速段
(t₁ + t₂ + t₃ ≤ t < t₁ + t₂ + t₃ + t₄)
令 Δt₄ = t - (t₁ + t₂ + t₃)
- a(t) = 0
- v(t) = v
- s(t) = s₃ + v·Δt₄
其中 s₃ 为阶段 3 结束时的位移。
阶段 5:加减速段
(t₁ + t₂ + t₃ + t₄ ≤ t < t₁ + t₂ + t₃ + t₄ + t₅)
令 Δt₅ = t - (t₁ + t₂ + t₃ + t₄)
- a(t) = -J·Δt₅
- v(t) = v - (1/2)·J·(Δt₅)²
- s(t) = s₄ + v·Δt₅ - (1/6)·J·(Δt₅)³
其中 s₄ = s₃ + v·t₄
阶段 6:恒减速段
(t₁ + t₂ + t₃ + t₄ + t₅ ≤ t < t₁ + t₂ + t₃ + t₄ + t₅ + t₆)
令 Δt₆ = t - (t₁ + t₂ + t₃ + t₄ + t₅)
- a(t) = -aₘ
- v(t) = v₅ - aₘ·Δt₆
- s(t) = s₅ + v₅·Δt₆ - (1/2)·aₘ·(Δt₆)²
其中:
v₅ = v - (1/2)·J·t₅²
s₅ = s₄ + v·t₅ - (1/6)·J·t₅³
阶段 7:减减速段
(t₁ + t₂ + t₃ + t₄ + t₅ + t₆ ≤ t < T)
令 Δt₇ = t - (t₁ + t₂ + t₃ + t₄ + t₅ + t₆)
- a(t) = -a + JΔt₇
- v(t) = v₆ + (-a)·Δt₇ + (1/2)·J·(Δt₇)²
- s(t) = s₆ + v₆·Δt₇ - (1/2)·a·(Δt₇)² + (1/6)·J·(Δt₇)³
其中:
v₆ = v₅ - a·t₆
s₆ = s₅ + v₅·t₆ - (1/2)·a·t²
四、优点总结
- 速度、加速度连续,无突变
- 显著降低机械冲击和振动
- 提高定位精度和设备寿命
- 适用于高精度伺服系统