4、多轴联动插补原理:联动轴数、速度规划、加减速控制、轮廓误差与跟随误差的定义
多轴联动插补是CNC(计算机数控)、机器人控制及高端运动控制系统的核心算法。在FPGA平台上实现多轴插补,首先需要深刻理解插补的数学本质与物理约束。本章从联动轴数的概念出发,系统阐述速度规划、加减速控制以及轮廓误差与跟随误差的定义,为后续FPGA硬件架构设计和流水线优化奠定理论基础。需要特别强调的是,FPGA并行处理的优势在多轴联动场景下尤为突出——当轴数增加时,传统串行处理器的计算负担呈线性增长,而FPGA可以通过并行插补器实现多轴同步输出,这正是本课程选择FPGA作为实现平台的根本原因。
4.1 联动轴数的定义与工程意义
核心原理:联动轴数(Number of Coordinated Axes)是指在一次插补运动中,同时参与协调运动并保持严格时间同步关系的伺服轴数量。与简单的点位控制(PTP)不同,联动控制要求各轴在每个插补周期内按照预定的轨迹约束同步运动。例如,三轴联动意味着X、Y、Z三个轴在同一插补周期内各自输出一个增量脉冲或位置指令,且这些指令共同构成空间中的一条连续轨迹。联动轴数决定了插补算法的维度——两轴联动生成平面曲线,三轴联动生成空间曲面,五轴联动则增加两个旋转轴以实现刀具姿态控制。
判断方法:在实际系统中,判断是否为真正联动,需要检查三个条件:
- 时间同步性:所有联动轴必须在同一插补周期内完成位置计算和输出,不允许出现轴间延迟。
- 轨迹约束性:各轴的运动量必须满足轨迹方程(如直线、圆弧、样条),而非独立规划。
- 速度一致性:合成速度必须满足进给率F的要求,各轴速度按轨迹方向余弦分配。
FPGA实现视角:在FPGA中,联动轴数直接映射为插补器(Interpolator)的实例化数量。例如,一个四轴联动系统需要四个并行插补器,每个插补器独立计算本轴的位置增量,但共享同一个速度规划模块和插补周期时钟。FPGA的并行特性使得增加轴数不会显著增加插补延迟——这是相比DSP或MCU方案的核心优势。
4.2 速度规划:从进给率到插补步长
核心原理:速度规划解决的是"在轨迹上以什么速度运动"的问题。CNC系统中,用户给定进给率F(mm/min),插补器需要将其转换为每个插补周期Ts内的合成位移步长ΔL:
ΔL = F × Ts / 60000 (单位:mm,当F为mm/min,Ts为ms时)
例如,F=1200mm/min,Ts=2ms,则ΔL=0.04mm。这个步长随后按轨迹方向余弦分解到各轴:ΔX = ΔL × cos(α),ΔY = ΔL × cos(β),ΔZ = ΔL × cos(γ)。速度规划的核心挑战在于:当轨迹存在拐角或曲率变化时,必须提前减速以保证轮廓精度,这引出了前瞻控制(Look-ahead)的概念。
常见速度规划曲线对比:
| 规划类型 | 加速度连续性 | 冲击(Jerk) | 计算复杂度 | 适用场景 |
|---|---|---|---|---|
| 梯形速度 | 不连续(阶跃) | 无穷大 | 低(适合FPGA) | 低速、大惯量负载 |
| S形速度 | 连续 | 有限值 | 中(需查表) | 高速高精度加工 |
| 指数型 | 连续 | 指数衰减 | 中高(需指数运算) | 伺服系统模拟 |
FPGA实现策略:在FPGA中,推荐使用查表法实现S形速度规划。预先将速度-时间曲线离散化为256或1024个点存入ROM,运行时通过累加器索引查表,配合线性插值获得平滑速度输出。这种方法避免了复杂的浮点运算,仅需定点数加法和乘法,非常适合硬件实现。
4.3 加减速控制:抑制冲击与提高效率
核心原理:加减速控制是速度规划的延伸,它决定了速度变化的动态过程。直接以目标速度启动会导致加速度无穷大,产生机械冲击和轮廓误差。加减速控制的核心指标包括:
- 加速度a:速度变化率,限制为a_max,防止电机过载。
- 加加速度Jerk:加速度变化率,限制为J_max,抑制机械振动。
- 减速距离预判:必须提前计算从当前速度减速到目标速度所需的距离,避免过冲。
操作流程(FPGA实现加减速的典型步骤):
- 参数初始化:加载a_max、J_max、起始速度v0、目标速度v1。
- 阶段划分:将加减速过程分为加加速、匀加速、减加速、匀速、加减速、匀减速、减减速七个阶段(S形曲线)。
- 查表计算:根据当前时间t,查表获得加速度a(t),再积分得到速度v(t)。
- 位置增量输出:将v(t)×Ts作为本周期合成位移,分解到各轴。
- 边界检查:实时比较剩余距离与减速所需距离,必要时提前进入减速段。
案例拆解:某五轴联动系统在加工复杂曲面时,发现拐角处轮廓误差超差(要求≤0.01mm,实际达到0.035mm)。分析发现,原梯形加减速在拐角处加速度突变,导致伺服跟随滞后增大。解决方案:
- 将速度规划升级为S形曲线,Jerk限制为800mm/s³。
- 在FPGA中增加前瞻缓冲区,提前20个插补周期预判拐角。
- 拐角处自动降速至原速度的30%,通过后恢复。
实施后,轮廓误差降至0.008mm,同时加工效率仅下降4%,满足工艺要求。该案例说明,加减速控制不仅影响动态性能,更直接决定轮廓精度。
4.4 轮廓误差与跟随误差:定义、区别与补偿
核心原理:两种误差是评价多轴联动精度的关键指标,但物理含义完全不同:
- 跟随误差(Following Error, FE):单轴层面,指令位置与实际位置的差值。e(t) = P_cmd(t) - P_act(t)。它反映伺服系统的动态跟踪能力,与速度环增益Kv直接相关:稳态时e = v/Kv。
- 轮廓误差(Contour Error, CE):多轴合成层面,实际轨迹点到理想轨迹的最短距离。ε = min|P_act - P_ideal|。即使各轴跟随误差很小,如果各轴动态特性不一致,轮廓误差也可能很大。
关键区别表:
| 维度 | 跟随误差 | 轮廓误差 |
|---|---|---|
| 所属层级 | 单轴(局部) | 多轴合成(全局) |
| 数学定义 | 位置指令与实际位置之差 | 实际点到理想轨迹的垂直距离 |
| 主要影响因素 | 伺服增益、负载惯量、摩擦 | 各轴跟随误差的匹配度、轨迹曲率 |
| 对加工的影响 | 导致尺寸偏差 | 导致形状误差、表面粗糙度 |
| FPGA补偿方法 | 前馈补偿(速度前馈+加速度前馈) | 交叉耦合补偿(CCC) |
FPGA补偿实现:在FPGA中,跟随误差补偿通常采用速度前馈:将指令速度乘以前馈系数Kff(通常0.8-1.0)叠加到速度环输入端,可显著减小稳态跟随误差。轮廓误差补偿则更复杂,需要实时计算轮廓误差矢量,并生成修正信号叠加到各轴。FPGA的并行计算能力使得实时轮廓误差计算成为可能——通过流水线结构,可以在一个插补周期内完成误差计算和补偿输出。
4.5 多轴联动插补的FPGA实现要点与常见误区
实现要点:
- 插补周期选择:典型值1-4ms。周期越短,轨迹精度越高,但FPGA时序收敛难度增大。建议根据系统带宽需求选择,并预留余量。
- 定点数格式:位置增量建议使用Q24格式(24位小数),速度使用Q16格式,加速度使用Q12格式。混合运算时注意对齐小数点。
- 流水线设计:将插补计算分为三级流水线:速度规划级、轨迹分解级、轴输出级。每级在一个时钟周期内完成,保证插补周期内完成所有轴计算。
- 同步输出:所有轴的位置增量必须在同一时钟沿输出到伺服接口,避免轴间时间错位。
常见误区:
- 误区一:认为跟随误差小就代表轮廓精度高。实际上,如果两轴跟随误差符号相反,轮廓误差可能加倍。
- 误区二:在FPGA中使用浮点运算实现插补。浮点运算消耗大量DSP资源且延迟大,应全部转换为定点数。
- 误区三:忽略加减速对轮廓误差的影响。高速运动时,加减速阶段的动态误差往往比稳态误差更大。
- 误区四:将插补周期与伺服周期混为一谈。插补周期是轨迹计算周期,伺服周期是电流环/速度环周期,两者需要整数倍关系。