3. PTP运动数学模型:位置、速度、加速度、加加速度(Jerk)的定义与关系
在PTP(Point-to-Point)点位运动控制中,运动控制器需要为伺服系统规划一条从起点到终点的平滑轨迹。这条轨迹的数学本质,是位置随时间变化的函数 \( s(t) \),而速度、加速度和加加速度(Jerk)则是该函数对时间的一阶、二阶和三阶导数。理解这四个物理量之间的微分/积分关系,是设计加减速算法、评估运动平稳性以及避免机械共振的基础。本节将系统建立PTP运动的数学模型,明确各物理量的定义、单位、物理意义及其在离散化控制系统中的实现方式。
上图展示了PTP运动控制中四个核心物理量的层级关系。在运动控制器的离散化实现中,我们通常以固定的插补周期 \( T_s \)(如1ms或0.5ms)对连续时间函数进行采样,通过累加或差分的方式近似积分与微分运算。下面我们将逐一深入剖析每个物理量的定义及其在工程中的具体含义。
3.1 位置与速度:轨迹规划的起点
位置(Position)是描述物体在空间坐标中具体位置的物理量。在PTP运动中,位置通常指关节坐标(如旋转角度)或笛卡尔坐标(如X/Y/Z轴位移)。其数学表示为 \( s(t) \),单位为毫米(mm)、度(deg)或编码器脉冲数(pulse)。位置函数是时间 \( t \) 的连续函数,但在数字控制系统中,它被离散化为一系列序列点 \( s[k] \),其中 \( k \) 表示第 \( k \) 个插补周期。
速度(Velocity)是位置对时间的一阶导数,即 \( v(t) = \frac{ds(t)}{dt} \)。它反映了位置变化的快慢,单位通常为 mm/s 或 rpm。在离散系统中,速度近似为相邻两个插补周期位置差与周期之比:
v[k] ≈ (s[k] - s[k-1]) / Tₛ
这里 \( T_s \) 是插补周期。速度规划的核心目标是:在满足最大速度限制 \( v_{max} \) 的前提下,尽可能缩短运动时间。但速度的突变(即加速度过大)会导致机械冲击,因此需要引入加速度约束。
3.2 加速度与加加速度:平稳性的关键
加速度(Acceleration)是速度对时间的一阶导数,即 \( a(t) = \frac{dv(t)}{dt} = \frac{d^2s(t)}{dt^2} \)。它描述了速度变化的快慢,单位是 mm/s²。加速度直接关联到电机输出扭矩和机械部件的受力情况。过大的加速度会导致:
- 电机过流或过载,触发驱动器报警。
- 机械结构产生弹性变形,影响定位精度。
- 负载发生滑动或倾覆,造成安全事故。
加加速度(Jerk)是加速度对时间的一阶导数,即 \( J(t) = \frac{da(t)}{dt} = \frac{d^3s(t)}{dt^3} \),单位是 mm/s³。Jerk描述了加速度的变化率,即“加速度的加速度”。在传统的梯形速度曲线中,加速度在启动和停止瞬间发生阶跃突变,此时Jerk为无穷大,这会引起机械系统的残余振动。而S型速度曲线通过限制Jerk值,使加速度平滑过渡,从而显著降低振动和噪声。
| 物理量 | 数学定义 | 离散化公式 | 典型单位 | 物理意义 |
|---|---|---|---|---|
| 位置 s | — | s[k] | mm / pulse | 目标坐标 |
| 速度 v | ds/dt | (s[k]-s[k-1])/Tₛ | mm/s | 运动快慢 |
| 加速度 a | dv/dt | (v[k]-v[k-1])/Tₛ | mm/s² | 力/冲击 |
| 加加速度 J | da/dt | (a[k]-a[k-1])/Tₛ | mm/s³ | 振动/柔性 |
3.3 四者关系的工程推导与约束转换
在运动控制器的实际代码中,我们通常不直接计算微分,而是通过积分方式生成轨迹。给定初始位置 \( s_0 \)、初始速度 \( v_0 \)、初始加速度 \( a_0 \),以及规划好的加加速度序列 \( J[k] \),则每个插补周期的递推公式为:
a[k] = a[k-1] + J[k] * Tₛ
v[k] = v[k-1] + a[k] * Tₛ
s[k] = s[k-1] + v[k] * Tₛ
这种递推方式在浮点运算中会累积微小误差,因此在高精度应用中,建议使用双精度浮点(double)或定期进行误差校正。同时,必须对每个中间变量进行限幅处理:
- 速度限幅: \( |v[k]| \leq v_{max} \)
- 加速度限幅: \( |a[k]| \leq a_{max} \)
- 加加速度限幅: \( |J[k]| \leq J_{max} \)
这三个约束条件共同构成了PTP规划的“安全边界”。在实际工程中,\( v_{max} \) 由电机额定转速和机械传动比决定,\( a_{max} \) 由电机最大扭矩和负载惯量决定,而 \( J_{max} \) 则根据机械结构的固有频率和允许的振动幅度来设定。例如,对于精密丝杠传动,\( J_{max} \) 通常设为 \( a_{max} \) 的 10~20 倍,以保证加速度变化平缓。
3.4 案例拆解:从梯形曲线到S型曲线的升级
我们以一台半导体固晶机为例,其X轴需要完成 50mm 的快速点对点移动。初始方案采用梯形速度曲线,参数设定为:\( v_{max} = 300mm/s \),\( a_{max} = 3000mm/s² \)。运动时间计算如下:
加速段时间 t₁ = v_max / a_max = 300 / 3000 = 0.1s
加速段位移 s₁ = 0.5 * a_max * t₁² = 0.5 * 3000 * 0.01 = 15mm
匀速段位移 s₂ = 50 - 2*15 = 20mm
匀速段时间 t₂ = 20 / 300 = 0.0667s
总时间 T = 2*t₁ + t₂ = 0.2 + 0.0667 = 0.2667s
然而,设备在高速运行时出现明显的末端抖动,导致固晶精度下降。通过振动分析仪检测,发现机械臂在停止后以约 35Hz 的频率衰减振荡。分析认为,梯形曲线在启动和停止瞬间加速度阶跃(Jerk无穷大),激发了机械结构的固有模态。
解决方案:改用S型速度曲线,引入 \( J_{max} = 50000mm/s³ \)。重新计算关键参数:
加速度从0升至a_max所需时间 t_j = a_max / J_max = 3000 / 50000 = 0.06s
加速段总时间 t₁' = t_j + (v_max - a_max*t_j) / a_max = 0.06 + (300 - 180)/3000 = 0.06 + 0.04 = 0.1s
加速段位移 s₁' = 0.5 * a_max * t_j² + a_max * t_j * (t₁'-t_j) + 0.5 * a_max * (t₁'-t_j)²
= 0.5*3000*0.0036 + 3000*0.06*0.04 + 0.5*3000*0.0016
= 5.4 + 7.2 + 2.4 = 15mm
有趣的是,由于加速度曲线呈三角形过渡,加速段位移与梯形曲线相同(15mm),但加速度变化被平滑。实际测试表明,更换S型曲线后,末端振动幅度降低了约70%,固晶精度从 ±15μm 提升至 ±5μm,而总运动时间仅增加了 0.02s(约7%),完全满足节拍要求。
3.5 常见误区与总结复盘
误区一:混淆加速度与加加速度的作用。加速度决定“力”的大小,影响电机扭矩;加加速度决定“力的变化率”,影响机械振动。降低加速度可以减小冲击力,但无法消除振动;只有限制Jerk才能从根源上抑制残余振荡。
误区二:忽视离散化误差。在高速高精度场景下,插补周期 \( T_s \) 的选择至关重要。若 \( T_s \) 过大,递推公式中的积分近似误差会累积,导致实际轨迹偏离规划曲线。例如,当 \( T_s = 1ms \)、\( a_{max} = 5000mm/s² \) 时,每个周期速度增量达 5mm/s,若位置反馈分辨率较低,可能产生可见的阶梯效应。
误区三:将Jerk设为固定值。不同运动阶段(启动、匀速、停止)对Jerk的需求不同。现代运动控制器支持“动态Jerk”或“非对称Jerk”设置,即加速阶段和减速阶段采用不同的Jerk值,以匹配负载特性和工艺需求。
总结复盘:PTP运动数学模型的核心是理解位置、速度、加速度、加加速度之间的微分/积分链。在实际工程中,我们通过离散化递推实现轨迹生成,并通过限幅保证运动安全。选择梯形还是S型曲线,取决于对“时间最优”与“运动平稳”的权衡。建议在调试初期,先使用梯形曲线确定 \( v_{max} \) 和 \( a_{max} \) 的极限值,再引入Jerk限制进行平滑优化,最后通过振动测试验证效果。这一套方法论可以系统性地解决大多数点位运动的质量问题。