第三讲:误差来源分析——几何、运动学与非几何误差
做SCARA机器人精度补偿,第一步不是写代码,而是搞清楚——误差到底从哪来的。
我刚开始接触这个领域时,总觉得精度不够就是硬件不行。后来踩了不少坑才明白:误差是分门别类的,不同来源的误差,补偿方法完全不同。你想想看,如果连误差的“祖宗”都找不到,谈何补偿?
这一讲,我就带你系统梳理SCARA机器人的三大误差来源:几何误差、运动学误差、非几何误差。我会结合我实际项目中的案例,帮你建立清晰的误差分析框架。
核心观点:误差补偿的前提是误差溯源。只有把误差分类搞清楚了,后续的建模、辨识、补偿才能有的放矢。
3.1 几何误差——最“老实”的误差
几何误差,说白了就是机器人物理尺寸和装配带来的偏差。这类误差的特点是:静态、可重复、容易建模。
我个人习惯把几何误差分成两类:
- 连杆长度误差:加工和装配时,连杆的实际长度和设计值总有偏差。比如设计是300mm,实际可能是299.8mm。别小看这0.2mm,在末端会放大好几倍。
- 关节零位偏差:每个关节的“零点”位置不准。电机编码器装偏了,或者装配时没对准,都会导致零位偏移。
我在一个3C电子装配项目中遇到过:SCARA机器人在重复定位时,总是偏0.15mm左右。查了半天,最后发现是第二关节的零位偏了0.03度。嗯,就是这0.03度,在末端放大了5倍。
避坑指南:我曾经以为几何误差只要出厂校准一次就够了。后来发现,机器人经过长时间运行,关节磨损、螺丝松动都会导致几何参数变化。建议每半年做一次几何参数标定。
3.2 运动学误差——DH参数惹的祸
运动学误差,本质上就是DH参数误差。
SCARA机器人的运动学模型,通常用DH参数来描述。每个关节有4个参数:a(连杆长度)、α(连杆扭角)、d(连杆偏距)、θ(关节角)。
理想情况下,这些参数是固定的。但实际中:
a和d有加工误差α有装配误差(比如两个关节轴不平行)θ的零位偏移
这些DH参数误差,会导致运动学正解和逆解都不准。你发给机器人的指令是(x, y, z),但实际末端位置是(x+Δx, y+Δy, z+Δz)。
为什么会这样?
因为运动学模型是基于理想参数建立的。一旦参数有偏差,模型就“失真”了。补偿的方法就是:先辨识出真实的DH参数,再用真实参数去计算运动学。
注意:DH参数误差和几何误差有重叠,但侧重点不同。几何误差关注的是“物理尺寸”,运动学误差关注的是“模型参数”。在实际工程中,我们通常把两者合并处理,统称为“几何参数误差”。
3.3 非几何误差——最“狡猾”的误差
非几何误差,是让我最头疼的一类。它们动态、非线性、难以建模。主要包括三种:
| 误差类型 | 来源 | 特点 | 影响程度 |
|---|---|---|---|
| 齿轮间隙 | 减速器、齿轮副 | 换向时出现,与负载无关 | 中 |
| 柔性变形 | 连杆、关节、减速器 | 与负载成正比,低速时明显 | 高 |
| 热变形 | 电机发热、环境温度 | 随时间变化,与工况相关 | 中高 |
3.3.1 齿轮间隙
齿轮间隙,也叫“回差”。当机器人换向时,齿轮之间的空隙会导致短暂的“空转”。
我记得有一次调试SCARA,发现它在画圆时总有一个“小台阶”。查了半天,是第二关节减速器的齿轮间隙有0.02度。虽然角度很小,但在末端画圆时,这个间隙会表现为一个明显的“拐点”。
补偿方法:预加载或者反向间隙补偿。简单说,就是知道间隙大小后,在换向时多走一点,把间隙吃掉。
3.3.2 柔性变形
SCARA机器人的连杆和关节,都不是绝对刚性的。负载越大,变形越明显。
你想想看,一个3kg的SCARA,末端抓个2kg的工件,第二关节的连杆会向下弯曲多少?我实测过,大概0.05~0.1mm。对于高精度应用,这个量已经不可忽略了。
柔性变形的补偿,通常需要建立刚度模型。用力和力矩去估算变形量,然后在运动学中修正。
实战经验:我曾经用有限元分析做过一个SCARA的刚度模型,但发现计算量太大,实时性不够。后来改用经验公式+查表法,效果反而更好。有时候,工程上的“够用”比理论上的“完美”更重要。
3.3.3 热变形
机器人运行一段时间后,电机、减速器都会发热。热胀冷缩,连杆长度和关节位置都会变化。
我做过一个测试:SCARA连续运行2小时后,末端位置漂移了0.08mm。这就是热变形导致的。
热变形的补偿很难,因为温度场分布不均匀,而且变化缓慢。常用的方法有:
- 温度传感器+热模型:在关键位置贴温度传感器,建立热变形模型
- 预热运行:让机器人先跑一段时间,等热平衡后再工作
- 在线标定:用外部测量设备实时修正
我的建议:对于大多数SCARA应用,热变形可以通过“预热+定期标定”来控制。除非是超高精度(微米级)场景,否则没必要上复杂的热模型。
3.4 误差分类总结
为了让你更直观地理解,我画了一张误差分类图:
从这张图你可以看到:
- 几何误差和运动学误差是“静态”的,可以通过标定一次性补偿
- 非几何误差是“动态”的,需要在线补偿或定期修正
在实际工程中,我通常的做法是:
- 先做几何参数标定,消除静态误差
- 再建立刚度模型,补偿柔性变形
- 最后用传感器或算法处理齿轮间隙和热变形
记住:误差补偿不是一步到位的。它是一个由静到动、由粗到精的过程。先把大头(几何误差)吃掉,再慢慢啃小头(非几何误差)。
好了,这一讲的内容就到这里。误差来源分析是精度补偿的“地基”,地基打不牢,后面盖的房子迟早要塌。下一讲,我会带你深入几何参数标定的具体方法——怎么辨识、怎么建模、怎么补偿。
公众号:蓝海资料掘金营,微信deep3321