起点加速度不为 0 的 S 型速度规划方法介绍

起点加速度不为 0 的 S 型速度规划方法(七段 S 曲线)

S 型速度规划通过限制加加速度(jerk),使加速度连续变化,从而获得平滑的速度和位置轨迹。当初始加速度 a₀ ≠ 0 时,需对标准 S 曲线进行适配。

1. 初始与目标状态

  • 初始状态:
    位置 s₀,速度 v₀,加速度 a₀

  • 目标状态:
    位置 s_f,速度 v_f,加速度 a_f(通常 a_f = 0

  • 系统约束:
    最大速度 v_max,最大加速度 a_max,最大加加速度 j_max > 0

2. 恒定加加速度段的运动学公式

在任意一段中,若加加速度 j 恒定(取值为 +j_max–j_max 或 0),则该段内状态随时间 t(从该段起始计时)变化为:

加速度:
a(t) = a_i + j · t

速度:
v(t) = v_i + a_i · t + (1/2) · j · t²

位置:
s(t) = s_i + v_i · t + (1/2) · a_i · t² + (1/6) · j · t³

其中:

  • a_i, v_i, s_i 为该段起始时刻的加速度、速度、位置;
  • t ∈ [0, T]T 为该段时间长度;
  • “·” 表示乘法(可用 × 或空格替代,Word 中推荐用 · 或直接省略);
  • 平方和立方使用 Unicode 上标:

3. 关键参数计算(起点 a₀ ≠ 0)

假设系统需从 (s₀, v₀, a₀) 平滑过渡到 (s_f, v_f, 0),且全程满足 |j| ≤ j_max、|a| ≤ a_max、|v| ≤ v_max。

(1)加速度调整所需最小时间

若当前加速度为 a₀,目标中间加速度为 a_target(例如 0 或 ±a_max),则通过恒定 jerk 调整所需时间为:

  T_j = |a_target – a₀| / j_max

此段时间内 jerk 为:
j = sign(a_target – a₀) · j_max

(2)该段结束时的速度和位置

代入上述运动学公式,令 t = T_j,得:

  a₁ = a₀ + j · T_j = a_target
v₁ = v₀ + a₀ · T_j + (1/2) · j · T_j²
s₁ = s₀ + v₀ · T_j + (1/2) · a₀ · T_j² + (1/6) · j · T_j³

4. 完整七段结构(以加速-匀速-减速为例)

即使 a₀ ≠ 0,完整 S 曲线仍可由最多 7 段组成,每段 jerk 为 {+j_max, 0, –j_max} 之一:

  1. Jerk⁺:j = +j_max(若需增大加速度)
  2. Constant Accel:j = 0,a = a_max
  3. Jerk⁻:j = –j_max(平滑进入匀速)
  4. Constant Velocity:a = 0, j = 0
  5. Jerk⁻:j = –j_max(开始减速)
  6. Constant Decel:j = 0,a = –a_max
  7. Jerk⁺:j = +j_max(平滑回到 a_f = 0)

当 a₀ ≠ 0 时,第 1 段可能被截断或反向(如 a₀ > 0 但需减速,则第 1 段为 Jerk⁻)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haing2019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值