4. 动子运动学建模与轨迹表示

在XTS系统中,每个动子(Mover)都是独立的运动单元,碰撞避免与间距控制的前提,是能够用统一的数学语言描述“动子此刻在哪里、以多快速度运动、加速度如何变化”。本节围绕单个动子的运动学建模展开,建立位置-时间、速度-时间、加速度-时间三条曲线之间的关系,并说明S曲线与梯形速度曲线在XTS中的参数化方式。

4.1 位置、速度、加速度的微分关系

设动子沿轨道方向的位置为 s(t),单位为 mm;速度为 v(t),单位为 mm/s;加速度为 a(t),单位为 mm/s²。三者满足微分关系:

v(t) = ds(t)/dt
a(t) = dv(t)/dt = d²s(t)/dt²

反过来,速度是加速度对时间的积分,位置是速度对时间的积分。这意味着:只要给定加速度曲线 a(t),通过两次积分就能唯一确定速度曲线和位置曲线。XTS的TwinCAT运动控制库正是基于这一关系,把轨迹规划转化为“先规划加速度,再积分得到速度和位置”的过程。

在XTS中,动子的位置通常以轨道弧长坐标表示,正方向定义为沿轨道前进方向。所有动子的位置共享同一坐标系,因此任意两个动子的间距可以直接用位置差 Δs = s₂ − s₁ 表示。这一约定在后续碰撞检测中至关重要:间距控制本质上就是对 Δs 施加下界约束。

4.2 梯形速度曲线

梯形速度曲线是最基础的运动规划方式,其速度-时间曲线呈梯形:加速段、匀速段、减速段。设目标速度为 v_max,加速度为 a_max,减速度为 d_max,则各段时间为:

t_acc = v_max / a_max
t_dec = v_max / d_max
s_acc = v_max² / (2·a_max)
s_dec = v_max² / (2·d_max)
s_total = s_acc + v_max·t_const + s_dec

其中 t_const 为匀速段时间,由总位移 s_total 反推得到。梯形曲线的优点是计算简单、参数少,只需 v_max、a_max、d_max 三个参数即可确定整条轨迹。缺点是加速度在加速段与匀速段交界处发生阶跃跳变,理论上加速度变化率为无穷大,会在机械结构上产生冲击和振动。

在XTS中,梯形曲线适用于对节拍要求高、对振动不敏感的搬运工位。例如某动子需要从位置 0 mm 移动到 500 mm,设定 v_max = 2000 mm/s,a_max = 10000 mm/s²,d_max = 10000 mm/s²,则 t_acc = 0.2 s,s_acc = 200 mm,s_dec = 200 mm,剩余 100 mm 以匀速通过,t_const = 0.05 s,总运动时间约 0.45 s。这一计算过程可以直接在TwinCAT的NC轴参数中配置。

4.3 S曲线速度规划

S曲线在梯形曲线的基础上引入加加速度(Jerk)限制,使加速度本身也连续变化。加加速度 j(t) = da(t)/dt,单位为 mm/s³。S曲线把加速段进一步细分为加加速段、匀加速段、减加速段,减速段同理,共七个阶段。

设加加速度上限为 j_max,则加加速段时间 t_j = a_max / j_max。S曲线的参数化需要 v_max、a_max、d_max、j_max 四个参数。相比梯形曲线,S曲线的运动时间略长,但加速度连续、冲击小,适合对定位精度和机械寿命要求高的场合。

在XTS中,S曲线常用于精密装配、视觉检测等工位。以同样的 500 mm 位移为例,若设定 j_max = 100000 mm/s³,则 t_j = 0.1 s,加速段总时间约 0.3 s,整体运动时间约 0.55 s,比梯形曲线多约 0.1 s,但动子到达目标位置时的残余振动显著降低。

在XTS工程实践中,梯形曲线与S曲线并非互斥。同一轨道上的不同动子可以根据工位需求选择不同曲线类型,但碰撞避免算法必须能够处理两种曲线混合的情况,因此间距约束的检查周期应小于最短的加加速时间 t_j。

4.4 XTS中的参数化方式

在TwinCAT中,动子的运动学参数通过NC轴或运动功能块配置。常用参数包括:

  • Velocity:最大速度 v_max,对应梯形和S曲线的匀速段速度。
  • Acceleration:最大加速度 a_max。
  • Deceleration:最大减速度 d_max,通常与 a_max 相同,也可单独设置。
  • Jerk:加加速度 j_max,仅S曲线使用;若设为0或极大值,则退化为梯形曲线。

这些参数既可以在轴配置中作为默认值,也可以在每次运动命令中动态覆盖。对于碰撞避免场景,动态覆盖尤为重要:当检测到前方动子距离过近时,可以临时降低 v_max 或提高 d_max,使动子提前减速。

下图展示了单个动子从位置 0 运动到 500 mm 时,梯形曲线与S曲线在位置、速度、加速度三个维度上的对比关系。图中横轴为时间,纵轴分别对应位置、速度、加速度,虚线为梯形曲线,实线为S曲线。

梯形曲线 vs S曲线:位置、速度、加速度对比 示例:位移 500 mm,v_max = 2000 mm/s,a_max = 10000 mm/s²,j_max = 100000 mm/s³ 位置 s(t) / mm 0 500 t / s 梯形 S曲线 速度 v(t) / (mm/s) 0 2000 t / s 梯形 S曲线 加速度 a(t) / (mm/s²) 0 10000 -10000 t / s 梯形 S曲线 梯形速度曲线(加速度阶跃) S曲线(加速度连续,Jerk受限)

从图中可以直观看出:S曲线在位置和速度上更平滑,加速度曲线没有阶跃,而是以 j_max 为斜率线性上升和下降。梯形曲线的加速度在 t_acc 时刻直接从 a_max 跳变到 0,这一跳变在XTS中会表现为动子与轨道之间的冲击力,长期运行可能加速导轨磨损。

4.5 轨迹表示与碰撞避免的衔接

在碰撞避免算法中,每个动子的轨迹通常以“位置-时间”序列的形式存储,采样周期与XTS控制周期一致(典型为 1 ms 或 2 ms)。算法在每个周期检查任意两个动子的位置差是否小于安全间距 s_safe。若小于,则触发减速或停止。

由于S曲线的加速度连续,其位置序列的二阶差分也连续,因此基于位置序列的碰撞预测比梯形曲线更稳定。在工程实践中,建议对参与碰撞避免的动子统一采用S曲线规划,或至少保证 j_max 不为零,以避免加速度突变导致的预测误差。

当动子从梯形曲线切换到S曲线时,必须重新计算轨迹的起始加速度和起始加加速度,否则会在切换点产生新的冲击。TwinCAT的MC_MoveAbsolute功能块支持在运动过程中动态修改Jerk参数,但修改后需要等待当前加加速段结束后才生效。

总结来说,单个动子的运动学建模是XTS碰撞避免的基础。位置、速度、加速度三者通过微分和积分相互关联;梯形曲线参数少、计算快,S曲线更平滑、冲击小;在TwinCAT中通过Velocity、Acceleration、Deceleration、Jerk四个参数完成参数化。理解这些参数对轨迹形状的影响,才能在碰撞避免中合理设置减速策略和安全间距。