2. 轨迹跟踪误差定义:跟随误差、轮廓误差、定位误差的数学定义
做伺服位置环控制这么多年,我见过太多工程师一上来就调PID参数,结果调了半天,设备跑出来的轨迹还是歪的。为什么?说白了,你连「误差」到底指什么都没搞清楚。
今天咱们就把这三个最核心的误差概念掰开揉碎。我个人习惯把它们比作「三个不同的放大镜」——看问题的角度不同,定义自然不同。
2.1 跟随误差(Following Error)
先问个问题:你给伺服发了一个位置指令,它真的能瞬间到达吗?
不能。电机有惯性,有响应延迟。所以实际位置总是落后于指令位置。这个「落后量」,就是跟随误差。
数学定义很简单:
e_f(t) = θ_cmd(t) - θ_act(t)
其中:
- θ_cmd(t):t时刻的指令位置
- θ_act(t):t时刻的实际位置
我在项目中遇到过一台高速贴片机,跟随误差一直偏大。查了半天,发现是加速度前馈没开。你想想看,如果只靠位置环的P增益去追,高速下肯定追不上。这就好比让一个人跑100米,你喊「开始」他才起步,那肯定落后。
关键点:跟随误差是「时间维度」上的偏差。它衡量的是伺服系统对指令的响应速度。
我的经验:调试时先看跟随误差曲线。如果曲线是「锯齿状」,说明增益太高,系统在震荡。如果曲线是「斜坡状」,说明增益不够,或者前馈没加。
2.2 轮廓误差(Contour Error)
这个就更有意思了。轮廓误差,很多人把它和跟随误差搞混。我刚开始做多轴联动时也犯过这个错。
轮廓误差的定义是:实际轨迹上某一点,到指令轨迹的最短垂直距离。
数学上,对于二维平面轨迹:
e_c = min || P_act(t) - P_cmd(s) ||
其中:
- P_act(t):t时刻的实际位置点
- P_cmd(s):指令轨迹上的参数化曲线点
- min表示求最短距离
为什么要单独定义轮廓误差?
我举个例子你就明白了。假设你加工一个圆形工件。如果两个轴的跟随误差都是1mm,但方向相反,那实际轨迹可能是个椭圆——轮廓误差很大。反过来,如果两个轴的跟随误差都是1mm,但方向相同,那实际轨迹就是个同心圆——轮廓误差反而很小。
核心区别:跟随误差看「时间延迟」,轮廓误差看「空间偏离」。一个是纵向的,一个是横向的。
避坑指南:我曾经在调试五轴机床时,只盯着跟随误差调,结果轮廓精度一直不达标。后来才发现,两个轴的跟随误差虽然都很小,但它们的相位差导致轮廓误差很大。所以,多轴系统一定要看轮廓误差!
2.3 定位误差(Positioning Error)
定位误差,这个最好理解。就是伺服系统到达目标位置后,实际停下来的位置和目标位置之间的偏差。
数学定义:
e_p = |θ_target - θ_settle|
其中:
- θ_target:目标位置
- θ_settle:系统稳定后的实际位置
注意,这里有个「稳定后」的概念。不是电机一停就算,而是等震荡衰减完才算。
定位误差和跟随误差有什么区别?
嗯,这里要注意:跟随误差是「运动过程中」的偏差,定位误差是「停止后」的偏差。你可以把跟随误差理解为「追着跑时的差距」,定位误差是「停下来后的差距」。
我的习惯:测定位误差时,我会让系统反复走同一个点位,比如来回走100次,然后看每次的停止位置分布。如果分布很散,说明系统重复性差,可能是机械间隙或者编码器分辨率不够。
2.4 三者关系与对比
为了让你看得更清楚,我整理了一张表:
| 误差类型 | 关注维度 | 典型场景 | 主要影响因素 |
|---|---|---|---|
| 跟随误差 | 时间 | 高速运动、加减速段 | 增益、前馈、惯量比 |
| 轮廓误差 | 空间 | 多轴联动、曲线加工 | 轴间同步、动态匹配 |
| 定位误差 | 终点 | 点位运动、定位停止 | 静差、死区、分辨率 |
你看,这三个误差其实是从不同角度去衡量同一个系统的性能。我个人的经验是:
- 如果做点位控制(比如点胶机),优先关注定位误差
- 如果做轨迹控制(比如雕刻机),优先关注轮廓误差
- 如果做高速运动(比如贴片机),优先关注跟随误差
2.5 知识体系图
下面这张图,是我自己总结的「误差三角」关系,帮你理清思路:
总结一句话:跟随误差是「追不上」,轮廓误差是「跑偏了」,定位误差是「停不准」。搞清楚了这三个,你调伺服就有了方向。
最后分享个小技巧:我每次拿到一个新系统,会先跑一个圆形轨迹,同时采集跟随误差和轮廓误差。如果跟随误差大但轮廓误差小,说明两个轴同步性好,调前馈就行。如果轮廓误差大,那就要检查轴间的动态匹配了。
公众号:蓝海资料掘金营,微信deep3321